334 lines
9.5 KiB
Plaintext
334 lines
9.5 KiB
Plaintext
|
;; mr-gamabhana.mim -- Marathi input method with GaMaBhaNa
|
|||
|
;; This file is part of the m17n database; 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., 51 Franklin Street, Fifth Floor,
|
|||
|
;; Boston, MA 02110-1301, USA.
|
|||
|
|
|||
|
(input-method mr gamabhana)
|
|||
|
|
|||
|
(description "Based on Hindi input method by ITRANS and Harvard-Kyoto
|
|||
|
transliteration systems.
|
|||
|
You can use all the standard ITRANS key sequences plus key
|
|||
|
sequences such as the below.
|
|||
|
|
|||
|
nk->ङ्क्, nkh->ङ्ख्, ng->ङ्ग्, ngh->ङ्घ्
|
|||
|
nch->ञ्च्, nCh->ञ्छ्, nc->ञ्च्, nC->ञ्छ्, nchh->ञ्छ्,
|
|||
|
nj->ञ्ज्, njh->ञ्झ्, nT->ण्ट्, nTh->ण्ठ्, nD->ण्ड्, nDh->ण्ढ्
|
|||
|
c->च्, C->छ्, z->श्, S->ष्, jn->ज्ञ्, R->ऋ
|
|||
|
|
|||
|
In addition, for convenience, when a consonant + halant sequence
|
|||
|
is followed by non Devanagari letter, the last halant is removed.
|
|||
|
For instance, 'k SPC'->'क ', 'k..'->'क।'.
|
|||
|
|
|||
|
The motivation behind additions made to the basic ITRANS scheme
|
|||
|
is described in http://sanskritnlp.appspot.com/optitrans.html,
|
|||
|
along with a tabulated comparison with several other
|
|||
|
transliteration schemes.
|
|||
|
|
|||
|
Also, see: http://en.wikipedia.org/wiki/Devanagari_transliteration.")
|
|||
|
|
|||
|
(title "क")
|
|||
|
|
|||
|
(variable
|
|||
|
(trim-last-halant
|
|||
|
(_"If this variable is 1 (the default), the last Halant in a syllable
|
|||
|
is removed if it is followed by non Devanagari letter. For instance,
|
|||
|
typing \"har..\" produces \"हर।\", not \"हर्।\".")
|
|||
|
1 0 1))
|
|||
|
|
|||
|
(map
|
|||
|
(starter
|
|||
|
(".") ("~") ("#") ("$") ("*") ("]") ((S-\ )) ((C-@))
|
|||
|
("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9")
|
|||
|
("A") ("C") ("D") ("E") ("G") ("H") ("I") ("J") ("K") ("L")
|
|||
|
("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y")
|
|||
|
("a") ("b") ("c") ("d") ("e") ("f") ("g") ("h") ("i")
|
|||
|
("j") ("k") ("l") ("m") ("n") ("o") ("p") ("q") ("r")
|
|||
|
("s") ("t") ("u") ("v") ("w") ("x") ("y") ("z")
|
|||
|
((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5))
|
|||
|
((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0)))
|
|||
|
|
|||
|
(consonant
|
|||
|
("k" "क्")
|
|||
|
("kh" "ख्")
|
|||
|
("K" "ख्")
|
|||
|
("g" "ग्")
|
|||
|
("gh" "घ्")
|
|||
|
("G" "घ्")
|
|||
|
(".k" "क़् ")
|
|||
|
("q" "क़्")
|
|||
|
(".kh" "ख़्")
|
|||
|
(".K" "ख़्")
|
|||
|
(".g" "ग़्")
|
|||
|
("nk" "ङ्क्")
|
|||
|
("nx" "ङ्क्ष्")
|
|||
|
("nkh" "ङ्ख्")
|
|||
|
("nK" "ङ्ख्")
|
|||
|
("ng" "ङ्ग्")
|
|||
|
("ngh" "ङ्घ्")
|
|||
|
("nG" "ङ्घ्")
|
|||
|
("~N" "ङ्")
|
|||
|
("N^" "ङ्")
|
|||
|
("NG" "ङ्")
|
|||
|
("ch" "च्")
|
|||
|
("Ch" "छ्") ; not in ITRANS Devenagari table
|
|||
|
("c" "च्")
|
|||
|
("C" "छ्") ; not in ITRANS Devenagari table
|
|||
|
("chh" "छ्")
|
|||
|
("j" "ज्")
|
|||
|
("jh" "झ्")
|
|||
|
("J" "झ्")
|
|||
|
("nch" "ञ्च्")
|
|||
|
("nCh" "ञ्छ्") ; not in ITRANS Devenagari table
|
|||
|
("nc" "ञ्च्")
|
|||
|
("nC" "ञ्छ्") ; not in ITRANS Devenagari table
|
|||
|
("nchh" "ञ्छ्")
|
|||
|
("nj" "ञ्ज्")
|
|||
|
("njh" "ञ्झ्")
|
|||
|
("nJ" "ञ्झ्")
|
|||
|
("~n" "ञ्")
|
|||
|
("JN" "ञ्")
|
|||
|
("NY" "ञ्")
|
|||
|
("T" "ट्")
|
|||
|
("Th" "ठ्")
|
|||
|
("D" "ड्")
|
|||
|
("Dh" "ढ्")
|
|||
|
(".D" "ड़्")
|
|||
|
(".Dh" "ढ़्")
|
|||
|
("nT" "ण्ट्")
|
|||
|
("nTh" "ण्ठ्")
|
|||
|
("nD" "ण्ड्")
|
|||
|
("nDh" "ण्ढ्")
|
|||
|
("N" "ण्")
|
|||
|
("t" "त्")
|
|||
|
("th" "थ्")
|
|||
|
("d" "द्")
|
|||
|
("dh" "ध्")
|
|||
|
("n" "न्")
|
|||
|
(":n" "ऩ्") ; not in ITRANS Devenagari table
|
|||
|
("p" "प्")
|
|||
|
("ph" "फ्")
|
|||
|
("P" "फ्")
|
|||
|
(".ph" "फ़्")
|
|||
|
("f" "फ्")
|
|||
|
("b" "ब्")
|
|||
|
("bh" "भ्")
|
|||
|
("B" "भ्")
|
|||
|
("m" "म्")
|
|||
|
("y" "य्")
|
|||
|
("Y" "य़्") ; not in ITRANS Devanagari table
|
|||
|
("yh" "य़्") ; not in ITRANS Devanagari table
|
|||
|
(".y" "य़्")
|
|||
|
("r" "र्")
|
|||
|
("l" "ल्")
|
|||
|
("L" "ळ्")
|
|||
|
("ld" "ळ्")
|
|||
|
("v" "व्")
|
|||
|
("w" "व्")
|
|||
|
("sh" "श्")
|
|||
|
("z" "ज़्")
|
|||
|
(".j" "ज़्")
|
|||
|
; ("z" "श्")
|
|||
|
("S" "ष्")
|
|||
|
("Sh" "ष्")
|
|||
|
("shh" "ष्")
|
|||
|
("s" "स्")
|
|||
|
("h" "ह्")
|
|||
|
("jn" "ज्ञ्")
|
|||
|
("j~n" "ज्ञ्")
|
|||
|
("jn" "ज्ञ्")
|
|||
|
("GY" "ज्ञ्")
|
|||
|
("Gy" "ज्ञ्")
|
|||
|
("dny" "ज्ञ्") ; not in ITRANS Devanagari table
|
|||
|
("x" "क्ष्")
|
|||
|
("ks" "क्स्")
|
|||
|
("ksh" "क्ष्")
|
|||
|
("gH" ॻ्)
|
|||
|
("jH" ॼ्)
|
|||
|
("DH" "ॾ्")
|
|||
|
("Ry" "ऱ्य्")
|
|||
|
("Rh" "ऱ्ह्")
|
|||
|
("dhd" "द्ध्")
|
|||
|
("vd" "द्व्")
|
|||
|
("kn" "क्न्")
|
|||
|
("gn" "ग्न्")
|
|||
|
("ghn" "घ्न्")
|
|||
|
("tn" "त्न्")
|
|||
|
("dn" "द्न्")
|
|||
|
("nn" "न्न्")
|
|||
|
("pn" "प्न्")
|
|||
|
("mn" "म्न्")
|
|||
|
("sn" "स्न्")
|
|||
|
("shn" "श्न्")
|
|||
|
("bH" "ॿ्"))
|
|||
|
|
|||
|
(independent
|
|||
|
("a" "अ")
|
|||
|
("aa" "आ")
|
|||
|
("A" "आ")
|
|||
|
("i" "इ")
|
|||
|
("ii" "ई")
|
|||
|
("I" "ई")
|
|||
|
("u" "उ")
|
|||
|
("uu" "ऊ")
|
|||
|
("U" "ऊ")
|
|||
|
("RU" "ऋ")
|
|||
|
("Ri" "ऋ")
|
|||
|
("RI" "ॠ")
|
|||
|
("O" "ऑ")
|
|||
|
("E" "ॲ")
|
|||
|
("RRi" "ऋ")
|
|||
|
("R^i" "ऋ")
|
|||
|
("LLi" "ऌ") ; not in ITRANS Devanagari table
|
|||
|
("L^i" "ऌ") ; not in ITRANS Devanagari table
|
|||
|
(".c" "ऍ") ; not in ITRANS Devanagari table
|
|||
|
("ea" "ऍ") ; not in ITRANS Devanagari table
|
|||
|
("ee" (set CANDRA-E-O 0) "ई") ; not in ITRANS Devanagari table
|
|||
|
("e" (set CANDRA-E-O ?ऍ) "ए")
|
|||
|
("ai" "ऐ")
|
|||
|
("oo" (set CANDRA-E-O 0) "ऊ")
|
|||
|
("o" (set CANDRA-E-O ?ऑ) "ओ")
|
|||
|
("oa" "ऑ")
|
|||
|
("au" "औ")
|
|||
|
("ou" "औ")
|
|||
|
("RRI" "ॠ") ; not in ITRANS Devanagari table
|
|||
|
("RR" "ॠ") ; not in ITRANS Devanagari table
|
|||
|
("R^I" "ॠ") ; not in ITRANS Devanagari table
|
|||
|
("LLI" "ॡ") ; not in ITRANS Devanagari table
|
|||
|
("L^I" "ॡ") ; not in ITRANS Devanagari table
|
|||
|
(".N" "ँ")
|
|||
|
(".n" "ं")
|
|||
|
("M" "ं")
|
|||
|
("H" "ः")
|
|||
|
("kH" "ᳵ")
|
|||
|
("pH" "ᳶ")
|
|||
|
(".a" "ऽ")
|
|||
|
(".h" "्")
|
|||
|
("AUM" "ॐ")
|
|||
|
("OM" "ॐ")
|
|||
|
("$" "र्") ; not in ITRANS Devanagari table
|
|||
|
((S-\ ) "") ; not in ITRANS Devanagari table
|
|||
|
((C-@) "")) ; not in ITRANS Devanagari table
|
|||
|
|
|||
|
(digit
|
|||
|
("0" "०")
|
|||
|
("1" "१")
|
|||
|
("2" "२")
|
|||
|
("3" "३")
|
|||
|
("4" "४")
|
|||
|
("5" "५")
|
|||
|
("6" "६")
|
|||
|
("7" "७")
|
|||
|
("8" "८")
|
|||
|
("9" "९")
|
|||
|
((KP_0) "०")
|
|||
|
((KP_1) "१")
|
|||
|
((KP_2) "२")
|
|||
|
((KP_3) "३")
|
|||
|
((KP_4) "४")
|
|||
|
((KP_5) "५")
|
|||
|
((KP_6) "६")
|
|||
|
((KP_7) "७")
|
|||
|
((KP_8) "८")
|
|||
|
((KP_9) "९"))
|
|||
|
|
|||
|
(dependent
|
|||
|
("O" (delete @-) "ॉ")
|
|||
|
("E" (delete @-) "ॅ")
|
|||
|
("a" (delete @-) "")
|
|||
|
("aa" (delete @-) "ा")
|
|||
|
("A" (delete @-) "ा")
|
|||
|
("i" (delete @-) "ि")
|
|||
|
("ii" (delete @-) "ी")
|
|||
|
("I" (delete @-) "ी")
|
|||
|
("u" (delete @-) "ु")
|
|||
|
("uu" (delete @-) "ू")
|
|||
|
("U" (delete @-) "ू")
|
|||
|
("R" (delete @-) "ृ")
|
|||
|
("RRi" (delete @-) "ृ")
|
|||
|
("R^i" (delete @-) "ृ")
|
|||
|
("LLi" (delete @-) "ॢ") ; not in ITRANS Devanagari table
|
|||
|
("L^i" (delete @-) "ॢ") ; not in ITRANS Devanagari table
|
|||
|
(".c" (delete @-) "ॅ") ; not in ITRANS Devanagari table
|
|||
|
("ea" (delete @-) "ॅ") ; not in ITRANS Devanagari table
|
|||
|
("ee" (delete @-) (set CANDRA-E-O 0) "ी") ; not in ITRANS Devanagari table
|
|||
|
("e" (delete @-) (set CANDRA-E-O ?ॅ) "े")
|
|||
|
("ai" (delete @-) "ै")
|
|||
|
("oo" (delete @-) (set CANDRA-E-O 0) "ू")
|
|||
|
("o" (delete @-) (set CANDRA-E-O ?ॉ) "ो")
|
|||
|
("oa" "ॉ")
|
|||
|
("au" (delete @-) "ौ")
|
|||
|
("ou" (delete @-) "ौ")
|
|||
|
("RR" (delete @-) "ॄ") ; not in ITRANS Devanagari table
|
|||
|
("RRI" (delete @-) "ॄ") ; not in ITRANS Devanagari table
|
|||
|
("R^I" (delete @-) "ॄ") ; not in ITRANS Devanagari table
|
|||
|
("LLI" (delete @-) "ॣ") ; not in ITRANS Devanagari table
|
|||
|
("L^I" (delete @-) "ॣ")) ; not in ITRANS Devanagari table
|
|||
|
|
|||
|
(dot
|
|||
|
("." (set DOT 1) "."))
|
|||
|
|
|||
|
(eo-dot-c
|
|||
|
(".c" (delete @-) (insert CANDRA-E-O)))
|
|||
|
|
|||
|
(commit-key
|
|||
|
((S-C-Return)))
|
|||
|
|
|||
|
(backspace
|
|||
|
((BackSpace) (undo))))
|
|||
|
|
|||
|
(state
|
|||
|
(init
|
|||
|
(starter (pushback 1) (shift intermediate)))
|
|||
|
|
|||
|
(intermediate
|
|||
|
;; CANDRA-E-O is set to the character CANDRA E or CANDRA O when "e"
|
|||
|
;; or "o" is typed, and in that case, if ".c" is typed, the
|
|||
|
;; character set to CANDRA-E-O is inserted.
|
|||
|
(t (set CANDRA-E-O 0))
|
|||
|
;; LAST-HALANT-POS is set to the position after a consonat + HALANT
|
|||
|
;; sequence. If the following key is for non-letter, that HALANT
|
|||
|
;; character is removed.
|
|||
|
(consonant (mark LAST-HALANT-POS) (shift second))
|
|||
|
(independent (cond (CANDRA-E-O (shift after-eo)) (1 (shift init))))
|
|||
|
(digit (shift init))
|
|||
|
(backspace)
|
|||
|
(commit-key (shift init)))
|
|||
|
|
|||
|
(second
|
|||
|
;; CANDRA-E-O is set to the character CANDRA E or CANDRA O when "e"
|
|||
|
;; or "o" is typed, and in that case, if ".c" is typed, the
|
|||
|
;; character set to CANDRA-E-O is inserted.
|
|||
|
(t (set CANDRA-E-O 0))
|
|||
|
(consonant (mark LAST-HALANT-POS))
|
|||
|
(dependent (cond (CANDRA-E-O (shift after-eo)) (1 (shift init))))
|
|||
|
(backspace)
|
|||
|
(commit-key (shift init))
|
|||
|
(nil (cond (trim-last-halant (move LAST-HALANT-POS) (delete @-) (move @>)))
|
|||
|
(shift init)))
|
|||
|
|
|||
|
(after-eo
|
|||
|
(t (set DOT 0))
|
|||
|
(dot)
|
|||
|
(eo-dot-c (shift init))
|
|||
|
(commit-key (shift init))
|
|||
|
(nil (cond (DOT (delete @-) (pushback 1))) (shift init))))
|
|||
|
|
|||
|
;; Local Variables:
|
|||
|
;; coding: utf-8
|
|||
|
;; mode: emacs-lisp
|
|||
|
;; End:
|