[Anthy-dev 2195] uim-cannaでimeproxyが使えない

アーカイブの一覧に戻る

Masanari Yamamoto h0131****@ice*****
2005年 8月 3日 (水) 00:40:14 JST


山本です。

uim-cannaでcannaserverとしてimeproxyを使ったときに、preeditをbackspace
で消せなかったり漢字変換ができませんでした。cannaserverを起動していな
くて、「パイプが切断されました」とエラーメッセージが表示されたときにも
こうのようになります。

調べてみたところ、imeproxyを使っている場合RkGetDicListが0を返すので、
canna-context-cc-idが#fになってしまうようです。cannaserverが起動してい
ないときも同様にcanna-context-cc-idが#fになります。canna-context-cc-id
は整数でなくてはいけないため、正常に動かなくなります。

とりあえず以下のパッチでimeproxyを使って変換できるようになりました。た
だ、このパッチを当てたuim-cannaでimeproxyを使った場合、変換候補が多い
と少し時間がかかるのが気になります。「こう」を変換すると2秒ぐらいかか
ります(変換候補92個)。scim-cannaでimeproxyを使った場合は「こう」を変換
するのも一瞬でした。


Index: canna.c
===================================================================
--- canna.c     (revision 1097)
+++ canna.c     (working copy)
@@ -156,7 +156,7 @@
        dic_num = RkGetDicList(cc->rk_context_id,
                                   cc->diclist, BUFSIZE);
        if (dic_num == 0) {
-           return uim_scm_f();
+           return uim_scm_make_int(i);
        } else if (dic_num == -1) {
            /* invalid context number */
            return uim_scm_f();

-- 
山本将也



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る