Merge consonants, vowels and remainder maps into one as suggested by Takahashi.
[m17n/m17n-contrib.git] / im / ml-mozhi.mim
1 ;; ml-mozhi.mim -- Malayalam input method with ITRANS method
2 ;; Copyright (C) Evuraan at Gmail Dot Com
3 ;; 
4
5 ;; This file is part of the m17n contrib; a sub-part of the m17n
6 ;; library.
7
8 ;; The m17n library is free software; you can redistribute it and/or
9 ;; modify it under the terms of the GNU Lesser General Public License
10 ;; as published by the Free Software Foundation; either version 2.1 of
11 ;; the License, or (at your option) any later version.
12
13 ;; The m17n library is distributed in the hope that it will be useful,
14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 ;; Lesser General Public License for more details.
17
18 ;; You should have received a copy of the GNU Lesser General Public
19 ;; License along with the m17n library; if not, write to the Free
20 ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 ;; Boston, MA 02110-1301, USA.
22
23 (input-method ml mozhi)
24
25 (description "Malayalam input method.
26 For the details, see the page:
27   <http://chithrangal.blogspot.com/2008/01/m17n-itrans.html>
28 ")
29
30 (title "ഏ")
31
32 (map
33  (starter
34   (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@))
35   ("0") ("1") ("2") ("3") ("4") ("~") ("=")
36   ("5") ("6") ("7") ("8") ("9") ("_")
37   ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L")
38   ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y")
39   ("B") ("J") ("P") ("E") ("V") ("W")
40   ("a") ("b") ("c") ("d") ("e") ("f") ("g") ("h") ("i")
41   ("j") ("k") ("l") ("m") ("n") ("o") ("p") ("q") ("r")
42   ("s") ("t") ("u") ("v") ("w") ("x") ("y") ("z"))
43
44  (consonant
45   ("k" "ക്")
46   ("K" "ക്ക്")
47   ("kh" "ഖ്")
48   ("g" "ഗ്")
49   ("G" "ഗ്ഗ്")
50   ("gh" "ഘ്")
51   ("ng" "ങ്")
52   ("nng" "ങ്ങ്")
53   ("ch" "ച്")
54   ("Ch" "ഛ്")
55   ("chh" "ഛ്")
56   ("j" "ജ്")
57   ("J" "ജ്ജ്")
58   ("jh" "ഝ്")
59   ("nj" "ഞ്")
60   ("nch" "ഞ്ച്")
61   ("T" "ട്")
62   ("Th" "ഠ്")
63   ("D" "ഡ്")
64   ("Dh" "ഢ്")
65   ("N" "ണ്")
66   ("N_" "ണ്‍")
67   ("nT" "ണ്ട്")
68   ("nt" "ന്റ്")
69   ("nth" "ന്ത്")
70   ("th" "ത്")
71   ("thh" "ഥ്")
72   ("d" "ദ്")
73   ("dh" "ധ്")
74   ("n" "ന്")
75   ("n_" "ന്‍")
76   ("nn" "ന്ന്")
77   ("p" "പ്")
78   ("P" "പ്പ്")
79   ("f" "ഫ്")
80   ("ph" "ഫ്")
81   ("b" "ബ്")
82   ("B" "ബ്ബ്")
83   ("bh" "ഭ്")
84   ("m" "മ്")
85   ("y" "യ്")
86   ("Y" "യ്യ്")
87   ("r" "ര്")
88   ("r_" "ര്‍")
89   ("R" "റ്")
90   ("l" "ല്")
91   ("l_" "ല്‍")
92   ("L" "ള്")
93   ("L_" "ള്‍")
94   ("LL" "ള്ള്")
95   ("v" "വ്")
96   ("V" "വ്വ്")
97   ("W" "വ്വ്")
98   ("w" "വ്")
99   ("z" "ശ്")
100   ("zh" "ഴ്")
101   ("t" "റ്റ്")
102   ("tt" "ട്ട്")
103   ("S" "ശ്")
104   ("sh" "ഷ്")
105   ("Sh" "ഴ്")
106   ("s" "സ്")
107   ("h" "ഹ്")
108   ("x" "ക്ഷ്"))
109
110  (independent
111   ("a" "അ")
112   ("aa" "ആ")
113   ("A" "ആ")
114   ("i" "ഇ")
115   ("ii" "ഈ")
116   ("ee" "ഈ")
117   ("I" "ഈ")
118   ("u" "ഉ")
119   ("uu" "ഊ")
120   ("oo" "ഊ")
121   ("U" "ഊ")
122   ("RRi" "ഋ")
123   ("rr^" "രൃ")
124   ("R^i" "ഋ")
125   ("r^" "ഋ")
126   ("LLLi" "ഌ")
127   ("L^i" "ഌ")
128   ("E" "ഏ")
129   ("e" "എ")
130   ("ai" "ഐ")
131   ("O" "ഓ")
132   ("o" "ഒ")
133   ("au" "ഔ")
134   (".n" "ം")
135   ("M" "ം")
136   ("~" "്")
137   ("_" "‌‌")     
138   ("m_" "ം")
139   ("m " "ം  ")
140   ("m," "ം,")
141   ("m." "ം.")
142   ("m?" "ം?")
143   ("M." "ം.")
144   ("M?" "ം?")
145   ("M," "ം,")
146   ("N " "ണ്‍ ")
147   ("N." "ണ്‍.")
148   ("N?" "ണ്‍?")
149   ("N," "ണ്‍,")
150   ("n " "ന്‍ ")
151   ("n." "ന്‍.")
152   ("n?" "ന്‍?")
153   ("n," "ന്‍,")
154   ("r " "ര്‍ ")
155   ("r." "ര്‍.")
156   ("r?" "ര്‍?")
157   ("r," "ര്‍,")
158   ("l " "ല്‍ ")
159   ("l." "ല്‍.")
160   ("l?" "ല്‍?")
161   ("l," "ല്‍,")
162   ("L " "ള്‍ ")
163   ("L." "ള്‍.")
164   ("L?" "ള്‍?")
165   ("L," "ള്‍,")
166   ("H" "ഃ")
167   (".h" "്")
168   ("0" "0")
169   ("1" "1")
170   ("2" "2")
171   ("3" "3")
172   ("4" "4")
173   ("5" "5")
174   ("6" "6")
175   ("7" "7")
176   ("8" "8")
177   ("9" "9")
178   ("=0" "൦")
179   ("=1" "൧")
180   ("=2" "൨")
181   ("=3" "൩")
182   ("=4" "൪")
183   ("=5" "൫")
184   ("=6" "൬")
185   ("=7" "൭")
186   ("=8" "൮")
187   ("=9" "൯")
188   ("#" "്ര")
189   ("$" "ര്")
190   ("^" "ത്ര")
191   ("*" "ശ്ര")
192   ((S-\ ) "‌")
193   ((C-@) "‍"))
194
195  (dependent
196   ("a" (delete @-) "")
197   ("aa" (delete @-) "ാ")
198   ("A" (delete @-) "ാ")
199   ("i" (delete @-) "ി")
200   ("ii" (delete @-) "ീ")
201   ("ee" (delete @-) "ീ")
202   ("I" (delete @-) "ീ")
203   ("u" (delete @-) "ു")
204   ("uu" (delete @-) "ൂ")
205   ("U" (delete @-) "ൂ")
206   ("oo" (delete @-) "ൂ")
207   ("RRi" (delete @-) "ൃ")
208   ("R^i" (delete @-) "ൃ")
209   ("^" (delete @-) "ൃ")
210   ("LLi" (delete @-) "")
211   ("L^i" (delete @-) "")
212   ("E" (delete @-) "േ")
213   ("e" (delete @-) "െ")
214   ("ai" (delete @-) "ൈ")
215   ("O" (delete @-) "ോ")
216   ("o" (delete @-) "ൊ")
217   ("au" (delete @-) "ൗ"))
218
219
220  (return
221   ((Return)))
222
223  (backspace
224   ((BackSpace) (undo))))
225
226 (state
227  (init
228   (starter (pushback 1) (shift intermediate)))
229
230  (intermediate
231   (consonant (shift second))
232   (independent (shift finish))
233   (backspace)
234   (return (shift init)))
235
236  (second
237   (consonant)
238   (dependent (shift finish))
239   (backspace)
240   (return (shift init)))
241
242  (finish
243   (return)
244   (t (shift init))))
245
246 ;; Local Variables:
247 ;; coding: utf-8
248 ;; mode: lisp
249 ;; End: