辞書引く日々

辞書が好きなのだ。辞書を引くのだ。

Vine3.2 の Emacs で utf-8 をつかう (めも)

2006年02月09日 | 自分用メモ
総じて 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 の上に書いておくと、ユニコードのテキストを読み込んだときなど、ひらがなまで中国製ので表示される)
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Emacs 専用機ごっこ | トップ | Iriver T10 を Vine Linux 3.... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

自分用メモ」カテゴリの最新記事