« Linuxの件、進展しました | トップページ | CVSは謎が多い »

2007年4月 1日 (日)

Windows の文字入力にバグ?

SL Viewer の、Windows のキー入力の受け取り方にバグがあるような気がします。

WM_CHAR イベントを使って、IME の変換結果を受け取るのですが、Windows では、このとき、UTF-16 の符号単位 (16ビット値) ごとに文字コードがわたってきます。SL Viewer は、これを単純にゼロパディングした 32 ビット値を、UTF-32 として扱っているようです。試しに、(最近話題の第三水準の) サロゲートペアの文字を入力したところ、確かに文字化けしました。

これを解決するためには、ハイサロゲートがきた時にいったん内部にためこんで、次にローサロゲートがきたところでまとめて取り込むようにすればいいわけですが … このあたりって、どうせ大幅変更で使わなくなるところなんですよね、IMM 呼び出すわけですから。

どうしようかなー。とりあえずこの時点で修正を作るか、放置して IMM 対応を急ぐか。

« Linuxの件、進展しました | トップページ | CVSは謎が多い »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Windows の文字入力にバグ?:

« Linuxの件、進展しました | トップページ | CVSは謎が多い »

フォト
無料ブログはココログ