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