[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:
「×」の
表示
>> On Tue, 20 Apr 2004 17:52:57 +0900
>> 「土」== tsuchiya@namazu.org (TSUCHIYA Masatoshi) said as follows:
土> と思ったのですが,今度は「×」が (make-char 'latin-iso8859-1 87)
土> に変わってしまうことに気づきました.
土> 例: http://www.kagakudojin.co.jp/kagaku/literacy/index.html
土> もちろん,Mule-UCS の設定でなんとかできるのだろうとは思います.し
土> かし,本質的には,コード変換はなるべく避けて通るのが正しい道のよう
土> な気がしてきました.
土> 将来の emacs-w3m-1.5 で w3m-0.5 / w3m-m17n / w3mmee を使っている場
土> 合には,w3m-input-coding-system / w3m-output-coding-system はペー
土> ジの文字コードと連動するようにして,文字コードの変換をなるべく行わ
土> ないように変更しましょう.
‥‥と思ったんですが,w3m の実装を調べてみると,この案には不具合がある
ことに気づきました.このように変更すると,
w3m -halfdump -O UTF-8
というオプションで呼び出されることもあれば,
w3m -halfdump -O ISO-2022-JP-2
というオプションで呼び出されることもある,ということになります.それで,
現行の w3m は,<li> や <table> をレンダリングするための記号を -O オプ
ションで指定された出力用文字コードに基づいて決めているようですから,
w3m -halfdump -O UTF-8 => カラム幅 == 1 の記号が使われる
w3m -halfdump -O ISO-2022-JP-2 => カラム幅 == 2 の記号が使われる
となって,表示されるページ毎に使われる記号がころころ変わるということに
なってしまうでしょう.
この問題に対する解決策なんですが,
(1) 上述の案の通り,ページ毎に charset を切り替える.w3m にはパッチを
当てて,記号のカラム幅を外部指定できるようにして対処する.
(2) 上述の案を破棄し,-O オプションで指定する出力用文字コードは常に一
つにしておく.記号が再現されないなどの問題は,Mule-UCS の設定でし
のいでもらうことにする.
のどちらかだと思います.
オプションをよくよく調べてみると,use_wide というオプションがあって,
w3m -halfdump -o use_wide=0 -O ISO-2022-JP-2
と指定すると,記号のカラム幅は1として扱われるようになるのですね.そう
すると,
(1')上述の案の通り,ページ毎に charset を切り替える.Unicode の記号が
表示できる場合は use_wide=0 を指定して,常に Unicode の記号を使う.
表示できない場合は,ページ毎に記号が変わるのはやむを得ないと諦めて
もらう.
さて,どうしたものでしょうか.
--
土屋 雅稔@誰かパッチを作ってくれないかしらと他力本願な気分