ぼくが管理人に加えてもらって一週間。改めて 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() だな。