総じて Linux 人は unicode に慎重なり。特に Vine の如きディストリビューションは安定を目指すものにて、なおさらなり。されば、Vine についてくる Emacs 環境が素のままにては utf-8 でコーディングされたるものを読めぬことなど、驚くにあたわず。されど、Windows ユーザには想像もつかぬことなるべし(試みに xyzzy などを見よ)。unicode の良し悪し、X サーバ上のunicode フォントの扱い方など議論あるやうなれど、取り敢えず utf-8 のテキスト書類が読めぬようでは日々の暮らしに支障あることもあるべし。
# apt-get install Mule-UCS
にて必要なるものを取り揃え、
.emacs.el に
(setq load-path (cons "/usr/share/emacs" load-path))
(if (not (string-match "XEmacs" emacs-version))
(progn
(require 'un-define)
))
と書きたればよし。これは、
http://www.linux.or.jp/JF/JFdocs/Unicode-HOWTO.html
に載っていたるものなり。
さっそく使ってみると、ニーハオの「ニー」が豆腐になってしまうではないか。
豆腐を (find-charset-string "□") のように調べてみると、japanese-jisx0212 と出るから、これは「ニー」の字をJIS補助漢字(JIS X 0212)のグリフで表現しようとして失敗したものらしい。化けていない簡体字では chinese-gb2312、日本字は japanese-jisx0208 と出る。
ユニコードでは同一の字なのに、Emacs が利用する各既存コード体系にたぶって入っている字がある。「ニー」の字は、中国簡体字のほか JIS の補助漢字にあり、Emacs が後者のグリフを使おうとして豆腐になったのだ。
とりあえず、どのコードのグリフを優先して使うかということを教えてやる必要がある。.emacs.el に、
(un-define-change-charset-order
'(ascii
japanese-jisx0208
chinese-gb2312
))
と書いておいたら、JIS 補助漢字よりも bg2312 が優先して使われるようになった。
なんだかつぎはぎのカーペット(しかも床をおおっていない部分も多い)みたいで貧乏くさい。しかしまあ、ユーザ指向の私としてはこの問題はこのくらいですませておくのがよさそうだ。
(蛇足。そうそう、chinese-gb2312 は「ひらがな」を持ってらしくて、上記リストの中でこれを japanese-jisx0208 の上に書いておくと、ユニコードのテキストを読み込んだときなど、ひらがなまで中国製ので表示される)
# apt-get install Mule-UCS
にて必要なるものを取り揃え、
.emacs.el に
(setq load-path (cons "/usr/share/emacs" load-path))
(if (not (string-match "XEmacs" emacs-version))
(progn
(require 'un-define)
))
と書きたればよし。これは、
http://www.linux.or.jp/JF/JFdocs/Unicode-HOWTO.html
に載っていたるものなり。
さっそく使ってみると、ニーハオの「ニー」が豆腐になってしまうではないか。
豆腐を (find-charset-string "□") のように調べてみると、japanese-jisx0212 と出るから、これは「ニー」の字をJIS補助漢字(JIS X 0212)のグリフで表現しようとして失敗したものらしい。化けていない簡体字では chinese-gb2312、日本字は japanese-jisx0208 と出る。
ユニコードでは同一の字なのに、Emacs が利用する各既存コード体系にたぶって入っている字がある。「ニー」の字は、中国簡体字のほか JIS の補助漢字にあり、Emacs が後者のグリフを使おうとして豆腐になったのだ。
とりあえず、どのコードのグリフを優先して使うかということを教えてやる必要がある。.emacs.el に、
(un-define-change-charset-order
'(ascii
japanese-jisx0208
chinese-gb2312
))
と書いておいたら、JIS 補助漢字よりも bg2312 が優先して使われるようになった。
なんだかつぎはぎのカーペット(しかも床をおおっていない部分も多い)みたいで貧乏くさい。しかしまあ、ユーザ指向の私としてはこの問題はこのくらいですませておくのがよさそうだ。
(蛇足。そうそう、chinese-gb2312 は「ひらがな」を持ってらしくて、上記リストの中でこれを japanese-jisx0208 の上に書いておくと、ユニコードのテキストを読み込んだときなど、ひらがなまで中国製ので表示される)