[#45609] ruby 1.8.6のNKFにおける漢字変換の不具合について — 京和 崇行 <kyowa_t@...>

初めましてこんにちは。カカクコムの京和と申します。

14 messages 2008/11/04

[ruby-list:45612] Re: ruby 1.8.6のNKFにおける漢字変換の不具合について

From: "NARUSE, Yui" <naruse@...>
Date: 2008-11-04 14:01:54 UTC
List: ruby-list #45612
成瀬です。

京和 崇行 wrote:
> ruby 1.8.6のNKFモジュールではJIS第二水準(?)の
> 漢字変換に不具合があるようです。

つい先日卜部さんに存在は教えて貰ったので、
一応 Ruby 1.8.6 の既知のバグという扱いになります。
修正自体はたぶん r1.125 だと思うんですが。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/nkf/nkf-2/nkf-utf8/nkf.c?r1=1.124&r2=1.125

対策としては、
1.明示的に変換元を指定
2.Ruby 1.8.7 を用いる
になります。

> ruby 1.8.5から1.8.6のバージョンアップに伴い組み込みのnkfの
> バージョンが2.0.7から2.0.8に上がっていますが、1.8.6添付のnkfの
> ソース(ext/nkf/nkf-utf8)でコンパイルしたバイナリでは上記の
> 文字化けは起こりませんでした。

思うに、1.8.5 を引き合いに出すのは間違いで、1.8.7 と比べるべきでしょう。
1.8.5 はメンテナンスが終了していますから。
1.8.7 では直っていると思うのですが。

で、これって ext/nkf/nkf-utf8/{nkf.c,utf8tbl.c,config.h} から、
nkf コマンドを作ったという意味ですかね。

> よって、rubyのラッパー側で問題がある可能性が高そうです。
> ただ、diff取って眺めてみましたが、僕ではよく分かりませんでした。。
> 
> また、nkf 2.0.8はまだβのようですので、安定版のrubyでは
> 2.0.7にしておく方が無難かもしれないですね。
> http://sourceforge.jp/projects/nkf/releases/

nkf 2.0.7 は一応リリース版ではありますが、
nkf の場合あくまで一定期間寝かせた snapshot でしかありません。
CVS の log をご覧になればわかるのですが、
2.0.7 の後でかなりのバグ修正が入っているので、
2.0.8 の方が基本的にはいいですね。


-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread