(INPUT_METHOD): Add zh-cangjie.mim, zh-quick.mim,
[m17n/m17n-db.git] / hi-typewriter.mim
1 ;; hi-typewriter.mim -- Devanagari input method with typewriter method
2 ;; Copyright (C) 2005
3 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
4 ;;   Registration Number H15PRO112
5
6 ;; This file is part of the m17n database; a sub-part of the m17n
7 ;; library.
8
9 ;; The m17n library is free software; you can redistribute it and/or
10 ;; modify it under the terms of the GNU Lesser General Public License
11 ;; as published by the Free Software Foundation; either version 2.1 of
12 ;; the License, or (at your option) any later version.
13
14 ;; The m17n library is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 ;; Lesser General Public License for more details.
18
19 ;; You should have received a copy of the GNU Lesser General Public
20 ;; License along with the m17n library; if not, write to the Free
21 ;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
22 ;; 02111-1307, USA.
23
24 (input-method hi typewriter)
25
26 (description "Hindi input method with `typewriter' method.
27 ")
28
29 (title "क")
30
31 (map
32  (consonant
33   ("!" ?ऍ)
34   ("+" ?ऋ)
35   ("Q" ?औ)
36   ("W" ?ऐ)
37   ("E" ?आ)
38   ("R" ?ई)
39   ("T" ?ऊ)
40   ("Y" ?भ)
41   ("y" ?ब)
42   ("U" ?ङ)
43   ("u" ?ह)
44   ("I" ?घ)
45   ("i" ?ग)
46   ("O" ?ध)
47   ("o" ?द)
48   ("P" ?झ)
49   ("p" ?ज)
50   ("{" ?ढ)
51   ("[" ?ड)
52   ("}" ?ञ)
53   ("A" ?ओ)
54   ("S" ?ए)
55   ("D" ?अ)
56   ("F" ?इ)
57   ("G" ?उ)
58   ("H" ?फ)
59   ("h" ?प)
60   ("J" ?ऱ)
61   ("j" ?र)
62   ("K" ?ख)
63   ("k" ?क)
64   ("L" ?थ)
65   ("l" ?त)
66   (":" ?छ)
67   (";" ?च)
68   ("\"" ?ठ)
69   ("'" ?ट)
70   ("|" ?ऑ)
71   ("~" ?ऒ)
72   ("Z" ?ऎ)
73   ("C" ?ण)
74   ("c" ?म)
75   ("V" ?ऩ)
76   ("v" ?न)
77   ("B" ?ऴ)
78   ("b" ?व)
79   ("N" ?ळ)
80   ("n" ?ल)
81   ("M" ?श)
82   ("m" ?स)
83   ("<" ?ष)
84   ("/" ?य))
85  (halant
86   ("d" ?्))
87  (vowel-I
88   ("f" ?ि))
89  (else
90   ("1" ?१)
91   ("@" ?ॅ)
92   ("2" ?२)
93   ("#" ?#)
94   ("3" ?३)
95   ("$" ?$)
96   ("4" ?४)
97   ("5" ?५)
98   ("6" ?६)
99   ("7" ?७)
100   ("8" ?८)
101   ("(" ?\()
102   ("9" ?९)
103   (")" ?\))
104   ("0" ?०)
105   ("_" ?ः)
106   ("-" ?-)
107   ("=" ?ृ)
108   ("q" ?ौ)
109   ("w" ?ै)
110   ("e" ?ा)
111   ("r" ?ी)
112   ("t" ?ू)
113   ("]" ?़)
114   ("a" ?ो)
115   ("s" ?े)
116   ("g" ?ु)
117   ("\\" ?ॉ)
118   ("`" ?ॊ)
119   ("z" ?ॆ)
120   ("X" ?ँ)
121   ("x" ?ं)
122   ("," ?,)
123   (">" ?।)
124   ("." ?.)
125   ("?" ?य़)))
126
127 (state
128  (init
129   (consonant)
130   (halant)
131   (else)
132   (vowel-I (shift after-vowel-I)))
133
134  (after-vowel-I
135   (consonant
136    ;; The current preedit is "IC".  Reorder it to "CI".
137    (move @<) (delete @+) (move @>) (insert "ि")
138    ;; Keep on reading the following [HC]* sequence.
139    (shift after-consonant))
140   (vowel-I
141    ;; Delete the lastly inserted I and rehandle it in `init' state.
142    (delete @-) (pushback 1) (shift init))
143   (nil (shift init)))
144
145  (after-consonant
146   (halant
147    ;; The current preedit is "C[HC]*IH".  Reorder it to "C[HC]*HI".
148    (move @-) (delete @-) (move @>) (insert "ि")
149    ;; Keep on reading the following C[HC]* sequence.
150    (shift after-consonant-halant)))
151
152  (after-consonant-halant
153   (consonant
154    ;; The current preedit is "C[HC]*HIC".  Reorder it to "C[HC]+I".
155    (move @-) (delete @-) (move @>) (insert "ि")
156    ;; Keep on reading the following [HC]* sequence.
157    (shift after-consonant))))
158
159