[m17n-db/f15] Resolves:rh#769239 - altgr change in wijesekara keyboard layout

pnemade pnemade at fedoraproject.org
Mon Dec 26 08:51:47 UTC 2011


commit 773d2823aeed119aac66d698cef4c284e5ee2d26
Author: Parag Nemade <pnemade at redhat.com>
Date:   Mon Dec 26 14:21:40 2011 +0530

    Resolves:rh#769239 - altgr change in wijesekara keyboard layout

 m17n-db.spec                  |    7 +-
 si-wijesekera-altgr-key.patch | 1258 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1264 insertions(+), 1 deletions(-)
---
diff --git a/m17n-db.spec b/m17n-db.spec
index 9f1cfb8..2cb2262 100644
--- a/m17n-db.spec
+++ b/m17n-db.spec
@@ -1,7 +1,7 @@
 Name:       m17n-db
 Summary:    Multilingualization datafiles for m17n-lib
 Version:    1.6.2
-Release:    3%{?dist}
+Release:    4%{?dist}
 Group:      System Environment/Libraries
 License:    LGPLv2+
 URL:        http://www.m17n.org/m17n-lib/index.html
@@ -17,6 +17,7 @@ Patch5:     ml-itrans-keysummary-435260.patch
 # Upstream patches
 Patch6:     ta-lk-renganathan-650802.patch
 Patch7:     zh-cangjie-do-not-commit-extra-space.patch
+Patch11:    si-wijesekera-altgr-key.patch
 
 # FIXME: Remove these obsolets and provides in F16
 Obsoletes: m17n-db-amharic < 1.6.0-2
@@ -143,6 +144,7 @@ pushd MIM
 %patch5 -p0 -b .5~
 %patch6 -p0 -b .6~
 %patch7 -p0 -b .7~
+%patch11 -p0 -b .11~
 popd
 
 %build
@@ -194,6 +196,9 @@ rm $RPM_BUILD_ROOT%{_datadir}/m17n/ispell.mim
 %{_datadir}/pkgconfig/m17n-db.pc
 
 %changelog
+* Mon Dec 26 2011 Parag Nemade <pnemade AT redhat DOT com> - 1.6.2-4
+- Resolves:rh#769239 - altgr change in wijesekara keyboard layout
+
 * Thu Mar 24 2011 Parag Nemade <pnemade AT redhat DOT com> - 1.6.2-3
 - Resolves:rh#650802-[si] stick characters with cursor, while input with si-wijesekera.mim
 - Resolves:rh#651289-zh-cangjie.mim: excessive space after committing Chinese word
diff --git a/si-wijesekera-altgr-key.patch b/si-wijesekera-altgr-key.patch
new file mode 100644
index 0000000..74f54d0
--- /dev/null
+++ b/si-wijesekera-altgr-key.patch
@@ -0,0 +1,1258 @@
+--- si-wijesekera.mim	2010/07/16 11:18:58	1.10
++++ si-wijesekera.mim	2011/12/06 04:16:49	1.11
+@@ -1,5 +1,5 @@
+ ;; si-wijesekera.mim -- Sinhala input method with wijesekera method
+-;; Copyright (C) 2005, 2006, 2008, 2009
++;; Copyright (C) 2005, 2006, 2008, 2009, 2011
+ ;;   National Institute of Advanced Industrial Science and Technology (AIST)
+ ;;   Registration Number H15PRO112
+ 
+@@ -83,613 +83,650 @@
+   ("a") ("b") ("c") ("d") ("e") ("f") ("g") ("h") ("i") ("j") ("k") ("l") ("m")
+   ("n") ("o") ("p") ("q") ("r") ("s") ("t") ("u") ("v") ("w") ("x") ("y") ("z") 
+   ("`") ("~") ("\[") ("{") ("\]") ("}") ("\\") ("|") (";") (":") ("'") ("\"")
+-  (",") ("<") (".") (">") ((A-o)) ((A-.)) ((A-v)) ((A-c)) ((A-x))
+-  ((S-\ )) ((A-\ )) ((A-,)) ((A-a)) ((A-\')) ((A-z)) ((BackSpace)) ((Delete)))
++  (",") ("<") (".") (">")
++  ((A-a)) ((A-c)) ((A-o)) ((A-v)) ((A-x)) ((A-z)) ((A-\ )) ((A-.)) ((A-,)) ((A-\'))
++  ((G-a)) ((G-c)) ((G-o)) ((G-v)) ((G-x)) ((G-z)) ((G-\ )) ((G-.)) ((G-,)) ((G-\'))
++  ((S-\ )) ((BackSpace)) ((Delete)))
+ 
+- (consonant
+-  ("l" "ක")				; 0D9A
+-  ("L" "ඛ")				; 0D9B
+-  ("." "ග")				; 0D9C
+-  (">" "ඝ")				; 0D9D
+-  ("X" "ඞ")				; 0D9E
+-  ((A-.) "ඟ")				; 0D9F
+-  ("p" "ච")				; 0DA0
+-  ("P" "ඡ")				; 0DA1
+-  ("c" "ජ")				; 0DA2
+-  ("C" "ඣ")				; 0DA3
+-  ("\[" "ඤ")				; 0DA4
+-  ("{" "ඥ")				; 0DA5
+-  ((A-c) "ඦ")				; 0DA6
+-  ("g" "ට")				; 0DA7
+-  ("G" "ඨ")				; 0DA8
+-  ("v" "ඩ")				; 0DA9
+-  ("V" "ඪ")				; 0DAA
+-  ("K" "ණ")				; 0DAB
+-  ((A-v) "ඬ")				; 0DAC
+-  (";" "ත")				; 0DAD
+-  (":" "ථ")				; 0DAE
+-  ("o" "ද")				; 0DAF
+-  ("O" "ධ")				; 0DB0
+-  ("k" "න")				; 0DB1
+-  ((A-o) "ඳ")				; 0DB3
+-  ("m" "ප")				; 0DB4
+-  ("M" "ඵ")				; 0DB5
+-  ("n" "බ")				; 0DB6
+-  ("N" "භ")				; 0DB7
+-  ("u" "ම")				; 0DB8
+-  ("U" "ඹ")				; 0DB9
+-  ("h" "ය")				; 0DBA
+-  ("r" "ර")				; 0DBB
+-  ("," "ල")				; 0DBD
+-  ("j" "ව")				; 0DC0
+-  ("Y" "ශ")				; 0DC1
+-  ("I" "ෂ")				; 0DC2
+-  ("i" "ස")				; 0DC3
+-  ("y" "හ")				; 0DC4
+-  ("<" "ළ")				; 0DC5
+-  ("F" "ෆ")				; 0DC6
+-  )
+-
+- (misc
+-  ("x" "ං")				; 0D82
+-  ((A-x) "ඃ")				; 0D83
+-
+-  ("w" "අ")				; 0D85
+-  ("b" "ඉ")				; 0D89
+-  ("B" "ඊ")				; 0D8A
+-  ("W" "උ")				; 0D8B
+-  ("R" "ඍ")				; 0D8D
+-  ((A-,) "ඏ")				; 0D8F
+-
+-  ("T" "ඔ")				; 0D94
+-
+-  ("s" "ි")				; 0DD2
+-  ("S" "ී")				; 0DD3
+-  ("q" "ු")				; 0DD4
+-
+-  ("Q" "ූ")				; 0DD6
+-
+-  ((A-a) "ෳ")				; 0DF3
+-  ((A-\') "෴")				; 0DF4
+-
+-  ("\]" ";")
+-  ("}" ":")
+-  ("'" ".")
+-  ("\"" ",")
+-  ("z" "'")
+-  ("Z" "\"")
+-
+-  ("|" "‍්")				; touch (ZWJ 0DCA)
+-  ("J" "ළු")				; muurdhaja lu (0DC5 0DD4)
+-  ((S-\ ) " ")				; NBSP
+-  ((A-\ ) "‌")				; ZWNJ
+-
+-  ("t"
+-   (set c @-2)
+-   (cond
+-    ((= @-1 0x0DD9)
+-     (cond
+-      ((= c 0x200C)
+-       (delete @-2)
+-       0x0D93)
+-      ((| (< c 0x0D9A) (> c 0x0DC6))
+-       (delete @-1)
+-       0x0D93)
+-      (1
+-       0x0D91)))
+-    (1
+-     0x0D91)))
+-
+-  ("a"
+-   (set c @-1)
+-   (cond
+-    ((= c 0x0D91)
+-     (delete @-1)
+-     0x0D92)
+-    ((= c 0x0D94)
+-     (delete @-1)
+-     0x0D95)
+-    ((= c 0x0DD9)
+-     (delete @-1)
+-     0x0DDA)
+-    ((= c 0x0DDC)
+-     (delete @-1)
+-     0x0DDD)
+-    (1
+-     0x0DCA)))
+-
+-  ("d"
+-   (set c @-1)
+-   (cond
+-    ((= c 0x0D85)
+-     (delete @-1)
+-     0x0D86)
+-    ((= c 0x0DD9)
+-     (delete @-1)
+-     0x0DDC)
+-    (1
+-     0x0DCF)))
+-
+-  ("e"
+-   (cond
+-    ((= @-1 0x0D85)
+-     (delete @-1)
+-     0x0D87)
+-    (1
+-     0x0DD0)))
+-
+-  ("E"
+-   (set c @-1)
+-   (cond
+-    ((= c 0x0D85)
+-     (delete @-1)
+-     0x0D88)
+-    ((= c 0x0DD4)
+-     (cond
+-      ((= @-2 0x0DC5)
+-       (delete @-1)
+-       0x0DD6)
+-      (1
+-       0x0DD1)))
+-    (1
+-     0x0DD1)))     
+-
+-  ("D"
+-   (set c @-1)
+-   (cond
+-    ((= c 0x0D8D)
+-     (delete @-1)
+-     0x0D8E)
+-    ((= c 0x0DD8)
+-     (delete @-1)
+-     0x0DF2)
+-    (1
+-     0x0DD8)))
+-
+-  ("A"
+-   (set c @-1)
+-   (cond
+-    ((= c 0x0D8B)
+-     (delete @-1)
+-     0x0D8C)
+-    ((= c 0x0D8F)
+-     (delete @-1)
+-     0x0D90)
+-    ((= c 0x0D94)
+-     (delete @-1)
+-     0x0D96)
+-    ((= c 0x0DD9)
+-     (delete @-1)
+-     0x0DDE)
+-    (1
+-     0x0DDF)))
++  (consonant
++   ("l" "ක")				; 0D9A
++   ("L" "ඛ")				; 0D9B
++   ("." "ග")				; 0D9C
++   (">" "ඝ")				; 0D9D
++   ("X" "ඞ")				; 0D9E
++   ((A-.) "ඟ")				; 0D9F
++   ((G-.) "ඟ")				; 0D9F
++   ("p" "ච")				; 0DA0
++   ("P" "ඡ")				; 0DA1
++   ("c" "ජ")				; 0DA2
++   ("C" "ඣ")				; 0DA3
++   ("\[" "ඤ")				; 0DA4
++   ("{" "ඥ")				; 0DA5
++   ((A-c) "ඦ")				; 0DA6
++   ((G-c) "ඦ")				; 0DA6
++   ("g" "ට")				; 0DA7
++   ("G" "ඨ")				; 0DA8
++   ("v" "ඩ")				; 0DA9
++   ("V" "ඪ")				; 0DAA
++   ("K" "ණ")				; 0DAB
++   ((A-v) "ඬ")				; 0DAC
++   ((G-v) "ඬ")				; 0DAC
++   (";" "ත")				; 0DAD
++   (":" "ථ")				; 0DAE
++   ("o" "ද")				; 0DAF
++   ("O" "ධ")				; 0DB0
++   ("k" "න")				; 0DB1
++   ((A-o) "ඳ")				; 0DB3
++   ((G-o) "ඳ")				; 0DB3
++   ("m" "ප")				; 0DB4
++   ("M" "ඵ")				; 0DB5
++   ("n" "බ")				; 0DB6
++   ("N" "භ")				; 0DB7
++   ("u" "ම")				; 0DB8
++   ("U" "ඹ")				; 0DB9
++   ("h" "ය")				; 0DBA
++   ("r" "ර")				; 0DBB
++   ("," "ල")				; 0DBD
++   ("j" "ව")				; 0DC0
++   ("Y" "ශ")				; 0DC1
++   ("I" "ෂ")				; 0DC2
++   ("i" "ස")				; 0DC3
++   ("y" "හ")				; 0DC4
++   ("<" "ළ")				; 0DC5
++   ("F" "ෆ")				; 0DC6
++   )
+ 
+-  ("f"
+-   (set c @+0)
+-   (cond
+-    ((& (>= c 0x0D9A) (<= c 0x0DC6))
+-     (delete @+1)
+-     (insert c)
+-     (forward)
+-     (set c @+0)
+-     (cond
+-      ((= c 0x0DCA)
+-       (delete @+1)
+-       0x0DDA)
+-      ((= c 0x0DD9)
+-       (delete @+1)
+-       0x0DDB)
+-      ((= c 0x0DCF)
+-       (delete @+1)
+-       0x0DDC)
+-      ((= c 0x0DDF)
+-       (delete @+1)
+-       0x0DDE)
+-      (1
+-       0x0DD9)))
+-    ((= c 0x0D91)
+-     (delete @+1)
+-     0x0D93)
+-    ((= c 0x0DD9)
+-     (delete @+1)
+-     0x0DDB)
+-    ((& (= c 0x200C) (= @+1 0x0DD9))
+-     (delete @+2)
+-     0x200C 0x0DDB)
+-    ((& (= @-1 0x0DD9)
+-	(| (< @-2 0x0D9A) (> @-2 0x0DC6)))
+-     (delete @-1)
+-     0x0DDB)
+-    ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
+-     0x200C 0x0DD9)
+-    (1
+-     0x0DD9)))
++  (misc
++   ("x" "ං")				; 0D82
++   ((A-x) "ඃ")				; 0D83
++   ((G-x) "ඃ")				; 0D83
++
++   ("w" "අ")				; 0D85
++   ("b" "ඉ")				; 0D89
++   ("B" "ඊ")				; 0D8A
++   ("W" "උ")				; 0D8B
++   ("R" "ඍ")				; 0D8D
++   ((A-,) "ඏ")				; 0D8F
++   ((G-,) "ඏ")				; 0D8F
++
++   ("T" "ඔ")				; 0D94
++
++   ("s" "ි")				; 0DD2
++   ("S" "ී")				; 0DD3
++   ("q" "ු")				; 0DD4
++
++   ("Q" "ූ")				; 0DD6
++
++   ((A-a) "ෳ")				; 0DF3
++   ((G-a) "ෳ")				; 0DF3
++   ((A-\') "෴")				; 0DF4
++   ((G-\') "෴")				; 0DF4
++
++   ("\]" ";")
++   ("}" ":")
++   ("'" ".")
++   ("\"" ",")
++   ("z" "'")
++   ("Z" "\"")
++
++   ("|" "‍්")				; touch (ZWJ 0DCA)
++   ("J" "ළු")				; muurdhaja lu (0DC5 0DD4)
++   ((S-\ ) " ")				; NBSP
++   ((A-\ ) "‌")				; ZWNJ
++   ((G-\ ) "‌")				; ZWNJ
++
++   ("t"
++    (set c @-2)
++    (cond
++     ((= @-1 0x0DD9)
++      (cond
++       ((= c 0x200C)
++	(delete @-2)
++	0x0D93)
++       ((| (< c 0x0D9A) (> c 0x0DC6))
++	(delete @-1)
++	0x0D93)
++       (1
++	0x0D91)))
++     (1
++      0x0D91)))
++
++   ("a"
++    (set c @-1)
++    (cond
++     ((= c 0x0D91)
++      (delete @-1)
++      0x0D92)
++     ((= c 0x0D94)
++      (delete @-1)
++      0x0D95)
++     ((= c 0x0DD9)
++      (delete @-1)
++      0x0DDA)
++     ((= c 0x0DDC)
++      (delete @-1)
++      0x0DDD)
++     (1
++      0x0DCA)))
++
++   ("d"
++    (set c @-1)
++    (cond
++     ((= c 0x0D85)
++      (delete @-1)
++      0x0D86)
++     ((= c 0x0DD9)
++      (delete @-1)
++      0x0DDC)
++     (1
++      0x0DCF)))
++
++   ("e"
++    (cond
++     ((= @-1 0x0D85)
++      (delete @-1)
++      0x0D87)
++     (1
++      0x0DD0)))
++
++   ("E"
++    (set c @-1)
++    (cond
++     ((= c 0x0D85)
++      (delete @-1)
++      0x0D88)
++     ((= c 0x0DD4)
++      (cond
++       ((= @-2 0x0DC5)
++	(delete @-1)
++	0x0DD6)
++       (1
++	0x0DD1)))
++     (1
++      0x0DD1)))     
++
++   ("D"
++    (set c @-1)
++    (cond
++     ((= c 0x0D8D)
++      (delete @-1)
++      0x0D8E)
++     ((= c 0x0DD8)
++      (delete @-1)
++      0x0DF2)
++     (1
++      0x0DD8)))
++
++   ("A"
++    (set c @-1)
++    (cond
++     ((= c 0x0D8B)
++      (delete @-1)
++      0x0D8C)
++     ((= c 0x0D8F)
++      (delete @-1)
++      0x0D90)
++     ((= c 0x0D94)
++      (delete @-1)
++      0x0D96)
++     ((= c 0x0DD9)
++      (delete @-1)
++      0x0DDE)
++     (1
++      0x0DDF)))
++
++   ("f"
++    (set c @+0)
++    (cond
++     ((& (>= c 0x0D9A) (<= c 0x0DC6))
++      (delete @+1)
++      (insert c)
++      (forward)
++      (set c @+0)
++      (cond
++       ((= c 0x0DCA)
++	(delete @+1)
++	0x0DDA)
++       ((= c 0x0DD9)
++	(delete @+1)
++	0x0DDB)
++       ((= c 0x0DCF)
++	(delete @+1)
++	0x0DDC)
++       ((= c 0x0DDF)
++	(delete @+1)
++	0x0DDE)
++       (1
++	0x0DD9)))
++     ((= c 0x0D91)
++      (delete @+1)
++      0x0D93)
++     ((= c 0x0DD9)
++      (delete @+1)
++      0x0DDB)
++     ((& (= c 0x200C) (= @+1 0x0DD9))
++      (delete @+2)
++      0x200C 0x0DDB)
++     ((& (= @-1 0x0DD9)
++	 (| (< @-2 0x0D9A) (> @-2 0x0DC6)))
++      (delete @-1)
++      0x0DDB)
++     ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
++      0x200C 0x0DD9)
++     (1
++      0x0DD9)))
+    
+-  ;; sanyaka letters
+-  ((A-z)
+-   (set c @-1)
+-   (cond
+-    ((= c 0x0DAF)
+-     (delete @-1)
+-     0x0DB3)
+-    ((= c 0x0D9C)
+-     (delete @-1)
+-     0x0D9F)
+-    ((= c 0x0DA9)
+-     (delete @-1)
+-     0x0DAC)
+-    ((= c 0x0DA2)
+-     (delete @-1)
+-     0x0DA6)))
+-
+-  ;; yansaya
+-  ("H"
+-   (set c @-1)
+-   (cond
+-    ((= c 0x0DD9)
+-     (delete @-1))
+-    ((= c 0x0DDB)
+-     (delete @-1))
+-    (1
+-     (set c 0)))
+-   (cond
+-    ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
+-     0x0DCA 0x200D 0x0DBA))
+-   (cond
+-    ((> c 0)
+-     (insert c))))
+-
+-  ;; rakaransaya
+-  ("`"
+-   (set c @-1)
+-   (cond
+-    ((| (= c 0x0DD9) (= c 0x0DDB) (= c 0x0DD2) (= c 0x0DD3))
+-     (delete @-1))
+-    (1
+-     (set c 0)))
+-   (cond
+-    ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
+-     0x0DCA 0x200D 0x0DBB))
+-   (cond
+-    ((> c 0)
+-     (insert c))))
+-
+-  ;; repaya
+-  ("~"
+-   (set c @-1)
+-   (cond
+-    ((| (= c 0x0DD9) (= c 0x0DDB))
+-     (delete @-1))
+-    (1
+-     (set c 0)))
+-   (backward)
+-   (cond
+-    ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
+-     (set c1 @-1)
+-     (delete @-1)
+-     (insert c1)
+-     (move @<)
+-     0x0DBB 0x0DCA 0x200D))
+-   (cond
+-    ((> c 0)
+-     (move @>)
+-     (insert c))))
+-
+-  ((BackSpace)
+-   (delete-preceding-zw)
+-   (set c @-1)
+-   (cond
+-    ((< c 0)
+-     (unhandle)))
+-   (delete @-1)
+-   (cond
+-    ((= c 0x0D86)
+-     0x0D85)
+-    ((= c 0x0D87)
+-     0x0D85)
+-    ((= c 0x0D88)
+-     0x0D85)
+-    ((= c 0x0D8C)
+-     0x0D8B)
+-    ((= c 0x0D8E)
+-     0x0D8D)
+-    ((= c 0x0D90)
+-     0x0D8F)
+-    ((= c 0x0D92)
+-     0x0D8F)
+-    ((= c 0x0D93)
+-     (cond ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6)) 0x200C))
+-     0x0DD9)
+-    ((= c 0x0D95)
+-     0x0D94)
+-    ((= c 0x0D96)
+-     0x0D94)
+-
+-    ((& (>= c 0x0D9A) (<= c 0x0DC6) (= @-2 0x0DCA) (= @-1 0x200D))
+-     (cond
+-      ((= @-3 0x0DBB)
+-       (delete @-3)
+-       (insert c))
+-      (1
+-       (delete @-2))))
+-
+-    ((= c 0x0DD9)
+-     (cond
+-      ((| (< @-1 0x0D9A) (> @-1 0x0DC6)))
+-      ((= @+0 0x0D91)
+-       (delete @-1)
+-       (delete @+1)
+-       0x0D93)
+-      ((& (>= @+0 0x0D9A) (<= @+0 0x0DC6))
+-       (set c1 @+0)
+-       (cond
+-	((= @+1 0x0DD9)
+-	 (merge-kombuva)
+-	 0x0DDB)
+-	((= @+1 0x0DCA)
+-	 (merge-kombuva)
+-	 0x0DDA)
+-	((= @+1 0x0DCF)
+-	 (merge-kombuva)
+-	 0x0DDC)
+-	((= @+1 0x0DDF)
+-	 (merge-kombuva)
+-	 0x0DDE)
+-	(1
+-	 (delete @-1)
+-	 (delete @+1)
+-	 (insert c1)
+-	 0x0DD9)))
+-      ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
+-       (delete @-1)
+-       0x200C
+-       0x0DD9)
+-      ((& (= @-4 0x0DBB) (= @-3 0x0DCA) (= @-2 0x200D))
+-       (set c1 @-1)
+-       (delete @-4)
+-       (insert c1)
+-       0x0DD9)
+-      ((& (>= @-4 0x0D9A) (<= @-4 0x0DC6) (= @-3 0x0DCA) (= @-2 0x200D))
+-       (delete @-3)
+-       0x0DD9)
+-      (1
+-       (delete @-1)
+-       0x0DD9)))
+-
+-    ((= c 0x0DDA)
+-     0x0DD9)
+-
+-    ((= c 0x0DDB)
+-     (cond
+-      ((| (< @-1 0x0D9A) (> @-1 0x0DC6))
+-       0x0DD9)
+-      ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
+-       (delete @-1)
+-       0x200C
+-       0x0DDB)
+-      ((& (= @-4 0x0DBB) (= @-3 0x0DCA) (= @-2 0x200D))
+-       (set c1 @-1)
+-       (delete @-4)
+-       (insert c1)
+-       0x0DDB)
+-      ((& (>= @-4 0x0D9A) (<= @-4 0x0DC6) (= @-3 0x0DCA) (= @-2 0x200D))
+-       (delete @-3)
+-       0x0DDB)
+-      (1
+-       (delete @-1)
+-       0x0DDB)))
+-
+-    ((= c 0x0DDC)
+-     0x0DD9)
+-    ((= c 0x0DDD)
+-     0x0DDC)
+-    ((= c 0x0DDE)
+-     0x0DD9)
+-    ((= c 0x0DF2)
+-     0x0DD8))
+-
+-   (cond
+-    ((& (>= @-1 0x0D9A)
+-	(<= @-1 0x0DC6)
+-	(| (= @+0 0x0DD9) (= @+0 0x0DDB)))
+-     0x200C)))
+-
+-  ((Delete)
+-   (delete-following-zw)
+-   (set c @+0)
+-   (cond
+-    ((< c 0)
+-     (unhandle)))
+-   (delete @+1)
+-   (cond
+-    ((= c 0x0D86)
+-     0x0DCF)
+-    ((= c 0x0D87)
+-     0x0DD0)
+-    ((= c 0x0D88)
+-     0x0DD1)
+-    ((= c 0x0D8C)
+-     0x0DDF)
+-    ((= c 0x0D8E)
+-     0x0DD8)
+-    ((= c 0x0D90)
+-     0x0DDF)
+-    ((= c 0x0D92)
+-     0x0DCA)
+-    ((= c 0x0D93)
+-     0x0D91)
+-    ((& (>= c 0x0D9A) (<= c 0x0DC6))
+-     (forward)
+-     (cond
+-      ((= @+0 0x0DD9)
+-       (delete @+1)
+-       (move @<)
+-       (insert c))
+-      ((= @+0 0x0DDB)
+-       (delete @+1)
+-       0x0DD9
+-       (move @<)
+-       (insert c))
+-      ((= @+0 0x0DDA)
+-       (delete @+1)
+-       0x0DCA
+-       (move @<)
+-       (insert c))
+-      ((= @+0 0x0DDC)
+-       (delete @+1)
+-       0x0DCF
+-       (move @<)
+-       (insert c))
+-      ((= @+0 0x0DDE)
+-       (delete @+1)
+-       0x0DDF
+-       (move @<)
+-       (insert c))
+-      (1
+-       (delete @<))))
+-    ((= c 0x0DDB)
+-     0x0DD9))))
+-
+- (independent
+-  ("w" "අ")				; 0D85
+-  ("b" "ඉ")				; 0D89
+-  ("B" "ඊ")				; 0D8A
+-  ("W" "උ")				; 0D8B
+-  ("R" "ඍ")				; 0D8D
+-  ((A-,) "ඏ")				; 0D8F
+-  ("t" "එ")				; 0D91
+-  ("T" "ඔ")				; 0D94
+-  ("l" "ක")				; 0D9A
+-  ("L" "ඛ")				; 0D9B
+-  ("." "ග")				; 0D9C
+-  (">" "ඝ")				; 0D9D
+-  ("X" "ඞ")				; 0D9E
+-  ((A-.) "ඟ") ((0x2E A-z) "ඟ")		; 0D9F
+-  ("p" "ච")				; 0DA0
+-  ("P" "ඡ")				; 0DA1
+-  ("c" "ජ")				; 0DA2
+-  ("C" "ඣ")				; 0DA3
+-  ("\[" "ඤ")				; 0DA4
+-  ("{" "ඥ")				; 0DA5
+-  ((A-c) "ඦ") ((0x63 A-z) "ඦ")		; 0DA6
+-  ("g" "ට")				; 0DA7
+-  ("G" "ඨ")				; 0DA8
+-  ("v" "ඩ")				; 0DA9
+-  ("V" "ඪ")				; 0DAA
+-  ("K" "ණ")				; 0DAB
+-  ((A-v) "ඬ") ((0x76 A-z) "ඬ")		; 0DAC
+-  (";" "ත")				; 0DAD
+-  (":" "ථ")				; 0DAE
+-  ("o" "ද")				; 0DAF
+-  ("O" "ධ")				; 0DB0
+-  ("k" "න")				; 0DB1
+-  ((A-o) "ඳ") ((0x6F A-z) "ඳ")		; 0DB3
+-  ("m" "ප")				; 0DB4
+-  ("M" "ඵ")				; 0DB5
+-  ("n" "බ")				; 0DB6
+-  ("N" "භ")				; 0DB7
+-  ("u" "ම")				; 0DB8
+-  ("U" "ඹ")				; 0DB9
+-  ("h" "ය")				; 0DBA
+-  ("r" "ර")				; 0DBB
+-  ("," "ල")				; 0DBD
+-  ("j" "ව")				; 0DC0
+-  ("Y" "ශ")				; 0DC1
+-  ("I" "ෂ")				; 0DC2
+-  ("i" "ස")				; 0DC3
+-  ("y" "හ")				; 0DC4
+-  ("<" "ළ")				; 0DC5
+-  ("F" "ෆ")				; 0DC6
+-  ((A-\') "෴")				; 0DF4
+-
+-  ("J" "ළු")				; muurdhaja lu (0DC5 0DD4)
+-
+-  ((S-\ ) " ")				; NBSP (00A0)
+-  ((A-\ ) "‌")				; ZWNJ (200C)
+-
+-  ("\]" ";")
+-  ("}" ":")
+-  ("'" ".")
+-  ("\"" ",")
+-  ("z" "'")
+-  ("Z" "\"")
+-  )
+-
+- (dependent
+-  ("x" "ං")				; 0D82
+-  ((A-x) "ඃ")				; 0D83
+-  ("a"
+-   (cond
+-    ((= @-1 0x0D91) (delete @-) "ඒ")	; 0D92
+-    ((= @-1 0x0D94) (delete @-) "ඕ")	; 0D95
+-    ((= @-1 0x0DD9) (delete @-) "ේ")	; 0DDA
+-    ((= @-1 0x0DDC) (delete @-) "ෝ")	; 0DDD
+-    (1 "්")))				; 0DCA
+-  ("d"
+-   (cond
+-    ((= @-1 0x0D85) (delete @-) "ආ")	; 0D86
+-    ((= @-1 0x0DD9) (delete @-) "ො")	; 0DDC
+-    (1 "ා")))				; 0DCF
+-  ("e"
+-   (cond
+-    ((= @-1 0x0D85) (delete @-) "ඇ")	; 0D87
+-    (1 "ැ")))				; 0DD0
+-  ("E"
+-   (cond
+-    ((= @-1 0x0D85) (delete @-) "ඈ")	; 0D88
+-    ((& (= @-2 0x0DC5) (= @-1 0x0DD4))
+-     (delete @-) "ූ")			; 0DD6
+-    (1 "ෑ")))				; 0DD1
+-  ("s" "ි")				; 0DD2
+-  ("S" "ී")				; 0DD3
+-  ("q" "ු")				; 0DD4
+-  ("Q" "ූ")				; 0DD6
+-
+-  ("D"
+-   (cond
+-    ((= @-1 0x0D8D) (delete @-) "ඎ")	; 0D8E
+-;; The following line does not work when no consonant proceeds.
+-;;    ((= @-1 0x0DD8) (delete @-) "ෲ")	; 0DF2
+-    (1 "ෘ")))				; 0DD8
+-;; This one works with or without a preceeding consonant.
+-  ("DD" "ෲ") 				; 0DF2
+-
+-  ("A"
+-   (cond
+-    ((= @-1 0x0D8B) (delete @-) "ඌ")	; 0D8C
+-    ((= @-1 0x0D8F) (delete @-) "ඐ")	; 0D90
+-    ((= @-1 0x0D94) (delete @-) "ඖ")	; 0D96
+-    ((= @-1 0x0DD9) (delete @-) "ෞ")	; 0DDE
+-    (1 "ෟ")))				; 0DDF
+-  ((A-a) "ෳ")				; 0DF3
++   ;; sanyaka letters
++   ((A-z)
++    (set c @-1)
++    (cond
++     ((= c 0x0DAF)
++      (delete @-1)
++      0x0DB3)
++     ((= c 0x0D9C)
++      (delete @-1)
++      0x0D9F)
++     ((= c 0x0DA9)
++      (delete @-1)
++      0x0DAC)
++     ((= c 0x0DA2)
++      (delete @-1)
++      0x0DA6)))
++   
++   ;; sanyaka letters
++   ((G-z)
++    (set c @-1)
++    (cond
++     ((= c 0x0DAF)
++      (delete @-1)
++      0x0DB3)
++     ((= c 0x0D9C)
++      (delete @-1)
++      0x0D9F)
++     ((= c 0x0DA9)
++      (delete @-1)
++      0x0DAC)
++     ((= c 0x0DA2)
++      (delete @-1)
++      0x0DA6)))
++
++   ;; yansaya
++   ("H"
++    (set c @-1)
++    (cond
++     ((= c 0x0DD9)
++      (delete @-1))
++     ((= c 0x0DDB)
++      (delete @-1))
++     (1
++      (set c 0)))
++    (cond
++     ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
++      0x0DCA 0x200D 0x0DBA))
++    (cond
++     ((> c 0)
++      (insert c))))
++
++   ;; rakaransaya
++   ("`"
++    (set c @-1)
++    (cond
++     ((| (= c 0x0DD9) (= c 0x0DDB) (= c 0x0DD2) (= c 0x0DD3))
++      (delete @-1))
++     (1
++      (set c 0)))
++    (cond
++     ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
++      0x0DCA 0x200D 0x0DBB))
++    (cond
++     ((> c 0)
++      (insert c))))
++
++   ;; repaya
++   ("~"
++    (set c @-1)
++    (cond
++     ((| (= c 0x0DD9) (= c 0x0DDB))
++      (delete @-1))
++     (1
++      (set c 0)))
++    (backward)
++    (cond
++     ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6))
++      (set c1 @-1)
++      (delete @-1)
++      (insert c1)
++      (move @<)
++      0x0DBB 0x0DCA 0x200D))
++    (cond
++     ((> c 0)
++      (move @>)
++      (insert c))))
++
++   ((BackSpace)
++    (delete-preceding-zw)
++    (set c @-1)
++    (cond
++     ((< c 0)
++      (unhandle)))
++    (delete @-1)
++    (cond
++     ((= c 0x0D86)
++      0x0D85)
++     ((= c 0x0D87)
++      0x0D85)
++     ((= c 0x0D88)
++      0x0D85)
++     ((= c 0x0D8C)
++      0x0D8B)
++     ((= c 0x0D8E)
++      0x0D8D)
++     ((= c 0x0D90)
++      0x0D8F)
++     ((= c 0x0D92)
++      0x0D8F)
++     ((= c 0x0D93)
++      (cond ((& (>= @-1 0x0D9A) (<= @-1 0x0DC6)) 0x200C))
++      0x0DD9)
++     ((= c 0x0D95)
++      0x0D94)
++     ((= c 0x0D96)
++      0x0D94)
++
++     ((& (>= c 0x0D9A) (<= c 0x0DC6) (= @-2 0x0DCA) (= @-1 0x200D))
++      (cond
++       ((= @-3 0x0DBB)
++	(delete @-3)
++	(insert c))
++       (1
++	(delete @-2))))
++
++     ((= c 0x0DD9)
++      (cond
++       ((| (< @-1 0x0D9A) (> @-1 0x0DC6)))
++       ((= @+0 0x0D91)
++	(delete @-1)
++	(delete @+1)
++	0x0D93)
++       ((& (>= @+0 0x0D9A) (<= @+0 0x0DC6))
++	(set c1 @+0)
++	(cond
++	 ((= @+1 0x0DD9)
++	  (merge-kombuva)
++	  0x0DDB)
++	 ((= @+1 0x0DCA)
++	  (merge-kombuva)
++	  0x0DDA)
++	 ((= @+1 0x0DCF)
++	  (merge-kombuva)
++	  0x0DDC)
++	 ((= @+1 0x0DDF)
++	  (merge-kombuva)
++	  0x0DDE)
++	 (1
++	  (delete @-1)
++	  (delete @+1)
++	  (insert c1)
++	  0x0DD9)))
++       ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
++	(delete @-1)
++	0x200C
++	0x0DD9)
++       ((& (= @-4 0x0DBB) (= @-3 0x0DCA) (= @-2 0x200D))
++	(set c1 @-1)
++	(delete @-4)
++	(insert c1)
++	0x0DD9)
++       ((& (>= @-4 0x0D9A) (<= @-4 0x0DC6) (= @-3 0x0DCA) (= @-2 0x200D))
++	(delete @-3)
++	0x0DD9)
++       (1
++	(delete @-1)
++	0x0DD9)))
++
++     ((= c 0x0DDA)
++      0x0DD9)
++
++     ((= c 0x0DDB)
++      (cond
++       ((| (< @-1 0x0D9A) (> @-1 0x0DC6))
++	0x0DD9)
++       ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6))
++	(delete @-1)
++	0x200C
++	0x0DDB)
++       ((& (= @-4 0x0DBB) (= @-3 0x0DCA) (= @-2 0x200D))
++	(set c1 @-1)
++	(delete @-4)
++	(insert c1)
++	0x0DDB)
++       ((& (>= @-4 0x0D9A) (<= @-4 0x0DC6) (= @-3 0x0DCA) (= @-2 0x200D))
++	(delete @-3)
++	0x0DDB)
++       (1
++	(delete @-1)
++	0x0DDB)))
++
++     ((= c 0x0DDC)
++      0x0DD9)
++     ((= c 0x0DDD)
++      0x0DDC)
++     ((= c 0x0DDE)
++      0x0DD9)
++     ((= c 0x0DF2)
++      0x0DD8))
++
++    (cond
++     ((& (>= @-1 0x0D9A)
++	 (<= @-1 0x0DC6)
++	 (| (= @+0 0x0DD9) (= @+0 0x0DDB)))
++      0x200C)))
++
++   ((Delete)
++    (delete-following-zw)
++    (set c @+0)
++    (cond
++     ((< c 0)
++      (unhandle)))
++    (delete @+1)
++    (cond
++     ((= c 0x0D86)
++      0x0DCF)
++     ((= c 0x0D87)
++      0x0DD0)
++     ((= c 0x0D88)
++      0x0DD1)
++     ((= c 0x0D8C)
++      0x0DDF)
++     ((= c 0x0D8E)
++      0x0DD8)
++     ((= c 0x0D90)
++      0x0DDF)
++     ((= c 0x0D92)
++      0x0DCA)
++     ((= c 0x0D93)
++      0x0D91)
++     ((& (>= c 0x0D9A) (<= c 0x0DC6))
++      (forward)
++      (cond
++       ((= @+0 0x0DD9)
++	(delete @+1)
++	(move @<)
++	(insert c))
++       ((= @+0 0x0DDB)
++	(delete @+1)
++	0x0DD9
++	(move @<)
++	(insert c))
++       ((= @+0 0x0DDA)
++	(delete @+1)
++	0x0DCA
++	(move @<)
++	(insert c))
++       ((= @+0 0x0DDC)
++	(delete @+1)
++	0x0DCF
++	(move @<)
++	(insert c))
++       ((= @+0 0x0DDE)
++	(delete @+1)
++	0x0DDF
++	(move @<)
++	(insert c))
++       (1
++	(delete @<))))
++     ((= c 0x0DDB)
++      0x0DD9))))
+ 
+-  ("H"					; yansaya (0DCA 200D 0DBA)
+-   (cond
+-    ((| (= @-1 0x0DD9) (= @-1 0x0DDB))
+-     (move @-) "්‍ය" (move @>))
+-    (1
+-     "්‍ය")))
++  (independent
++   ("w" "අ")				; 0D85
++   ("b" "ඉ")				; 0D89
++   ("B" "ඊ")				; 0D8A
++   ("W" "උ")				; 0D8B
++   ("R" "ඍ")				; 0D8D
++   ((A-,) "ඏ")				; 0D8F
++   ((G-,) "ඏ")				; 0D8F
++   ("t" "එ")				; 0D91
++   ("T" "ඔ")				; 0D94
++   ("l" "ක")				; 0D9A
++   ("L" "ඛ")				; 0D9B
++   ("." "ග")				; 0D9C
++   (">" "ඝ")				; 0D9D
++   ("X" "ඞ")				; 0D9E
++   ((A-.) "ඟ") ((0x2E A-z) "ඟ")		; 0D9F
++   ((G-.) "ඟ") ((0x2E G-z) "ඟ")		; 0D9F
++   ("p" "ච")				; 0DA0
++   ("P" "ඡ")				; 0DA1
++   ("c" "ජ")				; 0DA2
++   ("C" "ඣ")				; 0DA3
++   ("\[" "ඤ")				; 0DA4
++   ("{" "ඥ")				; 0DA5
++   ((A-c) "ඦ") ((0x63 A-z) "ඦ")		; 0DA6
++   ((G-c) "ඦ") ((0x63 G-z) "ඦ")		; 0DA6
++   ("g" "ට")				; 0DA7
++   ("G" "ඨ")				; 0DA8
++   ("v" "ඩ")				; 0DA9
++   ("V" "ඪ")				; 0DAA
++   ("K" "ණ")				; 0DAB
++   ((A-v) "ඬ") ((0x76 A-z) "ඬ")		; 0DAC
++   ((G-v) "ඬ") ((0x76 G-z) "ඬ")		; 0DAC
++   (";" "ත")				; 0DAD
++   (":" "ථ")				; 0DAE
++   ("o" "ද")				; 0DAF
++   ("O" "ධ")				; 0DB0
++   ("k" "න")				; 0DB1
++   ((A-o) "ඳ") ((0x6F A-z) "ඳ")		; 0DB3
++   ((G-o) "ඳ") ((0x6F G-z) "ඳ")		; 0DB3
++   ("m" "ප")				; 0DB4
++   ("M" "ඵ")				; 0DB5
++   ("n" "බ")				; 0DB6
++   ("N" "භ")				; 0DB7
++   ("u" "ම")				; 0DB8
++   ("U" "ඹ")				; 0DB9
++   ("h" "ය")				; 0DBA
++   ("r" "ර")				; 0DBB
++   ("," "ල")				; 0DBD
++   ("j" "ව")				; 0DC0
++   ("Y" "ශ")				; 0DC1
++   ("I" "ෂ")				; 0DC2
++   ("i" "ස")				; 0DC3
++   ("y" "හ")				; 0DC4
++   ("<" "ළ")				; 0DC5
++   ("F" "ෆ")				; 0DC6
++   ((A-\') "෴")				; 0DF4
++   ((G-\') "෴")				; 0DF4
++
++   ("J" "ළු")				; muurdhaja lu (0DC5 0DD4)
++
++   ((S-\ ) " ")				; NBSP (00A0)
++   ((A-\ ) "‌")				; ZWNJ (200C)
++   ((G-\ ) "‌")				; ZWNJ (200C)
++
++   ("\]" ";")
++   ("}" ":")
++   ("'" ".")
++   ("\"" ",")
++   ("z" "'")
++   ("Z" "\"")
++   )
+ 
+-  ("`"					; rakaransaya (0DCA 200D 0DBB)
+-   (cond
+-    ((| (= @-1 0x0DD2) (= @-1 0x0DD3) (= @-1 0x0DD9) (= @-1 0x0DDB))
+-     (move @-) "්‍ර" (move @>))
+-    (1 "්‍ර")))
++  (dependent
++   ("x" "ං")				; 0D82
++   ((A-x) "ඃ")				; 0D83
++   ((G-x) "ඃ")				; 0D83
++   ("a"
++    (cond
++     ((= @-1 0x0D91) (delete @-) "ඒ")	; 0D92
++     ((= @-1 0x0D94) (delete @-) "ඕ")	; 0D95
++     ((= @-1 0x0DD9) (delete @-) "ේ")	; 0DDA
++     ((= @-1 0x0DDC) (delete @-) "ෝ")	; 0DDD
++     (1 "්")))				; 0DCA
++   ("d"
++    (cond
++     ((= @-1 0x0D85) (delete @-) "ආ")	; 0D86
++     ((= @-1 0x0DD9) (delete @-) "ො")	; 0DDC
++     (1 "ා")))				; 0DCF
++   ("e"
++    (cond
++     ((= @-1 0x0D85) (delete @-) "ඇ")	; 0D87
++     (1 "ැ")))				; 0DD0
++   ("E"
++    (cond
++     ((= @-1 0x0D85) (delete @-) "ඈ")	; 0D88
++     ((& (= @-2 0x0DC5) (= @-1 0x0DD4))
++      (delete @-) "ූ")			; 0DD6
++     (1 "ෑ")))				; 0DD1
++   ("s" "ි")				; 0DD2
++   ("S" "ී")				; 0DD3
++   ("q" "ු")				; 0DD4
++   ("Q" "ූ")				; 0DD6
++
++   ("D"
++    (cond
++     ((= @-1 0x0D8D) (delete @-) "ඎ")	; 0D8E
++     ;; The following line does not work when no consonant proceeds.
++     ;;    ((= @-1 0x0DD8) (delete @-) "ෲ")	; 0DF2
++     (1 "ෘ")))				; 0DD8
++   ;; This one works with or without a preceeding consonant.
++   ("DD" "ෲ") 				; 0DF2
++
++   ("A"
++    (cond
++     ((= @-1 0x0D8B) (delete @-) "ඌ")	; 0D8C
++     ((= @-1 0x0D8F) (delete @-) "ඐ")	; 0D90
++     ((= @-1 0x0D94) (delete @-) "ඖ")	; 0D96
++     ((= @-1 0x0DD9) (delete @-) "ෞ")	; 0DDE
++     (1 "ෟ")))				; 0DDF
++   ((A-a) "ෳ")				; 0DF3
++   ((G-a) "ෳ")				; 0DF3
++
++   ("H"					; yansaya (0DCA 200D 0DBA)
++    (cond
++     ((| (= @-1 0x0DD9) (= @-1 0x0DDB))
++      (move @-) "්‍ය" (move @>))
++     (1
++      "්‍ය")))
++
++   ("`"					; rakaransaya (0DCA 200D 0DBB)
++    (cond
++     ((| (= @-1 0x0DD2) (= @-1 0x0DD3) (= @-1 0x0DD9) (= @-1 0x0DDB))
++      (move @-) "්‍ර" (move @>))
++     (1 "්‍ර")))
+ 
+-  ("~"					; repaya (0DBB 0DCA 200D)
+-   (move @<)
+-   "ර්‍"
+-   (move @>))
+-  )
++   ("~"					; repaya (0DBB 0DCA 200D)
++    (move @<)
++    "ර්‍"
++    (move @>))
++   )
+ 
+- (kombuva
+-  ("f" "ෙ"))				; 0DD9
++  (kombuva
++   ("f" "ෙ"))				; 0DD9
+ 
+- (join
+-  ("\\"))
++  (join
++   ("\\"))
+ 
+- (backspace
+-  ((BackSpace))))
++  (backspace
++   ((BackSpace))))
+ 
+ (state
+  (init


More information about the scm-commits mailing list