Emacs スラヴ語/古典ギリシア語汎用インプットメソッド
since May 1 2004

 

概要

 

GNU Emacs は Leim パッケージによってさまざまな言語の入力をサポートしている.しかし,古代教会スラヴ語ほかキリル諸言語のための汎用インプットメソッドは寡聞にして知らない.また,古典文献学のみならず人文系諸学で頻繁に引用する機会のある古典ギリシア語については,水落健治氏,高橋直人氏らが,日本の高い情報リテラシーの証左ともいえる先駆的な試み CGreek を公開している.とはいえ CGreek はその先駆性ゆえに独自のエンコーディングに基づいており, Web 公開など情報交換を目的とした古典ギリシア語文書作成には向いていない.

Unicode では Cyrillic U+​0400-​04FF において,ロシア語,ウクライナ語,マケドニア語など ISO 8859-5 で記述できる範囲にとどまらず,教会スラヴ語,辺境キリル言語で使われる字母をも定義している.実用において十分と思われる.また Greek Extended U+​1F00-​1FFF において複式アクセントを有する古典ギリシア語のグリフを定義している.

一方, Emacs においては Otfried Cheong 氏により oc-unicode パッケージが, Markus Kuhn 氏により ucsfonts フォントが提供され,これらの文字を表示,編集することが可能となっている. oc-unicode パッケージは,文字入力について Unicode のコードポイントで行うインタフェースを備えているが,インプットメソッドまでは提供していない.

というわけで,Unicode で定義されたすべてのキリル文字,古典ギリシア語の入力をそれぞれ単一メソッドでサポートする Quail インプットメソッドを書いたので公開する. Emacs Leim 環境で動作する.キリル文字は現代ロシア語のみならず革命前の旧正字法文字 (ѣ: ять ヤッチ, ѵ: ижица イージツァ, ѳ: фита フィター, і: и с точкой イー・ス・トーチコイ),教会スラヴ語文字を入力できるようになる.また,Unicode 文字合成機能をサポートした Emacs-23 ならば,母音字母にアクセントを付加できるので,力点付きロシア語入力も可能である.

UNIX 系 Emacs (FreeBSD, Linux, Mac OS X), Windows Meadow で動作する.

インストール

 

本ソフトウェアは本サイトの「ダウンロード・サービス」から最新版が取得できる.

Emacs Unicode 環境をあらかじめ整備しておく必要がある.Emacs 20.7 では,oc-unicode パッケージ または Mule-UCS が選択肢としてある.注意すべきは,oc-unicode は Mule-UCS 0.72 に基づいており,これ以降で拡張された中国語 Big5, ヴェトナム語 Viscii の UCS エンコーディング変換には対応していない点である.Mule-UCS については Emacs の項を参照.

Emacs 21 の場合は Mule-UCS を利用する.Emacs 22 は標準で Unicode をサポートしている.

いずれの Emacs 版においても ucsfonts,電子書体オープンラボによる /efont/ 等,Cyrillic U+​0400-​04FF 及び Greek Extended U+​1F00-​1FFF 文字セットを実装した Unicode フォントを設定しておく.Windows Meadow の場合は Mule-fonts パッケージをインストールしておけばよい.

Emacs Unicode 環境,Unicode フォントの導入については,以下のページに整理しているので参考にしていただきたい.

