[Scim-imengine-dev 807] Re: scim-skk 0.5.0

Back to archive index

Jun Mukai mukai****@jmuk*****
2005年 11月 30日 (水) 00:27:07 JST


向井です。


> で、そのタブ補完ですが、ASCII変換でもキャッシュにある分については使
> えるようになりました。普通の変換だと個人辞書も検索されます。共有辞書
> はいずれの場合も検索されないみたいです。CVS版を試した時に共有辞書が
> 検索されていると思ったのは私の勘違いだったのかもしれません...

あっ、共有辞書ははじめから検索していません。
今は、起動時に個人辞書をスキャンして、最初の補完候補リストを作っています。

現在のところ、システム側の共有辞書は起動時に丸ごとスキャンしないので
(サイズが大きく、起動に時間がかかってしまうため)、共有辞書から補完候補
を作るのはけっこう面倒くさいです。また、 ddskk では個人辞書だけだった
ようなので「とりあえずこれでいいか」と思っていて、特にその辺は何も説明
していませんでした。


> これはscim-anthyの場合もOFFにしないとスペースでスクロールしません。
> scim-pinyinやscim-m17nだと問題ないようです。

なるほど。とりあえず、私が発見した問題の箇所について簡単に説明をします。

scim-skk では、スペース用の変換テーブルというのを持っていて、スペース
バーを押すと、その入力を半角スペースに「変換」して出力しています。しか
し、入力されたキーイベントを「無視」するよう false を返すのと、 true 
を返しつつ空白文字がコミットされるのとで、スクロールのような場合には挙
動が異なるということなのだと思います。

ですから、空白文字が入力されたときに無理にスペース文字を返すのではなく、 
false を返すようにすれば正しく動作すると思われます。

なぜ変換する必要もないものを「変換」しているかというと、ワイドASCIIモー
ドで、スペースキーを全角スペースに変換するのと直交した実装にすることを
意図していたのだと思います。というか、本当のことを言うとこの辺は 
scim-anthy のコードを特に考えずに(一部改変しつつ)流用していました(笑)。 
scim-skk ではこの辺はあまり必要ないので、ちょっとした整理で直る可能性
はあります。
scim-anthy はどうすれば良いかは、ちょっとコードを見ていないのでわかり
ません。



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