2008年7月28日

[Namazu-devel-ja 1755] Re:filter/{msword, excel, powerpoint}.pl を pl/extutf8.pl を使用するように変更

寺西です。

# 補足です。

ゴミを出力することは「致命的なバグ」とは思っていませんが、「バグ」だ
とは思っています。(ついでに、簡単な修正だけで直るなら手を加えても良い
かなとは思っています。)

Tadamasa Teranishi wrote:
>
> もし ISO-8859-1 環境で使えるようにしたいのなら、このコード変換
> を行う新たな処理(ツールを使うにしても)が必要になります。

utf8_to_iso88591 というルーチンを Perl で書いても簡単に書けますが、
積極的にはサポートしないということです。

> が、そこまでするつもりはないので、最小限の修正ということで US-ASCII
> のみ残し、それ以外を '#' にする処理を加えたのでした。

'#' に変換することについては議論の余地はあるかもしれません。
削除するとか '?' にするとか ' ' にするとか、いろいろあるかとは思い
ますが、ここでは '#' でいいかなという程度の考えです。

> filter/ooo.pl, や filter/koffice.pl では、decode_numbered_entity
> が含まれており、「数値実体参照」にからむ話がでてきますが、
> これらの decode_numbered_entity は filter/html.pl のそれとは異なり、
> そもそも 127 以上は捨てていますので、こちらでも(現状より何か制限が
> 加わるというような)問題が発生することはありません。

なお、filter/{msword, excel, powerpoint}.pl は、html::html_filter
を通ります。ここから html::decode_numbered_entity が呼び出されます。
しかし、html::html_filter 呼び出し前に USASII 文字にマスクしても、
数値実体参照には影響を与えません。

このため、数値実体参照で書かれた ISO-8859-1 文字が削除されることは
なく、従来通りデコードされるはずです。
むしろ、以前は UTF-8 コードがゴミとして出力されているので、折角
デコードした ISO-8859-1 文字と混在して、ゴミに埋もれていたかもしれ
ませんが、UTF-8 をマスクしてゴミを削除することで、数値実体参照を
今まで以上に生かすことができるようになったと思われます。
# もっとも、Word, Excel, PowerPoint のこれらの処理で数値実体参照
# がどれほど使われているのかは不明ですが...。

たぶん、この修正に関係するとは思いますが、少し前の development-2-1
では、LANG=C の環境において、make check や pltests 実行時に
'Malformed UTF-8 charcter' ワーニングが html.pl の _htmlparser_filter
で発生していました。
原因特定は先送りにして _regex_html_filter を使っていたのでどこで
改善されたのか分かっていませんが、手元のプログラム(更に修正が入って
いるが)ではワーニングが消えているので、この点においてもゴミを消す
ことに意味があったと思っています。

で、HEAD の html.pl の decode_numbered_entity ですが、良く考えると
development-2-1 や stable-2-0 と違って、デコード時には UTF-8 で
出力しなければなりませんね。
今手直しする力がないので、「FIXME: The output should be UTF-8.」
とコメントだけ追加しておきました。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E

_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja


投稿者 xml-rpc : 2008年7月28日 03:17
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75726
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。