Namazu-users-ja(旧)


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

nkf_utf8



古川です。

From: Rei FURUKAWA <furukawa@xxxxxxxxxxxx>
Subject: [namazu-users-ja] Re: Unicode(UTF-8) は使えない?
Date: Sat, 17 Aug 2002 12:12:14 +0900

furukawa> 試しに、nkf で UTF-8 が使えるようにしてみました。
(snip)
furukawa> まだまだバグがあると思われます (特に、自動判別や、文字コード
furukawa> の混在、エラー処理などの部分) ので、何か問題があったら
furukawa>  furukawa@xxxxxxxxxxxx までお知らせ下さい。

いくつかの修正をしたものを

    http://www01.tcp-ip.or.jp/~furukawa/nkf_utf8/

に置きました。

(1) コンパイル時の warning への対処 (馬場さんのパッチによる)
(2) utf-8 の判定のバグ修正
      正しい文字コードが来ているぶんには問題ありませんが、
      不正なコードが来ても、utf-8 モードから抜けない可能性が
      ありました
(3) wvHtml の出力への対処 (北川文孝さんの御報告による)

をしています。

このうち、(3) について、

wvHtml の出力を見ると、タグの中に、不明な文字コードが入ること
があり、それによって、自動判別がおかしくなることがあったので、
その可能性を下げました。

しかし、場合によっては、Shift_JIS として正当なパターンが入る
こともありました。そのケースでは、自動判別で救うことはできま
せん。

よって、wvHtml の出力を変換するには、入力コードを UTF-8 に
固定することが必要になると思います。 … (a)


一方、従来の nkf には、入力コード指定オプションがありますが、
例えば、-S オプションなどの挙動を見てみると、入力コードの初期
値が Shift_JIS になるだけで、不正なコードがあると、自動判別に
戻ってしまっているようです。

つまり、従来の入力コード指定オプションは、必ずしも入力コード
を固定するものではない、ということです。 … (b)


(a) と (b) を考慮すると、

[1] -W に限って「入力を UTF-8 に固定する」オプションとする。
    他のオプションは、互換性を考えて、従来通り入力の初期値を
    指定するだけの動作とする

[2] 全ての入力文字コードオプションについて「入力を固定する」
    動作に変更する

という 2 つの選択肢が考えられますが、どちらがいいと思いますか?

# 私としては、[2] がいいと思っていますが。

-- 
Rei FURUKAWA 
furukawa@xxxxxxxxxxxx