1 ;; si-trans.mim -- Sinhala transliteration keymap
2 ;; Copyright (C) 2007-2011 Harshula Jayasuriya <harshula@gmail.com>
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.
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.
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.
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
24 ;; http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_5.html
27 (input-method si transliteration)
29 (description "Sinhala transliteration input method:
30 <http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_5.html>"
33 (title "සි (Transliteration)")
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)
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
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
147 ("R" (delete @-) "්ර්") ; 0x0dca,0x200d,0x0dbb - rakaaranshaya
148 ("Y" (delete @-) "්ය්") ; 0x0dca,0x200d,0x0dba - yansaya
155 (consonants (shift second))
160 (dependent (shift init))