2005年7月15日の日記を表示中
2005年 7月 15日 (金)
■leim
XEmacsに飽きたのでleim対応の方をちょこっといじってみました.Anthyのを参考に・・・って,これ,activateした後マイナーモードをONにしているだけなのか?prime-elの方も,どうも同じような雰囲気な気が・・・.うー,「Library of Emacs Input Method」というくらいだから,
- あらゆるキー入力を渡す関数を,指定したIM用の関数に渡してくれる
- IM用の関数が入力をスルーしてnilを返したら,本来のキーに割り当てられた処理を普通にEmacsがやってくれる
という感じで,手で書くとすげーめんどくさいような仕組が用意されているに違いない!と期待してたんですが,何かそれとは違うみたいですね・・・.( ´_ゝ`)フーン,translationにconversionねぇ・・・.ひとまず C-\ でuimがactivateするようになりましたが,意味なさそうなので消しちゃいました.誰かleimに対応することのうれしさ・素晴らしさをご存知の方,教えてくださいませ.
[コメントを書く]
■XEmacsとuim.el
で,insert-in-front-hooksですが,ソース見返してみたら,使わないでもoverlay-endを見ればどうにかなりそうなことがわかったので,一ヶ所をのぞいて使わないようにしてみました.どうしてもだめなところは,とりあえずXEmacsだとオーバレイずれるけど我慢するってことで後回し.ここ直したら,無事XEmacsでもAnthyで入力できるようになりました.が,インラインで変換候補を表示すると驚く程ずれます.
ずれるところから少しずつ戻しながら追ってみたところ,(format "%-7s" 文字列) みたいにしてるところでずれが始まってることがわかりました.整形する文字列に全角文字が入っている場合,Emacsだと,画面に表示したときの文字幅が半角文字7文字分になるようにスペースを補ってくれるのに対し,XEmacsだと,単に文字数の合計が7文字になるように半角スペースを補ってくれます.なので文字列に「あ」を渡すと,Emacsではスペースが5個補われるのに対し,XEmacsでは半角スペースが6個補われちゃうと.
そんなわけで,整形にformat使うのやめて,string-widthの値から必要なスペースの幅計算してmake-stringでスペース並べるように書き直してやったところ,ようやくずれがなくなりました.ふぅー.しかしまだまだ不安定.この日記も途中までXEmacsで書いてたんですが,途中で変換候補出したら操作不能に陥ったし_|‾|○.とりあえず,残ってるisert-in-front-hooksなんとかしないと・・・.
[コメントを書く]
[コメントを書く]
2005年7月15日の日記を表示中
[コメントを書く]