From: nisikimi Date: Thu, 9 Apr 2009 05:23:13 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: XML-BEFORE-XEX~22 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cb4ecc1c9404989fc263201537bf9e3a8f6b48b;p=m17n%2Fm17n-db.git *** empty log message *** --- diff --git a/FORMATS/IM.ja.txt b/FORMATS/IM.ja.txt index c38f864..25bb23f 100644 --- a/FORMATS/IM.ja.txt +++ b/FORMATS/IM.ja.txt @@ -755,7 +755,9 @@ KP_0 としてあらわされる。シフト、コントロール、メタ、ア エレメント <pop> はまだ処理されていない最初のイベントをイベント キューから取り出し破棄する。 -エレメント <commit> は現在の preediting テキストをコミットする。 +エレメント <commit> は現在の preediting テキストを明示的にコミッ +トする。現在の preediting テキストは、入力メソッドドライバが最初の +<state>に遷移するたびにも、コミットされる。(@ref imstate 参照。) エレメント <unhandle> は現在の preediting テキストをコミットし、 最新のキーを未処理として返す。 @@ -1324,22 +1326,29 @@ predefined-selector であり、候補リスト中の新しい候補を指定す 入力メソッドドライバは常に一つの <state> にあり、入力を処理するこ とによって別の <state> に遷移することがある。異なる <state> では、同じ入力でも異なる<saction> を引き起こし、異 -なる結果を得ることがある。入力コンテクストが生成される、すなわち入力メ -ソッドが起動された時点では入力メソッドドライバは<state-list> エレ -メント中の最初の <state> にある。 +なる結果を得ることがある。 属性 "id" が <state> の名前を示す。<state-title-text> エレ メントの内容は、入力メソッドがこの状態にある時スクリーン上に表示される テキストである。省略されている場合には <title> エレメントの内容が 用いられる。 +入力コンテクストが生成された、すなわち入力メソッドが起動された時点では +入力メソッドドライバは<state-list> エレメント中の最初の +<state> にある。 + 各 <state> は0以上の <branch>を持つ。各<branch> は <map-list> 中の各 <map> に対応する。 属性 "branch-selecting-map" の値が<map> の属性 "id" の値を示す。入力シー クエンスがある<map> 中の <rule> の <keyseq> (or -<command-reference>) 部分に合致すると、対応する <branch> が -選ばれ、その <rule> の <action> に続いてその -<branch> の<saction> が実行される。 +<command-reference>) 部分に合致すると、対応する <branch> を +選択し、その <rule> の <action> に続いてその +<branch> の<saction> を実行し、入力メソッドドライバはその +<state> の初期状態に戻る。 + +入力メソッドドライバが最初の <state> の初期状態になる度に、 +preeditバッファ中の全ての文字をコミットし、preeditバッファを空にする。 +(<commit> エレメントが指定されていなくても。) <state-hook> エレメント (省略可能) は、入力メソッドドライバがこの <state> に遷移した時点で実行される<sactions> を指定する。 diff --git a/FORMATS/IM.txt b/FORMATS/IM.txt index 46ffcdc..744ad78 100644 --- a/FORMATS/IM.txt +++ b/FORMATS/IM.txt @@ -778,7 +778,9 @@ hide the currently displayed candidate list. The element <pop> pops the first key event that is not yet handled from the event queue. -The element <commit> commits the current preedit. +The element <commit> explicitly commits the current preedit. +The current preedit is also committed whenever the input method driver +transits to the intial <state>. (See @ref imstate.) The element <unhandle> commits the current preedit and returns the last key as unhandled. @@ -1363,23 +1365,30 @@ The input method driver is always in one of the <state>s of an <input-method> and may transit to another <state> when processing an input. The same input sequence can trigger different <saction>s and produce different results in different -<state>s. When an input context is created, i.e. the input -method is invoked, the input method driver is in the first -<state> of the <state-list>. +<state>s. The attribute "id" gives the name of a <state>. The element <state-title-text> specifies a title text displayed on the screen when the input method is in this state. When this element is omitted, the content of the <title> element is used instead. +When an input context is created, i.e. the input method is invoked, +the input method driver is in the first <state> of the +<state-list>. + Each <state> has zero or more <branch>es. Each <branch> corresponds to a <map> in a <map-list>. The value of the attribute "branch-selecting-map" specifies a <map>'s "id" value. When the input sequence matches one of the <keyseq> (or <command-reference>) of a <rule> of the <map>, the corresponding <branch> is selected, -<action>s in the <rule> are executed, and <saction>s -in that <branch> are executed. +<action>s in the <rule> are executed, <saction>s in +that <branch> are executed, and the input method driver shifts +to the initial condition of the current state. + +Whenever the input method driver shifts to the initial condition of +the first <state>, it commits all characters in the preedit +buffer and clears the preedit buffer, without explicit <commit>. Optional element <state-hook> specifies <sactions> executed when the input method driver is shifted to the current