namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
abolishing ja_JP.ISO-2022-JP support (Re: Broken ja_JP.ISO-2022-JP.po)
Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> wrote:
> 1. % を含まないなら printf() を使わない、約束を徹底する
> make_iso-2022-jp では c-format のときに % を %% に変換
>
> 2. nmz_printf() を用意して printf() の代わりに使う。そして、
> LANG=ja_JP.ISO-2022-JP 用の workaround を施す
>
> 3. xgettext を修正して printf() 中の文字列に対しては % を
> 含まなくても c-format の印をつける。
>
> 4. LANG=ja_JP.ISO-2022-JP の対応を廃止する
>
>が考えられます。どうしたものか…。ご意見くださいませ。
僕は 4がいいと思います。
ja_JP.ISO-2022-JP の対応を続ける根拠:
* ISO-2022-JP で出力すれば CGI の表示が文字化けしづらい
* 「なんとなく」 ISO-2022-JP での出力が好ましい気がしない
でもない (標準という印象がなきにしもあらず)
* 以前からそうしていた (v0.1 から今までずっと)
ja_JP.ISO-2022-JP の対応を廃止する根拠:
* 対応が非常に面倒 (いくつかの関数で特別扱いしている)
* よって、トラブルの元になる
* 結果出力のサイズが1割程度、大きくなる
* コマンドラインでは namazu | nkf -j すればいい
* ja_JP.ISO-2022-JP.po を持つプログラムなど見たことない
要するに ja_JP.ISO-2022-JP の対応を続ける、まともな根拠は
「ISO-2022-JP で出力すれば CGI の表示が文字化けしづらい」だ
けです。
それなら HTTP のヘッダに charset=euc-jp をつければ済む話です。
あるいは自動判別の誤りを防止するために <!-- 漢字 --> のよう
な文字列を NMZ.head.ja の先頭付近に入れるという手もあります。
いかがなものでしょう? ご意見くださいませ。
参考:
<http://www.asahi-net.or.jp/~wq6k-yn/t/t990619.html>
-- Satoru Takabayashi