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(); -- 山本将也