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

Re: 「×」の 表示



>> On Fri, 23 Apr 2004 11:31:48 +0900
>> 「土」== tsuchiya@namazu.org (TSUCHIYA Masatoshi) said as follows:

土> オプションをよくよく調べてみると,use_wide というオプションがあって,

土>     w3m -halfdump -o use_wide=0 -O ISO-2022-JP-2

土> と指定すると,記号のカラム幅は1として扱われるようになるのですね.
土> そうすると,

土> (1')上述の案の通り,ページ毎に charset を切り替える.Unicode の記
土>     号が表示できる場合は use_wide=0 を指定して,常に Unicode の記
土>     号を使う.表示できない場合は,ページ毎に記号が変わるのはやむを
土>     得ないと諦めてもらう.

を試してみようと,

    (setq w3m-input-coding-system 'iso-2022-7bit-ss2
          w3m-output-coding-system 'iso-2022-7bit-ss2
          w3m-symbol 'w3m-mule-unicode-symbol
          w3m-halfdump-command-arguments
          '("-halfdump"
            "-o" "ext_halfdump=1"
            "-o" "strict_iso2022=0"
            "-o" "ucs_conv=1"
            "-o" "use_wide=0"
            "-I" "ISO-2022-JP-2"
            "-O" "ISO-2022-JP-2"))

という設定にしてみたら,ものの見事に <table> のレンダリングは壊れるわ,
普通のテキスト部分も正しく改行されなくなるわ,と散々でした.

と言うわけで,やっぱり手抜きはできなくて,

土> (1) 上述の案の通り,ページ毎に charset を切り替える.w3m にはパッ
土>     チを当てて,記号のカラム幅を外部指定できるようにして対処する.

土> (2) 上述の案を破棄し,-O オプションで指定する出力用文字コードは常
土>     に一つにしておく.記号が再現されないなどの問題は,Mule-UCS の
土>     設定でしのいでもらうことにする.

どちらかになりそうですが…,うーん.

ところで,Unicode の記号の扱いはなかなか謎めいているのですね.

    (delq nil
          (mapcar
           (lambda (s)
             (unless (string= s
                              (decode-coding-string
                               (encode-coding-string s 'utf-8)
                               'utf-8))
               s))
           (list "+" "−" "±" "×" "÷" "=" "≠")))
    => ("±" "×" "÷")

と,いずれも同じような数学記号なんですが,漢字に近い空間に配列されてい
たり,そうでなかったり(上の式を評価すると返ってくるのは,近い空間に配
列されていない文字).

やっぱり文字コードの変換って一筋縄ではいかないですねぇ….

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )