From 6d667077b0d4dc5c0211bc08a81e195ed64b4592 Mon Sep 17 00:00:00 2001 From: majain Date: Tue, 28 Nov 2006 07:52:58 +0000 Subject: [PATCH] Resolved - 217318, 217319, added patch for si-wijesekera-preedit --- si-wijesekera_surrounding_to_preedit.patch | 684 +++++++++++++++++++++ 1 file changed, 684 insertions(+) create mode 100644 si-wijesekera_surrounding_to_preedit.patch diff --git a/si-wijesekera_surrounding_to_preedit.patch b/si-wijesekera_surrounding_to_preedit.patch new file mode 100644 index 0000000..7421c3e --- /dev/null +++ b/si-wijesekera_surrounding_to_preedit.patch @@ -0,0 +1,684 @@ +--- m17n-db-1.3.3/si-wijesekera.mim.orig 2006-11-28 12:51:48.000000000 +0530 ++++ m17n-db-1.3.3/si-wijesekera.mim 2006-10-16 18:47:08.000000000 +0530 +@@ -1,4 +1,4 @@ +-;; Copyright (C) 2005 ++;; Copyright (C) 2006 + ;; National Institute of Advanced Industrial Science and Technology (AIST) + ;; Registration Number H15PRO112 + +@@ -20,491 +20,231 @@ + ;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + ;; 02111-1307, USA. + +-(input-method si wijesekera) ++(input-method si wijesekera) + + (description "Sinhala input method based on SLS 1134 Rev. 2:2004. +- ++ ++Reference URL : http://http://www.fonts.lk/doc/sin-kbd-layout4.pdf ++ ++This input method uses preedit rather than surrounding text. ++ ++Key Summary : ++ඳ --> alt-gr+o ++ඟ --> alt-gr+. ++ඬ --> alt-gr+v ++ඦ --> alt-gr+c ++ඃ --> alt-gr+v ++෴ --> alt-gr+' ++ ++Key summary: Tyronne Wickramarathne ++ + ") + +-(title "Wijesekera") ++(title "සි") + + (map + (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 +- ) ++ ("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 ++ ++ (" 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 @+1) +- (cond +- ((& (> c 0x0D99) (< c 0x0DC7)) +- (delete @+1) +- (insert c) +- (forward) +- (set c @+1) +- (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) (= @+2 0x0DD9)) +- (delete @+2) +- 0x200C 0x0DDB) +- ((& (= @-1 0x0DD9) +- (| (< @-2 0x0D9A) (> @-2 0x0DC6))) +- (delete @-1) +- 0x0DDB) +- ((& (> @-1 0x0D99) (< @-1 0xDC7)) +- 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 0x0D99) (< @-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 0x0D99) (< @-1 0x0DC7)) +- 0x0DCA 0x200D 0x0DBB)) +- (cond +- ((> c 0) +- (insert c)))) +- +-;; Repaya is disabled. +-;; ("~" +-;; (set c @-1) +-;; (cond +-;; ((| (= c 0x0DD9) (= c 0x0DDB)) +-;; (delete @-1)) +-;; (1 +-;; (set c 0))) +-;; (backward) +-;; (cond +-;; ((& (> @-1 0x0D99) (< @-1 0x0DC7)) +-;; (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 0x0D99) (< @-1 0x0DC7)) 0x200C)) +- 0x0DD9) +- ((= c 0x0D95) +- 0x0D94) +- ((= c 0x0D96) +- 0x0D94) +- +- ((& (> c 0x0D99) (< c 0x0DC7) (= @-2 0x0DCA) (= @-1 0x200D)) +- (delete @-2)) +- +- ((= c 0x0DD9) +- (cond +- ((| (< @-1 0x0D9A) (> @-1 0x0DC6))) +- ((= @+1 0x0D91) +- (delete @-1) +- (delete @+1) +- 0x0D93) +- ((& (> @+1 0x0D99) (< @+1 0x0DC7)) +- (set c1 @+1) +- (cond +- ((= @+2 0x0DD9) +- (merge-combuva) +- 0x0DDB) +- ((= @+2 0x0DCA) +- (merge-combuva) +- 0x0DDA) +- ((= @+2 0x0DCF) +- (merge-combuva) +- 0x0DDC) +- ((= @+2 0x0DDF) +- (merge-combuva) +- 0x0DDE) +- (1 +- (delete @-1) +- (delete @+1) +- (insert c1) +- 0x0DD9))) +- ((& (> @-2 0x0D99) (< @-2 0x0DC7)) +- (delete @-1) +- 0x200C +- 0x0DD9) +- ((& (> @-4 0x0D99) (< @-4 0x0DC7) (= @-3 0x0DCA) (= @-2 0x200D)) +- (delete @-3) +- 0x0DD9) +- (1 +- (delete @-1) +- 0x0DD9))) +- +- ((= c 0x0DDA) +- 0x0DD9) +- +- ((= c 0x0DDB) +- (cond +- ((| (< @-1 0x0D9A) (> @-1 0x0DC6)) +- 0x0DD9) +- ((& (> @-2 0x0D99) (< @-2 0x0DC7)) +- (delete @-1) +- 0x200C +- 0x0DDB) +- ((& (> @-4 0x0D99) (< @-4 0x0DC7) (= @-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 0x0D99) +- (< @-1 0x0DC7) +- (| (= @+1 0x0DD9) (= @+1 0x0DDB))) +- 0x200C))) +- +- ("\\" (shift join)))) +- +-(macro +- ;; prototype +- (forward (set x 0)) +- (backward (set x 0)) +- (delete-preceding-zw (set x 0)) +- +- ;; skip following (virama zwj consonant)* sequence +- (forward +- (set cc3 @+3) +- (cond +- ((& (= @+1 0x0DCA) (= @+2 0x200D) (> cc3 0x0D99) (< cc3 0x0DC7)) +- (delete @+3) +- 0x0DCA 0x200D +- (insert cc3) +- (forward)))) +- +- (backward +- (set cc1 @-1) +- (cond +- ((& (= @-3 0x0DCA) (= @-2 0x200D) (> cc1 0x0D99) (< cc1 0x0DC7)) +- (delete @-3) +- 0x0DCA +- 0x200D +- (insert cc1) +- (move @<) +- (backward)))) +- +- (delete-preceding-zw +- (cond +- ((| (= @-1 0x200C) (= @-1 0x200D)) +- (delete @-1) +- (delete-preceding-zw)))) +- +- (merge-combuva +- (delete @-1) +- (delete @+2) +- (insert c1))) ++ (kombuva ++ ("f" "ෙ")) ; 0DD9 + +-(state +- (init +- (consonant +- (cond +- ((= @-1 0x0DD9) +- (cond +- ((= @-2 0x200C) +- (delete @-2) +- 0x0DD9) +- ((| (< @-2 0x0D9A) (> @-2 0x0DC6)) +- (delete @-1) +- 0x0DD9))) +- ((= @-1 0x0DDB) +- (cond +- ((= @-2 0x200C) +- (delete @-2) +- 0x0DDB) +- ((| (< @-2 0x0D9A) (> @-2 0x0DC6)) +- (delete @-1) +- 0x0DDB))))) +- (misc)) ++ (yansaka ++ ("H")) ++ ++ (rakaransaya ++ ("`")) ++ ++ (repaya ++ ("~")) ++ ++ (eyanna ++ ("w")) ++ ++ (al-lakuna ++ ("a")) ++ ++ (aela-pilla ++ ("d")) ++ ++ (gayanukitta ++ ("A")) + + (join +- (consonant +- (set c @-1) +- (cond +- ((| (= c 0x0DD9) (= c 0x0DDB)) +- (cond +- ((& (> @-2 0x0D99) (< @-2 0x0DC7)) +- (delete @-1) +- (move @<) +- 0x0DCA 0x200D +- (move @>) +- (insert c)))) +- ((& (> c 0x0D99) (< c 0x0DC7)) +- (move @<) +- 0x0DCA 0x200D)) +- (shift init)) ++ ("\\") ++ ("|")) ++ ++ (backspace ++ ((BackSpace))) ++ ) + +- (nil +- (shift init)))) ++(state ++ (init ++ (consonant (shift consonant)) ++ (others) ++ (is-pilla (shift is-pilla)) ++ (kombuva (shift kombuva))) ++ ++ (consonant ++ (rakaransaya 0x0DCA 0x200D 0x0DBB) ++ (yansaya 0x0DCA 0x200D 0x0DBA) ++ (repaya (move @-) 0x0DBB 0x0DCA 0x200D (move @+)) ++ (is-pilla (shift is-pilla)) ++ (join 0x0DCA 0x200D (shift consonant+join))) ++ ++ (consonant+join ++ (consonant (shift consonant)) ++ (backspace (undo))) ++ ++ (is-pilla ++ (rakaransaya (move @-) 0x0DCA 0x200D 0x0DBB (shift init))) ++ ++ (kombuva ++ (eyanna (delete @<) 0x0D93 (shift init)) ++ (al-lakuna (delete @<) 0x0DDA (shift init)) ++ (kombuva (delete @<) 0x0DDB (shift combu_deka)) ++ (aela-pilla (delete @<) 0x0DDC (shift kombuva_haa_aela-pilla)) ++ (gayanukitta (delete @<) 0x0DDE (shift init)) ++ (consonant (move @1) (delete @0) (move @>) 0x0DD9 (shift consonant+kombuva)) ++ (backspace (undo))) ++ ++ (combu_deka ++ (consonant (move @1) (delete @0) (move @>) 0x0DDB (shift init)) ++ (backspace (undo))) ++ ++ (kombuva_haa_aela-pilla ++ (al-lakuna (delete @<) 0x0DDD (shift init)) ++ (backspace (undo))) ++ ++ (consonant+kombuva ++ (al-lakuna (delete @-) 0x0DDA (shift init)) ++ (aela-pilla (delete @-) 0x0DDC (shift consonant+kombuva_haa_aela-pilla)) ++ (gayanukitta (delete @-) 0x0DDE (shift init)) ++ (yansaka (move @-) 0x0DCA 0x200D 0x0DBA (move @>)) ++ (rakaransaya (move @-) 0x0DCA 0x200D 0x0DBB (move @>)) ++ (join (shift consonant+join+kombuva)) ++ (touch (move @-) 0x200D 0x0DCA (move @>)) ++ (backspace (undo))) ++ ++ (consonant+kombuva_haa_aela-pilla ++ (al-lakuna (delete @-) 0x0DDD (shift init)) ++ (backspace (undo))) ++ ++ (consonant+join+kombuva ++ (consonant (move @-) (delete @-) 0x0DCA 0x200D (move @+) 0x0DD9 ++ (shift consonant+kombuva)) ++ (backspace (undo))) ++ ) + + ;; Local Variables: + ;; coding: utf-8 + ;; mode: emacs-lisp + ;; End: ++