YamaKen
yamak****@bp*****
2004年 2月 6日 (金) 18:32:56 JST
At Fri, 6 Feb 2004 18:16:59 +0900, tkng****@xem***** wrote: > > On Fri, 06 Feb 2004 02:46:39 +0900 > YamaKen <yamak****@bp*****> wrote: > > > uimのiconvを素通しして各IMのネイティブエンコーディングのままアプ > > リ側に文字列を渡せるようにしたいと思っています。変更内容と動機は > > 以下のようになっているので、ご意見お願いします。 > > 賛成です。 では後でリポジトリに突っ込んでおきます。commitは久しぶりかも。 > > ・変換対象文字列のエンコーディングがtoとfromで同じだったらiconv > > を使わずそのまま文字列をアプリ側に渡す > > > > ・アプリ側で各IMのネイティブエンコーディングを知るために以下の > > APIを追加 > > > > const char *uim_get_im_encoding(uim_context uc, int nth); > > uim_code_convがiconvに依存してしまっている現状ではどうしようもないので > すが、ここらへんをもうちょっとなんとかすれば、アプリ側でIMのネイティブエ > ンコーディングを知る必要はないんじゃないかと思うのですが、どうでしょう? ちょっと徳永さんの言わんとしている事が理解できてませんが、私が意 図しているのは以下のような処理です。 1) uim_get_im_encoding()でIM毎のエンコーディングを知る native_encoding = uim_get_im_encoding(uc, nth); 2) 1)で得たエンコーディングに応じたQTextCodecを用意する(例えば QEucJpCodec) QTextCodec codec = QTextCodec::codecForName(native_encoding); 3) IMから送られてきた文字列を、2)のコーデックでQStringに変換する QString qt_str = codec->toUnicode(im_native_str); iconvに代わる汎用変換インタフェイスを別途用意しない限りは上記の ような流れで処理するしかないと思うんですが、もっと別の次元の話で すか? ------------------------------- ヤマケン yamak****@bp*****