Next: , Previous: , Up: Non-ASCII Characters   [Contents][Index]


33.11 入力メソッド

入力メソッド(input methods)はキーボードから非ASCII文字を簡単に入力する手段を提供します。プログラムが読み取ることを意図して非ASCII文字とエンコーディングを相互に変換するコーディングシステムとは異なり、入力メソッドはヒューマンフレンドリーなコマンドを提供します(テキストを入力するためにユーザーが入力メソッドを使う方法についてはInput Methods in The GNU Emacs Manualを参照)。入力メソッドの定義方法はまだこのマニュアルにはありませんが、ここではそれらの使い方について説明します。

現在のところ入力メソッドは文字列で名前をもっていますが、将来的には入力メソッド名としてシンボルも利用可能になるかもしれません。

Variable: current-input-method

この変数はカレントバッファーで現在アクティブな、入力メソッドの名前を保持する(方法に関わらずセット時には各バッファーで自動的にローカルになる)。バッファーで現在アクティブな入力メソッドがなければ値はnil

User Option: default-input-method

この変数は入力メソッドを選択するコマンドにたいしてデフォルトの入力メソッドを保持する。current-input-methodと異なり、この変数は通常はグローバルである。

Command: set-input-method input-method

このコマンドはカレントバッファーで入力メソッドinput-methodをアクティブにする。同様にdefault-input-methodinput-methodのセットも行う。input-methodnilなら、このコマンドはカレントバッファーで入力メソッドを非アクティブにする。

Function: read-input-method-name prompt &optional default inhibit-null

この関数はプロンプトpromptとともにミニバッファーで入力メソッドの名前を読み取る。defaultが非nilの場合には、ユーザーの入力が空ならそれがデフォルトとしてリターンされる。しかしinhibit-nullが非nilなら空の入力はエラーをシグナルする。

リターン値は文字列。

Variable: input-method-alist

この変数はサポートされているすべての入力メソッドを定義する。各要素は1つの入力メソッドを定義して、それぞれ以下の形式をもつ:

(input-method language-env activate-func
 title description args...)

ここでinput-methodはメソッド名の文字列、language-envはこの入力メソッドが推奨される言語環境の名前の文字列(これはドキュメントとしての目的のみの役割を果たす)。

activate-funcはこのメソッドをアクティブにするために呼び出す関数、もしあればargsactivate-funcに渡す引数。つまりactivate-funcの引数はinput-methodargs

titleは、その入力メソッドがアクティブな間にモードライン内に表示するための文字列、descriptionはそのメソッドを説明して、それが何に適するかを説明する文字列。

入力メソッドのための基本的インターフェースは変数input-method-functionです。Reading One EventInvoking the Input Methodを参照してください。