89e7bb1f70157f10bf2c316b9b0cb96c2ad5b9c1
[m17n/m17n-db.git] / si-wijesekera-preedit.mim
1 ;; Copyright (C) 2006
2 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
3 ;;   Registration Number H15PRO112
4
5 ;; This file is part of the m17n database; a sub-part of the m17n
6 ;; library.
7
8 ;; The m17n library is free software; you can redistribute it and/or
9 ;; modify it under the terms of the GNU Lesser General Public License
10 ;; as published by the Free Software Foundation; either version 2.1 of
11 ;; the License, or (at your option) any later version.
12
13 ;; The m17n library is distributed in the hope that it will be useful,
14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 ;; Lesser General Public License for more details.
17
18 ;; You should have received a copy of the GNU Lesser General Public
19 ;; License along with the m17n library; if not, write to the Free
20 ;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
21 ;; 02111-1307, USA.
22
23 (input-method si wijesekera-preedit)
24
25 (description "Sinhala input method based on SLS 1134 Rev. 2:2004.
26   <http://www.fonts.lk/doc/sin-kbd-layout4.pdf>
27 This input method uses preedit rather than surrounding text.
28 ")
29
30 (title "සි")
31
32 (map
33  (consonant
34    ("l" "ක")                          ; 0D9A
35    ("L" "ඛ")                          ; 0D9B
36    ("." "ග")                          ; 0D9C
37    (">" "ඝ")                          ; 0D9D
38    ("X" "ඞ")                          ; 0D9E
39    ((A-.) "ඟ") ((0x2E A-z) "ඟ")             ; 0D9F
40    ("p" "ච")                          ; 0DA0
41    ("P" "ඡ")                          ; 0DA1
42    ("c" "ජ")                          ; 0DA2
43    ("C" "ඣ")                          ; 0DA3
44    ("\[" "ඤ")                         ; 0DA4
45    ("{" "ඥ")                          ; 0DA5
46    ((A-c) "ඦ") ((0x63 A-z) "ඦ")             ; 0DA6
47    ("g" "ට")                          ; 0DA7
48    ("G" "ඨ")                          ; 0DA8
49    ("v" "ඩ")                          ; 0DA9
50    ("V" "ඪ")                          ; 0DAA
51    ("K" "ණ")                          ; 0DAB
52    ((A-v) "ඬ") ((0x76 A-z) "ඬ")             ; 0DAC
53    (";" "ත")                          ; 0DAD
54    (":" "ථ")                          ; 0DAE
55    ("o" "ද")                          ; 0DAF
56    ("O" "ධ")                          ; 0DB0
57    ("k" "න")                          ; 0DB1
58    ((A-o) "ඳ") ((0x6F A-z) "ඳ")             ; 0DB3
59    ("m" "ප")                          ; 0DB4
60    ("M" "ඵ")                          ; 0DB5
61    ("n" "බ")                          ; 0DB6
62    ("N" "භ")                          ; 0DB7
63    ("u" "ම")                          ; 0DB8
64    ("U" "ඹ")                          ; 0DB9
65    ("h" "ය")                          ; 0DBA
66    ("r" "ර")                          ; 0DBB
67    ("," "ල")                          ; 0DBD
68    ("j" "ව")                          ; 0DC0
69    ("Y" "ශ")                          ; 0DC1
70    ("I" "ෂ")                          ; 0DC2
71    ("i" "ස")                          ; 0DC3
72    ("y" "හ")                          ; 0DC4
73    ("<" "ළ")                          ; 0DC5
74    ("F" "ෆ")                          ; 0DC6
75
76    ("<q" "ළු")                              ; muurdhaja lu (0DC5 0DD4)
77    ("<qE" "ළූ")                             ; 0DC5 0DD6
78    )
79
80  (others
81   ("x" "ං")                           ; 0D82
82   ((A-x) "ඃ")                         ; 0D83
83
84   ("w" "අ")                           ; 0D85
85   ("wd" "ආ")                          ; 0D86
86   ("we" "ඇ")                          ; 0D87
87   ("wE" "ඈ")                          ; 0D88
88   ("b" "ඉ")                           ; 0D89
89   ("B" "ඊ")                           ; 0D8A
90   ("W" "උ")                           ; 0D8B
91   ("WA" "ඌ")                          ; 0D8C
92   ("R" "ඍ")                           ; 0D8D
93   ("RD" "ඎ")                          ; 0D8E
94   ((A-,) "ඏ")                         ; 0D8F
95   ((A-, 0x41) "ඐ")                    ; 0D90
96   ("t" "එ")                           ; 0D91
97   ("ta" "ඒ")                          ; 0D92
98
99   ("T" "ඔ")                           ; 0D94
100   ("Ta" "ඕ")                          ; 0D95
101   ("TA" "ඖ")                          ; 0D96
102
103   ("a" "්")                           ; 0DCA
104
105   ("d" "ා")                           ; 0DCF
106   ("e" "ැ")                           ; 0DD0
107   ("E" "ෑ")                           ; 0DD1
108
109   ("q" "ු")                           ; 0DD4
110
111   ("Q" "ූ")                           ; 0DD6
112
113   ("D" "ෘ")                           ; 0DD8
114
115   ("A" "ෟ")                           ; 0DDF
116
117   ("DD" "ෲ")                          ; 0DF2
118   ((A-a) "ෳ")                         ; 0DF3
119   ((A-') "෴")                         ; 0DF4
120
121   ("J" "ළු")                                ; muurdhaja lu (0DC5 0DD4)
122   ("JE" "ළූ")                               ; 0DC5 0DD6
123
124   ((S-\ ) " ")                         ; NBSP (00A0)
125   ((A-\ ) "‌")                                ; ZWNJ (200C)
126
127   ("H" "්‍ය")                             ; yansaya (0DCA 200D 0DBA)
128   ("`" "්‍ර")                             ; rakaransaya (0DCA 200D 0DBB)
129   ("~" "ර්‍")                             ; repaya (0DBB 0DCA 200D)
130
131   ("\]" ";")
132   ("}" ":")
133   ("'" ".")
134   ("\"" ",")
135   ("z" "'")
136   ("Z" "\"")
137   )
138
139  (is-pilla
140   ("s" "ි")                           ; 0DD2
141   ("S" "ී"))                          ; 0DD3
142
143  (kombuva
144   ("f" "ෙ"))                          ; 0DD9
145
146  (yansaka
147   ("H"))
148
149  (rakaransaya
150   ("`"))
151
152  (repaya
153   ("~"))
154
155  (eyanna
156   ("w"))
157
158  (al-lakuna
159   ("a"))
160
161  (aela-pilla
162   ("d"))
163
164  (gayanukitta
165   ("A"))
166
167  (join
168   ("\\")
169   ("|"))
170
171  (backspace
172   ((BackSpace)))
173  )
174
175 (state
176  (init
177   (consonant (shift consonant))
178   (others)
179   (is-pilla (shift is-pilla))
180   (kombuva (shift kombuva)))
181
182  (consonant
183   (rakaransaya 0x0DCA 0x200D 0x0DBB)
184   (yansaya 0x0DCA 0x200D 0x0DBA)
185   (repaya (move @-) 0x0DBB 0x0DCA 0x200D (move @+))
186   (is-pilla (shift is-pilla))
187   (join 0x0DCA 0x200D (shift consonant+join)))
188
189  (consonant+join
190   (consonant (shift consonant))
191   (backspace (undo)))
192
193  (is-pilla
194   (rakaransaya (move @-) 0x0DCA 0x200D 0x0DBB (shift init)))
195
196  (kombuva
197   (eyanna (delete @<) 0x0D93 (shift init))
198   (al-lakuna (delete @<) 0x0DDA (shift init))
199   (kombuva (delete @<) 0x0DDB (shift combu_deka))
200   (aela-pilla (delete @<) 0x0DDC (shift kombuva_haa_aela-pilla))
201   (gayanukitta (delete @<) 0x0DDE (shift init))
202   (consonant (move @1) (delete @0) (move @>) 0x0DD9 (shift consonant+kombuva))
203   (backspace (undo)))
204
205  (combu_deka
206   (consonant (move @1) (delete @0) (move @>) 0x0DDB (shift init))
207   (backspace (undo)))
208
209  (kombuva_haa_aela-pilla
210   (al-lakuna (delete @<) 0x0DDD (shift init))
211   (backspace (undo)))
212
213  (consonant+kombuva
214   (al-lakuna (delete @-) 0x0DDA (shift init))
215   (aela-pilla (delete @-) 0x0DDC (shift consonant+kombuva_haa_aela-pilla))
216   (gayanukitta (delete @-) 0x0DDE (shift init))
217   (yansaka (move @-) 0x0DCA 0x200D 0x0DBA (move @>))
218   (rakaransaya (move @-) 0x0DCA 0x200D 0x0DBB (move @>))
219   (join (shift consonant+join+kombuva))
220   (touch (move @-) 0x200D 0x0DCA (move @>))
221   (backspace (undo)))
222
223  (consonant+kombuva_haa_aela-pilla
224   (al-lakuna (delete @-) 0x0DDD (shift init))
225   (backspace (undo)))
226
227  (consonant+join+kombuva
228   (consonant (move @-) (delete @-) 0x0DCA 0x200D (move @+) 0x0DD9
229              (shift consonant+kombuva))
230   (backspace (undo)))
231  )
232
233 ;; Local Variables:
234 ;; coding: utf-8
235 ;; mode: emacs-lisp
236 ;; End: