NKF における UNICODE マッピングの問題
UNICODE -> EUC-JP に変換した時に次のような変換が行われます。
nkf 2.0.6 で次のように修正されました。
NKF 2.0.4 NKF 2.0.5 NKF 2.0.6.
I (U+0130) (0x00) 削除 削除
'
y (U+00fd) (0xc0) 削除 削除
-D (U+00d0) (0xc0) 削除 削除
_
E (U+0114) (0x00) 削除 削除
_
e (U+0115) @ (0x40) 削除 削除
'
g (U+0123) (0xc0) 削除 削除
'
O (U+01fe) (0xc0) 削除 削除
^
o (U+01ff) (0xc0) 削除 削除
\ (U+00a5) (0xc0) 削除 (0xA1EF)
(c) (U+00a9) (0x00) (0x00) 削除
(R) (U+00ae) (0x80) 削除 削除
* ここでテストした文字以外で不具合が生じる可能性はあります。
NKF 2.0.4 では誤変換が多く、特に 0x00 に変換されるのものは C 言語で取り扱う際に不都合が生じます。
NKF 2.0.5 ではほぼ理想的に変換できない文字が削除されていますが、(c)だけは例外で 0x00 に変換されてしまいます。
NKF 2.0.6 では、理想的にすべて削除されています。U+00A5 が 0xA1EF に変換されるのも好ましい変換です。
この部分に関しては、NKF 2.0.6 で問題が解決したので、NKF 2.0.6 を推奨としたいところですが、--fb-* でバグがあるようですので、推奨は先送りにしようかと思います。
セコメントをする