Windows Meadow 2.10 多言語環境の設定 since Mar. 18 2005 |
|||||
|
|||||
概要 |
GNU Emacs は Windows においては Meadow という名で多くのユーザがいる.本稿は,Meadow 2.10 で多言語テキストを読み書きするための環境構築についてのメモである.Meadow のインストール,Mule-UCS,Unicode フォント及びインプットメソッドの追加・設定について述べる.私は Windows 2000 で試験しているが,Windows XP でも同じオペレーションでよいはずである. インプットメソッドについては,スラヴ語/古典ギリシア語汎用インプットメソッドを Meadow に導入する方法についても触れる.これは,Unicode フォントを利用して,スラヴ語(ロシア語,ウクライナ語,マケドニア語,教会スラヴ語など Cyrillic 0400-04FF で記述できるキリル言語)及びギリシア語(現代と古典ギリシア語)をそれぞれひとつのインプットメソッドで入力可能とする Leim 用 Emacs Lisp プログラムである. Meadow の開発バージョンである 3.00 については『Meadow 3.00』に多言語環境の構築メモを整理したので,より新しい版に関心のある方はこちらを参照いただきたい. |
|
Meadow 2.10
|
Meadow は現時点(2005.3)ではバージョン 2.10 (ASAGAO) がリリース間際の最新版である.GNU Emacs 21.4 をベースにして開発されたものである. Meadow ダウンロードサイトからインストーラ setup-2.10.7.exe をダウンロードする. インストーラはいくつかの導入形態をサポートしているが,ここではネットワークインストールを行うこととする.「パッケージ保管フォルダ(以下説明では "C:\tmp" とする)」,「Meadow インストール先フォルダ("C:\meadow")」及び「ホームディレクトリ("C:\home")」を決めておく.
|
|
/efont/ フォント |
多言語フォント intlfonts は残念ながら Unicode で定義されている教会スラヴ語などのキリル文字や,古典ギリシア語の複式アクセントを有する文字を含んでいない.Unicode フォントはいくつか公開されているが,ここでは電子書体オープンラボ /efont/ 16ドットフォントを導入・設定する.スラヴ語一般,古典ギリシア語の字母が実用レベルで —/efont/ 文字セットはすべての字母を網羅しているわけではない— 含まれている. efont-unicode-bdf-0.4.2.tar.bz2 をダウンロードして適当なフォルダ(C:\tmp)に展開する.アーカイブの解凍は Lhaplus のような "tar.bz2" をサポートするものが必要である. 展開したら,半角固定ピッチの16ドットフォント h16*.bdf を intlfonts と同じフォルダにコピーする.コマンドプロンプト入力は以下のとおり.
C:\tmp\efont-unicode-bdf-0.4.2> copy h16*.bdf ⇒ Meadow で /efont/ Unicode BDF フォントを利用するための設定を行う.Meadow intlfonts パッケージ添付の auto-autoloads.el を修正する.以下に示すとおり intlfonts-file-16dot-alist に,mule-unicode-0100-24ff エンコーディングとこれに対する Unicode フォントの定義を追加する.ついでに indian-1-column の行のコメントをはずしておく(上記「こんにちは」デモ画面のとおり Hindi が正しく表示されるようになる).
(defvar intlfonts-file-16dot-alist
(append '((ascii
;; normal bold
("lt1-16-etl.bdf" "lt1-16b-etl.bdf"
;; italic bold-italic
"lt1-16i-etl.bdf" "lt1-16bi-etl.bdf"))
(katakana-jisx0201 ("8x16rk.bdf") 1-byte-set-msb);; JISX0201
・・・(略)・・・
(indian-is13194 ("isci16-mule.bdf"));; IS13194-Devanagari
(indian-2-column ("ind16-mule.bdf"));; MuleIndian-2
(indian-1-column ("ind1c16-mule.bdf"));; MuleIndian-1
(lao ("lao16-mule.bdf") 1-byte-set-msb);; MuleLao-1
(tibetan ("tib16-mule.bdf"));; MuleTibetan-0
;;(tibetan-1-column ("tib1c16-mule.bdf"));; MuleTibetan-1
;; add for Unicode
(mule-unicode-0100-24ff
;; normal bold italic bold-italic
("h16.bdf" "h16_b.bdf" "h16_i.bdf" "h16_bi.bdf")
unicode-font-encoder)
)
・・・(略)・・・
))
ホームディレクトリ(C:\home)に Meadow の初期設定ファイルである .emacs を作成する..emacs で様々なカスタマイズが可能であるが,ここでは /efont/ などの BDF フォント,Mule-UCS と日本語環境の設定のために必要最低限の例を示す.
;;;; -*- mode: lisp-interaction; coding: iso-2022-7bit -*-
;;; Mule-UCS の設定
(setq unicode-basic-translation-charset-order-list
'(ascii
latin-iso8859-1 latin-iso8859-2 latin-iso8859-3
latin-iso8859-4 cyrillic-iso8859-5 greek-iso8859-7
hebrew-iso8859-8 latin-iso8859-9
ipa thai-tis620 ethiopic indian-is13194
vietnamese-viscii-lower vietnamese-viscii-upper
mule-unicode-0100-24ff ;;japanese-jisx0208の前
japanese-jisx0208
korean-ksc5601
chinese-cns11643-1 chinese-cns11643-2 chinese-cns11643-3
chinese-cns11643-4 chinese-cns11643-5 chinese-cns11643-6
chinese-cns11643-7
chinese-gb2312
chinese-big5-1 chinese-big5-2
chinese-sisheng
japanese-jisx0212
japanese-jisx0213-1 japanese-jisx0213-2
latin-jisx0201 katakana-jisx0201
))
(require 'un-define)
(setq bitmap-alterable-charset 'tibetan-1-column)
(require 'jisx0213)
;;; 日本語環境設定
(set-language-environment "Japanese")
;;; IMEの設定
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
(setq-default mw32-ime-mode-line-state-indicator "[--]")
(setq mw32-ime-mode-line-state-indicator-list
'("[--]" "[あ]" "[--]"))
(add-hook 'mw32-ime-on-hook
(function (lambda () (set-cursor-height 2))))
(add-hook 'mw32-ime-off-hook
(function (lambda () (set-cursor-height 4))))
;;; BDF フォント設定
(setq bdf-use-intlfonts16 t)
(setq initial-frame-alist '((font . "intlfonts16")))
;;; 初期フレームの設定
(setq default-frame-alist
(append (list '(foreground-color . "black")
'(background-color . "white")
'(background-color . "gray")
'(border-color . "black")
'(mouse-color . "white")
'(cursor-color . "black")
'(width . 80)
'(height . 40)
'(top . 100)
'(left . 100))
default-frame-alist))
;;; end of file
unicode-basic-translation-charset-order-list の指定は必須ではないが,Unicode 文字が JIS フォントで置き換えられてしまわないよう,mule-unicode-0100-24ff を japanese-jisx0208 などのマルチバイト・エンコーディング・文字セットよりも前に記述して,その優先度を高くしていることに注意すべきである.以上で /efont/ を含む多言語テキストを編集する環境構築は完了である.キリル文字,ギリシア文字のサンプルテキストを掲載しておくので,マウス右クリックでダウンロードし,Meadow で確認していただきたい.図3 のようなフォント表示がされればOKである. 図3 サンプル表示画面 |
|
スラヴ語,ギリシア語汎用インプットメソッド |
Meadow 標準の Leim パッケージで提供されるインプットメソッドでは,キリル言語,ギリシア語の入力は,それぞれ ISO 8859-5 及び ISO 8859-7 のコード範囲に限定される.このため Unicode 環境に即した教会スラヴ語,古典ギリシア語の入力を可能とするスラヴ語,ギリシア語汎用インプットメソッドを作成した.これは本来 UNIX Emacs 20/21 向けに書いたものだが,Meadow でも利用可能である. 利用方法等詳細は『Emacs スラヴ語/古典ギリシア語汎用インプットメソッド』を参照いただきたい.ここでは Meadow での導入について簡単に述べる. 次のリンクから slavonic.el と greek-polytonic.el を C:\meadow\leim\quail フォルダにコピーする. 新たに追加した slavonic.el と greek-polytonic.el を Quail インプットメソッド・リストに登録する.このためには,Meadow を起動し,次のコマンドを入力する."M-x" は "Altキー" + "xキー","C-x" は "Ctrlキー" + "xキー", "RET" はリターンキーを示す.
M-x load-library RET インプットメソッドの組込みは完了である.Meadow を再起動して入力できるか試してみる. C-x C-m C-\ slavonic RET でスラヴ語インプットメソッドが起動する.モード行に [--]-СЛ とインディケータが表示される.キリル文字を入力している例を図に示す. C-x C-m C-\ greek-polytonic RET で古典ギリシア語インプットメソッドが起動する.モード行に [--]-ΠΓ とインディケータが表示される. 図4 入力画面例 |