初版公開日: 2001年11月02日
最終更新日: 2007年02月09日

Emacs20でUnicodeを使おう!

このページでは、GNU Emacs20でUnicodeテキストを扱う方法について述べます。

まず、Emacs20は標準ではUnicodeをサポートしていません。 そこで、Mule-UCSと呼ばれるUnicodeエンコーディングに 対応させるためのパッチを導入する必要があります。

ちなみに、Emacsのバージョンが19.XXベースのMuleの場合は、 ここで述べる方法をとることはできません。 素直に(?)Emacs20にバージョンを上げましょう。

導入の手順

導入に必要なファイル群は以下のURLなどから入手してください。

以下に、導入の手順を示します。

	(ファイルの展開)
% tar zxvf ~/src/emacs-20.7.tar.gz
% tar zxvf ~/src/leim-20.7.tar.gz
% tar zxvf ~/src/Mule-UCS-0.84.tar.gz

	(パッチをあてる)
% cd emacs-20.7
% patch -p1 < ../Mule-UCS-0.84/emacs-20.7-mule-4.1.patch.txt

	(コンパイルとインストール)
% ./configure
% make
% su
Password: ******
# make install

	(Mule-UCSパッケージの導入)
% cd ../Mule-UCS-0.84
% emacs -q --no-site-file -batch -l mucs-comp.el
% su
Password: ******
# mkdir ${prefix}/share/emacs/site-lisp/Mule-UCS
# cp -r lisp/* ${prefix}/share/emacs/site-lisp/Mule-UCS

設定

導入がうまくいったら、次に個人環境の設定をおこないます。 Mule-UCSを利用するには、 以下の設定を~/.emacsに追加するだけでOKです。 (既存のEmacs19用の設定と使い分けるためには~/.emacsをいじらず、 ~/.emacs.elの方にEmacs20用の設定を書くという方法もあります)

(require 'un-define)

また、Xサーバの方にUnicodeが表示できるフォントを用意してあげないと、 □で表示されてしまいます。 これに対処するには、Emacs向けに開発された Unicode対応フォントパッケージintlfontsをインストールする必要があります。

使い方

設定がうまくなされていれば、Emacsから utf-8などUnicodeベースのエンコーディングのファイルを開くと 適切にエンコーディングの解釈がおこなわれて Unicodeテキストの表示や編集ができるようになります。

まず、編集中のバッファの文字コードを変更する方法には、 C-x [RETURN] fと打ちこんで、 バッファの文字エンコーディングを尋ねられたら、 utf-8などと打ち込めばOKです。

また、一般のIMEなどから入力できない文字については、 Unicodeのコード番号から入力することができるようです。 例えば、U+FA19にあたる文字(神: 「神」の旧字体です)を入力する場合、 M-x insert-ucs-character [RETURN]としてから ?xFA19と打ちこむと、 その文字が入力されます。

関連URL


高久雅生 (Masao Takaku)
http://masao.jpn.org/, tmasao@acm.org