MeadowでJIS X 0213を使う

MeadowはWindowsで動くGNU Emacsです。Meadow (というかGNU Emacs)は多言語 対応しており、最近制定されたJIS X 0213にも既に対応しています。

Meadow 1.14のリリースでは、設定ファイルにJIS X 0213の設定のサンプル が付いたり、バイトコンパイル済みのMule-UCSが用意されたりと、これまでよ りも導入の敷居が低くなっています。以下では、1.14にあわせて、JIS X 0213 の導入について説明します。これによって、第3・第4水準漢字や、丸付き数字、 拡張仮名・ラテン文字、各種記号等が使えるようになります。

[MeadowでJIS X 0213を使っている画面例]

以下、ディレクトリの区切りは「/」で表します。

用意するもの

フォントはここでは16ドットのものを例にとりましたが、他のサイズでも もちろん構いません。その場合は後の説明のファイル名等を適宜変更してくだ さい。

手順

Meadowのインストール

Meadowをインストールします。Meadow ^^)v「め どうさん」のインストールの章を参考にしてみてください。

Meadow 1.14には設定ファイル (.emacs) のサンプルが付いています。 dot.emacs.ja という名前になっています。この名前を .emacs に変えて、 自分のホームディレクトリに置きます。(ホームディレクトリは、Meadowの インストールの際に決めたディレクトリです)

Mule-UCSのインストール

Mule-UCSはEmacsの文字コードの扱いを拡張するEmacs-Lispライブラリです。 これをインストールすることでJIS X 0213を扱えるようになります。

Meadowのディレクトリの親ディレクトリで、Mule-UCS-0.84-for-Meadow1.14-1.tar.gz を展開します。つまり、C:/MeadowがMeadowのディレクトリだっ たら、C:/ の位置でtarを展開します。これだけで正しい位置に 配置されるよう、ディレクトリ構成が工夫されています。

展開したら、.emacs で読み込む設定をします。一番先頭の方に、

