From f236d6fb61066d8e575fc9ad4cb3d85487d1f5b3 Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Wed, 21 Dec 2011 11:55:24 +0530 Subject: [PATCH] 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 deletion(-) create mode 100644 si-wijesekera-altgr-key.patch diff --git a/m17n-db.spec b/m17n-db.spec index 0667e0f..c6adb4c 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.3 -Release: 1%{?dist} +Release: 2%{?dist} Group: System Environment/Libraries License: LGPLv2+ URL: http://www.m17n.org/m17n-lib/index.html @@ -15,6 +15,7 @@ Patch2: bn-itrans-t-182227.patch Patch4: kn-itrans_key-summary_228806.patch Patch5: ml-itrans-keysummary-435260.patch # Upstream patches +Patch11: si-wijesekera-altgr-key.patch %description This package contains multilingualization (m17n) datafiles for m17n-lib @@ -45,6 +46,7 @@ pushd MIM %patch2 -p1 -b .2~ %patch4 -p0 -b .4~ %patch5 -p0 -b .5~ +%patch11 -p0 -b .11~ popd %build @@ -93,6 +95,9 @@ rm $RPM_BUILD_ROOT%{_datadir}/m17n/ispell.mim %{_datadir}/pkgconfig/m17n-db.pc %changelog +* Wed Dec 21 2011 Parag Nemade - 1.6.3-2 +- Resolves:rh#769239 - altgr change in wijesekara keyboard layout + * Tue Oct 11 2011 Parag Nemade - 1.6.3-1 - update to 1.6.3 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