[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: decode-coding-regin() with utf-8
こんにちは、白井です。
From: Kenichi Handa <handa@m17n.org> さん曰く
Subject: Re: decode-coding-regin() with utf-8
Message-ID: <200503150537.OAA12040@etlken.m17n.org>
Date: Tue, 15 Mar 2005 14:37:56 +0900 (JST)
> > いつからかはわかりませんが、最近の Emacs CVS Head の CJK モード
> > を使って、utf-8 (や utf-16) を扱う場合、Emacs 立ち上げ後、最初に
> > utf-8 を使うときに subst-jis などをロードしますが、そのときの関
> > 数が decode-codeing-region() だと decode 結果が化けるようです。
>
> (set-buffer-multibyte nil) が原因です。 utf-8 は
> post-read-conversion 関数を使いますが、これは unibyte-buffer
> ではうまく動きません。
がーーん、恥ずかしながら、今の今まで 『生のバイト』 = 『unibyte』
で OK と思い込んでいました。
> (set-buffer-multibyte nil) しなくてはならない理由はなんでしょ
> うか?
emacs-w3m で utf-8 なページを表示/取得したときに化けるときがあり
まして、追求したところ、Emacs 立ち上げ後に初めて utf-8 を扱うの
がそのページのとき化ける、というのを発見しまして、それをエミュレー
トしたのが前回の変なコードでした。
また、emacs-w3m も decode-codeing-region と
(set-buffer-multibyte t) の順番を変えたところ、きちんと動作する
ことを確認しました。
いつもいつも的確な指摘をありがとうございます。(__)
# 後は emacs-w3m ML の方で続けましょう。> 関係者一同
--
白井秀行 (mailto:shirai@meadowy.org)