From d34d28c602c10a6ed7e4b1fa2c0c29541ac52170 Mon Sep 17 00:00:00 2001 From: ntakahas Date: Thu, 30 Nov 2006 10:41:29 +0000 Subject: [PATCH] New file. --- si-wijesekera-preedit2.mim | 258 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 si-wijesekera-preedit2.mim diff --git a/si-wijesekera-preedit2.mim b/si-wijesekera-preedit2.mim new file mode 100644 index 0000000..23ae38d --- /dev/null +++ b/si-wijesekera-preedit2.mim @@ -0,0 +1,258 @@ +;; Copyright (C) 2006 +;; National Institute of Advanced Industrial Science and Technology (AIST) +;; Registration Number H15PRO112 + +;; This file is part of the m17n database; a sub-part of the m17n +;; library. + +;; The m17n library is free software; you can redistribute it and/or +;; modify it under the terms of the GNU Lesser General Public License +;; as published by the Free Software Foundation; either version 2.1 of +;; the License, or (at your option) any later version. + +;; The m17n library is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Lesser General Public License for more details. + +;; You should have received a copy of the GNU Lesser General Public +;; License along with the m17n library; if not, write to the Free +;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +;; 02111-1307, USA. + +(input-method si wijesekera-preedit2) + +(description "Sinhala input method based on SLS 1134 Rev. 2:2004. + +This input method uses preedit rather than surrounding text. +") + +(title "සි") + +(map + (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 + ((= @- 0x0D91) (delete @-) "ඒ") ; 0D92 + ((= @- 0x0D94) (delete @-) "ඕ") ; 0D95 + ((= @- 0x0DD9) (delete @-) "ේ") ; 0DDA + ((= @- 0x0DDC) (delete @-) "ෝ") ; 0DDD + (1 "්"))) ; 0DCA + ("d" + (cond + ((= @- 0x0D85) (delete @-) "ආ") ; 0D86 + ((= @- 0x0DD9) (delete @-) "ො") ; 0DDC + (1 "ා"))) ; 0DCF + ("e" + (cond + ((= @- 0x0D85) (delete @-) "ඇ") ; 0D87 + (1 "ැ"))) ; 0DD0 + ("E" + (cond + ((= @- 0x0D85) (delete @-) "ඈ") ; 0D88 + ((& (= @-2 0x0DC5) (= @- 0x0DD4)) + (delete @-) "ූ") ; 0DD6 + (1 "ෑ"))) ; 0DD1 + ("s" "ි") ; 0DD2 + ("S" "ී") ; 0DD3 + ("q" "ු") ; 0DD4 + ("Q" "ූ") ; 0DD6 + + ("D" + (cond + ((= @- 0x0D8D) (delete @-) "ඎ") ; 0D8E +;; The following line does not work when no consonant proceeds. +;; ((= @- 0x0DD8) (delete @-) "ෲ") ; 0DF2 + (1 "ෘ"))) ; 0DD8 +;; This one works with or without a preceeding consonant. + ("DD" "ෲ") ; 0DF2 + + ("A" + (cond + ((= @- 0x0D8B) (delete @-) "ඌ") ; 0D8C + ((= @- 0x0D8F) (delete @-) "ඐ") ; 0D90 + ((= @- 0x0D94) (delete @-) "ඖ") ; 0D96 + ((= @- 0x0DD9) (delete @-) "ෞ") ; 0DDE + (1 "ෟ"))) ; 0DDF + ((A-a) "ෳ") ; 0DF3 + + ("H" ; yansaya (0DCA 200D 0DBA) + (cond + ((| (= @- 0x0DD9) (= @- 0x0DDB)) + (move @-) "්‍ය" (move @>)) + (1 + "්‍ය"))) + + ("`" ; rakaransaya (0DCA 200D 0DBB) + (cond + ((| (= @- 0x0DD2) (= @- 0x0DD3) (= @- 0x0DD9) (= @- 0x0DDB)) + (move @-) "්‍ර" (move @>)) + (1 "්‍ර"))) + + ("~" ; repaya (0DBB 0DCA 200D) + (move @<) + "ර්‍" + (move @>)) + ) + + (kombuva + ("f" "ෙ")) ; 0DD9 + + (join + ("\\")) + + (backspace + ((BackSpace))) + ) + +(state + (init-state + (independent + (shift independent-state)) + (kombuva + (shift kombuva-state)) + (dependent)) + + (independent-state + (dependent) + (join + (cond + ((| (= @- 0x0DD9) (= @- 0x0DDB)) + (shift join-state)) + ((| (< @- 0x0D9A) (> @- 0x0DC6)) + (undo -1)) + (1 + (shift join-state)))) + (backspace + (undo))) + + (join-state + (t + (mark p)) + (independent + (move p) + (set c @-) + (cond + ((| (= c 0x0DD9) (= c 0x0DDB)) + (delete @-) + "්‍" ; 0DCA 200D + (move @>) + (insert c)) + (1 + "්‍" ; 0DCA 200D + (move @>))) + (shift independent-state)) + (backspace + (undo))) + + (kombuva-state + (t + (mark p)) + (independent + (cond + ((& (= @0 0x0DD9) (= @1 0x0D91)) + (delete @<) + "ඓ" ; 0D93 + (shift independent-state)) + ((& (= @0 0x0DD9) (< @2 0)) + (move @0) + (delete @+) + (move @>) + "ෙ" ; 0DD9 + (shift independent-state)) + ((& (= @0 0x0DDB) (< @2 0)) + (move @0) + (delete @+) + (move @>) + "ෛ" ; 0DDB + (shift independent-state)) + (1 + (delete p) + (pushback 1) + (shift init-state)))) + (kombuva + (mark p) + (cond + ((& (= @0 0x0DD9) (< @2 0)) + (delete @<) + "ෛ") ; 0DDB + (1 + (delete @-) + (pushback 1) + (shift init-state)))) + (dependent + (mark p)) + (backspace + (undo)))) + +;; Local Variables: +;; coding: utf-8 +;; mode: emacs-lisp +;; End: -- 1.7.10.4