(require 'jisx0213)
;(require 'un-define)   ; なくてもよい

を追加します。付属のdot.emacs.jaでは、「Mule-UCSの設定」のセクション のコメント(行頭の「;;」)を外せばOKです。

なお、Mule-UCSを自力でアップグレードするなどの際は、Mule-UCSの配布の中に あるドキュメントを読んでバイトコンパイルしてください。JIS X 0213関係は lisp/jisx0213 ディレクトリにあります。

jiskan16-2000、ならびにintlfontsのインストール

次にフォントをインストールします。

ここでは、JIS X 0213のフォントだけでなく、各国の文字を収めたフォント もインストールすることにします。これによって、各国の文字コードで符号化 されたテキストもMeadowで編集できます。

ここでインストールしたディレクトリを .emacs の中のBDFフォントの設定 で指定します。付属のdot.emacs.jaを利用する場合は、「BDFフォント設定」 のセクションで、コメントになっている行を復活させ (行頭の「;」を外す。 「;」から始まる行はコメント)、「c:/MEADOW/intlfonts-1.2」の部分を自分 のintlfontsのディレクトリに書き換えます。

以上で、JIS X 0213の全文字が使えるようになります。.emacsをセーブ して、Meadowを起動します。

もし起動時にエラーが出たら、エラーメッセージを見て直します。 BDFフォントの設定を間違うことが多いと思います。その場合は、.emacsに書いてある ディレクトリ名・ファイル名と、実際にインストールしたディレクトリ・ ファイルをよく確かめてください。

動作確認

Mule-UCSのEmacs-LispファイルにJIS X 0213の文字が使われていますので、 動作確認に使えます。

Meadowを起動して、 C-x C-f c:/Meadow/site-lisp/mule-ucs/lisp/jisx0213/ujisx0213.el と入力すると文字の一覧が出ます。C-vでスクロールしていって、 「チルド」「ます記号」「右向三角」などがちゃんと表示されたら成功です。 お疲れさまでした!

(上で、C-x は Ctrl キーを押しながら x を押す意味です。ス ペースは見やすいよう空けたもので、入力はしません。また、 「c:/Meadow」の部分はMeadowをインストールしたディレクトリで す)

Emacsが初めてという方は

チュートリアルが付属していますので、それを使ってEmacsの操作に慣れて ください。

チュートリアルは、次のいずれかの方法で起動します:

その他のさまざまな機能や操作法については、このページの末尾のリンク が参考になるでしょう。

JIS X 0208のフォントの問題点

JIS X 0213はJIS X 0208を包含するスーパーセットですが、Emacsでは依然 としてJIS X 0208のフォントも使用されます。Emacsの内部では、JIS X 0208 で文字が割り当てられているコードポイントはJIS X 0208の文字 (文字集合 japanese-jisx0208) として扱われるためです。

JIS X 0208の16ドットフォントとしては jiskan16-1990 を推奨します。

他のフォントには問題のあるものがあります。

Windowsに付属のフォント

「機種依存文字」を含んでいるのでおすすめできません。見てわかる 外字だけでなく、「∠」のようにJIS X 0208にある記号でも、空き領域に重複 して存在しているものもあります (この実装はJIS X 0208に全く適合しません)。 IMEのせいで知らないうちに空き領域の方の符号位置を入力しまう可能性があ りますし、そうなってしまっても見た目では判断が付きません。そして、他の 環境では文字化けするのです。(被害者は語る)

intlfonts 1.2のjiskan16

大幅に略字化されてしまっている漢字があります。例えば「濾」や 「齟」がJIS X 0213で追加された略字の形になっています。これはJIS X 0208 に適合しませんし、JIS X 0213の方の字と区別が付かなくなってしまいます。 また、JIS X 0208-1990で追加された2文字が入っていません (83JISのフォント なので正しいといえば正しいのですが…)。

規格上は、JIS X 0208に適合するがJIS X 0213にそのまま持ってくると不 適合となるフォントも存在し得ます。これは包摂規準の変更(「互換包摂」の 廃止、人名許容字体の分離)によるものです。例えば、「福」(42区01点)のへ んを「ネ」でなく「示」の形に作る字体はJIS X 0208には適合しますが、JIS X 0213の1面には適合しません。「示」の方が別の区点位置(89区33点)に追加 されたためです。このような問題の生じるフォントは、あり得はしますが決し て多くはないでしょう。

コーディングシステム

Emacsでは文字コードのことをコーディングシステムと呼びます。

Mule-UCSによってサポートされるJIS X 0213関係のコーディングシステム は以下のとおりです。

上の二つはEUC-JISX0213とShift_JISX0213そのものなので特に問題はあり ませんが、ISO-2022-JP-3系が三つあります。その違いは、JIS X 0213の1面を 指示するエスケープシーケンスの使い方にあります。

iso-2022-jp-3

1面の指示には常にJIS X 0213の指示を使い、JIS X 0208のは使わない。

→JIS X 0213に対応していないソフトウェアでは、ASCII部分以外は全く読 めない。

iso-2022-jp-3-strict

規格に適合する範囲内で、できるだけJIS X 0208の指示を使う。 つまり、JIS X 0208で文字が定義されているコードポイントであって、 包摂規準の変更された区点位置でなければJIS X 0208の指示を使う。

→JIS X 0213に対応していないソフトウェアでもある程度読める。

iso-2022-jp-3-compatible

JIS X 0208で文字が定義されているコードポイントでは常にJIS X 0208 の指示を使う。

→JIS X 0213に対応していないソフトウェアでも相当読めるが、 規格に適合しない。

なお、他のコーディングシステムと同様、改行コードの種類はコーディン グシステム名の末尾に「-dos」「-unix」「-mac」を付けて表します。例えば 「euc-jisx0213-unix」であれば、改行がLFのEUC-JISX0213です。

JIS X 0213の文字の入力方法

SKKでJIS X 0213を使う」を参照してくだ さい。SKKはEmacsの中で閉じているので、Meadowで使うのも簡単です。

ウェブブラウジング

Emacs/w3 を使えば、JIS X 0213を使ったページを表示するのも簡単です。

Meadow用バイトコンパイル済みパッケージが用意されていますので、 Mule-UCS同様、簡単にインストールできます。

.emacsには次のように書いておきます。

(require 'w3-auto)
(setq w3-default-homepage "http://your.home.page/")  ; 起動時に表示するページ

これで、M-x w3 とするとW3が起動します。

せっかちな人のために主な操作を書いておきます。

読み込みが遅くて途中でやめたくなったときは、C-g で止まる 筈です。

天気予報

weather.elを使うと、 メールでときどき見かける、天気予報のヘッダ(X-Weather)をつけることがで きます。JIS X 0213で入った天気の記号を使っています。なにもメールにつけ なくても、M-x weather-from-http などとして、その場で天気を 確かめるのにも使えます。

[weather.elの使用例]

クリップボード

クリップボードを介してShift_JISX0213のデータをやりとりするには、 .emacs に次のように書いておきます。

(set-clipboard-coding-system 'shift_jisx0213-dos)

こうしておくと、Windows 98/Meのメモ帳や秀丸エディタ、あるいはT-Time 2.2以降のように、Shift_JISX0213が扱えるソフトウェアとの間で、コピー・ ペーストができます。

Unicodeサポート

上述のMule-UCSの設定をし、.emacsで「(require 'un-define)」 を復活させると、Unicode (UTF-16)やその変形のUTF-7, UTF-8 も扱えるようになります。ただし、インストールしてあるフォントの範 囲でしか表示できません。実際にどの文字が使えるかはフォント次第というこ とになります (これはMeadowやフォントの問題というよりは、任意のサブセット を許しているUnicodeの仕様の特徴です)。

Unicode系のコーディングシステムでも改行コードは「-dos」などから選べ るのですが、utf-16-{be|le} ではUnicodeの「line separator」を使うようで す。Mule-UCS付属のREADME.Unicodeに説明があります。

なお、Mule-UCSの「UCS」は、ISO/IEC10646の「UCS」ではないそうです。

参考


2001/05/20
yano@moon.email.ne.jp