[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: BITMAP-MULE vs Mule-UCS
From: Katsumi Yamaoka <yamaoka@namazu.org> さん曰く
Subject: [emacs-w3m:01513] Re: BITMAP-MULE vs Mule-UCS
Message-ID: <78lmjj22c0.fsf@karin.namazu.org>
Date: Thu, 13 Sep 2001 12:31:54 +0900
中川さん> ;; 奥西「ふ」師匠(こちらあたりでの通り名は「元プリンス様」
中川さん> ;; かな)がいらっしゃれば一発回答だと思うのですが…
山岡さん> ;; ここにはいらっしゃらないと思いますが、Wanderlust が CVS 管理
山岡さん> ;; になったころからお見かけしませんね。
;; ですねぇ。。。
中川さん> ついでに(ここでは多分ふさわしくない)質問をさせて下さい。
中川さん> Mule 4.0の状態(emacs-20.7-mule-4.1.patch or
中川さん> emacs-20.7-mule-4.1a.patch を当てていない状態)で Mule-UCS
中川さん> をロードしても問題ないのでしょうか?
中川さん> UTF-8/16 の auto detect が出来ないだけ、と
中川さん> Mule-UCS-0.84/lisp/READMEにあるようなので、多分問題ないのだ
中川さん> と思いますが。
山岡さん> ううむ、README に書いてある以上のことは知りませんし、コトあるご
山岡さん> とに Emacs を再 build しているのでなおさらわかりません。^^;;
山岡さん> ですが、こと charset の枠の取り合い問題に関しては関係ないような
山岡さん> 気はします。
Solaris 2.4上の
emacs-version => "20.7.1"
mule-version => "4.0 (花宴)"
emcws-version => "20000614"
で、
(require 'un-define)
(require 'un-tools)
(set-language-environment "Japanese")
(set-default-coding-systems 'euc-japan)
とすると、coding-system の priority が
Priority order for recognizing coding systems when reading files:
1. iso-2022-jp (alias: junet)
2. japanese-iso-8bit (alias: euc-japan-1990 euc-japan euc-jp)
3. japanese-shift-jis (alias: shift_jis sjis)
4. iso-2022-jp-2
5. iso-latin-1 (alias: iso-8859-1 latin-1)
6. iso-2022-7bit
7. iso-2022-8bit-ss2
8. emacs-mule
9. raw-text
10. chinese-big5 (alias: big5 cn-big5)
11. no-conversion (alias: binary)
となります。これは特に問題ないと思うのですが、
(require 'jisx0213) ;; <= これです。
(require 'un-tools)
(set-language-environment "Japanese")
(set-default-coding-systems 'euc-japan)
だと、
1. iso-2022-jp-3-compatible
2. utf-8
3. euc-jisx0213
4. iso-2022-jp-2
5. iso-latin-1 (alias: iso-8859-1 latin-1)
6. iso-2022-7bit
7. iso-2022-8bit-ss2
8. emacs-mule
9. raw-text
10. japanese-shift-jis (alias: shift_jis sjis)
11. chinese-big5 (alias: big5 cn-big5)
12. no-conversion (alias: binary)
となり、そのままだと普通の shift-jis の判定に失敗するようになり
ます。なんで、japanese-shift-jisx0213 が入らないんだろう。しかも、
raw-text の方が上。
## 普段使っていない WS 上の使っていない Emacs なので、全然理由は
## 考えていなかったりする ^^;;;
ちなみに、Emacs-21 だとこうなります。
Priority order for recognizing coding systems when reading files:
1. utf-16-le
2. utf-16-be
3. utf-8
4. japanese-iso-8bit (alias: euc-japan-1990 euc-japan euc-jp)
5. iso-2022-jp-3-compatible
6. japanese-shift-jisx0213 (alias: shift_jisx0213 shift_jisx0213-unix shift_jisx0213-dos shift_jisx0213-mac)
7. iso-2022-jp-2
8. iso-latin-1 (alias: iso-8859-1 latin-1)
9. iso-2022-7bit
10. iso-2022-8bit-ss2
11. emacs-mule
12. raw-text (alias: mew-cs-text mew-cs-text-lf mew-cs-text-crlf mew-cs-text-cr mew-cs-text-net)
13. chinese-big5 (alias: big5 cn-big5)
14. no-conversion (alias: binary)
とここまで書いたら、岡崎さんのメールが来たので、ぼくもやってみま
した。
上記の Mule-4.0 (jisx0213 あり/なし)で
(let ((string "あかるい"))
(decode-coding-string (encode-coding-string string 'utf-8) 'utf-8))
"あかる"
(let ((string "白井秀行"))
(decode-coding-string (encode-coding-string string 'utf-8) 'utf-8))
"白"
う〜〜〜ん。
(let ((string "あかるい"))
(with-temp-buffer
(set-buffer-multibyte t)
(insert string)
(set-buffer-multibyte nil)
(encode-coding-region (point-min) (point-max) 'utf-8)
(set-buffer-multibyte t)
(decode-coding-region (point-min) (point-max) 'utf-8)
(buffer-string)))
"あかるい"
(let ((string "白井秀行"))
(with-temp-buffer
(set-buffer-multibyte t)
(insert string)
(set-buffer-multibyte nil)
(encode-coding-region (point-min) (point-max) 'utf-8)
(set-buffer-multibyte t)
(decode-coding-region (point-min) (point-max) 'utf-8)
(buffer-string)))
"白井秀行"
--
白井秀行 (mailto:shirai@rdmg.mgcs.mei.co.jp)