- FreeBSD: Emacs 21 Unicode 環境
- Windows: Windows Meadow 2.10 多言語環境の設定
- Windows: Windows Meadow 3.00
- Mac OS X: Mac OS X Tiger, X11-Emacs 22.0.50
- Mac OS X: Mac OS X Tiger, Emacs.app 23

  1. パッケージの入手と展開
    % wget -nH -nd http://yasuda.homeip.net/archives/\
    slavonic-greek-im-0902.tar.gz
    % gunzip -c slavonic-greek-im-0902.tar.gz | tar xvf -
    % cd im-0902
    		  
  2. Make によるインストール

    パッケージにはインストール用 Makefile を添付している.以下に示す格納パスなどの変数値を適宜修正する.Emacs 21 のユーザは 2006.12 の時点では EMACSVER を 21.3 とすればよいはずである.また Emacs 22(Emacs-cvs 版)では 22.0.90 などとする.Emacs 20.7 で oc-unicode を利用する場合は,OCUNICODE に 1 を設定する.Mac OS X Emacs.app のユーザには $(LEIMPATH) は /Applications/​Emacs.app/​Contents/​Resources/​leim であり,UNIX 系システムと大きく異なるので注意.

    PREFIX         = /usr/local
    EMACS          = $(PREFIX)/bin/emacs
    OCUNICODE      = 0
    EMACSVER       = 22.0.50
    EMACSPATH      = $(PREFIX)/share/emacs
    LEIMPATH       = $(EMACSPATH)/$(EMACSVER)/leim
    		  

    GNU make でインストールする.スーパーユーザ権限が必要である.

    % su -m
    # gmake im-install
    		  
  3. 手動によるインストール

    Make によらず手動でインストールする場合の手順を以下に示す.

    Elisp を Quail インプットメソッド・ディレクトリに格納する.FreeBSD Emacs 21 では /usr​/local​/share​/emacs​/21.3​/leim/​quail であるが,以下の説明では $QUAIL として表現している.Elisp は oc-unicode 用とそれ以外で異なるので注意.

    oc-unicode の場合
    # cp elisps/slavonic-oc.el $QUAIL/slavonic.el
    # cp elisps/greek-polytonic-oc.el $QUAIL/greek-polytonic.el
    
    その他の場合
    # cp elisps/slavonic.el $QUAIL/slavonic.el
    # cp elisps/greek-polytonic.el $QUAIL/greek-polytonic.el
    	   

    次に,Leim インプットメソッド・リストを更新する.スーパーユーザで Emacs を起動し,以下の Emacs コマンドを実行する. RET はリターンキーを押し下げることを示す.ただし,本パッケージ旧版をすでにインストールしている場合,この更新オペレーションは不要である.

    M-x load-library RET
    quail RET
    M-x quail-update-leim-list-file RET 
    /usr/local/share/emacs/21.3/leim/ RET
    (Leim の格納されているディレクトリを指定する)
    		  
  4. leim-list.el 更新問題について

    本パッケージのインストールで,leim-list.el に登録されるインプットメソッドの数が減少してしまう問題が発生する場合がある.以下にその問題への対処を記す.

    quail-update-leim-list-file は leim-list.el よりも日付の新しいインプットメソッドの Elisp で更新するようである.よって quail ディレクトリにある quail Elisp の日付よりも leim-list.el のタイムスタンプを古いものにセットして再更新すればよい.quail ディレクトリにある Elisp は gzip 圧縮されていると思うので,復元しておく.次の tcsh 手順はその前提である.バックアップを取得したあとで実行する.

    % cd /usr/local/share/emacs/21.3/leim
    % su -m
    # cp -Rp quail quail-bak
    # cp -p leim-list.el leim-list.el.bak
    # cd quail
    # foreach i (*.gz)
    foreach? gunzip $i
    foreach? end
    # cd ..
    # touch -t 200001010000 leim-list.el
    		  

    bash を使っている場合は以下のとおりである.

    $ cd /usr/local/share/emacs/21.3/leim
    $ su -m
    # cp -Rp quail quail-bak
    # cp -p leim-list.el leim-list.el.bak
    # cd quail
    # for i in *.gz
    > do gunzip $i; done
    # cd ..
    # touch -t 200001010000 leim-list.el
    		  

    このあと,上に記載した Leim インプットメソッド・リスト更新を再度行うとよい.

スラヴ語入力

 

