YamaKen
yamak****@bp*****
2004年 10月 12日 (火) 22:15:48 JST
ヤマケンです。加藤さん、開発おつかれさまです。 At Mon, 11 Oct 2004 20:32:01 +0900, ekato****@ees***** wrote: > On Mon, Oct 11, 2004 at 07:43:18AM +0900, > Etsushi Kato <ekato****@ees*****> wrote: > > > utf8 の文字列から X の compound text に変換しているのですが、÷とか× > > が正しく変換できていませんでした。 > > > > 解決法としては、文字列をまず client アプリケーションの encoding に変換 > > してから、setlocale() して、その後 compound text に変換するように変更 > > すれば何とかなるかもしれません。少々お待ち下さい。 > > さきほど、そのように修正しておきました。÷などの wchar から直接変換で > きない文字もこれで回復しました。 > > また、システムの UTF-8 locale 使うのはまだ時期尚早ということなので、 > uim-xim 自身で UTF-8 を扱うように r1462 で変更しました。legacy な > locale しか使えないシステムでも大丈夫だと思います。 FreeBSD 5.3-BETA4 + uim r1474のuim-ximで以下の組み合わせでの正常 動作を確認しました。±や÷、〜も問題なく入力できてます。 LC_ALL=ja_JP.eucJP kterm anthy,skk LC_ALL=ja_JP.eucJP mlterm anthy,skk LC_ALL=ja_JP.UTF-8 mlterm anthy,skk,py ja_JP.eucJPでの動作確認は/usr/share/locale/ja_JP.UTF-8を削除した 状態で行ったのでUTF-8 locale非依存については問題ないと思います。 uim-ximの内部実装については全く把握できていないのですが、以下の ような理解で合ってますでしょうか。要はja_JP.eucJP localeで動作さ せた場合に文字コードまわりでuim-xim 0.4.3と違った挙動を示す可能 性があるかどうかを確認したいと思っています。「内部UTF-8」と聞い たユーザの方々も気になるでしょうし。 ・eucJP → UTF-8(UCS?) → eucJP の変換過程では同じ変換テーブル (iconv?)を使っていていわゆる「文字化け」は発生しない ・eucJP → compound textへの変換処理はuim 0.4.3と同等 ・ja_JP.UTF-8 localeで動作させた場合、uim-anthyやuim-skkから渡さ れたEUC-JP文字列はiconv(3)によって"EUC-JP"→"UTF-8"の変換が行 われ、他に独自の変換テーブル等は介在しない ------------------------------- ヤマケン yamak****@bp*****