Re: NKF の UNICODE -> EUC-JP 変換における問題
2006-03-28


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-* でバグがあるようですので、推奨は先送りにしようかと思います。
[開発]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット