Skip to content
This repository has been archived by the owner on Dec 29, 2022. It is now read-only.

漢直Win用の変換テーブルを作成 #2

Closed
matvore opened this issue Feb 27, 2016 · 10 comments
Closed

漢直Win用の変換テーブルを作成 #2

matvore opened this issue Feb 27, 2016 · 10 comments

Comments

@matvore
Copy link
Contributor

matvore commented Feb 27, 2016

漢直Winを少しだけ触ってみたけれど、シフト打鍵と我々が必要とする全キーをサポートしているのは良いですね。

気になるのは一時に複数字の変換ができるでしょうか(例:3ru -> ある)?それに、t.tbltut.tblがShift JIS形式であることから、JISにない字を取り除く必要があるかも知れません。

@seigo-masumura
Copy link

漢直Win 1.28で試してみたところ、

  1. 複数文字の入力自体はできる(ただし『漢直窓』では先頭の1字だけ、『漢索窓』では1字単位の打ち方が表示される)
  2. ShiftJIS以外で書かれたテーブルファイルを"kanchoku.ini"のtableFileに指定すると起動時にエラーが出る

という結果になりました。

それから、3打鍵以上になるとテーブルの階層が深くなって扱いにくくなるので、1.28で導入された“矢印定義”を使って、

-2>-13>-16>"ある"

のように書いた方が簡単だろうと思います。

matvore added a commit that referenced this issue Feb 29, 2016
漢直Winがパース出来ない行を幾つか出力するらしく、数行を適当に消してみたら漢
直Winでほー連想変換テーブルが使えました

これから問題の行を特定しなくちゃ。

#2
@matvore
Copy link
Contributor Author

matvore commented Feb 29, 2016

一応 問題の行を残したテーブルをアップします。1347行目が間違っているというエラーが出るけれど、行番号が違う気がします。

hrs.tbl.txt

matvore added a commit that referenced this issue Feb 29, 2016
@matvore
Copy link
Contributor Author

matvore commented Feb 29, 2016

変換テーブルを修正して只今使ってます!生成に使ったexpand_codesスクリプトをmasterにマージしました。

ダウンロードして使ってみてください:
hrs.tbl.txt

因みに、問題は《 \ 》をエスケープし忘れました。

Linuxでコードテーブルを生成するには:

./expand_codes kanchoku_win > hrs.tbl

を実行します。

expand_codesの開発中に他のバグも発覚しましたが、《:》の代わりに《'》が幾つかのコードに入っていました。日本語配列だけのバグなので普段US配列を使っている私は気が付きませんでした。ついでにそのバグも直しておきました。

残念ながら、漢直WinはCAPS LOCKを無視するらしいので、取りあえずカタカナを入力する時はシフトを長押ししなければなりません。

@seigo-masumura
Copy link

おおっ、ありがとうございます。さっそく試してみます!

@seigo-masumura
Copy link

Caps Lockがきかないのがざんねんだったので、漢直Winのドキュメントの特殊定義の一覧のなかにあるかたかなモードの切り替えというのをつかって、

-20>-20>@k

というぎょうをついかしてみました。(aの2だけんでトグルします)
シフトしたままうつよりかんたんになりました。

このあと、kanchoku.ini

;; Unicode対応テスト
;; - テーブルファイルでの定義が "U+????" (U+0000~U+3FFF) の場合 Unicode 一文字と解釈する
;; - SJIS全角文字、半角かなについても PostMessageW を用いて Unicode で送出する
outputUnicode=1

というのをためしてみようとおもいます。

@seigo-masumura
Copy link

kanchoku.inioutputUnicode=1として、hrs.tbl.txt"\x{0000}""\x{3fff}"にマッチする部分を"U+0000""U+3fff"に置換してみたら、〘〙〖〗などが2ストローク入力できるようになりました。
"U+4000"以上の文字も入力できればよかったのですが、テスト用ということなので仕方ないですね。

@matvore
Copy link
Contributor Author

matvore commented Mar 1, 2016

@seigo-masumura さん:なるほど。カタカナモードがあったんですね。aaで切替できるようにさせて頂きました。ご提示のお陰で簡単にテーブル作成ができまして有難うご座います。

U+4000以上を認識しないという点ですが、漢直Winの方に頼めば直してくださるかも知れません。Windowsの開発環境が手元にないので、こちらで更新するのは難しいのですが。

@tomoemon
Copy link

tomoemon commented Mar 3, 2016

動作に影響はないと思いますが、リリースされている漢直 Win テーブル定義ファイルに \n と \r\n の改行コード(18行、19行だけが \n)が混在しているみたいです。

matvore added a commit that referenced this issue Mar 3, 2016
2行だけが\nになっていました。

#2
@matvore
Copy link
Contributor Author

matvore commented Mar 3, 2016

@tomoemon さん、ありがとうございます。スクリプトを修正しましたが、動作に影響はないということなので、次リリースに伴ってダウンロード自体が更新されます。

@matvore
Copy link
Contributor Author

matvore commented Mar 3, 2016

このIssueをCloseさせて頂きますが、第3+第4水準の漢字を入力できない件については、#3kanchoku/kw#9 を参考に

@matvore matvore closed this as completed Mar 3, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants