majain 6d66707
--- m17n-db-1.3.3/si-wijesekera.mim.orig	2006-11-28 12:51:48.000000000 +0530
majain 6d66707
+++ m17n-db-1.3.3/si-wijesekera.mim	2006-10-16 18:47:08.000000000 +0530
majain 6d66707
@@ -1,4 +1,4 @@
majain 6d66707
-;; Copyright (C) 2005
majain 6d66707
+;; Copyright (C) 2006
majain 6d66707
 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
majain 6d66707
 ;;   Registration Number H15PRO112
majain 6d66707
 
majain 6d66707
@@ -20,491 +20,231 @@
majain 6d66707
 ;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
majain 6d66707
 ;; 02111-1307, USA.
majain 6d66707
 
majain 6d66707
-(input-method si wijesekera)
majain 6d66707
+(input-method si wijesekera)
majain 6d66707
 
majain 6d66707
 (description "Sinhala input method based on SLS 1134 Rev. 2:2004.
majain 6d66707
-  <http://http://www.fonts.lk/doc/sin-kbd-layout4.pdf>
majain 6d66707
+ 
majain 6d66707
+Reference URL :  http://http://www.fonts.lk/doc/sin-kbd-layout4.pdf
majain 6d66707
+
majain 6d66707
+This input method uses preedit rather than surrounding text.
majain 6d66707
+
majain 6d66707
+Key Summary :
majain 6d66707
+ඳ	-->	alt-gr+o
majain 6d66707
+ඟ	-->	alt-gr+.
majain 6d66707
+ඬ	-->	alt-gr+v
majain 6d66707
+ඦ	-->	alt-gr+c
majain 0029a9e
+ඃ	-->	alt-gr+x
majain 6d66707
+෴ 	-->	alt-gr+'
majain 6d66707
+
majain 6d66707
+Key summary: Tyronne Wickramarathne <tywickra@redhat.com>
majain 6d66707
+
majain 6d66707
 ")
majain 6d66707
 
majain 6d66707
-(title "Wijesekera")
majain 6d66707
+(title "සි")
majain 6d66707
 
majain 6d66707
 (map
majain 6d66707
  (consonant
majain 6d66707
-  ("l" "ක")				; 0D9A
majain 6d66707
-  ("L" "ඛ")				; 0D9B
majain 6d66707
-  ("." "ග")				; 0D9C
majain 6d66707
-  (">" "ඝ")				; 0D9D
majain 6d66707
-  ("X" "ඞ")				; 0D9E
majain 6d66707
-  ((A-.) "ඟ")				; 0D9F
majain 6d66707
-  ("p" "ච")				; 0DA0
majain 6d66707
-  ("P" "ඡ")				; 0DA1
majain 6d66707
-  ("c" "ජ")				; 0DA2
majain 6d66707
-  ("C" "ඣ")				; 0DA3
majain 6d66707
-  ("\[" "ඤ")				; 0DA4
majain 6d66707
-  ("{" "ඥ")				; 0DA5
majain 6d66707
-  ((A-c) "ඦ")				; 0DA6
majain 6d66707
-  ("g" "ට")				; 0DA7
majain 6d66707
-  ("G" "ඨ")				; 0DA8
majain 6d66707
-  ("v" "ඩ")				; 0DA9
majain 6d66707
-  ("V" "ඪ")				; 0DAA
majain 6d66707
-  ("K" "ණ")				; 0DAB
majain 6d66707
-  ((A-v) "ඬ")				; 0DAC
majain 6d66707
-  (";" "ත")				; 0DAD
majain 6d66707
-  (":" "ථ")				; 0DAE
majain 6d66707
-  ("o" "ද")				; 0DAF
majain 6d66707
-  ("O" "ධ")				; 0DB0
majain 6d66707
-  ("k" "න")				; 0DB1
majain 6d66707
-  ((A-o) "ඳ")				; 0DB3
majain 6d66707
-  ("m" "ප")				; 0DB4
majain 6d66707
-  ("M" "ඵ")				; 0DB5
majain 6d66707
-  ("n" "බ")				; 0DB6
majain 6d66707
-  ("N" "භ")				; 0DB7
majain 6d66707
-  ("u" "ම")				; 0DB8
majain 6d66707
-  ("U" "ඹ")				; 0DB9
majain 6d66707
-  ("h" "ය")				; 0DBA
majain 6d66707
-  ("r" "ර")				; 0DBB
majain 6d66707
-  ("," "ල")				; 0DBD
majain 6d66707
-  ("j" "ව")				; 0DC0
majain 6d66707
-  ("Y" "ශ")				; 0DC1
majain 6d66707
-  ("I" "ෂ")				; 0DC2
majain 6d66707
-  ("i" "ස")				; 0DC3
majain 6d66707
-  ("y" "හ")				; 0DC4
majain 6d66707
-  ("<" "ළ")				; 0DC5
majain 6d66707
-  ("F" "ෆ")				; 0DC6
majain 6d66707
-  )
majain 6d66707
+   ("l" "ක")				; 0D9A
majain 6d66707
+   ("L" "ඛ")				; 0D9B
majain 6d66707
+   ("." "ග")				; 0D9C
majain 6d66707
+   (">" "ඝ")				; 0D9D
majain 6d66707
+   ("X" "ඞ")				; 0D9E
majain 6d66707
+   ((A-.) "ඟ") ((0x2E A-z) "ඟ")		; 0D9F
majain 6d66707
+   ("p" "ච")				; 0DA0
majain 6d66707
+   ("P" "ඡ")				; 0DA1
majain 6d66707
+   ("c" "ජ")				; 0DA2
majain 6d66707
+   ("C" "ඣ")				; 0DA3
majain 6d66707
+   ("\[" "ඤ")				; 0DA4
majain 6d66707
+   ("{" "ඥ")				; 0DA5
majain 6d66707
+   ((A-c) "ඦ") ((0x63 A-z) "ඦ")		; 0DA6
majain 6d66707
+   ("g" "ට")				; 0DA7
majain 6d66707
+   ("G" "ඨ")				; 0DA8
majain 6d66707
+   ("v" "ඩ")				; 0DA9
majain 6d66707
+   ("V" "ඪ")				; 0DAA
majain 6d66707
+   ("K" "ණ")				; 0DAB
majain 6d66707
+   ((A-v) "ඬ") ((0x76 A-z) "ඬ")		; 0DAC
majain 6d66707
+   (";" "ත")				; 0DAD
majain 6d66707
+   (":" "ථ")				; 0DAE
majain 6d66707
+   ("o" "ද")				; 0DAF
majain 6d66707
+   ("O" "ධ")				; 0DB0
majain 6d66707
+   ("k" "න")				; 0DB1
majain 6d66707
+   ((A-o) "ඳ") ((0x6F A-z) "ඳ")		; 0DB3
majain 6d66707
+   ("m" "ප")				; 0DB4
majain 6d66707
+   ("M" "ඵ")				; 0DB5
majain 6d66707
+   ("n" "බ")				; 0DB6
majain 6d66707
+   ("N" "භ")				; 0DB7
majain 6d66707
+   ("u" "ම")				; 0DB8
majain 6d66707
+   ("U" "ඹ")				; 0DB9
majain 6d66707
+   ("h" "ය")				; 0DBA
majain 6d66707
+   ("r" "ර")				; 0DBB
majain 6d66707
+   ("," "ල")				; 0DBD
majain 6d66707
+   ("j" "ව")				; 0DC0
majain 6d66707
+   ("Y" "ශ")				; 0DC1
majain 6d66707
+   ("I" "ෂ")				; 0DC2
majain 6d66707
+   ("i" "ස")				; 0DC3
majain 6d66707
+   ("y" "හ")				; 0DC4
majain 6d66707
+   ("<" "ළ")				; 0DC5
majain 6d66707
+   ("F" "ෆ")				; 0DC6
majain 6d66707
+
majain 6d66707
+   ("
majain 6d66707
+   ("
majain 6d66707
+   )
majain 6d66707
 
majain 6d66707
- (misc
majain 6d66707
+ (others
majain 6d66707
   ("x" "ං")				; 0D82
majain 6d66707
   ((A-x) "ඃ")				; 0D83
majain 6d66707
 
majain 6d66707
   ("w" "අ")				; 0D85
majain 6d66707
+  ("wd" "ආ")				; 0D86
majain 6d66707
+  ("we" "ඇ")				; 0D87
majain 6d66707
+  ("wE" "ඈ")				; 0D88
majain 6d66707
   ("b" "ඉ")				; 0D89
majain 6d66707
   ("B" "ඊ")				; 0D8A
majain 6d66707
   ("W" "උ")				; 0D8B
majain 6d66707
+  ("WA" "ඌ")				; 0D8C
majain 6d66707
   ("R" "ඍ")				; 0D8D
majain 6d66707
+  ("RD" "ඎ")				; 0D8E
majain 6d66707
   ((A-,) "ඏ")				; 0D8F
majain 6d66707
+  ((A-, 0x41) "ඐ")			; 0D90
majain 6d66707
+  ("t" "එ")				; 0D91
majain 6d66707
+  ("ta" "ඒ")				; 0D92
majain 6d66707
 
majain 6d66707
   ("T" "ඔ")				; 0D94
majain 6d66707
+  ("Ta" "ඕ")				; 0D95
majain 6d66707
+  ("TA" "ඖ")				; 0D96
majain 6d66707
+
majain 6d66707
+  ("a" "්")				; 0DCA
majain 6d66707
+
majain 6d66707
+  ("d" "ා")				; 0DCF
majain 6d66707
+  ("e" "ැ")				; 0DD0
majain 6d66707
+  ("E" "ෑ")				; 0DD1
majain 6d66707
 
majain 6d66707
-  ("s" "ි")				; 0DD2
majain 6d66707
-  ("S" "ී")				; 0DD3
majain 6d66707
   ("q" "ු")				; 0DD4
majain 6d66707
 
majain 6d66707
   ("Q" "ූ")				; 0DD6
majain 6d66707
 
majain 6d66707
+  ("D" "ෘ")				; 0DD8
majain 6d66707
+
majain 6d66707
+  ("A" "ෟ")				; 0DDF
majain 6d66707
+
majain 6d66707
+  ("DD" "ෲ")				; 0DF2
majain 6d66707
   ((A-a) "ෳ")				; 0DF3
majain 6d66707
   ((A-') "෴")				; 0DF4
majain 6d66707
 
majain 6d66707
+  ("J" "ළු")				; muurdhaja lu (0DC5 0DD4)
majain 6d66707
+  ("JE" "ළූ")				; 0DC5 0DD6
majain 6d66707
+
majain 6d66707
+  ((S-\ ) " ")				; NBSP (00A0)
majain 6d66707
+  ((A-\ ) "‌")				; ZWNJ (200C)
majain 6d66707
+
majain 6d66707
+  ("H" "්‍ය")				; yansaya (0DCA 200D 0DBA)
majain 6d66707
+  ("`" "්‍ර")				; rakaransaya (0DCA 200D 0DBB)
majain 6d66707
+  ("~" "ර්‍")				; repaya (0DBB 0DCA 200D)
majain 6d66707
+
majain 6d66707
   ("\]" ";")
majain 6d66707
   ("}" ":")
majain 6d66707
   ("'" ".")
majain 6d66707
   ("\"" ",")
majain 6d66707
   ("z" "'")
majain 6d66707
   ("Z" "\"")
majain 6d66707
+  )
majain 6d66707
 
majain 6d66707
-  ("|" "‍්")				; touch (ZWJ 0DCA)
majain 6d66707
-  ("J" "ළු")				; muurdhaja lu (0DC5 0DD4)
majain 6d66707
-  ((S-\ ) " ")				; NBSP
majain 6d66707
-  ((A-\ ) "‌")				; ZWNJ
majain 6d66707
+ (is-pilla
majain 6d66707
+  ("s" "ි")				; 0DD2
majain 6d66707
+  ("S" "ී"))				; 0DD3
majain 6d66707
 
majain 6d66707
-  ("t"
majain 6d66707
-   (set c @-2)
majain 6d66707
-   (cond
majain 6d66707
-    ((= @-1 0x0DD9)
majain 6d66707
-     (cond
majain 6d66707
-      ((= c 0x200C)
majain 6d66707
-       (delete @-2)
majain 6d66707
-       0x0D93)
majain 6d66707
-      ((| (< c 0x0D9A) (> c 0x0DC6))
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x0D93)
majain 6d66707
-      (1
majain 6d66707
-       0x0D91)))
majain 6d66707
-    (1
majain 6d66707
-     0x0D91)))
majain 6d66707
-
majain 6d66707
-  ("a"
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0D91)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D92)
majain 6d66707
-    ((= c 0x0D94)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D95)
majain 6d66707
-    ((= c 0x0DD9)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DDA)
majain 6d66707
-    ((= c 0x0DDC)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DDD)
majain 6d66707
-    (1
majain 6d66707
-     0x0DCA)))
majain 6d66707
-
majain 6d66707
-  ("d"
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0D85)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D86)
majain 6d66707
-    ((= c 0x0DD9)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DDC)
majain 6d66707
-    (1
majain 6d66707
-     0x0DCF)))
majain 6d66707
-
majain 6d66707
-  ("e"
majain 6d66707
-   (cond
majain 6d66707
-    ((= @-1 0x0D85)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D87)
majain 6d66707
-    (1
majain 6d66707
-     0x0DD0)))
majain 6d66707
-
majain 6d66707
-  ("E"
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0D85)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D88)
majain 6d66707
-    ((= c 0x0DD4)
majain 6d66707
-     (cond
majain 6d66707
-      ((= @-2 0x0DC5)
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x0DD6)
majain 6d66707
-      (1
majain 6d66707
-       0x0DD1)))
majain 6d66707
-    (1
majain 6d66707
-     0x0DD1)))     
majain 6d66707
-
majain 6d66707
-  ("D"
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0D8D)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D8E)
majain 6d66707
-    ((= c 0x0DD8)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DF2)
majain 6d66707
-    (1
majain 6d66707
-     0x0DD8)))
majain 6d66707
-
majain 6d66707
-  ("A"
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0D8B)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D8C)
majain 6d66707
-    ((= c 0x0D8F)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D90)
majain 6d66707
-    ((= c 0x0D94)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D96)
majain 6d66707
-    ((= c 0x0DD9)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DDE)
majain 6d66707
-    (1
majain 6d66707
-     0x0DDF)))
majain 6d66707
-
majain 6d66707
-  ("f"
majain 6d66707
-   (set c @+1)
majain 6d66707
-   (cond
majain 6d66707
-    ((& (> c 0x0D99) (< c 0x0DC7))
majain 6d66707
-     (delete @+1)
majain 6d66707
-     (insert c)
majain 6d66707
-     (forward)
majain 6d66707
-     (set c @+1)
majain 6d66707
-     (cond
majain 6d66707
-      ((= c 0x0DCA)
majain 6d66707
-       (delete @+1)
majain 6d66707
-       0x0DDA)
majain 6d66707
-      ((= c 0x0DD9)
majain 6d66707
-       (delete @+1)
majain 6d66707
-       0x0DDB)
majain 6d66707
-      ((= c 0x0DCF)
majain 6d66707
-       (delete @+1)
majain 6d66707
-       0x0DDC)
majain 6d66707
-      ((= c 0x0DDF)
majain 6d66707
-       (delete @+1)
majain 6d66707
-       0x0DDE)
majain 6d66707
-      (1
majain 6d66707
-       0x0DD9)))
majain 6d66707
-    ((= c 0x0D91)
majain 6d66707
-     (delete @+1)
majain 6d66707
-     0x0D93)
majain 6d66707
-    ((= c 0x0DD9)
majain 6d66707
-     (delete @+1)
majain 6d66707
-     0x0DDB)
majain 6d66707
-    ((& (= c 0x200C) (= @+2 0x0DD9))
majain 6d66707
-     (delete @+2)
majain 6d66707
-     0x200C 0x0DDB)
majain 6d66707
-    ((& (= @-1 0x0DD9)
majain 6d66707
-	(| (< @-2 0x0D9A) (> @-2 0x0DC6)))
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DDB)
majain 6d66707
-    ((& (> @-1 0x0D99) (< @-1 0xDC7))
majain 6d66707
-     0x200C 0x0DD9)
majain 6d66707
-    (1
majain 6d66707
-     0x0DD9)))
majain 6d66707
-   
majain 6d66707
-  ;; sanyaka letters
majain 6d66707
-  ((A-z)
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0DAF)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DB3)
majain 6d66707
-    ((= c 0x0D9C)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0D9F)
majain 6d66707
-    ((= c 0x0DA9)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DAC)
majain 6d66707
-    ((= c 0x0DA2)
majain 6d66707
-     (delete @-1)
majain 6d66707
-     0x0DA6)))
majain 6d66707
-
majain 6d66707
-  ;; yansaya
majain 6d66707
-  ("H"
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0DD9)
majain 6d66707
-     (delete @-1))
majain 6d66707
-    ((= c 0x0DDB)
majain 6d66707
-     (delete @-1))
majain 6d66707
-    (1
majain 6d66707
-     (set c 0)))
majain 6d66707
-   (cond
majain 6d66707
-    ((& (> @-1 0x0D99) (< @-1 0x0DC6))
majain 6d66707
-     0x0DCA 0x200D 0x0DBA))
majain 6d66707
-   (cond
majain 6d66707
-    ((> c 0)
majain 6d66707
-     (insert c))))
majain 6d66707
-
majain 6d66707
-  ;; rakaransaya
majain 6d66707
-  ("`"
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((| (= c 0x0DD9) (= c 0x0DDB) (= c 0x0DD2) (= c 0x0DD3))
majain 6d66707
-     (delete @-1))
majain 6d66707
-    (1
majain 6d66707
-     (set c 0)))
majain 6d66707
-   (cond
majain 6d66707
-    ((& (> @-1 0x0D99) (< @-1 0x0DC7))
majain 6d66707
-     0x0DCA 0x200D 0x0DBB))
majain 6d66707
-   (cond
majain 6d66707
-    ((> c 0)
majain 6d66707
-     (insert c))))
majain 6d66707
-
majain 6d66707
-;; Repaya is disabled.
majain 6d66707
-;;   ("~"
majain 6d66707
-;;    (set c @-1)
majain 6d66707
-;;    (cond
majain 6d66707
-;;     ((| (= c 0x0DD9) (= c 0x0DDB))
majain 6d66707
-;;      (delete @-1))
majain 6d66707
-;;     (1
majain 6d66707
-;;      (set c 0)))
majain 6d66707
-;;    (backward)
majain 6d66707
-;;    (cond
majain 6d66707
-;;     ((& (> @-1 0x0D99) (< @-1 0x0DC7))
majain 6d66707
-;;      (set c1 @-1)
majain 6d66707
-;;      (delete @-1)
majain 6d66707
-;;      (insert c1)
majain 6d66707
-;;      (move @<)
majain 6d66707
-;;      0x0DBB 0x0DCA 0x200D))
majain 6d66707
-;;    (cond
majain 6d66707
-;;     ((> c 0)
majain 6d66707
-;;      (move @>)
majain 6d66707
-;;      (insert c))))
majain 6d66707
-
majain 6d66707
-  ((BackSpace)
majain 6d66707
-   (delete-preceding-zw)
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((< c 0)
majain 6d66707
-     (unhandle)))
majain 6d66707
-   (delete @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((= c 0x0D86)
majain 6d66707
-     0x0D85)
majain 6d66707
-    ((= c 0x0D87)
majain 6d66707
-     0x0D85)
majain 6d66707
-    ((= c 0x0D88)
majain 6d66707
-     0x0D85)
majain 6d66707
-    ((= c 0x0D8C)
majain 6d66707
-     0x0D8B)
majain 6d66707
-    ((= c 0x0D8E)
majain 6d66707
-     0x0D8D)
majain 6d66707
-    ((= c 0x0D90)
majain 6d66707
-     0x0D8F)
majain 6d66707
-    ((= c 0x0D92)
majain 6d66707
-     0x0D8F)
majain 6d66707
-    ((= c 0x0D93)
majain 6d66707
-     (cond ((& (> @-1 0x0D99) (< @-1 0x0DC7)) 0x200C))
majain 6d66707
-     0x0DD9)
majain 6d66707
-    ((= c 0x0D95)
majain 6d66707
-     0x0D94)
majain 6d66707
-    ((= c 0x0D96)
majain 6d66707
-     0x0D94)
majain 6d66707
-
majain 6d66707
-    ((& (> c 0x0D99) (< c 0x0DC7) (= @-2 0x0DCA) (= @-1 0x200D))
majain 6d66707
-     (delete @-2))
majain 6d66707
-
majain 6d66707
-    ((= c 0x0DD9)
majain 6d66707
-     (cond
majain 6d66707
-      ((| (< @-1 0x0D9A) (> @-1 0x0DC6)))
majain 6d66707
-      ((= @+1 0x0D91)
majain 6d66707
-       (delete @-1)
majain 6d66707
-       (delete @+1)
majain 6d66707
-       0x0D93)
majain 6d66707
-      ((& (> @+1 0x0D99) (< @+1 0x0DC7))
majain 6d66707
-       (set c1 @+1)
majain 6d66707
-       (cond
majain 6d66707
-	((= @+2 0x0DD9)
majain 6d66707
-	 (merge-combuva)
majain 6d66707
-	 0x0DDB)
majain 6d66707
-	((= @+2 0x0DCA)
majain 6d66707
-	 (merge-combuva)
majain 6d66707
-	 0x0DDA)
majain 6d66707
-	((= @+2 0x0DCF)
majain 6d66707
-	 (merge-combuva)
majain 6d66707
-	 0x0DDC)
majain 6d66707
-	((= @+2 0x0DDF)
majain 6d66707
-	 (merge-combuva)
majain 6d66707
-	 0x0DDE)
majain 6d66707
-	(1
majain 6d66707
-	 (delete @-1)
majain 6d66707
-	 (delete @+1)
majain 6d66707
-	 (insert c1)
majain 6d66707
-	 0x0DD9)))
majain 6d66707
-      ((& (> @-2 0x0D99) (< @-2 0x0DC7))
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x200C
majain 6d66707
-       0x0DD9)
majain 6d66707
-      ((& (> @-4 0x0D99) (< @-4 0x0DC7) (= @-3 0x0DCA) (= @-2 0x200D))
majain 6d66707
-       (delete @-3)
majain 6d66707
-       0x0DD9)
majain 6d66707
-      (1
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x0DD9)))
majain 6d66707
-
majain 6d66707
-    ((= c 0x0DDA)
majain 6d66707
-     0x0DD9)
majain 6d66707
-
majain 6d66707
-    ((= c 0x0DDB)
majain 6d66707
-     (cond
majain 6d66707
-      ((| (< @-1 0x0D9A) (> @-1 0x0DC6))
majain 6d66707
-       0x0DD9)
majain 6d66707
-      ((& (> @-2 0x0D99) (< @-2 0x0DC7))
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x200C
majain 6d66707
-       0x0DDB)
majain 6d66707
-      ((& (> @-4 0x0D99) (< @-4 0x0DC7) (= @-3 0x0DCA) (= @-2 0x200D))
majain 6d66707
-       (delete @-3)
majain 6d66707
-       0x0DDB)
majain 6d66707
-      (1
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x0DDB)))
majain 6d66707
-
majain 6d66707
-    ((= c 0x0DDC)
majain 6d66707
-     0x0DD9)
majain 6d66707
-    ((= c 0x0DDD)
majain 6d66707
-     0x0DDC)
majain 6d66707
-    ((= c 0x0DDE)
majain 6d66707
-     0x0DD9)
majain 6d66707
-    ((= c 0x0DF2)
majain 6d66707
-     0x0DD8))
majain 6d66707
-
majain 6d66707
-   (cond
majain 6d66707
-    ((& (> @-1 0x0D99)
majain 6d66707
-	(< @-1 0x0DC7)
majain 6d66707
-	(| (= @+1 0x0DD9) (= @+1 0x0DDB)))
majain 6d66707
-     0x200C)))
majain 6d66707
-
majain 6d66707
-  ("\\" (shift join))))
majain 6d66707
-
majain 6d66707
-(macro
majain 6d66707
- ;; prototype
majain 6d66707
- (forward (set x 0))
majain 6d66707
- (backward (set x 0))
majain 6d66707
- (delete-preceding-zw (set x 0))
majain 6d66707
-
majain 6d66707
- ;; skip following (virama zwj consonant)* sequence
majain 6d66707
- (forward
majain 6d66707
-  (set cc3 @+3)
majain 6d66707
-  (cond
majain 6d66707
-   ((& (= @+1 0x0DCA) (= @+2 0x200D) (> cc3 0x0D99) (< cc3 0x0DC7))
majain 6d66707
-    (delete @+3)
majain 6d66707
-    0x0DCA 0x200D
majain 6d66707
-    (insert cc3)
majain 6d66707
-    (forward))))
majain 6d66707
-
majain 6d66707
- (backward
majain 6d66707
-  (set cc1 @-1)
majain 6d66707
-  (cond
majain 6d66707
-   ((& (= @-3 0x0DCA) (= @-2 0x200D) (> cc1 0x0D99) (< cc1 0x0DC7))
majain 6d66707
-    (delete @-3)
majain 6d66707
-    0x0DCA
majain 6d66707
-    0x200D
majain 6d66707
-    (insert cc1)
majain 6d66707
-    (move @<)
majain 6d66707
-    (backward))))
majain 6d66707
-
majain 6d66707
- (delete-preceding-zw
majain 6d66707
-  (cond
majain 6d66707
-   ((| (= @-1 0x200C) (= @-1 0x200D))
majain 6d66707
-    (delete @-1)
majain 6d66707
-    (delete-preceding-zw))))
majain 6d66707
-
majain 6d66707
- (merge-combuva
majain 6d66707
-  (delete @-1)
majain 6d66707
-  (delete @+2)
majain 6d66707
-  (insert c1)))
majain 6d66707
+ (kombuva
majain 6d66707
+  ("f" "ෙ"))				; 0DD9
majain 6d66707
 
