このドキュメントは、へなちょこシリーズSIMEC(Simple IME Control) の説明書です。SIMECの実態は、IMEの辞書ユーティリティです。
Copyright 2003 by Tadamegu Furukawa
「へなちょこシリーズ:SIMEC」のSIMECはSimple IME Controlの略 です。名前からすると、`IMEの制御'ですが、実態は、IMEの辞書ユーティリティ です。Emacs で文書を書いていると、IMEで変換出来ない単語は、辞書登録を行 うのですが、IMEの辞書ユーティリティを起動するのが面倒でこのようなツール を作成してしまいました。因みに何ゆえ「へなちょこシリーズ」かというと、私 が、たまにしか、elispを書かないので、何時までたっても、へなちょこなelisp しか書けない為です。
Mule for Windowsの時は、win32-ime-register-word-dialogでIMEの単語 登録のダイアログが表示できたのですが、Meadow以降は出来ないようです(多分: 私が知らないだけじゃないですよね?)
SIMECはその特性上、Windows上のEmacsでのみ動作します。正確には、elisp自体 はEmacs20以上で動作すると思うのですが、IMEを操作する外部コマンドを使用し ていますので、結果的にWindows以外では使用出来ない事になります。また、IME (Input Method Editor)のAPIの多くが Windows NT version 4.0 以上 (Windows NT 3.1で使用可能なものもありますが)及び、Windows 95 以上でな いと使用出来ませんので、結果的には、
となります。実際に当方で、動作確認を行っているのは、Windows 2000/Xpのみ です。他のOSでも多分、大丈夫だと思います。また、実際に動作確認を行った Emacsは以下のVersionのみです。
SIMECはEmacsから、少しだけIMEの制御を行う事ができます。実際は、辞書のメ ンテナンスを行う為のユーティリティなので、以下に示す事を行う事が出来ます。
SIMECは、外部コマンドとして、imec.exe
を使用しますので、先ずはこれ
をインストールする必要があります。どこにインストールしても構わないのです
が、ここでは、以下のディレクトリにインストールしたものとして説明を行いま
す。これ以外のディレクトリにインストールした場合は適宜読み替えて下さい。
以下は私のMeadow配下のディレクトリ構成です(デフォルトでは
site-bin
とかsite-info
といったディレクトリは存在しません)。
尚、imec.exe
の使用方法については、本ドキュメントでは解説しません
ので、添付のマニュアルreadme.txt
を参照して下さい。
Meadow ├─1.99a5 │ ├─bin ← ここがexec-directory │ ├─data │ ├─etc │ ├─info │ ├─leim │ ├─lisp │ ├─lock │ └─site-lisp ├─site-bin ←ここにインストールした例 ├─site-info └─site-lisp
SIMECにimec.exe
の場所を通知する必要がありますので、
~/.emacs
等の何処かに
(setq simec-command (expand-file-name (concat exec-directory "../../site-bin/imec.exe")))
と記述します。この例はあくまで、上記のディレクトリにimec.exe
をイ
ンストールした場合です。他のディレクトリにインストールした場合は適宜書き
換えが必要です。また、imec.exe
が環境変数PATH
で指定したディ
レクトリに含まれている場合は、上記の設定は必要ありません。
imec.exe
のインストールが終了したら、SIMECの本体である
simec.el
のインストールを行います。インストールは、simec.el
を環境変数EMACSLOADPATH
に含まれるディレクトリにコピーするだけです。
上記のディレクトリ構成の例ですと Meadow/site-lisp
にコピーすると
良いでしょう。必ずしも、このディレクトリにインストールする必要はありませ
んが、他のディレクトリにインストールした場合は、後に説明する
~/.emacs
の設定を読み替えて下さい。
また、必要に応じてバイトコンパイル(byte-compile-file)して下さい。 因みに私は、バイトコンパイルは行っていません。
インストールが終了したら、~/.emacs
等の何処かに
(autoload 'simec "simec" "Simple IME Control." t) (autoload 'simec-register-word "simec" "IME: Register word" t) (autoload 'simec-register-word-region "simec" "IME: Register word" t) (autoload 'simec-register-word-buffer "simec" "IME: Register word" t) (autoload 'simec-register-word-file "simec" "IME: Register word" t) (autoload 'simec-unregister-word "simec" "IME: Unregister word" t) (autoload 'simec-unregister-word-region "simec" "IME: Unregister word" t) (autoload 'simec-unregister-word-buffer "simec" "IME: Unregister word" t) (autoload 'simec-unregister-word-file "simec" "IME: Unregister word" t)
と記述します。インストール先が、環境変数EMACSLOADPATH
に含まれてい
ない場合は、autoloadの二番目の引数"simec"
は書き換えが必要に
なります。
また、上記の記述は、SIMECを使用しない場合は、simec.el
をロードしな
いように(極僅かですが、メモリ消費量を抑える為)考慮しているのですが、特に
気にしない場合は、
(load "simec")
でもかまいません。また、単語登録を頻繁に行う場合は、グローバルキーに simec-register-wordを割り当てておくと便利です。例えば、C-c r で単語登録を行えるようにする場合は、以下のように設定します。
(global-set-key "\C-cr" 'simec-register-word)
これが読めているという事は、infoのインストールが終わっているという事のよ うな気がするのですが・・・
simec.info
ファイルをINFOPATH
に設定されているディレクトリに
コピーしてください。
dir
ファイルに以下の記述を追加してください。
* simec: (simec). Simple IME Control
また、install-info
でインストールする事も可能です。以下の例は、カ
レントディレクトリがINFOPATH
に設定されているディレクトリの場合の
例です。
install-info ./simec.info ./dir
この章ではIMEの辞書に登録している単語の一覧表示を行う方法と、一覧表示の バッファで行う操作方法について説明します。正しくインストールされているの であれば、
M-x simec
と入力する事により、SMICが起動します。ミニバッファに
を入力するように促しますので、一覧抽出したい「よみ」、「単語」、「品詞」 を入力してください。「品詞」は入力補完が出来るようになっています。全ての 単語を一覧表示する場合は、全ての問い合わせに対してリターンを押下してくだ さい。
上記のような一覧が新しいバッファに表示されます。このバッファでは、カーソ ルの移動を以下のキーで行います。
カーソルの移動以外のキー操作は以下の通りです。
[D]
)が付いている場合は、削除
マークを外します。削除マークをつけるだけで、削除は行いません。
新規に単語登録を行う場合は、カレントバッファが一覧(*simec*
)であ
れば、
r
を押下する事により、単語を新規に登録する事ができます。ミニバッファから、 「よみ」、「単語」、「品詞」を入力します。他のバッファで単語を新規登録す る場合は、
M-x simec-register-word-buffer
と入力する事により、同様の操作で単語の新規登録を行います。このコマンドを 頻繁に使用する方は、グローバルキーに割り当てておくと便利です (Install-simec)。
単語登録の為に用意している関数を以下に列挙します。特に明記していない限 り、キーバインドは行っていませんので、使用する場合はM-xに続けて 関数名を入力して下さい。
simec-register-word | Function |
単語を新規登録します。カレントバッファが一覧(*simec* )であれば、
rキーを押下する事によって、同様の事を行います。ミニバッファから、
「よみ」、「単語」、「品詞」を入力し、単語登録を行います。
|
simec-register-word-file | Function |
テキストファイル(Spec-Text)の内容で単語を一括登録します。登録結果
を、*simec-result* バッファに表示します。以下に例を示します。
|
simec-register-word-buffer | Function |
カレントバッファの内容で単語を一括登録します。バッファの内容は、SIMEC で扱えるテキストファイル(Spec-Text)と同様の形式である必要がありま す。他の動作は、simec-register-word-fileと同様です。 |
simec-register-word-region | Function |
カレントバッファのリージョンの内容で単語を一括登録します。他の動作は、 simec-register-word-fileと同様です。 |
simec-update-word | Function |
一覧バッファ(*simec* )のカーソル行の単語の登録内容を更新します。
一覧バッファでRキーを押下すると呼び出します。このコマンドは、一
覧バッファ以外では使用できません。
|
単語の削除は、一覧バッファ(*simec*
)での操作の方が簡単です。一覧
バッファで、
D
キーを押下する事で、カーソル行の単語を辞書から削除します。また、
d
キーで、削除マークを付けておいて、xキーで纏めて削除する事ができ ます。Viewingにも記述しています。
単語削除の為に用意している関数を以下に列挙します。特に明記していない限 り限り、キーバインドは行っていませんので、使用する場合はM-xに続 けて関数名を入力して下さい。
simec-unregister-word | Function |
ミニバッファから「よみ」、「単語」、「品詞」の入力を要求し、条件が一致 した場合、単語を削除します。 |
simec-unregister-current-word | Function |
一覧バッファ(*simec* )のカーソル行の単語を削除します。一覧バッファ
であれば、Dキーにバインドされます。この関数はカレントバッファが
一覧バッファ以外では使用出来ません。
|
simec-unregister-word-file | Function |
テキストファイルの内容で単語を一括削除します。他の動作は、単語登録を行 うsimec-register-word-fileと同様です(Register-word)。 |
simec-unregister-word-buffer | Function |
カレントバッファの内容で単語を一括登録します。他の動作は、単語登録を行 うsimec-register-word-bufferと同様です(Register-word)。 |
simec-unregister-word-region | Function |
カレントバッファのリージョンの内容で単語を一括登録します。他の動作は、 単語登録を行うsimec-register-word-regionと同様です (Register-word)。 |
単語登録、単語の削除以外のコマンドについて記述します。
simec-version-show | Function |
SIMECのヴァージョンをミニバッファに表示します。 |
simec-id-show | Function |
simec.el のヴァージョンコントロールIDをミニバッファに表示します。
|
SIMECでは、単語の一括登録、一括削除をテキストファイルを使用して行う事が 出来ます。このテキストファイルは、IME形式のテキストファイルと互換性が 多分あります。
よみ、単語、品詞をTABコード(TABコードは必ず一つだけ)で区切って一行に 記述し、それらを複数行記述した形式(一行でも可)です。行の先頭が ! の場 合はコメント行として処理します。また、空行は無視します。以下にファイルの 例を示します。
! Emacs 21.1.1 / Mule 5.0 (賢木) / Meadow-1.99 Alpha5 (TSUCHIKURE) ! $Id: simec.el,v 1.2 2003/05/16 12:47:16 tfuruka1 Exp $ ! $Revision: 1.2 $ ! Format: WORDLIST ! DateTime: Sat May 17 16:58:50 2003 あずかりきん 預り金 名詞 あらいがえ 洗替 名詞 えだばん 枝番 名詞 おうか 押下 名詞 おつなか 乙仲 名詞
simec-hook | Variable |
simecのフックです。一覧表示した後に呼びだれれます。 |
simec-result-hook | Variable |
simec-resultのフックです。単語登録又は削除結
果を表示するバッファ*simec-result* を作成した後に呼び出されます。
|
simec-command | Variable |
IME を制御する外部コマンドimec.exe を指定します。パスが張られていない 場所に imec.exe が存在している場合は, フルパスで指定して下さい。具体的 な設定例については、simecのインストールの節(Install-simec)を参照 して下さい。 |
simec-buffer | Variable |
一覧表示を行うバッファ名です。 |
simec-work-buffer | Variable |
作業用の隠しバッファ名です。 |
simec-result-buffer | Variable |
単語の登録、削除の実行結果を表示するバッファ名です。 |
simec-work-in-buffer | Variable |
作業用の隠しバッファです。標準入力用として使用します。 |
simec-yomi-width | Variable |
一覧表示する時の、「よみ」の最低文字数です。 |
simec-word-width | Variable |
一覧表示する時の、「単語」の最低文字数です。 |
simec-part-of-speech-width | Variable |
一覧表示する時の、「品詞」の最低文字数です。通常、 simec-yomi-width, simec-word-widthと共に設定します。 |
simec-part-of-speech-alist | Variable |
品詞の連想リストです。この変数は、よほどの理由が無い限り(使用する品詞
を絞り込みたい場合等)、
'() 以外を設定しないで下さい。この連想リストが設定されている場合、
|
本ツールは、フリーソフトウエアです。入手したアーカイブのままの形式であ れば、再頒布、転載は可能とします。但し、このソフトウエアを使用した事に よって発生した損害等は、如何なる場合においても、作者には責任は無い事と します。個人の責任において使用して下さい。
質問、苦情、バグ報告、改良案等は、以下のメールアドレスへお願いします。