| Server IP : 134.236.49.22 / Your IP : 216.73.216.114 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/m17n/ |
Upload File : |
;; si-wijesekera-preedit.mim -- Sinhala input method with wijesekera method
;; Copyright (C) 2006, 2007
;; 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., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
(input-method si wijesekera)
(description "Sinhala input method based on SLS 1134 Rev. 2:2004.
<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+x
෴ --> alt-gr+'
Key summary: Tyronne Wickramarathne <tywickra@redhat.com>
")
(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
((= @-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
("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 @>))
)
(kombuva
("f" "ෙ")) ; 0DD9
(join
("\\"))
(backspace
((BackSpace)))
)
(state
(init-state
(independent
(shift independent-state))
(kombuva
(shift kombuva-state))
(dependent))
(independent-state
(dependent)
(join
(cond
((| (= @-1 0x0DD9) (= @-1 0x0DDB))
(shift join-state))
((| (< @-1 0x0D9A) (> @-1 0x0DC6))
(undo -1))
(1
(shift join-state))))
(backspace
(undo)))
(join-state
(t
(mark p))
(independent
(move p)
(set c @-1)
(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: