中本です。 On Sat, 30 Sep 2006 17:19:59 +0900 Yoshiyuki Masutomi <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] です。 ビルドマシンが壊れているので、ここ最近ビルドしていないです orz # はよ直さな、と思いつつメンドくさくてやってない... > Takashi Nakamoto wrote: > > このページを見る限りでは、OSのバージョンを見て、Win95系の場合は > > Shift_JISに変換して、 WinNT系の場合はUnicode(LE)に変換して、 > > ImmGetConversionListWに渡すのがよいということでしょうか。 > いや、返されるエンコードがWindows95系の場合は(何故か)Unicodeと言う点に > [EMAIL PROTECTED] > んの指摘事項の件もあるのでShift-JISとしておいたほうが良いと思います。 すいません。そのほうがよいですね。 むつろさんの指摘があったのをすっかり忘れていました :-p > http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B417206 でもっ > て、返されるエンコードがWindows95系の場合は(何故か)Unicodeである為にこ > こでPlatformIDをチェックしてそれぞれに適したエンコード変換を行う様にす > る。この部分は修正してあるので(動作検証は未確認)最後に載せておきます。 > ちょっと確証を持てないところは、エンコードの指定 > が"RTL_TEXTENCODING_UNICODE"でOKなのかと言う点です。 エンディアンの扱いが怪しいですが、テスト結果を待ちましょう。 > >> 3.99文字で区切って末尾 > >> の文字コードを確認、2バイト文字の上位のコードの場合は1文字削除して > >> 変換。削除した一文字は以降の文字列の先頭に追加、以上を繰り返す。と > >> 言う所でしょうか。 > > > > これも考えてみたのですが、例えば99文字目が「中」で100文字目が「本」 > > だった場合には、該当する部分の結果として期待するのは「なかもと」です > > が、「ちゅう」と「ほん」に分かれて逆変換されそうです。 > - snip - > > そういえば、これは Shift_JIS コードで200バイトの制限がかかっているの > > か、それとも Unicode で200文字の制限がかかっているのか分かりません > > ね。 > > # っていうか、文字(バイト)数の制限があるなんてどこにも書いてへんし > 安易に考えすぎましたかね、でもそこを深くやろうとすると構文解析しなく > ちゃならなくなってしまうので、仕様ということにしませんか? 試してみる > と、1バイト文字でも2バイト文字でもとにかく100文字までとなっているよう > です。ですので、これはIME(or API)側の仕様かと思います。どれくらいの割 > 合で1つのセルに100文字入力する人がいるだろうかと想像しても、仕様上の制 > 限にした事によって困る人はほとんどいないのではと思います。 そうですね、ふりがな関数の用途を考えたらそれでよいと思います。 それではMS-IMEを使っている場合には、100文字を超える文字列は変換できな いということで。 -- 中本 崇志 ( Takashi Nakamoto ) E-Mail : [EMAIL PROTECTED], [EMAIL PROTECTED] Homepage: http://bd.tank.jp/ blog : http://bd.tank.jp/diary --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
