[Scim-imengine-dev 1497] Re: scim-anthy: 辞書のエンコーディングにUTF-8を追加

Back to archive index

Takashi Nakamoto blued****@bpost*****
2007年 3月 23日 (金) 01:56:11 JST


中本@長文乱文失礼です。

On Thu, 22 Mar 2007 23:49:50 +0900
Takuro Ashie <ashie****@homa*****> wrote:

> 足永です。
> 
> 表題の通り、辞書のエンコーディングでUTF-8を選択できるようにしました。

ちょっと混乱していると思います。
私もついさっきまで混乱していたので、整理してみました。

scim-anthy、Anthy、kasumiとで文字列のやりとりは3通りあります。
 1. scim-anthy <==  (context API) ==> anthy
    anthy_context_set_encoding () でエンコーディング変更可能
 2. scim-anthy <==  (標準入出力)  ==> Kasumi
    (今のところ EUC-JP 固定)
 3. Kasumi     <== (priv_dic API) ==> anthy
    anthy_dic_util_set_encoding () でエンコーディング変更可能

1.のanthy_context_set_encoding()では scim-anthy と Anthy の間での文字
列のやりとりにおける文字エンコーディングを設定するのであって、別に辞書
のエンコーディングを変更するためのものではないです。つまり、足永さんの
言う「辞書のエンコーディング」っていうのは正確な言い方ではないかと。

さらに突っ込むと、1.のエンコーディングはユーザが設定するものではないと
思います。適当に状況を判断して、開発者がエンコーディングを固定しておけ
ばよいのではないでしょうか。
 A. Anthyの8305以前のバージョンもサポートするために EUC-JP に固定
 B. 時代の流れにのって UTF-8 に固定
 C. Anthyのバージョンによって EUC-JP か UTF-8 を自動的に選択

あと、3.におけるエンコーディングの変更については、Anthyの個人辞書周り
についていろいろと変更があって、私もよく把握していません。ただ、Anthy
がちゃんと下位互換性をとってくれているので、とりあえず、3.については今
のところデフォルトの EUC-JP のままにしています(=そもそも Kasumi では
anthy_dic_util_set_encoding()関数を呼ばない)。

さて、今のところの目に見える問題は 2. における文字列のやり取りにおいて
です。Kasumi がコマンドライン引数で受け付ける文字列は EUC-JP でエンコー
ドされたものだと仮定しているにもかかわらず、scim-anthyの設定によっては、
UTF-8 エンコードされた文字列が渡されることです。つまり、ついさっき足永
さんがコミットした scim-anthy の設定で「辞書のエンコーディグ」を UTF-8
にして、なんらかの文字列をプリエディット中にF11キーを押すと、文字化け
した文字列が Kasumi に読みとして渡されてしまうのです。

だから、 scim-anthy から Kasumi に渡す文字列は EUC-JP に固定するように
しておきます。これは1行変更するだけなので、このメールを送信した後で変
更しておきます。

> kasumiでもanthy_dic_util_set_encoding()でAnthyのエンコーディングをセット
> できるようにして、できれば両者の設定を一ヶ所で連動できるようにしたいので
> すけど、なんとかならんすか? > 中本さん

1.と3.における文字エンコーディングは一致していなくても実際には問題ない
ので、特に scim-anthy と Kasumi の設定を連動させる必要はないです。

しかし、今回みたいに頭の中がこんがらがってしまうので、全部 UTF-8 に統
一したい気はしています。その場合には古いバージョンのものとの互換性が失
われてしまう点を考慮しなければいけません。あるいは、誰かが音頭をとって
EUC-JP 撲滅キャンペーンを展開して、古いバージョンの Anthy、 scim-anthy、
Kasumi、 uim を完全に切り捨てるとか(笑)

と、ここまで書いてなんて分かりづらいメールを書いているのだろう、と思い
ましたがお許しください。もしかしたら、どっかに間違っているところあるか
もしれないです。

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




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