Yusuke TABATA
yusuk****@w5*****
2005年 11月 13日 (日) 15:00:05 JST
田畑です。 今のところanthy.el, anthy-agent, libanthyinputの中には平仮名を カタカナに変換する関数を持っていないので、新たに追加するしかないです。 ひらがな・カタカナの変換APIの追加としては (1)anthyからカタカナ候補を取得するAPIを追加する (2)rk*.[ch]と同じレベルで実装する anthy.elのからの操作としてはspace, backspaceと同じ配列 (key_name_table)に「カタカナひらがな」のようなキーを定義して anthy.elから呼べるようにするといった感じでしょうか。 ただ、もっと大きな話として、anthy.elやagent.c, input.cの コードはメンテナンスし辛い作りにしてしまった上、何か改良しても emacsからしか便利にならないことがuimを作った理由の一つですので、 anthy.elまわりに力をかけたくないというのが正直なところです。 #しかし、パッチなどを送っていただければ検討した上で #取り込むつもりです。 ドキュメントもコード上のコメントだけしか無いです。お手数を おかけすることになっててすいません。 句読点変換のコードもこれでも良いのですが、当初の設計思想では anthy-agent内で処理するのが正しいかなと思ってます。 bee wrote: > こんにちは。 > Emacsの中でanthy.elを用いて使っています。 > 入力内容を後からカタカナに変換するにはどのようにしたらよいでしょう。 > > 句読点変換ができるようにしたかったので次の関数を書いてみました。 > > (defun anthy-insert-and-convert (ch) > (interactive "P") > (if (< 0 (length anthy-preedit)) > (progn > (anthy-insert ch) > (anthy-handle-normal-key "(space)")) > (anthy-insert ch))) > > これを > > (define-key anthy-preedit-keymap "L" 'anthy-insert-and-convert) > > としてキーに割り当てることで > > - 句読点の入力 (anthy-insert) > - 変換 (スペースキーを押した振り) > > をまとめてできるようになりました。 > > 次に表題のカタカナへの後変換を行おうとしたのですが、anthy-agent側にカタ > カナ変換要のキー(変換なら"(space)"のような)が見つかりませんでした。 > ならば、とanthy-agentに頼らず変数anthy-preeditの中をカタカナにしてしまえ、 > と思ったのですが入力文字列などはanthy-agentが持っているようでうまく行き > ませんでした。 > anthy-agentは、struct commandのcmdに応じてinput.cの方で処理を行っている > ようですが、こちらにもカタカナに変換する処理は見つけられませんでした。 > enter_conv_state()を参考に書き換えればできそうな気にはなっているのですが > それぞれの定数や関数の意味がつかめておりません。 > この辺りの定数や関数のリファレンスなどは何を読めば判るでしょうか。 > > > _______________________________________________ > Anthy-dev mailing list > Anthy****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/anthy-dev > -- -- CHAOS AND CHANCE! Yusuke TABATA