中本です。

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]

メールによる返信