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