Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Subject field search bug when NULLcharacteris contained



寺西です。

Rei FURUKAWA wrote:
> 
> どうも、ESC 'N' または ESC 'n' の後の文字によっては、ゴミを
> 出力することがあったようです。

のようですね。
 
$ nkf-utf8 test.txt | od -t xCa
0000000 53 75 62 6a 65 63 74 3a 20 5b 4d 65 77 2d 64 69
          S   u   b   j   e   c   t   :  sp   [   M   e   w   -   d   i
0000020 73 74 20 31 31 31 38 32 5d 20 52 65 28 32 29 3a
          s   t  sp   1   1   1   8   2   ]  sp   R   e   (   2   )   :
0000040 20 2b 42 61 63 6b 75 70 20 20 20 20 20 20 20 20
         sp   +   B   a   c   k   u   p  sp  sp  sp  sp  sp  sp  sp  sp
0000060 20 20 20 20 20 20 20 20 28 68 1b 2e 41 1b 4e 69
         sp  sp  sp  sp  sp  sp  sp  sp   (   h esc   .   A esc   N   i
0000100 20 68 1b 4e 69 20 68 1b 4e 69 2e 2e 2e 29 0a
         sp   h esc   N   i  sp   h esc   N   i   .   .   .   )  nl
0000117

となり、ゴミの nil 文字は出力されないことを確認しました。
また、元データと同じことを確認しました。

> sourceforge.jp の CVS 版か、
> http://www01.tcp-ip.or.jp/~furukawa/nkf_utf8/
> 
> のものをお試しください。よければ 2.0.4 にします。

2.0.4 としてリリースしていただくことを希望します。
 
> yw3t-trns> nkf が直らないなら、nkf を捨てるという選択肢もあるわけで、挙動不振の
> yw3t-trns> nkf 2.X を使わなければならない理由はないでしょう。

この辺りの話は多国語化を考えた場合や、perl 5.8 対応で、
いずれ nkf とお別れすることになるだろうということがわかっている
ためです。

> ・新たなプロジェクトでは、使用する文字コード変換プログラムに
> ついて、nkf にこだわらず、ゼロから検討し直すのがよいと思います。
> 
> yw3t-trns> 完全に置き換えはできませんが、iconv で代用するのでも良いでしょう。
> yw3t-trns> (不足する機能は追加しないといけませんけどね。)

現状フィルタを通した際に半角カナ->全角カナ変換が行われない等が
あって、どのみちいずれ自前で用意する必要があります。
(あるいはフィルタの出力に対して nkf を通すようにするか)

> nkf には、ちょっと便利な機能があるのも確かなんですよね。

ええ。それ故に nkf で問題がでると致命的な打撃を Namazu は受け
ちゃいます。

最後に Namazu としては

・nkf 1.71 推奨
・nkf 1.9X はダメ。(ただしパッチがあたっているものは OK)
・nkf 2.X は一部支障がでる場合がある。
 ただし、nkf 2.0.4 以降は OK(推奨)

ということになりますね。
まぁ、何にしてもめでたしめでたしということで。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E