C-x C-m C-\ slavonic RET でスラヴ語インプットメソッドが起動する.モード行に [--]-СЛ とインディケータが表示される.

  1. キーボードレイアウト

    Quail cyrillic-yawerty を参考にしている.いわゆるローマントランスクリプション方式によるキリル文字入力である. 101 英語キーボード配列のレイアウトは以下のとおり.

     

  2. 代表的なキリル文字入力

    ロシア語ほかウクライナ語,マケドニア語などで使われる文字である.

    親文字に以下の記号を後置すると,それぞれのアクセント,装飾を有する文字が入力できる.また _, | でストローク付文字が入力できる場合がある.

    ' : acute
    ` : grave
    " : diaresis
    ^ : breve
    - : macron
    , : descender

     

  3. 教会スラヴ語入力

    以下のとおり.ロシア語の旧正書法で用いられる yat, fita, izhitsa なども含んでいる.

     

  4. その他キリル文字入力

    親文字を入力するとミニバッファに後置文字の候補が表示されるので試みていただきたい.

  5. アクセント付加について

    slavonic.el には ́(U+​0301: accent acute) と ̀(U+​0300: accent grave) の二つのラテン文字系アクセント記号の入力が可能である.キリル母音文字に続けて,/' あるいは /` と入力すると,文字合成機能 auto-combining をサポートした Emacs-23 において,例えば а́ (主力点付き а), а̀ (副力点付き а) を表現できる.

    上図下方のキリル文字のうち,教会スラヴ語・古スラヴ語はいわゆる豆腐に化けている.これは Mac OS X Emacs.app (Emacs-23) のフォントを,これらのグリフをもたない Monaco に設定しているためである.Optima フォントにすれば,次のようにきちんと表示できる (Optima フォントは等幅でないのでテキスト編集作業に向かないのが難点であるが).

     

  6. ヘルプ

    slavonic インプットメソッドが起動された状態で M-x quail-help RET とすると本メソッドのヘルプが表示される.添付 sample/​im-help.​txt を参照.

古典ギリシア語
入力

 

C-x C-m C-\ greek-polytonic RET で古典ギリシア語インプットメソッドが起動する.モード行に [--]-ΠΓ とインディケータが表示される.

  1. キーボードレイアウト

    基本字母のレイアウトは Quail greek.el に準拠した.TeX のトランスクリプションに合わせた方が賢明だったかもしれない.

    上記において Q に当てた ;(UCS x"037E")は古典ギリシア語の疑問符であり,セミコロンではない.また W にマッピングされた ·(UCS x"0387")は "ANO TELEIA"(右肩の点,古典ギリシア語のセミコロン)であって,中点ではないので注意.

  2. アクセント付文字

    アクセント,気息記号,下書のイオタの付加された文字は,親文字の後にアポストロフィなどの記号を追記していくことで入力する.

     

  3. 特殊文字

    古典ギリシア語に特徴的な句読点,特殊文字は以下のとおり.

     

  4. その他ギリシア文字入力

    親文字を入力するとミニバッファに後置文字の候補が表示されるので試みていただきたい.

  5. ヘルプ

    greek-polytonic インプットメソッドが起動された状態で M-x quail-help RET とすると本メソッドのヘルプが表示される.添付 sample/im-help.​txt を参照.

おことわり

 

本ソフトウェアはフリーソフトウェアで無償にて利用できる.GNU GPL を適用する.運用結果に関し作者及びその関係者はいかなる責任も負わない.利用者の責任でご活用いただきたい.

本インプットメソッドはベータ版である.キー入力仕様が気に入らない場合,仕掛けは簡単なので,ユーザ自身によるカスタマイズも困難ではないと察する.ご指摘をお待ちする.ご意見,ご質問はメールにてご連絡いただけると幸いである.

更新履歴

 

May 1, 2004 新規作成
May 16, 2004 Emacs 21 対応追加・修正
June 22, 2004 Emacs 20 及び Mule-UCS 利用時付記追加
July 14, 2004 GPL 適用の追記
Mar. 20, 2005 誤記修正
May 5, 2005 Emacs 22 追記・修正
Sept. 11, 2005 誤記修正,Unicode 環境構築リンク追加
June 19, 2006 0606b, im-help 追加
Aug. 25, 2006 0608
Sept. 7, 2006 0609, incremental-search bug fixed.
Dec. 10, 2006 slavonic-greek-im-0612, 記述訂正
Feb. 3, 2009 slavonic-greek-im-0902, slavonic.el 改訂, Emacs.app
Dec. 7, 2009 訂正・追記