*** empty log message ***
authorhanda <handa>
Fri, 28 Oct 2005 12:08:28 +0000 (12:08 +0000)
committerhanda <handa>
Fri, 28 Oct 2005 12:08:28 +0000 (12:08 +0000)
ChangeLog
FORMATS/Dir.txt
FORMATS/IM.txt

index 1a1eb76..fc1cfeb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+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-.
@@ -9,8 +18,8 @@
 
        * 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.
 
index 08e5f87..2c5ff48 100644 (file)
@@ -1,4 +1,4 @@
-/* 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.  */
@@ -16,16 +16,52 @@ initialization time.  The plist format of this file is as follows:
 @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
 
index 08100aa..df5342d 100644 (file)
@@ -1,4 +1,4 @@
-/* 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.  */
@@ -23,13 +23,54 @@ a definition from a file, a stream, etc.  A definitions is converted
 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 * ')'
@@ -61,14 +102,15 @@ code.
 @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 * ')'
@@ -190,6 +232,15 @@ The candidate in the previous and the next candidate group having the same
 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
@@ -297,10 +348,18 @@ events if @c INTEGER is zero.
 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 ')'
@@ -551,7 +610,7 @@ as Backspace.
 */
 
 /* 
-Copyright (C) 2003, 2004
+Copyright (C) 2003, 2004, 2005
   National Institute of Advanced Industrial Science and Technology (AIST)
   Registration Number H15PRO112