majain 6d66707
-(state
majain 6d66707
- (init
majain 6d66707
-  (consonant
majain 6d66707
-   (cond
majain 6d66707
-    ((= @-1 0x0DD9)
majain 6d66707
-     (cond
majain 6d66707
-      ((= @-2 0x200C)
majain 6d66707
-       (delete @-2)
majain 6d66707
-       0x0DD9)
majain 6d66707
-      ((| (< @-2 0x0D9A) (> @-2 0x0DC6))
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x0DD9)))
majain 6d66707
-    ((= @-1 0x0DDB)
majain 6d66707
-     (cond
majain 6d66707
-      ((= @-2 0x200C)
majain 6d66707
-       (delete @-2)
majain 6d66707
-       0x0DDB)
majain 6d66707
-      ((| (< @-2 0x0D9A) (> @-2 0x0DC6))
majain 6d66707
-       (delete @-1)
majain 6d66707
-       0x0DDB)))))
majain 6d66707
-  (misc))
majain 6d66707
+ (yansaka
majain 6d66707
+  ("H"))
majain 6d66707
+
majain 6d66707
+ (rakaransaya
majain 6d66707
+  ("`"))
majain 6d66707
+
majain 6d66707
+ (repaya
majain 6d66707
+  ("~"))
majain 6d66707
+
majain 6d66707
+ (eyanna
majain 6d66707
+  ("w"))
majain 6d66707
+
majain 6d66707
+ (al-lakuna
majain 6d66707
+  ("a"))
majain 6d66707
+
majain 6d66707
+ (aela-pilla
majain 6d66707
+  ("d"))
majain 6d66707
+
majain 6d66707
+ (gayanukitta
majain 6d66707
+  ("A"))
majain 6d66707
 
majain 6d66707
  (join
majain 6d66707
-  (consonant
majain 6d66707
-   (set c @-1)
majain 6d66707
-   (cond
majain 6d66707
-    ((| (= c 0x0DD9) (= c 0x0DDB))
majain 6d66707
-     (cond
majain 6d66707
-      ((& (> @-2 0x0D99) (< @-2 0x0DC7))
majain 6d66707
-       (delete @-1)
majain 6d66707
-       (move @<)
majain 6d66707
-       0x0DCA 0x200D
majain 6d66707
-       (move @>)
majain 6d66707
-       (insert c))))
majain 6d66707
-    ((& (> c 0x0D99) (< c 0x0DC7))
majain 6d66707
-     (move @<)
majain 6d66707
-     0x0DCA 0x200D))
majain 6d66707
-   (shift init))
majain 6d66707
+  ("\\")
majain 6d66707
+  ("|"))
majain 6d66707
+
majain 6d66707
+ (backspace
majain 6d66707
+  ((BackSpace)))
majain 6d66707
+ )
majain 6d66707
 
majain 6d66707
-  (nil
majain 6d66707
-   (shift init))))
majain 6d66707
+(state
majain 6d66707
+ (init
majain 6d66707
+  (consonant (shift consonant))
majain 6d66707
+  (others)
majain 6d66707
+  (is-pilla (shift is-pilla))
majain 6d66707
+  (kombuva (shift kombuva)))
majain 6d66707
+
majain 6d66707
+ (consonant
majain 6d66707
+  (rakaransaya 0x0DCA 0x200D 0x0DBB)
majain 6d66707
+  (yansaya 0x0DCA 0x200D 0x0DBA)
majain 6d66707
+  (repaya (move @-) 0x0DBB 0x0DCA 0x200D (move @+))
majain 6d66707
+  (is-pilla (shift is-pilla))
majain 6d66707
+  (join 0x0DCA 0x200D (shift consonant+join)))
majain 6d66707
+
majain 6d66707
+ (consonant+join
majain 6d66707
+  (consonant (shift consonant))
majain 6d66707
+  (backspace (undo)))
majain 6d66707
+
majain 6d66707
+ (is-pilla
majain 6d66707
+  (rakaransaya (move @-) 0x0DCA 0x200D 0x0DBB (shift init)))
majain 6d66707
+
majain 6d66707
+ (kombuva
majain 6d66707
+  (eyanna (delete @<) 0x0D93 (shift init))
majain 6d66707
+  (al-lakuna (delete @<) 0x0DDA (shift init))
majain 6d66707
+  (kombuva (delete @<) 0x0DDB (shift combu_deka))
majain 6d66707
+  (aela-pilla (delete @<) 0x0DDC (shift kombuva_haa_aela-pilla))
majain 6d66707
+  (gayanukitta (delete @<) 0x0DDE (shift init))
majain 6d66707
+  (consonant (move @1) (delete @0) (move @>) 0x0DD9 (shift consonant+kombuva))
majain 6d66707
+  (backspace (undo)))
majain 6d66707
+
majain 6d66707
+ (combu_deka
majain 6d66707
+  (consonant (move @1) (delete @0) (move @>) 0x0DDB (shift init))
majain 6d66707
+  (backspace (undo)))
majain 6d66707
+
majain 6d66707
+ (kombuva_haa_aela-pilla
majain 6d66707
+  (al-lakuna (delete @<) 0x0DDD (shift init))
majain 6d66707
+  (backspace (undo)))
majain 6d66707
+
majain 6d66707
+ (consonant+kombuva
majain 6d66707
+  (al-lakuna (delete @-) 0x0DDA (shift init))
majain 6d66707
+  (aela-pilla (delete @-) 0x0DDC (shift consonant+kombuva_haa_aela-pilla))
majain 6d66707
+  (gayanukitta (delete @-) 0x0DDE (shift init))
majain 6d66707
+  (yansaka (move @-) 0x0DCA 0x200D 0x0DBA (move @>))
majain 6d66707
+  (rakaransaya (move @-) 0x0DCA 0x200D 0x0DBB (move @>))
majain 6d66707
+  (join (shift consonant+join+kombuva))
majain 6d66707
+  (touch (move @-) 0x200D 0x0DCA (move @>))
majain 6d66707
+  (backspace (undo)))
majain 6d66707
+
majain 6d66707
+ (consonant+kombuva_haa_aela-pilla
majain 6d66707
+  (al-lakuna (delete @-) 0x0DDD (shift init))
majain 6d66707
+  (backspace (undo)))
majain 6d66707
+
majain 6d66707
+ (consonant+join+kombuva
majain 6d66707
+  (consonant (move @-) (delete @-) 0x0DCA 0x200D (move @+) 0x0DD9
majain 6d66707
+	     (shift consonant+kombuva))
majain 6d66707
+  (backspace (undo)))
majain 6d66707
+ )
majain 6d66707
 
majain 6d66707
 ;; Local Variables:
majain 6d66707
 ;; coding: utf-8
majain 6d66707
 ;; mode: emacs-lisp
majain 6d66707
 ;; End:
majain 6d66707
+