AZIK on corvus-skk(0.1.12) まとめ

 現時点で、corvus-skkでAZIKを実現するための方法、というか自分の環境の覚え書き。

■ ローマ字変換テーブル(confkana.txt)

 Vectorにある「AZIK ローマ字ギャラリー」から、WXG用の設定ファイルを入手し、コンバートする。アルファベット小文字のみから構成されるエントリのみコンバートし、数字・記号を追加する。また、特殊記号としては以下のエントリのみに絞り込む。(矢印は/zh[SPC]で変換する)

[z ][z/][z;][z:][z@]→[ ][・][;][:][@]


■ ソースレベルパッチ

 何点かソースレベルでの修正が必要となる。

(1) [q]キー(カナモード切り替え)

 [q]キーは「ん」で利用するため、別のキーに割り当てる必要がある。
 [@]による日付入力は今後も利用する予定がないので、[@]キーへ移動した。[C-q]キーは支障がないので、このまま利用する。

(2) [l][L]キー(英数・大文字モード切り替え)

 [l]キーは「ぁぃ...」で利用するため、別のキーに割り当てる必要がある。
 個人的には無くても支障ないので、この機能を無効化する。英数字はabbrevモードからの確定や[C-q]でも入力できる。

(3) ▽モード開始文字

 [;][l][q]に通常文字を割り当てるので、それぞれのShift装飾にあたる[+][L][Q]で▽モードを開始する。
 Shift装飾を解除している部分([A-Z]→[a-z]へ変換している部分)に、[+]→[;]を追加する。
 [;][:][Q]で▽モードを開始するロジックから[Q]を削除する。

(4) 送り仮名

 [;=っ][q=ん]で送った時に変換が開始するよう、[;]→[t]、[q]→[n]に変換して送る。


■ 保留中の変更

(1) ▽モードでの[BS]動作

 [Kya=きゃ]となるが、ここで[BS]キーを押下すると「ゃ」も「き」も消える。
 1文字づつ消えるようにパッチを作成したものの、上記仕様も悪くないような気がしてきた。作者さんがどう思っているかが不明なので、そのままにしておく。

(2) [n]→[nn]への自動拡張

 Yakan[SPC]→夜間、となるように[n]→[nn]へ自動拡張される。これは[n]以外でも適用されるため、[r]→[rr]についても(促音フラグがなければ)拡張される。AZIKでは[rr]→[られ]等の割り当てがあるため、拡張結果に違和感がある。
 [n]→[n']への拡張にすれば良いのだが、入力ミスした時にしか起こりえないため、そのままにしておく。

この記事へのコメント

この記事へのトラックバック