KND の備忘録

2008-04-29のメモです。

主に関ジン研(関東ジンギス研究会)からのリンクのためと、食べ歩きの際に前回いつ行ったかを自分で検索するために記述を残しています。稀に雑多なことを書いたりもします。


LIRS: 更新の確認にご利用下さい。
カテゴリ: EmacsLisp | Ruby | tDiary | そよかぜ | たべある記 | 羊肉 | 自作ソフト | 花配列 | 超多段シフト | 辛いもの | 雑記 |

2008-04-29 (Tue)

[自作ソフト][EmacsLisp][超多段シフト][そよかぜ] 着手から丁度 4 年が経ちました

処理の変更が思ったよりも多くなったので作業履歴をポイントだけ書き残しておこうかなと。ここ半年の間の変更点は、細かな修正を除くと以下の通りです。

  1. 関数 quail-soyokaze-break で未確定文字列をクリアするようにした。
  2. 読みの区切り文字を使用しなかったり読みの区切り文字に不正な文字列を設定したときに仮想鍵盤表示時にエラーが発生していたのを、変数 quail-soyokaze-kugiri-key の内容に応じた条件分岐を厳密にすることで修正した。
  3. 変数 quail-soyokaze-conversion-backward-delete-unit の名前を quail-soyokaze-backward-delete-unit に変更した。それ以外にも関数名・定数名を幾つか変更した。
  4. ("hi" ?ひ) と ("hi" [?ひ]) の形式によるかな変換規則を弾かないようにした。(参考: leim/quail/hangul.el)
  5. ストローク nn で『ん』を確定させるか否かでストロークを変更する処理を soyokaze-leim-roman.el に移動した。
  6. バックスペースによる未確定文字削除がかな変換規則からかな文字列が確定したストロークに対応するかな文字列を単位として行なうとき、"゛く" のようなひねくれたかな変換が繰り返し入力されると、バックスペース処理で未確定文字列の情報 quail-soyokaze-input-data の内容と実際の未確定文字列との間に不整合を起こすのを修正した。
  7. 仮想鍵盤バッファが表示されている時に仮想鍵盤バッファをマウスでクリックするとエラーが発生するのを修正した。
  8. 仮想鍵盤が空であるような読みで仮想鍵盤を出そうとした後に未確定文字列の情報 quail-soyokaze-input-data の内容と実際の未確定文字列との間に不整合を起こす場合があるのを修正した。
  9. かな入力定義ファイルで定義する、かな入力方式に依存する変数の名前を quail-soyokaze-rule-????- で始めていたのを quail-soyokaze-init-????- で始めるように仕様を変更した。この仕様変更に伴い、かな変換規則を初期化するための変数の名前を quail-soyokaze-rule-???? からquail-soyokaze-init-????-rule に変更した。

「風」「鳳」「嵐」での ESC キーによる未確定文字列のクリアに対応する機能が無かったことから、この機能をどう対応させようか考えた結果です。結局、関数やキー割り当てを新たに作成するのをやめて、処理結果がほぼ同じになっていた quail-soyokaze-no-conversion と quail-soyokaze-break のうち quail-soyokaze-break の方の処理を少し変えてみました。キーが一致しない(ESC キーでなく C-g である)のは仕方ないかな。

四つ目はかな変換規則として妥当な形式を弾かないようにしただけです。でも、本当は ("stroke" func-symbol) のような「ストロークと関数の組」という形式も妥当な形式なのですが、エラーチェックが難しいため弾くようにしたままになっています。

Emacs 22.2 相当の NTEmacs についても、ウインドウサイズが充分に広ければ問題なく動作するようにしました。ただ、line-spacing(Emacs 21 以降のみの変数かな)が nil でも 0 でないときにフレームやウインドウが小さいときのリサイズに失敗するので、現在はこれをどうにかしようと試行錯誤しているところです。



最近のツッコミ:


KND への連絡は以下まで。
m・knd◎zob・jp (「◎」を「@」、「・」を「.」に置換え)