Add alt-gr mappings (G- ) to correspond to alt mappings (A- ).
[m17n/m17n-contrib.git] / im / si-trans.mim
1 ;; si-trans.mim -- Sinhala transliteration keymap
2 ;; Copyright (C) 2007-2011  Harshula Jayasuriya <harshula@gmail.com>
3
4 ;; This program is free software; you can redistribute it and/or
5 ;; modify it under the terms of the GNU General Public License
6 ;; as published by the Free Software Foundation; either version 2
7 ;; of the License, or (at your option) any later version.
8
9 ;; This program is distributed in the hope that it will be useful,
10 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 ;; GNU General Public License for more details.
13
14 ;; You should have received a copy of the GNU General Public License
15 ;; along with this program; if not, write to the Free Software
16 ;; Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 ;; Boston, MA  02110-1301, USA.
18
19 ;; m17n Keymap file for Sinhala (Sri Lanka) (2007-07-08)
20 ;; Maintainer: Harshula Jayasuriya <harshula@gmail.com>
21 ;; Last Updated: 2011-12-05
22 ;; This is a transliteration mapping for a standard US-English keyboard
23 ;; (qwerty)
24 ;; http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_5.html
25
26
27 (input-method si transliteration)
28
29 (description "Sinhala transliteration input method:
30   <http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_5.html>"
31 )
32
33 (title "සි (Transliteration)")
34
35 (map
36  (consonants
37   ("k" "ක්")                ; 0x0d9a - alpapraana kayanna (ka)
38   ("kH" "ඛ්")               ; 0x0d9b - mahaapraana kayanna (kha)
39   ("g" "ග්")                ; 0x0d9c - alpapraana gayanna (ga)
40   ("gH" "ඝ්")               ; 0x0d9d - mahaapraana gayanna (gha)
41   ("NG" "ඞ්")               ; 0x0d9e - kantaja naasikyaya (nga)
42   ("Mg" "ඟ්")               ; 0x0d9f - sanyaka gayanna (nnga)
43   ((A-n g) "ඟ්")            ; AS ABOVE
44   ((G-n g) "ඟ්")            ; AS ABOVE
45   ("c" "ච්")                ; 0x0da0 - alpapraana cayanna (ca)
46   ("cH" "ඡ්")               ; 0x0da1 - mahaapraana cayanna (cha)
47   ("j" "ජ්")                ; 0x0da2 - alpapraana jayanna (ja)
48   ("jH" "ඣ්")               ; 0x0da3 - mahaapraana jayanna (jha)
49   ("My" "ඤ්")               ; 0x0da4 - taaluja naasikyaya (nya)
50   ((A-n y) "ඤ්")            ; AS ABOVE
51   ((G-n y) "ඤ්")            ; AS ABOVE
52   ("jqMy" "ඥ්")             ; 0x0da5 - taaluja sanyooga naasikyaya (jnya)
53   ((j q A-n y) "ඥ්")                ; AS ABOVE
54   ((j q G-n y) "ඥ්")                ; AS ABOVE
55   ("Mj" "ඦ්")               ; 0x0da6 - sanyaka jayanna (nyja)
56   ((A-n j) "ඦ්")            ; AS ABOVE
57   ((G-n j) "ඦ්")            ; AS ABOVE
58   ("T" "ට්")                ; 0x0da7 - alpapraana ttayanna (tta)
59   ("TH" "ඨ්")               ; 0x0da8 - mahaapraana ttayanna (ttha)
60   ("D" "ඩ්")                ; 0x0da9 - alpapraana ddayanna (dda)
61   ("DH" "ඪ්")               ; 0x0daa - mahaapraana ddayanna (ddha)
62   ("N" "ණ්")                ; 0x0dab - muurdhaja nayanna (nna)
63   ("MD" "ඬ්")               ; 0x0dac - sanyaka ddayanna (nndda)
64   ((A-n D) "ඬ්")            ; AS ABOVE
65   ((G-n D) "ඬ්")            ; AS ABOVE
66   ("t" "ත්")                ; 0x0dad - alpapraana tayanna (ta)
67   ("tH" "ථ්")               ; 0x0dae - mahaapraana tayanna (tha)
68   ("d" "ද්")                ; 0x0daf - alpapraana dayanna (da)
69   ("dH" "ධ්")               ; 0x0db0 - mahaapraana dayanna (dha)
70   ("n" "න්")                ; 0x0db1 - dantaja nayanna (na)
71   ("Md" "ඳ්")               ; 0x0db3 - sanyaka dayanna (nda)
72   ((A-n d) "ඳ්")            ; AS ABOVE
73   ((G-n d) "ඳ්")            ; AS ABOVE
74   ("p" "ප්")                ; 0x0db4 - alpapraana payanna (pa)
75   ("pH" "ඵ්")               ; 0x0db5 - mahaapraana payanna (pha)
76   ("b" "බ්")                ; 0x0db6 - alpapraana bayanna (ba)
77   ("bH" "භ්")               ; 0x0db7 - mahaapraana bayanna (bha)
78   ("m" "ම්")                ; 0x0db8 - mayanna (ma)
79   ("Mb" "ඹ්")               ; 0x0db9 - amba bayanna (mba)
80   ("y" "ය්")                ; 0x0dba - yayanna (ya)
81   ("r" "ර්")                ; 0x0dbb - rayanna (ra)
82   ("l" "ල්")                ; 0x0dbd - dantaja layanna (la)
83   ("v" "ව්")                ; 0x0dc0 - vayanna (va)
84   ("sH" "ශ්")               ; 0x0dc1 - taaluja sayanna (sha)
85   ("SH" "ෂ්")               ; 0x0dc2 - muurdhaja sayanna (ssa)
86   ("s" "ස්")                ; 0x0dc3 - dantaja sayanna (sa)
87   ("h" "හ්")                ; 0x0dc4 - hayanna (ha)
88   ("L" "ළ්")                ; 0x0dc5 - muurdhaja layanna (lla)
89   ("f" "ෆ්")                ; 0x0dc6 - fayanna (fa)
90  )
91
92  (independent
93   ("a" "අ")           ; 0x0d85 - ayanna (a)
94   ("aa" "ආ")          ; 0x0d86 - aayanna (aa)
95   ("ae" "ඇ")          ; 0x0d87 - aeyanna (ae)
96   ("aee" "ඈ")         ; 0x0d88 - aeeyanna (aee)
97   ("i" "ඉ")           ; 0x0d89 - iyanna (i)
98   ("ii" "ඊ")          ; 0x0d8a - iiyanna (ii)
99   ("u" "උ")           ; 0x0d8b - uyanna (u)
100   ("uu" "ඌ")          ; 0x0d8c - uuyanna (uu)
101   ("rI" "ඍ")          ; 0x0d8d - iruyanna (iru)
102   ("rII" "ඎ")         ; 0x0d8e - iruuyanna (iruu)
103   ("lU" "ඏ")          ; 0x0d8f - iluyanna (ilu)
104   ("lUU" "ඐ")         ; 0x0d90 - iluuyanna (iluu)
105   ("e" "එ")           ; 0x0d91 - eyanna (e)
106   ("ee" "ඒ")          ; 0x0d92 - eeyanna (ee)
107   ("ai" "ඓ")          ; 0x0d93 - aiyanna (ai)
108   ("o" "ඔ")           ; 0x0d94 - oyanna (o)
109   ("oo" "ඕ")          ; 0x0d95 - ooyanna (oo)
110   ("au" "ඖ")          ; 0x0d96 - auyanna (au)
111   ("nG" "ං")          ; 0x0d82 - anusvaraya (anusvara)
112   ("H" "ඃ")           ; 0x0d83 - visargaya (visarga)
113   ((A-h) "ඃ")         ; AS ABOVE
114   ((G-h) "ඃ")         ; AS ABOVE
115   ((A-.) "෴")         ; 0x0df4 - kunddaliya (punctuation)
116   ((G-.) "෴")         ; 0x0df4 - kunddaliya (punctuation)
117   ;; Shift-space and Alt-space
118   ((S-\ ) " ")         ; 0x00a0 - no-break space
119   ((A-\ ) "‌")                ; 0x200c - ZWNJ
120   ((G-\ ) "‌")                ; 0x200c - ZWNJ
121  )
122
123  (dependent
124   ("a" (delete @-))     ; (a)
125   ("aa" (delete @-) "ා")      ; 0x0dcf - aela-pilla (aa)
126   ("ae" (delete @-) "ැ")      ; 0x0dd0 - ketti aeda-pilla (ae)
127   ("aee" (delete @-) "ෑ")     ; 0x0dd1 - diga aeda-pilla (aae)
128   ("i" (delete @-) "ි")       ; 0x0dd2 - ketti is-pilla (i)
129   ("ii" (delete @-) "ී")      ; 0x0dd3 - diga is-pilla (ii)
130   ("u" (delete @-) "ු")       ; 0x0dd4 - ketti paa-pilla (u)
131   ("uu" (delete @-) "ූ")      ; 0x0dd6 - diga paa-pilla (uu)
132   ("rU" (delete @-) "ෘ")      ; 0x0dd8 - gaetta-pilla (r)
133   ("rUU" (delete @-) "ෲ")     ; 0x0df2 - diga gaetta-pilla (rr)
134   ("lU" (delete @-) "ෟ")      ; 0x0ddf - gayanukitta (l)
135   ("lUU" (delete @-) "ෳ")     ; 0x0df3 - diga gayanukitta (ll)
136   ("e" (delete @-) "ෙ")       ; 0x0dd9 - kombuva (e)
137   ("ee" (delete @-) "ේ")      ; 0x0dda - diga kombuva (ee)
138   ("ai" (delete @-) "ෛ")      ; 0x0ddb - kombu deka (ai)
139   ("o" (delete @-) "ො")       ; 0x0ddc - kombuva haa aela-pilla (o)
140   ("oo" (delete @-) "ෝ")      ; 0x0ddd - kombuva haa diga aela-pilla (oo)
141   ("au" (delete @-) "ෞ")      ; 0x0dde - kombuva haa gayanukitta (au)
142   ("q" (delete @-) "්‍")            ; 0x0dca,0x200d - join - conjunct letters cons 0DCA ZWJ cons
143   ("Q" (delete @-) "‍්")            ; 0x200d,0x0dca - touch - cons ZWJ 0DCA cons
144  )
145
146  (rakyan
147   ("R" (delete @-) "්‍ර්")              ; 0x0dca,0x200d,0x0dbb - rakaaranshaya
148   ("Y" (delete @-) "්‍ය්")              ; 0x0dca,0x200d,0x0dba - yansaya
149  )
150
151 )
152
153 (state
154  (init
155   (consonants (shift second))
156   (independent)
157  )
158  (second
159   (consonants)
160   (dependent (shift init))
161   (rakyan)
162  )
163 )