[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: w3m-ucs-e21
>>>>> In [emacs-w3m : No.05447]
>>>>> TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:
ari> Emacs21.3 以前での mule-unicode を使った w3m-euc-japan では日本語
ari> を表示できない(日本語では、従来通り iso-2022-7bit にエンコードし
ari> た方が良い)と勘違いしていました
土> Emacs21.[123] w/o Mule-UCS でも,Unicode で encode された CJK 文字が表
土> 示できるのですか? 手元で,
私の勘違いは「mule-unicode を使った w3m-euc-japan では、shift_jis,
euc-japan, iso-2022-jp でエンコードされた日本語すら取り扱えないので、
日本人向けには使いものにならない」というひどいものでして(^^;
実際には、その w3m-euc-japan を使った場合には、以下の coding-system
と character-set の組合せが利用できます。
coding-system : Emacs がデコードできるもの
character-set : ASCII, JIS X 0208, JIS X 0201, ISO8859-1, mule-unicode-*
(Emacs21.[123] w/o Mule-UCS では、CJK を含む utf-8 でエンコードされた
ページは、Emacs でデコードできないために表示できない。)
一方、w3m-imput-coding-system に iso-2022-7bit を使った場合は、
利用できるものは以下のようになっていると思います。
coding-system : Emacs がデコードできるもの
character-set : w3m が対応しているもの (ASCII, JIS X 0208, JIS X 0201)
ということで、w3m-euc-japan を使えば、対応する coding-system は
変わらないし、対応する charset は増えるはずです。
ari> ところで、define-ccl-program の定義をロード時等に切り替えるには、
ari> どうすればよいのでしょうか。
気が付いたのですが、custom で w3m-use-mule-ucs を設定した場合は、
値をセットする前に w3m-ucs を require しちゃうので、w3m-ucs の
ロード時に定義を切り替えるのではまずいですね。
土> ただ,これだと load 時に w3m-euc-japan の定義が決まってしまい,その後
土> で w3m-use-mule-ucs などをいくら変更しても反映されないので,いっそのこ
土> と,w3m-euc-japan, w3m-euc-japan-mule-ucs, w3m-euc-japan-unicode... と
土> 複数の coding system を作ってしまうという手もありかなあ,と思っていま
土> す.
w3m-e21.el で mule-unicode を利用した w3m-euc-japan-encode を
(定義されていなければ)定義しちゃうのが最も簡単かなと考えてます。
w3m-use-mule-ucs が t ならば w3m-ucs がロードされて、上書き
されますし。
ただほとんど同じコードが2箇所に書かれるのがイヤな所です。
あとは、複数の coding-system を作らないまでも、複数の encoder を
定義しちゃって、coding-system を作るところで切り替えるとか。
;; w3m-use-mule-ucs を w3m ロード後に変えた時は、各オプションを
;; 変更しなきゃならないことですし、あまり考えてません(^^;
--
有沢 明宏