[Scim-imengine-dev 1447] scim-anthyに語法を表示する機能

Back to archive index

Takashi Nakamoto blued****@bpost*****
2006年 12月 10日 (日) 05:50:09 JST


中本です。

というわけで、独自候補ウィンドウに続いて語法を表示するようにもしました。
CVS版で試せますが、スクリーンショットもとってあるので、まずはこれを見
てみてください。
http://bd.tank.jp/diary/images/20061210_0.png

とりあえずはみなさんに興味持ってもらうために、デモンストレーションを目
的に調整して作っています。ただ、大枠は完成しているので、ぼちぼち細かい
ところをつめていって、適当なタイミングで開発版としてリリースすることに
します。

以下、開発者向けメモ & ToDo

* 候補の右側に何か表示させたりするには、
 AnthyInstance::show_note()
 AnthyInstance::hide_note()
 AnthyInstance::update_note(str)
を使う。今のところaux_stringと同じタイミングで表示させたり非表示にさせ
たりしている。また、以下に説明するAnthyDiction.get_diction(word)の中身
を表示するようにしている。

* 今のところこの note は、
 - GtkLabelを使っていて単なるテキストしか表示できない
   もうちょっとリッチにして画像とか表示できるようにするとか...めんど
   い。とりあえずは、Pango text markup language を使うという手もある
    が...それもめんどい。いくらでも改善できる。
 - 自動で右端で折り返さず、ウィンドウが右端にどんどん伸びていく。
   改善の必要あり。

* data/dictionは
 - 「語法データベース」と命名
 - 単なるUTF-8ファイル
 -「単語1\n語法1\n\n単語2\n語法2」という形式
 - 形式は改善の余地あり。xmlとかにしたらどうだろうかとか思っているが
   めんどい。
 - (prefix)/share/scim/Anthy/ にインストールされる。
 - 語法データベースはそんなに多くなるはずはないと思うので、有志の人に
   手伝ってもらって作るつもり。EBはよく分からんし、あんまり頼りになら
   ない。

* 語法の表示について
 - AnthyDiction::get_diction(word)で取得できる。
   対応する語法が無い場合には空文字列を返す。
 - wordに厳密にマッチするものしか表示しない。
   例えば、「異義が」という候補に対して「異義」の語法が表示されない。
   wordには語幹を渡すようにするなどの改善が必要。
 - 語法データベースの形式が間違っていると、語法は表示されなくなる。

* AnthyDictionについて
 - 安直にstd::mapを使っているだけなので、語法データベースが大きくなる
   とそれに比例してメモリの消費量が大きくなる。語法データベースが大き
   くなってきたら、キャッシュを使うなどの改善が必要。

* 語法に関する設定について
 - SCIM_ANTHY_CONFIG_DICTOIN_FILE は 語法データベースの場所。
 - SCIM_ANTHY_CONFIG_ENABLE_DICTION は 語法を表示させるかどうかの設定。
   scim-anthyの設定で変更できるようにしておく必要あり。

といわけで、直せそうなところがあればどんどん直しちゃってください。ある
いは、私の流体実験と量子力学のレポート代わりにやってください。 > 足永
さん

# 留年したら足永さんのせいだからね!

-- 
 中本 崇志 (Takashi Nakamoto)
 E-mail: blued****@bpost*****
 Blog: http://bd.tank.jp/diary/



Scim-imengine-dev メーリングリストの案内
Back to archive index