成瀬です。

MORIYAMA Masayuki wrote:
> 今回、公開したパッチの内容では問題があることが分かっていて、修正が必要
> だと考えていますが、体調をくずしてしまい修正が出来ていない状態にあります。

あら、お大事に。

 > 今回作成のパッチが不完全である事もあるのですが、nkf の度重なる機能追加
> により、いろいろと不都合な点が出てきているように思いますので、コードを
> 整理した方が良いのではないかと感じています。

同意はします。
もっとも、大規模な整理となると、
他のiconvやskfの再発明になるので乗り気ではありませんが。

> 次のような修正が必要なのではないかと考えています。
> 
> ・Unicode 間の変換では、EUC へ変換しないようにする。

既存の全角半角変換やひらがなカタカナ変換等のエンジンがEUCベースなので、
Unicodeで流すようにするとこれらのUnicode版を書かないといけない、
というのを嫌ってそのままにしています。

> ・Unicode へ変換できない文字を UTF-8 出力の場合はスキップし、UTF-16 出
>   力の場合は U+0000 で出力するなど、UTF-8、UTF-16 で異なる処理をしてい
>   る箇所があるので、Unicode 処理の見直し。

あれ、そんなところあります?
to Unicode できない文字 = エラー文字 のはずなので捨てているはずですが。

> ・--ic, --oc オプションと半角カナ処理の見直し。
同じことを考えてnkf CVS HEADでは見直したはずです。

ついでに問題の追加ですが、SIとSOの処理にバグがあります。
% ruby -e'print"\x0e!\x0f"'|nkf -jJ|od -t x1
0000000   1b  24  42  21  23  1b  28  42
とならないといけませんが、
% ruby -e'print"\x0e!\x0f"'|./nkf -jJ|od -t x1
0000000   0e  1b  24  42  21  23  1b  28  42  0f
となってしまいます。


-- 
NARUSE, Yui  <naruse / airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA