ぼくが管理人に加えてもらって一週間。改めて spam の多さを感じますな。
こういうときには Emacs-w3m の antenna 機能と Emacs-w3m の Auto Login 機能は最強の組合せだ。
の組合せで Emacs-w3m の default 設定だと化けるページがある。設定を少しいじると化け方も変わってくるのだが。例えば、ぼくの「ダン日記」もそう。UTF-8 のページで起こるのかも。
これぼくだけ?ぼくだけじゃなかったら対策を考えなければなるまい。
というのを、Zaurus の w3m を w3m-m17n から w3m-0.5.1 に変えたときに気づいたのだけど、自分の設定のせいだと思って深追いはしていない。
(setq w3m-input-coding-system 'utf-8) (setq w3m-output-coding-system 'utf-8)で止まる(実は下の行の設定だけで十分)んだけど、そうすると mule-unicode-0100-24ff などの文字がわらわら出てくるのでそれなりに font をそろえないと使いものにならない。
_MULE_BASELINE_OFFSET -3を消して、pcf 作り直したらうまくいったのだけど、これって単に昔から愛用している font 達との相性が良くないだけなんだろうな。
/* The baseline position of a font is normally `ascent' value of the
font. However, there exists many fonts which don't set `ascent'
an appropriate value to be used as baseline position. This is
typical in such ASCII fonts which are designed to be used with
Chinese, Japanese, Korean characters. When we use mixture of
such fonts and normal fonts (having correct `ascent' value), a
display line gets very ugly. Since we have no way to fix it
automatically, it is users responsibility to supply well designed
fonts or correct `ascent' value of fonts. But, the latter
requires heavy work (modifying all bitmap data in BDF files).
So, Emacs accepts a private font property
`_MULE_BASELINE_OFFSET'. If a font has this property, we
calculate the baseline position by subtracting the value from
`ascent'. In other words, the value indicates how many bits
higher we should draw a character of the font than normal ASCII
text for a better looking.
We also have to consider the fact that the concept of `baseline'
differs among languages to which each character belongs. For
instance, baseline should be at the bottom most position of all
glyphs for Chinese, Japanese, and Korean. But, many of existing
fonts for those characters doesn't have correct `ascent' values
because they are designed to be used with ASCII fonts. To
display characters of different language on the same line, the
best way will be to arrange them in the middle of the line. So,
in such a case, again, we utilize the font property
`_MULE_BASELINE_OFFSET'. If the value is larger than `ascent' we
calculate baseline so that a character is arranged in the middle
of a line. */
やっぱ、Mule-UCS の方がいいや。Zaurus も 10MByte 近くの実メモリと Mule-UCS の load に地下鉄一駅分かかる、という問題さえなければ、Mule-UCS を使うのだが。。。;_;
有沢さんを見習って、UCS の定義を自分向けにチューニングするべきかも。お手軽にやるには、Emacs CVS HEAD の utf-translate-cjk-set-unicode-range() だな。