[Anthy-dev 516] Re: uim: iconvを素通し

Back to archive index

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*****



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