Tadamasa Teranishi
yw3t-****@asahi*****
2006年 3月 7日 (火) 14:47:26 JST
寺西です。 "NARUSE, Yui" wrote: > > という記事にて、Win32 API の WideCharToMultiByte に、 > WC_NO_BEST_FIT_CHARS というフラグがあるのを見つけました。 ... > CP932 ではこれと同じ動作を、CP51932 も同様に、 > eucJP-ms や eucJP-ascii 等では多対一マッピングをしない、 > という形で --no-best-fit-chars オプションを実装してみました。 > -sW や -eW でも動作しますので、これを指定すれば、 > JVN#18282718 の話は大丈夫、ですよね? 確認はしていませんが、おそらく大丈夫でしょう。 # JVN#18282718 の話は、ANSI版のWin32 APIを使った場合、コード変換を # アプリケーションでは行わないので、WC_NO_BEST_FIT_CHARS で回避する # ことは不可能なんですが... nkf はコード変換ツールなので、WC_NO_BEST_FIT_CHARS 相当の機能で 「US-ASCII 外から US-ASCII に変換される」というのは防げるはずなので、 可能でしょうね。 なお、MultiByteToWideChar にはもともと WC_NO_BEST_FIT_CHARS がない ので、-sW -eW は無条件でそうなっていないといけないのでは? と 思いますが、どうなんでしょう。 (C) が C に変換されることはあっても、C が (C) にはそもそも変換され ませんよね。 --no-best-fit-chars オプションの有無で、-sW -eW の結果が変わる のでしたら、具体的な例を教えてください。 -- ===================================================================== 寺西 忠勝(TADAMASA TERANISHI) yw3t-****@asahi***** http://www.asahi-net.or.jp/~yw3t-trns/index.htm Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E