m17n-db/hi-typewriter.mim

176 lines
3.5 KiB
Plaintext
Raw Normal View History

2007-07-18 18:25:59 +00:00
;; hi-typewriter.mim -- Devanagari input method with typewriter method
;; Copyright (C) 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H15PRO112
;; This file is part of the m17n contrib; a sub-part of the m17n
;; library.
;; The m17n library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
;; as published by the Free Software Foundation; either version 2.1 of
;; the License, or (at your option) any later version.
;; The m17n library is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; Lesser General Public License for more details.
;; You should have received a copy of the GNU Lesser General Public
;; License along with the m17n library; if not, write to the Free
;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
;; 02111-1307, USA.
(input-method hi typewriter)
(description "Hindi input method with `typewriter' method.
Still experimental.
")
(title "क")
(map
(consonant
((KP_1) "१")
((KP_2) "२")
((KP_3) "३")
((KP_4) "४")
((KP_5) "५")
((KP_6) "६")
((KP_7) "७")
((KP_8) "८")
((KP_9) "९")
((KP_0) "")
((KP_Decimal) ".")
((KP_Divide) "/")
((KP_Multiply) "*")
((KP_Add) "+")
((KP_Subtract) "-")
("!" ?ऍ)
("+" ?ऋ)
("Q" ?औ)
("W" ?ऐ)
("E" ?आ)
("R" ?ई)
("T" ?ऊ)
("Y" ?भ)
("y" ?ब)
("U" ?ङ)
("u" ?ह)
("I" ?घ)
("i" ?ग)
("O" ?ध)
("o" ?द)
("P" ?झ)
("p" ?ज)
("{" ?ढ)
("[" ?ड)
("}" ?ञ)
("A" ?ओ)
("S" ?ए)
("D" ?अ)
("F" ?इ)
("G" ?उ)
("H" ?फ)
("h" ?प)
("J" ?ऱ)
("j" ?र)
("K" ?ख)
("k" ?क)
("L" ?थ)
("l" ?त)
(":" ?छ)
(";" ?च)
("\"" ?ठ)
("'" ?ट)
("|" ?ऑ)
("~" ?ऒ)
("Z" ?ऎ)
("C" ?ण)
("c" ?म)
("V" ?ऩ)
("v" ?न)
("B" ?ऴ)
("b" ?व)
("N" ?ळ)
("n" ?ल)
("M" ?श)
("m" ?स)
("<" ?ष)
("/" ?य))
(halant
("d" ?्))
(vowel-I
("f" ?ि))
(else
("1" ?१)
("@" ?ॅ)
("2" ?२)
("#" ?#)
("3" ?३)
("$" ?$)
("4" ?४)
("5" ?५)
("6" ?६)
("7" ?७)
("8" ?८)
("(" ?\()
("9" ?९)
(")" ?\))
("0" ?)
("_" ?)
("-" ?-)
("=" ?ृ)
("q" ?ौ)
("w" ?ै)
("e" ?ा)
("r" ?ी)
("t" ?ू)
("]" ?़)
("a" ?ो)
("s" ?े)
("g" ?ु)
("\\" ?ॉ)
("`" ?ॊ)
("z" ?ॆ)
("X" ?ँ)
("x" ?ं)
("," ?,)
(">" ?।)
("." ?.)
("?" ?य़)))
(state
(init
(consonant)
(halant)
(else)
(vowel-I (shift after-vowel-I)))
(after-vowel-I
(consonant
;; The current preedit is "IC". Reorder it to "CI".
(move @<) (delete @+) (move @>) (insert "ि")
;; Keep on reading the following [HC]* sequence.
(shift after-consonant))
(vowel-I
;; Delete the lastly inserted I and rehandle it in `init' state.
(delete @-) (pushback 1) (shift init))
(nil (shift init)))
(after-consonant
(halant
;; The current preedit is "C[HC]*IH". Reorder it to "C[HC]*HI".
(move @-) (delete @-) (move @>) (insert "ि")
;; Keep on reading the following C[HC]* sequence.
(shift after-consonant-halant)))
(after-consonant-halant
(consonant
;; The current preedit is "C[HC]*HIC". Reorder it to "C[HC]+I".
(move @-) (delete @-) (move @>) (insert "ि")
;; Keep on reading the following [HC]* sequence.
(shift after-consonant))))