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日の日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2005年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