■漢直Win 1.26eb * ゆせ さんの kw126e ([tcode-ml:2054] 漢直 Win 1.26e...) に部首合成変換機能を入れたものです。 tserv version 0.2 からcomp.cを持ってきて少し調整しただけです。 * kanchoku.iniのBUSHU=で部首合成変換用の辞書ファイルを指定します。 tc2のbushu.rev形式に対応しています。ただし各行の最初の3文字までを見ます。 漢字コードをShift_JISに、改行コードをCRLFに変換しておいてください。 * 部首合成変換開始のキーは、t.tblやtut.tblに@bで指定します。 後置型部首合成変換のキーは、@Bで指定します。 * 後置型の部首合成変換もいちおう入れてあります。 # 後置型交ぜ書き変換にのっかる形です。 kw126eのdiff.txtの後置型交ぜ書き変換の注意と同じく、 変換に用いる文字は「漢直Win」の内部バッファにある文字であって、 表示されている文字ではないので、 カーソルを移動したあとは期待した動作をしません。 (Backspaceへの対応は完全ではないですが入れています) また、今のところ半角文字は内部バッファに入れないので、 半角文字を使った後置型部首合成変換はできません。 同様に交ぜ書き変換で変換して入力した文字も内部バッファに入れないので、 後置型部首合成変換には使えません。 後置型交ぜ書き変換と同様に、部首として使った文字を消去するために、 BSをアプリケーションに送っています。 USEWMCHAR=ON にしていると、変換後の文字が消されて、 一番目の文字だけが残ってしまうようです。 # Unicodeで渡すとかするといいのかなぁ… * 再帰的な部首合成変換は未対応です。 * 交ぜ書き変換と組み合わせての使用には未対応です。 部首合成変換した文字を後置型交ぜ書き変換に使うことはできるかもしれません。 * 漢直Win 1.26eからのその他の変更点 ** Backspace や Ctrl-H キーを押したときに 後置型の変換で使う内部バッファ中の最後の文字も消すようにしました。 ** tut.tblを追加しました。 漢直Win 1.26に含まれるtut-code.tblを少し整形したものです。 "う゛" を "ヴ" に変更しています。 交ぜ書き変換や部首合成変換のキーを追加しています。 ** t.tblに部首合成変換のキーを追加しています。 ** table_window.c:TableWindow::makeStrokeTableSub():CONTROL_BLOCK Visual C++ 6.0でエラーになったので変更しています。 table_window.c(1547) : error C2360: 'tCodeKeyNum' の初期化が 'case' ラベルによって行われませんでした。 table_window.c(1536) : 'tCodeKeyNum' の宣言を確認してください。 table_window.c(1551) : error C2361: 'tCodeKeyNum' の初期化が 'default' ラベルによって行われませんでした。 table_window.c(1536) : 'tCodeKeyNum' の宣言を確認してください。 * コンパイル ** BUSHUを#defineしてコンパイルしてください。 ** Makefile (Makefile.bc) は Borland C++ Compiler 5.5 用のものです。 ** comp.cのコンパイル時にREVIを#defineするとアプリケーションエラーで落ちます。 s2k()でEUC-JPに変換するコードを入れてやれば使えないこともないと思いますが、 そこまでやってません。 -- 木原 英人 / KIHARA, Hideto / deton@m1.interq.or.jp 2002/4/25 ---------------------------------------------------------------------- ver1.26 からの変更点 ---------------------------------------------------------------------- 「漢直Win」ver1.26 からの変更点は次のとおりです。 ■ 入力・操作関係 □ 第二打鍵の BS, ESC は、第一打鍵の取り消し。 第二打鍵の RET は、第一打鍵を取り消したあと、改行。 第二打鍵の TAB は、第一打鍵の入力。 Ctrl-H は BS と、Ctrl-M と Ctrl-J は RET と同様だが、 Ctrl-[, Ctrl-G, Ctrl-I はダメ。 □ 交ぜ書き変換の読みの入力中の SPC は、変換の開始になる (多分)。 ■ 設定ファイル (KANCHOKU.INI) 関係 □ キーワード SHOWHELP を追加。 「SHOWHELP=ON」と指定すると、交ぜ書き変換で入力した文字の打鍵図を、 仮想鍵盤上に表示するようになる。 □ キーワード FORCEBS を追加。 「FORCEBS=ON」と指定すると、第二打鍵の BS は、第一打鍵を取り消した あとバックスペースを実行するようになる。 ■ テーブル定義ファイル (*.TBL) 関係 □ コメントが書けるようになった。 「#」または「;」以降、行末まで、コメントとして読みとばされる。 □ ダブルクォートで囲った文字定義で、「\」はエスケープの意味を持つ。 これにより、「"」も、「"\""」と書くことで定義できるようになった。 「\」の定義は、「"\\"」と書く必要がある。 「\」は、単なるエスケープであり、「\n」や「\t」のような指定は未対応。 ※ コメントや「"\""」という定義を含むテーブル定義ファイルは、 「漢索板」では使えなくなるので、注意。 □ 「" "」(半角空白 1 個) で定義されたストロークに対しては、 空白の挿入でなく、SPC を押したことになる (交ぜ書き変換の読みの 入力中なら、変換の開始になる)。 □ キーワード「@1」「@2」...「@9」を追加。 読みの文字数を指定した、後置型交ぜ書き変換を開始する。 □ キーワード「@h」「@H」を追加 (HELP)。 交ぜ書き変換で入力した文字の打鍵図を表示する。 □ キーワード「@v」を追加 (VERBATIM)。 そのままのキー入力 (2 ストローク以上の場合は、最終打鍵)。 T-Code キー以外のキーを、1 ストロークでそのまま入力するのに使う。 ■ 交ぜ書き変換関係 □ 40 番のキー (通常は SPC) の定義が、空白または @v であるとき、 または未定義であるときは、このキーを、(読みを入力したあとの) 変換の 開始に使える。 □ 後置型交ぜ書き変換 (もどき) の機能を追加。 読みの文字数を指定する必要がある。 テーブル定義ファイル (*.TBL) 中で、「@1」「@2」...「@9」と定義された ストロークにより、それぞれ、1 文字、2 文字、……、9 文字の読みで 後置型交ぜ書き変換を開始する。 ※ 変換時に、読みを消去するために、BS をアプリケーションソフトに送っている。 ので、ソフトによってはうまく動かないかも。 また、交ぜ書き変換に失敗した場合 (登録されていない読みで 変換しようとした時とか) でも、無条件に読みが消去されてしまうという問題が。 ※ 変換に用いられる読みは、実際には「漢直Win」の内部のバッファに 記憶された文字列である。 そのため、画面上に表示されている文字列とは、必ずしも一致しない。 特に、文字を BS で消したあとや、カーソルを移動したあとでは 期待した動作をしない。 ■ 簡易ヘルプ機能 □ 交ぜ書き変換した直後に、変換によって入力された文字列 (の先頭の 1 文字) の打鍵図を、仮想鍵盤上に表示する。 打鍵図は、何かキーを押すと消える。 □ テーブル定義ファイル (*.TBL) 中で「@h」と定義されたストロークによって、 直前の打鍵図を再表示する。 また、「@H」と定義されたストロークによって、 (変換によって入力された文字列中の) 次の文字の打鍵図を表示する。 ■ その他 □ 全角文字 (Shift-JIS の 2 バイト文字) のチェックが (少し) 厳しくなった。 不完全ながら、半角かな文字も使用できるかも。 □ ASCII 文字 (1 バイト文字) は、「USEWMCHAR」の指定にかかわらず、 常に WM_CHAR で送る。 □ 「漢直Win」のウィンドウの左クリックで、ON/OFF 切り替え。 右クリックで、バージョン情報ウィンドウを表示する。 □ タイトルバーの文字列とか、バージョン情報の文字列とか。 □ エラーメッセージ中の「混ぜ書き」を「交ぜ書き」に。 [EOF]