入力方式(input method)は、 キーボードから非ASCII文字を入力する簡便な方法を提供します。 プログラムが読み取るための非ASCII文字の符号変換を行う コーディングシステムと異なり、 入力方式は人間向けのコマンドを提供します。 (テキストを入力するための入力方式の使い方については、 see 入力方式。) 入力方式の定義方法については本書ではまだ明文化してありませんが、 ここではそれらの使い方について述べます。
各入力方式には名前があります。 それは現在のところ文字列ですが、 将来は入力方式名としてシンボルも使えるようになります。
この変数は、カレントバッファで現在活性な入力方式の名前を保持する。 (この変数に設定すると自動的にバッファローカルになる。)
nil
であると、バッファでは入力方式が活性ではない。
この変数は、入力方式を選ぶコマンド向けのデフォルトの入力方式を保持する。
current-input-method
と異なり、この変数は通常はグローバルである。
この関数は、カレントバッファにおいて 入力方式input-methodを活性にする。
default-input-method
にもinput-methodを設定する。 input-methodがnil
であると、 この関数はカレントバッファの入力方式を不活性にする。
この関数は、プロンプトpromptを用いてミニバッファで入力方式名を読む。 defaultが
nil
以外であると、 ユーザーが空の入力をするとデフォルトでこれを返す。 しかし、inhibit-nullがnil
以外であると、 空の入力はエラーを通知する。戻り値は文字列である。
この変数は、使用可能なすべての入力方式を定義する。 各要素は1つの入力方式を定義し、つぎの形であること。
(input-method language-env activate-func title description args...)ここで、input-methodは入力方式名であり文字列である。 language-envも別の文字列であり当該入力方式を 推奨する言語環境の名前である。 (これは説明文目的のためだけである。)
titleは、この入力方式が活性である場合に モード行に表示される文字列である。 descriptionはこの入力方式と何向きであるかを 説明する文字列である。
activate-funcは、この入力方式を活性にするために呼び出す関数である。 argsがあればactivate-funcへの引数として渡される。 つまり、activate-funcの引数はinput-methodとargsである。
入力方式に対する基本的なインターフェイスは
変数input-method-function
を介して行います。
See Reading One Event。