このページでは、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と打ちこむと、
その文字が入力されます。