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

Summary of -halfdump option



-halfdump オプションによる出力と文字コードの関係について、w3m-dev ML 
に投稿されたメールのまとめを覚え書きとして流しておきます。


まず、w3m-0.1.11-pre の -halfdump には正規の EUC 以外の文字コードが混
ざるため、単純に出力コード系を EUC としておくと w3m.el で問題が発生す
る。発生する問題の詳細については [ELF:01049] と、そのスレッドを参照。


EUC としては正しくない文字を w3m の内部処理に利用しようという議論は、
[w3m-dev 01344], [w3m-dev 01346], [w3m-dev 01347], [w3m-dev 01348],
[w3m-dev 01352] などで行われた。その趣旨は、

岡部> 空のアンカーの場合やイメージの前後の空白等, 用途によって幾つか異なる空
岡部> 白があった方が便利じゃないですか?
岡部> (イメージについてはまだ手をつけてませんが, alt 属性が日本語のときにイ
岡部> メージ間の空白が無くなってしまう難点があるので何とかしたいなと思ってま
岡部> す.)

ということらしい。そのような幾つかの空白(=  )を表現するため、

坂本> 現在の conv.c では内部コード(EUC)に変換する時に 0x01-0x7F(ASCII)
坂本> と 0xA1-0xFE (JISX0208) 以外は使わないように厳密に処理しています。
坂本> 従って、0x80-0xA0,0xFF は未定義領域なので、そこに任意のコントロール用の
坂本> 文字を設定することは十分可能なのです。
坂本> # 外に出す時には space に置き換えればいい。
坂本> 英語版(ISO-8859-1)でも 0x80-0x9F はコントロール領域なので、
坂本> 問題ないと思います。

0xa0 などが内部コードとして利用されることになった。


実際にこの変更が kokb パッチに取り込まれたことは [w3m-dev 01364] で報
告された。


その後、-halfdump の出力について坂本さんによる解説記事 [w3m-dev 01712] 
が投稿されたことがある。

坂本> -halfdump で出力されるものは、

坂本> * <table> や <ul> などの文書構造は完全にレンダリングされ、
坂本> * <a> などのリンク情報も整理され、
坂本> * <b>,<u>,<a>,<input_alt>(form 要素),<img_alt>(画像) 等の
坂本>   特殊効果を伴うタグが付いた、
坂本> * HTML 風のテキスト

坂本> ですが、

坂本> * <form> 関係の情報は出力されないので完全に単独で扱うことは出来ず、
坂本> * 内部コード(現在、ほとんど EUC だが、0x9e,0x9f,0xa0 は特殊な空白記号)
坂本>   になっています。
坂本>   # 内部コードの拡張の可能性はありますので、EUC と思わないでください。
坂本> * さらに、基本的にデバッグ用なので仕様は常に変わります。
坂本>   # 変わってもアナウンスもないでしょう。(だからソースを見て...ってこと)

坂本> となってます。


-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/