2011年6月8日の日記の2番目の記事へのコメント
■w3mとGNU screen
手元の環境のw3mで基板屋さんの価格表を表示させると,本来「〜」とか「−」が出てくるべきところで表示されず,1文字分の空白になってしまって,幅がずれて表がぐちゃぐちゃになっちゃいます.一体何が原因なのか.何か突然気になり,調べてみました.
ひとまず表示しようとして失敗している文字のASCIIコードを見てみたら,やっぱり「〜」は「ef bd 9e」になってました.やっぱり波ダッシュ問題の一種なのか.うーん,この辺,とっくの昔に問題になって直ってそうなイメージなので,設定の問題っぽい感じがするんですが,言語回りをいじっても直りませんなぁ.結局,設定でどうこうするのは諦め,UTF-8を処理しているところにPidginのルーチンを突っ込んで置換するようにしちゃいました.これでひとまず「〜」の表示はOK.
が,まだ「−」が変ですね.1文字幅で扱われてしまっているようで,表示はされるものの画面が崩れます・・・.あれー,この辺,曖昧な幅の文字云々で対処してるんじゃないのか・・・? うーん,w3mのソースのマップを見ても対処しているように見える・・・.
となると次に怪しいのは・・・.試しにscreenを起動せずに,mlterm上で直接w3mを起動してみたところ,正解だたようで,「−」で表が崩れたりする問題が出なくなりました.ということは,screen側の問題ってことでいいのかな.ソースを見ると,encoding.cのambiguousに U+2212が入ってないですね・・・.というわけで,これを追加したらあっさり直りました.いやー,スッキリ.
ああ,今度はローマ数字だ・・・.あ,需要あるのかわかりませんが,一応後でパッチを切り出して置いときますね.
2011年6月8日の日記の2番目の記事へのコメント
[コメントを書く]