[Nkf-dev 13] Re: nkf 2.0.6 と --no-best-fit-chars

Back to archive index

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




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