Update copyright years
[m17n/m17n-contrib.git] / im / hi-vedmata.mim
1
2 ;; hi-vedmata.mim -- Hindi input method with Remington method
3 ;; Copyright (C) 2010  Shantikunj, Haridwar, UK, INDIA <www.awgp.org>
4 ;; This file is part of the m17n contrib; a sub-part of the m17n
5 ;; library.
6
7 ;; The m17n library is free software; you can redistribute it and/or
8 ;; modify it under the terms of the GNU Lesser General Public License
9 ;; as published by the Free Software Foundation; either version 2.1 of
10 ;; the License, or (at your option) any later version.
11
12 ;; The m17n library is distributed in the hope that it will be useful,
13 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 ;; Lesser General Public License for more details.
16
17 ;; You should have received a copy of the GNU Lesser General Public
18 ;; License along with the m17n library; if not, write to the Free
19 ;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20 ;; 02111-1307, USA.
21
22 (input-method hi vedmata)
23
24 (description "Hindi input method for Remington typewriter layout. Author: Shantikunj, Haridwar, UK, INDIA <www.awgp.org>")
25
26
27
28 (title "वेदमाता हिन्दी - Remington")
29
30 (map
31         (starter
32                 (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@))
33                 ("0") ("1") ("2") ("3") ("4")
34                 ("5") ("6") ("7") ("8") ("9")
35                 ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L")
36                 ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y")
37                 ("a") ("b") ("c") ("d") ("e") ("f") ("g") ("h") ("i")
38                 ("j") ("k") ("l") ("m") ("n") ("o") ("p") ("q") ("r")
39                 ("s") ("t") ("u") ("v") ("w") ("x") ("y") ("z")
40                 ("[") ("{") ("]") ("}") ("P") ("Q") ("z") ("Z")
41                 ("E") ("F") ("X") ("B") ("-") ("_") ("(") (")")
42                 ("+") ("=") ("\"") ("|") (",") ("<") (">") ("?") ("/")
43                 ("@") ("&") ("%") ("V") ("`") (":") (";") ("W") ("'")
44         )
45
46         (consonant
47                 ((KP_1) "१")
48                 ((KP_2) "२")
49                 ((KP_3) "३")
50                 ((KP_4) "४")
51                 ((KP_5) "५")
52                 ((KP_6) "६")
53                 ((KP_7) "७")
54                 ((KP_8) "८")
55                 ((KP_9) "९")
56                 ((KP_0) "०")
57                 ((KP_Decimal) ".")
58                 ((KP_Divide) "/")
59                 ((KP_Multiply) "*")
60                 ((KP_Add) "+")
61                 ((KP_Subtract) "-") 
62         )
63
64
65         (chotiMatra
66                 ("f" "ि" (set C @-1))
67         )
68         (setFullChar
69                 ("e" "म" (insert C))
70                 ("ez" "म्र" (insert C))
71                 ("r"  "त" (insert C))
72                 ("rz"  "त्र" (insert C))
73                 ("t"  "ज" (insert C))
74                 ("tz"  "ज्र" (insert C))
75                 ("iQ"  "फ" (insert C))
76                 ("iQz"  "फ्र" (insert C))
77                 ("y" "ल" (insert C))
78                 ("yz" "ल्र" (insert C))
79                 ("u" "न" (insert C))
80                 ("uz" "न्र" (insert C))
81                 ("i"  "प" (insert C))
82                 ("iz"  "प्र" (insert C))
83                 ("o"  "व" (insert C))
84                 ("oz"  "व्र" (insert C))
85                 ("p" "च" (insert C))
86                 ("pz" "च्र" (insert C))
87                 ("d" "क" (insert C))
88                 ("dz" "क्र" (insert C))
89                 ("G" "ळ" (insert C))
90                 ("g" "ह" (insert C))
91                 ("gz" "ह्र" (insert C))
92                 ("j" "र" (insert C))
93                 ("l" "स" (insert C))
94                 ("lz" "स्र" (insert C))
95                 (";"    "य" (insert C))
96                 (";z"  "य्र" (insert C))
97                 ("x"  "ग" (insert C))
98                 ("xz"  "ग्र" (insert C))
99                 ("c"  "ब" (insert C))
100                 ("cz"  "ब्र" (insert C))
101                 ("V"  "ट" (insert C))
102                 ("Vz"  "ट्र" (insert C))
103                 ("B"  "ठ" (insert C))
104                 ("Bz"  "ठ्र" (insert C))
105                 ("b"  "इ" (insert C))
106                 ("N"  "छ" (insert C))
107                 ("Nz"  "छ्र" (insert C))
108                 ("n"  "द" (insert C))
109                 ("nz"  "द्र" (insert C))
110                 ("M"  "ड" (insert C))
111                 ("Mz"  "ड्र" (insert C))
112                 ("m"  "उ" (insert C))
113                 ("<"  "ढ" (insert C))
114                 ("<z"  "ढ्र" (insert C))
115                 (">"  "झ" (insert C))
116                 (">z"  "झ्र" (insert C))
117                 ("{k"  "क्ष" (insert C))
118                 ("Hk"  "भ" (insert C))
119                 ("Hkz"  "भ्र" (insert C))
120                 ("Fk"  "थ" (insert C))
121                 ("Fkz"  "थ्र" (insert C))
122                 ("'k"  "श" (insert C))
123                 ("'kz"  "श्र" (insert C))
124                 ("\"k"  "ष" (insert C))
125                 ("\"kz"  "ष्र" (insert C))
126                 (".k"  "ण" (insert C))
127                 ("/k"  "ध" (insert C))
128                 ("/kz"  "ध्र" (insert C))
129                 ("?k"  "घ" (insert C))
130                 ("?kz"  "घ्र" (insert C))
131                 ("[k"  "ख" (insert C))
132                 ("[kz"  "ख्र" (insert C))
133                 ("_"  "त्र" (insert C))
134                 ("J"  "श्र" (insert C))
135 ;;              ("*"     "ञ" (insert C))
136                 ("K"  "ज्ञ" (insert C))
137                 ("x@"  "ॻ" (insert C))
138                 ("t@"  "ॼ" (insert C))
139                 ("M@"  "ॾ" (insert C))
140                 ("c@"  "ॿ" (insert C))
141                 
142         )
143         (setHalfChar
144                 ("e" (delete @-) (insert B) "म"   (insert C))
145                 ("r"  (delete @-) (insert B)  "त"  (insert C))
146                 ("t"  (delete @-) (insert B) "ज"   (insert C))
147                 ("iQ" (delete @-) (insert B) "फ"   (insert C))
148                 ("y" (delete @-) (insert B) "ल"  (insert C))
149                 ("u" (delete @-) (insert B) "न"   (insert C))
150                 ("i" (delete @-) (insert B) "प"  (insert C))
151                 ("o" (delete @-) (insert B) "व"   (insert C))
152                 ("p" (delete @-) (insert B) "च"  (insert C))
153                 ("d" (delete @-) (insert B) "क"  (insert C))
154                 ("G" (delete @-) (insert B) "ळ"  (insert C))
155                 ("g" (delete @-) (insert B) "ह"  (insert C))
156                 ("j" (delete @-) (insert B) "र"   (insert C))
157                 ("l" (delete @-) (insert B) "स"  (insert C))
158                 (";" (delete @-) (insert B) "य"  (insert C))
159                 ("x" (delete @-) (insert B) "ग"  (insert C))
160                 ("c" (delete @-) (insert B) "ब"  (insert C))
161                 ("V" (delete @-) (insert B) "ट"  (insert C))
162                 ("B" (delete @-) (insert B) "ठ"  (insert C))
163 ;;              ("b" (delete @-) (insert B) "इ"  (insert C))
164                 ("N" (delete @-) (insert B) "छ"  (insert C))
165                 ("n" (delete @-) (insert B) "द"  (insert C))
166                 ("M" (delete @-) (insert B) "ड"  (insert C))
167 ;;              ("m" (delete @-) (insert B) "उ"  (insert C))
168                 ("<" (delete @-) (insert B) "ढ"  (insert C))
169                 (">" (delete @-) (insert B) "झ"  (insert C))
170                 ("{k" (delete @-) (insert B) "क्ष"  (insert C))
171                 ("Hk" (delete @-) (insert B) "भ"  (insert C))
172                 ("Fk" (delete @-) (insert B) "थ"  (insert C))
173                 ("'k" (delete @-) (insert B) "श"  (insert C))
174                 (".k" (delete @-) (insert B) "ण"  (insert C))
175                 ("\"k" (delete @-) (insert B) "ष" (insert C))
176                 ("[k" (delete @-) (insert B) "ख" (insert C))
177                 ("*" (delete @-) (insert B) "ञ" (insert C))
178
179         )
180         
181         (matra 
182                 ("~" "◌") 
183                 ("`" "्") 
184                 ("1" "़")
185                 ("2" "ृ")
186                 ("%" "ः")
187                 ("^" "=")
188                 ("q" "ु")
189                 ("W" "ॅ")
190                 ("w" "ू")
191                 ("A" "ँ")
192                 ("a" "ं")
193                 ("S" "ै")
194                 ("s" "े")
195                 ("h" "ी")
196                 ("k" "ा")
197                 ("sk" "ो")
198                 ("ks" "ो")
199                 ("kS" "ौ")
200                 ("Sk" "ौ")
201                 ("z" "्र")
202                 ("@" " ॒")
203                 ("ka"  "ां")
204                 ("kW" "ॉ")
205                 ("vW" "ॲ")
206                 (",W" "ऍ")
207                 ("vkW" "ऑ")
208                 ("ha"  "ीं")
209                 ("sa"  "ें")
210                 ("Sa"  "ैं")
211                 ("qa"  "ुं")
212                 ("wa"  "ूं")
213                 ("kA"  "ाँ")
214                 ("hA"  "ीँ")
215                 ("sA"  "ेँ")
216                 ("SA"  "ैँ")
217                 ("qA"  "ुँ")
218                 ("wA"  "ूँ")
219                 ("~2"  "ॄ")
220                 ("~y"  "ॢ")
221                 ("~y2"  "ॣ")
222
223         )
224
225
226         (number
227 ;;              ("1" ".")
228 ;;              ("2" "ृ")
229                 ("3" "१")
230                 ("4" "२")
231                 ("5" "३")
232                 ("6" "४")
233                 ("7" "५")
234                 ("8" "६")
235                 ("9" "७")
236                 ("0" "८")
237                 ("-" "९")
238                 ("=" "०")
239         )
240
241
242         (mainChar
243                 ("v" "अ")
244                 ("~v" "ऄ")
245                 ("vk" (delete @-) "आ")
246                 ("vsk" (delete @-) "ओ")
247                 ("vks" (delete @-) "ओ")
248                 ("~o" "ऒ")
249                 ("vSk" (delete @-) "औ")
250                 ("vkS" (delete @-) "औ")
251         )
252
253         (fullChar
254                 
255                 ("e" "म")
256                 ("r" "त")
257                 ("t" "ज")
258                 ("Q" "ऊ")
259                 ("y" "ल")
260                 ("u" "न")
261                 ("i" "प")
262                 ("o" "व")
263                 ("p" "च")
264                 ("d" "क")
265                 ("G" "ळ")
266                 ("g" "ह")
267                 ("j" "र")
268                 ("l" "स")
269                 (";" "य")
270                 ("x" "ग")
271                 ("c" "ब")
272                 ("V" "ट")
273                 ("B" "ठ")
274                 ("b" "इ")
275                 ("bZ" "ई")
276                 ("N" "छ")
277                 ("n" "द")
278                 ("M" "ड")
279                 ("m" "उ")
280                 ("<" "ढ")
281                 ("," "ए")
282                 ("~," "ऎ")
283                 (",s" "ऐ")
284                 (">" "झ")
285                 ("{k" "क्ष")
286                 ("Hk" "भ")
287                 ("Fk" "थ")
288                 ("'k" "श")
289                 ("\"k" "ष")
290                 (".k" "ण")
291                 ("/k" "ध")            
292                 ("?k" "घ")            
293                 ("[k" "ख")
294                 ("iQ" "फ")
295                 ("x@" "ॻ")
296                 ("t@" "ॼ")
297                 ("M@" "ॾ")
298                 ("c@" "ॿ")
299                 ("+2" "ॠ")
300                 ("+22" "ॠ") 
301                 ("~y" "ऌ")
302                 ("~y2" "ॡ") 
303                 ("d~y" "कॢ")
304                 ("d~y2" "कॣ")
305
306                 (")" "द्घ")
307                 ("}" "द्व")
308                 ("|" "द्य")
309                 ("J" "श्र")
310                 ("K" "ज्ञ")
311 ;;              (":" "रू") 
312                 (":" "ॐ") 
313                 ("::" "卐")
314                 ("~a" "ऽ")
315                 
316
317                 ("!" "?")
318                 ("#" ".")
319                 ("$" "ङ")
320                 ("&" "-")
321                 ("*" "ञ")
322                 ("(" " ।")
323                 ("((" " ॥")
324                 ("_" "त्र")
325                 ("+" "ऋ")
326                 ("\\" "्र")
327                 ("]" ",")
328
329         )
330         (getHalfChar
331                 ("E" "म्" (set B @-1))
332                 ("R" "त्" (set B @-1))
333                 ("T" "ज्" (set B @-1) )
334                 ("Y" "ल्" (set B @-1))
335                 ("U" "न्" (set B @-1))
336                 ("I" "प्" (set B @-1))
337                 ("O" "व्" (set B @-1))
338                 ("P" "च्" (set B @-1) )
339                 ("{" "क्ष्" (set B @-1) )
340                 ("D" "क्" (set B @-1))
341                 ("F" "थ्" (set B @-1) )
342                 ("H" "भ्" (set B @-1))
343                 ("L" "स्" (set B @-1) )
344                 ("\"" "ष्" (set B @-1))
345                 ("'" "श्" (set B @-1))
346 ;;              ("Z" "र्" (set B @-1))
347                 ("X" "ग्" (set B @-1))
348                 ("C" "ब्" (set B @-1))
349                 ("." "ण्" (set B @-1))
350                 ("?" "घ्" (set B @-1))
351                 ("/" "ध्" (set B @-1))
352                 ("[" "ख्" (set B @-1))
353                 ("*`" "ञ्" (set B @-1))
354
355         )
356         (halfChar
357                 ("E" "म्")
358                 ("R" "त्")
359                 ("T" "ज्")
360                 ("Y" "ल्")
361                 ("U" "न्")
362                 ("I" "प्")
363                 ("O" "व्")
364                 ("P" "च्")
365                 ("{" "क्ष्")
366                 ("D" "क्")
367                 ("F" "थ्")
368                 ("H" "भ्")
369                 ("L" "स्")
370                 ("\"" "ष्")
371                 ("'" "श्")
372                 ("Z" "र्") 
373                 ("X" "ग्")
374                 ("C" "ब्")
375                 ("." "ण्")
376                 ("?" "घ्")
377                 ("/" "ध्")
378                 ("[" "ख्")
379                 ("*`" "ञ्")
380                 
381         )
382
383 ;;      (rChar
384 ;;              ("Z" "र्" (set A1 @-) (set A2 @-1) (set A3 @-2)(set A4 @-3)(delete @-) (delete @-1)(delete @-1)(insert A3)(insert A2)(insert A4)) 
385 ;;      )
386         (jointChar
387
388                 (")" "द्घ")
389                 ("}" "द्व")
390                 ("|" "द्य")
391                 ("J" "श्र")
392                 ("K" "ज्ञ")
393         )
394
395
396         (pause)
397
398         (return
399                 ((Return))
400         )
401
402         (backspace
403                 ((BackSpace) (undo))
404         )
405 )
406
407 (state
408         (init
409                 (starter 
410                         (pushback 1) (shift intermediate)
411                 )
412         )
413
414
415         (intermediate
416 ;;              (rChar (shift intermediate))
417                 (matra (shift intermediate))
418                 (chotiMatra (delete @-) (shift third))
419                 (mainChar (shift intermediate))
420                 (fullChar (shift second))
421                 (halfChar (shift intermediate))
422                 (jointChar (shift intermediate))
423                 (number (shift intermediate))
424                 (backspace)
425                 (return (shift init))
426         )
427
428
429         (third
430
431                 (getHalfChar (shift fourth))
432                 (setFullChar (shift intermediate))
433         )
434         
435         (fourth
436                 (setHalfChar (shift intermediate))
437         )
438         (fifth 
439                 (setrChar (shift intermediate))
440         )
441         (second
442                 (mainChar (shift intermediate))
443                 (fullChar (shift intermediate))
444                 (halfChar (shift intermediate))
445                 (matra (shift intermediate))
446                 (jointChar (shift intermediate))
447 ;;              (rChar (shift intermediate))
448                 (backspace)
449                 (return (shift init))
450         )
451
452         (finish
453                 (return)
454                 (t (shift init))
455         )
456 )
457
458 ;; Local Variables:
459 ;; coding: utf-8
460 ;; mode: lisp
461 ;; End: