1 ;; Copyright (C) 2005, 2006
2 ;; National Institute of Advanced Industrial Science and Technology (AIST)
3 ;; Registration Number H15PRO112
5 ;; This file is part of the m17n database; a sub-part of the m17n
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.
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.
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
23 (input-method si wijesekera)
25 (description "Sinhala input method based on SLS 1134 Rev. 2:2004.
26 <http://http://www.fonts.lk/doc/sin-kbd-layout4.pdf>
105 ("|" "්") ; touch (ZWJ 0DCA)
106 ("J" "ළු") ; muurdhaja lu (0DC5 0DD4)
118 ((| (< c 0x0D9A) (> c 0x0DC6))
213 ((& (>= c 0x0D9A) (<= c 0x0DC6))
239 ((& (= c 0x200C) (= @+2 0x0DD9))
243 (| (< @-2 0x0D9A) (> @-2 0x0DC6)))
246 ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
279 ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
280 0x0DCA 0x200D 0x0DBA))
289 ((| (= c 0x0DD9) (= c 0x0DDB) (= c 0x0DD2) (= c 0x0DD3))
294 ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
295 0x0DCA 0x200D 0x0DBB))
300 ;; Repaya is disabled.
304 ;; ((| (= c 0x0DD9) (= c 0x0DDB))
310 ;; ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
315 ;; 0x0DBB 0x0DCA 0x200D))
322 (delete-preceding-zw)
344 (cond ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6)) 0x200C))
351 ((& (>= c 0x0D9A) (<= c 0x0DC6) (= @-2 0x0DCA) (= @-1 0x200D))
356 ((| (< @-1 0x0D9A) (> @-1 0x0DC6)))
361 ((& (>= @+1 0x0D9A) (<= @+1 0x0DC6))
381 ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
385 ((& (>= @-4 0x0D9A) (<= @-4 0x0DC6) (= @-3 0x0DCA) (= @-2 0x200D))
397 ((| (< @-1 0x0D9A) (> @-1 0x0DC6))
399 ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
403 ((& (>= @-4 0x0D9A) (<= @-4 0x0DC6) (= @-3 0x0DCA) (= @-2 0x200D))
422 (| (= @+1 0x0DD9) (= @+1 0x0DDB)))
426 (delete-following-zw)
454 ((& (>= c 0x0D9A) (<= c 0x0DC6))
486 ("\\" (shift join))))
492 (delete-preceding-zw (set x 0))
493 (delete-following-zw (set x 0))
495 ;; skip following (virama zwj consonant)* sequence
499 ((& (= @+1 0x0DCA) (= @+2 0x200D) (>= cc3 0x0D9A) (<= cc3 0x0DC6))
508 ((& (= @-3 0x0DCA) (= @-2 0x200D) (>= cc1 0x0D9A) (<= cc1 0x0DC6))
518 ((| (= @-1 0x200C) (= @-1 0x200D))
520 (delete-preceding-zw))))
524 ((| (= @+1 0x200C) (= @+1 0x200D))
526 (delete-following-zw))))
542 ((| (< @-2 0x0D9A) (> @-2 0x0DC6))
550 ((| (< @-2 0x0D9A) (> @-2 0x0DC6))
559 ((| (= c 0x0DD9) (= c 0x0DDB))
561 ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
567 ((& (>= c 0x0D9A) (<= c 0x0DC6))