+2005-10-28 Kenichi Handa <handa@m17n.org>
+
+ * zh-tonepy.mim: Remove maps (backspace, return focus-change) and
+ states (check-undo, select). Include zh-util.mim. Add
+ variable (candidates-group-size).
+
+ * ko-romaja.mim (Backspace): Undo only when the current key
+ sequence is not empty. Otherwise unhandle it.
+
2005-10-28 TAKAHASHI Naoto <ntakahas@m17n.org>
* syrc-phonetic.mim, bn-unijoy.mim, dv-phonetic.mim: Change M- to A-.
* ko-romaja.mim: Include all states of cjk-util.
- * zh-py.mim: Remove map (backspace, return focus-change), state
- (check-undo, select). Include zh-util.
+ * zh-py.mim: Remove maps (backspace, return focus-change) and
+ states (check-undo, select). Include zh-util.
* zh-util.mim: New file.
-/* Copyright (C) 2003, 2004
+/* Copyright (C) 2003, 2004, 2005
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H15PRO112
See the end for copying conditions. */
@verbatim
MDB-DIR ::= DEFINITION *
-DEFINITION ::= '(' TAG [ TAG [ TAG [ TAG ] ] ] FILE ')'
+DEFINITION ::= '(' TAG0 [ TAG1 [ TAG2 [ TAG3 ] ] ] FILE ')'
-TAG ::= SYMBOL
+TAGn ::= SYMBOL
FILE ::= MTEXT
@endverbatim
+
+If TAG0 is neither `charset' nor `char-table', and TAGn (n > 0) is a
+symbol `*', FILE can contain a wildcard charater, and all files
+matching FILE accoding to the rules used by the shell are the target
+of database files. In that case, each file must contain a plist
+element providing the actual TAGn values by the form:
+
+@verbatim
+'(' TAG0 TAG1 TAG2 TAG3 ')'
+@endverbatim
+
+For instance, if a database directory contains these files:
+
+@verbatim
+zh-py.mim:
+(input-method zh py)
+...
+
+ko-han2.mim:
+(input-method ko han2)
+...
+@endverbatim
+
+these lines in "mdb.dir":
+
+@verbatim
+(input-method zh py "zh-py.mim")
+(input-method ko han2 "ko-han2.mim")
+@endverbatim
+
+can be shortened to this single line:
+
+@verbatim
+(input-method * "*.mim")
+@endverbatim
+
*/
/*
-Copyright (C) 2003, 2004
+Copyright (C) 2003, 2004, 2005
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H15PRO112
-/* Copyright (C) 2003, 2004
+/* Copyright (C) 2003, 2004, 2005
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H15PRO112
See the end for copying conditions. */
into the form of plist in the driver.
@verbatim
-INPUT-METHOD ::= TITLE MAP-LIST MACRO-LIST ? MODULE-LIST ? STATE-LIST
-
-TITLE ::= '(' 'title' MTEXT ')'
+INPUT-METHOD ::=
+ IM-DECLARATION ? DESCRIPTION ? VARIABLE-LIST ? COMMAND-LIST ?
+ TITLE MAP-LIST MACRO-LIST ? MODULE-LIST ? STATE-LIST
+
+IM-DECLARATION ::= '(' 'input-method' LANGUAGE NAME ')'
+DESCRIPTION ::= '(' 'description' MTEXT ')'
+VARIABLE-LIST ::= '(' 'variable' VARIABLE-DECLARATION * ')'
+COMMAND-LIST ::= '(' 'command' COMMAND-DECLARATION * ')'
+TITLE ::= '(' 'title' TITLE-TEXT ')'
+
+VARIABLE-DECLARATION ::=
+ '(' VAR-NAME [ VAR-DESCRIPTION | nil ] VALUE VALUE-CANDIDATE * ')'
+
+COMMAND-DECLARATION ::=
+ '(' CMD-NAME [ CMD-DESCRIPTION | nil ] KEYSEQ * ')'
+
+LANGUAGE ::= SYMBOL
+NAME ::= SYMBOL
+IM-DESCRIPTION ::= MTEXT
+VAR-NAME ::= SYMBOL
+VAR-DESCRIPTION ::= MTEXT
+VALUE ::= MTEXT | SYMBOL | INTEGER
+VALUE-CANDIDATE ::= VALUE | '(' RANGE-FROM RANGE-TO ')'
+RANGE-FROM ::= INTEGER
+RANGE-TO ::= INTEGER
+CMD-NAME ::= SYMBOL
+CMD-DESCRIPTION ::= MTEXT
+TITLE-TEXT ::= MTEXT
@endverbatim
-@c MTEXT is a text displayed on the screen when this input method is
-active.
+@c IM-DECLARATION
+
+...to be filled...
+
+@c DESCRIPTION
+
+...to be filled...
+
+@c VARIABLE-DECLARATION
+
+...to be filled...
+
+@c COMMAND-DECLARATION
+
+...to be filled...
+
+@c TITLE-TEXT is a text displayed on the screen when this input method
+is active.
@verbatim
MAP-LIST ::= '(' 'map' MAP * ')'
@verbatim
MAP-ACTION ::= ACTION
-ACTION ::= INSERT | DELETE | SELECT | MOVE | MARK |
+ACTION ::= INSERT | DELETE | SELECT | MOVE | MARK
| SHOW | HIDE | PUSHBACK | UNDO | SHIFT | CALL
| SET | IF | '(' MACRO-NAME ')'
PREDEFINED-SYMBOL ::=
- '@0' | '@1' | '@2' | '@3' | '@4' |
- '@5' | '@6' | '@7' | '@8' | '@9' |
- '@<' | '@=' | '@>' | '@-' | '@+' | '@[' | '@]'
+ '@0' | '@1' | '@2' | '@3' | '@4'
+ | '@5' | '@6' | '@7' | '@8' | '@9'
+ | '@<' | '@=' | '@>' | '@-' | '@+' | '@[' | '@]'
+ | '@@
@endverbatim
@verbatim
MACRO-LIST ::= '(' 'macro' MACRO * ')'
candidate index as the current one.
</ul>
+And, this also has a special meaning.
+
+<ul>
+<li> @c @@@
+
+Number of handled keys at that moment.
+
+</ulL
+
The arguments and the behavior of each action are listed below.
@verbatim
The second form pushes back keys in KEYSEQ to the event queue.
@verbatim
-UNDO :: = '(undo)'
+UNDO :: = '(' 'undo' [ INTEGER | SYMBOL ] ')'
@endverbatim
-This action cancels the last key event.
+If there's no argument, this action cancels the last two key events
+(i.e. the one that invoked this command, and the previous one).
+
+If there's an integer argument NUM, it must be positive or negative
+(not zero). If positive, the NUMth event to the last one are
+cancelled. If negative the last (- NUM) events are cancelled.
+
+If there's a symbol argument, it must be resolved to an integer number
+and the number is treated as the actual argument as above.
@verbatim
SHIFT :: = '(' 'shift' STATE-NAME ')'
*/
/*
-Copyright (C) 2003, 2004
+Copyright (C) 2003, 2004, 2005
National Institute of Advanced Industrial Science and Technology (AIST)
Registration Number H15PRO112