<variable-list> はこの入力メソッドで使用される変数を宣言する。
変数をデフォルト値に初期化したり、ユーザがカスタマイズしたりする場合に
-は、ここで宣言されなくてはならない。この宣言は二通りに利用される。一つ
-めは新しい変数を導入するためであり、この場合 <variable> 中の
-<value> エレメントは省略できない。もう一つは "global.mimx" で宣言
-された変数を継承し、違ったデフォルト値を指定したり、この入力メソッド用
-にカスタマイズ可能にしたりするためである。この場合には <value> は
-省略できる。
-
-各 <variable> は一つの変数を宣言し、変数は属性 "id" によって参照
-される。すべての変数は暗黙のうちに整数値0に初期化されている。
+は、ここで宣言されなくてはならない。言い替えれば、デフォルト値が必要で
+あったり、可能な値が限定されていたりしない変数は、どこにでも宣言なく現
+れることができる。
+
+この宣言は二通りに利用される。一つめは新しい変数を導入するためであり、
+この場合 <variable> 中の <value> エレメントは省略できない。
+もう一つは "global.mimx" で宣言された変数を継承し、違ったデフォルト値を
+指定したり、この入力メソッド用にカスタマイズ可能にしたりするためである。
+この場合には <value> は省略できる。
+
+各 <variable> は一つの変数を宣言する。変数は、宣言されていないも
+のも含め属性 "id" によって参照される。すべての変数は暗黙のうちに整数値
+0に初期化されている。
M-text である <value> は、<insert> が参照する。シンボルであ
る <value> は直接参照されず、ライブラリが暗黙的に使用する。
: :
#endif
-<variable-list> declares variables used in this input method.
-<command-list> declares commands used in this input method.
-<module-list> declares external modules used in this input method.
-<macro-list> declares macros used in this input method. <map-list>
-declares maps used in this input method. When an input method is
-never standalone and always included in another method, the element
-<map-list> can be omitted. <state-list> declares states used in this
-input method. When an input system is never standalone and always included in
-another system, the element <state-list> can be omitted.
+<variable-list> declares some of the variables used in this
+input method. <command-list> declares commands used in this
+input method. <module-list> declares external modules used in
+this input method. <macro-list> declares macros used in this
+input method. <map-list> declares maps used in this input
+method. When an input method is never standalone and always included
+in another method, the element <map-list> can be omitted.
+<state-list> declares states used in this input method. When an
+input system is never standalone and always included in another
+system, the element <state-list> can be omitted.
@subsection im-declarations Input Method Declaration
<variable-list> declares variables used in this input method.
-If a variable is initialized to the default value, or is to be
-customized by a user, it must be declared here. The declaration can
-be used in two ways. One is to introduce a new variable. In that
-case, the <value> element in <variable> must not be
-omitted. Another is to inherit the variable from what declared in
-"global.mimx", and to give the different default value and/or to make
-the variable customizable specially for the current input method. In
-the latter case, <value> can be omitted.
-
-Each <variable> declares one variable, and a variable is referred with
-the attribute "id". <value> of a <variable> can be an integer, a
-symbol, or an M-text value. All variables are implicitly initialized
-to the integer value zero.
-
-The M-text (string) <value> can be referred by the <insert> action.
-The symbol <value> can not be referred directly, but is used the
-library implicitly (e.g. candidates-charset). The integer <value> can
-be set, modified and referred by the <set>, <add>, <sub>, <mul>, and
-<div> action. It can be referred by the the <insert>, <select>,
-<undo>, <if>, and <cond> actions.
+If a variable is initialized to the default value, or a common
+variable from "global.mimx" is to be customized by a user, it must be
+declared here. In other words, a variable can appear without this
+declaration unless it has a default value or its possible values are
+limited.
+
+The declaration can be used in two ways. One is to introduce a new
+variable. In that case, the <value> element in <variable>
+must not be omitted. Another is to inherit the variable from what
+declared in "global.mimx", and to give the different default value
+and/or to make the variable customizable specially for the current
+input method. In the latter case, <value> can be omitted.
+
+Each <variable> declares one variable. A variable, declared
+here or not, is referred with the attribute "id". <value> of a
+<variable> can be an integer, a symbol, or an M-text value. All
+variables are implicitly initialized to the integer value zero.
+
+The M-text (string) <value> can be referred by the
+<insert> action. The symbol <value> can not be referred
+directly, but is used the library implicitly
+(e.g. candidates-charset). The integer <value> can be set,
+modified and referred by the <set>, <add>, <sub>,
+<mul>, and <div> action. It can be referred by the the
+<insert>, <select>, <undo>, <if>, and
+<cond> actions.
<variable-value-candidate> lists the possible values of the variable.
<c-value> specifies one of the possible value of the variable. It can
@endverbatim
-The element <conditional> checks the <expr>s in the <case>s one by one,
-and performs <saction>s in the first <case> whose <expr> has a nonzero value.
+The element <conditional> checks the <expr>s in the
+<case>s one by one, and when it finds the first <case>
+whose <expr> has a nonzero value, <saction>s in that
+<case> are performed.
#if EXAMPLE_CODE