eaiovnaovbqoebvqoeavibavo ARAB-OTF-NO-GPOS.flt000064400000014265147633214350007506 0ustar00;; ARAB-OTF-NO-GPOS.flt -- Font Layout Table for Arabic OpenType font sans GPOS ;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter arab-otf-no-gpos nil (font (nil nil unicode-bmp :otf=arab=init,medi,fina+~mark))) ;;;
  • ARAB-OTF-NO-GPOS.flt ;;; ;;; For Arabic OpenType fonts that don't have GPOS table to draw the ;;; Arabic script. ;; Step 0: Move Kazakh high hamza. (category ;; p: high hamza carrier (p for positive) ;; n: high hamza suppressor (n for negative) ;; x: don't care ;; X: presentation form (0x0600 0x06FF ?x) (0x0674 0x0678 ?p) (0x0643 ?n) (0x06AF ?n) (0x06D5 ?n) (0x0750 0x077F ?x) ; Arabic Supplement (0x200C ?x) (0x200D ?x) (0x25CC ?x) (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B ) (generator (0 (cond ;; If a presentation form is found, draw the whole sequence as is. (".*X.*" = *) (".*p.*" ; If a high hamza is found, (cond (".*n.*" ; and a suppressor exists, rmhamza *) ; then remove the high hamza. (0 ; Otherwise, move the high 0x674 rmhamza *))) ; hamza to the beginning. (0 = *))) ; If no high hamza, do nothing. (rmhamza (cond ((0x0674) ) ((0x0675) 0x0627) ((0x0676) 0x0648) ((0x0677) 0x06C7) ((0x0678) 0x0649) ("." =)))) ;; Step 1: Initial, medial, or final. Surround diacritics by ;; separators (|). (category ;; D: Dual-joining (beh, teh, etc. & zwj) except for LAMs ;; L: LAMs ;; R: Right-joining (alef, dal, thal, reh, zain) except for ALEFs ;; A: ALEFs ;; U: Non-joining (Hamza, etc. & zwnj) ;; T: Transparent (combining marks) (0x060B 0x060F ?U) (0x0610 0x0615 ?T) (0x061B ?U) (0x061E 0x061F ?U) (0x0621 ?U) (0x0622 0x0627 ?A) (0x0624 ?R) (0x0626 ?D) (0x0628 ?D) (0x0629 ?R) (0x062A 0x062E ?D) (0x062F 0x0632 ?R) (0x0633 0x0647 ?D) (0x0644 ?L) (0x0648 ?R) (0x0649 0x064A ?D) (0x064B 0x065E ?T) (0x0660 0x066D ?U) (0x066E 0x066F ?D) (0x0670 ?T) (0x0671 0x0673 ?A) (0x0674 0x0678 ?U) (0x0679 0x0687 ?D) (0x0688 0x0699 ?R) (0x069A 0x06C3 ?D) (0x06B5 0x06B8 ?L) (0x06C4 0x06CB ?R) (0x06CC 0x06CE ?D) (0x06CF ?R) (0x06D0 0x06D3 ?D) (0x06D4 ?U) (0x06D5 ?R) (0x06D6 0x06E4 ?T) (0x06E5 0x06E6 ?U) (0x06E7 0x06E8 ?T) (0x06E9 ?U) (0x06EA 0x06ED ?T) (0x06EE 0x06EF ?R) (0x06F0 0x06F9 ?U) (0x06FA 0x06FC ?D) (0x06FD 0x06FE ?U) (0x06FF ?D) (0x0750 0x0758 ?D) (0x0759 0x075B ?R) (0x075C 0x076A ?D) (0x076B 0x076C ?R) (0x076D 0x0770 ?D) (0x0771 ?R) (0x0772 ?D) (0x0773 0x0774 ?R) (0x0775 0x0777 ?D) (0x0778 0x0779 ?R) (0x077A 0x077F ?D) (0x200C ?U) (0x200D ?D) (0x25CC ?U) (0xE800 ?C) ; dummy dotted-circle (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B ) (generator (0 (cond (".*X.*" (cond ("[DLRAUX]T*" < = * >) ("." =)) *) ;; LAM-ALEF pattern. Move diacritcs on LAM after ALEF. This is to ;; avoid loosing surrounding separators by OTF's liga or rlig ;; features in the next step. ("(L)(T*)(A)(T*)(.*)" (1 otf:arab=init) (3 otf:arab=fina) (2 | = * |) (4 | = * |) (5 disjoin)) ("[DL].*" (cond ("(.)(T*)([DLRA].*)" (1 otf:arab=init) (2 | = * |) (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) (1 otf:arab=isol) (2 | = * |) (3 disjoin)))) ("([RAU])(T*)(.*)" (1 otf:arab=isol) (2 | = * | ) (3 disjoin)) ;; Incorrect leading diacritcs. ("(T+)(.*)" (1 (cond ((font-facility 0x25CC) (cond ("." 0x25CC | = |)) *) ("." 0xE800 | = |)) *) (2 disjoin)))) (join (cond ;; LAM-ALEF pattern. See the above comment. ("(L)(T*)(A)(T*)(.*)" (1 otf:arab=medi) (3 otf:arab=fina) (2 | = * |) (4 | = * |) (5 disjoin)) ("[DL].*" (cond ("(.)(T*)([DLRA].*)" (1 otf:arab=medi) (2 | = * |) (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) (1 otf:arab=fina) (2 | = * |) (3 disjoin)))) ("(.)(T*)(.*)" (1 otf:arab=fina) (2 | = * |) (3 disjoin)))) (disjoin (cond ;; LAM-ALEF pattern. See the above comment. ("(L)(T*)(A)(T*)(.*)" (1 otf:arab=init) (3 otf:arab=fina) (2 | = * |) (4 | = * |) (5 disjoin)) ("[DL].*" (cond ("(.)(T*)([DLRA].*)" (1 otf:arab=init) (2 | = * |) (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) (1 otf:arab=isol) (2 | = * |) (3 disjoin)))) ("(.)(T*)(.*)" ; == ([RU])(T*)(.*) (1 otf:arab=isol) (2 | = * |) (3 disjoin))))) ;; Step 2: Remaining GSUB features (ligature, etc.). (generator (0 otf:arab=rlig,calt,liga,dlig,cswh,mset+)) ;; Step 3: Simulate missing GPOS features. (generator (0 (cond ("C ([^ ]) " ; dummy dotted-circle [ (1 =) ]) ("([^ ]) ([^ ]+)? ([^ ]+)? " ; LAM-ALEF ligature < (1 =) (2 ("." Br.Br =) *) (3 ("." Bl.Bl =) *) >) ("([^ ]) ([^ ]+)? " < (1 =) (2 ("." Bc.Bc =) *) >) ("([^ ])([^ ]) ([^ ]+)? ([^ ]+)? " ; failed LAM-ALEF ligature (1 < =) (3 ("." Br.Br =) *) > (2 < = ) (4 ("." Bl.Bl =) *) >) ("[^ ]" =) (" ")) *)) ;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: da-post.mim000064400000002600147633214350006625 0ustar00;; da-post.mim -- Danish input method with postfix modifiers ;; Copyright (C) 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 General Public License as ;; published by the Free Software Foundation; either version 2, 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 General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with the m17n library; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. (input-method da post) (description "Danish input method with postfix modifiers. ") (title "da-post") (map (trans ("AA" ?Å) ("aa" ?å) ("AE" ?Æ) ("ae" ?æ) ("OE" ?Ø) ("oe" ?ø) ("E'" ?É) ("e'" ?é) ("AAA" "A" "A") ("aaa" "a" "a") ("AEE" "A" "E") ("aee" "a" "e") ("OEE" "O" "E") ("oee" "o" "e") ("E''" "E" "'") ("e''" "e" "'") )) (state (init (trans))) ru-yawerty.mim000064400000007443147633214350007420 0ustar00;; ru-yawerty.mim -- Russian input method with YAWERTY keyboard layout ;; Copyright (C) 2003, 2004, 2005 ;; 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 for Russian simulating the keyboard layout based on ;;; Roman transcription by phonetic resemblance. ;;; @image html ru-yawerty.png "Keyboard Layout" ;;; @image latex ru-yawerty.eps "Keyboard Layout" width=\narrowwidth ;; 1! 2ё 3ъ 4Ё 5% 6^ 7& 8* 9( 0) -_ чЧ юЮ ;; яЯ вВ еЕ рР тТ ыЫ уУ иИ оО пП шШ щЩ ;; аА сС дД фФ гГ хХ йЙ кК лЛ ;: '" эЭ ;; зЗ ьЬ цЦ жЖ бБ нН мМ ,< .> /? ;;; When preceded by a '/', the second and the third rows (number key ;;; row) change as follows. ;;; @image html ru-yawerty2.png ;;; @image latex ru-yawerty2.eps "Extra Keys" width=\narrowwidth ;; keytop | Q W E R T Y U I O P A S D ;; -------+--------------------------------------- ;; input | Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ў Џ (input-method ru yawerty) (description "Rusian input method simulating the Yawerty keyboard layout. This keyboard is based on Roman transcription by phonetic resemblance. 1! 2ё 3ъ 4Ё 5% 6^ 7& 8* 9( 0) -_ чЧ юЮ яЯ вВ еЕ рР тТ ыЫ уУ иИ оО пП шШ щЩ аА сС дД фФ гГ хХ йЙ кК лЛ ;: '\" эЭ зЗ ьЬ цЦ жЖ бБ нН мМ ,< .> /? When preceded by a '/', the second and the third rows (number key row) change as follows. keytop | Q W E R T Y U I O P A S D -------+--------------------------------------- input | Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ў Џ ") (title "ЖЯ") (map (map ("=" ?ч) ("`" ?ю) ("q" ?я) ("w" ?в) ("e" ?е) ("r" ?р) ("t" ?т) ("y" ?ы) ("u" ?у) ("i" ?и) ("o" ?о) ("p" ?п) ("[" ?ш) ("]" ?щ) ("a" ?а) ("s" ?с) ("d" ?д) ("f" ?ф) ("g" ?г) ("h" ?х) ("j" ?й) ("k" ?к) ("l" ?л) ("\\" ?э) ("z" ?з) ("x" ?ь) ("c" ?ц) ("v" ?ж) ("b" ?б) ("n" ?н) ("m" ?м) ("@" ?ё) ("#" ?ъ) ("$" ?Ё) ("+" ?Ч) ("~" ?Ю) ("Q" ?Я) ("W" ?В) ("E" ?Е) ("R" ?Р) ("T" ?Т) ("Y" ?Ы) ("U" ?У) ("I" ?И) ("O" ?О) ("P" ?П) ("{" ?Ш) ("}" ?Щ) ("A" ?А) ("S" ?С) ("D" ?Д) ("F" ?Ф) ("G" ?Г) ("H" ?Х) ("J" ?Й) ("K" ?К) ("L" ?Л) ("|" ?Э) ("Z" ?З) ("X" ?Ь) ("C" ?Ц) ("V" ?Ж) ("B" ?Б) ("N" ?Н) ("M" ?М) ("/q" ?ђ) ("/w" ?ѓ) ("/e" ?є) ("/r" ?ѕ) ("/t" ?і) ("/y" ?ї) ("/u" ?ј) ("/i" ?љ) ("/o" ?њ) ("/p" ?ћ) ("/a" ?ќ) ("/s" ?ў) ("/d" ?џ) ("/Q" ?Ђ) ("/W" ?Ѓ) ("/E" ?Є) ("/R" ?Ѕ) ("/T" ?І) ("/Y" ?Ї) ("/U" ?Ј) ("/I" ?Љ) ("/O" ?Њ) ("/P" ?Ћ) ("/A" ?Ќ) ("/S" ?Ў) ("/D" ?Џ))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: LAOO-GENERIC.flt000064400000004443147633214350007074 0ustar00;; LAOO-GENERIC.flt -- Font Layout Table for Lao ;; Copyright (C) 2005, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter laoo-generic nil (font (nil nil unicode-bmp :lang=lo))) ;;;
  • LAOO-GENERIC.flt (category ;; C: CONSONANT (except for c and s) ;; c: TALL CONSONANT ;; s: LAO SEMIVOWEL SIGN LO ;; A: VOWEL AM ;; V: VOWEL UPPER ;; v: VOWEL LOWER ;; T: TONE ;; I: INDEPENDENT VOWEL (except for A) ;; S: SIGN (0x0E81 0x0E82 ?C) (0x0E84 ?C) (0x0E87 0x0E88 ?C) (0x0E8A ?C) (0x0E8D ?C) (0x0E94 0x0E97 ?C) (0x0E99 0x0E9E ?C) (0x0E9B ?c) (0x0E9D ?c) (0x0E9F ?c) (0x0EA1 0x0EA3 ?C) (0x0EA2 ?c) (0x0EA5 ?C) (0x0EA7 ?C) (0x0EAA 0x0EAB ?C) (0x0EAD 0x0EAE ?C) (0x0EAF ?S) (0x0EB0 ?I) (0x0EB1 ?V) (0x0EB2 ?I) (0x0EB3 ?A) (0x0EB4 0x0EB7 ?V) (0x0EB8 0x0EB9 ?v) (0x0EBB ?V) (0x0EBC ?s) (0x0EBD ?I) (0x0EC0 0x0EC4 ?I) (0x0EC6 ?S) (0x0EC8 0x0ECC ?T) (0x0ECD ?V) (0x0ED0 0x0ED9 ?I) (0x0EDC 0x0EDD ?C)) (generator (0 (cond ("(Cs?)(T)?(A)" < (1 = =) 0x0ECD (2 tr+bl =) (3 0x0EB2) > ) ("(cs?)(T)?(A)" < (1 = =) Br<10Bl 0x0ECD (2 tr+<10bl =) (3 0x0EB2) > ) ("(Cs?[vV]?)(T)?" < (1 = *) (2 tr+bl =) > ) ("(cs?)([vV])?(T)?" < (1 = *) (2 (cond ("v" =) ("." Br<10Bl =))) (3 tr+<10bl =) > ) ("[sVvTA]" [ = ]) ("." =)) *)) ;; Copyright (C) 2005, 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. ;; Local Variables: ;; mode: lisp ;; End: MYMR-SIL.flt000064400000011325147633214350006476 0ustar00;; MYMR-SIL.flt -- Font Layout Table for Padauk.ttf ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter mymr-sil nil (font (nil nil unicode-bmp :otf=mymr))) ;;;
  • MYMR-SIL.flt ;;; ;;; For Padauk.ttf to draw the Myanmar script. ;; Padauk.ttf is very smart. All we have to do is identify boundaries ;; of character sequences and apply the clig feature to them. No ;; reordering is necessary. See Unicode Technical Note #11 ;; http://www.unicode.org/notes/tn11/ for details. (category ;; c: ordinary consonants ;; C: consonants with a subjoined form ;; g: consonant with a kinzi form (Burmese nga and Mon gna) ;; G: consonant with a repha form (Sanscrit) ;; v: virama ;; V: asat ;; y: medial YA ;; r: medial RA ;; w: medial WA ;; h: medial HA ;; e: E vowel ;; E: Shan E vowel ;; u: upper vowel ;; l: lower vowel ;; k: karen vowel ;; s: Shan vowel ;; a: A vowel ;; A: anusvara ;; p: pwo tone ;; b: lower dot ;; H: Mon medial LA ;; w: visarga ;; R: reduplication ;; x: others (0x1000 0x1021 ?C) ; LETTER KA .. A (0x1004 ?g) ; LETTER GNA (0x101A ?c) ; LETTER YA (0x101B ?G) ; LETTER RA (0x101D ?c) ; LETTER WA (0x101F ?c) ; LETTER HA (0x1022 0x102A ?c) ; LETTER SHAN A .. AU (0x102B 0x102C ?a) ; VOWEL SIGN TALL AA .. AA (0x102D 0x102E ?u) ; VOWEL SIGN I .. II (0x102F 0x1030 ?l) ; VOWEL SIGN U .. UU (0x1031 ?e) ; VOWEL SIGN E (0x1032 ?A) ; VOWEL SIGN AI (0x1033 0x1035 ?u) ; VOWEL SIGN MON II .. E ABOVE (0x1036 ?A) ; SIGN ANUSVARA (0x1037 ?b) ; SIGN DOT BELOW (0x1038 ?w) ; SIGN VISARGA (0x1039 ?v) ; SIGN VIRAMA (0x103A ?V) ; SIGN ASAT (0x103B ?y) ; CONSONANT SIGN MEDIAL YA (0x103C ?r) ; CONSONANT SIGN MEDIAL RA (0x103D ?w) ; CONSONANT SIGN MEDIAL WA (0x103E ?h) ; CONSONANT SIGN MEDIAL HA (0x103F 0x1049 ?c) ; LETTER GREAT SA .. DIGIT NINE (0x1040 ?x) ; DIGIT ZERO (0x104A 0x1059 ?x) ; SIGN LITTLE SECTION .. VOWEL SIGN VOCALIC LL (0x104E ?c) ; SYMBOL AFORMENTIONED (0x105A ?g) ; LETTER MON NGA (0x105B 0x105D ?C) ; LETTER MON JHA .. MON BBE (0x105E 0x105F ?y) ; LETTER CONSONANT SIGN MON MEDIAL NA .. MA (0x1060 ?H) ; LETTER CONSONANT SIGN MON MEDIAL LA (0x1061 ?c) ; LETTER SGAW KAREN SHA (0x1062 ?k) ; VOWEL SIGN SGAW KAREN EU (0x1063 ?a) ; TONE MARK SGAW KAREN HATHI (0x1064 ?p) ; TONE MARK SGAW KAREN KE PHO (0x1065 0x1066 ?c) ; LETTER WESTERN PWO KAREN THA .. PWA (0x1067 0x1068 ?a) ; VOWEL SIGN WESTERN PWO KAREN EU .. UE (0x1069 0x106D ?p) ; SIGN WESTERN PWO KAREN TONE 1 .. 5 (0x106E 0x1070 ?c) ; LETTER EASTERN PWO KAREN NNA .. GHWA (0x1071 0x1074 ?u) ; VOWEL SIGN GEBA RAREN I .. KAYAH EE (0x1075 0x1081 ?c) ; LETTER SHAN KA .. HA (0x1082 ?w) ; CONSONANT SIGN SHAN MEDIAL WA (0x1083 ?a) ; VOWEL SIGN SHAN AA (0x1084 ?E) ; VOWEL SIGN SHAN E (0x1085 ?u) ; VOWEL SIGN SHAN E ABOVE (0x1086 ?s) ; VOWEL SIGN SHAN FINAL Y (0x1087 0x108D ?w) ; SHAN TONE-2 .. COUNCIL EMPHATIC TONE (0x108E ?c) ; LETTER RUMAI PALAUNG FA (0x108F ?w) ; SIGN RUMAI PALAUNG TONE-5 (0x1090 0x1099 ?x) ; SHAN DIGIT ZERO .. NINE (0x109A 0x109C ?w) ; SIGN KHAMTI TONE-1 .. VOWEL SIGN AITON A (0x109E 0x109F ?X) ; SYMBOL SHAN ONE .. EXCLAMATION (0xAA60 0xAA76 ?c) ; LETTER KHAMTI GA .. LOGOGRAM KHAMTI HM (0xAA70 ?R) ; LETTER KHAMTI REDUPLICATION (0xAA77 0xAA7B ?x) ; SYMBOL AITON EXCLAMATION .. PAO KAREN TONE (0x25CC ?x) ; DOTTED CIRCLE ) (generator (0 (cond ("([gG]Vv)?[cCgG](v[Cg])?(v[Cg])?V?y?r?w?[hH]?V?(ee?|E)?[uA]?(l|[kb])?s?[ak]?A?p?b?h?V?w?R?" < :otf=mymr=clig >) ("[vVywhulksaApbHw]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("[reE]" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: SCRIPT.tbl000064400000013304147633214350006264 0ustar00;; SCRIPT.tbl -- Unicode Script -*- lisp -*- ;; Copyright (C) 2006, 2007, 2008, 2009, 2010 ;; 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. ;; ;; The file format is this: ;; (SCRIPT ([ ISO639-1 | ISO639-2 ] ...) (CHAR ...]) [OTF-TAG]) ... ;; SCRIPT: script name ;; ISO639-1: 2-letter language code of ISO639-1. ;; ISO639-2: 3-letter language code of ISO639-2. ;; CHAR: representative characters of the script selected from "last ;; resort" glyph of Unicode and/or by arbitrary way. ;; OTF-TAG: OpenType font script tag or a list of tags. ;;;
  • SCRIPT-LANGUAGE.tbl ;;; ;;; Table of scripts vs languages using the corresponding script. (arabic (ar az fa ha kk ks ku ky pa ps sd ug ur) (#x621 #x627) arab) (armenian (hy) (#x531 #x55E) armn) ;new (balinese (ban sas) (#x1B13 #x1B02) bali) ;No "last resort" glyph (bengali (as bn mni kha sat) (#x995 #x981) (beng bng2)) (bopomofo (zh) (#x3105) bopo) (braille () (#x281D) brai) (buginese (bug) (#x1A01 #x1A1B) bugi) ;No "last resort" glyph (buhid (tl fil) (#x1743 #x1753) buhd) (canadian_aboliginal (chp oj iu den cr) (#x14C0 #x166E) cans) ;new (carian (xcr) (#x102A9)) ;No "last resort" glyph ;639-3 code xcr (cherokee (chr) (#x13E3) cher) (coptic (cop) (#x2CB1 #x2CFE) copt) ;No "last resort" glyph ;new (cuneiform (sux akk elx hit xhu)(#x12000) xsux) ;No "last resort" glyph ;639-3 code xhu (cyrillic (ab av az ba be bg ce cu cv kk ku kv ky mk mn os ru sr hr bs tg tk tt ug uk uz) (#x42F) cyrl) (cypriot () (#x10800) cprt) (deseret (en) (#x10414) dsrt) (devanagari (bh hi ks mr ne sa awa new doi gon pa bra raj sd kru mwr mag mai) (#x915 #x902) (deva dev2)) (ethiopic (am ti om byn tig gez) (#x1208 #x1361) ethi) (georgian (ka) (#x10D3) geor) (glagolitic (cu) (#x2C00) glag) ;No "last resort" glyph (gothic (got) (#x10330 #x1034A) goth) (greek (el cop) (#x3A9 #x3C9 #x3AC) grek) (gujarati (gu pa sd) (#xA95 #xA83) (gujr gjr2)) (gurmukhi (pa) (#xA15 #xA03) (guru gur2)) (han (ja ko zh) (#x5B57) hani) (hangul (ko) (#xAC00) hang) (hanunoo (hnn) (#x1723 #x1732) hano) ;639-3 code hnn (hebrew (he yi jpr arc lad jrb) (#x5D0) hebr) (hiragana (ja) (#x304B) kana) (kannada (kn kok) (#xC95 #xC83) (knda knd2)) (katakana (ja) (#x30AB) kana) ;new (kayah_li (eky kyu) (#xA90A #xA92E)) ;No "last resort" glyph ;639-3 code eky kyu (kharoshthi (sa) (#x10A10 #x10A0F) khar) ;No "last resort" glyph (khmer (km) (#x1780 #x17B6) khmr) (lao (lo) (#xEA5 #xEB1) lao\ ) (latin (aa af ak tw an ay bi bm br ca ch co cs cy da de ee en eo es et eu ff fi fj fo fr wa fy ga gd gl gn gv ha ho ht hu hz id ig ik is it iu jv kg ki kj kl kr ku kw la lb lg li ln lt lu lv mg mh mi ms mt na nd ng nl no nb nn nr nv ny oc oj om pl pt qu rm rn ro mo rw sc se sg sk sl sm sn so sq sr hr bs ss st su sv sw tl tn to tr ts ty ve vi wo xh yo za zu) (?A ?Z ?a ?z) latn) ;new (lepcha (lep) (#x1C00 #x1C37)) ;No "last resort" glyph ;639-3 code lep (limbu (lif) (#x1901 #x1920) limb) ;639-3 code lif (linear_b (gmy) (#x10000) linb) ;639-3 code gmy ;new (lycian (xlc) (#x10280)) ;No "last resort" glyph ;639-3 code xlc (lydian (xld)(#x10920 #x1093F)) ;No "last resort" glyph ;639-3 code xld (malayalam (ml) (#xD15 #xD03) (mlym mlm2)) (mongolian (mn mnc) (#x1826 #x1803) mong) (myanmar (my pi shn kar) (#x1000 #x102C) mymr) (new_tai_lue () (#x1980 #x19B1)) ;No "last resort" glyph (ogham (gd ga) (#x168F #x169B) ogam) ;new (ol_chiki (san) (#x1C5A #x1C7E)) ;No "last resort" glyph (old_italic () (#x10300) ital) (old_persian (peo) (#x103A3 #x103D0) xpeo) ;No "last resort" glyph (oriya (or) (#xB15 #xB03) (orya ory2)) (osmanya (so) (#x10480) osma) ;new (phags-pa (mn zh bo ug) (#xABA2 #xABB0) phag) ;No "last resort" glyph (phaistos_disc () (#x101D0)) ;No "last resort" glyph (phoenician (phn) (#x10900 #x1091F) phnx) ;No "last resort" glyph (rejang (rej) (#xA930 #xA953)) ;No "last resort" glyph ;639-3 code rej (rod_nums () (#x1D366)) ;No "last resort" glyph (runic () (#x16A0) runr) ;new (saurashtra (saz) (#xA892 #xA880)) ;No "last resort" glyph ;639-3 code saz (shavian (eng) (#x10457) shaw) (sinhala (pi si sa) (#xD95 #xD83) sinh) ;new (sundanese (sun) (#x1B8A #x1B80)) ;No "last resort" glyph (syloti_nagri (syl) (#xA807 #xA802) sylo) ;No "last resort" glyph ;639-3 code syl (syriac (hy arc syr sam) (#x710 #x700) syrc) (tagalog (tl) (#x1703 #x1712) tglg) (tagbanwa (tbw) (#x1763 #x1772) tagb) ;639-3 code tbw (tamil (ta) (#xB95 #xB83) (taml tml2)) (tai_le (tdd) (#x1950) tale) ;639-3 code tdd ;new (tai_viet (tai) (#xAA80)) (cham () (#xAA00)) (telugu (te) (#xC15 #xC03) (telu tel2)) (thaana (dv) (#x78C #x7B0) thaa) (thai (pi th hmn) (#xE17 #xE34) thai) (tibetan (bo dz) (#xF40 #xF71) tibt) (tifinagh (tmh) (#x2D30) tfng) ;No "last resort" glyph (ugaritic (uga) (#x10380 #x1039F) ugar) ;new (vai (vai) (#xA501 #xA60A)) ;No "last resort" glyph (yi (ii) (#xA288) yi\ \ ) TAML-CDAC.flt000064400000020203147633214350006505 0ustar00;; TAML-CDAC.flt -- Font Layout Table for Tamil (C-DAC font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter taml-cdac nil (font (nil tm-ttvalluvar apple-roman))) ;;;
  • TAML-CDAC.flt (category ;; C: CONSONANT ;; I: INDEPENDENT VOWEL ;; R: DEPENDENT VOWEL RIGHT ;; L: DEPENDENT VOWEL LEFT ;; B: DEPENDENT VOWEL LEFT AND RIGHT TYPE 1 ;; b: DEPENDENT VOWEL LEFT AND RIGHT TYPE 2 ;; V: VIRAMA ;; E: ELSE ;; (0x0B83 ?E) (0x0B85 0x0B8A ?I) (0x0B8E 0x0B90 ?I) (0x0B92 0x0B94 ?I) (0x0B95 ?C) (0x0B99 0x0B9A ?C) (0x0B9C ?C) (0x0B9E 0x0B9F ?C) (0x0BA3 0x0BA4 ?C) (0x0BA8 0x0BAA ?C) (0x0BAE 0x0BB5 ?C) (0x0BB7 0x0BB9 ?C) (0x0BBE 0x0BC2 ?R) (0x0BC6 0x0BC8 ?L) (0x0BCA ?B) (0x0BCB ?b) (0x0BCC ?B) (0x0BCD ?V) (0x0BD7 ?E)) ;; CHAR->GLYPH STAGE (generator (0 (cond ("((CV)*)(C)(R)" (1 consonant-virama *) (3 consonant) (4 dependent-vowel)) ("((CV)*)(C)(L)" < | (4 dependent-vowel) (1 consonant-virama *) (3 consonant) | >) ("((CV)*)(C)(B)" < | 0xAA (1 consonant-virama *) (3 consonant) (4 dependent-vowel) | >) ("((CV)*)(C)(b)" < | 0xAB (1 consonant-virama *) (3 consonant) (4 dependent-vowel) | >) ("CV" < consonant-virama >) ("[RLBb]" isolated-dependent-vowel) ("." independent consonant)) *) (consonant-virama (cond ((0x0B95 0x0BCD) 0xE8 0xA2) ; k ((0x0B99 0x0BCD) 0xE9 0xA2) ; n^ ((0x0B9A 0x0BCD) 0xEA 0xA2) ; c ((0x0B9E 0x0BCD) 0xEB 0xA2) ; n~ ((0x0B9F 0x0BCD) 0xEC 0xA2) ; t. ((0x0BA3 0x0BCD) 0xED 0xA2) ; n. ((0x0BA4 0x0BCD) 0xEE 0xA2) ; t ((0x0BA8 0x0BCD) 0xEF 0xA2) ; n ((0x0BAA 0x0BCD) 0xF0 0xA2) ; p ((0x0BAE 0x0BCD) 0xF1 0xA2) ; m ((0x0BAF 0x0BCD) 0xF2 0xA2) ; y ((0x0BB0 0x0BCD) 0xF3 0xA2) ; r ((0x0BB2 0x0BCD) 0xF4 0xA2) ; l ((0x0BB5 0x0BCD) 0xF5 0xA2) ; v ((0x0BB4 0x0BCD) 0xF6 0xA2) ; l_ ((0x0BB3 0x0BCD) 0xF7 0xA2) ; l. ((0x0BB1 0x0BCD) 0xF8 0xA2) ; r_ ((0x0BA9 0x0BCD) 0xA1) ; n_ ((0x0BB8 0x0BCD) 0x76) ; s ((0x0BB7 0x0BCD) 0x77) ; s' ((0x0B9C 0x0BCD) 0x78) ; j ((0x0BB9 0x0BCD) 0x79) ; h )) (consonant (cond ((0x0B95) 0xE8) ; k ((0x0B99) 0xE9) ; n^ ((0x0B9A) 0xEA) ; c ((0x0B9E) 0xEB) ; n~ ((0x0B9F) 0xEC) ; t. ((0x0BA3) 0xED) ; n. ((0x0BA4) 0xEE) ; t ((0x0BA8) 0xEF) ; n ((0x0BAA) 0xF0) ; p ((0x0BAE) 0xF1) ; m ((0x0BAF) 0xF2) ; y ((0x0BB0) 0xF3) ; r ((0x0BB2) 0xF4) ; l ((0x0BB5) 0xF5) ; v ((0x0BB4) 0xF6) ; l_ ((0x0BB3) 0xF7) ; l. ((0x0BB1) 0xF8) ; r_ ((0x0BA9) 0xF9) ; n_ ((0x0BB8) 0xFA) ; s ((0x0BB7) 0xFB) ; s' ((0x0B9C) 0xFC) ; j ((0x0BB9) 0xFD) ; h )) (dependent-vowel (cond ((0x0BBE) 0xA3) ; a~ ((0x0BBF) 0xA4) ; i ((0x0BC0) 0xA6) ; i~ ((0x0BC1) 0xA7) ; u ((0x0BC2) 0xA8) ; u~ ((0x0BC6) 0xAA) ; e ((0x0BC7) 0xAB) ; e~ ((0x0BC8) 0xAC) ; ai ((0x0BCA) 0xA3) ; o (right part) ((0x0BCB) 0xA3) ; o~ (right part) ((0x0BCC) 0xF7) ; au (right part) )) (independent (cond ;; VOWELS ((0x0B85) 0xDC) ; a ((0x0B86) 0xDD) ; a~ ((0x0B87) 0xDE) ; i ((0x0B88) 0xDF) ; i~ ((0x0B89) 0xE0) ; u ((0x0B8A) 0xE1) ; u~ ((0x0B8E) 0xE2) ; e ((0x0B8F) 0xE3) ; e~ ((0x0B90) 0xE4) ; ai ((0x0B92) 0xE5) ; o ((0x0B93) 0xE6) ; o~ ((0x0B94) 0xE5 0xF7) ; au ;; VISARGA ((0x0B83) 0xE7) )) (isolated-dependent-vowel (cond ((0x0BBE) 0x81 0xA3) ; a~ ((0x0BBF) 0x81 0xA4) ; i ((0x0BC0) 0x81 0xA6) ; i~ ((0x0BC1) 0x81 0xA7) ; u ((0x0BC2) 0x81 0xA8) ; u~ ((0x0BC6) 0xAA 0x81) ; e ((0x0BC7) 0xAB 0x81) ; e~ ((0x0BC8) 0xAC 0x81) ; ai ((0x0BCA) 0xAA 0x81 0xA3) ; o ((0x0BCB) 0xAB 0x81 0xA3) ; o~ ((0x0BCC) 0xAA 0x81 0xF7) ; au ))) ;; LIGATURE STAGE (category ;; C: CONSONANT (except for K, R, S) ;; K: CONSONANT K ;; R: CONSONANT R ;; S: CONSONANT S' ;; V: LIGATURE VOWEL (except for I,i) ;; I: DEPENDENT VOWEL I ;; i: DEPENDENT VOWEL I~ ;; L: LEFT PART OF VOWEL ;; v: VIRAMA ;; E: ELSE ;; (0x00 0xFF ?E) (0xA2 ?v) (0xE9 0xFD ?C) (0xE8 ?K) (0xF3 ?R) (0xFB ?S) (0xA4 ?I) ; i (0xA6 ?i) ; i~ (0xA7 0xA8 ?V) ; u, u~ (0xAA 0xAC ?L) ) (generator (0 (cond ;; 1 23 4 5 6 (" (L)(([CKRS](v)?)*)(KvS)(.)? " (2 = *) (1 =) (5 0xFE) (6 =)) ;; 1 23 4 5 (" (L)(([CKRS](v)?)*)([CKRS].?) " (2 = *) (1 =) (5 = =)) ("KvS[Iiv]?" ligature-ks) ("[CKRS][IiV]" ligature = =) ("SvRi" 0xFF) ("." =)) *) (ligature-ks (cond ((0xE8 0xA2 0xFB 0xA4) 0x56) ; ksi ((0xE8 0xA2 0xFB 0xA6) 0x72) ; ksi~ ((0xE8 0xA2 0xFB 0xA2) 0x7A) ; ks ((0xE8 0xA2 0xFB) 0xFE) ; ks )) (ligature (cond ((0xE8 0xA2 0x76 0xA2) 0x7A) ; ks. ((0xE8 0xA4) 0x41) ; ki ((0xE9 0xA4) 0x42) ; n^i ((0xEA 0xA4) 0x43) ; ci ((0xEB 0xA4) 0x44) ; n~i ((0xEC 0xA4) 0xAE) ; t.i ((0xED 0xA4) 0x45) ; n.i ((0xEE 0xA4) 0x46) ; ti ((0xEF 0xA4) 0x47) ; ni ((0xF0 0xA4) 0x48) ; pi ((0xF1 0xA4) 0x49) ; mi ((0xF2 0xA4) 0x4A) ; yi ((0xF3 0xA4) 0x4B) ; ri ((0xF4 0xA4) 0x4C) ; li ((0xF5 0xA4) 0x4D) ; vi ((0xF6 0xA4) 0x4E) ; l_i ((0xF7 0xA4) 0x4F) ; l.i ((0xF8 0xA4) 0x50) ; r_i ((0xF9 0xA4) 0x51) ; n_i ((0xFA 0xA4) 0x52) ; si ((0xFB 0xA4) 0x53) ; s'i ((0xFC 0xA4) 0x54) ; ji ((0xFD 0xA4) 0x55) ; hi ((0xE8 0xA6) 0x57) ; ki~ ((0xE9 0xA6) 0x58) ; n^i~ ((0xEA 0xA6) 0x59) ; ci~ ((0xEB 0xA6) 0x5A) ; n~i~ ((0xEC 0xA6) 0xAF) ; t.i~ ((0xED 0xA6) 0x61) ; n.i~ ((0xEE 0xA6) 0x62) ; ti~ ((0xEF 0xA6) 0x63) ; ni~ ((0xF0 0xA6) 0x64) ; pi~ ((0xF1 0xA6) 0x65) ; mi~ ((0xF2 0xA6) 0x66) ; yi~ ((0xF3 0xA6) 0x67) ; ri~ ((0xF4 0xA6) 0x68) ; li~ ((0xF5 0xA6) 0x69) ; vi~ ((0xF6 0xA6) 0x6A) ; l_i~ ((0xF7 0xA6) 0x6B) ; l.i~ ((0xF8 0xA6) 0x6C) ; r_i~ ((0xF9 0xA6) 0x6D) ; n_i~ ((0xFA 0xA6) 0x6E) ; si~ ((0xFB 0xA6) 0x6F) ; s'i~ ((0xFC 0xA6) 0x70) ; ji~ ((0xFD 0xA6) 0x71) ; hi~ ((0xE8 0xA7) 0xB0) ; ku ((0xE9 0xA7) 0xB1) ; n^u ((0xEA 0xA7) 0xB2) ; cu ((0xEB 0xA7) 0xB3) ; n~u ((0xEC 0xA7) 0xB4) ; t.u ((0xED 0xA7) 0xB5) ; n.u ((0xEE 0xA7) 0xB6) ; tu ((0xEF 0xA7) 0xB8) ; nu ((0xF0 0xA7) 0xB9) ; pu ((0xF1 0xA7) 0xBA) ; mu ((0xF2 0xA7) 0xBB) ; yu ((0xF3 0xA7) 0xBC) ; ru ((0xF4 0xA7) 0xBD) ; lu ((0xF5 0xA7) 0xBE) ; vu ((0xF6 0xA7) 0xBF) ; l_u ((0xF7 0xA7) 0xC0) ; l.u ((0xF8 0xA7) 0xC1) ; r_u ((0xF9 0xA7) 0xC2) ; n_u ((0xE8 0xA8) 0xC3) ; ku~ ((0xE9 0xA8) 0xC4) ; n^u~ ((0xEA 0xA8) 0xC5) ; cu~ ((0xEB 0xA8) 0xC6) ; n~u~ ((0xEC 0xA8) 0xC7) ; t.u~ ((0xED 0xA8) 0xC8) ; n.u~ ((0xEE 0xA8) 0xC9) ; tu~ ((0xEF 0xA8) 0xCB) ; nu~ ((0xF0 0xA8) 0xCC) ; pu~ ((0xF1 0xA8) 0xCD) ; mu~ ((0xF2 0xA8) 0xCE) ; yu~ ((0xF3 0xA8) 0xCF) ; ru~ ((0xF4 0xA8) 0xD6) ; lu~ ((0xF5 0xA8) 0xD7) ; vu~ ((0xF6 0xA8) 0xD8) ; l_u~ ((0xF7 0xA8) 0xD9) ; l.u~ ((0xF8 0xA8) 0xDA) ; r_u~ ((0xF9 0xA8) 0xDB) ; n_u~ )) ) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: bn-itrans.mim000064400000012142147633214350007155 0ustar00;; bn-itrans.mim -- Bengali input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 ;; 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 bn itrans) (description "Bengali input method by ITRANS transliteration. Itrans Bengali Keymap Layout created by Avinash Chopde in accordance with the details in the following link: http://www.aczoom.com/itrans/beng/node4.html Key Summary: The consonant alphabets are represented as half-characters by default i.e. k = ক্ . To complete the character please use 'a' representing 'অ' i.e. ka=ক. Consonant conjuncts can be created by writing the consonant characters in sequential order. To complete the conjunct either 'অ' or any other dependent vowel [অ (a), া(aa), ি(i), ী(ii), ু(u), ূ(uu), ে(e), ৈ(ai), ো (o), ৌ (au)] needs to be added at the end. E.g. ক্রিয়া = k+r+i+Y+A To write 'Khaanda-ta' (ৎ) use the key combination : t.h Detailed instructions for typing are available at the above mentioned link The following keysequences are not defined in the mentioned page, but added for users' sake: Ch JN shh yh dny LLi L^i RRI R^I LLI L^I # $ ^ * ] Shift-SPC Control-SPC ") (title "ক") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "ক্") ("kh" "খ্") ("g" "গ্") ("gh" "ঘ্") ("~N" "ঙ্") ("N^" "ঙ্") ("ch" "চ্") ("chh" "ছ্") ("Ch" "ছ্") ; not in ITRANS Bengali table ("j" "জ্") ("jh" "ঝ্") ("~n" "ঞ্") ("n^" "ঞ্") ("JN" "ঞ্") ; not in ITRANS Bengali table ("T" "ট্") ("Th" "ঠ্") ("D" "ড্") ("Dh" "ঢ্") ("N" "ণ্") ("t" "ত্") ("th" "থ্") ("d" "দ্") ("dh" "ধ্") ("n" "ন্") ("p" "প্") ("ph" "ফ্") ("b" "ব্") ("bh" "ভ্") ("m" "ম্") ("J" "য্") ("y" "য্") ("r" "র্") ("l" "ল্") ("sh" "শ্") ("Sh" "ষ্") ("shh" "ষ্") ; not in ITRANS Bengali table ("s" "স্") ("h" "হ্") (".D" "ড়্") (".Dh" "ঢ়্") ("Y" "য়্") ("yh" "য়্") ; not in ITRANS Bengali table ("GY" "জ্ঞ্") ("dny" "জ্ঞ্") ; not in ITRANS Bengali table ("x" "ক্ষ্")) (independent ("a" "অ") ("aa" "আ") ("A" "আ") ("i" "ই") ("ii" "ঈ") ("I" "ঈ") ("u" "উ") ("uu" "ঊ") ("U" "ঊ") ("RRi" "ঋ") ("R^i" "ঋ") ("e" "এ") ("ai" "ঐ") ("o" "ও") ("au" "ঔ") (".N" "ঁ") (".n" "ং") ("M" "ং") ; not in ITRANS Bengali table ("H" "ঃ") (".h" "্") ("t.h" "ৎ") ("0" "০") ("1" "১") ("2" "২") ("3" "৩") ("4" "৪") ("5" "৫") ("6" "৬") ("7" "৭") ("8" "৮") ("9" "৯") ("]" "়") ; not in ITRANS Bengali table ((KP_1) "১") ((KP_2) "২") ((KP_3) "৩") ((KP_4) "৪") ((KP_5) "৫") ((KP_6) "৬") ((KP_7) "৭") ((KP_8) "৮") ((KP_9) "৯") ((KP_0) "০") ((S-\ ) "‌") ; not in ITRANS Bengali table ((C-@) "‍")) ; not in ITRANS Bengali table (dependent ("a" (delete @-) "") ("aa" (delete @-) "া") ("A" (delete @-) "া") ("i" (delete @-) "ি") ("ii" (delete @-) "ী") ("I" (delete @-) "ী") ("u" (delete @-) "ু") ("uu" (delete @-) "ূ") ("U" (delete @-) "ূ") ("RRi" (delete @-) "ৃ") ("R^i" (delete @-) "ৃ") ("e" (delete @-) "ে") ("ai" (delete @-) "ৈ") ("o" (delete @-) "ো") ("au" (delete @-) "ৌ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: ta-lk-renganathan.mim000064400000033556147633214350010570 0ustar00;; ta-lk-renganathan.mim -- Tamil input method with Renganathan layout ;; Copyright (C) 2008 ;; 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 ta lk-renganathan (version "1.6.0")) (description "Tamil input method with Renganathan layout. For the detail, see the page: ") (title "க") (variable (use-surrounding-text (_"Surrounding text vs. preedit If 1, try to use surrounding text. Otherwise, use preedit.") 0 1 0)) (macro (pre-proc (cond ((= @-1 0x200C) (delete @-1))) (cond ((= @+0 0x200C) (delete @+1)))) (post-proc (cond ((& (>= @-1 0x0B95) (<= @-1 0x0BB9) ; a consonant (>= @+0 0x0BC6) (<= @+0 0x0BCC)) ; a left/two-part vowel sign ;; prevent syllable formation 0x200C) ((& (| (< @-2 0x0B95) (> @-2 0x0BB9)) ; not a consonant (>= @-1 0x0BC6) (<= @-1 0x0BCC) ; a left/two-part vowel sign (>= @+0 0x0B95) (<= @+0 0x0BB9) ; a consonant (| (< @+1 0x0BBE) (> @+1 0x0BD7))) ; not a vowel sign ;; exchange @-1 and @+0 (set vs @-1) (set c @+0) (delete @-1) (delete @+1) (insert c) (insert vs)) ((& (= @-1 0x200C) (| (< @-2 0x0B95) (> @-2 0x0BB9) ; not a constant (< @+0 0x0BC6) (> @+0 0x0BCC))) ; not a left/two-part vowel sign ;; delete unnecessary ZWNJ (delete @-1)) ((& (= @+0 0x200C) (| (< @-1 0x0B95) (> @-1 0x0BB9) ; not a constant (< @+1 0x0BC6) (> @+1 0x0BCC))) ; not a left/two-part vowel sign ;; delete unnecessary ZWNJ (delete @+1)))) (consonant-proc (move @<) (cond ((= @-1 0x200C) (delete @-1))) (set vs 0) (cond ((& (>= @-1 0x0BC6) (<= @-1 0x0BC8)) ; a left vowel sign (cond ((= @-2 0x200C) (set vs @-1) (delete @-2)) ((| (< @-2 0x0B95) (> @-2 0x0BB9)) ; not a consonant (set vs @-1) (delete @-1))))) (move @>) (cond ((& (= @+0 0x200C) (| (< @+1 0x0BC6) (> @+1 0x0BCC))) ; not a left vowel sign (delete @+1))) (cond ((= vs 0x0BC6) (cond ((= @+0 0x0BBE) (delete @+1) 0x0BCA) ((| (= @+0 0x0BB3) (= @+0 0x0BD7)) (delete @+1) 0x0BCC) (1 0x0BC6))) ((= vs 0x0BC7) (cond ((= @+0 0x0BBE) (delete @+1) 0x0BCB) (1 0x0BC7))) ((= vs 0x0BC8) 0x0BC8)) (cond ((& (>= @-1 0x0B95) (<= @-1 0x0BB9) ; a consonant (>= @+0 0x0BC6) (<= @+0 0x0BCC)) ; a left vowel sign 0x200C))) (check-surrounding-text (cond ((& (= @+0 0x0B95) (= @+1 0x0BCD) (= @+2 0x0BB7)) ; k.ssa follows 0x0B95 0x0BCD 0x0BB7 (delete @+3)) ((& (>= @+0 0x0B95) (<= @+0 0x0BB9)) ; a consonant follows (set c @+0) (insert c) (delete @+1)) ((& (>= @-1 0x0B95) (<= @-1 0x0BB9)) ; a consonant precedes 0x200C))) ) (map (starter ("q") ("w") ("e") ("r") ("t") ("y") ("u") ("i") ("o") ("p") ("[") ("]") ("a") ("s") ("d") ("f") ("g") ("h") ("j") ("k") ("l") (";") ("z") ("x") ("c") ("v") ("b") ("n") ("m") ("`") ("Q") ("W") ("E") ("R") ("T") ("Y") ("U") ("I") ("O") ("P") ("{") ("}") ("A") ("S") ("D") ("F") ("G") ("H") ("J") ("K") ("L") ("Z") ("X") ("C") ("V") ("B") ("N") ("M") ((A-q)) ((A-w)) ((A-e)) ((A-r)) ((A-t)) ((A-y)) ((A-u)) ((A-i)) ((A-1)) ((A-2)) ((A-3)) ((A-4)) ((A-5)) ((A-6)) ((A-7)) ((A-8)) ((A-9)) ((A-0)) ((A-`)) ((A-=)) ((A--)) ((BackSpace)) ((Delete))) (composite ("f;" "க்") ; 0B95 0BCD ("f;W" "க்‌ஷ") ; 0B95 0BCD 200C 0BB7 ("Zh" "ஒளா") ; 0B92 0BB3 0BBE ("Zp" "ஒளி") ; 0B92 0BB3 0BBF ("ZP" "ஒளீ") ; 0B92 0BB3 0BC0 ("Z[" "ஒளு") ; 0B92 0BB3 0BC1 ("Z{" "ஒளூ") ; 0B92 0BB3 0BC2 ("Z;" "ஒள்") ; 0B92 0BB3 0BCD ("xs" "ஔ") ; 0B94 ("xsh" "ஒளா") ; 0B92 0BB3 0BBE ("xsp" "ஒளி") ; 0B92 0BB3 0BBF ("xsP" "ஒளீ") ; 0B92 0BB3 0BC0 ("xs[" "ஒளு") ; 0B92 0BB3 0BC1 ("xs{" "ஒளூ") ; 0B92 0BB3 0BC2 ("xs;" "ஒள்") ; 0B92 0BB3 0BCD ) (consonant ("f" "க") ; 0B95 ("q" "ங") ; 0B99 ("r" "ச") ; 0B9A ("E" "ஜ") ; 0B9C ("]" "ஞ") ; 0B9E ("l" "ட") ; 0B9F ("z" "ண") ; 0BA3 ("j" "த") ; 0BA4 ("e" "ந") ; 0BA8 ("d" "ன") ; 0BA9 ("g" "ப") ; 0BAA ("k" "ம") ; 0BAE ("a" "ய") ; 0BAF ("u" "ர") ; 0BB0 ("w" "ற") ; 0BB1 ("y" "ல") ; 0BB2 ("o" "ழ") ; 0BB4 ("t" "வ") ; 0BB5 ("U" "ஶ") ; 0BB6 ("Q" "ஸ") ; 0BB8 ("R" "ஹ") ; 0BB9 ("T" "க்ஷ") ; 0B95 0BCD 0BB7 ) (sign ("p" "ி") ; 0BBF ("P" "ீ") ; 0BC0 ("[" "ு") ; 0BC1 ("{" "ூ") ; 0BC2 (";" "்") ; 0BCD ) (lla ("s")) (ssa ("W")) (aa ("h")) (e ("n")) (ee ("N")) (ai ("i")) (backspace ((BackSpace))) (delete ((Delete))) (misc ("`" "ஃ") ; 0B83 ("m" "அ") ; 0B85 ("M" "ஆ") ; 0B86 ("b" "இ") ; 0B87 ("B" "ஈ") ; 0B88 ("c" "உ") ; 0B89 ("C" "ஊ") ; 0B8A ("v" "எ") ; 0B8E ("V" "ஏ") ; 0B8F ("I" "ஐ") ; 0B90 ("x" "ஒ") ; 0B92 ("X" "ஓ") ; 0B93 ("Z" "ஔ") ; 0B94 ("O" "ௐ") ; 0BD0 ((A-0) "௦") ; 0BE6 ((A-1) "௧") ; 0BE7 ((A-2) "௨") ; 0BE8 ((A-3) "௩") ; 0BE9 ((A-4) "௪") ; 0BEA ((A-5) "௫") ; 0BEB ((A-6) "௬") ; 0BEC ((A-7) "௭") ; 0BED ((A-8) "௮") ; 0BEE ((A-9) "௯") ; 0BEF ((A-q) "௰") ; 0BF0 ((A-w) "௱") ; 0BF1 ((A-e) "௲") ; 0BF2 ((A-y) "௳") ; 0BF3 ((A-u) "௴") ; 0BF4 ((A-i) "௵") ; 0BF5 ((A-r) "௶") ; 0BF6 ((A-t) "௷") ; 0BF7 ((A-`) "௸") ; 0BF8 ((A-=) "௹") ; 0BF9 ((A--) "௺") ; 0BFA ("Y" "ஶ்ரீ") ; 0BB6 0BCD 0BB0 0BC0 ("}" ";") ; 003B ("A" "") ("S" "") ("D" "") ("F" "") ("G" "") ("H" "") ("J" "") ("K" "") ("L" "") )) (state (init (starter (pushback 1) (cond ((& (= use-surrounding-text 1) (= @-0 -1)) (shift surrounding-text)) (1 (shift preedit))))) (surrounding-text (consonant (consonant-proc) (commit)) (lla (cond ((= @-1 0x200C) (delete @-1))) (cond ((& (>= @-2 0x0B95) (<= @-2 0x0BB9) ; a consonant (= @-1 0x0BC6)) (delete @-1) 0x0BCC (cond ((= @+0 0x200C) (delete @+1)))) ((= @-1 0x0B92) (delete @-1) 0x0B94 (cond ((= @+0 0x200C) (delete @+1)))) (1 0x0BB3 (consonant-proc))) (commit)) (ssa (cond ((= @-1 0x200C) (delete @-1))) (cond ((& (= @-2 0x0B95) (= @-1 0x0BCD)) 0x200C)) 0x0BB7 (consonant-proc) (commit)) (sign (cond ((= @+0 0x200C) (delete @+1))) (move @<) (cond ((= @-1 0x200C) (delete @-1))) (cond ((= @-1 0x0B94) (delete @-1) 0x0B92 0x0BB3) ((= @-1 0x0BCC) (delete @-1) 0x0BC6 0x0BB3)) (commit)) (aa (pre-proc) (cond ((= @-1 0x0BC6) (cond ((& (| (< @-3 0x0B95) (> @-3 0x0BB9)) ; not a consonant (= @-2 0x200C)) (delete @-2)) (1 (delete @-1))) 0x0BCA) ((= @-1 0x0BC7) (cond ((& (| (< @-3 0x0B95) (> @-3 0x0BB9)) ; not a consonant (= @-2 0x200C)) (delete @-2)) (1 (delete @-1))) 0x0BCB) ((= @-1 0x0B94) (delete @-1) 0x0B92 0x0BB3 0x0BBE) ((= @-1 0x0BCC) (delete @-1) 0x0BC6 0x0BB3 0x0BBE) (1 0x0BBE)) (commit)) (e (pre-proc) (cond ;; additional check-surrounding-text for this vowel sign ((& (>= @+0 0x0B95) (<= @+0 0x0BB9) ; a consonant (= @+1 0x0BB3)) (set c @+0) (delete @+2) (insert c) 0x0BCC) ;; ordinary check-surrounding-text (1 (check-surrounding-text) (cond ((= @+0 0x0BBE) (delete @+1) 0x0BCA) ((= @+0 0x0BD7) (delete @+1) 0x0BCC) (1 0x0BC6)))) (commit)) (ee (pre-proc) (check-surrounding-text) (cond ((= @+0 0x0BBE) (delete @+1) 0x0BCB) (1 0x0BC7)) (commit)) (ai (pre-proc) (check-surrounding-text) 0x0BC8 (commit)) (backspace (pre-proc) (cond ((& (>= @-4 0x0B95) (<= @-4 0x0BB9) ; a consonant (= @-3 0x0BC6) (= @-2 0x0BB3) (| (& (>= @-1 0x0BBE) (<= @-1 0x0BC2)) ; a right/above/below vowel sign (= @-1 0x0BCD))) (delete @-3) 0x0BCC) ((& (= @-4 0x0BB6) (= @-3 0x0BCD) (= @-2 0x0BB0) (= @-1 0x0BC0)) ; shrii (delete @-4)) ((& (= @-3 0x0B92) (= @-2 0x0BB3) (| (& (>= @-1 0x0BBE) (<= @-1 0x0BC2)) ; a right/above/below vowel sign (= @-1 0x0BCD))) (delete @-3) 0x0B94) ((& (= @-3 0x0B95) (= @-2 0x0BCD) (= @-1 0x0BB7)) ; k.ssa (delete @-3)) ((| (= @-1 0x0BCA) (= @-1 0x0BCC)) ; vowel sign e/ai (delete @-1) 0x0BC6) ((= @-1 0x0BCB) ; vowel sign ee (delete @-1) 0x0BC7) ((& (>= @-1 0x0BC6) (<= @-1 0x0BC8)) ; a left vowel sign (set vs @-1) (delete @-1) (cond ((& (>= @-1 0x0B95) (<= @-1 0x0BB9)) ; a consonant (cond ((& (= @-3 0x0B95) (= @-2 0x0BCD) (= @-1 0x0BB7)) ; k.ssa (delete @-3)) (1 (delete @-1))) (cond ((& (>= @+0 0x0B95) (<= @+0 0x0BB9) ; a consonant follows (| (< @+1 0x0BBE) (> @+1 0x0BD7))) ; not a vowel sign ;; visual : E C1 | C2 -> E C2 | ;; logical : C1 E | C2 -> C2 E | (cond ((& (= @+0 0x0B95) (= @+1 0x0BCD) (= @+2 0x0BB7)) ; k.ssa (delete @+3) 0x0B95 0x0BCD 0x0BB7) (1 (set c @+0) (delete @+1) (insert c))) (insert vs)) ((& (>= @-1 0x0B95) (<= @-1 0x0BB9)) ; a consonant precedes ;; visual : C1 E C2 | X -> C1 E | X ;; logical : C1 C2 E | X -> C1 N E | X 0x200C (insert vs)) (1 ;; visual : X1 E C | X2 -> X1 E | X2 ;; logical : X1 C E | X2 -> X1 E | X2 (insert vs)))) ((= @-1 0x200C) (delete @-1)))) (1 (delete @-1))) (post-proc) (commit)) (delete (pre-proc) (cond ((& (= @+0 0x0BB6) (= @+1 0x0BCD) (= @+2 0x0BB0) (= @+3 0x0C0)) ; shrii (delete @+4)) ((& (= @+0 0x0B95) (= @+1 0x0BCD) (= @+2 0x0BB7)) ; k.ssa (cond ((& (>= @+3 0x0BC6) (<= @+3 0x0BC8)) ; a left vowel sign (delete @+4) 0x0B95 0x0BCD 0x0BB7) ((| (= @+3 0x0BCA) (= @+3 0x0BCB)) ; vowel sign e/ee (delete @+4) 0x0B95 0x0BCD 0x0BB7 0x0BBE) ((| (& (>= @+3 0x0BBE) (<= @+3 0x0BC2)) ; vowel sign aa .. uu (= @+3 0x0BCC) ; vowel sign ai (= @+3 0x0BCD)) ; virama (delete @+4)) (1 (delete @+3)))) ((& (>= @+0 0x0B95) (<= @+0 0x0BB9)) ; a consonant (set c @+0) (cond ((& (>= @+1 0x0BC6) (<= @+1 0x0BC8)) ; a left vowel sign (delete @+2) (insert c)) ((| (= @+1 0x0BCA) (= @+1 0x0BCB)) ; vowel sign e/ee (delete @+2) (insert c) 0x0BBE) ((| (& (>= @+1 0x0BBE) (<= @+1 0x0BC2)) ; vowel sign aa .. uu (= @+1 0x0BCC) ; vowel sign ai (= @+1 0x0BCD)) ; virama (delete @+2)) (1 (delete @+1)))) ((| (= @+0 0x0BCA) (= @+0 0x0BCB)) ; vowel sign e/ee (delete @+1) 0x0BBE) ((= @+0 0x0BCC) ; vowel sign ai (delete @+1) 0x0BB3) (1 (delete @+1))) (post-proc) (commit)) (misc (move @<) (cond ((= @-1 0x200C) (delete @-1))) (move @>) (cond ((= @+0 0x200C) (delete @+1))) (commit))) (preedit (consonant (shift c-state)) (composite (commit)) (sign (commit)) (misc (commit)) (lla "ள" (shift c-state)) ; 0BB3 (ssa "ஷ" (shift c-state)) ; 0BB7 (aa "ா" (commit)) ; 0BBE (e "ெ" (shift e-state)) ; 0BC6 (ee "ே" (shift ee-state)) ; 0BC7 (ai "ை" (shift ai-state)) ; 0BC8 (nil (unhandle))) (c-state (sign (shift c-s-state)) (aa "ா" (shift c-s-state)) ; 0BBE (backspace (undo))) (c-s-state (sign (cond ((= @-2 0x0BCC) (move @-) (delete @-) 0x0BC6 0x0BB3 (move @+)) (1 (commit) (shift preedit)))) (aa "ா" (cond ((= @-2 0x0BCC) (move @-) (delete @-) 0x0BC6 0x0BB3 (move @+)) (1 (commit) (shift preedit)))) (backspace (undo))) (e-state (consonant (move @<) (delete @+) (move @>) "ெ" (shift e-c-state)) (lla (delete @-) "ளெ" (shift e-c-state)) (ssa (delete @-) "ஷெ" (shift e-c-state)) (backspace (delete @-) (shift preedit)) (nil (undo -1))) (ee-state (consonant (move @<) (delete @+) (move @>) "ே" (shift ee-c-state)) (lla (delete @-) "ளே" (shift ee-c-state)) (ssa (delete @-) "ஷே" (shift ee-c-state)) (backspace (delete @-) (shift preedit)) (nil (undo -1))) (ai-state (consonant (move @<) (delete @+) (move @>) "ை" (shift c-s-state)) (lla (delete @-) "ளை" (shift c-s-state)) (ssa (delete @-) "ஷை" (shift c-s-state)) (backspace (delete @-) (shift preedit)) (nil (undo -1))) (e-c-state (aa (delete @-) "ொ" (shift c-s-state)) (lla (delete @-) "ௌ" (shift c-s-state)) (backspace (delete @<) "ெ" (shift e-state))) (ee-c-state (aa (delete @-) "ோ" (shift c-s-state)) (backspace (delete @<) "ே" (shift ee-state))) ) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: kk-arabic.mim000064400000004041147633214350007103 0ustar00;; kk-arabic.mim -- Input method for Kazakh in Arabic script ;; Copyright (C) 2004, 2005 ;; 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 kk arabic) (description "Kazakh (with Arabic script) input method by transliteration. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 a A b v g R d e j z y k q l m n N 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 o O p r s t w u U f H h c S I i") (title "قا") (map (generic ("a" "ا") ("A" "ٵ") ("b" "ب") ("v" "ۆ") ("g" "گ") ("R" "ع") ("d" "د") ("e" "ە") ("j" "ج") ("z" "ز") ("y" "ي") ("k" "ك") ("q" "ق") ("l" "ل") ("m" "م") ("n" "ن") ("N" "ڭ") ("o" "و") ("O" "ٶ") ("p" "پ") ("r" "ر") ("s" "س") ("t" "ت") ("w" "ۋ") ("u" "ۇ") ("U" "ٷ") ("f" "ف") ("H" "ح") ("h" "ه") ("c" "چ") ("S" "ش") ("I" "ى") ("i" "ٸ") (";" "؛") ("," "،") ("?" "؟") ("<" ">") (">" "<") ("\(" "\)") ("\)" "\(") ("[" "]") ("]" "[") ("{" "}") ("}" "{") )) (state (init (generic))) ;; Local Variables: ;; mode: lisp ;; End: LAOO-MULE.flt000064400000006365147633214350006567 0ustar00;; LAOO-MULE.flt -- Font Layout Table for Lao (mule font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter laoo-mule nil (font (mulelao-1))) ;;;
  • LAOO-MULE.flt ;;; ;;; For Lao fonts of mule encoding to draw Lao script. The font is ;;; available at: ;;; (category ;; C: CONSONANT (except c and s) ;; c: TALL CONSONANT ;; s: LAO SEMIVOWEL SIGN LO ;; V: VOWEL UPPER ;; v: VOWEL LOWER ;; T: TONE ;; I: INDEPENDENT ;; (0x0E80 0x0EDF ?I) (0x0E81 0x0E82 ?C) (0x0E84 ?C) (0x0E87 0x0E88 ?C) (0x0E8A ?C) (0x0E8D ?C) (0x0E94 0x0E97 ?C) (0x0E99 0x0E9E ?C) (0x0E9B ?c) (0x0E9D ?c) (0x0E9F ?c) (0x0EA1 0x0EA3 ?C) (0x0EA2 ?c) (0x0EA5 ?C) (0x0EA7 ?C) (0x0EAA 0x0EAB ?C) (0x0EAD 0x0EAE ?C) (0x0EB1 ?V) (0x0EB4 0x0EB7 ?V) (0x0EB8 0x0EB9 ?v) (0x0EBB ?V) (0x0EBC ?s) (0x0EC8 0x0ECC ?T) (0x0ECD ?V)) (generator (0 (cond ("cs?(VT?|v?T)" < ("(cs?)" independent semi-vowel) ("VT?" composed-non-relative composed-relative *) (".*" composed-non-relative *) > ) ("Cs?[vV]?T?" < independent semi-vowel composed-relative * > ) ("[^Cs]*" independent *)) *) (independent ((range 0x0E80 0x0EDF) 0xA0)) (composed-relative (cond ((0x0EB1) tc+bc 0xD1) ((0x0EB4) tc+bc 0xD4) ((0x0EB5) tc+bc 0xD5) ((0x0EB6) tc+bc 0xD6) ((0x0EB7) tc+bc 0xD7) ((0x0EB8) bc+tc 0xD8) ((0x0EB9) bc+tc 0xD9) ((0x0EBB) tc+bc 0xDB) ((0x0EC7) tc+bc 0xE7) ((0x0EC8) tc+bc 0xE8) ((0x0EC9) tc+bc 0xE9) ((0x0ECA) tc+bc 0xEA) ((0x0ECB) tc+bc 0xEB) ((0x0ECC) tc+bc 0xEC) ((0x0ECD) tc+bc 0xED) ((0x0ECE) tc+bc 0xEE))) (semi-vowel ((0x0EBC) Bc-Bc 0xDC)) (composed-non-relative (cond ((0x0EB1) Bc-Bc 0xD1) ((0x0EB4) Bc-Bc 0xD4) ((0x0EB5) Bc-Bc 0xD5) ((0x0EB6) Bc-Bc 0xD6) ((0x0EB7) Bc-Bc 0xD7) ((0x0EB8) Bc-Bc 0xD8) ((0x0EB9) Bc-Bc 0xD9) ((0x0EBB) Bc-Bc 0xDB) ((0x0E47) Bc-Bc 0xE7) ((0x0E48) Bc-Bc 0xE8) ((0x0E49) Bc-Bc 0xE9) ((0x0E4A) Bc-Bc 0xEA) ((0x0E4B) Bc-Bc 0xEB) ((0x0E4C) Bc-Bc 0xEC) ((0x0E4D) Bc-Bc 0xED) ((0x0E4E) Bc-Bc 0xEE)))) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: COMBINING.flt000064400000004032147633214350006567 0ustar00;; COMBINING.flt -- Font Layout Table for combining diacritical marks ;; Copyright (C) 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter combining nil) ;;;
  • COMBINING.flt ;;; ;;; For combining diacritical marsk (U+0300..U+036F). (category ;; The contents is build up by the m17n-lib. ) (generator (0 (cond ("(u)([a-t]+)" (cond ((font-facility :otf=DFLT+mark) < :otf=DFLT+mark,mkmk >) (".*" < = ; combining class (cond ("a" Bc.Bc =) ; < 200 ("b" bl.tc =) ; 200 ("c" bc.tc =) ; 202 ("d" br.tc =) ; 204 ("e" Bl.Br =) ; 208 ("f" Br.Bl =) ; 210 ("g" tl.bc =) ; 212 ("h" tc.bc =) ; 214 ("i" tr.bc =) ; 216 ("j" bl.tc =) ; 218 ("k" bc-tc =) ; 220 ("l" br-tc =) ; 222 ("m" Bl.Br =) ; 224 ("n" Br.Bl =) ; 226 ("o" tl+bc =) ; 228 ("p" tc+bc =) ; 230 ("q" tr+bc =) ; 232 ("r" br-tr =) ; 233 ("s" tr+br =) ; 234 ("t" bc-tc =)) ; 240 * >))) ("[a-t]" [ = ]) ("." =)) *)) ;; Copyright (C) 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: vi-vni.mim000064400000013153147633214350006473 0ustar00;; vi-vni.mim -- Input method for Vietnames with VNI key sequence ;; Copyright (C) 2005, 2006, 2008, 2009, 2010 ;; 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 vi vni) (description (_"Vietnames input method using the VNI key sequence. Typing Backslash ('\\') toggles the normal mode and English mode. The following variables are customizable: tone-mark-on-last: control tone mark position in equivocal cases backspace-is-undo: control the action of Backspace key (delete or undo)")) (title "Ắ(VNI)") (variable (tone-mark-on-last (_"Flag to control tone mark position in equivocal cases. If this variable is 0 (the default), put tone mark on the first vowel in such equivocal cases as \"oa\", \"oe\", \"uy\". Otherwise, put tone mark on the last vowel.") 0 0 1) (backspace-is-undo (_"Flag to control the action of Backspace key (delete or undo). If this variable is 0 (the default), Backspace key deletes the previous character (e.g. \"q u a i s BS\" => \"quá\"). If the value is 1, Backspace key undoes the previous key \(e.g. \"q u a i s BS\" => \"quai\").") 0 0 1)) (include (t nil vi-base) macro) (include (t nil vi-base) map) (map (vowel-ext ("a6" ("âấầẩẫậ")) ("A6" ("ÂẤẦẨẪẬ")) ("a8" ("ăắằẳẵặ")) ("A8" ("ĂẮẰẲẴẶ")) ("e6" ("êếềểễệ")) ("E6" ("ÊẾỀỂỄỆ")) ("o6" ("ôốồổỗộ")) ("O6" ("ÔỐỒỔỖỘ")) ("o7" ("ơớờởỡợ")) ("O7" ("ƠỚỜỞỠỢ")) ("u7" ("ưứừửữự")) ("U7" ("ƯỨỪỬỮỰ"))) (consonant-ext ("d9" ?đ) ("D9" ?Đ)) (tone-mark ("0" (set SELECT 0) ?0) ("1" (set SELECT 1) ?1) ("2" (set SELECT 2) ?2) ("3" (set SELECT 3) ?3) ("4" (set SELECT 4) ?4) ("5" (set SELECT 5) ?5)) (temporary-escape ("a66" "a6") ("A66" "A6") ("a88" "a8") ("A88" "A8") ("e66" "e6") ("E66" "E6") ("o66" "o6") ("O66" "O6") ("o77" "o7") ("O77" "O7") ("u77" "u7") ("U77" "U7"))) (state (init ;; Initialize variables. C is the initial consonant. V-N is the ;; (N-1)th vowel from the last. C-AFTER-V is a number of consonants ;; typed after vowel. NST is 1 iff surrounding text is not supported. (t (set C @-1) (set V-1 0) (set V-2 0) (set V-3 0) (set C-AFTER-V 0) (set SELECT 0) (set NST (= @-0 -2))) (consonant (set C @-1) (cond (NST (shift after-c)))) (consonant-ext (set C @-1) (cond (NST (shift after-c)))) ;; Mark M remembers the preedit position after the last vowel. (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (temporary-escape (shift temporary-escape)) (permanent-escape (shift escape-in-normal-mode)) (smart-quotes)) ;; The state shifted to when an initial consonants is typed and ;; surrounding text is not supported. (after-c (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v))) ;; The state shifted to when a vowel is typed. (after-v (consonant (shift after-vc)) (consonant-ext (shift after-vc)) (vowel (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (vowel-ext (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (tone-mark (delete @-) (pushback 1) (shift after-t)) (backspace (delete @-) (cond (V-3 (set V-1 V-2) (set V-2 V-3) (set V-3 0) (cond ((> TPLACE 2) (set SELECT 0)))) (V-2 (set V-1 V-2) (set V-2 0) (cond ((> TPLACE 1) (set SELECT 0)))) (1 (shift init))))) ;; The state shifted to when a consonant is typed after a vowel. (after-vc (t (set C-AFTER-V 1)) (consonant (add C-AFTER-V 1)) (consonant-ext (add C-AFTER-V 1)) (tone-mark (delete @-) (pushback 1) (shift after-t)) (backspace (delete @-) (sub C-AFTER-V 1) (cond ((= C-AFTER-V 0) (shift after-v))))) ;; The state shifted to when a tone-mark is typed. (after-t (t (set CURRENT-SELECT -1)) (tone-mark (cond ((= CURRENT-SELECT SELECT) (move T) (select 0) (move @>) (shift temporary-escape)) (1 (delete @-) (handle-mark) (set CURRENT-SELECT SELECT)))) (nil (cond (C-AFTER-V (shift after-vc)) (1 (shift after-v))))) (temporary-escape "en" (t (commit)) (alnum (commit))) (escape-in-normal-mode "EN" (permanent-escape (insert "\\") (shift init)) ;; Any other key force shifting to permanent-escape. (nil (shift permanent-escape))) (permanent-escape "EN" (t (set ESCAPE 1)) (permanent-escape (shift escape-in-permanent-escape)) ;; Unhandle any characters. (nil (unhandle))) (escape-in-permanent-escape "Ắ" (permanent-escape (insert "\\") (commit) (shift permanent-escape)) ;; Any other key force shifting to init )) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: ORYA-OTF.flt000064400000015160147633214350006466 0ustar00;; ORYA-OTF.flt -- Font Layout Table for Oriya OpenType font ;; Copyright (C) 2004, 2007, 2008, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter orya-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=orya))) ;;;
  • ORYA-OTF.flt ;;; ;;; For Oriya OpenType fonts to draw the Oriya script. (category ;; B: consonants that have a below form ;; C: consonants that do not ;; This table is made for Samyak-Oriya.ttf and utkal.ttf. ;; (lohit_or.ttf has more below form consonants.) (0x0B00 0x0B7F ?X) ; generic (0x0B01 ?a) ; SIGN CANDRABINDU (0x0B02 0x0B03 ?A) ; SIGN ANUSVARA .. VISARGA (0x0B05 0x0B14 ?V) ; LETTER A .. VOCALIC AU (0x0B15 0x0B39 ?B) ; LETTER KA .. HA (0x0B18 0x0B1A ?C) ; LETTER GHA .. CA (0x0B1E ?C) ; LETTER NYA (0x0B22 ?C) ; LETTER DDHA (0x0B25 0x0B26 ?C) ; LETTER THA .. DA (0x0B2F ?Y) ; LETTER YA (0x0B30 ?R) ; LETTER RA (0x0B36 0x0B37 ?C) ; LETTER SHA .. SSA (0x0B3C ?n) ; SIGN NUKTA (0x0B3E ?p) ; VOWEL SIGN AA (0x0B3F ?u) ; VOWEL SIGN I (0x0B40 ?p) ; VOWEL SIGN II (0x0B41 0x0B44 ?b) ; VOWEL SIGN U .. VOCALIC RR (0x0B47 ?m) ; VOWEL SIGN E (0x0B4D ?H) ; SIGN VIRAMA (0x0B56 ?u) ; AI LENGTH MARK (0x0B57 ?p) ; AU LENGTH MARK (0x0B5C 0x0B5D ?C) ; LETTER RRA .. RHA (0x0B5F ?Y) ; LETTER YYA (0x0B60 0x0B61 ?V) ; LETTER VOCALIC RR .. LL (0x0B62 0x0B63 ?b) ; VOWEL SIGN VOCALIC L .. LL (0x0B71 ?C) ; LETTER WA (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) (pstf ?P) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x0B48) 0x0B47 0x0B56) ((0x0B4B) 0x0B47 0x0B3E) ((0x0B4C) 0x0B47 0x0B57) ;; Compose consonant and nukta. ((0x0B21 0x0B3C) 0x0B5C) ((0x0B22 0x0B3C) 0x0B5D) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?(Vn?)((J?H[BYR])?m?u?b?p?n?a?A?)" < | (1 = =) (2 :otf=orya=nukt+) (3 = *) | >) ;; Consonant-based syllables ;;1 23 4 ("([CBYR]n?((J?H|HJ?)[CBYR]n?)*)(H[NJ]?|m?u?b?p?n?a?A?)" < | (cond (".+HJ$" :otf=orya=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=orya=nukt,akhn+) (2 =) 0x200C) (".+" :otf=orya=nukt,akhn+)) | >) ;; Two-part vowel signs ((0x0B47 0x0B56) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0B48 ]))) ((0x0B47 0x0B3E) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0B4B ]))) ((0x0B47 0x0B57) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0B4C ]))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf and pstf are displayed with a DOTTED CIRCLE in the ;; next stage. ("(J)(H)([BYR])" < | (1 =) (3 =) (2 =) | >) ("." =)) *)) ;; Stage 2 ;; Reorder halant for blwf and pstf (generator (0 (cond ;; Isolated blwf and pstf (" J([BYR]H) " (cond ((font-facility 0x25CC) < 0x25CC (1 :otf=orya=blwf,pstf+) >) (" J([BYR]H) " [ (1 :otf=orya=blwf,pstf+) ]))) ;; Syllables with an overt halant (" (RHJ?)?([^ ]+)(HN) " | (1 = *) (2 reorder) (3 = =) |) ;; Ordinary syllables (" (RHJ?)?([^mubpaA ]+)(m?u?b?p?n?a?A?) " | (1 = *) (2 reorder) (3 = *) |) ("." =)) *) (reorder ("(.|.+([^YJ]|JY|HJ))((J?HY)*)$" (1 reorder-BR *) (3 reorder-Y *))) (reorder-BR (cond ("J?(H)([BR])" (2 =) (1 =)) ("." =))) (reorder-Y ("J?(H)(Y)" (2 =) (1 =))) ) ;; Stage 3 ;; Language forms and matra reordering (generator (0 (cond ;; Overt halant forms (" (RHJ?)?([^ ]+)(HN) " | (1 (cond ("RHJ" :otf=orya=half+) ("RH" :otf=orya=rphf+))) (2 b4post) (2 post) (3 = =) |) ;; Other syllables ;; 1 2 3 4 5 6 7 8 (" (RHJ?)?([^mubpaA ]*)(mn?)?(un?)?(bn?)?(pn?)?(a)?(A)? " | (3 = *) (1 (cond ("RHJ" :otf=orya=half+) ("RH" :otf=orya=rphf+))) (2 b4post) (5 = *) (4 = *) (7 =) (2 post) (6 = *) (8 =) |) ("." =)) *) ;; Oriya should not have half forms nor vatu forms, but ;; Samyak-Oriya.ttf and utkal.ttf do have them. (b4post (cond ("(.H)J?(.*)" (1 :otf=orya=half+) (2 ("(.|.+([^YH]|JY|[BR]H))((YH)*)$" (1 lang-forms *)))) ("(.|.+([^YH]|JY|[BR]H))((YH)*)" (1 lang-forms *)))) (lang-forms (cond ("(.H)J" (1 :otf=orya=half+)) (".H" :otf=orya=blwf,half,vatu+) ("." =))) (post ("(.|.+([^YH]|JY|[BR]H))((YH)+)$" (3 :otf=orya=pstf+))) ) ;; Stage 4 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 5 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an overt halant ;; 1 2 3 4 (" (mn?)?(r)([^HP ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without overt halant ;; 1 2 3 4 (" (mn?)?(r)([^aPpA ]+)(a?P*(HN)?p?n?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 6 ;; Nukta for matra and Presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=orya=nukt,pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 7 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 8 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=orya=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2004, 2007, 2008, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: ta-itrans.mim000064400000011101147633214350007154 0ustar00;; ta-itrans.mim -- Tamil input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 ;; 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 ta itrans) (description "Tamil input method by ITRANS transliteration. For the detail of ITRANS, see the page: ") (title "க") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("E") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "க்") ("g" "க்") ("~N" "ங்") ("N^" "ங்") ("ch" "ச்") ("j" "ஜ்") ("~n" "ஞ்") ("JN" "ஞ்") ; not in ITRANS Tamil table ("T" "ட்") ("Th" "ட்") ("N" "ண்") ("t" "த்") ("th" "த்") ("n" "ந்") ("^n" "ன்") ("nh" "ன்") ; not in ITRANS Tamil table ("p" "ப்") ("b" "ப்") ("m" "ம்") ("y" "ய்") ("r" "ர்") ("R" "ற்") ("rh" "ற்") ; not in ITRANS Tamil table ("l" "ல்") ("L" "ள்") ("ld" "ள்") ("J" "ழ்") ("z" "ழ்") ("v" "வ்") ("w" "வ்") ("sh" "ஶ்") ("Sh" "ஷ்") ("shh" "ஷ்") ; not in ITRANS Tamil table ("s" "ஸ்") ("h" "ஹ்") ("GY" "ஜ்ஞ்") ; not in ITRANS Tamil table ("dny" "ஜ்ஞ்") ; not in ITRANS Tamil table ("x" "க்ஷ்") ("ksh" "க்ஷ்")) (independent ("a" "அ") ("aa" "ஆ") ("A" "ஆ") ("i" "இ") ("ii" "ஈ") ("I" "ஈ") ("u" "உ") ("uu" "ஊ") ("U" "ஊ") ("e" "எ") ("E" "ஏ") ("ee" "ஏ") ; not in ITRANS Tamil table ("ai" "ஐ") ("o" "ஒ") ("O" "ஓ") ("oo" "ஓ") ; not in ITRANS Tamil table ("au" "ஔ") (".n" "ஂ") ; not in ITRANS Tamil table ("M" "ஂ") ; not in ITRANS Tamil table ("q" "ஃ") ("H" "ஃ") ; not in ITRANS Tamil table (".h" "்") ; not in ITRANS Tamil table ("0" "௦") ("1" "௧") ("2" "௨") ("3" "௩") ("4" "௪") ("5" "௫") ("6" "௬") ("7" "௭") ("8" "௮") ("9" "௯") ("#" "்ர") ; not in ITRANS Tamil table ("$" "ர்") ; not in ITRANS Tamil table ("^" "த்ர") ; not in ITRANS Tamil table ((KP_1) "௧") ((KP_2) "௨") ((KP_3) "௩") ((KP_4) "௪") ((KP_5) "௫") ((KP_6) "௬") ((KP_7) "௭") ((KP_8) "௮") ((KP_9) "௯") ((KP_0) "௦") ((S-\ ) "‌") ; not in ITRANS Tamil table ((C-@) "‍") ; not in ITRANS Tamil table ("SRI" "ஶ்ரீ")) (dependent ("a" (delete @-) "") ("aa" (delete @-) "ா") ("A" (delete @-) "ா") ("i" (delete @-) "ி") ("ii" (delete @-) "ீ") ("I" (delete @-) "ீ") ("u" (delete @-) "ு") ("uu" (delete @-) "ூ") ("U" (delete @-) "ூ") ("e" (delete @-) "ெ") ("E" (delete @-) "ே") ("ee" (delete @-) "ே") ; not in ITRANS Tamil table ("ai" (delete @-) "ை") ("o" (delete @-) "ொ") ("O" (delete @-) "ோ") ("oo" (delete @-) "ோ") ; not in ITRANS Tamil table ("au" (delete @-) "ௌ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init)) (nil (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: rfc1345.mim000064400000076726147633214350006371 0ustar00;; rfc1345.mim -- Generic input method using RFC1345 mnemonics. ;; Copyright (C) 2004, 2005 ;; 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 t rfc1345) (description "Generic input method using RFC1345 mnemonics. Input characters by typing & (ampersand) followed by two or three keys. It doesn't include RFC1345 mnemonics for ASCII and Control-1 characters (U+0000..U+009F) except for & itself which can be input by typing & twice. ") (title "RFC1345") (map (map ("&NU" 0x0) ("&SH" 0x1) ("&SX" 0x2) ("&EX" 0x3) ("&ET" 0x4) ("&EQ" 0x5) ("&AK" 0x6) ("&BL" 0x7) ("&BS" 0x8) ("&HT" 0x9) ("&LF" 0xA) ("&VT" 0xB) ("&FF" 0xC) ("&CR" 0xD) ("&SO" 0xE) ("&SI" 0xF) ("&DL" 0x10) ("&D1" 0x11) ("&D2" 0x12) ("&D3" 0x13) ("&D4" 0x14) ("&NK" 0x15) ("&SY" 0x16) ("&EB" 0x17) ("&CN" 0x18) ("&EM" 0x19) ("&SB" 0x1A) ; ^Z in a file causes trouble on MS systems. ("&EC" 0x1B) ("&FS" 0x1C) ("&GS" 0x1D) ("&RS" 0x1E) ("&US" 0x1F) ("&&" ?&) ("&PA" 0x80) ("&HO" 0x81) ("&BH" 0x82) ("&NH" 0x83) ("&IN" 0x84) ("&NL" 0x85) ("&SA" 0x86) ("&ES" 0x87) ("&HS" 0x88) ("&HJ" 0x89) ("&VS" 0x8A) ("&PD" 0x8B) ("&PU" 0x8C) ("&RI" 0x8D) ("&S2" 0x8E) ("&S3" 0x8F) ("&DC" 0x90) ("&P1" 0x91) ("&P2" 0x92) ("&TS" 0x93) ("&CC" 0x94) ("&MW" 0x95) ("&SG" 0x96) ("&EG" 0x97) ("&SS" 0x98) ("&GC" 0x99) ("&SC" 0x9A) ("&CI" 0x9B) ("&ST" 0x9C) ("&OC" 0x9D) ("&PM" 0x9E) ("&AC" 0x9F) ("&NS" ?\ ) ("&!I" ?\¡) ("&Ct" ?\¢) ("&Pd" ?\£) ("&Cu" ?\¤) ("&Ye" ?\¥) ("&BB" ?\¦) ("&SE" ?\§) ("&':" ?\¨) ("&Co" ?\©) ("&-a" ?\ª) ("&<<" ?\«) ("&NO" ?\¬) ("&--" ?\­) ("&Rg" ?\®) ("&'m" ?\¯) ("&DG" ?\°) ("&+-" ?\±) ("&2S" ?\²) ("&3S" ?\³) ("&''" ?\´) ("&My" ?\µ) ("&PI" ?\¶) ("&.M" ?\·) ("&'," ?\¸) ("&1S" ?\¹) ("&-o" ?\º) ("&>>" ?\») ("&14" ?\¼) ("&12" ?\½) ("&34" ?\¾) ("&?I" ?\¿) ("&A!" ?\À) ("&A'" ?\Á) ("&A>" ?\Â) ("&A?" ?\Ã) ("&A:" ?\Ä) ("&AA" ?\Å) ("&AE" ?\Æ) ("&C," ?\Ç) ("&E!" ?\È) ("&E'" ?\É) ("&E>" ?\Ê) ("&E:" ?\Ë) ("&I!" ?\Ì) ("&I'" ?\Í) ("&I>" ?\Î) ("&I:" ?\Ï) ("&D-" ?\Ð) ("&N?" ?\Ñ) ("&O!" ?\Ò) ("&O'" ?\Ó) ("&O>" ?\Ô) ("&O?" ?\Õ) ("&O:" ?\Ö) ("&*X" ?\×) ("&O/" ?\Ø) ("&U!" ?\Ù) ("&U'" ?\Ú) ("&U>" ?\Û) ("&U:" ?\Ü) ("&Y'" ?\Ý) ("&TH" ?\Þ) ("&ss" ?\ß) ("&a!" ?\à) ("&a'" ?\á) ("&a>" ?\â) ("&a?" ?\ã) ("&a:" ?\ä) ("&aa" ?\å) ("&ae" ?\æ) ("&c," ?\ç) ("&e!" ?\è) ("&e'" ?\é) ("&e>" ?\ê) ("&e:" ?\ë) ("&i!" ?\ì) ("&i'" ?\í) ("&i>" ?\î) ("&i:" ?\ï) ("&d-" ?\ð) ("&n?" ?\ñ) ("&o!" ?\ò) ("&o'" ?\ó) ("&o>" ?\ô) ("&o?" ?\õ) ("&o:" ?\ö) ("&-:" ?\÷) ("&o/" ?\ø) ("&u!" ?\ù) ("&u'" ?\ú) ("&u>" ?\û) ("&u:" ?\ü) ("&y'" ?\ý) ("&th" ?\þ) ("&y:" ?\ÿ) ("&A-" ?\Ā) ("&a-" ?\ā) ("&A(" ?\Ă) ("&a(" ?\ă) ("&A;" ?\Ą) ("&a;" ?\ą) ("&C'" ?\Ć) ("&c'" ?\ć) ("&C>" ?\Ĉ) ("&c>" ?\ĉ) ("&C." ?\Ċ) ("&c." ?\ċ) ("&C<" ?\Č) ("&c<" ?\č) ("&D<" ?\Ď) ("&d<" ?\ď) ("&D/" ?\Đ) ("&d/" ?\đ) ("&E-" ?\Ē) ("&e-" ?\ē) ("&E(" ?\Ĕ) ("&e(" ?\ĕ) ("&E." ?\Ė) ("&e." ?\ė) ("&E;" ?\Ę) ("&e;" ?\ę) ("&E<" ?\Ě) ("&e<" ?\ě) ("&G>" ?\Ĝ) ("&g>" ?\ĝ) ("&G(" ?\Ğ) ("&g(" ?\ğ) ("&G." ?\Ġ) ("&g." ?\ġ) ("&G," ?\Ģ) ("&g," ?\ģ) ("&H>" ?\Ĥ) ("&h>" ?\ĥ) ("&H/" ?\Ħ) ("&h/" ?\ħ) ("&I?" ?\Ĩ) ("&i?" ?\ĩ) ("&I-" ?\Ī) ("&i-" ?\ī) ("&I(" ?\Ĭ) ("&i(" ?\ĭ) ("&I;" ?\Į) ("&i;" ?\į) ("&I." ?\İ) ("&i." ?\ı) ("&IJ" ?\IJ) ("&ij" ?\ij) ("&J>" ?\Ĵ) ("&j>" ?\ĵ) ("&K," ?\Ķ) ("&k," ?\ķ) ("&kk" ?\ĸ) ("&L'" ?\Ĺ) ("&l'" ?\ĺ) ("&L," ?\Ļ) ("&l," ?\ļ) ("&L<" ?\Ľ) ("&l<" ?\ľ) ("&L." ?\Ŀ) ("&l." ?\ŀ) ("&L/" ?\Ł) ("&l/" ?\ł) ("&N'" ?\Ń) ("&n'" ?\ń) ("&N," ?\Ņ) ("&n," ?\ņ) ("&N<" ?\Ň) ("&n<" ?\ň) ("&'n" ?\ʼn) ("&NG" ?\Ŋ) ("&ng" ?\ŋ) ("&O-" ?\Ō) ("&o-" ?\ō) ("&O(" ?\Ŏ) ("&o(" ?\ŏ) ("&O\"" ?\Ő) ("&o\"" ?\ő) ("&OE" ?\Œ) ("&oe" ?\œ) ("&R'" ?\Ŕ) ("&r'" ?\ŕ) ("&R," ?\Ŗ) ("&r," ?\ŗ) ("&R<" ?\Ř) ("&r<" ?\ř) ("&S'" ?\Ś) ("&s'" ?\ś) ("&S>" ?\Ŝ) ("&s>" ?\ŝ) ("&S," ?\Ş) ("&s," ?\ş) ("&S<" ?\Š) ("&s<" ?\š) ("&T," ?\Ţ) ("&t," ?\ţ) ("&T<" ?\Ť) ("&t<" ?\ť) ("&T/" ?\Ŧ) ("&t/" ?\ŧ) ("&U?" ?\Ũ) ("&u?" ?\ũ) ("&U-" ?\Ū) ("&u-" ?\ū) ("&U(" ?\Ŭ) ("&u(" ?\ŭ) ("&U0" ?\Ů) ("&u0" ?\ů) ("&U\"" ?\Ű) ("&u\"" ?\ű) ("&U;" ?\Ų) ("&u;" ?\ų) ("&W>" ?\Ŵ) ("&w>" ?\ŵ) ("&Y>" ?\Ŷ) ("&y>" ?\ŷ) ("&Y:" ?\Ÿ) ("&Z'" ?\Ź) ("&z'" ?\ź) ("&Z." ?\Ż) ("&z." ?\ż) ("&Z<" ?\Ž) ("&z<" ?\ž) ("&s1" ?\ſ) ("&b/" ?\ƀ) ("&B2" ?\Ɓ) ("&C2" ?\Ƈ) ("&c2" ?\ƈ) ("&F2" ?\Ƒ) ("&f2" ?\ƒ) ("&K2" ?\Ƙ) ("&k2" ?\ƙ) ("&O9" ?\Ơ) ("&o9" ?\ơ) ("&OI" ?\Ƣ) ("&oi" ?\ƣ) ("&yr" ?\Ʀ) ("&U9" ?\Ư) ("&u9" ?\ư) ("&Z/" ?\Ƶ) ("&z/" ?\ƶ) ("&ED" ?\Ʒ) ("&DZ<" ?\DŽ) ("&Dz<" ?\Dž) ("&dz<" ?\dž) ("&LJ3" ?\LJ) ("&Lj3" ?\Lj) ("&lj3" ?\lj) ("&NJ3" ?\NJ) ("&Nj3" ?\Nj) ("&nj3" ?\nj) ("&A<" ?\Ǎ) ("&a<" ?\ǎ) ("&I<" ?\Ǐ) ("&i<" ?\ǐ) ("&O<" ?\Ǒ) ("&o<" ?\ǒ) ("&U<" ?\Ǔ) ("&u<" ?\ǔ) ("&U:-" ?\Ǖ) ("&u:-" ?\ǖ) ("&U:'" ?\Ǘ) ("&u:'" ?\ǘ) ("&U:<" ?\Ǚ) ("&u:<" ?\ǚ) ("&U:!" ?\Ǜ) ("&u:!" ?\ǜ) ("&e1" ?\ǝ) ("&A1" ?\Ǟ) ("&a1" ?\ǟ) ("&A7" ?\Ǡ) ("&a7" ?\ǡ) ("&A3" ?\Ǣ) ("&a3" ?\ǣ) ("&G/" ?\Ǥ) ("&g/" ?\ǥ) ("&G<" ?\Ǧ) ("&g<" ?\ǧ) ("&K<" ?\Ǩ) ("&k<" ?\ǩ) ("&O;" ?\Ǫ) ("&o;" ?\ǫ) ("&O1" ?\Ǭ) ("&o1" ?\ǭ) ("&EZ" ?\Ǯ) ("&ez" ?\ǯ) ("&j<" ?\ǰ) ("&DZ3" ?\DZ) ("&Dz3" ?\Dz) ("&dz3" ?\dz) ("&G'" ?\Ǵ) ("&g'" ?\ǵ) ("&AA'" ?\Ǻ) ("&aa'" ?\ǻ) ("&AE'" ?\Ǽ) ("&ae'" ?\ǽ) ("&O/'" ?\Ǿ) ("&o/'" ?\ǿ) ("&A!!" ?\Ȁ) ("&a!!" ?\ȁ) ("&A)" ?\Ȃ) ("&a)" ?\ȃ) ("&E!!" ?\Ȅ) ("&e!!" ?\ȅ) ("&E)" ?\Ȇ) ("&e)" ?\ȇ) ("&I!!" ?\Ȉ) ("&i!!" ?\ȉ) ("&I)" ?\Ȋ) ("&i)" ?\ȋ) ("&O!!" ?\Ȍ) ("&o!!" ?\ȍ) ("&O)" ?\Ȏ) ("&o)" ?\ȏ) ("&R!!" ?\Ȑ) ("&r!!" ?\ȑ) ("&R)" ?\Ȓ) ("&r)" ?\ȓ) ("&U!!" ?\Ȕ) ("&u!!" ?\ȕ) ("&U)" ?\Ȗ) ("&u)" ?\ȗ) ("&r1" ?\ɼ) ("&ed" ?\ʒ) ("&;S" ?\ʻ) ("&1>" ?\ˆ) ("&'<" ?\ˇ) ("&1-" ?\ˉ) ("&1!" ?\ˋ) ("&'(" ?\˘) ("&'." ?\˙) ("&'0" ?\˚) ("&';" ?\˛) ("&1?" ?\˜) ("&'\"" ?\˝) ("&'G" ?\ʹ) ("&,G" ?\͵) ("&j3" ?\ͺ) ("&?%" ?\;) ("&'*" ?\΄) ("&'%" ?\΅) ("&A%" ?\Ά) ("&.*" ?\·) ("&E%" ?\Έ) ("&Y%" ?\Ή) ("&I%" ?\Ί) ("&O%" ?\Ό) ("&U%" ?\Ύ) ("&W%" ?\Ώ) ("&i3" ?\ΐ) ("&A*" ?\Α) ("&B*" ?\Β) ("&G*" ?\Γ) ("&D*" ?\Δ) ("&E*" ?\Ε) ("&Z*" ?\Ζ) ("&Y*" ?\Η) ("&H*" ?\Θ) ("&I*" ?\Ι) ("&K*" ?\Κ) ("&L*" ?\Λ) ("&M*" ?\Μ) ("&N*" ?\Ν) ("&C*" ?\Ξ) ("&O*" ?\Ο) ("&P*" ?\Π) ("&R*" ?\Ρ) ("&S*" ?\Σ) ("&T*" ?\Τ) ("&U*" ?\Υ) ("&F*" ?\Φ) ("&X*" ?\Χ) ("&Q*" ?\Ψ) ("&W*" ?\Ω) ("&J*" ?\Ϊ) ("&V*" ?\Ϋ) ("&a%" ?\ά) ("&e%" ?\έ) ("&y%" ?\ή) ("&i%" ?\ί) ("&u3" ?\ΰ) ("&a*" ?\α) ("&b*" ?\β) ("&g*" ?\γ) ("&d*" ?\δ) ("&e*" ?\ε) ("&z*" ?\ζ) ("&y*" ?\η) ("&h*" ?\θ) ("&i*" ?\ι) ("&k*" ?\κ) ("&l*" ?\λ) ("&m*" ?\μ) ("&n*" ?\ν) ("&c*" ?\ξ) ("&o*" ?\ο) ("&p*" ?\π) ("&r*" ?\ρ) ("&*s" ?\ς) ("&s*" ?\σ) ("&t*" ?\τ) ("&u*" ?\υ) ("&f*" ?\φ) ("&x*" ?\χ) ("&q*" ?\ψ) ("&w*" ?\ω) ("&j*" ?\ϊ) ("&v*" ?\ϋ) ("&o%" ?\ό) ("&u%" ?\ύ) ("&w%" ?\ώ) ("&b3" ?\ϐ) ("&T3" ?\Ϛ) ("&M3" ?\Ϝ) ("&K3" ?\Ϟ) ("&P3" ?\Ϡ) ("&IO" ?\Ё) ("&D%" ?\Ђ) ("&G%" ?\Ѓ) ("&IE" ?\Є) ("&DS" ?\Ѕ) ("&II" ?\І) ("&YI" ?\Ї) ("&J%" ?\Ј) ("&LJ" ?\Љ) ("&NJ" ?\Њ) ("&Ts" ?\Ћ) ("&KJ" ?\Ќ) ("&V%" ?\Ў) ("&DZ" ?\Џ) ("&A=" ?\А) ("&B=" ?\Б) ("&V=" ?\В) ("&G=" ?\Г) ("&D=" ?\Д) ("&E=" ?\Е) ("&Z%" ?\Ж) ("&Z=" ?\З) ("&I=" ?\И) ("&J=" ?\Й) ("&K=" ?\К) ("&L=" ?\Л) ("&M=" ?\М) ("&N=" ?\Н) ("&O=" ?\О) ("&P=" ?\П) ("&R=" ?\Р) ("&S=" ?\С) ("&T=" ?\Т) ("&U=" ?\У) ("&F=" ?\Ф) ("&H=" ?\Х) ("&C=" ?\Ц) ("&C%" ?\Ч) ("&S%" ?\Ш) ("&Sc" ?\Щ) ("&=\"" ?\Ъ) ("&Y=" ?\Ы) ("&%\"" ?\Ь) ("&JE" ?\Э) ("&JU" ?\Ю) ("&JA" ?\Я) ("&a=" ?\а) ("&b=" ?\б) ("&v=" ?\в) ("&g=" ?\г) ("&d=" ?\д) ("&e=" ?\е) ("&z%" ?\ж) ("&z=" ?\з) ("&i=" ?\и) ("&j=" ?\й) ("&k=" ?\к) ("&l=" ?\л) ("&m=" ?\м) ("&n=" ?\н) ("&o=" ?\о) ("&p=" ?\п) ("&r=" ?\р) ("&s=" ?\с) ("&t=" ?\т) ("&u=" ?\у) ("&f=" ?\ф) ("&h=" ?\х) ("&c=" ?\ц) ("&c%" ?\ч) ("&s%" ?\ш) ("&sc" ?\щ) ("&='" ?\ъ) ("&y=" ?\ы) ("&%'" ?\ь) ("&je" ?\э) ("&ju" ?\ю) ("&ja" ?\я) ("&io" ?\ё) ("&d%" ?\ђ) ("&g%" ?\ѓ) ("&ie" ?\є) ("&ds" ?\ѕ) ("&ii" ?\і) ("&yi" ?\ї) ("&j%" ?\ј) ("&lj" ?\љ) ("&nj" ?\њ) ("&ts" ?\ћ) ("&kj" ?\ќ) ("&v%" ?\ў) ("&dz" ?\џ) ("&Y3" ?\Ѣ) ("&y3" ?\ѣ) ("&O3" ?\Ѫ) ("&o3" ?\ѫ) ("&F3" ?\Ѳ) ("&f3" ?\ѳ) ("&V3" ?\Ѵ) ("&v3" ?\ѵ) ("&C3" ?\Ҁ) ("&c3" ?\ҁ) ("&G3" ?\Ґ) ("&g3" ?\ґ) ("&A+" ?\א) ("&B+" ?\ב) ("&G+" ?\ג) ("&D+" ?\ד) ("&H+" ?\ה) ("&W+" ?\ו) ("&Z+" ?\ז) ("&X+" ?\ח) ("&Tj" ?\ט) ("&J+" ?\י) ("&K%" ?\ך) ("&K+" ?\כ) ("&L+" ?\ל) ("&M%" ?\ם) ("&M+" ?\מ) ("&N%" ?\ן) ("&N+" ?\נ) ("&S+" ?\ס) ("&E+" ?\ע) ("&P%" ?\ף) ("&P+" ?\פ) ("&Zj" ?\ץ) ("&ZJ" ?\צ) ("&Q+" ?\ק) ("&R+" ?\ר) ("&Sh" ?\ש) ("&T+" ?\ת) ("&,+" ?\،) ("&;+" ?\؛) ("&?+" ?\؟) ("&H'" ?\ء) ("&aM" ?\آ) ("&aH" ?\أ) ("&wH" ?\ؤ) ("&ah" ?\إ) ("&yH" ?\ئ) ("&a+" ?\ا) ("&b+" ?\ب) ("&tm" ?\ة) ("&t+" ?\ت) ("&tk" ?\ث) ("&g+" ?\ج) ("&hk" ?\ح) ("&x+" ?\خ) ("&d+" ?\د) ("&dk" ?\ذ) ("&r+" ?\ر) ("&z+" ?\ز) ("&s+" ?\س) ("&sn" ?\ش) ("&c+" ?\ص) ("&dd" ?\ض) ("&tj" ?\ط) ("&zH" ?\ظ) ("&e+" ?\ع) ("&i+" ?\غ) ("&++" ?\ـ) ("&f+" ?\ف) ("&q+" ?\ق) ("&k+" ?\ك) ("&l+" ?\ل) ("&m+" ?\م) ("&n+" ?\ن) ("&h+" ?\ه) ("&w+" ?\و) ("&j+" ?\ى) ("&y+" ?\ي) ("&:+" ?\ً) ("&\"+" ?\ٌ) ("&=+" ?\ٍ) ("&/+" ?\َ) ("&'+" ?\ُ) ("&1+" ?\ِ) ("&3+" ?\ّ) ("&0+" ?\ْ) ("&0a" ?\٠) ("&1a" ?\١) ("&2a" ?\٢) ("&3a" ?\٣) ("&4a" ?\٤) ("&5a" ?\٥) ("&6a" ?\٦) ("&7a" ?\٧) ("&8a" ?\٨) ("&9a" ?\٩) ("&aS" ?\ٰ) ("&p+" ?\پ) ("&hH" ?\ځ) ("&tc" ?\چ) ("&zj" ?\ژ) ("&v+" ?\ڤ) ("&gf" ?\گ) ("&A-0" ?\Ḁ) ("&a-0" ?\ḁ) ("&B." ?\Ḃ) ("&b." ?\ḃ) ("&B-." ?\Ḅ) ("&b-." ?\ḅ) ("&B_" ?\Ḇ) ("&b_" ?\ḇ) ("&C,'" ?\Ḉ) ("&c,'" ?\ḉ) ("&D." ?\Ḋ) ("&d." ?\ḋ) ("&D-." ?\Ḍ) ("&d-." ?\ḍ) ("&D_" ?\Ḏ) ("&d_" ?\ḏ) ("&D," ?\Ḑ) ("&d," ?\ḑ) ("&D->" ?\Ḓ) ("&d->" ?\ḓ) ("&E-!" ?\Ḕ) ("&e-!" ?\ḕ) ("&E-'" ?\Ḗ) ("&e-'" ?\ḗ) ("&E->" ?\Ḙ) ("&e->" ?\ḙ) ("&E-?" ?\Ḛ) ("&e-?" ?\ḛ) ("&E,(" ?\Ḝ) ("&e,(" ?\ḝ) ("&F." ?\Ḟ) ("&f." ?\ḟ) ("&G-" ?\Ḡ) ("&g-" ?\ḡ) ("&H." ?\Ḣ) ("&h." ?\ḣ) ("&H-." ?\Ḥ) ("&h-." ?\ḥ) ("&H:" ?\Ḧ) ("&h:" ?\ḧ) ("&H," ?\Ḩ) ("&h," ?\ḩ) ("&H-(" ?\Ḫ) ("&h-(" ?\ḫ) ("&I-?" ?\Ḭ) ("&i-?" ?\ḭ) ("&I:'" ?\Ḯ) ("&i:'" ?\ḯ) ("&K'" ?\Ḱ) ("&k'" ?\ḱ) ("&K-." ?\Ḳ) ("&k-." ?\ḳ) ("&K_" ?\Ḵ) ("&k_" ?\ḵ) ("&L-." ?\Ḷ) ("&l-." ?\ḷ) ("&L_" ?\Ḻ) ("&l_" ?\ḻ) ("&L->" ?\Ḽ) ("&l->" ?\ḽ) ("&M'" ?\Ḿ) ("&m'" ?\ḿ) ("&M." ?\Ṁ) ("&m." ?\ṁ) ("&M-." ?\Ṃ) ("&m-." ?\ṃ) ("&N." ?\Ṅ) ("&n." ?\ṅ) ("&N-." ?\Ṇ) ("&n-." ?\ṇ) ("&N_" ?\Ṉ) ("&n_" ?\ṉ) ("&N->" ?\Ṋ) ("&n->" ?\ṋ) ("&O?'" ?\Ṍ) ("&o?'" ?\ṍ) ("&O?:" ?\Ṏ) ("&o?:" ?\ṏ) ("&O-!" ?\Ṑ) ("&o-!" ?\ṑ) ("&O-'" ?\Ṓ) ("&o-'" ?\ṓ) ("&P'" ?\Ṕ) ("&p'" ?\ṕ) ("&P." ?\Ṗ) ("&p." ?\ṗ) ("&R." ?\Ṙ) ("&r." ?\ṙ) ("&R-." ?\Ṛ) ("&r-." ?\ṛ) ("&R_" ?\Ṟ) ("&r_" ?\ṟ) ("&S." ?\Ṡ) ("&s." ?\ṡ) ("&S-." ?\Ṣ) ("&s-." ?\ṣ) ("&S'." ?\Ṥ) ("&s'." ?\ṥ) ("&S<." ?\Ṧ) ("&s<." ?\ṧ) ("&T." ?\Ṫ) ("&t." ?\ṫ) ("&T-." ?\Ṭ) ("&t-." ?\ṭ) ("&T_" ?\Ṯ) ("&t_" ?\ṯ) ("&T->" ?\Ṱ) ("&t->" ?\ṱ) ("&U-?" ?\Ṵ) ("&u-?" ?\ṵ) ("&U->" ?\Ṷ) ("&u->" ?\ṷ) ("&U?'" ?\Ṹ) ("&u?'" ?\ṹ) ("&U-:" ?\Ṻ) ("&u-:" ?\ṻ) ("&V?" ?\Ṽ) ("&v?" ?\ṽ) ("&V-." ?\Ṿ) ("&v-." ?\ṿ) ("&W!" ?\Ẁ) ("&w!" ?\ẁ) ("&W'" ?\Ẃ) ("&w'" ?\ẃ) ("&W:" ?\Ẅ) ("&w:" ?\ẅ) ("&W." ?\Ẇ) ("&w." ?\ẇ) ("&W-." ?\Ẉ) ("&w-." ?\ẉ) ("&X." ?\Ẋ) ("&x." ?\ẋ) ("&X:" ?\Ẍ) ("&x:" ?\ẍ) ("&Y." ?\Ẏ) ("&y." ?\ẏ) ("&Z>" ?\Ẑ) ("&z>" ?\ẑ) ("&Z-." ?\Ẓ) ("&z-." ?\ẓ) ("&Z_" ?\Ẕ) ("&z_" ?\ẕ) ("&A-." ?\Ạ) ("&a-." ?\ạ) ("&A2" ?\Ả) ("&a2" ?\ả) ("&A>'" ?\Ấ) ("&a>'" ?\ấ) ("&A>!" ?\Ầ) ("&a>!" ?\ầ) ("&A>2" ?\Ẩ) ("&a>2" ?\ẩ) ("&A>?" ?\Ẫ) ("&a>?" ?\ẫ) ("&A('" ?\Ắ) ("&a('" ?\ắ) ("&A(!" ?\Ằ) ("&a(!" ?\ằ) ("&A(2" ?\Ẳ) ("&a(2" ?\ẳ) ("&A(?" ?\Ẵ) ("&a(?" ?\ẵ) ("&E-." ?\Ẹ) ("&e-." ?\ẹ) ("&E2" ?\Ẻ) ("&e2" ?\ẻ) ("&E?" ?\Ẽ) ("&e?" ?\ẽ) ("&E>'" ?\Ế) ("&e>'" ?\ế) ("&E>!" ?\Ề) ("&e>!" ?\ề) ("&E>2" ?\Ể) ("&e>2" ?\ể) ("&E>?" ?\Ễ) ("&e>?" ?\ễ) ("&I2" ?\Ỉ) ("&i2" ?\ỉ) ("&I-." ?\Ị) ("&i-." ?\ị) ("&O-." ?\Ọ) ("&o-." ?\ọ) ("&O2" ?\Ỏ) ("&o2" ?\ỏ) ("&O>'" ?\Ố) ("&o>'" ?\ố) ("&O>!" ?\Ồ) ("&o>!" ?\ồ) ("&O>2" ?\Ổ) ("&o>2" ?\ổ) ("&O>?" ?\Ỗ) ("&o>?" ?\ỗ) ("&O9'" ?\Ớ) ("&o9'" ?\ớ) ("&O9!" ?\Ờ) ("&o9!" ?\ờ) ("&O92" ?\Ở) ("&o92" ?\ở) ("&O9?" ?\Ỡ) ("&o9?" ?\ỡ) ("&U-." ?\Ụ) ("&u-." ?\ụ) ("&U2" ?\Ủ) ("&u2" ?\ủ) ("&U9'" ?\Ứ) ("&u9'" ?\ứ) ("&U9!" ?\Ừ) ("&u9!" ?\ừ) ("&U92" ?\Ử) ("&u92" ?\ử) ("&U9?" ?\Ữ) ("&u9?" ?\ữ) ("&Y!" ?\Ỳ) ("&y!" ?\ỳ) ("&Y-." ?\Ỵ) ("&y-." ?\ỵ) ("&Y2" ?\Ỷ) ("&y2" ?\ỷ) ("&Y?" ?\Ỹ) ("&y?" ?\ỹ) ("&a*," ?\ἀ) ("&a*;" ?\ἁ) ("&A*," ?\Ἀ) ("&A*;" ?\Ἁ) ("&e*," ?\ἐ) ("&e*;" ?\ἑ) ("&E*," ?\Ἐ) ("&E*;" ?\Ἑ) ("&y*," ?\ἠ) ("&y*;" ?\ἡ) ("&Y*," ?\Ἠ) ("&Y*;" ?\Ἡ) ("&i*," ?\ἰ) ("&i*;" ?\ἱ) ("&I*," ?\Ἰ) ("&I*;" ?\Ἱ) ("&o*," ?\ὀ) ("&o*;" ?\ὁ) ("&O*," ?\Ὀ) ("&O*;" ?\Ὁ) ("&u*," ?\ὐ) ("&u*;" ?\ὑ) ("&U*;" ?\Ὑ) ("&w*," ?\ὠ) ("&w*;" ?\ὡ) ("&W*," ?\Ὠ) ("&W*;" ?\Ὡ) ("&a*!" ?\ὰ) ("&a*'" ?\ά) ("&e*!" ?\ὲ) ("&e*'" ?\έ) ("&y*!" ?\ὴ) ("&y*'" ?\ή) ("&i*!" ?\ὶ) ("&i*'" ?\ί) ("&o*!" ?\ὸ) ("&o*'" ?\ό) ("&u*!" ?\ὺ) ("&u*'" ?\ύ) ("&w*!" ?\ὼ) ("&w*'" ?\ώ) ("&a*(" ?\ᾰ) ("&a*-" ?\ᾱ) ("&a*j" ?\ᾳ) ("&a*?" ?\ᾶ) ("&A*(" ?\Ᾰ) ("&A*-" ?\Ᾱ) ("&A*!" ?\Ὰ) ("&A*'" ?\Ά) ("&A*J" ?\ᾼ) ("&)*" ?\᾽) ("&J3" ?\ι) ("&,," ?\᾿) ("&?*" ?\῀) ("&?:" ?\῁) ("&y*j" ?\ῃ) ("&y*?" ?\ῆ) ("&E*'" ?\Έ) ("&Y*!" ?\Ὴ) ("&Y*'" ?\Ή) ("&Y*J" ?\ῌ) ("&,!" ?\῍) ("&,'" ?\῎) ("&?," ?\῏) ("&i*(" ?\ῐ) ("&i*-" ?\ῑ) ("&i*?" ?\ῖ) ("&I*(" ?\Ῐ) ("&I*-" ?\Ῑ) ("&I*!" ?\Ὶ) ("&I*'" ?\Ί) ("&;!" ?\῝) ("&;'" ?\῞) ("&?;" ?\῟) ("&u*(" ?\ῠ) ("&u*-" ?\ῡ) ("&r*," ?\ῤ) ("&r*;" ?\ῥ) ("&u*?" ?\ῦ) ("&U*(" ?\Ῠ) ("&U*-" ?\Ῡ) ("&U*!" ?\Ὺ) ("&U*'" ?\Ύ) ("&R*;" ?\Ῥ) ("&!:" ?\῭) ("&:'" ?\΅) ("&!*" ?\`) ("&w*j" ?\ῳ) ("&w*?" ?\ῶ) ("&O*!" ?\Ὸ) ("&O*'" ?\Ό) ("&W*!" ?\Ὼ) ("&W*'" ?\Ώ) ("&W*J" ?\ῼ) ("&/*" ?\´) ("&;;" ?\῾) ("&1N" ?\ ) ("&1M" ?\ ) ("&3M" ?\ ) ("&4M" ?\ ) ("&6M" ?\ ) ("&1T" ?\ ) ("&1H" ?\ ) ("&LR" ?\‎) ("&RL" ?\‏) ("&-1" ?\‐) ("&-N" ?\–) ("&-M" ?\—) ("&-3" ?\―) ("&!2" ?\‖) ("&=2" ?\‗) ("&'6" ?\‘) ("&'9" ?\’) ("&.9" ?\‚) ("&9'" ?\‛) ("&\"6" ?\“) ("&\"9" ?\”) ("&:9" ?\„) ("&9\"" ?\‟) ("&/-" ?\†) ("&/=" ?\‡) ("&sb" ?\•) ("&3b" ?\‣) ("&.." ?\‥) ("&.3" ?\…) ("&.-" ?\‧) ("&%0" ?\‰) ("&1'" ?\′) ("&2'" ?\″) ("&3'" ?\‴) ("&1\"" ?\‵) ("&2\"" ?\‶) ("&3\"" ?\‷) ("&Ca" ?\‸) ("&<1" ?\‹) ("&>1" ?\›) ("&:X" ?\※) ("&!*2" ?\‼) ("&'-" ?\‾) ("&-b" ?\⁃) ("&/f" ?\⁄) ("&0S" ?\⁰) ("&4S" ?\⁴) ("&5S" ?\⁵) ("&6S" ?\⁶) ("&7S" ?\⁷) ("&8S" ?\⁸) ("&9S" ?\⁹) ("&+S" ?\⁺) ("&-S" ?\⁻) ("&=S" ?\⁼) ("&(S" ?\⁽) ("&)S" ?\⁾) ("&nS" ?\ⁿ) ("&0s" ?\₀) ("&1s" ?\₁) ("&2s" ?\₂) ("&3s" ?\₃) ("&4s" ?\₄) ("&5s" ?\₅) ("&6s" ?\₆) ("&7s" ?\₇) ("&8s" ?\₈) ("&9s" ?\₉) ("&+s" ?\₊) ("&-s" ?\₋) ("&=s" ?\₌) ("&(s" ?\₍) ("&)s" ?\₎) ("&Ff" ?\₣) ("&Li" ?\₤) ("&Pt" ?\₧) ("&W=" ?\₩) ("&NSh" ?\₪) ("&Eu" ?\€) ("&\"7" ?\⃑) ("&oC" ?\℃) ("&co" ?\℅) ("&oF" ?\℉) ("&N0" ?\№) ("&PO" ?\℗) ("&Rx" ?\℞) ("&SM" ?\℠) ("&TM" ?\™) ("&Om" ?\Ω) ("&AO" ?\Å) ("&Est" ?\℮) ("&13" ?\⅓) ("&23" ?\⅔) ("&15" ?\⅕) ("&25" ?\⅖) ("&35" ?\⅗) ("&45" ?\⅘) ("&16" ?\⅙) ("&56" ?\⅚) ("&18" ?\⅛) ("&38" ?\⅜) ("&58" ?\⅝) ("&78" ?\⅞) ("&1R" ?\Ⅰ) ("&2R" ?\Ⅱ) ("&3R" ?\Ⅲ) ("&4R" ?\Ⅳ) ("&5R" ?\Ⅴ) ("&6R" ?\Ⅵ) ("&7R" ?\Ⅶ) ("&8R" ?\Ⅷ) ("&9R" ?\Ⅸ) ("&aR" ?\Ⅹ) ("&bR" ?\Ⅺ) ("&cR" ?\Ⅻ) ("&50R" ?\Ⅼ) ("&1r" ?\ⅰ) ("&2r" ?\ⅱ) ("&3r" ?\ⅲ) ("&4r" ?\ⅳ) ("&5r" ?\ⅴ) ("&6r" ?\ⅵ) ("&7r" ?\ⅶ) ("&8r" ?\ⅷ) ("&9r" ?\ⅸ) ("&ar" ?\ⅹ) ("&br" ?\ⅺ) ("&cr" ?\ⅻ) ("&50r" ?\ⅼ) ("&<-" ?\←) ("&-!" ?\↑) ("&->" ?\→) ("&-v" ?\↓) ("&<>" ?\↔) ("&UD" ?\↕) ("&" ?\↗) ("&!!>" ?\↘) ("&V" ?\⇀) ("&<=" ?\⇐) ("&=>" ?\⇒) ("&==" ?\⇔) ("&FA" ?\∀) ("&dP" ?\∂) ("&TE" ?\∃) ("&/0" ?\∅) ("&DE" ?\∆) ("&NB" ?\∇) ("&(-" ?\∈) ("&-)" ?\∋) ("&FP" ?\∎) ("&*P" ?\∏) ("&+Z" ?\∑) ("&-2" ?\−) ("&-+" ?\∓) ("&.+" ?\∔) ("&*-" ?\∗) ("&Ob" ?\∘) ("&Sb" ?\∙) ("&RT" ?\√) ("&0(" ?\∝) ("&00" ?\∞) ("&-L" ?\∟) ("&-V" ?\∠) ("&PP" ?\∥) ("&AN" ?\∧) ("&OR" ?\∨) ("&(U" ?\∩) ("&)U" ?\∪) ("&In" ?\∫) ("&DI" ?\∬) ("&Io" ?\∮) ("&.:" ?\∴) ("&:." ?\∵) ("&:R" ?\∶) ("&::" ?\∷) ("&?1" ?\∼) ("&CG" ?\∾) ("&?-" ?\≃) ("&?=" ?\≅) ("&?2" ?\≈) ("&=?" ?\≌) ("&HI" ?\≓) ("&!=" ?\≠) ("&=3" ?\≡) ("&=<" ?\≤) ("&>=" ?\≥) ("&<*" ?\≪) ("&*>" ?\≫) ("&!<" ?\≮) ("&!>" ?\≯) ("&(C" ?\⊂) ("&)C" ?\⊃) ("&(_" ?\⊆) ("&)_" ?\⊇) ("&0." ?\⊙) ("&02" ?\⊚) ("&-T" ?\⊥) ("&.P" ?\⋅) ("&:3" ?\⋮) ("&Eh" ?\⌂) ("&<7" ?\⌈) ("&>7" ?\⌉) ("&7<" ?\⌊) ("&7>" ?\⌋) ("&NI" ?\⌐) ("&(A" ?\⌒) ("&TR" ?\⌕) ("&88" ?\⌘) ("&Iu" ?\⌠) ("&Il" ?\⌡) ("&" ?\〉) ("&Vs" ?\␣) ("&1h" ?\⑀) ("&3h" ?\⑁) ("&2h" ?\⑂) ("&4h" ?\⑃) ("&1j" ?\⑆) ("&2j" ?\⑇) ("&3j" ?\⑈) ("&4j" ?\⑉) ("&1-o" ?\①) ("&2-o" ?\②) ("&3-o" ?\③) ("&4-o" ?\④) ("&5-o" ?\⑤) ("&6-o" ?\⑥) ("&7-o" ?\⑦) ("&8-o" ?\⑧) ("&9-o" ?\⑨) ("&(1)" ?\⑴) ("&(2)" ?\⑵) ("&(3)" ?\⑶) ("&(4)" ?\⑷) ("&(5)" ?\⑸) ("&(6)" ?\⑹) ("&(7)" ?\⑺) ("&(8)" ?\⑻) ("&(9)" ?\⑼) ("&1." ?\⒈) ("&2." ?\⒉) ("&3." ?\⒊) ("&4." ?\⒋) ("&5." ?\⒌) ("&6." ?\⒍) ("&7." ?\⒎) ("&8." ?\⒏) ("&9." ?\⒐) ("&10." ?\⒑) ("&11." ?\⒒) ("&12." ?\⒓) ("&13." ?\⒔) ("&14." ?\⒕) ("&15." ?\⒖) ("&16." ?\⒗) ("&17." ?\⒘) ("&18." ?\⒙) ("&19." ?\⒚) ("&20." ?\⒛) ("&(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" ?\Ⓐ) ("&B-o" ?\Ⓑ) ("&C-o" ?\Ⓒ) ("&D-o" ?\Ⓓ) ("&E-o" ?\Ⓔ) ("&F-o" ?\Ⓕ) ("&G-o" ?\Ⓖ) ("&H-o" ?\Ⓗ) ("&I-o" ?\Ⓘ) ("&J-o" ?\Ⓙ) ("&K-o" ?\Ⓚ) ("&L-o" ?\Ⓛ) ("&M-o" ?\Ⓜ) ("&N-o" ?\Ⓝ) ("&O-o" ?\Ⓞ) ("&P-o" ?\Ⓟ) ("&Q-o" ?\Ⓠ) ("&R-o" ?\Ⓡ) ("&S-o" ?\Ⓢ) ("&T-o" ?\Ⓣ) ("&U-o" ?\Ⓤ) ("&V-o" ?\Ⓥ) ("&W-o" ?\Ⓦ) ("&X-o" ?\Ⓧ) ("&Y-o" ?\Ⓨ) ("&Z-o" ?\Ⓩ) ("&a-o" ?\ⓐ) ("&b-o" ?\ⓑ) ("&c-o" ?\ⓒ) ("&d-o" ?\ⓓ) ("&e-o" ?\ⓔ) ("&f-o" ?\ⓕ) ("&g-o" ?\ⓖ) ("&h-o" ?\ⓗ) ("&i-o" ?\ⓘ) ("&j-o" ?\ⓙ) ("&k-o" ?\ⓚ) ("&l-o" ?\ⓛ) ("&m-o" ?\ⓜ) ("&n-o" ?\ⓝ) ("&o-o" ?\ⓞ) ("&p-o" ?\ⓟ) ("&q-o" ?\ⓠ) ("&r-o" ?\ⓡ) ("&s-o" ?\ⓢ) ("&t-o" ?\ⓣ) ("&u-o" ?\ⓤ) ("&v-o" ?\ⓥ) ("&w-o" ?\ⓦ) ("&x-o" ?\ⓧ) ("&y-o" ?\ⓨ) ("&z-o" ?\ⓩ) ("&0-o" ?\⓪) ("&hh" ?\─) ("&HH-" ?\━) ("&vv" ?\│) ("&VV-" ?\┃) ("&3-" ?\┄) ("&3_" ?\┅) ("&3!" ?\┆) ("&3/" ?\┇) ("&4-" ?\┈) ("&4_" ?\┉) ("&4!" ?\┊) ("&4/" ?\┋) ("&dr" ?\┌) ("&dR-" ?\┍) ("&Dr-" ?\┎) ("&DR-" ?\┏) ("&dl" ?\┐) ("&dL-" ?\┑) ("&Dl-" ?\┒) ("&LD-" ?\┓) ("&ur" ?\└) ("&uR-" ?\┕) ("&Ur-" ?\┖) ("&UR-" ?\┗) ("&ul" ?\┘) ("&uL-" ?\┙) ("&Ul-" ?\┚) ("&UL-" ?\┛) ("&vr" ?\├) ("&vR-" ?\┝) ("&Udr" ?\┞) ("&uDr" ?\┟) ("&Vr-" ?\┠) ("&UdR" ?\┡) ("&uDR" ?\┢) ("&VR-" ?\┣) ("&vl" ?\┤) ("&vL-" ?\┥) ("&Udl" ?\┦) ("&uDl" ?\┧) ("&Vl-" ?\┨) ("&UdL" ?\┩) ("&uDL" ?\┪) ("&VL-" ?\┫) ("&dh" ?\┬) ("&dLr" ?\┭) ("&dlR" ?\┮) ("&dH-" ?\┯) ("&Dh-" ?\┰) ("&DLr" ?\┱) ("&DlR" ?\┲) ("&DH-" ?\┳) ("&uh" ?\┴) ("&uLr" ?\┵) ("&ulR" ?\┶) ("&uH-" ?\┷) ("&Uh-" ?\┸) ("&ULr" ?\┹) ("&UlR" ?\┺) ("&UH-" ?\┻) ("&vh" ?\┼) ("&vLr" ?\┽) ("&vlR" ?\┾) ("&vH-" ?\┿) ("&Udh" ?\╀) ("&uDh" ?\╁) ("&Vh-" ?\╂) ("&UdH" ?\╇) ("&uDH" ?\╈) ("&VLr" ?\╉) ("&VlR" ?\╊) ("&VH-" ?\╋) ("&HH" ?\═) ("&VV" ?\║) ("&dR" ?\╒) ("&Dr" ?\╓) ("&DR" ?\╔) ("&dL" ?\╕) ("&Dl" ?\╖) ("&LD" ?\╗) ("&uR" ?\╘) ("&Ur" ?\╙) ("&UR" ?\╚) ("&uL" ?\╛) ("&Ul" ?\╜) ("&UL" ?\╝) ("&vR" ?\╞) ("&Vr" ?\╟) ("&VR" ?\╠) ("&vL" ?\╡) ("&Vl" ?\╢) ("&VL" ?\╣) ("&dH" ?\╤) ("&Dh" ?\╥) ("&DH" ?\╦) ("&uH" ?\╧) ("&Uh" ?\╨) ("&UH" ?\╩) ("&vH" ?\╪) ("&Vh" ?\╫) ("&VH" ?\╬) ("&FD" ?\╱) ("&BD" ?\╲) ("&TB" ?\▀) ("&LB" ?\▄) ("&FB" ?\█) ("&lB" ?\▌) ("&RB" ?\▐) ("&.S" ?\░) ("&:S" ?\▒) ("&?S" ?\▓) ("&fS" ?\■) ("&OS" ?\□) ("&RO" ?\▢) ("&Rr" ?\▣) ("&RF" ?\▤) ("&RY" ?\▥) ("&RH" ?\▦) ("&RZ" ?\▧) ("&RK" ?\▨) ("&RX" ?\▩) ("&sB" ?\▪) ("&SR" ?\▬) ("&Or" ?\▭) ("&UT" ?\▲) ("&uT" ?\△) ("&Tr" ?\▷) ("&PR" ?\►) ("&Dt" ?\▼) ("&dT" ?\▽) ("&Tl" ?\◁) ("&PL" ?\◄) ("&Db" ?\◆) ("&Dw" ?\◇) ("&LZ" ?\◊) ("&0m" ?\○) ("&0o" ?\◎) ("&0M" ?\●) ("&0L" ?\◐) ("&0R" ?\◑) ("&Sn" ?\◘) ("&Ic" ?\◙) ("&Fd" ?\◢) ("&Bd" ?\◣) ("&Ci" ?\◯) ("&*2" ?\★) ("&*1" ?\☆) ("&TEL" ?\☎) ("&tel" ?\☏) ("&H" ?\☞) ("&0u" ?\☺) ("&0U" ?\☻) ("&SU" ?\☼) ("&Fm" ?\♀) ("&Ml" ?\♂) ("&cS" ?\♠) ("&cH" ?\♡) ("&cD" ?\♢) ("&cC" ?\♣) ("&cS-" ?\♤) ("&cH-" ?\♥) ("&cD-" ?\♦) ("&cC-" ?\♧) ("&Md" ?\♩) ("&M8" ?\♪) ("&M2" ?\♫) ("&M16" ?\♬) ("&Mb" ?\♭) ("&Mx" ?\♮) ("&MX" ?\♯) ("&OK" ?\✓) ("&XX" ?\✗) ("&-X" ?\✠) ("&IS" ?\ ) ("&,_" ?\、) ("&._" ?\。) ("&+\"" ?\〃) ("&JIS" ?\〄) ("&*_" ?\々) ("&;_" ?\〆) ("&0_" ?\〇) ("&<+" ?\《) ("&>+" ?\》) ("&<'" ?\「) ("&>'" ?\」) ("&<\"" ?\『) ("&>\"" ?\』) ("&(\"" ?\【) ("&)\"" ?\】) ("&=T" ?\〒) ("&=_" ?\〓) ("&('" ?\〔) ("&)'" ?\〕) ("&(I" ?\〖) ("&)I" ?\〗) ("&-?" ?\〜) ("&A5" ?\ぁ) ("&a5" ?\あ) ("&I5" ?\ぃ) ("&i5" ?\い) ("&U5" ?\ぅ) ("&u5" ?\う) ("&E5" ?\ぇ) ("&e5" ?\え) ("&O5" ?\ぉ) ("&o5" ?\お) ("&ka" ?\か) ("&ga" ?\が) ("&ki" ?\き) ("&gi" ?\ぎ) ("&ku" ?\く) ("&gu" ?\ぐ) ("&ke" ?\け) ("&ge" ?\げ) ("&ko" ?\こ) ("&go" ?\ご) ("&sa" ?\さ) ("&za" ?\ざ) ("&si" ?\し) ("&zi" ?\じ) ("&su" ?\す) ("&zu" ?\ず) ("&se" ?\せ) ("&ze" ?\ぜ) ("&so" ?\そ) ("&zo" ?\ぞ) ("&ta" ?\た) ("&da" ?\だ) ("&ti" ?\ち) ("&di" ?\ぢ) ("&tU" ?\っ) ("&tu" ?\つ) ("&du" ?\づ) ("&te" ?\て) ("&de" ?\で) ("&to" ?\と) ("&do" ?\ど) ("&na" ?\な) ("&ni" ?\に) ("&nu" ?\ぬ) ("&ne" ?\ね) ("&no" ?\の) ("&ha" ?\は) ("&ba" ?\ば) ("&pa" ?\ぱ) ("&hi" ?\ひ) ("&bi" ?\び) ("&pi" ?\ぴ) ("&hu" ?\ふ) ("&bu" ?\ぶ) ("&pu" ?\ぷ) ("&he" ?\へ) ("&be" ?\べ) ("&pe" ?\ぺ) ("&ho" ?\ほ) ("&bo" ?\ぼ) ("&po" ?\ぽ) ("&ma" ?\ま) ("&mi" ?\み) ("&mu" ?\む) ("&me" ?\め) ("&mo" ?\も) ("&yA" ?\ゃ) ("&ya" ?\や) ("&yU" ?\ゅ) ("&yu" ?\ゆ) ("&yO" ?\ょ) ("&yo" ?\よ) ("&ra" ?\ら) ("&ri" ?\り) ("&ru" ?\る) ("&re" ?\れ) ("&ro" ?\ろ) ("&wA" ?\ゎ) ("&wa" ?\わ) ("&wi" ?\ゐ) ("&we" ?\ゑ) ("&wo" ?\を) ("&n5" ?\ん) ("&vu" ?\ゔ) ("&\"5" ?\゛) ("&05" ?\゜) ("&*5" ?\ゝ) ("&+5" ?\ゞ) ("&a6" ?\ァ) ("&A6" ?\ア) ("&i6" ?\ィ) ("&I6" ?\イ) ("&u6" ?\ゥ) ("&U6" ?\ウ) ("&e6" ?\ェ) ("&E6" ?\エ) ("&o6" ?\ォ) ("&O6" ?\オ) ("&Ka" ?\カ) ("&Ga" ?\ガ) ("&Ki" ?\キ) ("&Gi" ?\ギ) ("&Ku" ?\ク) ("&Gu" ?\グ) ("&Ke" ?\ケ) ("&Ge" ?\ゲ) ("&Ko" ?\コ) ("&Go" ?\ゴ) ("&Sa" ?\サ) ("&Za" ?\ザ) ("&Si" ?\シ) ("&Zi" ?\ジ) ("&Su" ?\ス) ("&Zu" ?\ズ) ("&Se" ?\セ) ("&Ze" ?\ゼ) ("&So" ?\ソ) ("&Zo" ?\ゾ) ("&Ta" ?\タ) ("&Da" ?\ダ) ("&Ti" ?\チ) ("&Di" ?\ヂ) ("&TU" ?\ッ) ("&Tu" ?\ツ) ("&Du" ?\ヅ) ("&Te" ?\テ) ("&De" ?\デ) ("&To" ?\ト) ("&Do" ?\ド) ("&Na" ?\ナ) ("&Ni" ?\ニ) ("&Nu" ?\ヌ) ("&Ne" ?\ネ) ("&No" ?\ノ) ("&Ha" ?\ハ) ("&Ba" ?\バ) ("&Pa" ?\パ) ("&Hi" ?\ヒ) ("&Bi" ?\ビ) ("&Pi" ?\ピ) ("&Hu" ?\フ) ("&Bu" ?\ブ) ("&Pu" ?\プ) ("&He" ?\ヘ) ("&Be" ?\ベ) ("&Pe" ?\ペ) ("&Ho" ?\ホ) ("&Bo" ?\ボ) ("&Po" ?\ポ) ("&Ma" ?\マ) ("&Mi" ?\ミ) ("&Mu" ?\ム) ("&Me" ?\メ) ("&Mo" ?\モ) ("&YA" ?\ャ) ("&Ya" ?\ヤ) ("&YU" ?\ュ) ("&Yu" ?\ユ) ("&YO" ?\ョ) ("&Yo" ?\ヨ) ("&Ra" ?\ラ) ("&Ri" ?\リ) ("&Ru" ?\ル) ("&Re" ?\レ) ("&Ro" ?\ロ) ("&WA" ?\ヮ) ("&Wa" ?\ワ) ("&Wi" ?\ヰ) ("&We" ?\ヱ) ("&Wo" ?\ヲ) ("&N6" ?\ン) ("&Vu" ?\ヴ) ("&KA" ?\ヵ) ("&KE" ?\ヶ) ("&Va" ?\ヷ) ("&Vi" ?\ヸ) ("&Ve" ?\ヹ) ("&Vo" ?\ヺ) ("&.6" ?\・) ("&-6" ?\ー) ("&*6" ?\ヽ) ("&+6" ?\ヾ) ("&b4" ?\ㄅ) ("&p4" ?\ㄆ) ("&m4" ?\ㄇ) ("&f4" ?\ㄈ) ("&d4" ?\ㄉ) ("&t4" ?\ㄊ) ("&n4" ?\ㄋ) ("&l4" ?\ㄌ) ("&g4" ?\ㄍ) ("&k4" ?\ㄎ) ("&h4" ?\ㄏ) ("&j4" ?\ㄐ) ("&q4" ?\ㄑ) ("&x4" ?\ㄒ) ("&zh" ?\ㄓ) ("&ch" ?\ㄔ) ("&sh" ?\ㄕ) ("&r4" ?\ㄖ) ("&z4" ?\ㄗ) ("&c4" ?\ㄘ) ("&s4" ?\ㄙ) ("&a4" ?\ㄚ) ("&o4" ?\ㄛ) ("&e4" ?\ㄜ) ("&eh4" ?\ㄝ) ("&ai" ?\ㄞ) ("&ei" ?\ㄟ) ("&au" ?\ㄠ) ("&ou" ?\ㄡ) ("&an" ?\ㄢ) ("&en" ?\ㄣ) ("&aN" ?\ㄤ) ("&eN" ?\ㄥ) ("&er" ?\ㄦ) ("&i4" ?\ㄧ) ("&u4" ?\ㄨ) ("&iu" ?\ㄩ) ("&v4" ?\ㄪ) ("&nG" ?\ㄫ) ("&gn" ?\ㄬ) ("&1c" ?\㈠) ("&2c" ?\㈡) ("&3c" ?\㈢) ("&4c" ?\㈣) ("&5c" ?\㈤) ("&6c" ?\㈥) ("&7c" ?\㈦) ("&8c" ?\㈧) ("&9c" ?\㈨) ("&10c" ?\㈩) ("&KSC" ?\㉿) ("&am" ?\㏂) ("&pm" ?\㏘) ("&\"3" ?\) ("&\"1" ?\) ("&\"!" ?\) ("&\"'" ?\) ("&\">" ?\) ("&\"?" ?\) ("&\"-" ?\) ("&\"(" ?\) ("&\"." ?\) ("&\":" ?\) ("&\"0" ?\) ("&\"," ?\) ("&\"_" ?\) ("&\"\"" ?\) ("&\";" ?\) ("&\"<" ?\) ("&\"=" ?\) ("&\"/" ?\) ("&\"p" ?\) ("&\"d" ?\) ("&\"i" ?\) ("&+_" ?\) ("&a+:" ?\) ("&Tel" ?\) ("&UA" ?\) ("&UB" ?\) ("&t3" ?\) ("&m3" ?\) ("&k3" ?\) ("&p3" ?\) ("&Mc" ?\) ("&Fl" ?\) ("&Ss" ?\) ("&Ch" ?\) ("&CH" ?\) ("&__" ?\) ("&/c" ?\) ("&ff" ?\ff) ("&fi" ?\fi) ("&fl" ?\fl) ("&ffi" ?\ffi) ("&ffl" ?\ffl) ("&St" ?\ſt) ("&st" ?\st) ("&3+;" ?\ﹽ) ("&aM." ?\ﺂ) ("&aH." ?\ﺄ) ("&ah." ?\ﺈ) ("&a+-" ?\ﺍ) ("&a+." ?\ﺎ) ("&b+-" ?\ﺏ) ("&b+." ?\ﺐ) ("&b+," ?\ﺑ) ("&b+;" ?\ﺒ) ("&tm-" ?\ﺓ) ("&tm." ?\ﺔ) ("&t+-" ?\ﺕ) ("&t+." ?\ﺖ) ("&t+," ?\ﺗ) ("&t+;" ?\ﺘ) ("&tk-" ?\ﺙ) ("&tk." ?\ﺚ) ("&tk," ?\ﺛ) ("&tk;" ?\ﺜ) ("&g+-" ?\ﺝ) ("&g+." ?\ﺞ) ("&g+," ?\ﺟ) ("&g+;" ?\ﺠ) ("&hk-" ?\ﺡ) ("&hk." ?\ﺢ) ("&hk," ?\ﺣ) ("&hk;" ?\ﺤ) ("&x+-" ?\ﺥ) ("&x+." ?\ﺦ) ("&x+," ?\ﺧ) ("&x+;" ?\ﺨ) ("&d+-" ?\ﺩ) ("&d+." ?\ﺪ) ("&dk-" ?\ﺫ) ("&dk." ?\ﺬ) ("&r+-" ?\ﺭ) ("&r+." ?\ﺮ) ("&z+-" ?\ﺯ) ("&z+." ?\ﺰ) ("&s+-" ?\ﺱ) ("&s+." ?\ﺲ) ("&s+," ?\ﺳ) ("&s+;" ?\ﺴ) ("&sn-" ?\ﺵ) ("&sn." ?\ﺶ) ("&sn," ?\ﺷ) ("&sn;" ?\ﺸ) ("&c+-" ?\ﺹ) ("&c+." ?\ﺺ) ("&c+," ?\ﺻ) ("&c+;" ?\ﺼ) ("&dd-" ?\ﺽ) ("&dd." ?\ﺾ) ("&dd," ?\ﺿ) ("ⅆ" ?\ﻀ) ("&tj-" ?\ﻁ) ("&tj." ?\ﻂ) ("&tj," ?\ﻃ) ("&tj;" ?\ﻄ) ("&zH-" ?\ﻅ) ("&zH." ?\ﻆ) ("&zH," ?\ﻇ) ("&zH;" ?\ﻈ) ("&e+-" ?\ﻉ) ("&e+." ?\ﻊ) ("&e+," ?\ﻋ) ("&e+;" ?\ﻌ) ("&i+-" ?\ﻍ) ("&i+." ?\ﻎ) ("&i+," ?\ﻏ) ("&i+;" ?\ﻐ) ("&f+-" ?\ﻑ) ("&f+." ?\ﻒ) ("&f+," ?\ﻓ) ("&f+;" ?\ﻔ) ("&q+-" ?\ﻕ) ("&q+." ?\ﻖ) ("&q+," ?\ﻗ) ("&q+;" ?\ﻘ) ("&k+-" ?\ﻙ) ("&k+." ?\ﻚ) ("&k+," ?\ﻛ) ("&k+;" ?\ﻜ) ("&l+-" ?\ﻝ) ("&l+." ?\ﻞ) ("&l+," ?\ﻟ) ("&l+;" ?\ﻠ) ("&m+-" ?\ﻡ) ("&m+." ?\ﻢ) ("&m+," ?\ﻣ) ("&m+;" ?\ﻤ) ("&n+-" ?\ﻥ) ("&n+." ?\ﻦ) ("&n+," ?\ﻧ) ("&n+;" ?\ﻨ) ("&h+-" ?\ﻩ) ("&h+." ?\ﻪ) ("&h+," ?\ﻫ) ("&h+;" ?\ﻬ) ("&w+-" ?\ﻭ) ("&w+." ?\ﻮ) ("&j+-" ?\ﻯ) ("&j+." ?\ﻰ) ("&y+-" ?\ﻱ) ("&y+." ?\ﻲ) ("&y+," ?\ﻳ) ("&y+;" ?\ﻴ) ("&lM-" ?\ﻵ) ("&lM." ?\ﻶ) ("&lH-" ?\ﻷ) ("&lH." ?\ﻸ) ("&lh-" ?\ﻹ) ("&lh." ?\ﻺ) ("&la-" ?\ﻻ) ("&la." ?\ﻼ) )) (state (init (map))) ;; Local Variables: ;; mode: lisp ;; End: MLYM-OTF.flt000064400000014154147633214350006474 0ustar00;; MLYM-OTF.flt -- Font Layout Table for Malayalam OpenType fonts ;; Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter mlym-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=mlym))) ;;;
  • MLYM-OTF.flt ;;; ;;; For Malayalam OpenType fonts to draw the reformed Malayalam script. ;; AnjaliOldLipi.ttf, Dyuthi3.ttf, Meera_04.ttf, Rachana_04.ttf, suruma2.ttf ;; blwf: 0d32 ;; pstf: 0d2f 0d30 0d35 ;; RaghuMalayalamSans2.ttf ;; blwf: 0d32 ;; pstf: 0d2f 0d30 0d35 0d41 ;; lohit_ml.ttf ;; blwf: 0d32 ;; pstf: 0d2f 0d30 0d31 0d35 0d41 ;; Kalyani121.ttf ;; blwf: N/A ;; pstf: 0d2f 0d30 0d32 0d35 0d41 (category (0x0D00 0x0D7F ?X) ; generic (0x0D02 0x0D03 ?A) ; SIGN ANUSVARA .. VISARGA (0x0D05 0x0D14 ?V) ; LETTER A .. AU (0x0D15 0x0D39 ?C) ; LETTER KA .. HA (0x0D2F ?P) ; LETTER YA (0x0D30 ?R) ; LETTER RA (0x0D32 ?B) ; LETTER LA (0x0D35 ?P) ; LETTER VA (0x0D3E 0x0D44 ?p) ; VOWEL SIGN AA .. VOCALIC RR (0x0D46 0x0D48 ?m) ; VOWEL SIGN E .. AI (0x0D4D ?H) ; SIGN VIRAMA (0x0D57 ?p) ; AU LENGTH MARK (0x0D60 0x0D61 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0D62 0x0D63 ?b) ; VOWEL SIGN VOCALIC L .. LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (pstf ?r) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs ((0x0D4A) 0x0D46 0x0D3E) ((0x0D4B) 0x0D47 0x0D3E) ((0x0D4C) 0x0D46 0x0D57) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Consonant-based syllables ;;1 23 4 ("([CBPR]((J?H|HJ?)[CBPR])*)(H[NJ]?|m?p?A?)" < | (cond (".+HJ$" :otf=mlym=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=mlym=nukt,akhn+) (2 =) 0x200C) (".+" :otf=mlym=nukt,akhn+)) | >) ;; Syllables with an independent vowel ("V(J?H[BPR])?m?p?A?" < | = * | >) ;; Two-part vowel signs ((0x0D46 0x0D3E) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0D4A ]))) ((0x0D47 0x0D3E) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0D4B ]))) ((0x0D46 0x0D57) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0D4C ]))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[HbpA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf and pstf are displayed with a DOTTED CIRCLE in the ;; next stage. ("(J)(H)([BPR])" < | (1 =) (3 =) (2 =) | >) ("." =)) *)) ;; Stage 2 ;; Reorder halant for blwf and pstf (generator (0 (cond ;; Isolated blwf and pstf (" J([BP]H) " (cond ((font-facility 0x25CC) < 0x25CC (1 :otf=mlym=blwf,pstf+) >) (" J([BP]H) " [ (1 :otf=mlym=blwf,pstf+) ]))) ;; Isolated pref (" J(RH) " (cond ((font-facility 0x25CC) < (1 :otf=mlym=pstf+) 0x25CC >) (" J(RH) " [ (1 :otf=mlym=pstf+) ]))) ;; Overt halnt forms (" ([^ ]+)(HN) " | (1 reorder) (2 = =) |) ;; Ordinary syllables (" ([^mbpA ]+)(m?p?A?) " | (1 reorder) (2 = *) |) ("." =)) *) (reorder (cond ;; pref after pstf ("(.|.+([^PJ]|JP))((J?HP)*J?HR)$" (1 reorder-B *) (3 reorder-any *)) ;; pref between blwf and pstf ("(.*[^J])(J?HR(J?HP)+)$" (1 reorder-B *) (2 reorder-any *)) ;; pref before blwf ("(.*[^J])(J?HR(J?HB)+(J?HP)*)$" (1 reorder-B *) (2 reorder-any *)) ;; no pref ("(.|.+([^PJ]|JP|HJ))((J?HP)*)$" (1 reorder-B *) (3 reorder-any *)))) (reorder-B (cond ("J?(H)(B)" (2 =) (1 =)) ("." =))) (reorder-any ("J?(H)(.)" (2 =) (1 =))) ) ;; Stage 3 ;; Language forms and matra reordering (generator (0 (cond ;; Overt halant forms (" ([^ ]+)(HN) " | (1 blwf-pstf) (2 = =) |) ;; Other syllables ;; 1 2 3 (" ([^mpA ]+)(m)?(p?A?) " | (2 =) (1 blwf-pstf) (3 = *) |) ("." =)) *) (blwf-pstf (cond ;;1 23 4 ("(.|.+BH|.+[^H])((PH)*)(RH)$" (4 :otf=mlym=pstf) (1 :otf=mlym=blwf+) (2 :otf=mlym=pstf+)) ;;1 2 3 ("(.*)(RH)((PH)+)$" (2 :otf=mlym=pstf+) (1 :otf=mlym=blwf+) (3 :otf=mlym=pstf+)) ;;1 2 34 5 ("(.*)(RH)((BH)+)((PH)*)$" (2 :otf=mlym=pstf+) (1 :otf=mlym=blwf+) (3 :otf=mlym=blwf+) (5 :otf=mlym=pstf+)) ;;1 2 ("(.|.+BH|.+[^H])((PH)*)$" (1 :otf=mlym=blwf+) (2 :otf=mlym=pstf+)))) ) ;; Stage 4 ;; Final reordering (Move pre-base matra and pref after the last halant) (generator (0 (cond ;; With a pref, one or more intermediate- and a final overt halant forms. ;; 1 2 3 (" (r)([^ ]+HJ?)([^H ]+HN) " | (2 = *) (1 =) (3 = *) |) ;; With a pref and a final overt halant form. Don't move the pref. (" r[^H ]+HN " = *) ;; 1 2 3 (" (m?r?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 5 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 6 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=mlym=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: kn-itrans.mim000064400000016133147633214350007172 0ustar00;; kn-itrans.mim -- Kannada input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 2006, 2007 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H15PRO112 ;; Tiny change by Hari Prasad Nadig, Kannada l10n Team, kannada.l10n@gmail.com ;; http://kannada.sourceforge.net/ 18 Aug 2005. ;; 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 kn itrans) (description "Kannada input method by ITRANS transliteration. For the detail of ITRANS, see the page: There are few changes from the ITRANS by Hari Prasad Nadig, Kannada l10n Team, kannada.l10n@gmail.com on 18 Aug 2005. Key summary : 1) \"praa\" = pa + halant + raa \"ಪ್ರಾ\" = ಪ + ್ + ರ + ಾ p + r + A 2) \"ska\" = sa+halant+ka \"ಸ್ಕ\" = ಸ + ್ + ಕ s + k + a 3) \"ththhaa\" = th + halanth + thhaa \" ತ್ಥಾ\" = ತ + ್ +ಥ + ಾ t + th + A 4) \"shhtya\" : shh + halat + T + halant + ya \"ಷ್ಟ್ಯ\" = ಷ +್ + ಟ + ್ + ಯ S + h + T + ya 5) \"dgaa\" : d + halant + gaa \"ದ್ಗಾ\" : ದ + ್ + ಗ +ಾ d + g + aa 6) \"ksha\" : k + halant + sha \"ಕ್ಷ\" : ಕ + ್ + ಷ k + Sh + a [OR] x 7) \"thra\": th + halant + r + a \"ತ್ರ\" : ತ + ್ +ರ t + r + a 8) \"jna\" : j + halant + na \"ಜ್ಞ\" : ಜ + ್ + ಞ G + Y + a Key summary: Shankar Prasad ") (title "ಕ") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("E") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "ಕ್") ("kh" "ಖ್") ("g" "ಗ್") ("gh" "ಘ್") ("~N" "ಙ್") ("N^" "ಙ್") ("ch" "ಚ್") ("Ch" "ಛ್") ("chh" "ಛ್") ("j" "ಜ್") ("jh" "ಝ್") ("~n" "ಞ್") ("JN" "ಞ್") ("T" "ಟ್") ("Th" "ಠ್") ("D" "ಡ್") ("Dh" "ಢ್") ("N" "ಣ್") ("t" "ತ್") ("th" "ಥ್") ("d" "ದ್") ("dh" "ಧ್") ("n" "ನ್") ("p" "ಪ್") ("ph" "ಫ್") ("b" "ಬ್") ("bh" "ಭ್") ("m" "ಮ್") ("y" "ಯ್") ("r" "ರ್") ("rh" "ಱ್") ; not in ITRANS Kannada table ("l" "ಲ್") ("L" "ಳ್") ("ld" "ಳ್") ; not in ITRANS Kannada table ("v" "ವ್") ("w" "ವ್") ; not in ITRANS Kannada table ("sh" "ಶ್") ("Sh" "ಷ್") ("shh" "ಷ್") ("s" "ಸ್") ("h" "ಹ್") ("f" "ೞ್") ; not in ITRANS Kannada table ("GY" "ಜ್ಞ್") ("j~n" "ಜ್ಞ್") ("dny" "ಜ್ಞ್") ; not in ITRANS Kannada table ("x" "ಕ್ಷ್") ;;("ksh" "ಕ್ಷ್") ; (conflict) commented, to support the ks consonant cluster. For the expected ITRANS "ksh" use x or kSh ) (independent ("a" "ಅ") ("aa" "ಆ") ("A" "ಆ") ("i" "ಇ") ("ii" "ಈ") ("I" "ಈ") ("u" "ಉ") ("uu" "ಊ") ("U" "ಊ") ("RRi" "ಋ") ("R^i" "ಋ") ("Ru" "ಋ") ; not in ITRANS Kannada table ;;("LLi" "ಌ") ; (conflict) commented, to support the LL consonant cluster ("L^i" "ಌ") ;;("Lru" "ಌ") ; not in ITRANS Kannada table ; (objection) LRu is more appropriate ("LRu" "ಌ") ; not in ITRANS Kannada table ; (correction) Replaces "Lru" ("e" "ಎ") ("E" "ಏ") ("ee" "ಏ") ; not in ITRANS Kannada table ("ai" "ಐ") ("o" "ಒ") ("O" "ಓ") ("oo" "ಓ") ; not in ITRANS Kannada table ("au" "ಔ") ("RRI" "ೠ") ("R^I" "ೠ") ("RU" "ೠ") ; not in ITRANS Kannada table ;;("LLI" "ೡ") ; (conflict) commented, to support the LL consonant cluster ("L^I" "ೡ") ("LRU" "ೡ") ; not in ITRANS Kannada table (".n" "ಂ") ("M" "ಂ") ; not in ITRANS Kannada table ("H" "ಃ") (".h" "್") ; not in ITRANS Kannada table (".a" "ಽ") ("0" "೦") ("1" "೧") ("2" "೨") ("3" "೩") ("4" "೪") ("5" "೫") ("6" "೬") ("7" "೭") ("8" "೮") ("9" "೯") ("#" "್ರ") ; not in ITRANS Kannada table ("$" "ರ್") ; not in ITRANS Kannada table ((KP_1) "೧") ((KP_2) "೨") ((KP_3) "೩") ((KP_4) "೪") ((KP_5) "೫") ((KP_6) "೬") ((KP_7) "೭") ((KP_8) "೮") ((KP_9) "೯") ((KP_0) "೦") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ; not in ITRANS Kannada table ((C-@) "‍")) ; not in ITRANS Kannada table (dependent ("a" (delete @-) "") ("aa" (delete @-) "ಾ") ("A" (delete @-) "ಾ") ("i" (delete @-) "ಿ") ("ii" (delete @-) "ೀ") ("I" (delete @-) "ೀ") ("u" (delete @-) "ು") ("uu" (delete @-) "ೂ") ("U" (delete @-) "ೂ") ("RRi" (delete @-) "ೃ") ("R^i" (delete @-) "ೃ") ("Ru" (delete @-) "ೃ") ; not in ITRANS kannada table ; (consistency) added to sync with the independent "Ru" ("RRI" (delete @-) "ೄ") ("R^I" (delete @-) "ೄ") ("RU" (delete @-) "ೄ") ; not in ITRANS kannada table ; (consistency) adde to sync with the independent "RU" ;;("LLi" (delete @-) "ೄ") ; not in ITRANS Kannada table ; (conflict) commented, to support the LL consonant cluster ("L^i" (delete @-) "ೄ") ; not in ITRANS Kannada table ; (conflict) commented, to support the LL consonant cluster ("e" (delete @-) "ೆ") ("E" (delete @-) "ೇ") ("ee" (delete @-) "ೇ") ; not in ITRANS Kannada table ("ai" (delete @-) "ೈ") ("o" (delete @-) "ೊ") ("O" (delete @-) "ೋ") ("oo" (delete @-) "ೋ") ; not in ITRANS Kannada table ("au" (delete @-) "ೌ") ;;("LLI" (delete @-) "") ; not in ITRANS Kannada table ; (conflict) commented, to support the LL consonant cluster ("L^I" (delete @-) "") ; not in ITRANS Kannada table ) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: icons/th-kesmanee.png000064400000002225147633214350010577 0ustar00PNG  IHDR00WbKGD pHYs  tIME 3';tEXtCommentCreated with The GIMPd%nIDATh]hUw2Mv IVүB?bQ!R}U(AQo"}-AAR*-ZZ}&!R6ffׇ w7lX3wgΌj=@;pΕNeZL^R+`¸q/p FO%\[H+?({/r|82>/<\r$xwUbrxxӕpS: #%ȧlߑ%7j::P`+p3D6,^B;Sn+3o<2?_rQ @eDZ.uD臁+˞*oz:7eus007Sك:3Ps -qݾ$Dk-=[Wsbvm0/q]jznըB~vu8ʻZ)o*Pff{W:I_D;?SXH\e[瑼+7W@%!RW2~J'b(A]yKCvT3;gw.qO 0wH}JgPP(lhM%@['{u}Soۀ/?PP:{{gW.4) wiSŦlގR*k^v7|@L\wsS1m%39> z<}W `oxT` ws/zO) ިZ =0?4@mw4Uqɹ7M0/44/1t/]go%֖W+G1S`|ZbΗRSY ryve޵X|QXqRT.wuW~( ʏ^tDxS Yε*h*Pf酖FX5 o?7'IENDB`icons/th-tis820.png000064400000002516147633214350010043 0ustar00PNG  IHDR00W pHYs  tIME  ]tEXtCommentCreated with The GIMPd%nIDAThklEw{}>hAĔW BRH|c)@B6Ā&6`D#CL !`FBMTېX޶ÞBKF&3;33ԃ:X #rY@?pezIGp!p~`4uk̸V!hRh =PQnNGӎ+Cz[Sʀ}qJ0xi@'gٯ^ѴD&OHn$aY 7D©B{3%R<@Ob!ǨVJL9?ZG !>8oz&D@xXVp9A %>($ ߂( XBMᆓ%H 2U@p2i`YVLbJచv> y,jh `Tϸ x|~ikiʁTL;wpSWٱ]F`έĺ:7O߅"-M/Ԥ#n$&0E zt[\qLbez,DZ#p'ygҠ[~8O8ǟݔӒ2I|lwym +R (@o\bx&zz-ўqg[}:z^1A)LfmwIY)`M8*f~#)0Cy J^.XR `v#KDލl2^¾xOOhžƍk"JvX(х\% x6lwAH`qAwq(Yb~r`DbihATl(Hk4}v{skn$y9?3gsցB9ze:dG ]kfWN= `k9 (7tm0_ dښ ]m8C(u(zQ3;6|)?3]uG@^Y,^6tmZOmΪ]Lnwdn|kQ7h ά_Ѱlе~K~4kv".е/][3S3/H8S-KӀsOʀ=,S[ g4KV`CKTj׉߿ZzrGdDwRfDD~P# |#m'F*yWq:[zy}&@q#,wr?2{g_;pr%||M0H;e=:zk%Srogx!GsELQ 5%|jࢡk%HlV򦹀Ei @{IY$ ysS,A0ŅM _8XIaI82D@ p2i 1M3(1pDM> flkjZ>0s,'fˁ8}398?XN qb'iwlkpX< y4X_TIIa @K$ n4nZIQ-H>7[;:#QM1M%2 9" s/'@w]J[P,I]'PpO$xTeX:ft~Od*m +6VX #B,K.+mU6)wE \|pJRX.`MYdꁻ$m Nj~?6\Wۦ _3DpWlP_Bnd]qڰns`?)ZT׀!& 2i셓O69~/)> Or!'7cM}z(ڥȮ'9@0`ڢTR;)*eIt+'Kts$ҙ|k:*|U Q^8m~}Mq)5G[$D2+qYVNbDŽ/|9 #IDݑQxx&&v0pB/CSW^pqmG1"/-,j ʾkboM5}V+PW`G }M+1fw?RP2uAs/[:˨5T9Dz ׶p]Ր֟g=h0Za\V#zpݷRʣVTyƘJ~8KF=ePV[dy'.@{c$=|`EpG#0'cofqOL`gF i{\ {Yli8)R6m u)R 0Kz■F Gߧk&#>:Q7 lHcDtmi#.4+9=J^}\O"{iY\tܗܣ 8|a=^xJ_J` pڷ$kC݆PBýRjЯ{S{-{B*i@0TDמdicIeP=PSoiJۈ4(f[M@-4Nc^3EI 7H sҹHɤ8|e4sWSh@^&d&V*~I=g#Kzers# CH}`\@F?eIENDB`icons/unicode.png000064400000003433147633214350010026 0ustar00PNG  IHDR00WbKGD pHYs  tIME   {tEXtCommentCreated with The GIMPd%nIDAThylUU?^ZD tRQF::8c5qK9pA`0ZE@q̯K8/- ؆h_#8Au^8Z L51_2kp@xɋׯ0{VUO-@ɏoXb7{FE_L3 3Bbm#1'5UW##F4ҹhγfchv[S}W י"Abo__2kޜ ܃c23`E: /]]E&086KɸxơZ[~&י@)}=VKC gޱ%`=i%*3L2j E)Bk2N&H'23mf۱4\3c[Tʽ;])T d;f|^Upr&P`5u 1`sUMnx jvnEE "TUŗqo %9X7oىFN%T%' ZQ_ÿ ,) eւEH7+ y?cv`=ϋm;v0^f>V-hQ 3f" b$q*!0PsH_qpat[^U_v[!;EAxAflp@~3 9(X0tXX~$I Q$uE?l(N{IENDB`icons/ka-kbd.png000064400000002771147633214350007535 0ustar00PNG  IHDR00WbKGD pHYs  tIME "'0tEXtCommentCreated with The GIMPd%n]IDAThklU3;h mA QP@Q|6$ F@"ƀ1 )*!ւPia }Nwf%l)5d{ss ܒ)ԤvoKx(>se'ˀ5 6{]پ` xÀ$`%.Ety/jm l@,0OolXGho)DrG'P+v|yc${i8@??ydlmJf*`y5Dڄz=B98&ښgw8{>kN v(ߗ-Q4]6еMF'^-)T2>T`gWǵ<QW?y&Iz۷=] juOO;62]fY0@-:0Z:ٔE20"qAp`4z(OEp`\~ NvWϼ63C=E *$+PL8Q~SS WnC!L]JeLbuekZFćX{]'} :ԧu@KtX#{*p "/awL%asNtYBՂKL/….!`o7B->6ja˚6C=brKu)jXʾ1]i.оoMnnXVt8]n:$5@ g<* kޮrcP?4;*Te9:&)pb,3$ :̪\}EIn44vץdfCs u: ǖig #@FwNF{+ߋUWhg@  Zɖ"v4<6,q (IiXSgb\0GIBdGG// `8nlnt`4{V[2WFW8uO;ׇ*a8#N#V╛qhug['KQtiܖqO IREȞxն[":vmnԟhhL^ Y,Zn8%[Ez%^Wvd`ぬ@`jזUoÐue3GZ ܒHw=6E_FwkG 滋FG7/W 9 E?"2/"nw &7/1M4`BP ()<͇IENDB`icons/as-itrans.png000064400000003116147633214350010277 0ustar00PNG  IHDR00WbKGDC pHYs  tIME  ,UtEXtCommentCreated with The GIMPd%nIDAThklTEsJW) b,BEAFL1ATJ74Jqi$iD "A #OSJiAPn޻we$̙=ϙݷ*(fuT`%`a7Y)zf~ܽy(-Ѯ{p ?l!%"+UjH_7y~]Z4'k6с"Cs= xz} fa[2%$ @ty=q''rHO> #IDݑQxx&&v0pB/CSW^pqmG1"/-,j ʾkboM5}V+PW`G }M+1fw?RP2uAs/[:˨5T9Dz ׶p]Ր֟g=h0Za\V#zpݷRʣVTyƘJ~8KF=ePV[dy'.@{c$=|`EpG#0'cofqOL`gF i{\ {Yli8)R6m u)R 0Kz■F Gߧk&#>:Q7 lHcDtmi#.4+9=J^}\O"{iY\tܗܣ 8|a=^xJ_J` pڷ$kC݆PBýRjЯ{S{-{B*ih\ 6jȺEu6_8%OXjC؝ Yma)vc62G.(#Ez|ן;sd^tBN_䙮Yu18lefmS,dݢU_Ob~=XVbrX4qdmFrڒeBcF_xڵQeGsrVA8 Ǯpt>&^+>w1`A'3 j LIͶ]-іZ k3*vsxӤ\8;FPfڪY> <bߜ90+vJUz(_Q6r5 sj8҅%KE695_h/ˤUy,Dg{K(_:jϪR;Q3MRwzw!X Ҏ v\}(HsIENDB`icons/si-samanala.png000064400000004757147633214350010600 0ustar00PNG  IHDR00WsRGBbKGD pHYs  tIME.LItEXtCommentCreated with The GIMPd%n FIDATh{pT?޽l `W Shvt|eu"8@NQ!D(" 1 ll^{d&Ls{ C#< (4@u_b|@WP m38Q8(Bx9 0/'#td4'w W@k + H FPE),}o"ѤsV1̣qzdi`[Rx2p0J\c&M,BxP͵%r~U해ppϚ.] z$m ^O. `6Ua(CGNN|B4lsnҰOi]GA:j"\ 3GVEji}F}`;IA(Jj?F*fAmwU7ɼbޏe5D ɗ.*U0ۥDڐ Dz G%`}-n8/G|鶌YX`TO C*Ⱥy1w.@=_a=}odQ؂zݾuˑp*YoS_7k drDX>N,cRu{pi/nq^T~0mTU~aUD]^ +zJxV?$i-NSYāl`dw_v_`0@s_&Oi Pd\4 '&%Y<˓V]-MI3tdF趍{*1;F( Ģ,6k#5oTJN 0L"-: }1Cp][ʁ]qwъ-2܊3%sMx'͚KZކR(wvrD:n볜ƆGe{vKB"kUg9uÂdR@_Qr]{Wb[g6mܔz~,qkbf%@4t88pjzAWKc)K)e2SF>d/Z:M8cuQև%@[BTnO҂ LoBͱˮwlT1Xj 'e舓O*+[Cz"PS.02MX@]S?46()oN^D^yv+?ٶ bgW̜2J7 xƆUstTҶ"zŖ \Ue>`v"iB:n{6-sOAtUP cCyDmL@tMRj*|@L}۰OĨ|ښ$QFtGVMUo5<P6}>5ڦ@j,^h4ܳ 9%k@$)_}>4JM2`L!vcBL@Y=Kt4J?Р5 EA=//<@1RNށ›`k ~0Cxi`ۖ2\8*(^X}|`P Ϝ1Ī9Lt Nk(ұ?E:@@،loMM`:=s{[O?|_ zk\1 7R=yٝMNkPbq?`Gd*i^0F(ʟ >-B؍w̚Hd:OR!eHel HiYfjyiƌ{ҹu$z(mҾSA=64h}Ə{hW}7 <3 LZ`ŲzZlN&PrV֞UxjƆ;%WbO,k~_wvǀ/bQ)_DY{l)۵ƩCG"-}{gO f PG6N#X> +8'k-o,v؝iQwc'!S dLgy~I[dJEkvzӟ(÷W)>тUBF~]~T%>kYHeCI}U'-(y{3;m@_LGC D//_s"KkBIENDB`icons/or-itrans.png000064400000003131147633214350010311 0ustar00PNG  IHDR00WbKGDC pHYs  tIME (XtEXtCommentCreated with The GIMPd%nIDATh{lTEsJ ]e+DbE1&ŷFD\P*RAbEPT^J K۽w٦6-,rVI63g^|3|ʹ$`"0 dQ vσ?%0» ԂZ5?yVtRUIӷ[b_N[gfO~chMKA// xׁjsN)M {|a# #펠oH: j`P,ZL JbvxhƔo:N6,a7hmYj5NCx\omF#/߁&8loKNbCǩ_&Vai* =a`b<\e t} z,=ZU`yU` fęJ$vc-Lv Q{)Wa&狝Ȯ}ڨGh^{l&N8@k.}RXZ_@7h^^v (s-S10Ml,nf|xz&)w@0f  2$8 :dǓntIȋ8cȘnkZxDI.oA_l`!P@9rW1g<R?-A=H]:)P,Vдk1|@g LocB!!UJ"kb o lpF>vG컮R`U2g,vktu@(؊bwpy;\Kx@g93r8 vu7̴#0 t@) k?/F"δaq1SlBR[n dJ4o+j Lx7 ޴0=DѲxDÍ:cDƲomq%`>l/ 72.}gJyG6 fTVB$RO@fޗ7:t[Abɶߊ#% @P(}ҝyqW 5P)i }CүsNjcBVԿWP']Bp4@xڤ=iW%ܧwSL10֖,Fh`/ @Y*x!"ʟM R)F0h/u"F G-񡖲[IENDB`icons/kn-itrans.png000064400000002321147633214350010301 0ustar00PNG  IHDR00WbKGDC pHYs  tIME &!tEXtCommentCreated with The GIMPd%n5IDAThhUe?ܳ*nPd3&L%3CZMB0C 0THdGlXٌ+7ښn_:wkg>ysRse@wvmpsѺ/ HYHwV!z={s<z:l50SV/XnD&)9wsCTVQ>z_@]hIwZVQY? #2>:zԿ ^ RQ#xn  @V%Z4ĀRt} c,dL=lPpIpI=QsMaTYDZ xB@9 OO,,agR+-r`\9Kk? `.crB@VbTJp#1/jYVu.3mhr!ˍ`Zo VpL(z0ɨmLFaGɣ_y]-K:@7gϠk" `/ry g'gk%9E֜dp &@LbYKtL;X 3X5L'{N+Xk&DߒƏ'N@p>\SIK QH</bcjIENDB`icons/ta-itrans.png000064400000002373147633214350010304 0ustar00PNG  IHDR00WbKGDC pHYs  tIME "X*/tEXtCommentCreated with The GIMPd%n_IDATh]lU3ݺvm6*B" @>H5^H&B O6 D @L@[mE,-t?:;ۥսmV${w{>J}G|1 z0oXhb5X?CcO8[LaȖ@J|-[bƼ̉l`5`wkUkC92#nYrE5RML>{zo_4&% :)mp*Цco=WZkWaA**Fr8A@y Z_7赸Xvޱeb[fXK@`nvOP{NaS fp6s)3z @>GpcTqO@%p'zu9 I%n:tr^̭DbLȠKԄk#&`v>CtZGL^ߍPR.yl,dLcLNscs2N*E1! IYf|ș?l,3SIENDB`icons/gu-itrans.png000064400000003076147633214350010314 0ustar00PNG  IHDR00WbKGDC pHYs  tIME dtEXtCommentCreated with The GIMPd%nIDAThklU3nXBL EFy4Qи/C&1J"JD1B h(,l-,}\?.c2VI&;3w=]4ĥyR@-~=3׀ -p\3~ݙ);6 'E}P)V; <)jO0>Dnt뀂 <7 r 8:K@cQ-D0(+#`&Ys.ZT;DxxШ"6>/zc8_eRt ̱%+S X`t=T {2nda >/JpJ&n׎l=;zDa_s{M/d.ܾy:{ް. {kK*wW5LUbb9KOmM¢7`F%5~ͽZVq#g^/^`8D(x_1 yO\~bH5<4K.S)vUq(  zCD}-X)@3*}EoG= D*]Iڑ&革t0~>u֒r*סfz+ˉk@bh|q@إydv=C[D}ޡ Ws{'j p@6nh\3"|IJ5mkORKrU9Z3ʛF(xD{ѯ#ܑt!ƌ+̮|־hiз;*p?өo@cTݾhiu(Yμa4|lx288\ 2O:}ׯMcdnK<.cqiunLR.{]:NeUnv\<ہ_%A$"ۋk Ld!3=4ߤŀ_B}dSsb$ 5P+SIENDB`icons/cmc-kbd.png000064400000002536147633214350007703 0ustar00PNG  IHDR00WbKGD pHYs  tIME utEXtCommentCreated with The GIMPd%nIDATh{hW?_6mlL|솵:N`2 lH`ncC0@sZ[A76;m@Tv97κ6M%B%ͳ@s|9K F:`dӳρMȲL&HJ d{k[zG+ۨn %Kte ۨ_fy))QQ۽oF5G~2@k.ͦoTfk^_o&K͑_{V8ezzw,WM`hizEU{rhBB~&نE+,6 {4{͒]fhѾZ}|tϬ0άM 9+47B /楎@sKOa"쵋1O2v}A3N w B"=6wnhjȵ.qjF pgPt6%eHCskxT4Vp2ȑ/I`((D[ശ~܉9[jBܓ?mQHثj)c2MWYVz޼b@IJ27 2ϬDL-[c]JH'ph~ Joek1ˉCN\_ T۾\t˼=ۼWLOIX:p xAII:Rd #ΙǬz(=ۨ/Z[1c-Dwǁ呞<;3&|2-g#7W1@A6D_{,r%H[#1Fvm2 jXn1oDu <tѪ<7+)#IUvM'mN`}.H(~4D}@uCZC@k u U@ 1]-C;70lcg5'yveMX%*8 94}HLC1UTuG_^5 rr|M_ߎ\Yhْ`3sɧ"y=2b) W ӣW.n#]ach lqX~AS>Q}@51!Z-Yw;3Ez@>rI=y%Xn_i34,pElPcCfs4 { +N71l}XԬTVp5f3V!42`6'\ƿ2wP]1Q 1meV(e?sVEOsdj8g$v')-d@J7l,|K"y[tu5x +ZMTTj4n%J.AI2>gϳW],jO2m]-vxxЌ;ϒ&|mkD[1o&iMݟz cWd%;_F}?znY15ʅJkU ]'߿m7(f"a' ŕw}eػ:˷9` C%8&]E jw<iL}a(O-TE@~mV`K /lHƻ}o8#)q89OK{ެʟ=~8]yŖoUOiXuqң포b2+;jiV"#){|M^jxT^3QR$E}r-zwE&OJ@׏Fʐ]a=W-8ZiGϢ~o's v1qgT<%lkm{̞N&]nIj~!Duk5쎾,`&H cp.˹&v:Fyy#hmRM*U8p Q{)եxyg:9`S*+X35lW9;\+dyFIg"z6iZ\Y2E ZfK/mx> H.0 %"iKJ`742Wm\X$)zW&l6SVig"ŠukKCW]q9>Xc |m='&e)X1׵M> Y% < psC@5hE+Z7&a BE2;\w\*yKX^N (KyE!@ & %HH`{IENDB`icons/sv-post.png000064400000003735147633214350010020 0ustar00PNG  IHDR00WbKGD pHYs  tIME +tEXtCommentCreated with The GIMPd%nAIDAThmpTgϽwwIML" E- H-2ƱԪkՑNN:;:tXuFTH`bCCLBxMCh,l@b6{!wMطlf|y?^qqo-( Lg%_<@ Ș=3c}- 1<~Np\i(Ny `-Qxil l[ UuU >d(pJ[?15=.B loE!,oׁ\~{)z G1gpli&|h񳀿G7T8 #Qq@V6~oI)@#O@+V:jk`%A۳9[*7.*QTp9,i Rb4+}ݝ_ټm:y@qbIjyWKV:Y)w&aI@i^[ C7(`p4"vBڷ+Nנ+0zi3~7Qf Yt#|0%('[]uU{KBDq.d"° lSP;eLsn{K `5@y:j8\x}wdoWuȡ,doAxY%԰Kn5 2'K7V8ɷn#V{+p3"P*,B}p>9; g{eGݏ_{ ]ppK dosy-s1,@uB'+*ӹNFKgf7{JKߍW]~_BQ|~RGZ^~h(eRBEps,?'k\"IRu EYaƛTJi(GҌ{C 5a]K:%@4͇C ռX41wQ:eP5CXvw_h<R6ذ h xj,7ѣj(w1< Ё@v ;uKh{ C3UQL%1Y}T|EdQ#u@Gwc@spEI^jwI3P5$9tx`1.ŇZV`P 0ɎggSJNn{?G mi`@MGV m)Zz} }〈zBXO_܋aϵ#G<-0 yr/kL︍ikU־?`Q`h&Z*]i|lΊn@q\y|.uDGwIk*Bx$f[4g"[2,yY-=PPwJjQ[aC@\N=twP)&RMw?wt\`<ek};7 W]8SÒ'LUWJj>x ^ﶕϝZaΑ7=`韤^҄TWU;!^3bsWl4z_F?[P?Z]BOÿ l n=YUTGYf0K# O[A!?U s mQ/K5ݽ ]>d'dGIvu35-' BΦGN^#{]f/_h3Y:0 P3zY`¡eJYU 3Ǜ es>Q{HmS[ ·k+KOJo})e#"a5[vJSOYTܒء+M IXK9`WEȆ:{>n8/6|tMw;4=mWˢBu`f 4-qL~uy/9bNqm}7&UK߸Fٍm]{!{wspd Y W*M uDq5 һ=%T~|͛9Q{'fQ&b?2.GIy6ddrBz&lHo54EӔH&qkb7ЫŚ.kjQs c}Fj[AE`3Џ?6^vٞ5eіvQcd|[QZ#pH1ryVhz9 لZA|\D)-?ppZ`:.{.@* I>agf{\ȓLy""X*_zI NF`4cR{&ɊR}\+*7 DJj]R5zW"1Wo+9(5J$1zMU8fӅa`7եF9 Pxm|[gޢJO\Y>p躢5Ggط]z52r 捀A`Xg?iݖ i4rP!?h%ZL ~X{ayċ.9<V `[EMgU;o2, X8b)!o0ѱABmeKhpJ끥"H!@RW Y3Ѝ3߿[a%9kݺو*Wd;W~T38$GDR@^2X˼Ό̈tZ=tVxrh a9؝vVˆx\"X?-e(l&np~%!$2I7*6|gsFN,D- Z6i L.1%o7IENDB`icons/hy-kbd.png000064400000001651147633214350007556 0ustar00PNG  IHDR00WbKGD pHYs  tIME !&ӲtEXtCommentCreated with The GIMPd%n IDAThKTA?3\VfPfu ݡ C<PBСKNB$Tzo}ӡ]ݖlxw|VxL ~ChϦJ{=ЕPo聮|h S57;! S2-c$$PEg?7: ȕxx`-rI]sEYY`MqYYh[+|5l]}u /)mEv 50Ќ z`J%篠59ٿ\O.lAU @$)6&[-4w>zԻ%P.G Ÿ́' ZR%R6JM )KS9zqØn= Qo|d$%RHYNyÛ{:)7nF˻iπҼ =0 ۭ5k|tF_;C>N:Qlۻ@_ms2!ZYK/IU.vYRS.4L5":9}2vx/cKRy48,͞Q 1U!SlKl=Ci"Tk -~Ns+ K-!Dt*KT&2Nodʁ?e RF+KYNi#.μȅ,J ӊʃ:e. mOr!T^`p 8Zg!Gg( "7B96IENDB`icons/ru-kbd.png000064400000001654147633214350007567 0ustar00PNG  IHDR00WbKGD pHYs  tIME   SytEXtCommentCreated with The GIMPd%nIDAThKhAI* /jATē @շ(UjZVAh}lHA*VX"mڴywº$MM |Ys״*}  O&F-Ӏ:+|> k +>&6 "ᔝ:( ^b+|Ba/nG>E)'xN:IEE,NW^Qu'"0bQ/$ʊҍ)^^UD6(نgY!04y (\wzK{ B )%TGc HZ1Sh~p54@%z|9 ?IVND$Xi)7i/JZw6KS춝\I nQ+`>`1]1dpWnqPW,^Ϋ[dF `UQJH2::781% rF 6`YD#Pg)B#&C"xov`DI1g8";4d6j.Agu-_hvx2ӓe& bM }YYSѴ4t'3 2i; 0ȸ7OS9-Ukhj =I 15 rPVo"fOVH3ea\t*L' BE-HC dG;_3m\RIENDB`icons/vi-vni.png000064400000002561147633214350007611 0ustar00PNG  IHDR00WbKGD pHYs  tIME  /=j!tEXtCommentCreated with The GIMPd%nIDATh[le3ҺC"mA ÃbL%!`H  q$㓼(!&dƈTL VEJR{JKwg|`h]H 'w~FatP3@ #f>@uRsl gU%y )Z8(n-(Y拀Dq徲þ"oo4i^Y1Fh ]DWktc$*Ո5_gz/,oFTlscu,h9JaѺ%uQǚZ(JDTԭ"@96IpzxHDJ82'VHnL&g;HlRT!&bmCvF^ fx,=֫zO@ӍiN'RR]$;"uq(3G?D?|TI4 vxhme^s Vo;mg쫸88( |H=(%XyGdwx"q6Dؗ!&/.N}(Mc LM^aNjyhWzb*)Y4E/eBJf3KѡS]ۀA}^:J| F/.kj ug$);8Wɪ'&VfT3ooM(%J"C;[~;"'FӍA(޺a"&BJ. O8!# ۝J{y_>eB&|$uq62'+)|PS W= ]% qk|4IENDB`icons/bopo-kbd.png000064400000002417147633214350010076 0ustar00PNG  IHDR00WbKGD pHYs  tIME  !i:tEXtCommentCreated with The GIMPd%nsIDAThklU3[ht ) DC`GG J$& &+UTM%bX*6+MR}ȶ]vvvfVG$7ٹ?{%[ | (I3g1[f1p(wz4H,8ߧ8 dg‰aeu;&SM+ gwǪQ|P l|h (8dP>bˀ  M( dd+IV@pz'CtXVN`Pd;-/i-a]"廛lVO?~<W<9[Ԇ.Ƃa304G8.Ǒ˔ 5_{/ m9rV KN|a!s?wws@_9܏]P^k,x~îUEVb|zoB)/Vޑej/EZO>hYP@kt+ !4I3ͨuU}y@xN,ߤzw@Fpt8Kg~gFyf_]cGjXk/0C#Ad߬Y` )kb+mT r1 o?@`ѧ jFxX 6Tvi|#e )7N֌`q{H{R}"íxsuC}@:) cPjO vfݙ`Fni~n<B,S0{>1p+^tܴb%B Đ$˓7cha`zŖE%W Ita_=(ds ~#-| Pn7sSK -<4yhg`}ܒJ΂Baar XfSD{/hE'fNĸֈYǙ$yN\gMGNKБrVIHvz16j<`۽P()thKp4' H^(JNWEkh,IENDB`icons/he-kbd.png000064400000001005147633214350007523 0ustar00PNG  IHDR00WbKGD pHYs  tIME  5w-tEXtCommentCreated with The GIMPd%niIDAThY 0-Q:#L<Z.D #EJcO _J)D)N C(=/iB  DPIB x0׃Qf]ȋJm8 7^4ש3GT4(낵fr U9Zk00Jn[B&`YE@Cx#o| Ŕ3 :ЎوX)IENDB`icons/bo-wylie.png000064400000002330147633214350010122 0ustar00PNG  IHDR00WbKGD pHYs  tIME ǧtEXtCommentCreated with The GIMPd%nllMvwvn7I&;l¼܏3w{gͯwu^R_T.;OȾ[ϻ @6TQlyh^h!L3)gOQyk{1 XԆ&*mbncу/4>7V? RbN' [IU@ $Kym6 d"^Թע lRFgz̉юlhHU5j +YZjKϸN+bԑ}e#һSf 54mg]5]j _zZ 9,R+!{-wqߞ3S 6o_&9~A`OV?~0v*8ExY ov:K~z ଭ2Oh>+vq`cO#{ɜ򯻯(e`%vL?vu7(@V/0T\1TzP@#z! }4[ilK<P' :pjM[8!! (Oː2F=I# q,L@cz/F6E ]5Z*7`CfqװP+Lk6Jn*r`"<;',3_q p_>3icw8*+oK)mVޑȺ_ ʢ4|ʫ@WǛ, @>P;sW f>kɳ#363ַ@{0Wĸ.oM2 ݽ.xoµ95P+ߪX:v !mG~y{fnL]( zhU?ˏS. a|*bW3z^u;;sנځVa֭7şog/t((QUS91xx ȑFnP ]66vo H4ˮlc[:I>V4 MU`Wr ê:ڸzaWB-^B,/3T9ꄩ;ZpkE˒MM48<gꀭbb* tRXGY`mh)]6Bz 0Tz99Vrīy֦j|jmuMySEV*OnpLFT\="wE/Q̣D-B҇9Fd;ǵ+(9%ёM?^b{6.RI ҆zTJ_h' hҲ=Y_n>ZؼXKD[%F$5XJ 3;Oz/IENDB`icons/hi-typewriter.png000064400000003265147633214350011217 0ustar00PNG  IHDR00WbKGD pHYs  tIME  %tEXtCommentCreated with The GIMPd%nIDAThilTUofN;P&,,(Jؔ%1H $(jBD "Ѡf$PD  R2ն[ LyzvJp{y{{9Pe:bZN׉{63=vƽҾGD73j~KҚ}`XY`/}.nIL В1CaxYHr"`Z!Pr8S dEF9BXݑz?%ӕ<J΄ڝx`&|:}1`wvO]Zpdw;wD9P?{^u!ӵ8N#g2gL2zZNV#%EJ-XٟT z ^.q 8$k`P4pvf W%HzaQҦl%,v,ߛ3  ol̷ @@uJx ߓoew;w3 Fͧ~(j$&q)O_ɚuwYjJ刱i ٝ~ݚrU9|ϣ~{^|ZKHu5UE꾛VRtдB`w[ gh=wQS3rLiA9RU.גłӁ#MGeR~0q'7NT5Ej ^,% 84Q=_R=79q_cևu癆 _e6?4};~>I=`j ELGY;b|"O^X)5kZ\Rʽ!8Ԝ{hRUzkIM,EAF 0Yˁiӝ=KhIր<>j s?HϾ<7wէa4O 3  vF`Aا0P}Q)06 FZ JvuQ0(75njonP!q],]jIBQNtI H%t& uc@V&E*q )e# B @,RšW$?0nQ,\(at]n2'ZgQH h8'CBF!-D<-]m?kwt.U fqՉ~$Ӥ߫Ū"+2,j4C??y=00ȣ?+IENDB`icons/vi-telex.png000064400000002633147633214350010136 0ustar00PNG  IHDR00WbKGD pHYs  tIME  7T UtEXtCommentCreated with The GIMPd%nIDATh[lU3۲uK`Jo!"ŘJBd@1O򢆐#*DDL@jQZ(KitwveZe/9gΞ.F4= Exp€ P<`W6:;C|էrժy.~ EQuJK@V(Y@ WW@d \(A#[6@ӏҷif݀i]$FzqMZ=~ ";TK`1+PK_ I4;Qۤ x֯B7@0z`z_ҌdmEmJk"`dRSq{~̓G|V8řeZ} 0ۮx@9Xez?Z@Ӄ^E`P5B'lsF+wY D b_܅Ҍ0z@JqϘMe.Op-3~1v@]pAeJ;χm$׽yDDEk+'0j-Dڃ 'F n~W~LNڄϳC6X6‰57lN˳zFT%=рf[n.Y NOU*+p3@Y-"#!/CFK's M?ooT1y(Bw*+I.X5%aܟ9mDy7k+Dd kRj ТWuW穙75m&JI)$p?6fHuOhNX'Ҷp%=SN>dDXe{GQ۱,T8:Xcϱ26;DD 'Ҁ:v_ԯ8(06iT fLIENDB`icons/syrc-phonetic.png000064400000002203147633214350011161 0ustar00PNG  IHDR00WbKGD pHYs  tIME  9cCtEXtCommentCreated with The GIMPd%nIDATh_lSe=mNXuFEtp1/Ą1I&FB#;0 b(.H4A]c3[Ƭe麮i9>/8lte+.M|w><|5{@X74LJKYUAH% h&+[0x?_R8vPd5YQ_ֺ'XZʒdE]挝Cv==,eB^|h>OkdE] 1v}=2YQ;P h@9?YV p a{-dCAh J,+򩘰LdiE: 7ӭ6 8ӆu .-}XZDVCd5D ;V4E$ځBmr?|F .bF??kIBIad< 9r:6(ݨQ`cK%{]W?WdDLڰ/TjG7%I8mz֥֠5L?L/7WQzI9'ʅF+E\P0Ehb{IENDB`icons/th-pattachote-2.png000064400000003005147633214350011277 0ustar00PNG  IHDR00W pHYs  tIME 6M?tEXtCommentCreated with The GIMPd%n{IDAThklUG_[iAP3)hDQhGae4h"T0HL E`Q UH@)ĦHT*b@l?;nwKKwM̽w93g(땹l`6t$+/`еzťnx jں$_|ۺ ] 8S(X,zXх3[˦ ^YLV6&suQx8 WQ>_VXj:{wM_D(8^!qcCv}K5e U| x{e3ke z5_ .SV?Xl0tez3 EY g<4h&, OP~j R2U=Jе3i^6:ExO ˁ w)߳tvF%y}36K\7,еV`Wh)ka<_zJ;y);vf;+O ;(rxm^YWS-,$L`ـe !6>&08jy7+ ys\j4' vO;-K3{̤ @s+ BΛMvu?]ag 9yE؟1ܣ'bfXbl`v}ry鄡kQ}>)p=%x68:~N3#Lg}y`z_O.<^o}QegΆ+ YB'ߓH@ l.dPcz/;mwf Z#j;R6oӒ `}*`I/^my/ѕM$zJ3@m_BmjT("R]$RPijXL8c*@)-KOZ=@]- n:[l-@_Ly;WX끓DJcsm}%Do&p!;C |`Q5?Fh=P!dU/}6T N{j[ "J@>0D&wJ@Mf#$pSZr'n p:r!Dlxz֯nnqnh܎IwSWr/lsd@2g}DHR軁c1VP&V9k]y5^DX9H§_BYV\TV ,TLlwIrec'd`-'gPR 9,dbk!ȏ)rA7өdvx%?2ōq Oх$kX9?T1_%ܜ˒9 IENDB`icons/si-wijesekera.png000064400000003500147633214350011135 0ustar00PNG  IHDR00WsRGBbKGD pHYs  tIME/q[tEXtCommentCreated with The GIMPd%nIDAThkpln6%Rn&"2T*2ڙt:tJ ~(2Ƕ^cjA%JPfc  l{I1!Ivigzfvfys/nJ 8t󿆀2@=0zʲbqT} =7 3P3J)K"[󓠯!.r^)5eyм8_Y.Y#^-}#Xn@7*Bq0 Js/DWus mHGaIq"'@N;`:41N| N'> e*ph{nqeftזZun5cM'2A`:y<Ϳx8:z `cyHhͮE+A` w~m{ viJ@=g6\!4 <{{!5tXdJrfmMM_2VF+ǮWoWoZ&+U=}>YXC)kt ^`|oM t$p Y ܡ,fFGfpX 8ѲK_+znd/fkuw:La,ֲ;?Ҝ"!dA Uz%x5}=˥]T< iGl9V_ϓ*i-l{Vd((rrX/dҷ9w>jssWUYgtatvX Rq\Jkˀ|2B !IJZ;"^ h=g8ۯ1;>}@g.f/x޵py޺g ~Mvvm駆9\꩒+}c [2rEK>,.}}q,ݓ۰pfk5Л_鬭ߟ*HYF'lLJ^v "GvGڕ&I(4 Uɸ{R) )‘C8ze3\[R'I;΂4ϲ*9*`^jNWFY($nEY=[&y{cd~12Pl:w]ޢ6GM'?>&KY.,D=;RBr` p;qD4k;J!T"alkTH6}Uz!!`:?ep{jZ!2Dwou[{QCa]-64*wbS3#^教 KX}=Q2`^Y$kG<fJ)˴ꚵ%SQ D)F :ʦnW%PzęO] qYnȲ-w>/ہQdڕ&lZQ5?Z8$IF1?Rdx*ɹXD*İ_2:r42M F+%ٔ>"ÖW)&+tdTM[b2 "oPL\$,=ɍjkE $q\ʤD )k=IENDB`icons/te-itrans.png000064400000002745147633214350010313 0ustar00PNG  IHDR00WbKGDC pHYs  tIME ";,C"tEXtCommentCreated with The GIMPd%nIIDAThklU3nХ-m)0H" $C L "Q&j bL !K)Zy,n}3ut٥b8M +KJrwt'c@#d`0@RY_ l Q`(OuNᅠݺY-Es%~իw3G>VW]8 %𨾷oYon, A9`Z c6?v[T4ySW~uR,VE"gOg67kR  <ɮ W$X!v 5f)I>?km@VJFى \l 5Q}n`vO7GY]է{)G}ZD#o u5~KW;%zڟgj #mi IH~(eJc9% Ӭ i u{u+/v<0lkMi6@1i/BQ>ysʜʀvW4.#FGfSjuj7r:Rsd{74}`Vt6fC~{ ï-jo8vbt>f5cћ7f4k5 _E}P|1Xo<}q`(1}$+e=vd O;vm`M(:Py5mfS>r|Arfҙ"/ӯ\<e4's+Η =N9lMk/|h ;0pra$Pl@RT}t9&!)*:R{hFDF Т-`#vzv@W(9q;[2̬2rxT_+?k_In 8#4Ϥӑt"'') dVY+lE'grbjvX+dڌcr#E.idV*K)y-z -2(t9AfHhFz ]#о]f:x@ȅCn)yuk |4ßk2 ?1f[0C).sɞ|$W؝ "!bwnjBr UƧ+F65xy@a%pS)~|vv;0!g}'Cr:MFIENDB`icons/ua-kbd.png000064400000000744147633214350007545 0ustar00PNG  IHDR00WsRGBbKGD pHYs  tIME "#!iTXtCommentCreated with The GIMPm7IDAThQ0 _Or/< ' z=7Jb/# cVbƀKqߞkOݜ>ڝTp[!5ik)9`<[0^ݿЋpVyMƘHZy(WJ((((((#GSҬq*d9{zc؍lxUh n6e_\}\16!v6$1ŚgmQ\=B8A^AoAA9uPdMp+sE+ sEMӉ0a |IENDB`icons/en-ispell.png000064400000002557147633214350010276 0ustar00PNG  IHDR00WbKGD pHYs  tIME J\ytEXtCommentCreated with The GIMPd%nIDAThklUwvmv`/ .`5%~S,Q 1&$‐`bb5&b&,WvfwfX-'9{u/(5MBAS`B,`CDmp)|}=CM? lJX0/ Xę zi@0x g%eXx^G>I>g >,Q[^?i}J;'q`$t81X-I:NߵT -x#p"z`Ĺ.\P@ jzxһ_:OoNQԖ 2SQwrkx6`[(lpLN'PKͿ];H>{੨>$ͽo:kh7V۰穪{=T@ó4=\ݿuҕ_1߭w? 4=\~6L:wrp1!Mc39JQ 31$xKZ=N ( i7q9]Nsd;,CFOԪbjAn8{v_\֥kEIq>)(.]hͻ}[?;{GKu]/=sm?*mo _u'"9V7WxbsӲ?i芏G+aMtӴ腗_7-{D˓y7Nya8ufi@1;=}NVe6yGUWhŌisk#6Rp3rz!猈H:CĶfwjZvuo{[0-&L +)ji;E0=#PxuLӣk@pտ9w;%D+i Q5/'ӅIQU4B0EtbNү}}uPSo/䅢(x=vrY01rsXBjF9&@ NbdB/6mҝe}7%"pwcr.~sYeϦz>!iը":?Z_x}ddI#;/_&|~KHUZ!7=Ȯ験IUU棻컙_n?`~$|B^eĴiϋ;2kƣWdeZ}@@'6ܵ,npj/ܗMfK#;xʹlѸe͕ł۴z-ZnciRbm)䞢صFV d‘T2k~G2]Ou-ˎ@"uU: gH/du _m;T2!2@I%5- `@{LA$Ocgy*Btgypo+*? R'C;EWh\rCpL ` RT4;޸-W *d8`/̓;ʔ{;A2?"1޿{DߛM.p(=,BqT>a|gQ%jUkk^FW|19X -> !>QES> z|}cQHzL GNhѯ Ϗ1e^.J1G֬\gl%06cQ2D@@^AE#P!Ξ44)1|a?/Lp73zT25xzqг=zb-z4Do&p:_s%h/d5b-R`Ւ~|Z_VՅ~Y岞] '=tp* !m= @(dBП<ש/@|-܂تzU+RD?\xilcEP{D])oF^T* 1L߃bҝ7mC Tdet ʔHTotڀ;N0Kw#p׀;Fw.H8)0͑4J&2jBnerv3 E3=Bli⻚iAqIHXC6NK% 34I'>Ҽ/0 JW@ȓ$,$!2îѸ}ћ^.Kj8K<icJ!ui{.hnz| 8@~~}Pi#t`zNugiنNZ4,.a|M !'˃ףzwC5v42Q{Il7Kej*!*s ( t t+#@ȅIO,CzO5VDO,؟714&4Jŝ)ӎ)gJa>N96)'bYə>K|]KIENDB`icons/el-kbd.png000064400000002306147633214350007534 0ustar00PNG  IHDR00WbKGD pHYs  tIME &tEXtCommentCreated with The GIMPd%n*IDAThkh\E3fwBS_hPSP?_ZQ|/r?*UEb-Z(*lє&Z ihKjk}{wuwwn쁅93wΜ9 UJXG @Y`H$%Qp| *J'ZK780fy"zY=k+}Sd{]tCv"G(d'fxqv|nv<흖Cd|5Z<|_fi~>XJA!Yms}#=O\,"p[ NZ<6fIuf` I`oDZbs [Rܱ<.#ҕ L|HS M}%v| gtX$ؘ[swScUoQ:nV6R~KtvpM9ie dV z3FMz&|hs`O5LpɪgցEjL[h,1e `2_Tؐ. g+\__Y;Vod_ `w=)3͟HjI`HIoѳGa-r"i猍]l 6 0`#ȌWdYmVa%cOgsS%>^`(KY(]UD]z_J}C msD:tmPZf+8|g#Ozo-붖@x TW{od o>K{qW0:(n&ꕟv*6B| D]\-Mp[9idFx`#. x1`_8=~g:c'pys =X GoG*6 s`:|Dɿ_ qdX)eS^A;pp4~m P~uFׁ Ogzimԧ%gI)ۅiM`_SиuMjEg[>nV?l}?.i]׸+t4nlKns~'`0XڏYѻ}c8^ Zĕ-%ʘBq(crl<0x5;ܥΉϼлN| s ,e\ Z䢌щ}U/ gIPpQzwl lܵbggEۻuWݽ_MFew}~`-0#\l6f6?̨>u)ߐI+f4TEc|ʸUI +z^YĚ>]M(2x,)l[,]fV]]PrȘtS6%cq2Z<顤|Os78,x>wFԊ9wf%Rr!&AbFlLZ^vO!(x/[_1q WuCdx:jگESrRJWlM)%"G?+3/ވ\.&n&mu_ t*tW( MiYa8*p9Hۦw1j3quX|5%ֿl pX}8%}NZfP5)p]'9Q/d.;ЍP5'tvѻ/Xm %`טh% XڟU_} 97T,-[o:~kZyk,hJ^CK-u1O d|[FPh.πG1jsnbBSvOJN^ =:S>K<|x4A']q/_SKSzbvGQb揻jkz/C2_JP`{4_ACYN/ҝɯWJeu6ڗC 7H 0\-yq 4(5r#A:b7j/.IA2ʰ+U DIENDB`icons/am-sera.png000064400000002321147633214350007720 0ustar00PNG  IHDR00WbKGD pHYs  tIME  tEXtCommentCreated with The GIMPd%n5IDATh]lU3/b+ЖPQC@OCL &D}+}PGc|R'5&!$@h~h vv,;3ٙ;&ɝ3g=ιHKH(8x?X%WQ i-H?1|MkٰR3?b7>~`Gd?ɟox Df.l>2 Uh4JOk5UC@G"D7m'{]"~bMU#nvxswR }sWΚU: XS)j '&qC-Dԕ7h%?ܕP 8lK? %TM>Ǐog'FXI h/ϒxxH\,9"j tyw@ƒ!Zp  *Vd/=e>1# [곬 u<4@txO\6aGݗۻ@xےkd~3-w:AxƮH ĝ5˶@txn=?b.} Ⱦ"pR4q񘋯HjhBjV6 :\\ p䁙QhZ6:&krH7A6H-)&:7 9. ra]]b6wX^tԃQ<W%G S2!0v6ew wm zؑF=}k~΋|~ASt L X ʍ ͦ}(ݛۃj6%nbޘ>kE| r[nKH"< !Q.c^6{+"*Q2z2!RtV*Ra.!԰(K 䃄-M/E@t(YpR J-[~xQrDO(*,U I['SJ|w?:PHu pPUB-SH+-\V7Ǧ[o{H;N[27/L_ʷǓ?~?#ネGk_Ge\1 \^ߞ{n}[eCUY39שJc#[]e9i3[؀vt{YNL s.\ߴ1yf^Prq[+MŻ!<%ē.C6n=]m ~ ;>"G{ xhNFss̚@-+ r|p/ZT5y5[Hۛ,Zz,V[ zw+²dϒU >:s؝@[vDTCh*]1bx' ڷ;LϷ4~tꑫ0[(@[&>ݾc4;e6Ipׯ*k;"`\jCF71(9lE! ڳOrs=1=slO.|e܆3gmq[^jΞ*bbB~vFs?0,{~\oYvd:r*@͸k"j+/tJ#k>]3fl߷-zھ/)لi"\1+Ϩ:Oa/Я*+7lNU|^Ko%WD>}U ݭҌToY=NU ;[Qj&S zp$gqg.濽5g>BHR(w]@UBj)^`64)Wf`捫LɔLɔLIY"9-%,K5!2M20pi*b&;M@}m ڰSJ'E7!e)F8 .ݍI,%w I7C YY,;SIENDB`icons/ko-romaja.png000064400000002774147633214350010267 0ustar00PNG  IHDR00WbKGD pHYs  tIME  .1@ytEXtCommentCreated with The GIMPd%n`IDAThYlTUwLZR *HE 1Mc"h5>rE1}I PDԦ AĦDeiJk)r9bMMܳ~2cπ6p<j' (jjhWJu`0BǴKXD9e@P ӝsu-*8E{ccI}&! Rjc>ZT mcM]W|?{qºs,g5ŬҲHb-h@//]~Gr`Y G"a 5$N"D>nRt)%Wq!֊6uwZ8 $`bm\[ ΰKK/ثl= EƺpKch>V/0.W\6.WzP@#z! }4[i l?Q' p jM[8!! (eHY@|OH2 lln(S`2ꘞ'EuH<7I"r[+Zz(Ӭ6j[taR2 ػˁBpWVXV0~5$9GF᜿bLdC! ,:s[:\<[>{Gvn#>-TVr(a—! {5O} +4Hڑ[T]-21\KyM q'ګ2 ƌ@p n7IPh\ zl#, jpȋ%RIu|V|<tivŝ!놘J]a+\KU%FбxO:`<'3svc:vGmȰ@30-SiCq 8A1M_oߣNzۑu>GvUQU;* ںy㺿ӔpLHQ%lԪ95 Nd.ƕBO zh!T7eYO!YHv7G0u[+nHtY $aUSXZ \H&B>}sXbK7B_QV' +V98H $>pJ)|U9G<8n 2oC;oIENDB`icons/sr-kbd.png000064400000003531147633214350007561 0ustar00PNG  IHDR00WbKGD pHYs  tIME *e?tEXtCommentCreated with The GIMPd%nIDATh{pTW?>6vI)ȃC)ZN})vk[ct0jghgZkkc8DNS*MB(BHH̲>?,n6 ;;gw)k=EPsH3d4{1a4x*[6j#艣o>dhƙf? Xo=*ؖ1vY`AƢW)jK* v'OBQf/_]<HtdG`{-f)1PC,6[P\eyI%m=r wR6ά}<8O2#CmjYސ8ޛ Er6֙SȮfs7 4 7 "Hݻy c3vkuMץe\@?b4 L5mt:&|)#ϩ /d;M >*K5eڼƟBzu4ZjX\V(YD_14RHbB|.y ѼNYM}ӝ_,{zAW'Om2'.]ё?KSs&[4(=nS#-S?#p5Нxt KMM[L9`?z`Pݏ|]8O5_ae.MsuKj|3@  `z[0^)_o2iLBw笟}'1No]+FMjx_eږMޓ'J#`+Dm :lލ\}vtrN݆M/w<{r/ǡ,_#qd4k|>,<"?(_$_$Em// `>)Rb,(ur%A1_,1ɠ: +h~R2_C6IENDB`icons/th-kesmanee-2.png000064400000002752147633214350010743 0ustar00PNG  IHDR00WbKGD pHYs  tIME 0gtEXtCommentCreated with The GIMPd%nNIDAThklTUwcX[R<wLW  EAjD11AMBA DI- b%lotݽ~عxz–&ٳwfΙ9sϙPQS*B,4fRRf ͦ3)W7 Xc_l|V#i迧KiUW95zFū6JbtuN|P5S{MC wn*wV_x|/1|@ab@`x`"lzUOCU|=bzo'o]'3r\@+g퉢eF>GmH|`%Pm V(_XdOt8|b 4 EB7@1v:Vw׋]gYi`'ȩWv,1(QI+j;u6Yh%?=f.A`7pe-p`Fnaz0W+o]R֖ŚKFdo@hYg,'x#ԛ>S</@vƶJ2`!`S<.i6`{Bg ,Θުx`g!oxTV=wϮn;asLJ?* XB*{{Oxv\eb|85rOòy^u۝Y=a:V[yo e =z"s\ <_k3-Co1$_ P9H[ '[C>!йDuzh2Lv 8@ЀDM"enjT>;:c?ԡnenq z@JDO DmDEq|*rA025 [pfI:Ƙ qd/,WCw`9ZX%g]5^,X wITi`̓u'Вr%YRc=ސԙ<tI(Oq'zF)+"W/J{V)! `6`,w( d/v8:@$5q"^qrȗdP'pGy:NJ&ꊣ&?򘒉4S X#vjeų)V@O@(0zOTt^pc&U5,bDѱO0FP2uF@Kt$_9E6!CIENDB`icons/vi-tcvn.png000064400000003412147633214350007763 0ustar00PNG  IHDR00WbKGD pHYs  tIME! [ tEXtCommentCreated with The GIMPd%nnIDAThklU3RW jE cVQVH5>G#$FHdQyh JD(*"-Z,T(uhw}e:>]Ors;9sG!y5pGJ]Df-8 ,4Md4kcfoVKxFOh(<Z%z-7UvU^,@:?-pzA3֣?o7hw:={W\g##Sԫثۀe8H|X2l5߹ThPaY!#ָH>I}&@),ZX4q`K=u;+X4hj | 0:u;6'/taZ3u8f4B+r-i2z3r nTKT`߶Z PS/,Uoo{17SJkxXfaηՒ~tijhOd"|nZD<6#Qlv]?TֻK79EdѤY00B|0 |,FP mcxlj?mUM!-OiTs K̟PۭR\B'{fIƼ35ɨ-gSjn{KTty5TJ^`?-8ub,TsZHT?!l@26f,Jw| n^_L L qxHi8 )0+ wEp$Z ` YK,}tYY/ TzO 8 &>J. }'".&NN =vm4%^ TZ'v#8.CDo6@n07>BԦz1&'T\Hn8:$}GZ(-TLؘ|ug>( V=S 0"PH̜풽֤X j߁ŅB^6a? "< |,Ah*cMYVpI?;"XG* ;مtw&& g2W05/a:u;@WVaZ N4,ϭJcR8CjY(wը/<Ӧ+mɲ!̪@ONQKHl (MMFКdP~r!@҇M`m- |op;e B,p{dnQ.eӹI?^N>/!+IlVhHqPmQ(@(g W&5 8m@{K']{IENDB`icons/kk-kbd.png000064400000003054147633214350007542 0ustar00PNG  IHDR00WbKGD pHYs  tIME )9tEXtCommentCreated with The GIMPd%nIDATh{lUnKҪ"TBh`PhIѬCѨIDQ5%^Z " "hHP8w0,}ǒpI;;py T-DU}*00tehX`%3`@TT=pOP%,o 0uSjn#1 о sj9t(1< '-0@n#@C6XDZnN jMFv X\uqhf@Us3_8ed.4  /h_GR|P`:P;jI + {&p}QY2[rQ1~Xo4ǁ122,sF:q甯Oe.Us A..hME?K5X[G 7"EWA&`? 0<ϴ:6kzlJBs|m_|g˚tn[+#<BIDs녈찄?jZXN;%gyCW}&e}*5Mr[k#.98Ɨ`x}GQkIB[sQ 6{Y9byOS_.%\iVw1u/Ϯrg_. כ;+d',߰I*eDfwFL ޺ى]׋gF9x [;}{nG{L^,eilD/bg\X:n.ys-=n%t͵5ñMVR5pR۹5ɦqOliV>gW5"G$rV9a5QӄHϤ"5WhkU!׍\qSKAS$C`L_ ZAYxN[]\^p[7s-䔔bilN |MF.VU-k#>ns[\$Z3EV7dyPc ,s9ӴeiOz>:'p$&p(oǫ[Z]svǼM\Bo2zzXui\D99W+I-S᳧ #!v@a:6[Wcm_lHCa+BRx0olmb'A+4x]SR/]NZҝ;}W"%E݃% $pE$Ț膯4*{wdݡɴF Lhl$|*ˉ{T4j^ LWq+~H}Zm}GJȊnT7اW@=^&-ʨ dTomIENDB`icons/lo-lrt.png000064400000002776147633214350007622 0ustar00PNG  IHDR00WbKGD pHYs  tIME  |ܔtEXtCommentCreated with The GIMPd%nbIDAThLUe?p9B, b\YmR7kQ6iGYi3=[-ZZ9L4!/pE ,y=s>s< P5yo[sM"d@fqvݚdP5}: h,U ogACQHRIa~UvLs_nCW.lY9dxX4M;_.*J0<Nʄl?m/XXv/׏ I k<#&A%6 {\PhڿіLvuW)A9**-p+ݚKXVe'Li\xS% =@97; pHFuzJ(T#@: N;ݚ+P58 ,xS@:TM1+@ezMk%g|2$;&v IV ![vfo~+j1ٱ@ٙU=΍IUj,esݽ^3|3K +j4Foj?dg?Yk =aR bEO/% ݚ¨,.}dnrV-5=xI rUӷsݚBs@fTXP_k?, 9[Y2'pƸج2a9X1ߪ_ F@UU^J?׬Y;ZP:E(f@RG5Uu xl'TuIᩑnE\J&5nݒŖ딁,*vj˱g=f^2s$IBAB#%FjCq6ݮV#Bnu dSg#[J;}ԼepB72!3ߘ:GiXuBn숟pE0pv͢P/u@?UC rq=M³=)Xq\|Μٓ|S~X>f|?21KOPq=.3z 9 ,* [!>LE vyoՍJ/`\X~{`DksA,œT ƅ wIENDB`icons/ru-phonetic.png000064400000002075147633214350010636 0ustar00PNG  IHDR00WsRGBbKGD pHYs  tIME :UtEXtCommentCreated with The GIMPd%nIDAThIhAIbna09( .Hn!oxn4 7 AD1FI&̴ m38Ƀb^~TUz`@R+Zo}? X o<4Z%<20%9,|?Ƹ=2gwc"MtؖU'p$]/n%PʇTXӳ/_-m4륟c7kwxk5>ݟdΧJ̌8܇qqt2hK"##8: qOQr=9 k~ :/`!+6,׼^ h-G5ϛҧ́]9XkRrF ~p l7+kM!_قuxt[utYe/b?!xJuvWLV5)0 v7R 3B*)Kq%,_$2"-ʹ=x KI>.d=q8'W`)J2g=qH?Ie"lz_ 7VfX'N݋/eDʄ + ȀbXZ&bz _b)+@F.5u 0TmqpK$_f?ufM K1b$`ZeaI<7Bv@vı[:BS$'Hb˷@%c5-&1U6Ԍ8wIX]֒c)bok\dきry ikKL[2(2JN?FߥL⥔?%-_IENDB`icons/vi-viqr.png000064400000002736147633214350010002 0ustar00PNG  IHDR00WbKGD pHYs  tIME  %ZtEXtCommentCreated with The GIMPd%nBIDATh[le3;۲CVt{A-[HA1hbx0$h86㓼!$dƈ A@JK}>tZewvtp|ssQHClnT|kR€P)`hs4kUKts[8(6@0bEϗ{n x*m-67|Eںv7cnhwz6- \c$:ĺ&[L#mnpƺ2Td{,=:'rl p>+`!P }k}_ C< И"Z<5@(}& _FW2Kqd,Jw Tdb,UU4/2K"oBte̜y X ,J2@@4y#n}K$c]!OҕkЍ`1x(kUUQKqdg^DBD Ԉ0@JЦϤp4ե|{<;.E9dqr{mYOoEW $"gď__?uv Uw˂W4.Y]0p?p|65iৡ PaLdXk<1-֕Ṕ1ӊfVF Լ/VubXqӉg:-ҍTYya"m>)iVwYb~B昊ASk#q4guyd :nSY4 @dGd6"=f_笀W-#G} q8*IQݥDcp*Zq ~'-Duԟ['F0_ | LLQ^d0epܧuvrvoe Ѐj)Y4[ }HlXO!*z+k~ztX J!=\eΩ)<چAF0Hoϴ+}֍"wx 5N29,MȾ@hsCZV1[[3gg H&^m-ěyD`6uFi~<`Wh qx(gu"+5t $Lm:Iw%iT_K450&rk%K;Vrsm!R)J9WIc^rP]@OIENDB`icons/fa-isiri.png000064400000002335147633214350010103 0ustar00PNG  IHDR00WbKGD pHYs  tIME 1tEXtCommentCreated with The GIMPd%nAIDAThkhU&5*iBc5 RQAOhA CB}PР󥈶A5!Vm5jjHB0&\?8Y6!iIwsaUG=aN2_| %{A hl^Qnuer@R*`-"r׬'G5mmJvZ;[T_*?f~Y1L5.g%==q=

    ]db.O- +X(UEahBuCsnLn%2S[z-ZԆt.O8JV Hd Oxa_x^T$įNBXV\-2xk7Q.IENDB`icons/pa-itrans.png000064400000003020147633214350010266 0ustar00PNG  IHDR00WbKGDC pHYs  tIME !%` JtEXtCommentCreated with The GIMPd%ntIDATh[lU[ml)BP#b0R `P1}Hj4>A$ƪ0x0 z{% Ub_ <,\} x}*c`O<"ik'Wx}"`T%1u[3҇CE4O޽OhjM/K\b˦@{(g? $g]V] P"w̘d -kեO)-pr6_6޹SI3H r wixdLZtok{>]Z]Z\GSUf(v;݉P7d\q?}OO6z~78ܨWX;W(ky>qE@J0 h{у_\3'_韫P_5Rs㌢ 8``_P f&N4՜)Gsך\H/|fU* DYqwt8w4$4+ 1(v2X> 7˴(ʦD?ں~_ϸ &4X 0*~irߍX (, !#_FM iC;IENDB`icons/rfc1345.png000064400000004545147633214350007474 0ustar00PNG  IHDR00WbKGD pHYs  tIME  p7tEXtCommentCreated with The GIMPd%nIDATh{pT?d7<`$B(Z--VqZL>ƪSZZCXQ&픪Ru**8L# OE6tUW6f_oe@9ΜͽsyG?я<"Z 8c zOŒI``>p#P 8f1?$HM L+x*NcuwpG"_2 6{{>|g{Z+ҥYn/籗3}O;'jZ`m駥x\)תFTw#pq8#7?xKm^m]+Ri)7 wN۴j^JƸqP;/75-$BgʢkWMl]`swoYm~s6 0+K3-v@{ʚ6ǥg LhP+FBy*0 /jEA97'\ FCb@"O& !0Z!г'"OF{ l:' xS#l%dMw q<,d+FsŒОJs˦a+FgͫE<*@/G Sbw؜WLf[Gק/3OiAoI}Qg'jZ olrN|U:2 Ԝ(Eދ;$⽹d`+ MX5Fb,6pY96EUѪj*W/k <߽A>ўUOW&Jg E gyfHXO5No.S0BLR(|v(ii7_R_a)O%[*uB&ѡlyKt.we5~6@eUMȞjû$Z,|hQ|SPYE3ڈ1ZM-)/p2ZO1[,^MyoX8_L,i8-?Rb <|HZjsA(*`fP+&quPoʘd`uw >=P,#²F'V0qV+o(=43R+r&FXVFZp#0 V/"5 M?j_o4EWPv)R=ZePеS6s x2r@qxٽlMnVRC eeP!D/sz`0^Όᣇgؼ x]fe `>X]Ҭ?7ĮǸqG0$"j#~&+.`i2x35QW%[ƎONkķ'Zŧ/h-i TqNuPTuJ@C=KʷoNkѿ8ؽXr!{S6=22=P,4O]9J*b 2n;m-[eh@H9^sQ%s)v(g"nnw@Wfny^>8 G]ȧ6[iǭlg!g}T_K$ٓ _xO4UY(nՅ*eMRܞD84;@0OOciy?h㲩eRt-PjSTU)&ճ+S'πo٢:QV^7T\"߭8 g[{_i:"y'cD;X0mnE Y4d[0]zh3Gm[vjQ24a;A['Z+!?6O}OE}1sW㲩3m߷W+P>q1-®{'J<=mv[db˒`Z| {]q]h}H7H\@y vTSqW ,@I/L,@e?P|`<ޖt48bܾTs_D%z 3 dfA۳M+ oti0kZPFWֹ Rn-1@P PKM,\mj2% !7Yq*i{96`^$K@Oܛvݻ@FyŊ̙_-y";s6Twb> y3^`LIHB ʄ!`=PCyGBu'x6Z~=9x#&Vkfndm1C{q@\+UM*>Au7fX+gWGx8s Ԁb5_Sꘚh +P JJTs@FZTT@RJy?@-Ӏ)l܅,N.@Z6 | |"C(JlN"P>2YQą:yl[ \/ )upmU۬>ڭLv4IѨBThD(vSx١f=nmPg:wӒ{bۘ!Nq@*9V>Dc-.a6UBVwFo[g*"O3qk1F@={vk6 (_5O$`;0\:VW/̲cf׮{ eD;Z#Jaqj|g_bX@5g7A2KXJ]V'h3` [GX(uM\malm4&վ싅y ^O:Z 7կe("LNa) ׈\k^P &y#W$n<7!Sh6u=oZ+po[ 4>m"6.?>ØT G+!ats <'`D&r-/WF#o2`DH![4r 6LBb,(:%`(( %PdIFtE:宴IENDB`icons/latn-post.png000064400000001765147633214350010327 0ustar00PNG  IHDR00WbKGD pHYs  tIME  8tEXtCommentCreated with The GIMPd%nYIDAThIhQY⠭bDJ=* {"lѓ"7ARP'ql] M]MLC'5JN懁o{h>z5us tZ <&z-Ǟa ę *BIYiQr2`(+\͇jJwϺYF>'oGuط1`sshd%Px2x.#4UJON} } f:g:qE%:ʷ$esW )HA b_ْᙑfS#d57YHsB}sypIM]N;0`ڵp!36LcWȅ Bn19߃ش:'q:14__%si!I[FZ(hS*IENDB`sv-post.mim000064400000002606147633214350006677 0ustar00;; sv-post.mim -- Swedish input method with postfix modifiers ;; Copyright (C) 2005 ;; 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 General Public License as ;; published by the Free Software Foundation; either version 2, 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 General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with the m17n library; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. (input-method sv post) (description "Swedish input method with postfix modifiers. ") (title "sv-post") (map (trans ("AA" ?Å) ("aa" ?å) ("AE" ?Ä) ("ae" ?ä) ("OE" ?Ö) ("oe" ?ö) ("E'" ?É) ("e'" ?é) ("AAA" "A" "A") ("aaa" "a" "a") ("AEE" "A" "E") ("aee" "a" "e") ("OEE" "O" "E") ("oee" "o" "e") ("E''" "E" "'") ("e''" "e" "'") )) (state (init (trans))) ml-itrans.mim000064400000013015147633214350007166 0ustar00;; ml-itrans.mim -- Malayalam input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 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 ml itrans) (description "Malayalam input method by ITRANS transliteration. Itrans keyboard helps you to type the way you speak. Once SCIM is activated and you select Malayalam Itrans from the SCIM tab appearing on the down right corner, you can input Malayalam text with the help of following keys. Key - Consonant k - ക് kh - ഖ് g - ഗ് gh - ഘ് ~N - ങ് N^ - ങ് ch - ച് Ch - ഛ് chh - ഛ് j - ജ് jh - ഝ് ~n - ഞ് JN - ഞ് T - ട് Th - ഠ് D - ഡ് Dh - ഢ് N - ണ് t - ത് th - ഥ് d - ദ് dh - ധ് n - ന് p - പ് ph - ഫ് b - ബ് bh - ഭ് m - മ് y - യ് r - ര് rh - റ് l - ല് L - ള് ld - ള് v - വ് w - വ് sh - ശ് Sh - ഷ് shh - ഷ് s - സ് h - ഹ് GY - ജ്ഞ് dny - ജ്ഞ് x - ക്ഷ്) Key - Vowel a - അ aa - ആ A - ആ i - ഇ ii - ഈ I - ഈ u - ഉ uu - ഊ U - ഊ RRi - ഋ R^i - ഋ LLi - ഌ L^i - ഌ e - എ E - ഏ ee - ഏ ai - ഐ o - ഒ oo - ഓ O - ഓ au - ഔ .n - ം M - ം H - ഃ .h - ് 0 - ൦ 1 - ൧ 2 - ൨ 3 - ൩ 4 - ൪ 5 - ൫ 6 - ൬ 7 - ൭ 8 - ൮ 9 - ൯ # - ്ര $ - ര് ^ - ത്ര * - ശ്ര For more information refer to following: http://fedoraproject.org/wiki/I18N/Indic/MalayalamKeyboardLayouts For the detail of ITRANS, see the page: ") (title "ക") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("E") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "ക്") ("kh" "ഖ്") ("g" "ഗ്") ("gh" "ഘ്") ("~N" "ങ്") ("N^" "ങ്") ("ch" "ച്") ("Ch" "ഛ്") ("chh" "ഛ്") ("j" "ജ്") ("jh" "ഝ്") ("~n" "ഞ്") ("JN" "ഞ്") ("T" "ട്") ("Th" "ഠ്") ("D" "ഡ്") ("Dh" "ഢ്") ("N" "ണ്") ("t" "ത്") ("th" "ഥ്") ("d" "ദ്") ("dh" "ധ്") ("n" "ന്") ("p" "പ്") ("ph" "ഫ്") ("b" "ബ്") ("bh" "ഭ്") ("m" "മ്") ("y" "യ്") ("r" "ര്") ("rh" "റ്") ("l" "ല്") ("L" "ള്") ("ld" "ള്") ("v" "വ്") ("w" "വ്") ("sh" "ശ്") ("Sh" "ഷ്") ("shh" "ഷ്") ("s" "സ്") ("h" "ഹ്") ("GY" "ജ്ഞ്") ("dny" "ജ്ഞ്") ("x" "ക്ഷ്")) (independent ("a" "അ") ("aa" "ആ") ("A" "ആ") ("i" "ഇ") ("ii" "ഈ") ("I" "ഈ") ("u" "ഉ") ("uu" "ഊ") ("U" "ഊ") ("RRi" "ഋ") ("R^i" "ഋ") ("LLi" "ഌ") ("L^i" "ഌ") ("e" "എ") ("E" "ഏ") ("ee" "ഏ") ("ai" "ഐ") ("o" "ഒ") ("oo" "ഓ") ("O" "ഓ") ("au" "ഔ") (".n" "ം") ("M" "ം") ("H" "ഃ") (".h" "്") ("0" "൦") ("1" "൧") ("2" "൨") ("3" "൩") ("4" "൪") ("5" "൫") ("6" "൬") ("7" "൭") ("8" "൮") ("9" "൯") ("#" "്ര") ("$" "ര്") ("^" "ത്ര") ("*" "ശ്ര") ((KP_1) "൧") ((KP_2) "൨") ((KP_3) "൩") ((KP_4) "൪") ((KP_5) "൫") ((KP_6) "൬") ((KP_7) "൭") ((KP_8) "൮") ((KP_9) "൯") ((KP_0) "൦") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ((C-@) "‍")) (dependent ("a" (delete @-) "") ("aa" (delete @-) "ാ") ("A" (delete @-) "ാ") ("i" (delete @-) "ി") ("ii" (delete @-) "ീ") ("I" (delete @-) "ീ") ("u" (delete @-) "ു") ("uu" (delete @-) "ൂ") ("U" (delete @-) "ൂ") ("RRi" (delete @-) "ൃ") ("R^i" (delete @-) "ൃ") ("LLi" (delete @-) "") ("L^i" (delete @-) "") ("e" (delete @-) "െ") ("ee" (delete @-) "േ") ("E" (delete @-) "േ") ("ai" (delete @-) "ൈ") ("o" (delete @-) "ൊ") ("oo" (delete @-) "ോ") ("O" (delete @-) "ോ") ("au" (delete @-) "ൌ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: GJR2-OTF.flt000064400000012147147633214350006422 0ustar00;; GJR2-OTF.flt -- Font Layout Table for gjr2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter gjr2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=gjr2))) ;;;

  • GJR2-OTF.flt ;;; ;;; For gjr2 OpenType fonts to draw the Gujarati script. (category ;; X: generic ;; V: independent vowel ;; C: consonant ;; R: RA ;; n: NUKTA ;; H: HALANT ;; m: vowel sign (pre) ;; u: vowel sign (above) ;; b: vowel sign (below) ;; p: vowel sign (post) ;; a: vowel modifier (above) ;; A: vowel modifier (post) ;; N: ZWNJ ;; J: ZWJ (0x0A80 0x0AFF ?X) ; generic (0x0A81 0x0A82 ?a) ; SIGN CANDRABINDU .. ANUSVARA (0x0A83 ?A) ; SIGN VISARGA (0x0A85 0x0A94 ?V) ; LETTER A .. AU (0x0A95 0x0AB9 ?C) ; LETTER KA .. HA (0x0AB0 ?R) ; LETTER RA (0x0ABC ?n) ; SIGN NUKTA (0x0ABE ?p) ; VOWEL SIGN AA (0x0ABF ?m) ; VOWEL SIGN I (0x0AC0 ?p) ; VOWEL SIGN II (0x0AC1 0x0AC4 ?b) ; VOWEL SIGN UU .. VOCALIC RR (0x0AC5 0x0AC8 ?u) ; VOWEL SIGN CANDRA E .. AI (0x0AC9 0x0ACC ?p) ; VOWEL SIGN CANDRA O .. AU (0x0ACD ?H) ; SIGN VIRAMA (0x0AE0 0x0AE1 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0AE2 0x0AE3 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) ) ;; Stage 0 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?Vn?(J?HR)?m?u?b?p?n?a?A?" < | = * | >) ;; Consonant-based syllables ("([CR]n?J?HJ?)*[CR]n?(H[NJ]?|m?u?b?p?n?)a?A?" < | = * | >) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("JHR" (cond ((font-facility 0x25CC) < 0x25CC :otf=gjr2=blwf+ >) (".+" [ :otf=gjr2=blwf+ ]))) ("." =)) *)) ;; Stage 1 ;; Basic shaping forms and matra reordering (generator (0 (cond ;; Explicit halant form starting with RA + H + ZWJ (" (RHJ[CRnHJ]+)(HN?a?A?) " | (1 :otf=gjr2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (2 = *) |) ;; Explicit halant form starting with a reph (" (RH)([CRnHJ]+)(HN?a?A?) " | (1 :otf=gjr2=rphf+) (2 :otf=gjr2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (3 = *) |) ;; Other explicit halant forms (" ([CRnHJ]+)(HN?a?A?) " | (1 :otf=gjr2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (2 = *) |) ;; Ordinary syllables starting with RA + H + ZWJ ;; 1 2 3 (" (RHJ[CRnHJ]*)(mn?)?(u?b?p?n?a?A?) " ;; | ;; This is an asterisk. (See DEV2-OTF.flt) | (2 = *) (1 :otf=gjr2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (3 = *) |) ;; Ordinary syllables starting with a reph ;; 1 2 3 4 (" (RH)([CRnHJV]+)(mn?)?(u?b?p?n?a?A?) " | (3 = *) (1 :otf=gjr2=rphf+) (2 :otf=gjr2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (4 = *) |) ;; Other ordinary syllables ;; 1 2 3 (" ([CRnHJV]+)(mn?)?(u?b?p?n?a?A?) " | (2 = *) (1 :otf=gjr2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (3 = *) |) ("." =)) *)) ;; Stage 2 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 3 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^H ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^aA ]+)(a?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 4 ;; Nukta for matra and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=gjr2=nukt,pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 5 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 6 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=gjr2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: ar-kbd.mim000064400000004733147633214350006427 0ustar00;; ar-kbd.mim -- Arabic input method with Arabic keyboad layout ;; Copyright (C) 2004, 2005, 2008 ;; 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 ar kbd) (description "Input Method for Arabic simulating Arabic keyboard (MS Windows). ") (title "ض") (map (generic ("1" "١") ("2" "٢") ("3" "٣") ("4" "٤") ("5" "٥") ("6" "٦") ("7" "٧") ("8" "٨") ("9" "٩") ("0" "٠") ("`" "ذ") ("q" "ض") ("w" "ص") ("e" "ث") ("r" "ق") ("t" "ف") ("y" "غ") ("u" "ع") ("i" "ه") ("o" "خ") ("p" "ح") ("[" "ج") ("]" "د") ("a" "ش") ("s" "س") ("d" "ي") ("f" "ب") ("g" "ل") ("h" "ا") ("j" "ت") ("k" "ن") ("l" "م") (";" "ك") ("'" "ط") ("z" "ئ") ("x" "ء") ("c" "ؤ") ("v" "ر") ("b" "لا") ("n" "ى") ("m" "ة") ("," "و") ("." "ز") ("/" "ظ") ("\(" "\)") ("\)" "\(") ("~" "ّ") ("Q" "َ") ("W" "ً") ("E" "ُ") ("R" "ٌ") ("T" "لإ") ("Y" "إ") ("U" "`") ("I" "÷") ("O" "×") ("P" "؛") ("{" ">") ("}" "<") ("A" "ِ") ("S" "ٍ") ("D" "]") ("F" "[") ("G" "لأ") ("H" "أ") ("J" "ـ") ("K" "،") ("L" "/") ("Z" "~") ("X" "ْ") ("C" "}") ("V" "{") ("B" "لآ") ("N" "آ") ("M" "'") ("<" ",") (">" ".") ("?" "؟") ((C-,) ">") ((C-.) "<") ((C-\[) "]") ((C-\]) "[") ((C-J) "‍") ; zero width joiner ((C-L) "‎") ; left to right mark ((C-N) "‌") ; zero width non joiner ((C-R) "‏") ; right to left mark ((C-{) "}") ((C-}) "{") )) (state (init (generic))) ;; Local Variables: ;; mode: lisp ;; End: CHARSET.tbl000064400000034356147633214350006363 0ustar00;; CHARSET.tbl -- List of charset definitions -*- lisp -*- ;; Copyright (C) 2003, 2004 ;; 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. ;;;
  • CHARSET.tbl ;;; ;;; List of charset definitions. See the section @ref mdbCharsetList ;;; for the format of this file. ;; Each element has this form: ;; (CHARSET-NAME KEYWORD1 VALUE1 KEYWORD2 VALUE2 ...) ;; Valid KEYWORDs are: ;; method -- map, unify, offset, subset, or superset (default map) ;; dimension -- 1, 2, 3, or 4 (default 1) ;; min-range -- unsigned (default 0x00) ;; max-range -- unsigned (default 0xFF, 0xFFFF, 0xFFFFFF, or 0xFFFFFFFF) ;; min-code -- integer (default min-range) ;; max-code -- integer (default max-range) ;; ascii-compatible -- nil or t (default nil) ;; final-byte -- 0 or 32..127 (default 0) ;; revision -- 0..127 (default 0) ;; min-char -- integer (default 0) ;; mapfile -- mapping file name (method must be map or unify) ;; parents -- list of charset symbols (method must be subset or superset) ;; subset-offset -- ;; define-coding -- nil or t (default nil, dimension must be 1, ;; and code-range must be "\x00\xFF") ;; aliases -- list of alias name symbols ;; ;; ISO-8859 series. (iso-8859-1-rhp method subset dimension 1 parents (iso-8859-1) min-range 0x20 max-range 0x7F final-byte ?A subset-offset -128) (iso-8859-2 dimension 1 ascii-compatible t mapfile "8859-2.map" define-coding t) (iso-8859-2-rhp method subset dimension 1 parents (iso-8859-2) min-range 0x20 max-range 0x7F final-byte ?B subset-offset -128) (iso-8859-3 dimension 1 ascii-compatible t mapfile "8859-3.map" define-coding t) (iso-8859-3-rhp method subset dimension 1 parents (iso-8859-3) min-range 0x20 max-range 0x7F final-byte ?C subset-offset -128) (iso-8859-4 dimension 1 ascii-compatible t mapfile "8859-4.map" define-coding t) (iso-8859-4-rhp method subset dimension 1 parents (iso-8859-4) min-range 0x20 max-range 0x7F final-byte ?D subset-offset -128) (iso-8859-5 dimension 1 ascii-compatible t mapfile "8859-5.map" define-coding t) (iso-8859-5-rhp method subset dimension 1 parents (iso-8859-5) min-range 0x20 max-range 0x7F final-byte ?L subset-offset -128) (iso-8859-6 dimension 1 ascii-compatible t mapfile "8859-6.map" define-coding t) (iso-8859-6-rhp method subset dimension 1 parents (iso-8859-6) min-range 0x20 max-range 0x7F final-byte ?G subset-offset -128) (iso-8859-7 dimension 1 ascii-compatible t mapfile "8859-7.map" final-byte ?F define-coding t) (iso-8859-7-rhp method subset dimension 1 parents (iso-8859-7) min-range 0x20 max-range 0x7F final-byte ?F subset-offset -128) (iso-8859-8 dimension 1 ascii-compatible t mapfile "8859-8.map" define-coding t) (iso-8859-8-rhp method subset dimension 1 parents (iso-8859-8) min-range 0x20 max-range 0x7F final-byte ?H subset-offset -128) (iso-8859-9 dimension 1 ascii-compatible t mapfile "8859-9.map" define-coding t) (iso-8859-9-rhp method subset dimension 1 parents (iso-8859-9) min-range 0x20 max-range 0x7F final-byte ?M subset-offset -128) (iso-8859-10 dimension 1 ascii-compatible t mapfile "8859-10.map" define-coding t) (iso-8859-10-rhp method subset dimension 1 parents (iso-8859-10) min-range 0x20 max-range 0x7F final-byte ?V subset-offset -128) (iso-8859-11 dimension 1 ascii-compatible t mapfile "8859-11.map" define-coding t) (iso-8859-13 dimension 1 ascii-compatible t mapfile "8859-13.map" define-coding t) (iso-8859-14 dimension 1 ascii-compatible t mapfile "8859-14.map" final-byte ?_ define-coding t) (iso-8859-14-rhp method subset dimension 1 parents (iso-8859-14) min-range 0x20 max-range 0x7F final-byte ?_ subset-offset -128) (iso-8859-15 dimension 1 ascii-compatible t mapfile "8859-15.map" define-coding t) (iso-8859-15-rhp method subset dimension 1 parents (iso-8859-15) min-range 0x20 max-range 0x7F final-byte ?b subset-offset -128) (iso-8859-16 dimension 1 ascii-compatible t mapfile "8859-16.map" define-coding t) ;; IBM codepage series. (ibm037 dimension 1 mapfile "IBM037.map" define-coding t) (ibm038 dimension 1 mapfile "IBM038.map" define-coding t) (ibm256 dimension 1 mapfile "IBM256.map" define-coding t) (ibm273 dimension 1 mapfile "IBM273.map" define-coding t) (ibm274 dimension 1 mapfile "IBM274.map" define-coding t) (ibm275 dimension 1 mapfile "IBM275.map" define-coding t) (ibm277 dimension 1 mapfile "IBM277.map" define-coding t) (ibm278 dimension 1 mapfile "IBM278.map" define-coding t) (ibm280 dimension 1 mapfile "IBM280.map" define-coding t) (ibm281 dimension 1 mapfile "IBM281.map" define-coding t) (ibm284 dimension 1 mapfile "IBM284.map" define-coding t) (ibm285 dimension 1 mapfile "IBM285.map" define-coding t) (ibm290 dimension 1 mapfile "IBM290.map" define-coding t) (ibm297 dimension 1 mapfile "IBM297.map" define-coding t) (ibm420 dimension 1 mapfile "IBM420.map" define-coding t) (ibm423 dimension 1 mapfile "IBM423.map" define-coding t) (ibm424 dimension 1 mapfile "IBM424.map" define-coding t) (ibm437 dimension 1 ascii-compatible t mapfile "IBM437.map" define-coding t) (ibm500 dimension 1 mapfile "IBM500.map" define-coding t) (ibm850 dimension 1 ascii-compatible t mapfile "IBM850.map" define-coding t) (ibm851 dimension 1 ascii-compatible t mapfile "IBM851.map" define-coding t) (ibm852 dimension 1 ascii-compatible t mapfile "IBM852.map" define-coding t) (ibm855 dimension 1 ascii-compatible t mapfile "IBM855.map" define-coding t) (ibm857 dimension 1 ascii-compatible t mapfile "IBM857.map" define-coding t) (ibm860 dimension 1 ascii-compatible t mapfile "IBM860.map" define-coding t) (ibm861 dimension 1 ascii-compatible t mapfile "IBM861.map" define-coding t) (ibm862 dimension 1 ascii-compatible t mapfile "IBM862.map" define-coding t) (ibm863 dimension 1 ascii-compatible t mapfile "IBM863.map" define-coding t) (ibm864 dimension 1 mapfile "IBM864.map" define-coding t) (ibm865 dimension 1 ascii-compatible t mapfile "IBM865.map" define-coding t) (ibm866 dimension 1 ascii-compatible t mapfile "IBM866.map" define-coding t) (ibm868 dimension 1 ascii-compatible t mapfile "IBM868.map" define-coding t) (ibm869 dimension 1 ascii-compatible t mapfile "IBM869.map" define-coding t) (ibm870 dimension 1 mapfile "IBM870.map" define-coding t) (ibm871 dimension 1 mapfile "IBM871.map" define-coding t) (ibm874 dimension 1 ascii-compatible t mapfile "IBM874.map" define-coding t) (ibm875 dimension 1 mapfile "IBM875.map" define-coding t) (ibm880 dimension 1 mapfile "IBM880.map" define-coding t) (ibm891 dimension 1 ascii-compatible t mapfile "IBM891.map" define-coding t) (ibm903 dimension 1 ascii-compatible t mapfile "IBM903.map" define-coding t) (ibm904 dimension 1 ascii-compatible t mapfile "IBM904.map" define-coding t) (ibm905 dimension 1 mapfile "IBM905.map" define-coding t) (ibm918 dimension 1 mapfile "IBM918.map" define-coding t) (ibm1004 dimension 1 ascii-compatible t mapfile "IBM1004.map" define-coding t) (ibm1026 dimension 1 mapfile "IBM1026.map" define-coding t) (ibm1047 dimension 1 mapfile "IBM1047.map" define-coding t) ;; Microsoft codepage series. (cp737 dimension 1 ascii-compatible t mapfile "CP737.map" define-coding t) (cp775 dimension 1 ascii-compatible t mapfile "CP775.map" define-coding t) (cp949-2-byte dimension 2 mapfile "CP949-2BYTE.map") (cp949 method superset dimension 2 parents (ascii cp949-2-byte)) (cp1250 dimension 1 ascii-compatible t mapfile "CP1250.map" define-coding t) (cp1251 dimension 1 ascii-compatible t mapfile "CP1251.map" define-coding t) (cp1252 dimension 1 ascii-compatible t mapfile "CP1252.map" define-coding t) (cp1253 dimension 1 ascii-compatible t mapfile "CP1253.map" define-coding t) (cp1254 dimension 1 ascii-compatible t mapfile "CP1254.map" define-coding t) (cp1255 dimension 1 ascii-compatible t mapfile "CP1255.map" define-coding t) (cp1256 dimension 1 ascii-compatible t mapfile "CP1256.map" define-coding t) (cp1257 dimension 1 ascii-compatible t mapfile "CP1257.map" define-coding t) (cp1258 dimension 1 ascii-compatible t mapfile "CP1258.map" define-coding t) (cp10007 dimension 1 ascii-compatible t mapfile "CP10007.map" define-coding t) ;; CJK charsets. (gb_1988-80 dimension 1 mapfile "GB_1988-80.map" define-coding t) (gb2312.1980 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?A mapfile "GB2312.map") (gbk method map dimension 2 min-range 0x8100 max-range 0xFEFF mapfile "GBK.map") ;; GB18030 subsets (gb18030-2-byte-bmp method map dimension 2 min-range 0x8140 max-range 0xFEFE mapfile "GB180302.map") (gb18030-4-byte-bmp method map dimension 4 min-range 0x81308130 max-range 0x8439FE39 mapfile "GB180304.map") (gb18030-4-byte-smp method offset dimension 4 min-range 0x90308130 max-range 0xE339FE39 min-code 0x90308130 max-code 0xE3329A35 min-char 0x10000) (gb18030-4-byte-ext-1 method offset dimension 4 min-range 0x84308130 max-range 0x8F39FE39 min-code 0x8431A530 max-code 0x8F39FE39 min-char 0x200000) ; .. 0x22484B (gb18030-4-byte-ext-2 method offset dimension 4 min-range 0xE3308130 max-range 0xFE39FE39 min-code 0xE3329A36 max-code 0xFE39FE39 min-char 0x22484C) ; ... 0x279F93 (gb18030 method superset dimension 4 min-code 0 max-code 0xFE39FE39 parents (ascii gb18030-2-byte-bmp gb18030-4-byte-bmp gb18030-4-byte-smp gb18030-4-byte-ext-1 gb18030-4-byte-ext-2)) (big5 method unify dimension 2 min-range 0xA140 max-range 0xFEFE mapfile "BIG5.map") (big5-hkscs method unify dimension 2 min-range 0x8840 max-range 0xFEFE mapfile "BIG5-HKSCS.map") (cns11643-1 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?G mapfile "CNS-1.map") (cns11643-2 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?H mapfile "CNS-2.map") (cns11643-3 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?I mapfile "CNS-3.map") (cns11643-4 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?J mapfile "CNS-4.map") (cns11643-5 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?K mapfile "CNS-5.map") (cns11643-6 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?L mapfile "CNS-6.map") (cns11643-7 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?M mapfile "CNS-7.map") (cns11643-15 method unify dimension 2 min-range 0x2121 max-range 0x7E7E mapfile "CNS-F.map") (jisx0201 dimension 1 mapfile "JISX0201.map") (jisx0201-roman method subset dimension 1 min-range 0x21 max-range 0x7E final-byte ?J parents (jisx0201)) (jisx0201-kana method subset dimension 1 min-range 0x21 max-range 0x5F final-byte ?I parents (jisx0201) subset-offset -128) (jisx0208.1978 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?@ mapfile "JISX0208.map") (jisx0208.1990 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?B revision 1 mapfile "JISX0208.map") (jisx0208.1983 method subset dimension 2 min-range 0x2121 max-range 0x7E7E max-code 0x7424 final-byte ?B parents (jisx0208.1990)) (jisx0212 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?D mapfile "JISX0212.map") (jisx0213-1 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?O mapfile "JISX2131.map") (jisx0213-2 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?P mapfile "JISX2132.map") (jisx0213-a method map dimension 2 min-range 0x2121 max-range 0x7E7E mapfile "JISX2132.map") (jisx0213.2004-1 method superset dimension 2 min-range 0x2121 max-range 0x7E7E parents (jisx0213-1 jisx0213-a) final-byte ?Q) (ksc5636 dimension 1 mapfile "KSC5636.map") (ksc5601.1987 method unify dimension 2 min-range 0x2121 max-range 0x7E7E final-byte ?C mapfile "KSC5601.map") (ksc5601.1992-3 method map dimension 2 min-range 0x4441 max-range 0xF9F3 mapfile "JOHAB.map") ;; Miscellaneous (koi8 dimension 1 ascii-compatible t mapfile "KOI-8.map" define-coding t) (koi8-r dimension 1 ascii-compatible t mapfile "KOI8-R.map" define-coding t) (koi8-u dimension 1 ascii-compatible t mapfile "KOI8-U.map" define-coding t) (koi8-t dimension 1 ascii-compatible t mapfile "KOI8-T.map" define-coding t) (tis-620 dimension 1 ascii-compatible t mapfile "TIS-620.map" final-byte ?T define-coding t) (viscii dimension 1 mapfile "VISCII.map" define-coding t) (vscii dimension 1 mapfile "VSCII.map" define-coding t) (georgian-ps dimension 1 mapfile "KA-PS.map" define-coding t) (georgian-academy dimension 1 mapfile "KA-ACADEMY.map" define-coding t) ;; Unicode subsets. (unicode-bmp method offset dimension 2 min-range 0x0000 max-range 0xFFFF min-char 0x0000) (unicode-devanagari method offset dimension 2 min-range 0x0900 max-range 0x097F min-char 0x0900) (unicode-tamil method offset dimension 2 min-range 0x0B80 max-range 0x0BFF min-char 0x0B80) (unicode-malayalam method offset dimension 2 min-range 0x0D00 max-range 0x0D7F min-char 0x0900) (unicode-lao method offset dimension 2 min-range 0x0E80 max-range 0x0EFF min-char 0x0E80) (unicode-tibetan method offset dimension 2 min-range 0x0F00 max-range 0x0FFF min-char 0x0F00) (unicode-ethiopic method offset dimension 2 min-range 0x1200 max-range 0x13FF min-char 0x1200) (unicode-khmer method offset dimension 2 min-range 0x1780 max-range 0x17FF min-char 0x1780) LAOO-ALICE.flt000064400000011462147633214350006634 0ustar00;; LAOO-ALICE.flt -- Font Layout Table for Lao (Alice font) ;; Copyright (C) 2003, 2004, 2005, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter laoo-alice nil (font (nil alice0\ lao apple-roman) (nil alice0\ lao iso8859-1))) ;;;
  • LAOO-ALICE.flt ;;; ;;; For the font ALICE0.TTF to draw Lao script. The font is ;;; available at: ;;; (category ;; C: CONSONANT (except for c and s) ;; c: TALL CONSONANT ;; s: LAO SEMIVOWEL SIGN LO ;; A: VOWEL AM ;; V: VOWEL UPPER ;; v: VOWEL LOWER ;; T: TONE ;; I: INDEPENDENT VOWEL (except for A) ;; S: SIGN (0x0E81 0x0E82 ?C) (0x0E84 ?C) (0x0E87 0x0E88 ?C) (0x0E8A ?C) (0x0E8D ?C) (0x0E94 0x0E97 ?C) (0x0E99 0x0E9E ?C) (0x0E9B ?c) (0x0E9D ?c) (0x0E9F ?c) (0x0EA1 0x0EA3 ?C) (0x0EA2 ?c) (0x0EA5 ?C) (0x0EA7 ?C) (0x0EAA 0x0EAB ?C) (0x0EAD 0x0EAE ?C) (0x0EAF ?S) (0x0EB0 ?I) (0x0EB1 ?V) (0x0EB2 ?I) (0x0EB3 ?A) (0x0EB4 0x0EB7 ?V) (0x0EB8 0x0EB9 ?v) (0x0EBB ?V) (0x0EBC ?s) (0x0EBD ?I) (0x0EC0 0x0EC4 ?I) (0x0EC6 ?S) (0x0EC8 0x0ECC ?T) (0x0ECD ?V) (0x0EDC 0x0EDD ?C)) (generator (0 (cond ("(Cs?)(T?A)" < (1 independent semi-vowel) (2 am-after-normal-c) > ) ("(cs?)(T?A)" < (1 independent semi-vowel) (2 am-after-tall-c) > ) ("(Cs?)([vV]?T?)" < (1 independent semi-vowel) (2 vowel-tone-after-c *) > ) ("(cs?)([vV]?T?)" < (1 independent semi-vowel) (2 Br ) ("[sVvTA]" \[ isolated-dependent \]) ("." independent)) *) (independent (cond ((0x0E81) 0xA1) ((0x0E82) 0xA2) ((0x0E84) 0xA3) ((0x0E87) 0xA4) ((0x0E88) 0xA5) ((0x0E8A) 0xA7) ((0x0E8D) 0xA8) ((0x0E94) 0xA9) ((0x0E95) 0xAA) ((0x0E96) 0xAB) ((0x0E97) 0xEA) ((0x0E99) 0xAD) ((0x0E9A) 0xAE) ((0x0E9B) 0xAF) ((0x0E9C) 0xB0) ((0x0E9D) 0xB1) ((0x0E9E) 0xB2) ((0x0E9F) 0xB3) ((0x0EA1) 0xB4) ((0x0EA2) 0xB5) ((0x0EA3) 0xEB) ((0x0EA5) 0xEC) ((0x0EA7) 0xB8) ((0x0EAA) 0xA6) ((0x0EAB) 0xB9) ((0x0EAD) 0xBA) ((0x0EAE) 0xBB) ;; ((0x0EAF) ??) ((0x0EB0) 0xBD) ((0x0EB2) 0xBE) ((0x0EB3) 0xBF) ((0x0EB4) \[ 0xF2 \]) ((0x0EBD) 0xBC) ((0x0EC0) 0xC0) ((0x0EC1) 0xC1) ((0x0EC2) 0xC2) ((0x0EC3) 0xC3) ((0x0EC4) 0xC4) ((0x0EC6) 0xC5) ((0x0EC6) 0xC5) ((0x0EDC) 0xCE) ((0x0EDD) 0xCF))) (semi-vowel ((0x0EBC) 0xF9)) (am-after-normal-c (cond ((0x0EB3) 0xED) ((0x0EC8 0x0EB3) 0xEE) ((0x0EC9 0x0EB3) 0xEF) ((0x0ECA 0x0EB3) 0xFC 0xED) ((0x0ECB 0x0EB3) 0xFD 0xED) ((0x0ECC 0x0EB3) 0xFE 0xED))) (am-after-tall-c (cond ((0x0EB3) 0xD6 0xBE) ((0x0EC8 0x0EB3) 0xD2 0xBE) ((0x0EC9 0x0EB3) 0xD3 0xBE) ((0x0ECA 0x0EB3) 0xFC 0xF0 0xBE) ((0x0ECB 0x0EB3) 0xFD 0xF0 0xBE) ((0x0ECC 0x0EB3) 0xFE 0xF0 0xBE))) (vowel-tone-after-c (cond ((0x0EB1 0x0EC8) 0x84) ((0x0EB1 0x0EC9) 0x98) ((0x0EB1) 0xD7) ((0x0EB4 0x0EC8) 0x85) ((0x0EB4 0x0EC9) 0x99) ((0x0EB4) 0xD8) ((0x0EB5 0x0EC8) 0x86) ((0x0EB5 0x0EC9) 0x9A) ((0x0EB5) 0xD9) ((0x0EB6 0x0EC8) 0x87) ((0x0EB6 0x0EC9) 0x9B) ((0x0EB6) 0xDA) ((0x0EB7 0x0EC8) 0x88) ((0x0EB7 0x0EC9) 0x9C) ((0x0EB7) 0xDB) ((0x0EB8) 0xF7) ((0x0EB9) 0xF8) ((0x0EBB 0x0EC8) 0x89) ((0x0EBB 0x0EC9) 0x9D) ((0x0EBB) 0xDC) ((0x0EC8) tr+bl 0xC8) ((0x0EC9) tr+bl 0xC9) ((0x0ECA) tr+bl 0xCA) ((0x0ECB) tr+bl 0xCB) ((0x0ECC) tr+bl 0xCC) ((0x0ECD) 0xD6))) (isolated-dependent (cond ((0x0EB1) 0xF1) ((0x0EB4) 0xF2) ((0x0EB5) 0xF3) ((0x0EB6) 0xF4) ((0x0EB7) 0xF5) ((0x0EB8) 0xF7) ((0x0EB9) 0xF8) ((0x0EBB) 0xF6) ((0x0EC8) 0xC8) ((0x0EC9) 0xC9) ((0x0ECA) 0xCA) ((0x0ECB) 0xCB) ((0x0ECC) 0xCC) ((0x0ECD) 0xD6)))) ;; Copyright (C) 2003, 2004, 2005, 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. ;; Local Variables: ;; mode: lisp ;; End: MLYM-CDAC.flt000064400000014542147633214350006537 0ustar00;; MLYM-CDAC.flt -- Font Layout Table for Malayalam (C-DAC font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter mlym-cdac nil (font (malayalam-cdac) (nil ml-ttkarthika apple-roman))) ;;;
  • MLYM-CDAC.flt (category (0x0D00 0x0D7F ?E) ; all malayalam characters (0x0D02 ?A) ; ANUSVARA (0x0D03 ?G) ; VISARGA (0x0D05 0x0D14 ?V) ; independent vowel (0x0D15 0x0D39 ?C) ; consonant (0x0D3E 0x0D4C ?M) ; dependent vowel (MATRA) (0x0D4D ?H) ; HALANT ) (generator (0 (cond ("(VA?)|G|((CH)?(CH)?(CH)?CH)?C(H|M?[AH]?)?" | glyph * |) ("." glyph )) * ) (glyph (cond ;; various sign ((0x0D02) 0x77) ((0x0D03) 0x78) ;; Independent Vowels ((0x0D05) 0x41) ((0x0D06) 0x42) ((0x0D07) 0x43) ((0x0D08) 0x43 0x75) ((0x0D09) 0x44) ((0x0D0A) 0x44 0x75) ((0x0D0B) 0x45) ((0x0D0C) 0x23) ((0x0D0E) 0x46) ((0x0D0F) 0x47) ((0x0D10) 0x73 0x46) ((0x0D12) 0x48) ((0x0D13) 0x48 0x6D) ((0x0D14) 0x48 0x75) ;; Consonants ((0x0D15 0x0D4D 0x0D15 0x0D41) 0xE7) ((0x0D15 0x0D4D 0x0D15) 0xA1) ((0x0D15 0x0D4D 0x0D33) 0xA2) ((0x0D15 0x0D4D 0x0D37) 0xA3) ((0x0D15 0x0D4D 0x0D1F) 0xCE) ((0x0D15 0x0D4D 0x0D24) 0xE0) ((0x0D15 0x0D41) 0xE6) ((0x0D15 0x0D41) 0xE6) ((0x0D15) 0x49) ((0x0D16) 0x4A) ((0x0D17 0x0D4D 0x0D17) 0xA4) ((0x0D17 0x0D4D 0x0D32) 0xA5) ((0x0D17 0x0D4D 0x0D2E) 0xDC) ((0x0D17 0x0D4D 0x0D28) 0xE1) ((0x0D17) 0x4B) ((0x0D18) 0x4C) ((0x0D19 0x0D4D 0x0D15) 0xA6) ((0x0D19 0x0D4D 0x0D19) 0xA7) ((0x0D19 0x0D4D 0x0D15 0x0D41) 0xE8) ((0x0D19) 0x4D) ((0x0D1A 0x0D4D 0x0D1A) 0xA8) ((0x0D1A 0x0D4D 0x0D1B) 0xD1) ((0x0D1A) 0x4E) ((0x0D1B) 0x4F) ((0x0D1C 0x0D4D 0x0D1C) 0xD6) ((0x0D1C 0x0D4D 0x0D1E) 0xDA) ((0x0D1C) 0x50) ((0x0D1D) 0x51) ((0x0D1E 0x0D4D 0x0D1A) 0xA9) ((0x0D1E 0x0D4D 0x0D1E) 0xAA) ((0x0D1E) 0x52) ((0x0D1F 0x0D4D 0x0D1F) 0xAB) ((0x0D1F) 0x53) ((0x0D20) 0x54) ((0x0D21 0x0D4D 0x0D21) 0xCD) ((0x0D21) 0x55) ((0x0D22) 0x56) ((0x0D23 0x0D41 0x0D4D) 0xAC) ((0x0D23 0x0D41) 0xE9) ((0x0D23 0x0D4D 0x0D1F) 0xAD) ((0x0D23 0x0D4D 0x0D23) 0xAE) ((0x0D23 0x0D4D 0x0D2E) 0xD7) ((0x0D23 0x0D4D 0x0D21) 0xDE) ((0x0D23) 0x57) ((0x0D24 0x0D4D 0x0D24) 0xAF) ((0x0D24 0x0D4D 0x0D25) 0xB0) ((0x0D24 0x0D4D 0x0D38) 0xD5) ((0x0D24 0x0D4D 0x0D2D) 0xDB) ((0x0D24 0x0D4D 0x0D2E) 0xDF) ((0x0D24) 0x58) ((0x0D25) 0x59) ((0x0D26 0x0D4D 0x0D26) 0xB1) ((0x0D26 0x0D4D 0x0D27) 0xB2) ((0x0D26) 0x5A) ((0x0D27) 0x5B) ((0x0D28 0x0D41 0x0D4D) 0xB3) ((0x0D28 0x0D41) 0xEB) ((0x0D28 0x0D4D 0x0D24) 0xB4) ((0x0D28 0x0D4D 0x0D26) 0xB5) ((0x0D28 0x0D4D 0x0D28 0x0D41) 0xEC) ((0x0D28 0x0D4D 0x0D28) 0xB6) ((0x0D28 0x0D4D 0x0D2E) 0xB7) ((0x0D28 0x0D4D 0x0D27) 0xD4) ((0x0D28 0x0D4D 0x0D25) 0xD9) ((0x0D28 0x0D4D 0x0D31) 0xE2) ((0x0D28) 0x5C) ((0x0D2A 0x0D4D 0x0D2A) 0xB8) ((0x0D2A 0x0D4D 0x0D32) 0xB9) ((0x0D2A) 0x5D) ((0x0D2B) 0x5E) ((0x0D2C 0x0D4D 0x0D2C) 0xBA) ((0x0D2C 0x0D4D 0x0D32) 0xBB) ((0x0D2C 0x0D4D 0x0D27) 0xCF) ((0x0D2C 0x0D4D 0x0D26) 0xD0) ((0x0D2C) 0x5F) ((0x0D2D) 0x60) ((0x0D2E 0x0D4D 0x0D2A) 0xBC) ((0x0D2E 0x0D4D 0x0D2E) 0xBD) ((0x0D2E 0x0D4D 0x0D32) 0xBE) ((0x0D2E) 0x61) ((0x0D2F) 0x62) ((0x0D2F 0x0D4D 0x0D2F) 0xBF) ((0x0D2F 0x0D4D 0x0D15 0x0D4D 0x0D15) 0xED) ((0x0D30 0x0D41 0x0D4D) 0xC0) ((0x0D30 0x0D41) 0xEA) ((0x0D30) 0x63) ((0x0D31 0x0D4D 0x0D31) 0xE4) ((0x0D31 0x0D4D) 0xC0) ((0x0D31 0x0D41 0x0D4D) 0xC0) ((0x0D31) 0x64) ((0x0D32 0x0D41 0x0D4D) 0xC2) ((0x0D32 0x0D4D 0x0D32) 0xC3) ((0x0D32 0x0D4D 0x0D2A) 0xE5) ((0x0D32) 0x65) ((0x0D33 0x0D41 0x0D4D) 0xC4) ((0x0D33 0x0D4D 0x0D33) 0xC5) ((0x0D33) 0x66) ((0x0D34) 0x67) ((0x0D35 0x0D4D 0x0D35) 0xC6) ((0x0D35) 0x68) ((0x0D36 0x0D4D 0x0D32) 0xC7) ((0x0D36 0x0D4D 0x0D36) 0xC8) ((0x0D36 0x0D4D 0x0D1A) 0xDD) ((0x0D36) 0x69) ((0x0D37 0x0D4D 0x0D1F) 0xE3) ((0x0D37) 0x6A) ((0x0D38 0x0D4D 0x0D32) 0xC9) ((0x0D38 0x0D4D 0x0D38) 0xCA) ((0x0D38 0x0D4D 0x0D31 0x0D4D 0x0D31) 0xCC) ((0x0D38 0x0D4D 0x0D25) 0xD8) ((0x0D38) 0x6B) ((0x0D39 0x0D4D 0x0D32) 0xCB) ((0x0D39 0x0D4D 0x0D2E) 0xD2) ((0x0D39 0x0D4D 0x0D28) 0xD3) ((0x0D39) 0x6C) ;; Dependent vowel signs ((0x0D3E) 0x6D) ((0x0D3F) 0x6E) ((0x0D40) 0x6F) ((0x0D41) 0x70) ((0x0D42) 0x71) ((0x0D43) 0x72) ((0x0D46) 0x73) ((0x0D47) 0x74) ((0x0D48) 0x73 0x73) ((0x0D4A) 0x73 0x6D) ((0x0D4B) 0x74 0x6D) ((0x0D4C) 0x75) ;; Various signs ((0x0D4D 0x0D2F 0x0D41) 0x7C) ((0x0D4D 0x0D2F 0x0D42) 0x7D) ((0x0D4D 0x0D2F) 0x79) ((0x0D4D 0x0D30 0x0D4D) 0x72) ((0x0D4D 0x0D30) 0x7B) ((0x0D4D 0x0D31 0x0D4D) 0x72) ((0x0D4D 0x0D31) 0x7B) ((0x0D4D 0x0D35) 0x7A) ((0x0D4D 0x0D4D) 0x76) ((0x0D4D) 0x76) ((0x0D57) 0x75)))) (category (0x00 0xFF ?M) (0x49 0x6C ?C) (0x73 ?E) ; E (0x74 ?e) ; EE (0x79 ?Y) ; yakar (0x7A ?V) ; vakar (0x7B ?R) ; rrakar (0xA1 0xE5 ?C)) (generator (0 (cond (" (C[YV]?)(R) " < (2 =) (1 = *) >) (" (R?C[YV]?)(EE?) " < (2 = *) (1 = *) >) (" (R?C[YV]?)(e) " < (2 = ) (1 = *) >) (" ([^ ]*) " < (1 = *) >) ("." [ = ])) *)) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: ORY2-OTF.flt000064400000014055147633214350006451 0ustar00;; ORY2-OTF.flt -- Font Layout Table for ory2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter ory2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=ory2))) ;;;
  • ORY2-OTF.flt ;;; ;;; For ory2 OpenType fonts to draw the Oriya script. ;; base blwf b u rphf a pstf p A (category (0x0B00 0x0B7F ?X) ; generic (0x0B01 ?a) ; SIGN CANDRABINDU (0x0B02 0x0B03 ?A) ; SIGN ANUSVARA .. VISARGA (0x0B05 0x0B14 ?V) ; LETTER A .. VOCALIC AU (0x0B15 0x0B39 ?C) ; LETTER KA .. HA (0x0B30 ?R) ; LETTER RA (0x0B3C ?n) ; SIGN NUKTA (0x0B3E ?p) ; VOWEL SIGN AA (0x0B3F ?u) ; VOWEL SIGN I (0x0B40 ?p) ; VOWEL SIGN II (0x0B41 0x0B44 ?b) ; VOWEL SIGN U .. VOCALIC RR (0x0B47 ?m) ; VOWEL SIGN E (0x0B4D ?H) ; SIGN VIRAMA (0x0B56 ?u) ; AI LENGTH MARK (0x0B57 ?p) ; AU LENGTH MARK (0x0B5C 0x0B5F ?C) ; LETTER RRA .. YYA (0x0B60 0x0B61 ?V) ; LETTER VOCALIC RR .. LL (0x0B62 0x0B63 ?b) ; VOWEL SIGN VOCALIC L .. LL (0x0B71 ?C) ; LETTER WA (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) (pstf ?P) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x0B48) 0x0B47 0x0B56) ((0x0B4B) 0x0B47 0x0B3E) ((0x0B4C) 0x0B47 0x0B57) ;; Compose consonant and nukta. ((0x0B21 0x0B3C) 0x0B5C) ((0x0B22 0x0B3C) 0x0B5D) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?Vn?(J?H[CR])?m?u?b?p?n?a?A?" < | = * | >) ;; Consonant-based syllables ("([CR]n?J?HJ?)*[CR]n?(H[NJ]?|m?u?b?p?n?)a?A?" < | = * | >) ;; Two-part vowel signs ((0x0B47 0x0B56) (cond ((font-facility 0x25CC) < 0x0B47 0x25CC 0x0B56 >) (".+" < 0x0B48 >))) ((0x0B47 0x0B3E) (cond ((font-facility 0x25CC) < 0x0B47 0x25CC 0x0B3E >) (".+" < 0x0B4B >))) ((0x0B47 0x0B57) (cond ((font-facility 0x25CC) < 0x0B47 0x25CC 0x0B57 >) (".+" < 0x0B4C >))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("JH[CR]" (cond ((font-facility 0x25CC) < 0x25CC :otf=ory2=blwf,pstf+ >) (".+" [ :otf=ory2=blwf,pstf+ ]))) ("." =)) *)) ;; Stage 2 ;; Basic shaping forms and matra reordering (generator (0 (cond ;; Explicit halant form starting with RA + H + ZWJ ;; 1 2 3 4 (" (RHJ[CRnHJ]+)(H)N?(a)?(A)? " (1 :otf?ory2=locl,nukt,akhn,blwf,pstf+) | (1 b4post) (3 =) (1 post) (2 =) (4 =) |) ;; Explicit halant form starting with a reph ;; 1 2 3 4 5 (" (RH)([CRnHJ]+)(H)N?(a)?(A)? " (2 :otf?ory2=locl,nukt,akhn,blwf,pstf+) | (1 :otf=ory2=rphf+) (2 b4post) (4 =) (2 post) (3 =) (5 =) |) ;; Other explicit halant forms ;; 1 2 3 4 (" ([CRnHJ]+)(H)N?(a)?(A)? " (1 :otf?ory2=locl,nukt,akhn,blwf,pstf+) | (1 b4post) (3 =) (1 post) (2 =) (4 =) |) ;; Ordinary syllables starting with RA + H + ZWJ ;; 1 2 3 4 5 6 (" (RHJ[CRnHJ]*)(mn?)?(u?b?n?)(pn?)?(a)?(A)? " (1 :otf?ory2=locl,nukt,akhn,blwf,pstf+) | (2 = *) (1 b4post) (3 = *) (5 =) (1 post) (4 = *) (6 =) |) ;; Ordinary syllables starting with a reph ;; 1 2 3 4 5 6 7 (" (RH)([CRnHJV]+)(mn?)?(u?b?n?)(pn?)?(a)?(A)? " (2 :otf?ory2=locl,nukt,akhn,blwf,pstf+) | (3 = *) (1 :otf=ory2=rphf+) (2 b4post) (4 = *) (6 =) (2 post) (5 = *) (7 =) |) ;; Other ordinary syllables ;; 1 2 3 4 5 6 (" ([CRnHJV]+)(mn?)?(u?b?n?)(pn?)?(a)?(A)? " (1 :otf?ory2=locl,nukt,akhn,blwf,pstf+) | (2 = *) (1 b4post) (3 = *) (5 =) (1 post) (4 = *) (6 =) |) ("." =)) *) (b4post (cond ("([CRnHJP]*[CRV]n?)((J?PP)+)$" (1 :otf=ory2=locl,nukt,akhn,blwf,cjct+)) (".+" (0 :otf=ory2=locl,nukt,akhn,blwf,cjct+)))) (post (cond ("[CRnHJP]*[CRV]n?((J?PP)+)$" (1 :otf=ory2=pstf+)))) ) ;; Stage 3 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 4 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^HP ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^aPpA ]+)(a?P*H?p?n?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 5 ;; Nukta for matra and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=ory2=nukt,pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 6 ;; Remove ZWJ (generator (0 (cond ("J") ("." =)) *)) ;; Stage 7 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=ory2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: MLM2-OTF.flt000064400000013711147633214350006423 0ustar00;; MLM2-OTF.flt -- Font Layout Table for mlm2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter mlm2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=mlm2))) ;;;
  • MLM2-OTF.flt ;;; ;;; For mlm2 OpenType fonts to draw the Malayalam script. ;; Observed behaviour of Uniscribe in combination with kartika.ttf: ;; 1. Only the last RA can take the pref form. This last RA can come ;; a) just before blwf consonants ;; b) between blwf consonants and pstf consonants, or ;; c) after pstf consonants. ;; 2. Multiple blwf forms are allowed anywhere in a syllable as long ;; as the context (the combination of the preceding consonant and the ;; blwf consonant) permits. ;; 3. Multiple pstf forms are allowed as long as they are the last ;; consonants, optionally followed by a RA. ;; About chillu letters: ;; The sequence "consonant + VIRAMA + ZWJ" represents a chillu letter, ;; which makes an independent syllable. The only exception is "CHILLU ;; N + RRA" (0D7B 0D31) and its equivalent "NA + VIRAMA + ZWJ + RRA" ;; (0D28 0D4D 200D 0D31), which make a ligature. (category (0x0D00 0x0D7F ?X) ; generic (0x0D02 0x0D03 ?A) ; SIGN ANUSVARA .. VISARGA (0x0D05 0x0D14 ?V) ; LETTER A .. AU (0x0D15 0x0D39 ?C) ; LETTER KA .. HA (0x0D3E 0x0D44 ?p) ; VOWEL SIGN AA .. VOCALIC RR (0x0D46 0x0D48 ?m) ; VOWEL SIGN E .. AI (0x0D4D ?H) ; SIGN VIRAMA (0x0D57 ?p) ; AU LENGTH MARK (0x0D60 0x0D61 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0D62 0x0D63 ?b) ; VOWEL SIGN VOCALIC L .. LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (akhn ?C) (blwf ?B) (pstf ?P) (pref ?R) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs ((0x0D4A) 0x0D46 0x0D3E) ((0x0D4B) 0x0D47 0x0D3E) ((0x0D4C) 0x0D46 0x0D57) ;; Replace CHILLU N + RRA with a pseudo-consonant ((0x0D7B 0x0D31) :otf=mlm2=akhn+) ((0x0D28 0x0D4D 0x200D 0x0D31) :otf=mlm2=akhn+) ;; Other chillu letters ((0x0D23 0x0D4D 0x200D) 0x0D7A) ((0x0D28 0x0D4D 0x200D) 0x0D7B) ((0x0D30 0x0D4D 0x200D) 0x0D7C) ((0x0D32 0x0D4D 0x200D) 0x0D7D) ((0x0D33 0x0D4D 0x200D) 0x0D7E) ((0x0D15 0x0D4D 0x200D) 0x0D7F) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Consonant-based syllables ("(CJ?HJ?)*C(H[NJ]?|m?b?p?)A?" < | = * | >) ;; Syllables with an independent vowel ("V(J?HC)?m?b?p?A?" < | = * | >) ;; Two-part vowel signs ((0x0D46 0x0D3E) (cond ((font-facility 0x25CC) < 0x0D46 0x25CC 0x0D3E >) (".+" < 0x0D4A >))) ((0x0D47 0x0D3E) (cond ((font-facility 0x25CC) < 0x0D47 0x25CC 0x0D3E >) (".+" < 0x0D4B >))) ((0x0D46 0x0D57) (cond ((font-facility 0x25CC) < 0x0D46 0x25CC 0x0D57 >) (".+" < 0x0D4C >))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[HbpA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ((0x200D 0x0D4D 0x0D30) (cond ((font-facility 0x25CC) < :otf=mlm2=pref+ 0x25CC >) (".+" [ :otf=mlm2=pref+ ]))) ("JHC" (cond ((font-facility 0x25CC) < 0x25CC :otf=mlm2=blwf,pstf+ >) (".+" [ :otf=mlm2=blwf,pstf+ ]))) ("." =)) *)) ;; Stage 2 ;; Basic shaping forms and matra reordering (generator (0 :otf?mlm2=locl,akhn,pref,blwf,pstf+ (cond ;; pref after pstf ;; 1 23 4 5 6 7 (" ([CRBPHJ]*[CRBV])((J?PP)*)J?(RR)(H[NJ]?)?(m)?(b?p?A?) " | (6 =) (4 :otf=mlm2=pref+) (1 :otf=mlm2=locl,akhn,blwf,half,cjct+) (2 :otf=mlm2=pstf+) (5 = *) (7 = *) |) ;; pref between blwf and pstf ;; 1 2 34 5 6 7 (" ([CRBPHJV]+)(RR)((J?PP)+)(H[NJ]?)?(m)?(b?p?A?) " | (6 =) (2 :otf=mlm2=pref+) (1 :otf=mlm2=locl,akhn,blwf,half,cjct+) (3 :otf=mlm2=pstf+) (5 = *) (7 = *) |) ;; pref before blwf ;; 1 2 34 56 7 8 9 (" ([CRBPHJV]+)(RR)((J?BB)+)((J?PP)*)(H[NJ]?)?(m)?(b?p?A?) " | (8 =) (2 :otf=mlm2=pref+) (1 :otf=mlm2=locl,akhn,blwf,half,cjct+) (3 :otf=mlm2=blwf+) (5 :otf=mlm2=pstf+) (7 = *) (9 = *) |) ;; no pref ;; 1 23 4 5 6 (" ([CRBPHJ]*[CRBV])((J?PP)*)(H[NJ]?)?(m)?(b?p?A?) " | (5 =) (1 :otf=mlm2=locl,akhn,blwf,half,cjct+) (2 :otf=mlm2=pstf+) (4 = *) (6 = *) |) ("." =)) *)) ;; Stage 3 ;; Final reordering (Move pre-base matra and pre-base RA after the last halant) (generator (0 (cond ;; 1 2 3 (" (m?R?)([^ ]+H)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 4 ;; Presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=mlm2=pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 5 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 6 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=mlm2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: bo-wylie.mim000064400000014535147633214350007017 0ustar00;; bo-wylie.mim -- Tibetan input method with Wylie method ;; Copyright (C) 2003, 2004, 2005, 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 bo wylie) (description "Tibetan input method based on the Wylie transliteration. It is actually the re-implementation of Emacs' tibetan-wylie input method, and is slightly different from Extended Wylie Transliteration Scheme (EWTS). The exact EWTS-based input method is in bo-ewts.mim.") (title "ཀ") (map (consonant ("'" "འ") ("A" "ཨ") ("D" "ཌ") ("DH" "ཌྷ") ("H" "ཧ") ("N" "ཎ") ("R" "ཪ") ("SH" "ཥ") ("T" "ཊ") ("TH" "ཋ") ("b" "བ") ("bh" "བྷ") ("bl" "བླ") ("bld" "བལྡ") ("blt" "བལྟ") ("br" "བྲ") ("brd" "བརྡ") ("brdz" "བརྫ") ("brg" "བརྒ") ("brj" "བརྗ") ("brk" "བརྐ") ("brl" "བརླ") ("brn" "བརྣ") ("brng" "བརྔ") ("brny" "བརྙ") ("brt" "བརྟ") ("brts" "བརྩ") ("by" "བྱ") ("c" "ཅ") ("ch" "ཆ") ("cw" "ཅྭ") ("d" "ད") ("dh" "དྷ") ("dr" "དྲ") ("dw" "དྭ") ("dz" "ཛ") ("dzh" "ཛྷ") ("dzr" "ཛྲ") ("g" "ག") ("gh" "གྷ") ("gl" "གླ") ("gr" "གྲ") ("grw" "གྲྭ") ("gw" "གྭ") ("gy" "གྱ") ("h" "ཧ") ("hr" "ཧྲ") ("hw" "ཧྭ") ("j" "ཇ") ("jr" "ཇྲ") ("k" "ཀ") ("kSH" "ཀྵ") ("kh" "ཁ") ("khr" "ཁྲ") ("khw" "ཁྭ") ("khy" "ཁྱ") ("kl" "ཀླ") ("kr" "ཀྲ") ("kw" "ཀྭ") ("ky" "ཀྱ") ("l" "ལ") ("lb" "ལྦ") ("lc" "ལྕ") ("ld" "ལྡ") ("lg" "ལྒ") ("lh" "ལྷ") ("lj" "ལྗ") ("lk" "ལྐ") ("ln" "ལྣ") ("lng" "ལྔ") ("lp" "ལྤ") ("lt" "ལྟ") ("lw" "ལྭ") ("m" "མ") ("mr" "མྲ") ("my" "མྱ") ("n" "ན") ("ng" "ང") ("ny" "ཉ") ("nyw" "ཉྭ") ("p" "པ") ("ph" "ཕ") ("phr" "ཕྲ") ("phy" "ཕྱ") ("phyw" "ཕྱྭ") ("pr" "པྲ") ("py" "པྱ") ("r" "ར") ("rb" "རྦ") ("rd" "རྡ") ("rdz" "རྫ") ("rg" "རྒ") ("rgw" "རྒྭ") ("rgy" "རྒྱ") ("rj" "རྗ") ("rk" "རྐ") ("rky" "རྐྱ") ("rl" "རླ") ("rm" "རྨ") ("rmy" "རྨྱ") ("rn" "རྣ") ("rng" "རྔ") ("rny" "རྙ") ("rt" "རྟ") ("rts" "རྩ") ("rtsw" "རྩྭ") ("rw" "རྭ") ("s" "ས") ("sb" "སྦ") ("sbr" "སྦྲ") ("sby" "སྦྱ") ("sd" "སྡ") ("sg" "སྒ") ("sgr" "སྒྲ") ("sgy" "སྒྱ") ("sh" "ཤ") ("shr" "ཤྲ") ("shw" "ཤྭ") ("sk" "སྐ") ("skr" "སྐྲ") ("sky" "སྐྱ") ("sl" "སླ") ("sm" "སྨ") ("smr" "སྨྲ") ("smy" "སྨྱ") ("sn" "སྣ") ("sng" "སྔ") ("snr" "སྣྲ") ("sny" "སྙ") ("sp" "སྤ") ("spr" "སྤྲ") ("spy" "སྤྱ") ("sr" "སྲ") ("st" "སྟ") ("sts" "སྩ") ("sw" "སྭ") ("t" "ཏ") ("th" "ཐ") ("thr" "ཐྲ") ("tr" "ཏྲ") ("ts" "ཙ") ("tsh" "ཚ") ("tshw" "ཚྭ") ("tsw" "ཙྭ") ("tw" "ཏྭ") ("w" "ཝ") ("y" "ཡ") ("z" "ཟ") ("zh" "ཞ") ("zhw" "ཞྭ") ("zl" "ཟླ") ("zw" "ཟྭ")) (subjoined ("+tsh" "ྪ") ("+dzh" "ྫྷ") ("+kSH" "ྐྵ") ("+kh" "ྑ") ("+gh" "ྒྷ") ("+ng" "ྔ") ("+ch" "ྖ") ("+ny" "ྙ") ("+TH" "ྛ") ("+DH" "ྜྷ") ("+th" "ྠ") ("+dh" "ྡྷ") ("+ph" "ྥ") ("+bh" "ྦྷ") ("+ts" "ྩ") ("+dz" "ྫ") ("+zh" "ྮ") ("+sh" "ྴ") ("+SH" "ྵ") ("+k" "ྐ") ("+g" "ྒ") ("+c" "ྕ") ("+j" "ྗ") ("+T" "ྚ") ("+D" "ྜ") ("+N" "ྞ") ("+t" "ྟ") ("+d" "ྡ") ("+n" "ྣ") ("+p" "ྤ") ("+b" "ྦ") ("+m" "ྨ") ("+w" "ྭ") ("+z" "ྯ") ("+'" "ྰ") ("+y" "ྱ") ("+r" "ྲ") ("+l" "ླ") ("+s" "ྶ") ("+h" "ྷ") ("+A" "ྸ") ("+W" "ྺ") ("+Y" "ྻ") ("+R" "ྼ")) (non-stacking ("-d" "ད") ("-y" "ཡ")) (vowel ("frr" "ཷ") ("fll" "ཹ") ("fa" "ཱ") ("fi" "ཱི") ("fu" "ཱུ") ("fr" "ྲྀ") ("fl" "ླྀ") ("fI" "ཱྀ") ("ai" "ཻ") ("au" "ཽ") ("ee" "ཻ") ("oo" "ཽ") ("a") ("i" "ི") ("u" "ུ") ("e" "ེ") ("o" "ོ") ("E" "ཻ") ("O" "ཽ") ("I" "ྀ") ("," "྄")) (modifier ("M" "ཾ") ("~" "ྂ") ("`" "ྃ") ("x" "ྈ") ("X" "ྉ") ("v" "྆") ("V" "྇") ("q" "ྊ") ("Q" "ྋ") ("_/" "༙") ("_o" "༷") ("_O" "༵")) (punctuation ("." " ") (":" "ཿ") (" " "་") ("/" "།") ("//" "༎") ("////" "༎ ༎") ("$" "༏") ("/\"" "༐") ("&" "༐") (";" "༑") ("%" "༔") ("!" "༈") ("<" "༼") (">" "༽") ("@" "྅") ("*" "༄༅") ("#" "༄༅༅") ("^" "༆") ("0" "༠") ("1" "༡") ("2" "༢") ("3" "༣") ("4" "༤") ("5" "༥") ("6" "༦") ("7" "༧") ("8" "༨") ("9" "༩") ("-0" "༳") ("-1" "༪") ("-2" "༫") ("-3" "༬") ("-4" "༭") ("-5" "༮") ("-6" "༯") ("-7" "༰") ("-8" "༱") ("-9" "༲") ("|" "ༀ" "༁" "༂" "༃" "༇" "༉" "༊" "༒" "༓" "༕" "༖" "༗" "༘" "༙" "༚" "༛" "༜" "༝" "༞" "༟" "༴" "༶" "༸" "༺" "༻" "༾" "༿" "྾" "྿" "࿀" "࿁" "࿂" "࿃" "࿄" "࿅" "࿆" "࿇" "࿈" "࿉" "࿊" "࿋" "࿌" "࿏"))) (state (init (consonant (shift svm)) (subjoined) (non-stacking (shift svm)) (vowel) (modifier) (punctuation)) (svm (subjoined) (vowel (shift vm)) (modifier (shift m))) (vm (vowel) (modifier (shift m))) (m (modifier))) ;; Local Variables: ;; mode: lisp ;; End: lo-lrt.mim000064400000013537147633214350006502 0ustar00;; lo-lrt.mim -- Lao input method with Lao-Roman transliteration ;; Copyright (C) 2003, 2004, 2005, 2008 ;; 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 lo lrt) (description "Lao input method using Lao-Roman transliteration. ") (title "ກ") (map (consonant ("k" "ກ") ("kh" "ຂ") ("qh" "ຄ") ("ng" "ງ") ("j" "ຈ") ("s" "ສ") ("x" "ຊ") ("y" "ຍ") ("d" "ດ") ("t" "ຕ") ("th" "ຖ") ("dh" "ທ") ("n" "ນ") ("b" "ບ") ("p" "ປ") ("hp" "ຜ") ("fh" "ຝ") ("ph" "ພ") ("f" "ຟ") ("m" "ມ") ("gn" "ຢ") ("l" "ລ") ("r" "ຣ") ("v" "ວ") ("w" "ວ") ("hh" "ຫ") ("O" "ອ") ("h" "ຮ") ("nh" "ໜ") ("mh" "ໝ") ("lh" "ຫຼ") ("ngh" "ຫງ") ("yh" "ຫຽ") ("wh" "ຫວ") ("hl" "ຫລ") ("hy" "ຫຍ") ("hn" "ຫນ") ("hm" "ຫມ") ) (semi-vowel ("r" (move 1) "ຼ" (move @>))) (vowel-simple ("hya" "ຽ") ("ar" "າ") ("i" "ິ" (mark TONE)) ("ii" "ີ" (mark TONE)) ("eu" "ຶ" (mark TONE)) ("ur" "ື" (mark TONE)) ("u" "ຸ" (mark TONE)) ("uu" "ູ" (mark TONE)) ("aM" "ຳ") ("ee" (move @-) (move @-) "ເ" (move @+) (move @+)) ("aa" (move @-) (move @-) "ແ" (move @+) (move @+)) ("oo" (move @-) (move @-) "ໂ" (move @+) (move @+)) ("ai" (move @-) (move @-) "ໄ" (move @+) (move @+)) ("ei" (move @-) (move @-) "ໃ" (move @+) (move @+)) ("er" (move @-) (move @-) "ເ" (move @+) (move @+) "ິ" (mark TONE)) ("ir" (move @-) (move @-) "ເ" (move @+) (move @+) "ີ" (mark TONE)) ("ea" (move @-) (move @-) "ເ" (move @+) (move @+) "ຶ" (mark TONE) "ອ") ("eaa" (move @-) (move @-) "ເ" (move @+) (move @+) "ື" (mark TONE) "ອ") ("ao" (move @-) (move @-) "ເ" (move @+) (move @+) "ົ" (mark TONE) "າ")) (vowel-a-e-ae ("a" "ະ") ("e" (move @-) (move @-) "ເ" (move @+) (move @+) "ະ") ("ae" (move @-) (move @-) "ແ" (move @+) (move @+) "ະ")) (vowel-oe ("oe" (move @-) (move @-) "ເ" (move @+) (move @+) "າະ")) (vowel-o ("o" (move @-) (move @-) "ໂ" (move @+) (move @+) "ະ")) (vowel-or ("or" "ໍ" (mark TONE))) (vowel-ua ("ua" "ົ" (mark TONE) "ວະ")) (vowel-uaa ("uaa" "ົ" (mark TONE) "ວ")) (vowel-ie ("ie" (move @-) (move @-) "ເ" (move @+) (move @+) "ັ" (mark TONE) "ຽະ")) (vowel-ia ("ia" (move @-) (move @-) "ເ" (move @+) (move @+) "ັ" (mark TONE) "ຽ")) (maa-sakod ("k" "ກ") ("g" "ງ") ("y" "ຍ") ("d" "ດ") ("n" "ນ") ("b" "ບ") ("m" "ມ") ("v" "ວ") ("w" "ວ")) (maa-sakod-y-v ("y" "ຍ") ("v" "ວ") ("w" "ວ")) (maa-sakod-non-y-v ("k" "ກ") ("g" "ງ") ("d" "ດ") ("n" "ນ") ("b" "ບ") ("m" "ມ")) (tone ("'" (move TONE) "່" (move @>)) ("\"" (move TONE) "້" (move @>)) ("^" (move TONE) "໊" (move @>)) ("+" (move TONE) "໋" (move @>)) ("~" (move TONE) "໌" (move @>))) (punctuation ("\\0" "໐") ("\\1" "໑") ("\\2" "໒") ("\\3" "໓") ("\\4" "໔") ("\\5" "໕") ("\\6" "໖") ("\\7" "໗") ("\\8" "໘") ("\\9" "໙") ("\\\\" "ໆ") ("\\$" "ຯ"))) (state (init (consonant (move 1) (mark TONE) (move @>) (shift c-state)) (vowel-simple) (vowel-a-e-ae) (vowel-oe) (vowel-o) (vowel-or) (vowel-ua) (vowel-uaa) (vowel-ie) (vowel-ia) (tone) (punctuation)) (c-state (semi-vowel (shift cs-state)) (nil (shift cs-state))) (cs-state (vowel-simple (shift csv-state)) (vowel-a-e-ae (shift csv-a-e-ae-state)) (vowel-oe (shift csv-oe-state)) (vowel-o (shift csv-o-state)) (vowel-or (shift csv-or-state)) (vowel-ua (shift csv-ua-state)) (vowel-uaa (shift csv-uaa-state)) (vowel-ie (shift csv-ie-state)) (vowel-ia (shift csv-ia-state)) (nil (shift csv-state))) (csv-state (maa-sakod (shift csvm-state)) (nil (shift csvm-state))) (csv-a-e-ae-state (maa-sakod (move @-) (delete @-) "ັ" (mark TONE) (move @>) (shift csvm-state)) (nil (shift csvm-state))) (csv-oe-state (maa-sakod (move @-) (delete @-) (delete @-) "ັ" (mark TONE) "ອ" (move @>) (shift csvm-state)) (nil (shift csvm-state))) (csv-o-state (maa-sakod-y-v (move @-) (delete @-) "ັ" (mark TONE) (move @>) (shift csvm-state)) (maa-sakod-non-y-v (move @-) (delete @-) "ົ" (mark TONE) (move 0) (delete @+) (move @>) (shift csvm-state)) (nil (shift csvm-state))) (csv-or-state (maa-sakod (move @-) (delete @-) "ອ" (move @+) (shift csvm-state)) (nil (shift csvm-state))) (csv-ua-state (maa-sakod (move @-) (delete -3) "ັວ" (move @+) (shift csvm-state)) (nil (shift csvm-state))) (csv-uaa-state (maa-sakod (move @-) (move @-) (delete @-) (move @+) (move @+) (shift csvm-state)) (nil (shift csvm-state))) (csv-ie-state (maa-sakod (move @-) (delete @-) (move @+) (shift csvm-state)) (nil (shift csvm-state))) (csv-ia-state (maa-sakod (move @-) (move @-) (delete @-) (move @+) (move @+) (shift csvm-state)) (nil (shift csvm-state))) (csvm-state (tone (shift init)))) ;; Local Variables: ;; mode: lisp ;; End: fa-isiri.mim000064400000005451147633214350006770 0ustar00;; fa-isiri.mim -- Input method for Farsi with ISIRI 2901-1994 keyboad layout ;; Copyright (C) 2003, 2004, 2005 ;; 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 fa isiri) (description "Farsi input method simulating ISIRI 2901-1994 keyboard layout. This is for typing Farsi by Arabic characters. ") (title "ف") (map (generic ("1" "۱") ("2" "۲") ("3" "۳") ("4" "۴") ("5" "۵") ("6" "۶") ("7" "۷") ("8" "۸") ("9" "۹") ("0" "۰") ;; ("-" "-") ;; ("=" "=") ;; ("\\" "\\") ("`" "‍") ; zero width joiner ("q" "ض") ("w" "ص") ("e" "ث") ("r" "ق") ("t" "ف") ("y" "غ") ("u" "ع") ("i" "ه") ("o" "خ") ("p" "ح") ("[" "ج") ("]" "چ") ("a" "ش") ("s" "س") ("d" "ی") ("f" "ب") ("g" "ل") ("h" "ا") ("j" "ت") ("k" "ن") ("l" "م") (";" "ک") ("'" "گ") ("z" "ظ") ("x" "ط") ("c" "ز") ("v" "ر") ("b" "ذ") ("n" "د") ("m" "پ") ("," "و") ;; ("." ".") ;; ("/" "/") ;; ("!" "!") ("@" "٬") ("#" "٫") ;; ("$" "") ("%" "٪") ("^" "×") ("&" "،") ;; ("*" "*") ("\(" "\)") ("\)" "\(") ;; ("_" "_") ;; ("+" "+") ;; ("|" "|") ;; ("~" "~") ("Q" "ْ") ("W" "ٌ") ("E" "ٍ") ("R" "ً") ("T" "ُ") ("Y" "ِ") ("U" "َ") ("I" "ّ") ("O" "]") ("P" "[") ("{" "}") ("}" "{") ("A" "ؤ") ("S" "ئ") ("D" "ي") ("F" "إ") ("G" "أ") ("H" "آ") ("J" "ة") ("K" "»") ("L" "«") ;; (":" ":") ("\"" "؛") ("Z" "ك") ;; ("X" "") ("C" "ژ") ;; ("V" "") ("B" "‌") ; zero width non joiner ("N" "") ("M" "ء") ("<" ">") (">" "<") ("?" "؟") ((S-\ ) "‌") ; zero width non joiner ((C-J) "‍") ; zero width joiner ((C-L) "‎") ; left to right mark ((C-N) "‌") ; zero width non joiner ((C-R) "‏") ; right to left mark )) (state (init (generic))) ;; Local Variables: ;; mode: lisp ;; End: bo-tcrc.mim000064400000011337147633214350006616 0ustar00;; bo-tcrc.mim -- Tibetan input method with TCRC keyboard layout ;; 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 bo tcrc) (description "Tibetan input method using the TCRC keyboard layout. For more information, see the page: http://www.tibet.net/tb/download/tcrckbd.rtf ") (title "ཀ") (map (map ("!" "༑") ("@" "༄") ("#" "༄༅") ("^" "྾") ("&" "༼") ("*" "༽") ("_" "ཱྀ") ("+" "ཾ") ("|" "༈") ("`" "༌") ("1" "༡") ("2" "༢") ("3" "༣") ("4" "༤") ("5" "༥") ("6" "༦") ("7" "༧") ("8" "༨") ("9" "༩") ("0" "༠") ("-" "ྀ") ("=" "ྃ") ("\\" "༔") ("Q" (cond ((= @-1 0x0F84) (delete @-1) "ྛ") (1 "ཋ"))) ("W" "ྭ") ("E" "ཻ") ("R" (cond ((= @-1 0x0F84) (delete @-1) "ྲ྄") (1 "ར྄"))) ("T" (cond ((= @-1 0x0F84) (delete @-1) "ྠ") (1 "ཐ"))) ("Y" "-") ("U" "ཱུ") ("I" "ཱི") ("O" "ཽ") ("P" (cond ((= @-1 0x0F84) (delete @-1) "ྥ") (1 "ཕ"))) ("{" "`") ("}" "+") ("q" (cond ((= @-1 0x0F84) (delete @-1) "ྚ") (1 "ཊ"))) ("w" (cond ((= @-1 0x0F84) (delete @-1) "ྭ") (1 "ཝ"))) ("e" "ེ") ("r" (cond ((= @-1 0x0F84) (delete @-1) "ྲ") (1 "ར"))) ("t" (cond ((= @-1 0x0F84) (delete @-1) "ྟ") (1 "ཏ"))) ("y" (cond ((= @-1 0x0F84) (delete @-1) "ྱ") (1 "ཡ"))) ("u" "ུ") ("i" "ི") ("o" "ོ") ("p" (cond ((= @-1 0x0F84) (delete @-1) "ྤ") (1 "པ"))) ("[" "'") ("]" ",") ("A" (cond ((= @-1 0x0F84) (delete @-1) "ྸ") (1 "ཨ"))) ("S" (cond ((= @-1 0x0F84) (delete @-1) "ྴ") (1 "ཤ"))) ("D" (cond ((= @-1 0x0F84) (delete @-1) "ྫ") (1 "ཛ"))) ("F" (cond ((= @-1 0x0F84) (delete @-1) "ྡྷ") (1 "དྷ"))) ("G" (cond ((= @-1 0x0F84) (delete @-1) "ྒྷ") (1 "གྷ"))) ("H" "ྷ") ("J" (cond ((= @-1 0x0F84) (delete @-1) "ྫྷ") (1 "ཛྷ"))) ("K" (cond ((= @-1 0x0F84) (delete @-1) "ྑ") (1 "ཁ"))) ("L" (cond ((= @-1 0x0F84) (delete @-1) "ླ྄") (1 "ལ྄"))) (":" "ཿ") ("\"" "ཱ") ("a" "྄") ("s" (cond ((= @-1 0x0F84) (delete @-1) "ྶ") (1 "ས"))) ("d" (cond ((= @-1 0x0F84) (delete @-1) "ྡ") (1 "ད"))) ("f" (cond ((= @-1 0x0F84) (delete @-1) "ྔ") (1 "ང"))) ("g" (cond ((= @-1 0x0F84) (delete @-1) "ྒ") (1 "ག"))) ("h" (cond ((= @-1 0x0F84) (delete @-1) "ྷ") (1 "ཧ"))) ("j" (cond ((= @-1 0x0F84) (delete @-1) "ྗ") (1 "ཇ"))) ("k" (cond ((= @-1 0x0F84) (delete @-1) "ྐ") (1 "ཀ"))) ("l" (cond ((= @-1 0x0F84) (delete @-1) "ླ") (1 "ལ"))) (";" (cond ((= @-1 0x0F84) (delete @-1) "ྜྷ") (1 "ཌྷ"))) ("'" (cond ((= @-1 0x0F84) (delete @-1) "ྰ") (1 "འ"))) ("Z" (cond ((= @-1 0x0F84) (delete @-1) "ྮ") (1 "ཞ"))) ("X" (cond ((= @-1 0x0F84) (delete @-1) "ྪ") (1 "ཚ"))) ("C" (cond ((= @-1 0x0F84) (delete @-1) "ྖ") (1 "ཆ"))) ("V" (cond ((= @-1 0x0F84) (delete @-1) "ྞ") (1 "ཎ"))) ("B" (cond ((= @-1 0x0F84) (delete @-1) "ྦྷ") (1 "བྷ"))) ("N" (cond ((= @-1 0x0F84) (delete @-1) "ྙ") (1 "ཉ"))) ("M" (cond ((= @-1 0x0F84) (delete @-1) "ྵ") (1 "ཥ"))) ("<" "ླ") (">" (cond ((= @-1 0x0F84) (delete @-1) "ྲ྄") (1 "ཪ྄"))) ("?" (cond ((= @-1 0x0F84) (delete @-1) "ྶ྄") (1 "ས྄"))) ("z" (cond ((= @-1 0x0F84) (delete @-1) "ྯ") (1 "ཟ"))) ("x" (cond ((= @-1 0x0F84) (delete @-1) "ྩ") (1 "ཙ"))) ("c" (cond ((= @-1 0x0F84) (delete @-1) "ྕ") (1 "ཅ"))) ("v" (cond ((= @-1 0x0F84) (delete @-1) "ྜ") (1 "ཌ"))) ("b" (cond ((= @-1 0x0F84) (delete @-1) "ྦ") (1 "བ"))) ("n" (cond ((= @-1 0x0F84) (delete @-1) "ྣ") (1 "ན"))) ("m" (cond ((= @-1 0x0F84) (delete @-1) "ྨ") (1 "མ"))) ("." "ྲ") ("," "ྱ") ("/" (cond ((| (= @-1 0x0F44) (= @-1 0x0F94)) "་")) "།") (" " (cond ((& (| (= @-2 0x0F42) (= @-2 0x0F92)) (= @-1 0x0F0B)) (delete @-1)) (1 "་"))) )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: ko-han2.mim000064400000031276147633214350006530 0ustar00;; ko-han2.mim -- Input method for Korean Hangul ;; Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010 ;; 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. ;;; @if FOR_LATEX ;;; Hangul input method with 2-bul style. ;;; @endif ;;; @if FOR_HTML ;;; Hangul input method with 2벌식. ;;; @endif ;;; This input method uses this keyboard layout: ;;; @image html ko-han2.png "Keyboard Layout" ;;; @image latex ko-han2.eps "Keyboard Layout" width=\narrowwidth ;; ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ ;; │1!│2@│3#│4$│5%│6^│7&│8*│9(│0)│-_│=+│`~│ ;; └┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┘ ;; │ㅃ│ㅉ│ㄸ│ㄲ│ㅆ│ │ │ │ㅒ│ㅖ│{ │} │ ;; │ㅂ│ㅈ│ㄷ│ㄱ│ㅅ│ㅛ│ㅕ│ㅑ│ㅐ│ㅔ│[ │] │ ;; └┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐ ;; │ㅁ│ㄴ│ㅇ│ㄹ│ㅎ│ㅗ│ㅓ│ㅏ│ㅣ│;:│'"│\|│ ;; └┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┘ ;; │ㅋ│ㅌ│ㅊ│ㅍ│ㅠ│ㅜ│ㅡ│,<│.>│/?│ ;; └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘ (input-method ko han2) (description "Hangul input method with 2벌식. This input method uses this keyboard layout: KEY: r R s e E f a q Q t T d w W c z x v g k i j p P u h y n b m l o O 한글:ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅑㅓㅔㅖㅕㅗㅛㅜㅠㅡㅣㅐㅒ ") (title "한2") (macro (compose ;; Convert Jamo sequence LV[T] into a precomposed character. ;; See the Unicode Standard Version 3.0, Section 3.11. (> L 0 ((set LIndex L) (sub LIndex 0x1100) (set VIndex V) (sub VIndex 0x1161) (set TIndex T) (sub TIndex 0x11A7) ;; S = (LIndex * VCount + Vindex) * TCount + TIndex + SBase (set S LIndex) (mul S 21) ;; VCount (add S VIndex) (mul S 28) ;; TCount (add S TIndex) (add S 0xAC00) ;; SBase (delete @<) (insert S))))) (map (L-or-T-head ("q") ("Q") ("w") ("W") ("e") ("E") ("r") ("R") ("t") ("T") ("a") ("s") ("S") ("d") ("D") ("f") ("F") ("g") ("G") ("z") ("x") ("c") ("C") ("v")) (L-or-T ;; Set L1 to CHOSEONG, T to JONGSEONG. ("r" (set L1 ?ᄀ) (set T ?ᆨ) ?ㄱ (compose)) ("R" (set L1 ?ᄁ) (set T ?ᆩ) ?ㄲ (compose)) ("s" (set L1 ?ᄂ) (set T ?ᆫ) ?ㄴ (compose)) ("e" (set L1 ?ᄃ) (set T ?ᆮ) ?ㄷ (compose)) ("f" (set L1 ?ᄅ) (set T ?ᆯ) ?ㄹ (compose)) ("a" (set L1 ?ᄆ) (set T ?ᆷ) ?ㅁ (compose)) ("q" (set L1 ?ᄇ) (set T ?ᆸ) ?ㅂ (compose)) ("t" (set L1 ?ᄉ) (set T ?ᆺ) ?ㅅ (compose)) ("T" (set L1 ?ᄊ) (set T ?ᆻ) ?ㅆ (compose)) ("d" (set L1 ?ᄋ) (set T ?ᆼ) ?ㅇ (compose)) ("w" (set L1 ?ᄌ) (set T ?ᆽ) ?ㅈ (compose)) ("c" (set L1 ?ᄎ) (set T ?ᆾ) ?ㅊ (compose)) ("z" (set L1 ?ᄏ) (set T ?ᆿ) ?ㅋ (compose)) ("x" (set L1 ?ᄐ) (set T ?ᇀ) ?ㅌ (compose)) ("v" (set L1 ?ᄑ) (set T ?ᇁ) ?ㅍ (compose)) ("g" (set L1 ?ᄒ) (set T ?ᇂ) ?ㅎ (compose)) ;;("sr" (set L1 ?ᄓ) (set T ?ᇅ) ?ᄓ (compose)) ;;("se" (set L1 ?ᄕ) (set T ?ᇆ) ?ㅦ (compose)) ;;("er" (set L1 ?ᄗ) (set T ?ᇊ) ?ᄗ (compose)) ;;("fs" (set L1 ?ᄘ) (set T ?ᇍ) ?ᄘ (compose)) ;;("F" (set L1 ?ᄙ) (set T ?ᇐ) ?ᄙ (compose)) ;;("fg" (set L1 ?ᄚ) (set T ?ᆶ) ?ㅀ (compose)) ;;("aq" (set L1 ?ᄜ) (set T ?ᇜ) ?ㅮ (compose)) ;;("ad" (set L1 ?ᄝ) (set T ?ᇢ) ?ㅱ (compose)) ;;("qt" (set L1 ?ᄡ) (set T ?ᆹ) ?ㅄ (compose)) ;;("qv" (set L1 ?ᄪ) (set T ?ᇤ) ?ᄪ (compose)) ;;("qd" (set L1 ?ᄫ) (set T ?ᇦ) ?ㅸ (compose)) ;;("tr" (set L1 ?ᄭ) (set T ?ᇧ) ?ㅺ (compose)) ;;("te" (set L1 ?ᄯ) (set T ?ᇨ) ?ㅼ (compose)) ;;("tf" (set L1 ?ᄰ) (set T ?ᇩ) ?ᄰ (compose)) ;;("tq" (set L1 ?ᄲ) (set T ?ᇪ) ?ㅽ (compose)) ;;("t/" (set L1 ?ᅀ) (set T ?ᇫ) ?ㅿ (compose)) ;;("dr" (set L1 ?ᅁ) (set T ?ᇬ) ?ᅁ (compose)) ;;("dt" (set L1 ?ᅅ) (set T ?ᇱ) ?ㆂ (compose)) ;;("dt/" (set L1 ?ᅆ) (set T ?ᇲ) ?ㆃ (compose)) ;;("d/" (set L1 ?ᅌ) (set T ?ᇰ) ?ㆁ (compose)) ;;("vq" (set L1 ?ᅖ) (set T ?ᇳ) ?ᅖ (compose)) ;;("vd" (set L1 ?ᅗ) (set T ?ᇴ) ?ㆄ (compose)) ;;("g/" (set L1 ?ᅙ) (set T ?ᇹ) ?ㆆ (compose)) ) (L ;; Set L to CHOSEONG. ("rr" (set L ?ᄁ) ?ㄲ) ("E" (set L ?ᄄ) ?ㄸ) ("ee" (set L ?ᄄ) ?ㄸ) ("Q" (set L ?ᄈ) ?ㅃ) ("qq" (set L ?ᄈ) ?ㅃ) ("tt" (set L ?ᄊ) ?ㅆ) ("W" (set L ?ᄍ) ?ㅉ) ("ww" (set L ?ᄍ) ?ㅉ) ;;("S" (set L ?ᄔ) ?ㅥ) ;;("sq" (set L ?ᄖ) ?ᄖ) ;;("fd" (set L ?ᄛ) ?ᄛ) ;;("qr" (set L ?ᄞ) ?ㅲ) ;;("qs" (set L ?ᄟ) ?ᄟ) ;;("qe" (set L ?ᄠ) ?ㅳ) ;;("qtr" (set L ?ᄢ) ?ㅴ) ;;("qte" (set L ?ᄣ) ?ㅵ) ;;("qtq" (set L ?ᄤ) ?ᄤ) ;;("qtt" (set L ?ᄥ) ?ᄥ) ;;("qtw" (set L ?ᄦ) ?ᄦ) ;;("qw" (set L ?ᄧ) ?ㅶ) ;;("qc" (set L ?ᄨ) ?ᄨ) ;;("qx" (set L ?ᄩ) ?ㅷ) ;;("Qd" (set L ?ᄬ) ?ㅹ) ;;("ts" (set L ?ᄮ) ?ㅻ) ;;("ta" (set L ?ᄱ) ?ᄱ) ;;("tqr" (set L ?ᄳ) ?ᄳ) ;;("tT" (set L ?ᄴ) ?ᄴ) ;;("td" (set L ?ᄵ) ?ᄵ) ;;("tw" (set L ?ᄶ) ?ㅾ) ;;("tc" (set L ?ᄷ) ?ᄷ) ;;("tz" (set L ?ᄸ) ?ᄸ) ;;("tx" (set L ?ᄹ) ?ᄹ) ;;("tv" (set L ?ᄺ) ?ᄺ) ;;("tg" (set L ?ᄻ) ?ᄻ) ;;("tt" (set L ?ᄼ) ?ᄼ) ;;("TT" (set L ?ᄽ) ?ᄽ) ;;("tt/" (set L ?ᄾ) ?ᄾ) ;;("TT/'" (set L ?ᄿ) ?ᄿ) ;;("ds" (set L ?ᅂ) ?ᅂ) ;;("da" (set L ?ᅃ) ?ᅃ) ;;("dq" (set L ?ᅄ) ?ᅄ) ;;("D" (set L ?ᅇ) ?ㆀ) ;;("dw" (set L ?ᅈ) ?ᅈ) ;;("dc" (set L ?ᅉ) ?ᅉ) ;;("dx" (set L ?ᅊ) ?ᅊ) ;;("dv" (set L ?ᅋ) ?ᅋ) ;;("wd" (set L ?ᅍ) ?ᅍ) ;;("ww" (set L ?ᅎ) ?ᅎ) ;;("WW" (set L ?ᅏ) ?ᅏ) ;;("ww/" (set L ?ᅐ) ?ᅐ) ;;("WW/" (set L ?ᅑ) ?ᅑ) ;;("cz" (set L ?ᅒ) ?ᅒ) ;;("cg" (set L ?ᅓ) ?ᅓ) ;;("cc" (set L ?ᅔ) ?ᅔ) ;;("cc/" (set L ?ᅕ) ?ᅕ) ;;("G" (set L ?ᅘ) ?ㆅ) ;;("C" (set L ?ᅟ) ?ᅟ) ) (V-head ("y") ("u") ("i") ("o") ("p") ("O") ("P") ("h") ("j") ("k") ("K") ("l") ("b") ("n") ("m")) (V ;; Set V to JUNGSEONG. ("k" (set V ?ᅡ) ?ㅏ (compose)) ("o" (set V ?ᅢ) ?ㅐ (compose)) ("i" (set V ?ᅣ) ?ㅑ (compose)) ("O" (set V ?ᅤ) ?ㅒ (compose)) ("j" (set V ?ᅥ) ?ㅓ (compose)) ("p" (set V ?ᅦ) ?ㅔ (compose)) ("u" (set V ?ᅧ) ?ㅕ (compose)) ("P" (set V ?ᅨ) ?ㅖ (compose)) ("h" (set V ?ᅩ) ?ㅗ (compose)) ("hk" (set V ?ᅪ) ?ㅘ (compose)) ("ho" (set V ?ᅫ) ?ㅙ (compose)) ("hl" (set V ?ᅬ) ?ㅚ (compose)) ("y" (set V ?ᅭ) ?ㅛ (compose)) ("n" (set V ?ᅮ) ?ㅜ (compose)) ("nj" (set V ?ᅯ) ?ㅝ (compose)) ("np" (set V ?ᅰ) ?ㅞ (compose)) ("nl" (set V ?ᅱ) ?ㅟ (compose)) ("b" (set V ?ᅲ) ?ㅠ (compose)) ("m" (set V ?ᅳ) ?ㅡ (compose)) ("ml" (set V ?ᅴ) ?ㅢ (compose)) ("l" (set V ?ᅵ) ?ㅣ (compose)) ;;("kh" (set V ?ᅶ) ?ᅶ (compose)) ;;("kn" (set V ?ᅷ) ?ᅷ (compose)) ;;("ih" (set V ?ᅸ) ?ᅸ (compose)) ;;("iy" (set V ?ᅹ) ?ᅹ (compose)) ;;("jh" (set V ?ᅺ) ?ᅺ (compose)) ;;("jn" (set V ?ᅻ) ?ᅻ (compose)) ;;("jm" (set V ?ᅼ) ?ᅼ (compose)) ;;("uh" (set V ?ᅽ) ?ᅽ (compose)) ;;("un" (set V ?ᅾ) ?ᅾ (compose)) ;;("hj" (set V ?ᅿ) ?ᅿ (compose)) ;;("hp" (set V ?ᆀ) ?ᆀ (compose)) ;;("hP" (set V ?ᆁ) ?ᆁ (compose)) ;;("hh" (set V ?ᆂ) ?ᆂ (compose)) ;;("hn" (set V ?ᆃ) ?ᆃ (compose)) ;;("yi" (set V ?ᆄ) ?ㆇ (compose)) ;;("yO" (set V ?ᆅ) ?ㆈ (compose)) ;;("yu" (set V ?ᆆ) ?ᆆ (compose)) ;;("yh" (set V ?ᆇ) ?ᆇ (compose)) ;;("yl" (set V ?ᆈ) ?ㆉ (compose)) ;;("nk" (set V ?ᆉ) ?ᆉ (compose)) ;;("no" (set V ?ᆊ) ?ᆊ (compose)) ;;("njm" (set V ?ᆋ) ?ᆋ (compose)) ;;("nu" (set V ?ᆌ) ?ᆌ (compose)) ;;("nn" (set V ?ᆍ) ?ᆍ (compose)) ;;("bk" (set V ?ᆎ) ?ᆎ (compose)) ;;("bj" (set V ?ᆏ) ?ᆏ (compose)) ;;("bp" (set V ?ᆐ) ?ᆐ (compose)) ;;("bu" (set V ?ᆑ) ?ㆊ (compose)) ;;("bP" (set V ?ᆒ) ?ㆋ (compose)) ;;("bn" (set V ?ᆓ) ?ᆓ (compose)) ;;("bl" (set V ?ᆔ) ?ㆌ (compose)) ;;("mn" (set V ?ᆕ) ?ᆕ (compose)) ;;("mm" (set V ?ᆖ) ?ᆖ (compose)) ;;("mln" (set V ?ᆗ) ?ᆗ (compose)) ;;("lk" (set V ?ᆘ) ?ᆘ (compose)) ;;("li" (set V ?ᆙ) ?ᆙ (compose)) ;;("lh" (set V ?ᆚ) ?ᆚ (compose)) ;;("ln" (set V ?ᆛ) ?ᆛ (compose)) ;;("lm" (set V ?ᆜ) ?ᆜ (compose)) ;;("lK" (set V ?ᆝ) ?ᆝ (compose)) ;;("K" (set V ?ᆞ) ?ᆞ (compose)) ;;("Kj" (set V ?ᆟ) ?ᆟ (compose)) ;;("Kn" (set V ?ᆠ) ?ᆠ (compose)) ;;("Kl" (set V ?ᆡ) ?ᆡ (compose)) ;;("KK" (set V ?ᆢ) ?ᆢ (compose)) ) (T-or-TL ;; Set T to JONGSEONG, T1 to the alternate JONGSEONG. ("rr" (set T ?ᆩ) (set T1 ?ᆨ) ?ㄲ (compose)) ("rt" (set T ?ᆪ) (set T1 ?ᆨ) ?ㄳ (compose)) ("sw" (set T ?ᆬ) (set T1 ?ᆫ) ?ㄵ (compose)) ("sg" (set T ?ᆭ) (set T1 ?ᆫ) ?ㄶ (compose)) ("fr" (set T ?ᆰ) (set T1 ?ᆯ) ?ㄺ (compose)) ("fa" (set T ?ᆱ) (set T1 ?ᆯ) ?ㄻ (compose)) ("fq" (set T ?ᆲ) (set T1 ?ᆯ) ?ㄼ (compose)) ("ft" (set T ?ᆳ) (set T1 ?ᆯ) ?ㄽ (compose)) ("fx" (set T ?ᆴ) (set T1 ?ᆯ) ?ㄾ (compose)) ("fv" (set T ?ᆵ) (set T1 ?ᆯ) ?ㄿ (compose)) ("fg" (set T ?ᆶ) (set T1 ?ᆯ) ?ㅀ (compose)) ("qt" (set T ?ᆹ) (set T1 ?ᆸ) ?ㅄ (compose)) ("tt" (set T ?ᆻ) (set T1 ?ᆺ) ?ㅄ (compose)) ;;("rf" (set T ?ᇃ) ?ᇃ (compose)) ;;("rtr" (set T ?ᇄ) ?ᇄ (compose)) ;;("st" (set T ?ᇇ) ?ㅧ (compose)) ;;("st/" (set T ?ᇈ) ?ㅨ (compose)) ;;("sx" (set T ?ᇉ) ?ᇉ (compose)) ;;("ef" (set T ?ᇋ) ?ᇋ (compose)) ;;("frt" (set T ?ᇌ) ?ᇌ (compose)) ;;("fe" (set T ?ᇎ) ?ㅪ (compose)) ;;("feg" (set T ?ᇏ) ?ᇏ (compose)) ;;("far" (set T ?ᇑ) ?ᇑ (compose)) ;;("fat" (set T ?ᇒ) ?ᇒ (compose)) ;;("fqt" (set T ?ᇓ) ?ㅫ (compose)) ;;("fqg" (set T ?ᇔ) ?ᇔ (compose)) ;;("fqd" (set T ?ᇕ) ?ᇕ (compose)) ;;("ftt" (set T ?ᇖ) ?ᇖ (compose)) ;;("ft/" (set T ?ᇗ) ?ㅬ (compose)) ;;("fz" (set T ?ᇘ) ?ᇘ (compose)) ;;("fMd" (set T ?ᇙ) ?ㅭ (compose)) ;;("ar" (set T ?ᇚ) ?ᇚ (compose)) ;;("af" (set T ?ᇛ) ?ᇛ (compose)) ;;("at" (set T ?ᇝ) ?ㅯ (compose)) ;;("aT" (set T ?ᇞ) ?ᇞ (compose)) ;;("at/" (set T ?ᇟ) ?ㅰ (compose)) ;;("ac" (set T ?ᇠ) ?ᇠ (compose)) ;;("ag" (set T ?ᇡ) ?ᇡ (compose)) ;;("qf" (set T ?ᇣ) ?ᇣ (compose)) ;;("qg" (set T ?ᇥ) ?ᇥ (compose)) ;;("dR" (set T ?ᇭ) ?ᇭ (compose)) ;;("dt/" (set T ?ᇮ) ?ㆃ (compose)) ;;("dz" (set T ?ᇯ) ?ᇯ (compose)) ;;("gs" (set T ?ᇵ) ?ᇵ (compose)) ;;("gf" (set T ?ᇶ) ?ᇶ (compose)) ;;("ga" (set T ?ᇷ) ?ᇷ (compose)) ;;("gq" (set T ?ᇸ) ?ᇸ (compose)) ) (special ("J" (set V ?ᅠ) ?ᅠ (compose))) (backspace ((BackSpace) (cond ((> @@ 1) (undo)) (1 (unhandle)))))) (state (init ;; This is to suppress compose action. (t (set L 0)) (L-or-T (set L L1) (set T 0x11A7) (shift state-L)) (L (set T 0x11A7) (shift state-L)) (V) (special) (backspace)) (state-L (V (shift state-LV)) (backspace)) (state-LV (L-or-T (shift state-LVL-or-LVT)) (T-or-TL (shift state-LVT-or-LVTL)) (backspace)) (state-LVL-or-LVT (L-or-T-head (delete @<) (pushback 0) (set L 0) (shift state-fix-LVT)) (V-head (delete @<) (pushback 0) (set L 0) (shift state-fix-LV)) (backspace)) (state-fix-LVT (L-or-T (set L L1) (set T 0x11A7) (shift state-fix-LVT-2)) (L (set T 0x11A7) (shift state-fix-LVT-2))) (state-fix-LVT-2 (V (shift state-fix-LVT-3))) (state-fix-LVT-3 (L-or-T (shift init))) (state-fix-LV (L-or-T (set L L1) (set T 0x11A7) (shift state-fix-LV-2)) (L (set T 0x11A7) (shift state-fix-LV-2))) (state-fix-LV-2 (V (shift init))) ;; e.g. "rkrt" (state-LVT-or-LVTL (L-or-T-head ;; e.g. "rkrtr"; make the last "r" start a new composing. (pushback 1) (shift init)) (V-head ;; e.g. "rkrth"; make the last "th" start a new composing. (delete @<) (set T T1) (compose) (pushback 2) (shift init)) (backspace))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: el-kbd.mim000064400000005552147633214350006425 0ustar00;; el-kbd.mim -- Greek input method with Greek keyboard layout ;; Copyright (C) 2003, 2004, 2005 ;; 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 for Greek simulating Greek keyboard. ;;; @image html el-kbd.png "Keyboard Layout" ;;; @image latex el-kbd.eps "Keyboard Layout" width=\narrowwidth ;; 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ `~ ;; ;: ςΣ εΕ ρΡ τΤ υΥ θΘ ιΙ οΟ πΠ [{ ]} ;; αΑ σΣ δΔ φΦ γΓ ηΗ ξΞ κΚ λΛ ΄¨ '" \| ;; ζΖ χΧ ψΨ ωΩ βΒ νΝ μΜ ,< .> /? (input-method el kbd) (description "Greek input method simulating the Greek keyboard. 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ `~ ;: ςΣ εΕ ρΡ τΤ υΥ θΘ ιΙ οΟ πΠ [{ ]} αΑ σΣ δΔ φΦ γΓ ηΗ ξΞ κΚ λΛ ΄¨ '\" \\| ζΖ χΧ ψΨ ωΩ βΒ νΝ μΜ ,< .> /? ") (title "Ψ") (map (map ("q" ?\;) ("w" ?ς) ("e" ?ε) ("r" ?ρ) ("t" ?τ) ("y" ?υ) ("u" ?θ) ("i" ?ι) ("o" ?ο) ("p" ?π) ("[" ?\[) ("]" ?\]) ("a" ?α) ("s" ?σ) ("d" ?δ) ("f" ?φ) ("g" ?γ) ("h" ?η) ("j" ?ξ) ("k" ?κ) ("l" ?λ) (";" ?΄) ("z" ?ζ) ("x" ?χ) ("c" ?ψ) ("v" ?ω) ("b" ?β) ("n" ?ν) ("m" ?μ) ("Q" ?:) ("W" ?Σ) ("E" ?Ε) ("R" ?Ρ) ("T" ?Τ) ("Y" ?Υ) ("U" ?Θ) ("I" ?Ι) ("O" ?Ο) ("P" ?Π) ("A" ?Α) ("S" ?Σ) ("D" ?Δ) ("F" ?Φ) ("G" ?Γ) ("H" ?Η) ("J" ?Ξ) ("K" ?Κ) ("L" ?Λ) (":" ?¨) ("Z" ?Ζ) ("X" ?Χ) ("C" ?Ψ) ("V" ?Ω) ("B" ?Β) ("N" ?Ν) ("M" ?Μ) (";a" ?ά) (";e" ?έ) (";h" ?ή) (";i" ?ί) (";o" ?ό) (";y" ?ύ) (";v" ?ώ) (";A" ?Ά) (";E" ?Έ) (";H" ?Ή) (";I" ?Ί) (";O" ?Ό) (";Y" ?Ύ) (";V" ?Ώ) (":i" ?ϊ) (":y" ?ϋ) (":I" ?Ϊ) (":Y" ?Ϋ) (";:i" ?ΐ) (":;i" ?ΐ) (";:y" ?ΰ) (":;y" ?ΰ))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: ru-phonetic.mim000064400000005754147633214350007530 0ustar00;; ru-phonetic.mim -- Russian input method with YAWERTY keyboard layout ;; 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., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Input method for Russian simulating the keyboard layout based on ;;; Roman transcription by phonetic resemblance. ;;; @image html ru-phonetic.png "Keyboard Layout" ;;; @image latex ru-phonetic.eps "Keyboard Layout" width=\narrowwidth ;; 1! 2@ 3ё 4Ё 5ъ 6Ъ 7& 8* 9( 0) -_ чЧ юЮ ;; яЯ вВ еЕ рР тТ ыЫ уУ иИ оО пП шШ щЩ ;; аА сС дД фФ гГ хХ йЙ кК лЛ ;: '" эЭ ;; зЗ ьЬ цЦ жЖ бБ нН мМ ,< .> /? ;; This layout is based on ru_phonetic map in XKB of Xorg. (input-method ru phonetic) (description "Rusian input method simulating the Yawerty keyboard layout. This keyboard is based on Roman transcription by phonetic resemblance. 1! 2@ 3ё 4Ё 5ъ 6Ъ 7& 8* 9( 0) -_ чЧ юЮ яЯ вВ еЕ рР тТ ыЫ уУ иИ оО пП шШ щЩ аА сС дД фФ гГ хХ йЙ кК лЛ ;: '\" эЭ зЗ ьЬ цЦ жЖ бБ нН мМ ,< .> /? This layout is based on ru_phonetic map in XKB of Xorg.") (title "Я") (map (map ("#" ?ё) ("$" ?Ё) ("%" ?ъ) ("^" ?Ъ) ("=" ?ч) ("+" ?Ч) ("`" ?ю) ("~" ?Ю) ("q" ?я) ("Q" ?Я) ("w" ?в) ("W" ?В) ("e" ?е) ("E" ?Е) ("r" ?р) ("R" ?Р) ("t" ?т) ("T" ?Т) ("y" ?ы) ("Y" ?Ы) ("u" ?у) ("U" ?У) ("i" ?и) ("I" ?И) ("o" ?о) ("O" ?О) ("p" ?п) ("P" ?П) ("[" ?ш) ("{" ?Ш) ("]" ?щ) ("}" ?Щ) ("a" ?а) ("A" ?А) ("s" ?с) ("S" ?С) ("d" ?д) ("D" ?Д) ("f" ?ф) ("F" ?Ф) ("g" ?г) ("G" ?Г) ("h" ?х) ("H" ?Х) ("j" ?й) ("J" ?Й) ("k" ?к) ("K" ?К) ("l" ?л) ("L" ?Л) ("\\" ?э) ("|" ?Э) ("z" ?з) ("Z" ?З) ("x" ?ь) ("X" ?Ь) ("c" ?ц) ("C" ?Ц) ("v" ?ж) ("V" ?Ж) ("b" ?б) ("B" ?Б) ("n" ?н) ("N" ?Н) ("m" ?м) ("M" ?М))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: DEVA-OTF.flt000064400000015612147633214350006435 0ustar00;; DEVA-OTF.flt -- Font Layout Table for Devanagari OpenType fonts ;; Copyright (C) 2003, 2004, 2007, 2008, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter deva-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=deva))) ;;;
  • DEVA-OTF.flt ;;; ;;; For Devanagari OpenType fonts to draw the Devanagari script. ;; Accepted modifier sequence: ;; 1. matra (pre, below, above, post) ;; 2. candrabindu (0901) or anusvara (0902) ;; 3. udatta (0951) or anudatta (0952) ;; 4. grave (0953) or acute (0954) ;; 5. visarga (0903) ;; Rendering glyph order: ;; 1. below matra ;; 2. anudatta (0952) ;; 3. above- or post matra ;; 4. reph ;; 5. candrabindu (0901) or anusvara (0902) ;; 6. udatta (0951) ;; 7. visarga (0903) (category ;; X: generic ;; V: independent vowel ;; C: consonant (except for RA) ;; R: consonant RA ;; n: NUKTA ;; H: HALANT ;; m: vowel sign (pre) ;; u: vowel sign (above) ;; b: vowel sign (below) ;; p: vowel sign (post) ;; a: vowel modifier (above) ;; A: vowel modifier (post) ;; s: stress sign / accent (above) ;; S: stress sign (below) ;; N: ZWNJ ;; J: ZWJ (0x0900 0x097F ?X) ; generic (0x0900 0x0902 ?a) ; SIGN INVERTED CANDRABINDU .. ANUSVARA (0x0903 ?A) ; SIGN VISARGA (0x0904 0x0914 ?V) ; LETTER SHORT A .. AU (0x0915 0x0939 ?C) ; LETTER KA .. HA (0x0930 ?R) ; LETTER RA (0x093C ?n) ; SIGN NUKTA (0x093E ?p) ; VOWEL SIGN AA (0x093F ?m) ; VOWEL SIGN I (0x0940 ?p) ; VOWEL SIGN II (0x0941 0x0944 ?b) ; VOWEL SIGN UU .. VOCALIC RR (0x0945 0x0948 ?u) ; VOWEL SIGN CANDRA E .. AI (0x0949 0x094C ?p) ; VOWEL SIGN CANDRA O .. AU (0x094D ?H) ; SIGN VIRAMA (0x094E ?m) ; VOWEL SIGN PRISHTHAMATRA E (0x0951 ?s) ; STRESS SIGN UDATTA (0x0952 ?S) ; STRESS SIGN ANUDATTA (0x0953 0x0954 ?t) ; GRAVE ACCENT .. ACUTE ACCENT (0x0955 ?u) ; VOWEL SIGN CHANDRA LONG E (0x0958 0x095F ?C) ; LETTER QA .. YYA (0x0960 0x0961 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0962 0x0963 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x0972 ?V) ; LETTER CANDRA A (0x0979 0x097F ?C) ; LETTER ZHA .. BBA (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Compose a consonant and a nukta ((0x0928 0x093C) 0x0929) ((0x0930 0x093C) 0x0931) ((0x0933 0x093C) 0x0934) ((0x0915 0x093C) 0x0958) ((0x0916 0x093C) 0x0959) ((0x0917 0x093C) 0x095A) ((0x091C 0x093C) 0x095B) ((0x0921 0x093C) 0x095C) ((0x0922 0x093C) 0x095D) ((0x092B 0x093C) 0x095E) ((0x092F 0x093C) 0x095F) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ;; ("(RH)?(Vn?)((J?HR)?m?u?b?p?n?a?[sS]?t?A?)" < | (1 = =) (2 :otf=deva=nukt+) (3 = *) | >) ;; Consonant-based syllables ;;1 23 4 ("([CR]n?((J?H|HJ?)[CR]n?)*)(H[NJ]?|m?u?b?p?n?a?[sS]?t?A?)" < | (cond (".+HJ$" :otf=deva=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=deva=nukt,akhn+) (2 =) 0x200C) (".+" :otf=deva=nukt,akhn+)) | >) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaSsA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf is displayed with a DOTTED CIRCLE in the next stage. ("(J)(H)(R)" < | (1 =) (3 =) (2 =) | >) ("." =)) *)) ;; Stage 2 ;; Reorder halant for blwf (generator (0 (cond ;; Isolated blwf (" J(RH) " (cond ((font-facility 0x25CC) < 0x25CC :otf=deva=blwf+ >) (" J(RH) " [ (1 :otf=deva=blwf+) ]))) ;; Syllables with an overt halant (" (RHJ?)?([^ ]+)(HN) " | (1 = *) (2 reorder) (3 = =) |) ;; Ordinary syllables (" (RHJ?)?([^mubpasStA ]+)(m?u?b?p?n?a?[sS]?t?A?) " | (1 = *) (2 reorder) (3 = *) |) ("." =)) *) ;; In Devanagari and Gujarati, vattu has a half form. Thus we handle ;; the sequence CHRHC as (CH)half + (RH)blwf + C instead of ;; reordering and interpreting it as C + (RH)blwf + H + C. (reorder (cond ("(.+)(H)(R)$" (1 = *) (3 =) (2 =)) (".+" = *))) ) ;; Stage 3 ;; Language forms and matra reordering (generator (0 (cond ;; Overt halant forms (" (RHJ?)?([^ ]+)(HN) " | (1 (cond ("RHJ" :otf=deva=half+) ("RH" :otf=deva=rphf+))) (2 (cond ("(.H)J?(.*)" (1 :otf=deva=half+) (2 lang-forms *)) (".+" lang-forms *))) (3 = =) |) ;; Other syllables ;; 1 2 3 4 5 6 7 8 (" (RHJ?)?([^mubpasStA ]*)(mn?)?(un?)?(bn?)?(p?n?a?)(S)?(s?t?A?) " | (3 = *) (1 (cond ("RHJ" :otf=deva=half+) ("RH" :otf=deva=rphf+))) (2 (cond ("(.H)J?(.*)" (1 :otf=deva=half+) (2 lang-forms *)) (".+" lang-forms *))) (5 = *) (7 =) (4 = *) (6 = *) (8 = *) |) ("." =)) *) (lang-forms (cond ("(.H)J" (1 :otf=deva=half+)) (".H" :otf=deva=blwf,half+) ("." =))) ) ;; Stage 4 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 5 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^H ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^astA ]+)(a?s?t?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 6 ;; Nukta for matra, vattu and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=deva=nukt,vatu,pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 7 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 8 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=deva=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2003, 2004, 2007, 2008, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: cjk-util.mim000064400000006066147633214350007012 0ustar00;; cjk-util.mim -- Provide utilities for CJK input methods. ;; Copyright (C) 2005, 2007, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H15PRO112 ;; This file is 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 t nil cjk-util) (description "Provide utilities for CJK input methods. This is acutually not a standalone input method, but is expected to be included in the other input method (e.g. zh-py). The fullwidth mode is turned on by typing \">>\", and turned off by typing \"<<\". The single fullwidth mode is turned on by typing \"Z\". In this mode, any key typed is converted to the fullwidth character and is inserted, then the mode is turned off. ") (map (fullwidth (" " ? ) ("!" ?!) ("\"" ?") ("#" ?#) ("$" ("$¢£¥₩")) ("%" ?%) ("&" ?&) ("'" ?') ("(" ?\() (")" ?\)) ("*" ?*) ("+" ?+) ("," ?,) ("-" ?-) ("." ?.) ("/" ?/) ("0" ?0) ("1" ?1) ("2" ?2) ("3" ?3) ("4" ?4) ("5" ?5) ("6" ?6) ("7" ?7) ("8" ?8) ("9" ?9) (":" ?:) (";" ?;) ("<" ?<) ("=" ?=) (">" ?>) ("?" ??) ("@" ?@) ("A" ?A) ("B" ?B) ("C" ?C) ("D" ?D) ("E" ?E) ("F" ?F) ("G" ?G) ("H" ?H) ("I" ?I) ("J" ?J) ("K" ?K) ("L" ?L) ("M" ?M) ("N" ?N) ("O" ?O) ("P" ?P) ("Q" ?Q) ("R" ?R) ("S" ?S) ("T" ?T) ("U" ?U) ("V" ?V) ("W" ?W) ("X" ?X) ("Y" ?Y) ("Z" ?Z) ("[" ?\[) ("\\" ?\) ("]" ?\]) ("^" ?^) ("_" ?_) ("`" ?`) ("a" ?a) ("b" ?b) ("c" ?c) ("d" ?d) ("e" ?e) ("f" ?f) ("g" ?g) ("h" ?h) ("i" ?i) ("j" ?j) ("k" ?k) ("l" ?l) ("m" ?m) ("n" ?n) ("o" ?o) ("p" ?p) ("q" ?q) ("r" ?r) ("s" ?s) ("t" ?t) ("u" ?u) ("v" ?v) ("w" ?w) ("x" ?x) ("y" ?y) ("z" ?z) ("{" ?\{) ("|" ?|) ("}" ?\}) ("~" ?~) ((cent) ?¢) ((sterling) ?£) ((notsign) ?¬) ((brokenbar) ?¦) ((yen) ?¥) ((Korean_Won) ?₩)) (enter-fullwidth-mode (">>")) (exit-fullwidth-mode ("<<")) (enter-single-fullwidth-mode ("Z"))) (state (fullwidth-mode "A" (fullwidth (commit)) (exit-fullwidth-mode (shift t)) (nil (unhandle))) (single-fullwidth-mode "A" (fullwidth (commit) (shift t)))) ;; Local Variables: ;; mode: lisp ;; coding: utf-8 ;; End: cmc-kbd.mim000064400000011372147633214350006564 0ustar00;; cmc-kdb.mim -- Cham input method based on Cham keyboard ;; Copyright (C) 2008, 2009 ;; 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 cmc kbd (version "1.6.0")) (description (_"Cham input method simulating Cham keyboard. Cham characters are encoded in logical order in memory and in files. But, you can type Cham text in visual order with this input method. Backspace and Delete also work in the manner of visual order.")) (title "ꨌꩌk") (map ;; Independent vowels and consonants (independent ;; Vowels ("a" "ꨀ") ("I" "ꨁ") ("u" "ꨂ") ("e" "ꨃ") ("i" "ꨄ") ("o" "ꨅ") ;; Cosonants ("k" "ꨆ") ("A" "ꨇ") ("g" "ꨈ") ("G" "ꨉ") ("z" "ꨊ") ("Z" "ꨋ") ("c" "ꨌ") ("S" "ꨍ") ("j" "ꨄ") ("J" "ꨏ") ("v" "ꨐ") ("V" "ꨑ") ("W" "ꨒ") ("t" "ꨓ") ("E" "ꨔ") ("d" "ꨕ") ("D" "ꨖ") ("n" "ꨗ") ("q" "ꨘ") ("Q" "ꨙ") ("p" "ꨚ") ("F" "ꨛ") ("f" "ꨜ") ("b" "ꨝ") ("B" "ꨞ") ("m" "ꨟ") ("M" "ꨠ") ("O" "ꨡ") ("y" "ꨢ") ("r" "ꨣ") ("l" "ꨤ") ("w" "ꨥ") ("x" "ꨦ") ("s" "ꨧ") ("h" "ꨨ")) ;; Dependent vowels (post-vowel ("%" "ꨩ") ("^" "ꨩꨮ") ("{" "ꨪ") ("[" "ꨪꩌ") ("}" "ꨫ") ("]" "ꨬ") ("`" "ꨭ") ("@" "ꨮ") ("$" "ꨮꩃ") ("#" "ꨮꩌ") ("<" "ꨱ") ("\"" "ꨱꨮ") (">" "ꨱꩌ") ("," "ꨲ")) (pre-vowel ("-" "ꨯ") ("=" "ꨰ")) ;; Medials (post-medial ("~" "ꨳ") ("*" "ꨵ") (")" "ꨵꨭ") ("(" "ꨵꨶ") ("&" "ꨶ")) (pre-medial ("\\" "ꨴ")) ;; (";" ",") ;; Final consonants. (final ("K" "ꩀ") ;; ꩁ ("U" "ꩂ") ("/" "ꩃ") ("C" "ꩄ") ("T" "ꩅ") ("N" "ꩆ") ("P" "ꩇ") ("Y" "ꩈ") ("R" "ꩉ") ("L" "ꩊ") ("X" "ꩋ") ("'" "ꩌ") ("H" "ꩍ")) (misc ;; Digits ("0" "꩐") ("1" "꩑") ("2" "꩒") ("3" "꩓") ("4" "꩔") ("5" "꩕") ("6" "꩖") ("7" "꩗") ("8" "꩘") ("9" "꩙") ;; Traditional punctuations. ("_" "꩜") ("|" "꩝") ("||" "꩞") ("|||" "꩟") ;; ASCII remapping. (";" ",")) (edit ((BackSpace) (set PREV @-1) (cond ((= PREV PM) (set PREV @-2) (cond ((& (>= PREV 0xAA00) (<= PREV 0xAA28)) (delete @-2) (insert PM)) (1 (unhandle)))) ((| (= PREV PV1) (= PREV PV2)) (cond ((= @-2 PM) (cond ((& (>= @-3 0xAA00) (<= @-3 0xAA28)) (delete @-4) (insert PREV) (insert PM)) (1 (unhandle)))) ((& (>= @-2 0xAA00) (<= @-2 0xAA28)) (delete @-2) (insert PREV)) (1 (unhandle)))) (1 (unhandle)))) ((Delete) (set NEXT @+0) (cond ((& (>= NEXT 0xAA00) (<= NEXT 0xAA28)) (set N2 @+1) (cond ((= N2 PM) (set N3 @+2) (cond ((| (= N3 PV1) (= N3 PV2)) (delete @+3) (insert NEXT) (insert N2)) (1 (delete @+2) (insert NEXT)))) ((| (= N2 PV1) (= N2 PV2)) (delete @+2) (insert NEXT)) (1 (unhandle)))) (1 (unhandle))))) ) (state (init (t (set PM 0xAA34) ; PRE-MEDIAL (set PV1 0xAA2F) ; PRE-VOWEL-1 (set PV2 0xAA30) ; PRE-VOWEL-2 ) (independent (set C @-1) (set PREV @-2) (cond ((= PREV PM) (set PREV @-3) (cond ((| (= PREV PV1) (= PREV PV2)) (delete @-3) (insert C) (insert PM) (insert PREV)) ((| (< PREV 0xAA00) (> PREV 0xAA28)) (delete @-2) (insert C) (insert PM)))) ((| (= PREV PV1) (= PREV PV2)) (cond ((= @-3 PM)) ((| (< @-3 0xAA00) (> @-3 0xAA28)) (delete @-2) (insert C) (insert PREV)))))) (pre-vowel (set C @-1) (set NEXT @+0) (cond ((& (>= NEXT 0xAA00) (<= NEXT 0xAA28)) (delete @-1) (delete @+1) (insert NEXT) (insert C) (set NEXT @+0))) (cond ((& (>= NEXT 0xAA33) (<= NEXT 0xAA36)) (delete @-1) (delete @+1) (insert NEXT) (insert C)))) (pre-medial (set C @-1) (set NEXT @+0) (cond ((& (>= NEXT 0xAA00) (<= NEXT 0xAA28)) (delete @-1) (delete @+1) (insert NEXT) (insert C)))) (post-medial) (post-vowel) (final) (misc) (edit))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: km-yannis.mim000064400000005676147633214350007204 0ustar00;; km-yannis.mim -- Khmer input method suggested by Dr. Yannis Haralambous ;; Copyright (C) 2003, 2004, 2005 ;; 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 km yannis) (description "Khmer input method suggested by Dr. Yannis Haralambous. ") (title "ក") (map (consonant ("k" "ក") ("kh" "ខ") ("K" "គ") ("Kh" "ឃ") ("KH" "ឃ") ("g" "ង") ("c" "ច") ("ch" "ឆ") ("C" "ជ") ("Ch" "ឈ") ("CH" "ឈ") ("j" "ញ") ("d" "ដ") ("dh" "ឋ") ("D" "ឌ") ("Dh" "ឍ") ("DH" "ឍ") ("N" "ណ") ("t" "ត") ("th" "ថ") ("T" "ទ") ("Th" "ធ") ("TH" "ធ") ("n" "ន") ("b" "ប") ("ph" "ផ") ("P" "ព") ("Ph" "ភ") ("PH" "ភ") ("m" "ម") ("y" "យ") ("r" "រ") ("l" "ល") ("v" "វ") ("sh" "ឝ") ("S" "ឞ") ("s" "ស") ("h" "ហ") ("L" "ឡ") ("'" "អ")) (wirama ("/" "្")) (vowel ("A" "ា") ("e" "ិ") ("ey" "ី") ("u" "ឹ") ("ui" "ឺ") ("o" "ុ") ("ou" "ូ") ("ua" "ួ") ("au" "ើ") ("Iu" "ឿ") ("Ie" "ៀ") ("ei" "េ") ("ae" "ែ") ("ay" "ៃ") ("Ao" "ោ") ("Aw" "ៅ")) (quality ("q1" "៉") ("q2" "៊")) (diacritic ("M" "ំ") ("H" "ះ") (":" "ៈ") ("D1" "់") ("D2" "៌") ("D3" "៍") ("D4" "៎") ("D5" "៏") ("D6" "័")) (ind-vowel ("V1" "ឥ") ("V2" "ឦ") ("V3" "ឧ") ("V4" "ឨ") ("V5" "ឩ") ("V6" "ឪ") ("V7" "ឫ") ("V8" "ឬ") ("V9" "ឭ") ("VA" "ឮ") ("VB" "ឯ") ("VC" "ឰ") ("VD" "ឱ") ("VE" "ឲ") ("VF" "ឳ")) (misc ("." "។") ("=" "៕") ("%" "៖") ("]" "ៗ") ("_" "៘") ("@" "៙") (">" "៛") ("$" "ៜ") ("/" "្")) (space (" " ""))) (state (init (consonant (shift c-state)) (vowel) (quality) (diacritic) (ind-vowel) (misc)) (c-state (wirama (shift cw-state)) (space (shift init))) (cw-state (consonant (shift cwc-state)) (space (shift init))) (cwc-state (wirama (shift cwcw-state)) (space (shift init))) (cwcw-state (consonant (shift init)))) ;; Local Variables: ;; mode: lisp ;; End: THAI-GENERIC.flt000064400000004402147633214350007062 0ustar00;; THAI-GENERIC.flt -- Font Layout Table for Thai (proportional font) ;; Copyright (C) 2005, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter thai-generic nil (font (nil nil unicode-bmp :otf=thai+~mark,~mkmk :lang=th))) ;;;
  • THAI-GENERIC.flt ;;; ;;; For the Thai proportional fonts to draw Thai script. (category ;; C: CONSONANT normal ;; c: CONSONANT tall ;; d: CONSONANT deep ;; A: SARA-AM ;; V: VOWEL upper, NIKHAHIT, and YAMAKKAN ;; v: VOWEL lower ;; T: TONE ;; I: OTHER INDEPENDENT (0x0E01 0x0E2E ?C) (0x0E0D 0x0E10 ?d) (0x0E1B ?c) (0x0E1D ?c) (0x0E1F ?c) (0x0E2C ?c) (0x0E2F 0x0E32 ?I) (0x0E31 ?V) (0x0E33 ?A) (0x0E34 0x0E37 ?V) (0x0E38 0x0E3A ?v) (0x0E3F 0x0E46 ?I) (0x0E47 ?V) (0x0E48 0x0E4C ?T) (0x0E4D 0x0E4E ?V) (0x0E4F 0x0E5B ?I)) (generator (0 (cond ("([Cd])(T)?(A)" < (1 = 0x0E4D) (2 tr+bl =) (3 0x0E32) > ) ("(c)(T)?(A)" < (1 = Br<13Bl 0x0E4D) (2 tr+<13bl =) (3 0x0E32) > ) ("(C[vV]?)(T)?" < (1 = =) (2 tr+bl =) > ) ("(c)([vV])?(T)?" < (1 = *) (2 (cond ("v" =) ("." Br<8Bl =))) (3 tr+<8bl =) > ) ("(d)([vV])?(T)?" < (1 = *) (2 (cond ("v" br-tl =) ("." =))) (3 tr+bl =) > ) ("[VvT]" (cond ((font-facility 0x25CC) < 0x25CC = > ) ("." [ = ] ))) ("." =)) *)) ;; Copyright (C) 2005, 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. ;; Local Variables: ;; mode: lisp ;; End: th-tis820.mim000064400000013350147633214350006724 0ustar00;; th-tis820.mim -- Thai input method with TIS-820.2538 keyboard layout ;; Copyright (C) 2006, 2007, 2008, 2009 ;; 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 St, Fifth Floor, Boston, MA ;; Boston, MA 02110-1301, USA. (input-method th tis820) (description "Thai input method simulating the TIS-820.2538 keyboard with WTT 2.0 input sequence correction. The correction algorithm follows the one shown in the following ") (title "ท") (variable (level (_"Acceptance level The level of character sequence acceptance defined in WTT 2.0. 0 accepts any key sequence. 2 accepts only orthographic ones. 1 is somewhere between.") 1 0 1 2)) (include (th kesmanee) macro) (map (map ("!" "ๅ") ("\"" ".") ("#" "๒") ("$" "๓") ("%" "๔") ("&" "๎") ("'" "ง") ("(" "๖") (")" "๗") ("*" "๕") ("+" "๙") ("," "ม") ("-" "ข") ("." "ใ") ("/" "ฝ") ("0" "จ") ("1" "฿") ("2" "/") ("3" "-") ("4" "ภ") ("5" "ถ") ("6" "ุ") ("7" "ึ") ("8" "ค") ("9" "ต") (":" "ซ") (";" "ว") ("<" "ฒ") ("=" "ช") (">" "ฬ") ("?" "ฦ") ("@" "๑") ("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" "ฟ") ("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" "ผ") ("{" "ฐ") ("|" "ฃ") ("}" ",") ("~" "๛"))) (state (init (map (delete @<) (pushback 1) (shift main))) (main (map (set x @-3) (set y @-2) (set z @-1) (set arg1 y) (set arg2 z) (cp) (cond ((= ret 1)) ;; CP(y,z) succeeded. (1 (ac) (cond ((= ret 1)) ;; AC(y,z) succeeded. (1 ;; WTT-based input sequence correction starts here. ;; begin ;; if CP(x,z) then (set arg1 x) (set arg2 z) (cp) (cond ((= ret 1) ;; if CP(z,y) then (set arg1 z) (set arg2 y) (cp) (cond ((= ret 1) ;; reorder(y -> zy) (delete @-2) (insert z) (insert y)) ;; elif CP(x,y) then (1 (set arg1 x) (set arg2 y) (cp) (cond ((= ret 1) ;; replace(y -> z) (delete @-2) (insert z)) ;; elif y is FV1 and z is TONE then ((& (| (= y 0x0E30) (= y 0x0E32) (= y 0x0E33)) (>= z 0x0E48) (<= z 0x0E4B)) ;; reorder(y -> zy) (delete @-2) (insert z) (insert y)) ;; else ;; reject(z) (1 (delete @-1)) ;;endif )))) ;; elif AC(x,z) then (1 (set arg1 x) (set arg2 z) (ac) (cond ((& (= ret 1) ;; Only Thai characters should be replaced. (& (>= y 0x0E01) (<= y 0x0E5B)) (& (>= z 0x0E01) (<= z 0x0E5B))) ;; replace(y -> z) (delete @-2) (insert z)) ;; else ;; reject(z) (1 (delete @-1)) ;; endif ))) ;; end )))) ;; Now we commit the preedit chars that are fixed. (set w @-1) (cond ;; If surrounding text is supported, commit the only char in preedit. ((> @-0 -2) (commit)) ;; If the last char is CTRL or NON, we can commit everything. ((| (& (>= w 0x0000) (<= w 0x0E00)) (= w 0x0E2F) (= w 0x0E3F) (= w 0x0E46) (>= w 0x0E4F)) (commit)) ;; If the last char is CONS, we can commit everything but the last ;; unless the second last is FV3. ((| (& (>= w 0x0E01) (<= w 0x0E23)) (= w 0x0E25) (& (>= w 0x0E27) (<= w 0x0E2E))) (cond ((| (= @-2 0x0E24) (= @-2 0x0E26)) ; not commit yet ) (1 (delete @-1) (commit) (insert w)))) ;; If the last char is LV, FV2 or FV3, we can commit ;; everything but the last. ((| (& (>= w 0x0E40) (<= w 0x0E45)) (= w 0x0E24) (= w 0x0E26)) (delete @-1) (commit) (insert w)) ;; If the last char is FV1 (excluding AM) and ... ((| (= w 0x0E30) (= w 0x0E32)) (delete @-1) (set v @-1) (cond ;; ... the before last is CONS, we can commit other than the ;; last two. ((| (& (>= v 0x0E01) (<= v 0x0E23)) (= v 0x0E25) (& (>= v 0x0E27) (<= v 0x0E2E))) (delete @-1) (commit) (insert v) (insert w)) ;; ... else if the before last is not CONS, we can commit ;; everything but the last. (1 (commit) (insert w)))) )))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: CHAM-GENERIC.flt000064400000004232147633214350007046 0ustar00;; CHAM-GENERIC.flt -- Font Layout Table for Cham (proportional font) ;; Copyright (C) 2008 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter cham-generic nil (font (nil nil unicode-bmp :script=cham))) ;;;
  • CHAM-GENERIC.flt ;;; ;;; For the Cham proportional fonts to draw Cham script. (category (0xAA00 0xAA5F ?E) ;; E: anyting else (independent) (0xAA00 ?A) ;; A: independent vowel A (0xAA01 0xAA05 ?I) ;; I: independent vowel (except for A) (0xAA06 0xAA28 ?C) ;; C: consonant normal (0xAA29 ?L) ;; L: vowel lengthener (0xAA2A 0xAA32 ?V) ;; V: dependent vowel (postfix) (0xAA2F 0xAA30 ?v) ;; v: dependent vowel (prefix) (0xAA33 0xAA36 ?M) ;; M: medial consonant (postfix) (0xAA34 ?m) ;; m: medial consonant (prefix) (0xAA40 0xAA4D ?F) ;; F: consonant sign final (independent) (0xAA43 ?f) ;; f: consonant sign final (dependent) (0xAA4C ?f)) (generator (0 (cond ("([IA])(v?)(V?L?)([fF]?)" | < (2 =) (1 =) (3 = *) > (4 =) |) ("([CA])(m?)(M?M?)(v?)(V?L?)([fF]?)" | < (4 = ) (2 =) (1 =) (3 = *) (5 = *) > (6 =) |) ("." [ = ])) *)) (generator (0 (cond (" (.*f) " < (1 = *) >) (" (.*) " (1 = *)) ("." =)) *)) ;; Copyright (C) 2008 ;; 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. ;; Local Variables: ;; mode: lisp ;; End: TIBT-OTF.flt000064400000006440147633214350006457 0ustar00;; TIBT-OTF.flt -- Font Layout Table for Tibetan (OpenType font) ;; Copyright (C) 2005, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter tibt-otf nil (font (nil nil unicode-bmp :otf=tibt=ccmp,blws,abvs))) ;;;
  • TIBT-OTF.flt ;;; ;;; For TibetanMachineUniAlpha.ttf to draw Tibetan script. ;;; The font is available at: ;;; ;; Step 0: Reordering Characters ;; ;; According to the Unicode canonical combining class value (CCCV), ;; Tibetan combining characters must be orderd in the following way: ;; ;; MARK HALANTA (CCCV=9) ;; VOWEL SIGN AA (129) ;; Above base vowel signs (130) ;; VOWEL SIGN U (132) ;; MARK TSA -PHRU (216) ;; ;; However, the current font expects the following order: ;; ;; MARK TSA -PHRU ;; VOWEL SIGN AA ;; VOWEL SIGN U ;; MARK HALANTA ;; Above base vowel signs (category (0x0F00 0x0FCF ?x) ; default (0x0F39 ?T) ; MARK TSA -PHRU (0x0F71 ?A) ; VOWEL SIGN AA (0x0F72 ?V) ; VOWEL SIGN I (0x0F74 ?U) ; VOWEL SIGN U (0x0F7A 0x0F7D ?V) ; VOWEL SIGN E .. VOWEL SIGN OO (0x0F80 ?V) ; VOWEL SIGN REVERSED I (0x0F84 ?H)) ; MARK HALANTA (generator (0 (cond ("x+" = *) ("(H?)(A*)(V?)(U*)(T?)" (5 =) (2 = *) (4 = *) (1 =) (3 =))) *)) ;; Step 1: Syllable identification ;; C: Consonants ;; T: MARK TSA -PHRU ;; c: Subjoind consonants ;; A: VOWEL SIGN AA ;; U: VOWEL SIGN U ;; H: MARK HALANTA ;; V: Above or two-part vowel signs ;; S: Above base signs ;; s: Other above base signs ;; x: Others (category (0x0F00 0x0FCF ?x) ; default (0x0F39 ?T) ; MARK TSA -PHRU (0x0F40 0x0F6A ?C) ; LETTER KA .. LETTER FIXED-FORM RA (0x0F71 ?A) ; VOWEL SIGN AA (0x0F72 0x0F7E ?V) ; VOWEL SIGN I .. SIGN RJES SU NGA RO (0x0F74 ?U) ; VOWEL SIGN U (0x0F80 0x0F81 ?V) ; VOWEL SIGN REVERSED I, REVERSED II (0x0F82 0x0F83 ?S) ; SIGN NYI ZLA NAADA, SIGN SNA LDAN (0x0F84 ?H) ; MARK HALANTA (0x0F86 0x0F87 ?s) ; SIGN LCI RTAGS, SIGN YANG RTAGS (0x0F88 0x0F89 ?C) ; SIGN LCE TSA CAN, SIGN MCHU CAN (0x0F90 0x0FBC ?c)) ; SUBJOIND LETTER KA .. FIXED-FORM RA (generator (0 (cond ;; For some reason, it is better not to apply the abvs feature when ;; both A and U exist. ("(C)(T?)(c*)(A*)(U*)(H?)(V*)(S*)(s*)" < otf:tibt=ccmp,blws,abvs >) ("." =)) *)) ;; Copyright (C) 2005, 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. ;; Local Variables: ;; mode: lisp ;; coding: utf-8 ;; End: CODING.tbl000064400000007647147633214350006240 0ustar00;; CODING.tbl -- List of coding definitions -*- mode: lisp; -*- ;; Copyright (C) 2003, 2004 ;; 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. ;;;
  • CODING.tbl ;;; ;;; List of coding system definitions. See the section @ref ;;; mdbCodingList for the format of this file. ;; ISO-2022 codings (iso-2022-7bit type iso-2022 charsets (ascii) designation (0) flags (reset-at-eol reset-at-cntl designation-g0 full-support)) (iso-2022-jp type iso-2022 charsets (ascii jisx0208.1990 jisx0208.1983 jisx0201-roman jisx0208.1978) designation (0 -4 -4 -4 -4) flags (reset-at-eol reset-at-cntl designation-g0)) (iso-2022-jp-2 type iso-2022 charsets (ascii jisx0208.1990 jisx0208.1983 jisx0201-roman jisx0208.1978 jisx0212 gb2312.1980 ksc5601.1987 iso-8859-1-rhp iso-8859-7-rhp) designation (0 -4 -4 -4 -4 -4 -4 -4 -2 -2) flags (reset-at-eol reset-at-cntl designation-g0 single-shift)) (iso-2022-jp-2004 type iso-2022 charsets (ascii jisx0208.1990 jisx0213.2004-1 jisx0213-1 jisx0213-2) designation (0 -4 -4 -4 -4) aliases (iso-2022-jp-3) flags (reset-at-eol reset-at-cntl designation-g0)) (euc-jis-2004 type iso-2022 charsets (ascii jisx0213.2004-1 jisx0201-kana jisx0213-2) designation (0 1 2 3) invocation (0 1) flags (eight-bit single-shift)) (iso-2022-cn type iso-2022 charsets (ascii gb2312.1980 cns11643-1 cns11643-2) designation (0 -3 -3 -2) flags (reset-at-eol reset-at-cntl designation-g1 locking-shift single-shift)) (iso-2022-kr type iso-2022 charsets (ascii ksc5601.1987) designation (0 -3) flags (reset-at-eol reset-at-cntl designation-g1 locking-shift)) (compound-text type iso-2022 charsets (ascii iso-8859-1-rhp iso-8859-2-rhp iso-8859-3-rhp iso-8859-4-rhp iso-8859-5-rhp iso-8859-6-rhp iso-8859-7-rhp iso-8859-8-rhp iso-8859-9-rhp jisx0201-roman jisx0201-kana jisx0208.1990 jisx0208.1983 gb2312.1980 ksc5601.1987 iso-8859-14-rhp iso-8859-15-rhp koi8-r big5) designation (0 1 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5) invocation (0 1) flags (reset-at-eol designation-ctext-ext eight-bit)) (euc-jp type iso-2022 charsets (ascii jisx0208.1990 jisx0201-kana jisx0212) designation (0 1 2 3) invocation (0 1) flags (eight-bit single-shift)) (euc-cn type iso-2022 charsets (ascii gb2312.1980) designation (0 1) invocation (0 1) flags (eight-bit) aliases (gb2312)) (euc-kr type iso-2022 charsets (ascii ksc5601.1987) designation (0 1) invocation (0 1) flags (eight-bit)) (euc-tw type iso-2022 charsets (ascii cns11643-1 cns11643-2 cns11643-3 cns11643-4 cns11643-5 cns11643-6 cns11643-7 cns11643-15) designation (0 1 -2 -2 -2 -2 -2 -2 -2) invocation (0 1) flags (eight-bit euc-tw-shift)) ;; Other codings based on a double-byte charset (gbk type charset charsets (ascii gbk)) (gb18030 type charset charsets (ascii gb18030-2-byte-bmp gb18030-4-byte-bmp gb18030-4-byte-smp gb18030-4-byte-ext-1 gb18030-4-byte-ext-2)) (big5 type charset charsets (ascii big5)) (big5-hkscs type charset charsets (ascii big5-hkscs)) (cp949 type charset charsets (ascii cp949-2-byte)) THAI-TIS620.flt000064400000004003147633214350006672 0ustar00;; THAI-TIS620.flt -- Font Layout Table for Thai (TIS620 font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter thai-tis620 nil (font (tis620.2529-1) (tis620.2533-0))) ;;;
  • THAI-TIS620.flt ;;; ;;; For fixed width fonts of TIS620 encoding to draw Thai script. (category ;; C: CONSONANT ;; V: VOWEL UPPER ;; v: VOWEL LOWER ;; T: TONE ;; I: INDEPENDENT ;; (0x0E01 0x0E2E ?C) (0x0E2F 0x0E5B ?I) (0x0E31 ?V) (0x0E34 0x0E37 ?V) (0x0E38 0x0E3A ?v) (0x0E47 ?V) (0x0E48 0x0E4E ?T) ) (generator (0 (cond ("C([vV])?T?" = dependent * ) ("[^C]*" = *)) *) (dependent (cond ((0x0E31) tc+bc =) ((0x0E34) tc+bc =) ((0x0E35) tc+bc =) ((0x0E36) tc+bc =) ((0x0E37) tc+bc =) ((0x0E38) bc-tc =) ((0x0E39) bc-tc =) ((0x0E3A) bc-tc =) ((0x0E47) tc+bc =) ((0x0E48) tc+bc =) ((0x0E49) tc+bc =) ((0x0E4A) tc+bc =) ((0x0E4B) tc+bc =) ((0x0E4C) tc+bc =) ((0x0E4D) tc+bc =) ((0x0E4E) tc+bc =)))) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: HEBR-FF.flt000064400000005555147633214350006306 0ustar00;; HEBR-FF.flt -- Font Layout Table for Hebrew fonts (Unicode encoding) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter hebr-ff nil (font (nil nil unicode-bmp :lang=he,yi))) ;;;
  • HEBR-FF.flt ;;; ;;; For Hebrew fonts of Unicode encoding to draw the Hebrew script. ;;; This is for such fonts that do not require an explicit combining ;;; code because accents and points have negative lbearing. (category (0x0590 0x05ff ?h) ; hebrew ) (generator (0 (cond ((0x05d9 0x05b4) 0xfb1d) ((0x05e9 0x05c1) 0xfb2a) ((0x05e9 0x05c2) 0xfb2b) ((0x05e9 0x05bc 0x05c1) 0xfb2c) ((0x05e9 0x05bc 0x05c2) 0xfb2d) ((0x05d0 0x05b7) 0xfb2e) ((0x05d0 0x05b8) 0xfb2f) ((0x05d0 0x05bc) 0xfb30) ((0x05d1 0x05bc) 0xfb31) ((0x05d2 0x05bc) 0xfb32) ((0x05d3 0x05bc) 0xfb33) ((0x05d4 0x05bc) 0xfb34) ((0x05d5 0x05bc) 0xfb35) ((0x05d6 0x05bc) 0xfb36) ((0x05d8 0x05bc) 0xfb38) ((0x05d9 0x05bc) 0xfb39) ((0x05da 0x05bc) 0xfb3a) ((0x05db 0x05bc) 0xfb3b) ((0x05dc 0x05bc) 0xfb3c) ((0x05de 0x05bc) 0xfb3e) ((0x05e0 0x05bc) 0xfb40) ((0x05e1 0x05bc) 0xfb41) ((0x05e3 0x05bc) 0xfb43) ((0x05e4 0x05bc) 0xfb44) ((0x05e6 0x05bc) 0xfb46) ((0x05e7 0x05bc) 0xfb47) ((0x05e8 0x05bc) 0xfb48) ((0x05e9 0x05bc) 0xfb49) ((0x05ea 0x05bc) 0xfb4a) ((0x05d5 0x05b9) 0xfb4b) ((0x05d1 0x05bf) 0xfb4c) ((0x05db 0x05bf) 0xfb4d) ((0x05e4 0x05bf) 0xfb4e) ;; The font FreeSerif.ttf does not have this glyph?!? ;; ((0x05b0) 0x05b4 Bc-13Bc 0x05b4) ("." =)) *)) (category (0x0590 0x05af ?p) ; accents (0x05d0 0x05ff ?h) ; letters (0xfb1d 0xfb4e ?h) ; presentation forms (0x05b0 0x05c4 ?p) ; points (0x05be ?h) ; punctuation (0x05c0 ?h) ; punctuation (0x05c3 ?h) ; punctuation ) (generator (0 (cond ("(h)(p+)" < = * >) ("." = *)) *) ) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: hr-kbd.mim000064400000004512147633214350006431 0ustar00;; hr-kbd.mim -- Croatian input method with Croatian keyboard layout ;; Copyright (C) 2004, 2005 ;; 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 for Croatian. ;;; Simulating Croatian Latin keyboard on American keyboard. ;;; @image html hr-kbd.png "Keyboard Layout" ;;; @image latex hr-kbd.eps "Keyboard Layout" width=\narrowwidth ;; 1! 2" 3# 4$ 5% 6& 7/ 8( 9) 0= '? +* ¸¨ ;; qQ wW rR eE tT zZ uU iI oO pP šŠ đĐ ;; aA sS dD fF gG hH jJ kK lL čČ ćĆ žŽ ;; yY xX cC vV bB nN mM ,; .: -_ (input-method hr kbd) (description "Croatian input method simulating the Croatian Latin keyboard. 1! 2\" 3# 4$ 5% 6& 7/ 8( 9) 0= '? +* ¸¨ qQ wW rR eE tT zZ uU iI oO pP šŠ đĐ aA sS dD fF gG hH jJ kK lL čČ ćĆ žŽ yY xX cC vV bB nN mM ,; .: -_ ") (title "HR") (map (map ("@" ?\") ("^" ?&) ("&" ?/) ("*" ?\() ("\(" ?\)) ("\)" ?=) ("-" ?') ("_" ??) ("=" ?+) ("+" ?*) ("`" ?¸) ("~" ?¨) ("y" ?z) ("Y" ?Z) ("[" ?š) ("{" ?Š) ("]" ?đ) ("}" ?Đ) (";" ?č) (":" ?Č) ("'" ?ć) ("\"" ?Ć) ("\\" ?ž) ("|" ?Ž) ("z" ?y) ("Z" ?Y) ("<" ?;) (">" ?:) ("/" ?-) ("?" ?_) ("`c" ?ç) ("`C" ?Ç) ("`s" ?ş) ("`S" ?Ş) ("~a" ?ä) ("~A" ?Ä) ("~e" ?ë) ("~E" ?Ë) ("~o" ?ö) ("~O" ?Ö) ("~u" ?ü) ("~U" ?Ü) )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: si-samanala.mim000064400000006535147633214350007457 0ustar00;; si-samanala.mim -- Sinhala input method for Samanala transliteration scheme ;; Copyright (C) 2004, 2005, 2006, 2010 ;; 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 samanala) (description "Sinhala input method using transliteration. The transleteration system is based on the Samanala version 2 developed by Prasad Dharmasena. ") (title "සි") (map (consonant ("k" "ක්") ("k_" "ක්") ("K" "ඛ්") ("g" "ග්") ("g_" "ග්") ("G" "ඝ්") ("\"NG" "ඞ්") ("\"ng" "ඟ්") ("ch" "ච්") ("CH" "ඡ්") ("j" "ජ්") ("J" "ඣ්") ("kn" "ඤ්") ("gn" "ඥ්") ("t" "ට්") ("t_" "ට්") ("T" "ඨ්") ("T_" "ඨ්") ("d" "ඩ්") ("d_" "ඩ්") ("D" "ඪ්") ("D_" "ඪ්") ("N" "ණ්") ("\"nd" "ඬ්") ("\"nd_" "ඬ්") ("th" "ත්") ("TH" "ථ්") ("dh" "ද්") ("DH" "ධ්") ("n" "න්") ("\"ndh" "ඳ්") ("p" "ප්") ("P" "ඵ්") ("b" "බ්") ("B" "භ්") ("m" "ම්") ("\"mb" "ඹ්") ("y" "ය්") ("r" "ර්") ("l" "ල්") ("v" "ව්") ("w" "ව්") ("sh" "ශ්") ("SH" "ෂ්") ("s" "ස්") ("s_" "ස්") ("h" "හ්") ("L" "ළ්") ("f" "ෆ්") ("\"kSH" "ක්‍ෂ්") ) (independent ("a" "අ") ("a~" "ආ") ("a^" "ඇ") ("a^~" "ඈ") ("i" "ඉ") ("i~" "ඊ") ("u" "උ") ("u~" "ඌ") ("RU" "ඍ") ("RU~" "ඎ") ("e" "එ") ("e~" "ඒ") ("ai" "ඓ") ("o" "ඔ") ("o~" "ඕ") ("au" "ඖ") ("NG" "ං") ("H" "ඃ")) (dependent ("a" (delete @-)) ("a~" (delete @-) "ා") ("a^" (delete @-) "ැ") ("a^~" (delete @-) "ෑ") ("i" (delete @-) "ි") ("i~" (delete @-) "ී") ("u" (delete @-) "ු") ("u~" (delete @-) "ූ") ("RU" (delete @-) "ෘ") ("e" (delete @-) "ෙ") ("e~" (delete @-) "ේ") ("ai" (delete @-) "ෛ") ("o" (delete @-) "ො") ("o~" (delete @-) "ෝ") ("au" (delete @-) "ෞ") ("RU~" (delete @-) "ෲ") ) (ry ("r" "‍ර්") ("y" "‍ය්")) (underscore ("_")) ) (state (init (consonant (shift second)) (independent)) (second (underscore (shift init)) (dependent (shift init)) (ry)) ) ;; g_na ග්න ;; "kva ක්‍ව ;; "kSHa ක්‍ෂ ;; "nDHa ක්‍ධ ;; "nTHa න‍ථ ;; "n_dha න්‍ද ;; "thTHa ත්‍ථ ;; "rma ර්‍ම ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: THAI-NORASI.flt000064400000005753147633214350007013 0ustar00;; THAI-NORASI.flt -- Font Layout Table for Thai (Norasi font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter thai-norasi nil (font (nil norasi unicode-bmp))) ;;;
  • THAI-NORASI.flt ;;; ;;; For the Thai Norasi family fonts to draw Thai script. The fonts are ;;; available at: ;;; ;; 1st stage: basic composition of CVT (category ;; C: CONSONANT ;; V: VOWEL upper and lower ;; A: SARA-AM ;; T: TONE ;; E: else (0x0E00 0x0E5F ?E) (0x0E01 0x0E2E ?C) (0x0E31 ?V) (0x0E33 ?A) (0x0E34 0x0E3A ?V) (0x0E47 ?V) (0x0E48 0x0E4E ?T) ) (generator (0 (cond ("(C)(T)?(A)" ; SARA-AM -> NIKHAHIT+SARA-AA (1 = 0x0E4D) (2 =) (3 0x0E32)) ("(C)(T)(V)?" ; CTV -> CVT (1 =) (3 =) (2 =)) ("(C)(V)?(T)?" (1 =) (2 =) (3 =)) ("[^C]" =)) *)) (category ;; C: CONSONANT tall ;; c: CONSONANT normal ;; d: CONSONANT deep ;; V: VOWEL upper, NIKHAHIT, and YAMAKKAN ;; v: VOWEL lower ;; T: TONE ;; E: ELSE (0x0E00 0x0E5F ?E) (0x0E01 0x0E2E ?c) (0x0E0D 0x0E10 ?d) (0x0E1B ?C) (0x0E1D ?C) (0x0E1F ?C) (0x0E2C ?C) (0x0E31 ?V) (0x0E34 0x0E37 ?V) (0x0E38 0x0E3A ?v) (0x0E47 ?V) (0x0E48 0x0E4C ?T) (0x0E4D 0x0E4E ?V) (0x25CC ?E)) (generator (0 (cond ("(C)(V)(T)?" < (1 =) (2 vowel-upper-left) (3 tone-high-left) >) ("(C)(v)?(T)?" < (1 =) (2 =) (3 tone-low-left) >) ("([cd])(V)(T)?" < (1 =) (2 =) (3 =) >) ("(c)(v)?(T)?" < (1 =) (2 =) (3 tone-low) >) ("(d)(v)?(T)?" < (1 =) (2 vowel-deep) (3 tone-low) >) ("[VvT]" (cond ((font-facility 0x25CC) < 0x25CC = > ) ("." [ = ] ))) ("." =)) *) (vowel-upper-left (cond ((0x0E31) =) ((range 0x0E34 0x0E37) 0xF701) ((0x0E47) =) ((0x0E4D) 0xF711) ((0x0E4E) =))) (vowel-deep ((range 0x0E38 0x0E3A) 0xF718)) (tone-high-left ((range 0x0E48 0x0E4C) 0xF713)) (tone-low-left ((range 0x0E48 0x0E4C) 0xF705)) (tone-low ((range 0x0E48 0x0E4C) 0xF70A))) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: LAOO-OTF.flt000064400000003762147633214350006453 0ustar00;; LAOO-OTF.flt -- Font Layout Table for Lao ;; Copyright (C) 2006, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter laoo-otf nil (font (nil phetsarath\ ot unicode-bmp))) ;;;
  • LAOO-OTF.flt (category ;; C: CONSONANT ;; S: LAO SEMIVOWEL SIGN LO ;; A: VOWEL AM ;; V: DEPENDENT VOWEL ;; T: TONE ;; I: OTHER INDEPENDENT (0x0E81 0x0EAE ?C) (0x0EAF 0x0EB0 ?I) (0x0EB1 ?V) (0x0EB2 ?I) (0x0EB3 ?A) (0x0EB4 0x0EBB ?V) (0x0EBC ?S) (0x0EBD 0x0EC6 ?I) (0x0EC8 0x0ECC ?T) (0x0ECD ?V) (0x0ED0 0x0ED9 ?I) (0x0EDC 0x0EDD ?C) (0x25CC ?I)) ;; The only GSUB is the decomposition of AM. We do it by hand because ;; it requires reordering in addition to decomposition. (generator (0 (cond ("(CS?)(T)?A" < | (1 = *) 0x0ECD (2 =) 0x0EB2 | > ) ("CS?V?T?" < | = * | > ) ("[SVT]" < | 0x25CC = | > ) ("." =)) *)) ;; Then apply all GPOS features. (generator (0 (cond (" ([^ ]*) " (1 otf:lao\ =)) ("." [ otf:lao\ =+ ])) *)) ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: te-itrans.mim000064400000011734147633214350007174 0ustar00;; te-itrans.mim -- Telugu input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 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 te itrans) (description "Telugu input method by ITRANS transliteration. For the detail of ITRANS, see the page: ") (title "క") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("E") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "క్") ("kh" "ఖ్") ("g" "గ్") ("gh" "ఘ్") ("~N" "ఙ్") ("N^" "ఙ్") ("ch" "చ్") ("Ch" "ఛ్") ("chh" "ఛ్") ("j" "జ్") ("jh" "ఝ్") ("~n" "ఞ్") ("JN" "ఞ్") ("T" "ట్") ("Th" "ఠ్") ("D" "డ్") ("Dh" "ఢ్") ("N" "ణ్") ("t" "త్") ("th" "థ్") ("d" "ద్") ("dh" "ధ్") ("n" "న్") ("p" "ప్") ("ph" "ఫ్") ("b" "బ్") ("bh" "భ్") ("m" "మ్") ("y" "య్") ("r" "ర్") ("R" "ఱ్") ("rh" "ఱ్") ; not in ITRANS Telugu table ("l" "ల్") ("L" "ళ్") ("ld" "ళ్") ; not in ITRANS Telugu table ("v" "వ్") ("w" "వ్") ("sh" "శ్") ("Sh" "ష్") ("shh" "ష్") ("s" "స్") ("h" "హ్") ("GY" "జ్ఞ్") ; not in ITRANS Telugu table ("dny" "జ్ఞ్") ; not in ITRANS Telugu table ("x" "క్ష్")) (independent ("a" "అ") ("aa" "ఆ") ("A" "ఆ") ("i" "ఇ") ("ii" "ఈ") ("I" "ఈ") ("u" "ఉ") ("uu" "ఊ") ("U" "ఊ") ("RRi" "ఋ") ("R^i" "ఋ") ("LLi" "ఌ") ("L^i" "ఌ") ("e" "ఎ") ("E" "ఏ") ("ee" "ఏ") ; not in ITRANS Telugu table ("ai" "ఐ") ("o" "ఒ") ("O" "ఓ") ("oo" "ఓ") ; not in ITRANS Telugu table ("au" "ఔ") ("RRI" "ౠ") ("R^I" "ౠ") ("LLI" "ౡ") ("L^I" "ౡ") (".N" "ఁ") ; not in ITRANS Telugu table (".n" "ం") ("M" "ం") ; not in ITRANS Telugu table ("H" "ః") (".h" "్") ; not in ITRANS Telugu table ;; (".a" "ఽ") ; not in Unicode 4.1 ("0" "౦") ("1" "౧") ("2" "౨") ("3" "౩") ("4" "౪") ("5" "౫") ("6" "౬") ("7" "౭") ("8" "౮") ("9" "౯") ("#" "్ర") ; not in ITRANS Telugu table ("$" "ర్") ; not in ITRANS Telugu table ("^" "త్ర") ; not in ITRANS Telugu table ("*" "శ్ర") ; not in ITRANS Telugu table ((KP_1) "౧") ((KP_2) "౨") ((KP_3) "౩") ((KP_4) "౪") ((KP_5) "౫") ((KP_6) "౬") ((KP_7) "౭") ((KP_8) "౮") ((KP_9) "౯") ((KP_0) "౦") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ; not in ITRANS Telugu table ((C-@) "‍")) ; not in ITRANS Telugu table (dependent ("a" (delete @-) "") ("aa" (delete @-) "ా") ("A" (delete @-) "ా") ("i" (delete @-) "ి") ("ii" (delete @-) "ీ") ("I" (delete @-) "ీ") ("u" (delete @-) "ు") ("uu" (delete @-) "ూ") ("U" (delete @-) "ూ") ("RRi" (delete @-) "ృ") ("R^i" (delete @-) "ృ") ("RRI" (delete @-) "ౄ") ("R^I" (delete @-) "ౄ") ("e" (delete @-) "ె") ("E" (delete @-) "ే") ("ee" (delete @-) "ే") ; not in ITRANS Telugu table ("ai" (delete @-) "ై") ("o" (delete @-) "ొ") ("O" (delete @-) "ో") ("oo" (delete @-) "ో") ; not in ITRANS Telugu table ("au" (delete @-) "ౌ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: mdb.dir000064400000011125147633214350006016 0ustar00;; mdb.dir -- The m17n database directory -*- lisp -*- ;; Copyright (C) 2003, 2004, 2005, 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. ;; General format: (TAG0 TAG1 [ TAG2 [ TAG3 ] ] FILE) ;; TAG0..TAG3 must be symbol. ;; FILE must be string of the form "...". ;; This file must contain only ASCII characters. ;;; @page m17nDBData Data provided by the m17n database ;;; ;;; ;;; @section charprop-list Character Property ;;; ;;; @section mim-list Input method ;;; ;;; See @ref mdbIM for the format of these files. ;;; ;;; @section flt-list Font Layout Table ;;; ;;; See @ref mdbFLT for the format of these files. ;;; ;;; @section fontset-list Fontset ;;; ;;; See @ref mdbFontset for the format of these files. ;;; ;;; @section misc-list The other data ;;; TML2-OTF.flt000064400000007474147633214350006443 0ustar00;; TML2-OTF.flt -- Font Layout Table for tml2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter tml2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=tml2))) ;;;
  • TML2-OTF.flt ;;; ;;; For tml2 OpenType fonts to draw the Tamil script. (category ;; X: generic ;; a: ANUSVARA ;; V: independent vowel ;; C: consonant ;; H: HALANT ;; m: vowel sign (pre) ;; p: vowel sign (others) (0x0B80 0x0BFF ?X) ; generic (0x0B82 ?a) ; SIGN ANUSVARA (0x0B85 0x0B94 ?V) ; LETTER A .. AU (0x0B95 0x0BB9 ?C) ; LETTER KA .. HA (0x0BBE 0x0BC2 ?p) ; VOWEL SIGN AA .. I (0x0BC6 0x0BC8 ?m) ; VOWEL SIGN E .. AI (0x0BCD ?H) ; SIGN VIRAMA (0x0BD7 ?p) ; AU LENGTH MARK (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x0BCA) 0x0BC6 0x0BBE) ((0x0BCB) 0x0BC7 0x0BBE) ((0x0BCC) 0x0BC6 0x0BD7) ;; A variation of AU. ((0x0B92 0x0BD7) 0x0B94) ;; The SHRII ligature and its old definition ((0x0BB6 0x0BCD 0x0BB0 0x0BC0) (0 :otf=tml2=locl,akhn,half,cjct,pres,abvs,blws,psts,haln,calt+)) ((0x0BB8 0x0BCD 0x0BB0 0x0BC0) (0 :otf=tml2=locl,akhn,half,cjct,pres,abvs,blws,psts,haln,calt+)) ("." =)) *)) ;; Stage 1 ;; Syllable identification and basic shaping froms (generator (0 (cond ;; Consonant-based syllables ("(CJ?HJ?)*C(H[NJ]?|m?p?)a?" < | :otf=tml2=locl,akhn,half,cjct+ | >) ;; Syllables with an independent vowel ("Vm?p?a?" < | = * | >) ;; Two-part vowel signs ((0x0BC6 0x0BBE) (cond ((font-facility 0x25CC) < 0x0BC6 0x25CC 0x0BBE >) (".+" < 0x0BCA >))) ((0x0BC7 0x0BBE) (cond ((font-facility 0x25CC) < 0x0BC7 0x25CC 0x0BBE >) (".+" < 0x0BCB >))) ((0x0BC6 0x0BD7) (cond ((font-facility 0x25CC) < 0x0BC6 0x25CC 0x0BD7 >) (".+" < 0x0BCC >))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[Hpa]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("." =)) *)) ;; Stage 2 ;; Move pre-base matra after the last halant, or to the beginning (generator (0 (cond ;; 1 2 3 4 (" ([^ ]+HJ?)([^H ]+)(m)([^ ]*) " | (1 = *) (3 =) (2 = *) (4 = *) |) ;; 1 2 3 (" ([^ ]+)(m)([^ ]*) " | (2 =) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 3 ;; Presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=tml2=pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 4 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 5 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=tml2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: as-itrans.mim000064400000010561147633214350007164 0ustar00;; as-itrans.mim -- Assamese input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 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 as itrans) (description "Assamese input method by ITRANS transliteration. For the detail of ITRANS, see the page: ") (title "ক") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "ক্") ("kh" "খ্") ("g" "গ্") ("gh" "ঘ্") ("~N" "ঙ্") ("N^" "ঙ্") ("ch" "চ্") ("Ch" "ছ্") ("chh" "ছ্") ("j" "জ্") ("jh" "ঝ্") ("~n" "ঞ্") ("JN" "ঞ্") ("T" "ট্") ("Th" "ঠ্") ("D" "ড্") ("Dh" "ঢ্") ("N" "ণ্") ("t" "ত্") ("th" "থ্") ("d" "দ্") ("dh" "ধ্") ("n" "ন্") ("p" "প্") ("ph" "ফ্") ("b" "ব্") ("bh" "ভ্") ("m" "ম্") ("y" "য্") ("r" "ৰ্") ("l" "ল্") ("v" "ৱ্") ("w" "ৱ্") ("sh" "শ্") ("Sh" "ষ্") ("shh" "ষ্") ("s" "স্") ("h" "হ্") (".D" "ড়্") (".Dh" "ঢ়্") ("Y" "য়্") ("yh" "য়্") ("GY" "জ্ঞ্") ("dny" "জ্ঞ্") ("x" "ক্ষ্")) (independent ("a" "অ") ("aa" "আ") ("A" "আ") ("i" "ই") ("ii" "ঈ") ("I" "ঈ") ("u" "উ") ("uu" "ঊ") ("U" "ঊ") ("RRi" "ঋ") ("R^i" "ঋ") ("LLi" "ঌ") ("L^i" "ঌ") ("e" "এ") ("ai" "ঐ") ("o" "ও") ("au" "ঔ") ("RRI" "ৠ") ("R^I" "ৠ") ("LLI" "ৡ") ("L^I" "ৡ") (".N" "ঁ") (".n" "ং") ("M" "ং") ("H" "ঃ") (".h" "্") ("0" "০") ("1" "১") ("2" "২") ("3" "৩") ("4" "৪") ("5" "৫") ("6" "৬") ("7" "৭") ("8" "৮") ("9" "৯") ("#" "্ৰ") ("$" "ৰ্") ("^" "ত্ৰ") ("*" "শ্ৰ") ("]" "়") ((KP_1) "১") ((KP_2) "২") ((KP_3) "৩") ((KP_4) "৪") ((KP_5) "৫") ((KP_6) "৬") ((KP_7) "৭") ((KP_8) "৮") ((KP_9) "৯") ((KP_0) "০") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ((C-@) "‍")) (dependent ("a" (delete @-) "") ("aa" (delete @-) "া") ("A" (delete @-) "া") ("i" (delete @-) "ি") ("ii" (delete @-) "ী") ("I" (delete @-) "ী") ("u" (delete @-) "ু") ("uu" (delete @-) "ূ") ("U" (delete @-) "ূ") ("RRi" (delete @-) "ৃ") ("R^i" (delete @-) "ৃ") ("LLi" (delete @-) "ৢ") ("L^i" (delete @-) "ৢ") ("e" (delete @-) "ে") ("ai" (delete @-) "ৈ") ("o" (delete @-) "ো") ("au" (delete @-) "ৌ") ("RRI" (delete @-) "ৄ") ("R^I" (delete @-) "ৄ") ("LLI" (delete @-) "ৣ") ("L^I" (delete @-) "ৣ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: sr-kbd.mim000064400000005553147633214350006452 0ustar00;; sr-kbd.mim -- Serbian input method with Serbian keyboard layout ;; Copyright (C) 2004, 2005 ;; 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 for Serbian. ;;; Simulating Serbian Cyrillic keyboard on American keyboard. ;;; @image html sr-kbd.png "Keyboard Layout" ;;; @image latex sr-kbd.eps "Keyboard Layout" width=\narrowwidth ;; 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <> ;; љЉ њЊ еЕ рР тТ зЗ уУ иИ оО пП шШ ђЂ ;; аА сС дД фФ гГ хХ јЈ кК лЛ чЧ ћЋ жЖ ;; ѕЅ џЏ цЦ вВ бБ нН мМ ,; .: -_ (input-method sr kbd) (description "Serbian input method simulating the Serbian Cyrillic keyboard. 1! 2\" 3# 4$ 5% 6& 7' 8( 9) 0= /? +* <> љЉ њЊ еЕ рР тТ зЗ уУ иИ оО пП шШ ђЂ аА сС дД фФ гГ хХ јЈ кК лЛ чЧ ћЋ жЖ ѕЅ џЏ цЦ вВ бБ нН мМ ,; .: -_ ") (title "SR") (map (map ("@" ?\") ("^" ?&) ("&" ?/) ("*" ?\() ("\(" ?\)) ("\)" ?=) ("-" ?') ("_" ??) ("=" ?+) ("+" ?*) ("q" ?љ) ("Q" ?Љ) ("w" ?њ) ("W" ?Њ) ("e" ?е) ("E" ?Е) ("r" ?р) ("R" ?Р) ("t" ?т) ("T" ?Т) ("y" ?з) ("Y" ?З) ("u" ?у) ("U" ?У) ("i" ?и) ("I" ?И) ("o" ?о) ("O" ?О) ("p" ?п) ("P" ?П) ("[" ?ш) ("{" ?Ш) ("]" ?ђ) ("}" ?Ђ) ("a" ?а) ("A" ?А) ("s" ?с) ("S" ?С) ("d" ?д) ("D" ?Д) ("f" ?ф) ("F" ?Ф) ("g" ?г) ("G" ?Г) ("h" ?х) ("H" ?Х) ("j" ?ј) ("J" ?Ј) ("k" ?к) ("K" ?К) ("l" ?л) ("L" ?Л) (";" ?ч) (":" ?Ч) ("'" ?ћ) ("\"" ?Ћ) ("\\" ?ж) ("|" ?Ж) ("z" ?ѕ) ("Z" ?Ѕ) ("x" ?џ) ("X" ?Џ) ("c" ?ц) ("C" ?Ц) ("v" ?в) ("V" ?В) ("b" ?б) ("B" ?Б) ("n" ?н) ("N" ?Н) ("m" ?м) ("M" ?М) ("<" ?;) (">" ?:) ("/" ?-) ("?" ?_) ("-g" ?ѓ) ("-G" ?Ѓ) ("-k" ?ќ) ("-K" ?Ќ) )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: am-sera.mim000064400000025650147633214350006615 0ustar00;; am-sera.mim -- Amharic input method with SERA ;; Copyright (C) 2003, 2004 ;; 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 am sera) (description "Amharic input method with SERA. For more information, see the page http://www.geez.org/IM/. ") (title "ፊደል") (map (map ("he" ?ሀ) ("hu" ?ሁ) ("hi" ?ሂ) ("ha" ?ሃ) ("hE" ?ሄ) ("hee" ?ሄ) ("h" ?ህ) ("ho" ?ሆ) ("hW" ?ኋ) ("hWa" ?ኋ) ("hWe" ?ኈ) ("hWu" ?ኍ) ("hWi" ?ኊ) ("hWE" ?ኌ) ("hW'" ?ኍ) ("le" ?ለ) ("lu" ?ሉ) ("li" ?ሊ) ("la" ?ላ) ("lE" ?ሌ) ("lee" ?ሌ) ("l" ?ል) ("lo" ?ሎ) ("lW" ?ሏ) ("lWa" ?ሏ) ("Le" ?ለ) ("Lu" ?ሉ) ("Li" ?ሊ) ("La" ?ላ) ("LE" ?ሌ) ("Lee" ?ሌ) ("L" ?ል) ("Lo" ?ሎ) ("LW" ?ሏ) ("LWa" ?ሏ) ("He" ?ሐ) ("Hu" ?ሑ) ("Hi" ?ሒ) ("Ha" ?ሓ) ("HE" ?ሔ) ("Hee" ?ሔ) ("H" ?ሕ) ("Ho" ?ሖ) ("HW" ?ሗ) ("HWa" ?ሗ) ("me" ?መ) ("mu" ?ሙ) ("mi" ?ሚ) ("ma" ?ማ) ("mE" ?ሜ) ("mee" ?ሜ) ("m" ?ም) ("mo" ?ሞ) ("mW" ?ሟ) ("mWa" ?ሟ) ("mY" ?ፘ) ("mYa" ?ፘ) ("Me" ?መ) ("Mu" ?ሙ) ("Mi" ?ሚ) ("Ma" ?ማ) ("ME" ?ሜ) ("Mee" ?ሜ) ("M" ?ም) ("Mo" ?ሞ) ("MW" ?ሟ) ("MWa" ?ሟ) ("MY" ?ፘ) ("MYa" ?ፘ) ("`se" ?ሠ) ("`su" ?ሡ) ("`si" ?ሢ) ("`sa" ?ሣ) ("`sE" ?ሤ) ("`see" ?ሤ) ("`s" ?ሥ) ("`so" ?ሦ) ("`sW" ?ሧ) ("`sWa" ?ሧ) ("s2e" ?ሠ) ("s2u" ?ሡ) ("s2i" ?ሢ) ("s2a" ?ሣ) ("s2E" ?ሤ) ("s2ee" ?ሤ) ("s2" ?ሥ) ("s2o" ?ሦ) ("s2W" ?ሧ) ("s2Wa" ?ሧ) ("sse" ?ሠ) ("ssu" ?ሡ) ("ssi" ?ሢ) ("ssa" ?ሣ) ("ssE" ?ሤ) ("ssee" ?ሤ) ("ss" ?ሥ) ("sso" ?ሦ) ("ssW" ?ሧ) ("ssWa" ?ሧ) ("re" ?ረ) ("ru" ?ሩ) ("ri" ?ሪ) ("ra" ?ራ) ("rE" ?ሬ) ("ree" ?ሬ) ("r" ?ር) ("ro" ?ሮ) ("rW" ?ሯ) ("rWa" ?ሯ) ("rY" ?ፙ) ("rYa" ?ፙ) ("Re" ?ረ) ("Ru" ?ሩ) ("Ri" ?ሪ) ("Ra" ?ራ) ("RE" ?ሬ) ("Ree" ?ሬ) ("R" ?ር) ("Ro" ?ሮ) ("RW" ?ሯ) ("RWa" ?ሯ) ("RYa" ?ፙ) ("se" ?ሰ) ("su" ?ሱ) ("si" ?ሲ) ("sa" ?ሳ) ("sE" ?ሴ) ("see" ?ሴ) ("s" ?ስ) ("so" ?ሶ) ("sW" ?ሷ) ("sWa" ?ሷ) ("xe" ?ሸ) ("xu" ?ሹ) ("xi" ?ሺ) ("xa" ?ሻ) ("xE" ?ሼ) ("xee" ?ሼ) ("x" ?ሽ) ("xo" ?ሾ) ("xW" ?ሿ) ("xWa" ?ሿ) ("qe" ?ቀ) ("qu" ?ቁ) ("qi" ?ቂ) ("qa" ?ቃ) ("qE" ?ቄ) ("qee" ?ቄ) ("q" ?ቅ) ("qo" ?ቆ) ("qWe" ?ቈ) ("qWu" ?ቍ) ("qWi" ?ቊ) ("qW" ?ቋ) ("qWa" ?ቋ) ("qWE" ?ቌ) ("qWee" ?ቌ) ("qW'" ?ቍ) ("Qe" ?ቐ) ("Qu" ?ቑ) ("Qi" ?ቒ) ("Qa" ?ቓ) ("QE" ?ቔ) ("Qee" ?ቔ) ("Q" ?ቕ) ("Qo" ?ቖ) ("QWe" ?ቘ) ("QWu" ?ቝ) ("QWi" ?ቚ) ("QW" ?ቛ) ("QWa" ?ቛ) ("QWE" ?ቜ) ("QWee" ?ቜ) ("QW'" ?ቝ) ("be" ?በ) ("bu" ?ቡ) ("bi" ?ቢ) ("ba" ?ባ) ("bE" ?ቤ) ("bee" ?ቤ) ("b" ?ብ) ("bo" ?ቦ) ("bW" ?ቧ) ("bWa" ?ቧ) ("Be" ?በ) ("Bu" ?ቡ) ("Bi" ?ቢ) ("Ba" ?ባ) ("BE" ?ቤ) ("Bee" ?ቤ) ("B" ?ብ) ("Bo" ?ቦ) ("BW" ?ቧ) ("BWa" ?ቧ) ("ve" ?ቨ) ("vu" ?ቩ) ("vi" ?ቪ) ("va" ?ቫ) ("vE" ?ቬ) ("vee" ?ቬ) ("v" ?ቭ) ("vo" ?ቮ) ("vW" ?ቯ) ("vWa" ?ቯ) ("Ve" ?ቨ) ("Vu" ?ቩ) ("Vi" ?ቪ) ("Va" ?ቫ) ("VE" ?ቬ) ("Vee" ?ቬ) ("V" ?ቭ) ("Vo" ?ቮ) ("VW" ?ቯ) ("VWa" ?ቯ) ("te" ?ተ) ("tu" ?ቱ) ("ti" ?ቲ) ("ta" ?ታ) ("tE" ?ቴ) ("tee" ?ቴ) ("t" ?ት) ("to" ?ቶ) ("tW" ?ቷ) ("tWa" ?ቷ) ("ce" ?ቸ) ("cu" ?ቹ) ("ci" ?ቺ) ("ca" ?ቻ) ("cE" ?ቼ) ("cee" ?ቼ) ("c" ?ች) ("co" ?ቾ) ("cW" ?ቿ) ("cWa" ?ቿ) ("`he" ?ኀ) ("`hu" ?ኁ) ("`hi" ?ኂ) ("`ha" ?ኃ) ("`hE" ?ኄ) ("`hee" ?ኄ) ("`h" ?ኅ) ("`ho" ?ኆ) ("`hWe" ?ኈ) ("`hWu" ?ኍ) ("`hWi" ?ኊ) ("`hW" ?ኋ) ("`hWa" ?ኋ) ("`hWE" ?ኌ) ("`hWee" ?ኌ) ("`hW'" ?ኍ) ("h2e" ?ኀ) ("h2u" ?ኁ) ("h2i" ?ኂ) ("h2a" ?ኃ) ("h2E" ?ኄ) ("h2ee" ?ኄ) ("h2" ?ኅ) ("h2o" ?ኆ) ("h2We" ?ኈ) ("h2Wu" ?ኍ) ("h2Wi" ?ኊ) ("h2W" ?ኋ) ("h2Wa" ?ኋ) ("h2WE" ?ኌ) ("h2Wee" ?ኌ) ("h2W'" ?ኍ) ("hhe" ?ኀ) ("hhu" ?ኁ) ("hhi" ?ኂ) ("hha" ?ኃ) ("hhE" ?ኄ) ("hhee" ?ኄ) ("hh" ?ኅ) ("hho" ?ኆ) ("hhWe" ?ኈ) ("hhWu" ?ኍ) ("hhWi" ?ኊ) ("hhW" ?ኋ) ("hhWa" ?ኋ) ("hhWE" ?ኌ) ("hhWee" ?ኌ) ("hhW'" ?ኍ) ("ne" ?ነ) ("nu" ?ኑ) ("ni" ?ኒ) ("na" ?ና) ("nE" ?ኔ) ("nee" ?ኔ) ("n" ?ን) ("no" ?ኖ) ("nW" ?ኗ) ("nWa" ?ኗ) ("Ne" ?ኘ) ("Nu" ?ኙ) ("Ni" ?ኚ) ("Na" ?ኛ) ("NE" ?ኜ) ("Nee" ?ኜ) ("N" ?ኝ) ("No" ?ኞ) ("NW" ?ኟ) ("NWa" ?ኟ) ;; ("e" ?አ) ; old style ("u" ?ኡ) ("U" ?ኡ) ("i" ?ኢ) ("a" ?አ) ("A" ?ኣ) ("E" ?ኤ) ;; ("ee" ?ኤ) ; Alef-E is rare vs Aynu-I, so ee = Aynu-I ("I" ?እ) ("e" ?እ) ; This is the premise to "new style" for vowels ("o" ?ኦ) ("O" ?ኦ) ("ea" ?ኧ) ("ke" ?ከ) ("ku" ?ኩ) ("ki" ?ኪ) ("ka" ?ካ) ("kE" ?ኬ) ("kee" ?ኬ) ("k" ?ክ) ("ko" ?ኮ) ("kWe" ?ኰ) ("kWu" ?ኵ) ("kWi" ?ኲ) ("kW" ?ኳ) ("kWa" ?ኳ) ("kWE" ?ኴ) ("kWee" ?ኴ) ("kW'" ?ኵ) ("Ke" ?ኸ) ("Ku" ?ኹ) ("Ki" ?ኺ) ("Ka" ?ኻ) ("KE" ?ኼ) ("Kee" ?ኼ) ("K" ?ኽ) ("Ko" ?ኾ) ("KWe" ?ዀ) ("KWu" ?ዅ) ("KWi" ?ዂ) ("KW" ?ዃ) ("KWa" ?ዃ) ("KWE" ?ዄ) ("KWee" ?ዄ) ("KW'" ?ዅ) ("we" ?ወ) ("wu" ?ዉ) ("wi" ?ዊ) ("wa" ?ዋ) ("wE" ?ዌ) ("wee" ?ዌ) ("w" ?ው) ("wo" ?ዎ) ("`e" ?ዐ) ("`u" ?ዑ) ("`U" ?ዑ) ("`i" ?ዒ) ("`a" ?ዓ) ("`A" ?ዓ) ("`E" ?ዔ) ("`ee" ?ዔ) ("`I" ?ዕ) ("`o" ?ዖ) ("`O" ?ዖ) ("e2" ?ዐ) ("u2" ?ዑ) ("U2" ?ዑ) ("i2" ?ዒ) ("a2" ?ዓ) ("A2" ?ዓ) ("E2" ?ዔ) ("ee2" ?ዔ) ("I2" ?ዕ) ("o2" ?ዖ) ("O2" ?ዖ) ;; ("ee" ?ዐ) ; old style ("ae" ?ዐ) ; new style ("aaa" ?ዐ) ; new style ("uu" ?ዑ) ("UU" ?ዑ) ("ii" ?ዒ) ("aa" ?ዓ) ("AA" ?ዓ) ("EE" ?ዔ) ("II" ?ዕ) ("ee" ?ዕ) ; new style ("oo" ?ዖ) ("OO" ?ዖ) ("ze" ?ዘ) ("zu" ?ዙ) ("zi" ?ዚ) ("za" ?ዛ) ("zE" ?ዜ) ("zee" ?ዜ) ("z" ?ዝ) ("zo" ?ዞ) ("zW" ?ዟ) ("zWa" ?ዟ) ("Ze" ?ዠ) ("Zu" ?ዡ) ("Zi" ?ዢ) ("Za" ?ዣ) ("ZE" ?ዤ) ("Zee" ?ዤ) ("Z" ?ዥ) ("Zo" ?ዦ) ("ZW" ?ዧ) ("ZWa" ?ዧ) ("ye" ?የ) ("yu" ?ዩ) ("yi" ?ዪ) ("ya" ?ያ) ("yE" ?ዬ) ("yee" ?ዬ) ("y" ?ይ) ("yo" ?ዮ) ("Ye" ?የ) ("Yu" ?ዩ) ("Yi" ?ዪ) ("Ya" ?ያ) ("YE" ?ዬ) ("Yee" ?ዬ) ("Y" ?ይ) ("Yo" ?ዮ) ("de" ?ደ) ("du" ?ዱ) ("di" ?ዲ) ("da" ?ዳ) ("dE" ?ዴ) ("dee" ?ዴ) ("d" ?ድ) ("do" ?ዶ) ("dW" ?ዷ) ("dWa" ?ዷ) ("De" ?ዸ) ("Du" ?ዹ) ("Di" ?ዺ) ("Da" ?ዻ) ("DE" ?ዼ) ("Dee" ?ዼ) ("D" ?ዽ) ("Do" ?ዾ) ("DW" ?ዿ) ("DWa" ?ዿ) ("je" ?ጀ) ("ju" ?ጁ) ("ji" ?ጂ) ("ja" ?ጃ) ("jE" ?ጄ) ("jee" ?ጄ) ("j" ?ጅ) ("jo" ?ጆ) ("jW" ?ጇ) ("jWa" ?ጇ) ("Je" ?ጀ) ("Ju" ?ጁ) ("Ji" ?ጂ) ("Ja" ?ጃ) ("JE" ?ጄ) ("Jee" ?ጄ) ("J" ?ጅ) ("Jo" ?ጆ) ("JW" ?ጇ) ("JWa" ?ጇ) ("ge" ?ገ) ("gu" ?ጉ) ("gi" ?ጊ) ("ga" ?ጋ) ("gE" ?ጌ) ("gee" ?ጌ) ("g" ?ግ) ("go" ?ጎ) ("gWe" ?ጐ) ("gWu" ?ጕ) ("gWi" ?ጒ) ("gW" ?ጓ) ("gWa" ?ጓ) ("gWE" ?ጔ) ("gWee" ?ጔ) ("gW'" ?ጕ) ("Ge" ?ጘ) ("Gu" ?ጙ) ("Gi" ?ጚ) ("Ga" ?ጛ) ("GE" ?ጜ) ("Gee" ?ጜ) ("G" ?ጝ) ("Go" ?ጞ) ("Te" ?ጠ) ("Tu" ?ጡ) ("Ti" ?ጢ) ("Ta" ?ጣ) ("TE" ?ጤ) ("Tee" ?ጤ) ("T" ?ጥ) ("To" ?ጦ) ("TW" ?ጧ) ("TWa" ?ጧ) ("Ce" ?ጨ) ("Cu" ?ጩ) ("Ci" ?ጪ) ("Ca" ?ጫ) ("CE" ?ጬ) ("Cee" ?ጬ) ("C" ?ጭ) ("Co" ?ጮ) ("CW" ?ጯ) ("CWa" ?ጯ) ("Pe" ?ጰ) ("Pu" ?ጱ) ("Pi" ?ጲ) ("Pa" ?ጳ) ("PE" ?ጴ) ("Pee" ?ጴ) ("P" ?ጵ) ("Po" ?ጶ) ("PW" ?ጷ) ("PWa" ?ጷ) ("Se" ?ጸ) ("Su" ?ጹ) ("Si" ?ጺ) ("Sa" ?ጻ) ("SE" ?ጼ) ("See" ?ጼ) ("S" ?ጽ) ("So" ?ጾ) ("SW" ?ጿ) ("SWa" ?ጿ) ("`Se" ?ፀ) ("`Su" ?ፁ) ("`Si" ?ፂ) ("`Sa" ?ፃ) ("`SE" ?ፄ) ("`See" ?ፄ) ("`S" ?ፅ) ("`So" ?ፆ) ("`SW" ?ጿ) ("`SWa" ?ጿ) ("S2e" ?ፀ) ("S2u" ?ፁ) ("S2i" ?ፂ) ("S2a" ?ፃ) ("S2E" ?ፄ) ("S2ee" ?ፄ) ("S2" ?ፅ) ("S2o" ?ፆ) ("S2W" ?ጿ) ("S2Wa" ?ጿ) ("SSe" ?ፀ) ("SSu" ?ፁ) ("SSi" ?ፂ) ("SSa" ?ፃ) ("SSE" ?ፄ) ("SSee" ?ፄ) ("SS" ?ፅ) ("SSo" ?ፆ) ("SSW" ?ጿ) ("SSWa" ?ጿ) ("fe" ?ፈ) ("fu" ?ፉ) ("fi" ?ፊ) ("fa" ?ፋ) ("fE" ?ፌ) ("fee" ?ፌ) ("f" ?ፍ) ("fo" ?ፎ) ("fW" ?ፏ) ("fWa" ?ፏ) ("fY" ?ፚ) ("fYa" ?ፚ) ("Fe" ?ፈ) ("Fu" ?ፉ) ("Fi" ?ፊ) ("Fa" ?ፋ) ("FE" ?ፌ) ("Fee" ?ፌ) ("F" ?ፍ) ("Fo" ?ፎ) ("FW" ?ፏ) ("FWa" ?ፏ) ("FY" ?ፚ) ("FYa" ?ፚ) ("pe" ?ፐ) ("pu" ?ፑ) ("pi" ?ፒ) ("pa" ?ፓ) ("pE" ?ፔ) ("pee" ?ፔ) ("p" ?ፕ) ("po" ?ፖ) ("pW" ?ፗ) ("pWa" ?ፗ) ("'" "") ("''" ?') (":" ?፡) ("::" ?።) (":::" ?:) ("." ?።) ("..." ?.) ("," ?፣) (",," ?,) (";" ?፤) (";;" ?\;) ("-:" ?፥) (":-" ?፦) ("*" ?*) ("**" ?፨) (":|:" ?፨) ("??" ?፧) ("`?" ?፧) ("???" ??) ("`1" ?፩) ("`2" ?፪) ("`3" ?፫) ("`4" ?፬) ("`5" ?፭) ("`6" ?፮) ("`7" ?፯) ("`8" ?፰) ("`9" ?፱) ("`10" ?፲) ("`20" ?፳) ("`30" ?፴) ("`40" ?፵) ("`50" ?፶) ("`60" ?፷) ("`70" ?፸) ("`80" ?፹) ("`90" ?፺) ("`100" ?፻) ("`1000" "፲፻") ("`2000" "፳፻") ("`3000" "፴፻") ("`4000" "፵፻") ("`5000" "፶፻") ("`6000" "፷፻") ("`7000" "፸፻") ("`8000" "፹፻") ("`9000" "፺፻") ("`10000" ?፼) ("`20000" "፪፼") ("`30000" "፫፼") ("`40000" "፬፼") ("`50000" "፭፼") ("`60000" "፮፼") ("`70000" "፯፼") ("`80000" "፰፼") ("`90000" "፱፼") ("`100000" "፲፼") ("`200000" "፳፼") ("`300000" "፴፼") ("`400000" "፵፼") ("`500000" "፶፼") ("`600000" "፷፼") ("`700000" "፸፼") ("`800000" "፹፼") ("`900000" "፺፼") ("`1000000" "፻፼") )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: NO-CTL.flt000064400000002744147633214350006226 0ustar00;; NO-CLT.flt -- Font Layout Table suppressing Complex Text Layout ;; Copyright (C) 2003, 2004, 2005 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter no-ctl nil) ;;;
  • NO-CTL.flt ;;; ;;; This is to suppress Complex Text Layout for many scripts. This ;;; FLT can be used for fonts that have Unicode encoding. Even if a ;;; glyph in a font has zero width, the glyph is displayed as if it is ;;; a spacing glyph. (category (0x0000 0x10FFFF ?C) ) (generator (0 (cond ("C" [ = ])) *)) ;; Copyright (C) 2003, 2004, 2005 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H15PRO112 ;; This file is 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. ;; Local Variables: ;; mode: lisp ;; End: SYRC-OTF.flt000064400000006507147633214350006501 0ustar00;; SYRC-OTF.flt -- Font Layout Table for Syriac OpenType font ;; Copyright (C) 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter syrc-otf nil (font (nil nil unicode-bmp :otf=syrc))) ;;;
  • SYRC-OTF.flt ;;; ;;; For Syriac OpenType fonts to draw the Syriac script. ;; Step 1: Initial, medial, or final. (category ;; D: Dual-joining ;; R: Right-joining ;; U: Non-joining ;; T: Transparent ;; A: ALAPH ;; r: DALATH, RISH, DOTLESS DALATH RISH (0x0700 0x071F ?U) (0x0710 ?A) (0x0711 ?T) (0x0712 0x072E ?D) (0x0715 0x0716 ?r) (0x0717 0x0719 ?R) (0x071E ?R) (0x0728 ?R) (0x072A ?r) (0x072C ?R) (0x072F ?R) (0x0730 0x074A ?T) (0x074D ?R) (0x074E 0x074F ?D) (0x0303 ?T) (0x0330 ?T) (0x0304 ?T) (0x0331 ?T) (0x0307 ?T) (0x0323 ?T) (0x0308 ?T) (0x030A ?T) (0x0325 ?T) (0x0324 ?T) (0x032D ?T) (0x032E ?T) (0x064B 0x0655 ?T) (0x0670 ?T) (0x200C ?U) (0x200D ?D) ) (generator (0 (cond ("(r)(T*)(.*)" (1 otf:syrc=isol) (2 = *) (3 dalath-rish)) ("(D)(T*)([DRAr].*)" (1 otf:syrc=init) (2 = *) (3 join)) ("(T+)(.*)" (1 = *) (2 disjoin)) ("(.)(T*)(.*)" (1 otf:syrc=isol) (2 = *) (3 disjoin)))) (join (cond ("(r)(T*)(.*)" (1 otf:syrc=fina) (2 = *) (3 dalath-rish)) ("(D)(T*)([DRrA].*)" (1 otf:syrc=medi) (2 = *) (3 join)) ("(.)(T*)(.*)" (1 otf:syrc=fina) (2 = *) (3 disjoin)))) (disjoin (cond ("(D)(T*)([DRAr].*)" (1 otf:syrc=init) (2 = *) (3 join)) ("(r)(T*)(.*)" (1 otf:syrc=isol) (2 = *) (3 dalath-rish)) ("(A)(T*)([DRAr].*)" (1 otf:syrc=med2) (2 = *) (3 disjoin)) ("(A)(T*)(.*)" (1 otf:syrc=fin2) (2 = *) (3 disjoin)) ("(.)(T*)(.*)" (1 otf:syrc=isol) (2 = *) (3 disjoin)))) (dalath-rish (cond ("(D)(T*)([DRAr].*)" (1 otf:syrc=init) (2 = *) (3 join)) ("(r)(T*)(.*)" (1 otf:syrc=isol) (2 = *) (3 dalath-rish)) ("(A)(T*)([DRAr].*)" (1 otf:syrc=med2) (2 = *) (3 disjoin)) ("(A)(T*)(.*)" (1 otf:syrc=fin3) (2 = *) (3 disjoin)) ("(.)(T*)(.*)" (1 otf:syrc=isol) (2 = *) (3 disjoin))))) ;; Step 2: Other GSUB features (ligatures, etc.) (generator (0 otf:syrc=rlig,calt,liga,dlig)) ;; Step 3: GPOS features. (generator (0 otf:syrc=)) ;; Copyright (C) 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: sa-harvard-kyoto.mim000064400000007005147633214350010455 0ustar00;; sa-harvard-kyoto.mim -- Sanscrit input method with Harvard-Kyoto convention ;; Copyright (C) 2008 ;; 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 sa harvard-kyoto) (description "Sanscrit input method with Harvard-Kyoto convention. The table is based on ") (title "क") (map (starter ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("D") ("G") ("H") ("I") ("J") ("M") ("N") ("R") ("S") ("T") ("U") ("a") ("b") ("c") ("d") ("e") ("g") ("h") ("i") ("j") ("k") ("l") ("m") ("n") ("o") ("p") ("r") ("s") ("t") ("u") ("v") ("y") ("z") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "क्") ("kh" "ख्") ("g" "ग्") ("gh" "घ्") ("G" "ङ्") ("c" "च्") ("ch" "छ्") ("j" "ज्") ("jh" "झ्") ("J" "ञ्") ("T" "ट्") ("Th" "ठ्") ("D" "ड्") ("Dh" "ढ्") ("N" "ण्") ("t" "त्") ("th" "थ्") ("d" "द्") ("dh" "ध्") ("n" "न्") ("p" "प्") ("ph" "फ्") ("b" "ब्") ("bh" "भ्") ("m" "म्") ("y" "य्") ("r" "र्") ("l" "ल्") ("v" "व्") ("z" "श्") ("S" "ष्") ("s" "स्") ("h" "ह्")) (independent ("M" "ं") ("H" "ः") ("a" "अ") ("A" "आ") ("i" "इ") ("I" "ई") ("u" "उ") ("U" "ऊ") ("R" "ऋ") ("lR" "ऌ") ("e" "ए") ("ai" "ऐ") ("o" "ओ") ("au" "औ") ("RR" "ॠ") ("lRR" "ॡ") ("0" "०") ("1" "१") ("2" "२") ("3" "३") ("4" "४") ("5" "५") ("6" "६") ("7" "७") ("8" "८") ("9" "९") ((KP_0) "०") ((KP_1) "१") ((KP_2) "२") ((KP_3) "३") ((KP_4) "४") ((KP_5) "५") ((KP_6) "६") ((KP_7) "७") ((KP_8) "८") ((KP_9) "९") ((S-\ ) "‌") ((C-@) "‍")) (dependent ("a" (delete @-) "") ("A" (delete @-) "ा") ("i" (delete @-) "ि") ("I" (delete @-) "ी") ("u" (delete @-) "ु") ("U" (delete @-) "ू") ("R" (delete @-) "ृ") ("RR" (delete @-) "ॄ") ("e" (delete @-) "े") ("ai" (delete @-) "ै") ("o" (delete @-) "ो") ("au" (delete @-) "ौ") ("lR" (delete @-) "ॢ") ("lRR" (delete @-) "ॣ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: GUJR-OTF.flt000064400000013065147633214350006465 0ustar00;; GUJR-OTF.flt -- Font Layout Table for Gujarati OpenType fonts ;; Copyright (C) 2004, 2007, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter gujr-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=gujr))) ;;;
  • GUJR-OTF.flt ;;; ;;; For Gujarati OpenType fonts to draw the Gujarati script. (category ;; X: generic ;; V: independent vowel ;; C: consonant ;; R: RA ;; n: NUKTA ;; H: HALANT ;; m: vowel sign (pre) ;; u: vowel sign (above) ;; b: vowel sign (below) ;; p: vowel sign (post) ;; a: vowel modifier (above) ;; A: vowel modifier (post) ;; N: ZWNJ ;; J: ZWJ (0x0A80 0x0AFF ?X) ; generic (0x0A81 0x0A82 ?a) ; SIGN CANDRABINDU .. ANUSVARA (0x0A83 ?A) ; SIGN VISARGA (0x0A85 0x0A94 ?V) ; LETTER A .. AU (0x0A95 0x0AB9 ?C) ; LETTER KA .. HA (0x0AB0 ?R) ; LETTER RA (0x0ABC ?n) ; SIGN NUKTA (0x0ABE ?p) ; VOWEL SIGN AA (0x0ABF ?m) ; VOWEL SIGN I (0x0AC0 ?p) ; VOWEL SIGN II (0x0AC1 0x0AC4 ?b) ; VOWEL SIGN UU .. VOCALIC RR (0x0AC5 0x0AC8 ?u) ; VOWEL SIGN CANDRA E .. AI (0x0AC9 0x0ACC ?p) ; VOWEL SIGN CANDRA O .. AU (0x0ACD ?H) ; SIGN VIRAMA (0x0AE0 0x0AE1 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0AE2 0x0AE3 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) ) ;; Stage 0 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?(Vn?)((J?HR)?m?u?b?p?n?a?A?)" < | (1 = =) (2 :otf=gujr=nukt+) (3 = *) | >) ;; Consonant-based syllables ;;1 23 4 ("([CR]n?((J?H|HJ?)[CR]n?)*)(H[NJ]?|m?u?b?p?n?a?A?)" < | (cond (".+HJ$" :otf=gujr=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=gujr=nukt,akhn+) (2 =) 0x200C) (".+" :otf=gujr=nukt,akhn+)) | >) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf is displayed with a DOTTED CIRCLE in the next stage. ("(J)(H)(R)" < | (1 =) (3 =) (2 =) | >) ("." =)) *)) ;; Stage 1 ;; Reorder halant for blwf (generator (0 (cond ;; Isolated blwf (" J(RH) " (cond ((font-facility 0x25CC) < 0x25CC :otf=gujr=blwf+ >) (" J(RH) " [ (1 :otf=gujr=blwf+) ]))) ;; Syllables with an overt halant (" (RHJ?)?([^ ]+)(HN) " | (1 = *) (2 reorder) (3 = =) |) ;; Ordinary syllables (" (RHJ?)?([^mubpaA ]+)(m?u?b?p?n?a?A?) " | (1 = *) (2 reorder) (3 = *) |) ("." =)) *) ;; In Devanagari and Gujarati, vattu has a half form. Thus we handle ;; the sequence CHRHC as (CH)half + (RH)blwf + C instead of ;; reordering and interpreting it as C + (RH)blwf + H + C. (reorder (cond ("(.+)(H)(R)$" (1 = *) (3 =) (2 =)) (".+" = *))) ) ;; Stage 2 ;; Language forms and matra reordering (generator (0 (cond ;; Overt halant forms (" (RHJ?)?([^ ]+)(HN) " | (1 (cond ("RHJ" :otf=gujr=half+) ("RH" :otf=gujr=rphf+))) (2 (cond ("(.H)J?(.*)" (1 :otf=gujr=half+) (2 lang-forms *)) (".+" lang-forms *))) (3 = =) |) ;; Other syllables ;; 1 2 3 4 5 6 (" (RHJ?)?([^mubpaA ]*)(mn?)?(un?)?(bn?)?(p?n?a?A?) " | (3 = *) (1 (cond ("RHJ" :otf=gujr=half+) ("RH" :otf=gujr=rphf+))) (2 (cond ("(.H)J?(.*)" (1 :otf=gujr=half+) (2 lang-forms *)) (".+" lang-forms *))) (5 = *) (4 = *) (6 = *) |) ("." =)) *) (lang-forms (cond ("(.H)J" (1 :otf=gujr=half+)) (".H" :otf=gujr=blwf,half+) ("." =))) ) ;; Stage 3 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 4 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^H ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^aA ]+)(a?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 5 ;; Nukta for matra, vattu and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=gujr=nukt,vatu,pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 6 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 7 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=gujr=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2004, 2007, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: syrc-phonetic.mim000064400000005352147633214350010054 0ustar00;; syrc-phonetic.mim -- Syriac phonetic keyboard layout ;; Copyright (C) 2004, 2005, 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., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. (input-method t syrc-phonetic) (description "Syriac input method simulating the Syriac phonetic keyboard. The keyboard layout was published by Beth Mardutho: The Syriac Institute. ") (title "syrc-ph") (map (generic ("`" ?܏) ("\\" ?܆) ("q" ?ܩ) ("w" ?ܘ) ("e" ?ܖ) ("r" ?ܪ) ("t" ?ܬ) ("y" ?ܝ) ("u" ?ܜ) ("i" ?ܥ) ("o" ?ܧ) ("p" ?ܦ) ("a" ?ܐ) ("s" ?ܣ) ("d" ?ܕ) ("f" ?ܔ) ("g" ?ܓ) ("h" ?ܗ) ("j" ?ܛ) ("k" ?ܟ) ("l" ?ܠ) (";" ?ܚ) ("'" ?ܞ) ("z" ?ܙ) ("x" ?ܨ) ("c" ?ܤ) ("v" ?ܫ) ("b" ?ܒ) ("n" ?ܢ) ("m" ?ܡ) ("," ?܀) ("/" ?܇) ("~" ?̮) ("@" ?̊) ("#" ?̥) ("$" ?݉) ("%" ?♰) ("^" ?♱) ("&" ?܊) ("*" ?«) ("_" ?») ("|" ?:) ("Q" ?ܰ) ("W" ?ܳ) ("E" ?ܶ) ("R" ?ܺ) ("T" ?ܽ) ("Y" ?݀) ("U" ?݁) ("I" ?̈) ("O" ?̄) ("P" ?̇) ("{" ?̃) ("}" ?݊) ("A" ?ܱ) ("S" ?ܴ) ("D" ?ܷ) ("F" ?ܻ) ("G" ?ܾ) ("H" ?ܑ) ("J" ?-) ("K" ?̤) ("L" ?̱) (":" ?̣) ("\"" ?̰) ("Z" ?ܲ) ("X" ?ܵ) ("C" ?ܸ) ("V" ?ܼ) ("B" ?ܿ) ("N" ?ܹ) ("M" ?݂) ("<" ?،) (">" ?؛) ("?" ?؟) ((A-`) ?ّ) ((A-1) ?܁) ((A-2) ?܂) ((A-3) ?܃) ((A-4) ?܄) ((A-5) ?܅) ((A-6) ?܈) ((A-7) ?܉) ((A-8) ?܋) ((A-9) ?܌) ((A-0) ?܍) ((A--) ?┌) ((A-=) ?┐) ((A-q) ?َ) ((A-w) ?ً) ((A-e) ?ُ) ((A-r) ?ٌ) ((A-t) ?ٓ) ((A-y) ?ٔ) ((A-u) ?݇) ((A-i) ?݃) ((A-o) ?݅) ((A-p) ?̭) ((A-a) ?ِ) ((A-s) ?ٍ) ((A-f) ?ء) ((A-g) ?ٕ) ((A-h) ?ٰ) ((A-j) ?݈) ((A-k) ?݄) ((A-l) ?݆) ((A-x) ?ْ) ((A-c) ?‌) ((A-v) ?‍) ((A-b) ?‎) ((A-n) ?‏) )) (state (init (generic))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: he-kbd.mim000064400000004536147633214350006422 0ustar00;; he-kbd.mim -- Hebrew input method with Hebrew keyboard layout ;; Copyright (C) 2003, 2004, 2005 ;; 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 for Hebrew simulating Hebrew keyboard. ;;; @image html he-kbd.png "Keyboard Layout" ;;; @image latex he-kbd.eps "Keyboard Layout" width=\narrowwidth ;; 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ ;~ ;; /Q 'W קE רR אT טY וU ןI םO פP [{ ]} ;; שA דS גD כF עG יH חJ לK ךL ף: ," \| ;; זZ סX בC הV נB מN צM ת< ץ> .? (input-method he kbd) (description "Hebrew input method simulating the Hebrew keyboard. 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ ;~ /Q 'W קE רR אT טY וU ןI םO פP [{ ]} שA דS גD כF עG יH חJ לK ךL ף: ,\" \\| זZ סX בC הV נB מN צM ת< ץ> .? ") (title "ע") (map (map ("`" ?\;) ("q" ?/) ("w" ?') ("e" ?ק) ("r" ?ר) ("t" ?א) ("y" ?ט) ("u" ?ו) ("i" ?ן) ("o" ?ם) ("p" ?פ) ("a" ?ש) ("s" ?ד) ("d" ?ג) ("f" ?כ) ("g" ?ע) ("h" ?י) ("j" ?ח) ("k" ?ל) ("l" ?ך) (";" ?ף) ("z" ?ז) ("x" ?ס) ("c" ?ב) ("v" ?ה) ("b" ?נ) ("n" ?מ) ("m" ?צ) ("," ?ת) ("." ?ץ) ("/" ?.) ("'" ?,) ("(" ")") (")" "(") ("<" ">") (">" "<") ("[" "]") ("]" "[") ("{" "}") ("}" "{") )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: or-itrans.mim000064400000010551147633214350007200 0ustar00;; or-itrans.mim -- Oriya input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 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 or itrans) (description "Oriya input method by ITRANS transliteration. For the detail of ITRANS, see the page: ") (title "କ") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "କ୍") ("kh" "ଖ୍") ("g" "ଗ୍") ("gh" "ଘ୍") ("~N" "ଙ୍") ("N^" "ଙ୍") ("ch" "ଚ୍") ("Ch" "ଛ୍") ("chh" "ଛ୍") ("j" "ଜ୍") ("jh" "ଝ୍") ("~n" "ଞ୍") ("JN" "ଞ୍") ("T" "ଟ୍") ("Th" "ଠ୍") ("D" "ଡ୍") ("Dh" "ଢ୍") ("N" "ଣ୍") ("t" "ତ୍") ("th" "ଥ୍") ("d" "ଦ୍") ("dh" "ଧ୍") ("n" "ନ୍") ("p" "ପ୍") ("ph" "ଫ୍") ("b" "ବ୍") ("bh" "ଭ୍") ("m" "ମ୍") ("y" "ଯ୍") ("r" "ର୍") ("l" "ଲ୍") ("L" "ଳ୍") ("ld" "ଳ୍") ("sh" "ଶ୍") ("Sh" "ଷ୍") ("shh" "ଷ୍") ("s" "ସ୍") ("h" "ହ୍") (".D" "ଡ଼୍") (".Dh" "ଢ଼୍") ("Y" "ୟ୍") ("yh" "ୟ୍") ("GY" "ଜ୍ଞ୍") ("dny" "ଜ୍ଞ୍") ("x" "କ୍ଷ୍")) (independent ("a" "ଅ") ("aa" "ଆ") ("A" "ଆ") ("i" "ଇ") ("ii" "ଈ") ("I" "ଈ") ("u" "ଉ") ("uu" "ଊ") ("U" "ଊ") ("RRi" "ଋ") ("R^i" "ଋ") ("LLi" "ଌ") ("L^i" "ଌ") ("e" "ଏ") ("ai" "ଐ") ("o" "ଓ") ("au" "ଔ") ("RRI" "ୠ") ("R^I" "ୠ") ("LLI" "ୡ") ("L^I" "ୡ") (".N" "ଁ") (".n" "ଂ") ("M" "ଂ") ("H" "ଃ") (".a" "ଽ") (".h" "୍") ("0" "୦") ("1" "୧") ("2" "୨") ("3" "୩") ("4" "୪") ("5" "୫") ("6" "୬") ("7" "୭") ("8" "୮") ("9" "୯") ("#" "୍ର") ("$" "ର୍") ("^" "ତ୍ର") ("*" "ଶ୍ର") ("]" "଼") ((KP_1) "୧") ((KP_2) "୨") ((KP_3) "୩") ((KP_4) "୪") ((KP_5) "୫") ((KP_6) "୬") ((KP_7) "୭") ((KP_8) "୮") ((KP_9) "୯") ((KP_0) "୦") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ((C-@) "‍")) (dependent ("a" (delete @-) "") ("aa" (delete @-) "ା") ("A" (delete @-) "ା") ("i" (delete @-) "ି") ("ii" (delete @-) "ୀ") ("I" (delete @-) "ୀ") ("u" (delete @-) "ୁ") ("uu" (delete @-) "ୂ") ("U" (delete @-) "ୂ") ("RRi" (delete @-) "ୃ") ("R^i" (delete @-) "ୃ") ("LLi" (delete @-) "") ("L^i" (delete @-) "") ("e" (delete @-) "େ") ("ai" (delete @-) "ୈ") ("o" (delete @-) "ୋ") ("au" (delete @-) "ୌ") ("RRI" (delete @-) "") ("R^I" (delete @-) "") ("LLI" (delete @-) "") ("L^I" (delete @-) "")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: latn-post.mim000064400000022303147633214350007201 0ustar00;; latn-post.mim -- Latin input method with postfix modifiers ;; Copyright (C) 2003, 2004, 2005 ;; 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 General Public License as ;; published by the Free Software Foundation; either version 2, 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 General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with the m17n library; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Input method for Latin script with postfix modifiers. ;;; @image html latn-post.png ;;; @image latex latn-post.eps "Examples" width=\narrowwidth ;; | mark | postfix | examples ;; |------------+---------+---------- ;; | acute | ' | a' -> á ;; | grave | ` | a` -> à ;; | circumflex | ^ | a^ -> â ;; | diaeresis | " | a" -> ä ;; | tilde | ~ | a~ -> ã ;; | cedilla | , | c, -> ç ;; | ogonek | , | a, -> ą ;; | breve | ~ | g~ -> ğ ;; | caron | ~ | c~ -> č ;; | dbl. acute | : | o: -> ő ;; | ring | . | u. -> ů ;; | dot | . | z. -> ż ;; | stroke | / | l/ -> ł ;; | others | /, etc. | d/ -> ð t/ -> þ a/ -> å o/ -> ø ;; | | | ae/ -> æ ij -> ij oe/ -> œ s/ -> ß ;; | | | ?/ -> ¿ !/ -> ¡ // -> ° ;; | | | << -> « >> -> » o_ -> º a_ -> ª ;; ;; Repeating the postfix changes ambiguous combining marks: ;; Ex: A~ -> Ã, A~~ -> Ă, A~~~ -> A~ (input-method t latn-post) (description "Latin script input method using postfix modifiers. | mark | postfix | examples |------------+---------+---------- | acute | ' | a' -> á | grave | ` | a` -> à | circumflex | ^ | a^ -> â | diaeresis | \" | a\" -> ä | tilde | ~ | a~ -> ã | cedilla | , | c, -> ç | ogonek | , | a, -> ą | breve | ~ | g~ -> ğ | caron | ~ | c~ -> č | dbl. acute | : | o: -> ő | ring | . | u. -> ů | dot | . | z. -> ż | stroke | / | l/ -> ł | others | /, etc. | d/ -> ð t/ -> þ a/ -> å o/ -> ø | | | ae/ -> æ ij -> ij oe/ -> œ s/ -> ß | | | ?/ -> ¿ !/ -> ¡ // -> ° | | | << -> « >> -> » o_ -> º a_ -> ª Repeating the postfix changes ambiguous combining marks: Ex: A~ -> Ã, A~~ -> Ă, A~~~ -> A~ ") (title "Latin-post") (map (trans ("!/" "¡") ("!//" "!/") ("//" "°") ("///" "//") ("<<" "\«") ("<<<" "<<") (">>" "\»") (">>>" ">>") ("?/" "¿") ("?//" "?/") ("$/" "£") ("$//" "¤") ("$///" "$/") ("A'" "Á") ("a'" "á") ("A''" "A'") ("a''" "a'") ("A," "Ą") ("a," "ą") ("A,," "A,") ("a,," "a,") ("A-" "Ā") ("a-" "ā") ("A--" "A-") ("a--" "a-") ("A/" "Å") ("a/" "å") ("A//" "A/") ("a//" "a/") ("A\"" "Ä") ("a\"" "ä") ("A\"\"" "A\"") ("a\"\"" "a\"") ("A^" "Â") ("a^" "â") ("A^^" "A^") ("a^^" "a^") ("A`" "À") ("a`" "à") ("A``" "A`") ("a``" "a`") ("A~" "Ã") ("a~" "ã") ("A~~" "Ă") ("a~~" "ă") ("A~~~" "A~") ("a~~~" "a~") ("AE/" "Æ") ("ae/" "æ") ("AE//" "Æ/") ("ae//" "æ/") ("AE///" "AE/") ("ae///" "ae/") ("a_" "ª") ("a__" "a_") ("C'" "Ć") ("c'" "ć") ("C''" "C'") ("c''" "c'") ("C," "Ç") ("c," "ç") ("C,," "C,") ("c,," "c,") ("C." "Ċ") ("c." "ċ") ("C.." "C.") ("c.." "c.") ("C^" "Ĉ") ("c^" "ĉ") ("C^^" "C^") ("c^^" "c^") ("C~" "Č") ("c~" "č") ("C~~" "C~") ("c~~" "c~") ("c/" "¢") ("c//" "c/") ("D/" "Ð") ("d/" "ð") ("D//" "Đ") ("d//" "đ") ("D///" "D/") ("d///" "d/") ("D~" "Ď") ("d~" "ď") ("D~~" "D~") ("d~~" "d~") ("E'" "É") ("e'" "é") ("E''" "E'") ("e''" "e'") ("E," "Ę") ("e," "ę") ("E,," "E,") ("e,," "e,") ("E-" "Ē") ("e-" "ē") ("E--" "E-") ("e--" "e-") ("E." "Ė") ("e." "ė") ("E.." "E.") ("e.." "e.") ("E\"" "Ë") ("e\"" "ë") ("E\"\"" "E\"") ("e\"\"" "e\"") ("E^" "Ê") ("e^" "ê") ("E^^" "E^") ("e^^" "e^") ("E`" "È") ("e`" "è") ("E``" "E`") ("e``" "e`") ("E~" "Ě") ("e~" "ě") ("E~~" "Ĕ") ("e~~" "ĕ") ("E~~~" "E~") ("e~~~" "e~") ("e=" "€") ("e==" "e=") ("G," "Ģ") ("g," "ģ") ("G,," "G,") ("g,," "g,") ("G." "Ġ") ("g." "ġ") ("G.." "G.") ("g.." "g.") ("G^" "Ĝ") ("g^" "ĝ") ("G^^" "G^") ("g^^" "g^") ("G~" "Ğ") ("g~" "ğ") ("G~~" "G~") ("g~~" "g~") ("H/" "Ħ") ("h/" "ħ") ("H//" "H/") ("h//" "h/") ("H^" "Ĥ") ("h^" "ĥ") ("H^^" "H^") ("h^^" "h^") ("I'" "Í") ("i'" "í") ("I''" "I'") ("i''" "i'") ("I," "Į") ("i," "į") ("I,," "I,") ("i,," "i,") ("I-" "Ī") ("i-" "ī") ("I--" "I-") ("i--" "i-") ("I." "İ") ("i." "ı") ("I.." "I.") ("i.." "i.") ("I\"" "Ï") ("i\"" "ï") ("I\"\"" "I\"") ("i\"\"" "i\"") ("I^" "Î") ("i^" "î") ("I^^" "I^") ("i^^" "i^") ("I`" "Ì") ("i`" "ì") ("I``" "I`") ("i``" "i`") ("I~" "Ĩ") ("i~" "ĩ") ("I~~" "Ĭ") ("i~~" "ĭ") ("I~~~" "I~") ("i~~~" "i~") ("IJ/" "IJ") ("ij/" "ij") ("IJ//" "IJ/") ("ij//" "ij/") ("IJ///" "IJ/") ("ij///" "ij/") ("J^" "Ĵ") ("j^" "ĵ") ("J^^" "J^") ("j^^" "j^") ("K," "Ķ") ("k," "ķ") ("K,," "K,") ("k,," "k,") ("k/" "ĸ") ("k//" "k/") ("L'" "Ĺ") ("l'" "ĺ") ("L''" "L'") ("l''" "l'") ("L," "Ļ") ("l," "ļ") ("L,," "L,") ("l,," "l,") ("L." "Ŀ") ("l." "ŀ") ("L.." "L.") ("l.." "l.") ("L/" "Ł") ("l/" "ł") ("L//" "L/") ("l//" "l/") ("L~" "Ľ") ("l~" "ľ") ("L~~" "L~") ("l~~" "l~") ("N'" "Ń") ("n'" "ń") ("N''" "N'") ("n''" "n'") ("N," "Ņ") ("n," "ņ") ("N,," "N,") ("n,," "n,") ("N/" "Ŋ") ("n/" "ŋ") ("N//" "N/") ("n//" "n/") ("N~" "Ñ") ("n~" "ñ") ("N~~" "Ň") ("n~~" "ň") ("N~~~" "N~") ("n~~~" "n~") ("O'" "Ó") ("o'" "ó") ("O''" "O'") ("o''" "o'") ("O-" "Ō") ("o-" "ō") ("O--" "O-") ("o--" "o-") ("O/" "Ø") ("o/" "ø") ("O//" "O/") ("o//" "o/") ("O:" "Ő") ("o:" "ő") ("O::" "O:") ("o::" "o:") ("O\"" "Ö") ("o\"" "ö") ("O\"\"" "O\"") ("o\"\"" "o\"") ("O^" "Ô") ("o^" "ô") ("O^^" "O^") ("o^^" "o^") ("O`" "Ò") ("o`" "ò") ("O``" "O`") ("o``" "o`") ("O~" "Õ") ("o~" "õ") ("O~~" "Ŏ") ("o~~" "ŏ") ("O~~~" "O~") ("o~~~" "o~") ("OE/" "Œ") ("oe/" "œ") ("OE//" "Œ/") ("oe//" "œ/") ("OE///" "OE/") ("oe///" "oe/") ("o_" "º") ("o__" "o_") ("R'" "Ŕ") ("r'" "ŕ") ("R''" "R'") ("r''" "r'") ("R," "Ŗ") ("r," "ŗ") ("R,," "R,") ("r,," "r,") ("R~" "Ř") ("r~" "ř") ("R~~" "R~") ("r~~" "r~") ("S'" "Ś") ("s'" "ś") ("S''" "S'") ("s''" "s'") ("S," "Ş") ("s," "ş") ("S,," "S,") ("s,," "s,") ("S^" "Ŝ") ("s^" "ŝ") ("S^^" "S^") ("s^^" "s^") ("S~" "Š") ("s~" "š") ("S~~" "S~") ("s~~" "s~") ("s/" "ß") ("s//" "s/") ("T," "Ţ") ("t," "ţ") ("T,," "T,") ("t,," "t,") ("T/" "Þ") ("t/" "þ") ("T//" "Ŧ") ("t//" "ŧ") ("T///" "T/") ("t///" "t/") ("T~" "Ť") ("t~" "ť") ("T~~" "T~") ("t~~" "t~") ("U'" "Ú") ("u'" "ú") ("U''" "U'") ("u''" "u'") ("U," "Ų") ("u," "ų") ("U,," "U,") ("u,," "u,") ("U-" "Ū") ("u-" "ū") ("U--" "U-") ("u--" "u-") ("U/" "Ů") ("u/" "ů") ("U//" "U/") ("u//" "u/") ("U:" "Ű") ("u:" "ű") ("U::" "U:") ("u::" "u:") ("U\"" "Ü") ("u\"" "ü") ("U\"\"" "U\"") ("u\"\"" "u\"") ("U^" "Û") ("u^" "û") ("U^^" "U^") ("u^^" "u^") ("U`" "Ù") ("u`" "ù") ("U``" "U`") ("u``" "u`") ("U~" "Ũ") ("u~" "ũ") ("U~~" "Ŭ") ("u~~" "ŭ") ("U~~~" "U~") ("u~~~" "u~") ("W^" "Ŵ") ("w^" "ŵ") ("W^^" "W^") ("w^^" "w^") ("Y'" "Ý") ("y'" "ý") ("Y''" "Y'") ("y''" "y'") ("Y^" "Ŷ") ("y^" "ŷ") ("Y^^" "Y^") ("y^^" "y^") ("Y\"" "Ÿ") ("y\"" "ÿ") ("Y\"\"" "Y\"") ("y\"\"" "y\"") ("Y=" "¥") ("Y==" "Y=") ("Z'" "Ź") ("z'" "ź") ("Z''" "Z'") ("z''" "z'") ("Z." "Ż") ("z." "ż") ("Z.." "Z.") ("z.." "z.") ("Z~" "Ž") ("z~" "ž") ("Z~~" "Z~") ("z~~" "z~") )) (state (init (trans))) ;; Local Variables: ;; mode: lisp ;; End: lo-kbd.mim000064400000006362147633214350006437 0ustar00;; lo-kbd.mim -- Lao input method with Lao keyboard layout ;; Copyright (C) 2005 ;; 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 lo kbd) ;;; Input method for Lao using Lao keyboard layout. (description "Lao input method using Lao keyboard layout. The layout is based on the information at this page: http://home.vicnet.net.au/~lao/lswin/laokbd.htm ຢ1 ຟ2 ໂ3 ຖ4 ◌ຸ◌໌ ◌ູ^ ຄ5 ຕ6 ຈ7 ຂ8 ຊ9 ◌ໍ◌ໍ່ ງ໌ ◌ົ◌ົ້ ໄ0 ຳຳ້ ພ_ ະ+ ◌ິ◌ິ້ ◌ີ◌ີ້ ຣຮ ນໜ ຍຽ ບ- ລ/ ◌ັ◌ັ້ ຫ; ກ. ດ, ເ: ◌້◌໊ ◌່◌໋ າ! ສ? ວ% ງ= *ຫຼ ຜ\" ປ( ແຯ ອx ◌ຶ◌ຶ້ ◌ື◌ື້ ທໆ ມໝ ໃ$ ຝ) In addition, Lao digits are assigned to these keys: \\0:໐, \\1:໑, \\2:໒, \\3:໓, \\4:໔, \\5:໕, \\6:໖, \\7:໗, \\8:໘, \\9:໙ ") (title "ລ") (map (map ("!" ?1) ("\"" ?=) ("#" ?3) ("$" ?4) ("&" ?5) ("%" ?໌) ("'" ?ງ) ("(" ?7) (")" ?8) ("*" ?6) ("+" "ໍ່") ("," ?ມ) ("-" ?ຊ) ("." ?ໃ) ("/" ?ຝ) ("0" ?ຂ) ("1" ?ຢ) ("2" ?ຟ) ("3" ?ໂ) ("4" ?ຖ) ("5" ?ຸ) ("6" ?ູ) ("7" ?ຄ) ("8" ?ຕ) ("9" ?ຈ) (":" ?%) (";" ?ວ) ("<" ?ໝ) ("=" ?ໍ) (">" ?$) ("?" ?\)) ("@" ?2) ("A" "ັ້") ("B" "ຶ້") ("C" ?ຯ) ("D" ?.) ("E" "ຳ້") ("F" ?,) ("G" ?:) ("H" ?໊) ("I" ?ຮ) ("J" ?໋) ("K" ?!) ("L" ??) ("M" ?ໆ) ("N" "ື້") ("O" ?ໜ) ("P" ?ຽ) ("Q" "ົ້") ("R" ?_) ("S" ?\;) ("T" ?+) ("U" "ີ້") ("V" ?x) ("W" ?0) ("X" ?\() ("Y" "ິ້") ("Z" ?\") ("[" ?ບ) ("]" ?ລ) ("^" ?ຼ) ("_" ?9) ("`" ?*) ("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" ?ຜ) ("{" ?-) ("|" "ຫຼ") ("}" ?/) ("~" ?໌) ("\\\\" ?\\) ("\\0" ?໐) ("\\1" ?໑) ("\\2" ?໒) ("\\3" ?໓) ("\\4" ?໔) ("\\5" ?໕) ("\\6" ?໖) ("\\7" ?໗) ("\\8" ?໘) ("\\9" ?໙))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: global.mim000064400000011751147633214350006525 0ustar00;; global.mim -- global variable definitions of input methods. ;; Copyright (C) 2006, 2008 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H15PRO112 ;; This file is 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 t nil global) (description (_"Global variable and command definitions. This is actually not an input method, but provides documents, default values of global variables, and default key-bindings of global commands.")) (variable (candidates-group-size (_"Maxmum number of candidates in a candidate group. Value must be an integer. If the value is not positive, number of candidates in a group is decided by how candiates are grouped in an input method source file.") 10) (candidates-charset (_"Character set to limit candidates. Value must be a symbol representing a charater set, or nil. If the value is not nil, a candidate containing a character not belonging to the specified character set is ignored.") nil) ) (command (commit (_"Commit Commit the preedit text") (Return) (Linefeed)) (convert (_"Convert Convert the preedit text") (\ ) (Henkan)) (revert (_"Revert Revert the conversion") (Escape)) (prev-candidate (_"Previous candidate Spot the previous candidate") (Left) (C-B)) (next-candidate (_"Next candidate Spot the next candidate") (Right) (C-F) (\ )) (first-candidate (_"First candidate Spot the first candidate in the current group") (C-A)) (last-candidate (_"Last candidate Spot the last candidate in the current group") (C-E)) (prev-candidate-group (_"Previous candidate group Move to the previous candidate group") (Up) (C-P)) (next-candidate-group (_"Next candidate group Move to the next candidate group") (Down) (C-N)) (candidate-1 (_"Select the 1st candidate Select the first candidate in the current group") (\1)) (candidate-2 (_"Select the 2nd candidate Select the second candidate in the current group") (\2)) (candidate-3 (_"Select the 3rd candidate Select the third candidate in the current group") (\3)) (candidate-4 (_"Select the 4th candidate Select the fourth candidate in the current group") (\4)) (candidate-5 (_"Select the 5th candidate Select the fifth candidate in the current group") (\5)) (candidate-6 (_"Select the 6th candidate Select the sixth candidate in the current group") (\6)) (candidate-7 (_"Select the 7th candidate Select the seventh candidate in the current group") (\7)) (candidate-8 (_"select the 8th candidate Select the eighth candidate in the current group") (\8)) (candidate-9 (_"Select the 9th candidate Select the ninth candidate in the current group") (\9)) (candidate-10 (_"Select the 10th candidate Select the tenth candidate in the current group") (\0)) (prev-char (_"Previous character Move to the previous character in the preedit text") (Left) (C-B)) (next-char (_"Next character Move to the next character in the preedit text") (Right) (C-F)) (first-char (_"Fist character Move to the first character in the preedit text") (C-A)) (last-char (_"Last character Move to the last character in the preedit text") (C-E)) (backward-delete-char (_"Delete char backward Delete the previous character in the preedit text") (Backspace)) (delete-char (_"Delete char Delete the following character in the preedit text") (Delete)) (prev-segment (_"Previous segment Move to the previous segment in the preedit text") (Left) (C-B)) (next-segment (_"Next segment Move to the next segment in the preedit text") (Right) (C-F)) (first-segment (_"First segment Move to the first segment in the preedit text") (C-A)) (last-segment (_"Last segment Move to the last segment in the preedit text") (C-E)) (extend-segment (_"Extend segment Extend the current segment length to the tail") (S-Right) (C-O)) (shrink-segment (_"Shrink segment Shrink the current segment length from the tail") (S-Left) (C-I)) (-reload (_"Reload input method Reload the input method (and configulation if any) and freshly start it. Note that the length of key-sequence bound for this command must be 1. This is one of special commands reserved by the m17n library, and should not be used in a map of an input method.") (M-Return))) ;; Local Variables: ;; mode: lisp ;; coding: utf-8 ;; End: ru-kbd.mim000064400000005047147633214350006452 0ustar00;; ru-kbd.mim -- Russian input method with Russian keyboard layout ;; Copyright (C) 2005 ;; 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 for Russian by simulating the Russian keyboard. ;;; ;;; @image html ru-kbd.png "Keyboard Layout" ;;; @image latex ru-kbd.eps "Keyboard Layout" width=\narrowwidth (input-method ru kbd) (description "Russian input method simulating the Russian keyboard. 1! 2\" 3№ 4; 5% 6: 7? 8* 9( 0) -_ =+ ёЁ Й Ц У К Е Н Г Ш Щ З Х Ъ Ф Ы В А П Р О Л Д Ж Э \\| Я Ч С М И Т Ь Б Ю ., ") (title "RU") (map (map ("`" ?ё) ("q" ?й) ("w" ?ц) ("e" ?у) ("r" ?к) ("t" ?е) ("y" ?н) ("u" ?г) ("i" ?ш) ("o" ?щ) ("p" ?з) ("[" ?х) ("]" ?ъ) ("a" ?ф) ("s" ?ы) ("d" ?в) ("f" ?а) ("g" ?п) ("h" ?р) ("j" ?о) ("k" ?л) ("l" ?д) (";" ?ж) ("'" ?э) ("\\" ?\\) ("z" ?я) ("x" ?ч) ("c" ?с) ("v" ?м) ("b" ?и) ("n" ?т) ("m" ?ь) ("," ?б) ("." ?ю) ("/" ?.) ("!" ?!) ("@" ?\") ("#" ?№) ("$" ?\;) ("%" ?%) ("^" ?:) ("&" ??) ("*" ?*) ("(" ?\() (")" ?\)) ("_" ?_) ("+" ?+) ("~" ?Ё) ("Q" ?Й) ("W" ?Ц) ("E" ?У) ("R" ?К) ("T" ?Е) ("Y" ?Н) ("U" ?Г) ("I" ?Ш) ("O" ?Щ) ("P" ?З) ("{" ?Х) ("}" ?Ъ) ("A" ?Ф) ("S" ?Ы) ("D" ?В) ("F" ?А) ("G" ?П) ("H" ?Р) ("J" ?О) ("K" ?Л) ("L" ?Д) (":" ?Ж) ("\"" ?Э) ("|" ?\|) ("Z" ?Я) ("X" ?Ч) ("C" ?С) ("V" ?М) ("B" ?И) ("N" ?Т) ("M" ?Ь) ("<" ?Б) (">" ?Ю) ("?" ?,))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: gu-itrans.mim000064400000011746147633214350007202 0ustar00;; gu-itrans.mim -- Gujarati input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 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 gu itrans) (description "Gujarati input method by ITRANS transliteration. For the detail of ITRANS, see the page: ") (title "ક") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "ક્") ("kh" "ખ્") ("g" "ગ્") ("gh" "ઘ્") ("~N" "ઙ્") ; not in ITRANS Gujarati table ("N^" "ઙ્") ; not in ITRANS Gujarati table ("ch" "ચ્") ("Ch" "છ્") ("chh" "છ્") ("j" "જ્") ("jh" "ઝ્") ("~n" "ઞ્") ; not in ITRANS Gujarati table ("JN" "ઞ્") ; not in ITRANS Gujarati table ("T" "ટ્") ("Th" "ઠ્") ("D" "ડ્") ("Dh" "ઢ્") ("N" "ણ્") ("t" "ત્") ("th" "થ્") ("d" "દ્") ("dh" "ધ્") ("n" "ન્") ("p" "પ્") ("ph" "ફ્") ("b" "બ્") ("bh" "ભ્") ("m" "મ્") ("y" "ય્") ("r" "ર્") ("l" "લ્") ("ld" "ળ્") ("L" "ળ્") ("v" "વ્") ("w" "વ્") ("sh" "શ્") ("Sh" "ષ્") ("shh" "ષ્") ("s" "સ્") ("h" "હ્") ("j~n" "જ્ઞ્") ("GY" "જ્ઞ્") ("dny" "જ્ઞ્") ; not in ITRANS Gujarati table ("x" "ક્ષ્")) (independent ("a" "અ") ("aa" "આ") ("A" "આ") ("i" "ઇ") ("ii" "ઈ") ("I" "ઈ") ("u" "ઉ") ("uu" "ઊ") ("U" "ઊ") ("RRi" "ઋ") ("R^i" "ઋ") (".c" "ઍ") ; not in ITRANS Gujarati table ("e.c" "ઍ") ("e" "એ") ("ai" "ઐ") ("o.c" "ઑ") ("o" "ઓ") ("au" "ઔ") ("RRI" "ૠ") ; not in ITRANS Gujarati table ("R^I" "ૠ") ; not in ITRANS Gujarati table (".N" "ઁ") (".n" "ં") ("M" "ં") ("H" "ઃ") (".a" "ઽ") ; not in ITRANS Gujarati table (".h" "્") ("AUM" "ૐ") ("OM" "ૐ") ("0" "૦") ("1" "૧") ("2" "૨") ("3" "૩") ("4" "૪") ("5" "૫") ("6" "૬") ("7" "૭") ("8" "૮") ("9" "૯") ("#" "્ર") ; not in ITRANS Gujarati table ("$" "ર્") ; not in ITRANS Gujarati table ("^" "ત્ર") ; not in ITRANS Gujarati table ("*" "શ્ર") ; not in ITRANS Gujarati table ("]" "઼") ; not in ITRANS Gujarati table ((KP_1) "૧") ((KP_2) "૨") ((KP_3) "૩") ((KP_4) "૪") ((KP_5) "૫") ((KP_6) "૬") ((KP_7) "૭") ((KP_8) "૮") ((KP_9) "૯") ((KP_0) "૦") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ; not in ITRANS Gujarati table ((C-@) "‍")) ; not in ITRANS Gujarati table (dependent ("a" (delete @-) "") ("aa" (delete @-) "ા") ("A" (delete @-) "ા") ("i" (delete @-) "િ") ("ii" (delete @-) "ી") ("I" (delete @-) "ી") ("u" (delete @-) "ુ") ("uu" (delete @-) "ૂ") ("U" (delete @-) "ૂ") ("RRi" (delete @-) "ૃ") ("R^i" (delete @-) "ૃ") ("RRI" (delete @-) "ૄ") ; not in ITRANS Gujarati table ("R^I" (delete @-) "ૄ") ; not in ITRANS Gujarati table (".c" (delete @-) "ૅ") ("e.c" (delete @-) "ૅ") ; not in ITRANS Gujarati table ("e" (delete @-) "ે") ("ai" (delete @-) "ૈ") ("o.c" (delete @-) "ૉ") ("o" (delete @-) "ો") ("au" (delete @-) "ૌ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: hy-kbd.mim000064400000006013147633214350006436 0ustar00;; hy-kbd.mim -- Armenian input method with Eastern Armenian keyboard layout ;; Copyright (C) 2004 ;; 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 for Armenian. ;;; Simulating Eastern Armenian keyboard on American keyboard. ;;; @image html hy-kbd.png "Keyboard Layout" ;;; @image latex hy-kbd.eps "Keyboard Layout" width=\narrowwidth ;; :1 ձՁ յՅ ՛3 ,4 -9 .և «( ») օՕ ռՌ ժԺ ՝՜ ;; խԽ ւՒ էԷ րՐ տՏ եԵ ըԸ իԻ ոՈ պՊ չՉ ջՋ ;; աԱ սՍ դԴ ֆՖ քՔ հՀ ճՃ կԿ լԼ թԹ փՓ '՞ ;; զԶ ցՑ գԳ վՎ բԲ նՆ մՄ շՇ ղՂ ծԾ (input-method hy kbd) (description "Armerian input method simulating the Eastern Armerian keyboard. :1 ձՁ յՅ ՛3 ,4 -9 .և «( ») օՕ ռՌ ժԺ ՝՜ խԽ ւՒ էԷ րՐ տՏ եԵ ըԸ իԻ ոՈ պՊ չՉ ջՋ աԱ սՍ դԴ ֆՖ քՔ հՀ ճՃ կԿ լԼ թԹ փՓ '՞ զԶ ցՑ գԳ վՎ բԲ նՆ մՄ շՇ ղՂ ծԾ ") (title "HY") (map (map ("1" ?:) ("!" ?1) ("2" ?ձ) ("@" ?Ձ) ("3" ?յ) ("#" ?Յ) ("4" ?՛) ("$" ?3) ("5" ?,) ("%" ?4) ("6" ?-) ("^" ?9) ("7" ?.) ("&" ?և) ("8" ?«) ("*" ?\() ("9" ?») ("(" ?\)) ("0" ?օ) (")" ?Օ) ("-" ?ռ) ("_" ?Ռ) ("=" ?ժ) ("+" ?Ժ) ("`" ?՝) ("~" ?՜) ("q" ?խ) ("Q" ?Խ) ("w" ?ւ) ("W" ?Ւ) ("e" ?է) ("E" ?Է) ("r" ?ր) ("R" ?Ր) ("t" ?տ) ("T" ?Տ) ("y" ?ե) ("Y" ?Ե) ("u" ?ը) ("U" ?Ը) ("i" ?ի) ("I" ?Ի) ("o" ?ո) ("O" ?Ո) ("p" ?պ) ("P" ?Պ) ("[" ?չ) ("{" ?Չ) ("]" ?ջ) ("}" ?Ջ) ("\\" ?') ("|" ?՞) ("a" ?ա) ("A" ?Ա) ("s" ?ս) ("S" ?Ս) ("d" ?դ) ("D" ?Դ) ("f" ?ֆ) ("F" ?Ֆ) ("g" ?ք) ("G" ?Ք) ("h" ?հ) ("H" ?Հ) ("j" ?ճ) ("J" ?Ճ) ("k" ?կ) ("K" ?Կ) ("l" ?լ) ("L" ?Լ) (";" ?թ) (":" ?Թ) ("'" ?փ) ("\"" ?Փ) ("z" ?զ) ("Z" ?Զ) ("x" ?ց) ("X" ?Ց) ("c" ?գ) ("C" ?Գ) ("v" ?վ) ("V" ?Վ) ("b" ?բ) ("B" ?Բ) ("n" ?ն) ("N" ?Ն) ("m" ?մ) ("M" ?Մ) ("," ?շ) ("<" ?Շ) ("." ?ղ) (">" ?Ղ) ("/" ?ծ) ("?" ?Ծ) )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: TAML-OTF.flt000064400000007620147633214350006453 0ustar00;; TAML-OTF.flt -- Font Layout Table for Tamil OpenType fonts ;; Copyright (C) 2004, 2006, 2007, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter taml-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=taml))) ;;;
  • TAML-OTF.flt ;;; ;;; For Tamil OpenType fonts to draw the Tamil script. (category ;; X: generic ;; a: ANUSVARA ;; V: independent vowel ;; C: consonant ;; H: HALANT ;; m: vowel sign (pre) ;; p: vowel sign (others) (0x0B80 0x0BFF ?X) ; generic (0x0B82 ?a) ; SIGN ANUSVARA (0x0B85 0x0B94 ?V) ; LETTER A .. AU (0x0B95 0x0BB9 ?C) ; LETTER KA .. HA (0x0BBE 0x0BC2 ?p) ; VOWEL SIGN AA .. I (0x0BC6 0x0BC8 ?m) ; VOWEL SIGN E .. AI (0x0BCD ?H) ; SIGN VIRAMA (0x0BD7 ?p) ; AU LENGTH MARK (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x0BCA) 0x0BC6 0x0BBE) ((0x0BCB) 0x0BC7 0x0BBE) ((0x0BCC) 0x0BC6 0x0BD7) ;; A variation of AU. ((0x0B92 0x0BD7) 0x0B94) ;; The SHRII ligature and its old definition ((0x0BB6 0x0BCD 0x0BB0 0x0BC0) (0 :otf=taml=akhn,half,pres,abvs,blws,psts,haln+)) ((0x0BB8 0x0BCD 0x0BB0 0x0BC0) (0 :otf=taml=akhn,half,pres,abvs,blws,psts,haln+)) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Consonant-based syllables ;;1 23 4 ("(C((J?H|HJ?)C)*)(H[NJ]?|m?p?a?)" < | (cond (".+HJ$" :otf=taml=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=taml=nukt,akhn+) (2 =) 0x200C) (".+" :otf=taml=nukt,akhn+)) | >) ;; Syllables with an independent vowel ("Vm?p?a?" < | = * | >) ;; Two-part vowel signs ((0x0BC6 0x0BBE) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0BCA ]))) ((0x0BC7 0x0BBE) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0BCB ]))) ((0x0BC6 0x0BD7) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0BCC ]))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[Hpa]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("." =)) *)) ;; Stage 2 ;; Move pre-base matra after the last halant, or to the beginning (generator (0 (cond ;; 1 2 3 4 (" ([^ ]+HJ?)([^H ]+)(m)([^ ]*) " | (1 = *) (3 =) (2 = *) (4 = *) |) ;; 1 2 3 (" ([^ ]+)(m)([^ ]*) " | (2 =) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 3 ;; Presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=taml=pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 4 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 5 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=taml=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2004, 2006, 2007, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: TIBT-MULE.flt000064400000016603147633214350006573 0ustar00;; TIBT-MULE.flt -- Font Layout Table for Tibetan (muletibetan font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter tibt-mule nil (font (muletibetan-2))) ;;;
  • TIBT-MULE.flt ;;; ;;; For the muletibetan font developped by Dr. Tomabechi to draw Tibetan ;;; script. The font is available at: ;;; (category ;; Tibetan character category for rendering ;; C: CONSONANTS (except R) ;; R: LETTER RA (RA-MGO) ;; S: SUBJOINED CONSONANTS (except s) ;; s: SUBJOINED CONSONANTS (don't modify RA-MGO) ;; V: VOWEL (except a and A) ;; a: VOWEL SIGN A (invisible when composed) ;; A: VOWEL SIGN AA (don't make preceding C shorter) ;; M: MODIFIER ;; E: ELSE ;; (0x0F00 0x0FCF ?E) ; default (0x0F19 ?M) ; ASTROLOGICAL SIGN SDONG TSHUGS (0x0F35 ?M) ; MARK NGAS BZUNG NYI ZLA (0x0F37 ?M) ; MARK NGAS BZUNG SGOR RTAGS (0x0F39 ?M) ; MARK TSA -PHRU (0x0F40 0x0F6A ?C) ; LETTER KA .. LETTER FIXED-FORM RA (0x0F62 ?R) ; LETTER RA (0x0F70 ?a) ; VOWEL SIGN A (0x0F71 ?A) ; VOWEL SIGN AA (0x0F72 0x0F7D ?V) ; VOWEL SIGN I .. VOWEL SIGN OO (0x0F7E ?M) ; SIGN RJES SU NGA RO (0x0F80 ?V) ; VOWEL SIGN REVERSED I (0x0F81 ?V) ; VOWEL SIGN REVERSED II (0x0F82 ?M) ; SIGN NYI ZLA NAA DA (0x0F83 ?M) ; SIGN SNA LDAN (0x0F84 ?V) ; MARK HALANTA ;; SIGN LCI RTAGS .. SIGN GRU MED RGYINGS (0x0F86 0x0F8B ?M) ;; SUBJOINED LETTER KA .. SUBJOINED LETTER FIXED-FORM RA (0x0F90 0x0FBC ?s) (0x0FAD ?S) (0x0FB1 0x0FB2 ?S)) (generator (0 (cond ("[CR][Ss]*[VaA]*M*" < (cond ("R[SA].*" ; ར[ྭྱྲཱ] ((0x0F62) 0x2122) ; convert ར to upper form subjoined * dependent-vowel-modifier *) (".A.*" ; Cཱ consonant dependent-vowel-modifier *) (".[Ss].*" | short-consonant subjoined * dependent-vowel-modifier * |) (".*" consonant dependent-vowel-modifier * ) ) >) ("." independent subjoined)) *) (consonant ((range 0x0F40 0x0F6A) 0x2221)) (short-consonant (cond ((range 0x0F40 0x0F69) 0x2321) ((0x0F6A) 0x234D))) (subjoined ((range 0x0F90 0x0FBC) bc+tc 0x2321)) (dependent-vowel-modifier (cond ((0x0F19) bc-tc 0x2149) ((0x0F35) bc-tc 0x2165) ((0x0F37) bc-tc 0x2167) ((0x0F39) tc-bc 0x2169) ((0x0F70) ) ; invisible ((0x0F71) bc-tc 0x2252) ((0x0F72) tc-bc 0x2253) ((0x0F73) bc-tc 0x2252 tc-bc 0x2253) ((0x0F74) bc-tc 0x2255) ((0x0F75) bc-tc 0x2256) ((0x0F76) bc-tc 0x2343 tc-bc 0x2261) ((0x0F77) bc-tc 0x2343 bc-tc 0x2252 tc-bc 0x2261) ((0x0F78) bc-tc 0x2344 tc-bc 0x2261) ((0x0F79) bc-tc 0x2344 bc-tc 0x2262 tc-bc 0x2261) ((0x0F7A) tc-bc 0x225B) ((0x0F7B) tc-bc 0x225C) ((0x0F7C) tc-bc 0x225D) ((0x0F7D) tc-bc 0x225E) ((0x0F7E) tc-bc 0x225F) ((0x0F80) tc-bc 0x2261) ((0x0F81) bc-tc 0x2252 0x2261) ((0x0F82) tc-bc 0x2263) ((0x0F83) tc-bc 0x2264) ((0x0F84) bc-tc 0x2265) ((0x0F86) tc-bc 0x2267) ((0x0F87) tc-bc 0x2268) ((0x0F88) tc-bc 0x2269) ((0x0F89) tc-bc 0x226A) ((0x0F8A) tc-bc 0x226B) ((0x0F8B) tc-bc 0x226C))) (independent (cond ((range 0x0F00 0x0F3F) 0x2130) ((range 0x0F6B 0x0F8B) 0x224C) ((range 0x0FBD 0x0FCF) 0x234E)))) (category (0x2121 0x24FF ?G)) (generator (0 (cond (" (G*) " (1 precomposed = * )) ("[^ ]*" = * )) *) (precomposed (cond ((0x2321 0x233E) 0x2421) ((0x2321 0x2342) 0x2440) ((0x2321 0x2343) 0x2450) ((0x2321 0x2344) 0x2460) ((0x2322 0x233E) 0x2422) ((0x2322 0x2342) 0x2441) ((0x2322 0x2343) 0x2451) ((0x2323 0x233E) 0x2423) ((0x2323 0x2342) 0x2442) ((0x2323 0x2343 0x233E) 0x245F) ((0x2323 0x2343) 0x2452) ((0x2323 0x2344) 0x2461) ((0x2326 0x233E) 0x2424) ((0x2328 0x2343) 0x245D) ((0x232A 0x233E) 0x2425) ((0x2330 0x233E) 0x2426) ((0x2330 0x2343) 0x2453) ((0x2331 0x2343) 0x2454) ((0x2332 0x233E) 0x2427) ((0x2332 0x2343) 0x2455) ((0x2335 0x2342) 0x2443) ((0x2335 0x2343) 0x2456) ((0x2336 0x2342 0x233E) 0x2447) ((0x2336 0x2342) 0x2444) ((0x2336 0x2343) 0x2457) ((0x2337 0x2342) 0x2445) ((0x2337 0x2343) 0x2458) ((0x2337 0x2344) 0x2462) ((0x2339 0x2342) 0x2446) ((0x2339 0x2343) 0x2459) ((0x233A 0x233E) 0x2428) ((0x233B 0x233E) 0x2429) ((0x233C 0x2343) 0x245E) ((0x233F 0x233E) 0x242A) ((0x2340 0x233E) 0x242B) ((0x2340 0x2344) 0x2463) ((0x2343 0x2321 0x2342) 0x2530) ((0x2343 0x2321) 0x2521) ((0x2343 0x2323 0x233E) 0x252D) ((0x2343 0x2323 0x2342) 0x2531) ((0x2343 0x2323) 0x2522) ((0x2343 0x2325) 0x2523) ((0x2343 0x2328) 0x2524) ((0x2343 0x232A) 0x2525) ((0x2343 0x2330) 0x2526) ((0x2343 0x2332) 0x2527) ((0x2343 0x2334) 0x2528) ((0x2343 0x2337) 0x2529) ((0x2343 0x2339 0x2342) 0x2532) ((0x2343 0x2339) 0x252A) ((0x2343 0x233A 0x233E) 0x252E) ((0x2343 0x233A) 0x252B) ((0x2343 0x233C) 0x252C) ((0x2343 0x233E) 0x242C) ((0x2343 0x2344) 0x2464) ((0x2344 0x2321) 0x2540) ((0x2344 0x2323) 0x2541) ((0x2344 0x2325) 0x2542) ((0x2344 0x2326) 0x2543) ((0x2344 0x2328) 0x2544) ((0x2344 0x2330) 0x2545) ((0x2344 0x2332) 0x2546) ((0x2344 0x2334) 0x2121) ((0x2344 0x2335) 0x2547) ((0x2344 0x2337) 0x2548) ((0x2344 0x233E) 0x242D) ((0x2344 0x2348) 0x2549) ((0x2345 0x233E) 0x242E) ((0x2345 0x2343) 0x245A) ((0x2347 0x2321 0x2342) 0x2560) ((0x2347 0x2321 0x2343) 0x2570) ((0x2347 0x2321) 0x2550) ((0x2347 0x2323 0x2342) 0x2561) ((0x2347 0x2323 0x2343) 0x2571) ((0x2347 0x2323) 0x2551) ((0x2347 0x2325) 0x2552) ((0x2347 0x232A) 0x2553) ((0x2347 0x2330) 0x2554) ((0x2347 0x2332) 0x2555) ((0x2347 0x2334 0x2343) 0x2572) ((0x2347 0x2334) 0x2556) ((0x2347 0x2335 0x2342) 0x2562) ((0x2347 0x2335 0x2343) 0x2573) ((0x2347 0x2335) 0x2557) ((0x2347 0x2337 0x2342) 0x2563) ((0x2347 0x2337 0x2343) 0x2574) ((0x2347 0x2337) 0x2558) ((0x2347 0x2339 0x2342) 0x2564) ((0x2347 0x2339 0x2343) 0x2575) ((0x2347 0x2339) 0x2559) ((0x2347 0x233A) 0x255A) ((0x2347 0x233E) 0x242F) ((0x2347 0x2343) 0x245B) ((0x2347 0x2344) 0x2465) ((0x2348 0x233E) 0x2430) ((0x2348 0x2343) 0x245C)))) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; coding: utf-8 ;; End: kk-kbd.mim000064400000005431147633214350006426 0ustar00;; kk-kbd.mim -- Input method for Kazakh in Cyrillic script ;; Copyright (C) 2004, 2005 ;; 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 for Kazakh written in the Cyrillic script. ;;; Simulating Kazakh keyboard. ;;; ;;; @image html kk-kbd.png "Keyboard Layout" ;;; @image latex kk-kbd.eps "Keyboard Layout" width=\narrowwidth (input-method kk kbd) (description "Kazakh (Cyrillic) input method simulating the Kazakh keyboard. \"! әӘ іІ ӊӉ ғҒ ,; .: үҮ ұҰ қҚ өӨ һҺ () йЙ цЦ уУ кК еЕ нН гГ шШ щЩ зЗ хХ ъЪ фФ ыЫ вВ аА пП рР оО лЛ дД жЖ эЭ \\| яЯ чЧ сС мМ иИ тТ ьЬ бБ юЮ №? ") (title "ҚА") (map (map ("`" "\(") ("~" "\)") ("1" "\"") ("2" "ә") ("@" "Ә") ("3" "і") ("#" "І") ("4" "ӊ") ("$" "Ӊ") ("5" "ғ") ("%" "Ғ") ("6" ",") ("^" ";") ("7" ".") ("&" ":") ("8" "ү") ("*" "Ү") ("9" "ұ") ("\(" "Ұ") ("0" "қ") ("\)" "Қ") ("-" "ө") ("_" "Ө") ("=" "һ") ("+" "Һ") ("q" "й") ("Q" "Й") ("w" "ц") ("W" "Ц") ("e" "у") ("E" "У") ("r" "к") ("R" "К") ("t" "е") ("T" "Е") ("y" "н") ("Y" "Н") ("u" "г") ("U" "Г") ("i" "ш") ("I" "Ш") ("o" "щ") ("O" "Щ") ("p" "з") ("P" "З") ("[" "х") ("{" "Х") ("]" "ъ") ("}" "Ъ") ("a" "ф") ("A" "Ф") ("s" "ы") ("S" "Ы") ("d" "в") ("D" "В") ("f" "а") ("F" "А") ("g" "п") ("G" "П") ("h" "р") ("H" "Р") ("j" "о") ("J" "О") ("k" "л") ("K" "Л") ("l" "д") ("L" "Д") (";" "ж") (":" "Ж") ("'" "э") ("\"" "Э") ("z" "я") ("Z" "Я") ("x" "ч") ("X" "Ч") ("c" "с") ("C" "С") ("v" "м") ("V" "М") ("b" "и") ("B" "И") ("n" "т") ("N" "Т") ("m" "ь") ("M" "Ь") ("," "б") ("<" "Б") ("." "ю") (">" "Ю") ("/" "№") )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: TEL2-OTF.flt000064400000007424147633214350006426 0ustar00;; TEL2-OTF.flt -- Font Layout Table for tel2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter tel2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=tel2))) ;;;
  • TEL2-OTF.flt ;;; ;;; For tel2 OpenType fonts to draw the Telugu script. ;; gautami.ttf requires the following glyph order to layout the Telugu script. ;; 1. base consonant ;; 2. above matra (0C3E..0C42, 0C46, 0C47, 0C4A, 0C4C) ;; 3. below matra (0C56) ;; 4. blwf consonants ;; 5. post matra (0C43, 0C44) ;; 6. candrabindu (0C01), anusvara (0C02), visarga(0C03) ;; 0C62 and 0C63, which should be below matras, are not yet implemented. (category (0x0C00 0x0C7F ?X) ; generic (0x0C01 0x0C03 ?A) ; SIGN CANDRABINDU .. VISARGA (0x0C05 0x0C14 ?V) ; LETTER A .. AU (0x0C15 0x0C39 ?C) ; LETTER KA .. HA (0x0C3E 0x0C42 ?u) ; VOWEL SIGN AA .. II (0x0C43 0x0C44 ?p) ; VOWEL SIGN U .. VOCALIC RR (0x0C46 0x0C47 ?u) ; VOWEL SIGN E .. EE (0x0C4A 0x0C4C ?u) ; VOWEL SIGN O .. AU (0x0C4D ?H) ; SIGN VIRAMA (0x0C55 ?u) ; LENGTH MARK (0x0C56 ?b) ; AI LENGTH MARK (0x0C58 0x0C59 ?C) ; LETTER TSA .. DZA (0x0C60 0x0C61 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0C62 0x0C63 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (blwf ?B) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x0C48) 0x0C46 0x0C56) ("." =)) *)) ;; Stage 1 ;; Syllable identification and basic shaping forms (generator (0 (cond ;; Consonant-based syllables ;;12 3 4 ("((CJ?HJ?)*C)(H[NJ]?|u?b?p?)(A)?" < | (1 :otf=tel2=locl,akhn,blwf,cjct+) (3 = *) (4 =) | >) ;; Syllables with an independent vowel ;;1 2 3 ("(V)(J?HC)?(u?b?p?A?)" < | (1 =) (2 :otf=tel2=locl,blwf+) (3 = *) | >) ;; Two-part vowel signs ((0x0C46 0x0C56) (cond ((font-facility 0x25CC) < 0x25CC 0x0C46 0x0C56 >) (".+" < 0x0C48 >))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("[HubpA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("JHC" (cond ((font-facility 0x25CC) < 0x25CC :otf=tel2=blwf+ >) (".+" [ :otf=tel2=blwf+ ]))) ("." =)) *)) ;; Stage 2 ;; Move subscript glyphs (generator (0 (cond (" ([^B ]*[^BJ])J?(B*)(ub?|b)([^ ]*) " | (1 = *) (3 = *) (2 = *) (4 = *) |) ("." =)) *)) ;; Stage 3 ;; Presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=tel2=pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 4 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 5 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=tel2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: grc-mizuochi.mim000064400000033543147633214350007670 0ustar00;; grc-mizuochi.mim -- Mizuochi input method for classical Greek ;; Copyright (C) 2006, 2007, 2008 ;; 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 grc mizuochi) (description "Mizuochi input method for classical Greek. ------------------------------------- character capital small ------------------------------------- alpha A a beta B b gamma G g delta D d epsilon E e zeta Z z eta H h theta Q q iota I i kappa K k lamda L l mu M m nu H n xi X x omicron O o pi P p rho R r sigma S s final sigma j tau T t upsilon U u phi F f chi C c psi Y y omega W w ------------------------------------- sampi ! digamma # stigma $ koppa & % ------------------------------------- ------------------------ mark key ------------------------ ypogegrammeni J psili ' or v dasia ` or V oxia / varia ? perispomeni \\ or ^ dialytika \" ano teleia : erotimatiko ; ---------------------- ") (title "Ὢ") (map (map ("!" ?ϡ) ; sampi ("#" ?ϝ) ; digamma ("$" ?ϛ) ; stigma ("%" ?ϙ) ; archaic koppa ("&" ?Ϙ) ; archaic KOPPA ("'" ?᾿) ("v" ?᾿) ; psili ("/" ?´) ; oxia (":" ?·) ; ano teleia (";" ?;) ; erotimatiko ("\"" ?¨) ; dialytika ("A" ?Α) ("B" ?Β) ("C" ?Χ) ("D" ?Δ) ("E" ?Ε) ("F" ?Φ) ("G" ?Γ) ("H" ?Η) ("I" ?Ι) ("wJ" ?ῳ) ("K" ?Κ) ("L" ?Λ) ("M" ?Μ) ("N" ?Ν) ("O" ?Ο) ("P" ?Π) ("Q" ?Θ) ("R" ?Ρ) ("S" ?Σ) ("T" ?Τ) ("U" ?Υ) ("hJ" ?ῃ) ("W" ?Ω) ("X" ?Ξ) ("Y" ?Ψ) ("Z" ?Ζ) ("?" ?`) ; varia ("\\" ?῀) ; #x1fc0 perispomeni ("^" ?῀) ; #x1fc0 perispomeni ("`" ?῾) ("V" ?῾) ; dasia ("a" ?α) ("b" ?β) ("c" ?χ) ("d" ?δ) ("e" ?ε) ("f" ?φ) ("g" ?γ) ("h" ?η) ("i" ?ι) ("j" ?ς) ("k" ?κ) ("l" ?λ) ("m" ?μ) ("n" ?ν) ("o" ?ο) ("p" ?π) ("q" ?θ) ("r" ?ρ) ("s" ?σ) ("t" ?τ) ("u" ?υ) ("aJ" ?ᾳ) ("w" ?ω) ("x" ?ξ) ("y" ?ψ) ("z" ?ζ) ("i`" ?ἱ) ("iV" ?ἱ) ("i'" ?ἰ) ("iv" ?ἰ) ("i/" ?ί) ("i`/" ?ἵ) ("iV/" ?ἵ) ("i/`" ?ἵ) ("i/V" ?ἵ) ("i'/" ?ἴ) ("iv/" ?ἴ) ("i/'" ?ἴ) ("i/v" ?ἴ) ("i?" ?ὶ) ("i`?" ?ἳ) ("iV?" ?ἳ) ("i?`" ?ἳ) ("i?V" ?ἳ) ("i'?" ?ἲ) ("iv?" ?ἲ) ("i?'" ?ἲ) ("i?v" ?ἲ) ("i^" ?ῖ) ("i\\" ?ῖ) ("i`^" ?ἷ) ("i`\\" ?ἷ) ("iV^" ?ἷ) ("iV\\" ?ἷ) ("i^`" ?ἷ) ("i\\`" ?ἷ) ("i^V" ?ἷ) ("i\\V" ?ἷ) ("i'^" ?ἶ) ("i'\\" ?ἶ) ("iv^" ?ἶ) ("iv\\" ?ἶ) ("i^'" ?ἶ) ("i\\'" ?ἶ) ("i^v" ?ἶ) ("i\\v" ?ἶ) ("i\"" ?ϊ) ("i/\"" ?ΐ) ("i\"/" ?ΐ) ("i?\"" ?ῒ) ("i\"?" ?ῒ) ("I`" ?Ἱ) ("IV" ?Ἱ) ("I'" ?Ἰ) ("Iv" ?Ἰ) ("I/" ?Ί) ("I`/" ?Ἵ) ("IV/" ?Ἵ) ("I/`" ?Ἵ) ("I/V" ?Ἵ) ("I'/" ?Ἴ) ("Iv/" ?Ἴ) ("I/'" ?Ἴ) ("I/v" ?Ἴ) ("I?" ?Ὶ) ("I`?" ?Ἳ) ("IV?" ?Ἳ) ("I?`" ?Ἳ) ("I?V" ?Ἳ) ("I'?" ?Ἲ) ("Iv?" ?Ἲ) ("I?'" ?Ἲ) ("I?v" ?Ἲ) ("I^" ?ῖ) ("I\\" ?ῖ) ("I`^" ?Ἷ) ("I`\\" ?Ἷ) ("IV^" ?Ἷ) ("IV\\" ?Ἷ) ("I^`" ?Ἷ) ("I\\`" ?Ἷ) ("I^V" ?Ἷ) ("I\\V" ?Ἷ) ("I'^" ?Ἶ) ("I'\\" ?Ἶ) ("Iv^" ?Ἶ) ("Iv\\" ?Ἶ) ("I^'" ?Ἶ) ("I\\'" ?Ἶ) ("I^v" ?Ἶ) ("I\\v" ?Ἶ) ("I\"" ?Ϊ) ("I/\"" ?ΐ) ("I\"/" ?ΐ) ("I?\"" ?ῒ) ("I\"?" ?ῒ) ("e`" ?ἑ) ("eV" ?ἑ) ("e'" ?ἐ) ("ev" ?ἐ) ("e/" ?έ) ("e/`" ?ἕ) ("e/V" ?ἕ) ("e`/" ?ἕ) ("eV/" ?ἕ) ("e/'" ?ἔ) ("e/v" ?ἔ) ("e'/" ?ἔ) ("ev/" ?ἔ) ("e?" ?ὲ) ("e?`" ?ἓ) ("e?V" ?ἓ) ("e`?" ?ἓ) ("eV?" ?ἓ) ("e?'" ?ἒ) ("e?v" ?ἒ) ("e'?" ?ἒ) ("ev?" ?ἒ) ("E`" ?Ἑ) ("EV" ?Ἑ) ("E'" ?Ἐ) ("Ev" ?Ἐ) ("E/" ?Έ) ("E/`" ?Ἕ) ("E/V" ?Ἕ) ("E`/" ?Ἕ) ("EV/" ?Ἕ) ("E/'" ?Ἔ) ("E/v" ?Ἔ) ("E'/" ?Ἔ) ("Ev/" ?Ἔ) ("E?" ?Ὲ) ("E?`" ?Ἓ) ("E?V" ?Ἓ) ("E`?" ?Ἓ) ("EV?" ?Ἓ) ("E?'" ?Ἒ) ("E?v" ?Ἒ) ("E'?" ?Ἒ) ("Ev?" ?Ἒ) ("a`" ?ἁ) ("aV" ?ἁ) ("a'" ?ἀ) ("av" ?ἀ) ("a/" ?ά) ("a/`" ?ἅ) ("a/V" ?ἅ) ("a`/" ?ἅ) ("aV/" ?ἅ) ("a/'" ?ἄ) ("a/v" ?ἄ) ("a'/" ?ἄ) ("av/" ?ἄ) ("a?" ?ὰ) ("a?`" ?ἃ) ("a?V" ?ἃ) ("a`?" ?ἃ) ("aV?" ?ἃ) ("a?'" ?ἂ) ("a?v" ?ἂ) ("a'?" ?ἂ) ("av?" ?ἂ) ("a^" ?ᾶ) ("a\\" ?ᾶ) ("a^`" ?ἇ) ("a^V" ?ἇ) ("a\\`" ?ἇ) ("a\\V" ?ἇ) ("a`^" ?ἇ) ("aV^" ?ἇ) ("a`\\" ?ἇ) ("aV\\" ?ἇ) ("a^'" ?ἆ) ("a^v" ?ἆ) ("a\\'" ?ἆ) ("a\\v" ?ἆ) ("a'^" ?ἆ) ("av^" ?ἆ) ("a'\\" ?ἆ) ("av\\" ?ἆ) ("A`" ?Ἁ) ("AV" ?Ἁ) ("A'" ?Ἀ) ("Av" ?Ἀ) ("A/" ?Ά) ("A/`" ?Ἅ) ("A/V" ?Ἅ) ("A`/" ?Ἅ) ("AV/" ?Ἅ) ("A/'" ?Ἄ) ("A/v" ?Ἄ) ("A'/" ?Ἄ) ("Av/" ?Ἄ) ("A?" ?Ὰ) ("A?`" ?Ἃ) ("A?V" ?Ἃ) ("A`?" ?Ἃ) ("AV?" ?Ἃ) ("A?'" ?Ἂ) ("A?v" ?Ἂ) ("A'?" ?Ἂ) ("Av?" ?Ἂ) ("A^" ?ᾶ) ("A\\" ?ᾶ) ("A^`" ?Ἇ) ("A^V" ?Ἇ) ("A\\`" ?Ἇ) ("A\\V" ?Ἇ) ("A`^" ?Ἇ) ("AV^" ?Ἇ) ("A`\\" ?Ἇ) ("AV\\" ?Ἇ) ("A^'" ?Ἆ) ("A^v" ?Ἆ) ("A\\'" ?Ἆ) ("A\\v" ?Ἆ) ("A'^" ?Ἆ) ("Av^" ?Ἆ) ("A'\\" ?Ἆ) ("Av\\" ?Ἆ) ("aJ`" ?ᾁ) ("aJV" ?ᾁ) ("aJ'" ?ᾀ) ("aJv" ?ᾀ) ("aJ/" ?ᾴ) ("aJ/`" ?ᾅ) ("aJ/V" ?ᾅ) ("aJ`/" ?ᾅ) ("aJV/" ?ᾅ) ("aJ/'" ?ᾄ) ("aJ/v" ?ᾄ) ("aJ'/" ?ᾄ) ("aJv/" ?ᾄ) ("aJ?" ?ᾲ) ("aJ?`" ?ᾃ) ("aJ?V" ?ᾃ) ("aJ`?" ?ᾃ) ("aJV?" ?ᾃ) ("aJ?'" ?ᾂ) ("aJ?v" ?ᾂ) ("aJ'?" ?ᾂ) ("aJv?" ?ᾂ) ("aJ^" ?ᾷ) ("aJ\\" ?ᾷ) ("aJ^`" ?ᾇ) ("aJ^V" ?ᾇ) ("aJ\\`" ?ᾇ) ("aJ\\V" ?ᾇ) ("aJ`^" ?ᾇ) ("aJV^" ?ᾇ) ("aJ`\\" ?ᾇ) ("aJV\\" ?ᾇ) ("aJ^'" ?ᾆ) ("aJ^v" ?ᾆ) ("aJ\\'" ?ᾆ) ("aJ\\v" ?ᾆ) ("aJ'^" ?ᾆ) ("aJv^" ?ᾆ) ("aJ'\\" ?ᾆ) ("aJv\\" ?ᾆ) ("AJ`" ?ᾉ) ("AJV" ?ᾉ) ("AJ'" ?ᾈ) ("AJv" ?ᾈ) ("AJ/" ?ᾴ) ("AJ/`" ?ᾍ) ("AJ/V" ?ᾍ) ("AJ`/" ?ᾍ) ("AJV/" ?ᾍ) ("AJ/'" ?ᾌ) ("AJ/v" ?ᾌ) ("AJ'/" ?ᾌ) ("AJv/" ?ᾌ) ("AJ?" ?ᾲ) ("AJ?`" ?ᾋ) ("AJ?V" ?ᾋ) ("AJ`?" ?ᾋ) ("AJV?" ?ᾋ) ("AJ?'" ?ᾊ) ("AJ?v" ?ᾊ) ("AJ'?" ?ᾊ) ("AJv?" ?ᾊ) ("AJ^" ?ᾷ) ("AJ\\" ?ᾷ) ("AJ^`" ?ᾏ) ("AJ^V" ?ᾏ) ("AJ\\`" ?ᾏ) ("AJ\\V" ?ᾏ) ("AJ`^" ?ᾏ) ("AJV^" ?ᾏ) ("AJ`\\" ?ᾏ) ("AJV\\" ?ᾏ) ("AJ^'" ?ᾎ) ("AJ^v" ?ᾎ) ("AJ\\'" ?ᾎ) ("AJ\\v" ?ᾎ) ("AJ'^" ?ᾎ) ("AJv^" ?ᾎ) ("AJ'\\" ?ᾎ) ("AJv\\" ?ᾎ) ("r`" ?ῥ) ("rV" ?ῥ) ("r'" ?ῤ) ("rv" ?ῤ) ("R`" ?Ῥ) ("RV" ?Ῥ) ("h`" ?ἡ) ("hV" ?ἡ) ("h'" ?ἠ) ("hv" ?ἠ) ("h/" ?ή) ("h/`" ?ἥ) ("h/V" ?ἥ) ("h`/" ?ἥ) ("hV/" ?ἥ) ("h/'" ?ἤ) ("h/v" ?ἤ) ("h'/" ?ἤ) ("hv/" ?ἤ) ("h?" ?ὴ) ("h?`" ?ἣ) ("h?V" ?ἣ) ("h`?" ?ἣ) ("hV?" ?ἣ) ("h?'" ?ἢ) ("h?v" ?ἢ) ("h'?" ?ἢ) ("hv?" ?ἢ) ("h^" ?ῆ) ("h\\" ?ῆ) ("h^`" ?ἧ) ("h^V" ?ἧ) ("h\\`" ?ἧ) ("h\\V" ?ἧ) ("h`^" ?ἧ) ("h`\\" ?ἧ) ("hV^" ?ἧ) ("hV\\" ?ἧ) ("h^'" ?ἦ) ("h^v" ?ἦ) ("h\\'" ?ἦ) ("h\\v" ?ἦ) ("h'^" ?ἦ) ("h'\\" ?ἦ) ("hv^" ?ἦ) ("hv\\" ?ἦ) ("H`" ?Ἡ) ("HV" ?Ἡ) ("H'" ?Ἠ) ("Hv" ?Ἠ) ("H/" ?Ή) ("H/`" ?Ἥ) ("H/V" ?Ἥ) ("H`/" ?Ἥ) ("HV/" ?Ἥ) ("H/'" ?Ἤ) ("H/v" ?Ἤ) ("H'/" ?Ἤ) ("Hv/" ?Ἤ) ("H?" ?Ὴ) ("H?`" ?Ἣ) ("H?V" ?Ἣ) ("H`?" ?Ἣ) ("HV?" ?Ἣ) ("H?'" ?Ἢ) ("H?v" ?Ἢ) ("H'?" ?Ἢ) ("Hv?" ?Ἢ) ("H^" ?ῆ) ("H\\" ?ῆ) ("H^`" ?Ἧ) ("H^V" ?Ἧ) ("H\\`" ?Ἧ) ("H\\V" ?Ἧ) ("H`^" ?Ἧ) ("H`\\" ?Ἧ) ("HV^" ?Ἧ) ("HV\\" ?Ἧ) ("H^'" ?Ἦ) ("H^v" ?Ἦ) ("H\\'" ?Ἦ) ("H\\v" ?Ἦ) ("H'^" ?Ἦ) ("H'\\" ?Ἦ) ("Hv^" ?Ἦ) ("Hv\\" ?Ἦ) ("J" ?ͺ) ; ypogegrammeni ("hJ`" ?ᾑ) ("hJV" ?ᾑ) ("hJ'" ?ᾐ) ("hJv" ?ᾐ) ("hJ/" ?ῄ) ("hJ`/" ?ᾕ) ("hJV/" ?ᾕ) ("hJ/`" ?ᾕ) ("hJ/V" ?ᾕ) ("hJ'/" ?ᾔ) ("hJv/" ?ᾔ) ("hJ/'" ?ᾔ) ("hJ/v" ?ᾔ) ("hJ?" ?ῂ) ("hJ`?" ?ᾓ) ("hJV?" ?ᾓ) ("hJ?`" ?ᾓ) ("hJ?V" ?ᾓ) ("hJ'?" ?ᾒ) ("hJv?" ?ᾒ) ("hJ?'" ?ᾒ) ("hJ?v" ?ᾒ) ("hJ^" ?ῇ) ("hJ\\" ?ῇ) ("hJ`^" ?ᾗ) ("hJ`\\" ?ᾗ) ("hJV^" ?ᾗ) ("hJV\\" ?ᾗ) ("hJ^`" ?ᾗ) ("hJ\\`" ?ᾗ) ("hJ^V" ?ᾗ) ("hJ\\V" ?ᾗ) ("hJ'^" ?ᾖ) ("hJ'\\" ?ᾖ) ("hJv^" ?ᾖ) ("hJv\\" ?ᾖ) ("hJ^'" ?ᾖ) ("hJ\\'" ?ᾖ) ("hJ^v" ?ᾖ) ("hJ\\v" ?ᾖ) ("HJ`" ?ᾙ) ("HJV" ?ᾙ) ("HJ'" ?ᾘ) ("HJv" ?ᾘ) ("HJ/" ?ῄ) ("HJ`/" ?ᾝ) ("HJV/" ?ᾝ) ("HJ/`" ?ᾝ) ("HJ/V" ?ᾝ) ("HJ'/" ?ᾜ) ("HJv/" ?ᾜ) ("HJ/'" ?ᾜ) ("HJ/v" ?ᾜ) ("HJ?" ?ῂ) ("HJ`?" ?ᾛ) ("HJV?" ?ᾛ) ("HJ?`" ?ᾛ) ("HJ?V" ?ᾛ) ("HJ'?" ?ᾚ) ("HJv?" ?ᾚ) ("HJ?'" ?ᾚ) ("HJ?v" ?ᾚ) ("HJ^" ?ῇ) ("HJ\\" ?ῇ) ("HJ`^" ?ᾟ) ("HJ`\\" ?ᾟ) ("HJV^" ?ᾟ) ("HJV\\" ?ᾟ) ("HJ^`" ?ᾟ) ("HJ\\`" ?ᾟ) ("HJ^V" ?ᾟ) ("HJ\\V" ?ᾟ) ("HJ'^" ?ᾞ) ("HJ'\\" ?ᾞ) ("HJv^" ?ᾞ) ("HJv\\" ?ᾞ) ("HJ^'" ?ᾞ) ("HJ\\'" ?ᾞ) ("HJ^v" ?ᾞ) ("HJ\\v" ?ᾞ) ("o`" ?ὁ) ("oV" ?ὁ) ("o'" ?ὀ) ("ov" ?ὀ) ("o/" ?ό) ("o/`" ?ὅ) ("o/V" ?ὅ) ("o`/" ?ὅ) ("oV/" ?ὅ) ("o/'" ?ὄ) ("o/v" ?ὄ) ("o'/" ?ὄ) ("ov/" ?ὄ) ("o?" ?ὸ) ("o?`" ?ὃ) ("o?V" ?ὃ) ("o`?" ?ὃ) ("oV?" ?ὃ) ("o?'" ?ὂ) ("o?v" ?ὂ) ("o'?" ?ὂ) ("ov?" ?ὂ) ("O`" ?Ὁ) ("OV" ?Ὁ) ("O'" ?Ὀ) ("Ov" ?Ὀ) ("O/" ?Ό) ("O/`" ?Ὅ) ("O/V" ?Ὅ) ("O`/" ?Ὅ) ("OV/" ?Ὅ) ("O/'" ?Ὄ) ("O/v" ?Ὄ) ("O'/" ?Ὄ) ("Ov/" ?Ὄ) ("O?" ?Ὸ) ("O?`" ?Ὃ) ("O?V" ?Ὃ) ("O`?" ?Ὃ) ("OV?" ?Ὃ) ("O?'" ?Ὂ) ("O?v" ?Ὂ) ("O'?" ?Ὂ) ("Ov?" ?Ὂ) ("u`" ?ὑ) ("uV" ?ὑ) ("u'" ?ὐ) ("uv" ?ὐ) ("u/" ?ύ) ("u/`" ?ὕ) ("u/V" ?ὕ) ("u`/" ?ὕ) ("uV/" ?ὕ) ("u/'" ?ὔ) ("u/v" ?ὔ) ("u'/" ?ὔ) ("uv/" ?ὔ) ("u?" ?ὺ) ("u?`" ?ὓ) ("u?V" ?ὓ) ("u`?" ?ὓ) ("uV?" ?ὓ) ("u?'" ?ὒ) ("u?v" ?ὒ) ("u'?" ?ὒ) ("uv?" ?ὒ) ("u^" ?ῦ) ("u\\" ?ῦ) ("u^`" ?ὗ) ("u^V" ?ὗ) ("u\\`" ?ὗ) ("u\\V" ?ὗ) ("u`^" ?ὗ) ("uV^" ?ὗ) ("u`\\" ?ὗ) ("uV\\" ?ὗ) ("u^'" ?ὖ) ("u^v" ?ὖ) ("u\\'" ?ὖ) ("u\\v" ?ὖ) ("u'^" ?ὖ) ("uv^" ?ὖ) ("u'\\" ?ὖ) ("uv\\" ?ὖ) ("u\"" ?ϋ) ("u\"/" ?ΰ) ("u/\"" ?ΰ) ("u\"?" ?ῢ) ("u?\"" ?ῢ) ("U`" ?Ὑ) ("UV" ?Ὑ) ("U/" ?Ύ) ("U/`" ?Ὕ) ("U/V" ?Ὕ) ("U`/" ?Ὕ) ("UV/" ?Ὕ) ("U?" ?Ὺ) ("U?`" ?Ὓ) ("U?V" ?Ὓ) ("U`?" ?Ὓ) ("UV?" ?Ὓ) ("U^`" ?Ὗ) ("U^V" ?Ὗ) ("U\\`" ?Ὗ) ("U\\V" ?Ὗ) ("U`^" ?Ὗ) ("UV^" ?Ὗ) ("U`\\" ?Ὗ) ("UV\\" ?Ὗ) ("U\"" ?Ϋ) ("w`" ?ὡ) ("wV" ?ὡ) ("w'" ?ὠ) ("wv" ?ὠ) ("w/" ?ώ) ("w/`" ?ὥ) ("w/V" ?ὥ) ("w`/" ?ὥ) ("wV/" ?ὥ) ("w/'" ?ὤ) ("w/v" ?ὤ) ("w'/" ?ὤ) ("wv/" ?ὤ) ("w?" ?ὼ) ("w?`" ?ὣ) ("w?V" ?ὣ) ("w`?" ?ὣ) ("wV?" ?ὣ) ("w?'" ?ὢ) ("w?v" ?ὢ) ("w'?" ?ὢ) ("wv?" ?ὢ) ("w^" ?ῶ) ("w\\" ?ῶ) ("w^`" ?ὧ) ("w^V" ?ὧ) ("w\\`" ?ὧ) ("w\\V" ?ὧ) ("w`^" ?ὧ) ("wV^" ?ὧ) ("w`\\" ?ὧ) ("wV\\" ?ὧ) ("w^'" ?ὦ) ("w^v" ?ὦ) ("w\\'" ?ὦ) ("w\\v" ?ὦ) ("w'^" ?ὦ) ("wv^" ?ὦ) ("w'\\" ?ὦ) ("wv\\" ?ὦ) ("W`" ?Ὡ) ("WV" ?Ὡ) ("W'" ?Ὠ) ("Wv" ?Ὠ) ("W/" ?Ώ) ("W/`" ?Ὥ) ("W/V" ?Ὥ) ("W`/" ?Ὥ) ("WV/" ?Ὥ) ("W/'" ?Ὤ) ("W/v" ?Ὤ) ("W'/" ?Ὤ) ("Wv/" ?Ὤ) ("W?" ?Ὼ) ("W?`" ?Ὣ) ("W?V" ?Ὣ) ("W`?" ?Ὣ) ("WV?" ?Ὣ) ("W?'" ?Ὢ) ("W?v" ?Ὢ) ("W'?" ?Ὢ) ("Wv?" ?Ὢ) ("W^`" ?Ὧ) ("W^V" ?Ὧ) ("W\\`" ?Ὧ) ("W\\V" ?Ὧ) ("W`^" ?Ὧ) ("WV^" ?Ὧ) ("W`\\" ?Ὧ) ("WV\\" ?Ὧ) ("W^'" ?Ὦ) ("W^v" ?Ὦ) ("W\\'" ?Ὦ) ("W\\v" ?Ὦ) ("W'^" ?Ὦ) ("Wv^" ?Ὦ) ("W'\\" ?Ὦ) ("Wv\\" ?Ὦ) ("wJ`" ?ᾡ) ("wJV" ?ᾡ) ("wJ'" ?ᾠ) ("wJv" ?ᾠ) ("wJ/" ?ῴ) ("wJ/`" ?ᾥ) ("wJ/V" ?ᾥ) ("wJ`/" ?ᾥ) ("wJV/" ?ᾥ) ("wJ/'" ?ᾤ) ("wJ/v" ?ᾤ) ("wJ'/" ?ᾤ) ("wJv/" ?ᾤ) ("wJ?" ?ῲ) ("wJ?`" ?ᾣ) ("wJ?V" ?ᾣ) ("wJ`?" ?ᾣ) ("wJV?" ?ᾣ) ("wJ?'" ?ᾢ) ("wJ?v" ?ᾢ) ("wJ'?" ?ᾢ) ("wJv?" ?ᾢ) ("wJ^" ?ῷ) ("wJ\\" ?ῷ) ("wJ^`" ?ᾧ) ("wJ^V" ?ᾧ) ("wJ\\`" ?ᾧ) ("wJ\\V" ?ᾧ) ("wJ`^" ?ᾧ) ("wJV^" ?ᾧ) ("wJ`\\" ?ᾧ) ("wJV\\" ?ᾧ) ("wJ^'" ?ᾦ) ("wJ^v" ?ᾦ) ("wJ\\'" ?ᾦ) ("wJ\\v" ?ᾦ) ("wJ'^" ?ᾦ) ("wJv^" ?ᾦ) ("wJ'\\" ?ᾦ) ("wJv\\" ?ᾦ) ("WJ^" ?ῷ) ("WJ\\" ?ῷ) ("^`" ?῟) ("^V" ?῟) ("\\`" ?῟) ("\\V" ?῟) ("`^" ?῟) ("V^" ?῟) ("`\\" ?῟) ("V\\" ?῟) ("^'" ?῏) ("^v" ?῏) ("\\'" ?῏) ("\\v" ?῏) ("'^" ?῏) ("v^" ?῏) ("'\\" ?῏) ("v\\" ?῏) ("/`" ?῞) ("/V" ?῞) ("`/" ?῞) ("V/" ?῞) ("/'" ?῎) ("/v" ?῎) ("'/" ?῎) ("v/" ?῎) ("?`" ?῝) ("?V" ?῝) ("`?" ?῝) ("V?" ?῝) ("?'" ?῍) ("?v" ?῍) ("'?" ?῍) ("v?" ?῍) ("\"/" ?΅) ("/\"" ?΅) ("\"?" ?῭) ("?\"" ?῭) ("e^" "ε͂") ("e\\" "ε͂") ; epsilon + combining perispomeni (#x0342) ("o^" "ο͂") ("o\\" "ο͂") ; omicron + combining perispomeni (#x0342) )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: HEBR.flt000064400000005364147633214350006013 0ustar00;; HEBR.flt -- Font Layout Table for Hebrew font (Unicode encoding) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter hebr nil (font (nil freesans unicode-bmp))) ;;;
  • HEBR.flt ;;; ;;; For Hebrew fonts of Unicode encoding to draw Hebrew script. This ;;; is for such a font that requires explicit combining code to draw ;;; accents and points. (category (0x0590 0x05ff ?h) ; hebrew ) (generator (0 (cond ((0x05d9 0x05b4) 0xfb1d) ((0x05e9 0x05c1) 0xfb2a) ((0x05e9 0x05c2) 0xfb2b) ((0x05e9 0x05bc 0x05c1) 0xfb2c) ((0x05e9 0x05bc 0x05c2) 0xfb2d) ((0x05d0 0x05b7) 0xfb2e) ((0x05d0 0x05b8) 0xfb2f) ((0x05d0 0x05bc) 0xfb30) ((0x05d1 0x05bc) 0xfb31) ((0x05d2 0x05bc) 0xfb32) ((0x05d3 0x05bc) 0xfb33) ((0x05d4 0x05bc) 0xfb34) ((0x05d5 0x05bc) 0xfb35) ((0x05d6 0x05bc) 0xfb36) ((0x05d8 0x05bc) 0xfb38) ((0x05d9 0x05bc) 0xfb39) ((0x05da 0x05bc) 0xfb3a) ((0x05db 0x05bc) 0xfb3b) ((0x05dc 0x05bc) 0xfb3c) ((0x05de 0x05bc) 0xfb3e) ((0x05e0 0x05bc) 0xfb40) ((0x05e1 0x05bc) 0xfb41) ((0x05e3 0x05bc) 0xfb43) ((0x05e4 0x05bc) 0xfb44) ((0x05e6 0x05bc) 0xfb46) ((0x05e7 0x05bc) 0xfb47) ((0x05e8 0x05bc) 0xfb48) ((0x05e9 0x05bc) 0xfb49) ((0x05ea 0x05bc) 0xfb4a) ((0x05d5 0x05b9) 0xfb4b) ((0x05d1 0x05bf) 0xfb4c) ((0x05db 0x05bf) 0xfb4d) ((0x05e4 0x05bf) 0xfb4e) ("." =)) *)) (category (0x0590 0x05af ?p) ; accents (0x05d0 0x05ff ?h) ; letters (0xfb1d 0xfb4e ?h) ; presentation forms (0x05b0 0x05c4 ?p) ; points (0x05be ?h) ; punctuation (0x05c0 ?h) ; punctuation (0x05c3 ?h) ; punctuation ) (generator (0 (cond ("(h)(p+)" < (1 =) (2 ("." Bc.Bc =) *) >) ("." = *)) *) ) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: ka-kbd.mim000064400000004144147633214350006414 0ustar00;; ka-kbd.mim -- Input method for Georgian ;; Copyright (C) 2004, 2005 ;; 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 for Georgian simulating Georgian keyboard. ;;; ;;; @image html ka-kbd.png "Keyboard Layout" ;;; @image latex ka-kbd.eps "Keyboard Layout" width=\narrowwidth ;;; You can also input more characters by the following key sequences: ;;; [type a key sequence to insert the corresponding character] ;;; @image html ka-kbd2.png ;;; @image latex ka-kbd2.eps "Extra Keys" width=\narrowwidth (input-method ka kbd) (description "Georgian input method simulating the Georgian keyboard. ") (title "გ") (map (map ("a" ?ა) ("b" ?ბ) ("g" ?გ) ("d" ?დ) ("e" ?ე) ("v" ?ვ) ("z" ?ზ) ("t" ?თ) ("i" ?ი) (".k" ?კ) ("l" ?ლ) ("m" ?მ) ("n" ?ნ) ("o" ?ო) (".p" ?პ) ("+z" ?ჟ) ("r" ?რ) ("s" ?ს) (".t" ?ტ) ("u" ?უ) ("p" ?ფ) ("k" ?ქ) (".g" ?ღ) ("q" ?ყ) ("+s" ?შ) ("+c" ?ჩ) ("c" ?ც) ("j" ?ძ) (".c" ?წ) (".+c" ?ჭ) ("x" ?ხ) ("+j" ?ჯ) ("h" ?ჰ) ("q1" ?ჴ) ("e0" ?ჱ) ("o1" ?ჵ) ("i1" ?ჲ) ("w" ?ჳ) ("f" ?ჶ))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: GURU-OTF.flt000064400000012527147633214350006502 0ustar00;; GURU-OTF.flt -- Font Layout Table for Gurmukhi OpenType fonts ;; Copyright (C) 2004, 2007, 2008, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter guru-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=guru))) ;;;
  • GURU-OTF.flt ;;; ;;; For Gurmukhi OpenType fonts to draw the Gurmukhi script. (category ;; B: consonants that have a below form ;; C: consonants that do not (0x0A00 0x0A7F ?X) ; generic (0x0A01 0x0A02 ?a) ; SIGN ADAK BINDI .. BINDI (0x0A03 ?A) ; SIGN VISARGA (0x0A05 0x0A14 ?V) ; LETTER A .. AU (0x0A15 0x0A38 ?C) ; LETTER KA .. SA (0x0A2F ?Y) ; LETTER YA (0x0A30 ?B) ; LETTER RA (0x0A35 ?B) ; LETTER VA (0x0A39 ?B) ; LETTER HA (0x0A3C ?n) ; SIGN NUKTA (0x0A3E ?p) ; VOWEL SIGN AA (0x0A3F ?m) ; VOWEL SIGN I (0x0A40 ?p) ; VOWEL SIGN II (0x0A41 0x0A42 ?b) ; VOWEL SIGN U .. UU (0x0A47 0x0A4C ?u) ; VOWEL SIGN EE .. AU (0x0A4D ?H) ; SIGN VIRAMA ;; (0x0A51 ?) ; SIGN UDAAT (0x0A59 0x0A5E ?C) ; LETTER KHHA .. FA (0x0A70 ?a) ; TIPPI (0x0A71 ?d) ; ADDAK ;; (0x0A75 ?) ; SIGN YAKASH (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (pstf ?P) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Compose a consonant and a nukta ((0x0A32 0x0A3C) 0x0A33) ((0x0A38 0x0A3C) 0x0A36) ((0x0A16 0x0A3C) 0x0A59) ((0x0A17 0x0A3C) 0x0A5A) ((0x0A1C 0x0A3C) 0x0A5B) ((0x0A2B 0x0A3C) 0x0A5E) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Consonant-based syllables ;;1 23 4 ("([CBY]n?((J?H|HJ?)[CBY]n?)*)(H[NJ]?|m?u?b?p?n?a?A?)" < | (cond (".+HJ$" :otf=guru=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=guru=nukt,akhn+) (2 =) 0x200C) (".+" :otf=guru=nukt,akhn+)) | >) ;; Syllables with an independent vowel ("(Vn?)((J?H[BY])?m?u?b?p?n?a?A?)" < | (1 :otf=guru=nukt+) (2 = *) | >) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf and pstf are displayed with a DOTTED CIRCLE in the ;; next stage. ("(J)(H)([BY])" < | (1 =) (3 =) (2 =) | >) ("." =)) *)) ;; Stage 2 ;; Reorder halant for blwf and pstf (generator (0 (cond ;; Isolated blwf and pstf ;; Saab.ttf uses vatu instead of blwf. (" J([BY]H) " (cond ((font-facility 0x25CC) < 0x25CC (1 :otf=guru=blwf,pstf,vatu+) >) (" J([BYR]H) " [ (1 :otf=guru=blwf,pstf,vatu+) ]))) ;; Syllables with an overt halant (" ([^ ]+)(HN) " | (1 reorder) (2 = =) |) ;; Ordinary syllables (" ([^mubpaA ]+)(m?u?b?p?n?a?A?) " | (1 reorder) (2 = *) |) ("." =)) *) (reorder ("(.|.+([^YJ]|JY|HJ))((J?HY)*)$" (1 reorder-B *) (3 reorder-Y *))) (reorder-B (cond ("J?(H)(B)" (2 =) (1 =)) ("." =))) (reorder-Y ("J?(H)(Y)" (2 =) (1 =))) ) ;; Stage 3 ;; Language forms and matra reordering (generator (0 (cond ;; Overt halant forms (" ([^ ]+)(HN) " | (1 b4post) (1 post) (2 = =) |) ;; Other syllables ;; 1 2 3 4 5 6 7 (" ([^mubpaA ]*)(mn?)?(un?)?(bn?)?(pn?)?(a)?(A)? " | (2 = *) (1 b4post) (4 = *) (3 = *) (6 =) (1 post) (5 = *) (7 =) |) ("." =)) *) (b4post (cond ("(.H)J?(.*)" (1 :otf=guru=half+) (2 ("(.|.+([^YH]|JY|BH))((YH)*)$" (1 lang-forms *)))) ("(.|.+([^YH]|JY|BH))((YH)*)" (1 lang-forms *)))) (lang-forms (cond ("(.H)J" (1 :otf=guru=half+)) (".H" :otf=guru=blwf,half,vatu+) ("." =))) (post ("(.|.+([^YH]|JY|BH))((YH)+)$" ;; lohit_pa.ttf uses psts instead of pstf for YA. (3 :otf=guru=pstf+psts))) ) ;; Stage 4 ;; Final reordering (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 5 ;; Nukta for matra and Presentation forms (generator (0 (cond (" ([^ ]+) " ;; lohit_pa.ttf uses vatu instead of blws. | (1 :otf=guru=nukt,vatu,pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 6 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 7 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=guru=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2004, 2007, 2008, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: ko-romaja.mim000064400000023533147633214350007146 0ustar00;; ko-romaja.mim -- Input method for Korean Hangul with Romaja keys. ;; Copyright (C) 2004, 2005, 2008 ;; 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 ko romaja) (description "Hangul input method with romaja keys. The roman-transliteration rules follows that of Hangule LE in IIIMF. Common to CHOSEONG and JONGSEONG: ㄱ(g) ㄲ(gg,kk,qq,c) ㄴ(n) ㄷ(d) ㄹ(l) ㄹ(r) ㅁ(m) ㅂ(b,v) ㅅ(s) ㅆ(ss) ㅇ(ng) ㅇ(x) ㅈ(j) ㅊ(ch) ㅋ(k,q) ㅌ(t) ㅍ(p,f) ㅎ(h) CHOSEONG: ㄸ(dd,tt) ㅃ(bb,vv) ㅉ(jj) JONGSEONG: ㄳ(gs) ㄵ(nj) ㄶ(nh) ㄺ(lg) ㄻ(lm) ㄼ(lb) ㄽ(ls) ㄾ(lt) ㄿ(lp) ㅀ(lh) ㅄ(bs) JUNGSEONG: ㅏ(a) ㅐ(ai,ae) ㅑ (ya,ia) ㅒ(yai,yae,iae) ㅓ(eo) ㅔ(e,eoi) ㅕ(yeo,ieo) ㅖ(ye,ie,yeoi) ㅗ(o) ㅘ(oa,wa,ua) ㅙ(oai,wae,uae,oae) ㅚ(oi,woe,uoe,oe) ㅛ(yo,io) ㅜ(u,w,oo) ㅝ(ueo,wo,uo) ㅞ(ue,we) ㅟ(wi) ㅠ(yu,iu) ㅡ(eu) ㅢ(eui,ui) ㅣ(i,y,ee) Special: Type uppercase letter to specify CHOSEONG explicitly. Type \"I\" to toggle the composed-syllable mode and isolated-jamo mode. Type \">>\" to fullwidth ASCII letter mode, \"<<\" to shift out the mode. Type \"Z\" and a key to input fullwidth version of the key. ") (title "로마자") (macro (compose ;; Convert Jamo sequence LVT to a precomposed character. ;; See the Unicode Standard Version 3.0, Section 3.11. (> L 0 ((set LIndex L) (sub LIndex 0x1100) (set VIndex V) (sub VIndex 0x1161) (set TIndex T) (sub TIndex 0x11A7) ;; S = (LIndex * VCount + Vindex) * TCount + TIndex + SBase (set S LIndex) (mul S 21) ;; VCount (add S VIndex) (mul S 28) ;; TCount (add S TIndex) (add S 0xAC00) ;; SBase (delete @<) (insert S)))) ;; If L is not negative, convert Jame sequence LV to a precomposed ;; character while assuming T is 0x11A7. If L is 0 (i.e. missing), ;; set L to 0x110B. (compose-vowel (< L 0 () ((= L 0 ((set L 0x110B))) (set T1 T) (set T 0x11A7) (compose) (set T T1))))) (map ;; This map is used only in init state, which means typing these ;; uppercase letters in any other states causes shifting to init ;; state, and they are re-handled in init state. (uppercase ("B" (pushback "b")) ("C" (pushback "c")) ("D" (pushback "d")) ("F" (pushback "f")) ("G" (pushback "g")) ("H" (pushback "h")) ("J" (pushback "j")) ("K" (pushback "k")) ("L" (pushback "l")) ("M" (pushback "m")) ("N" (pushback "n")) ("P" (pushback "p")) ("Q" (pushback "q")) ("R" (pushback "r")) ("S" (pushback "s")) ("T" (pushback "t")) ("V" (pushback "v")) ("X" (pushback "x"))) ;; Keys common to CHOSEONG and JONGSEONG. Set L1 to CHOSEONG, T to ;; JONGSEONG, insert a Compatibility Jamo. When this map is used in ;; init state, L is still 0, thus compose macro does nothing. ;; Otherwise, L is already set to a CHOSEONG, thus compose macro ;; composes LVT into a syllable. (X ("g" (set L1 0x1100) (set T 0x11A8) ?ㄱ (compose)) ("gg" (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose)) ("kk" (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose)) ("qq" (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose)) ("c" (set L1 0x1101) (set T 0x11A9) ?ㄲ (compose)) ("n" (set L1 0x1102) (set T 0x11AB) ?ㄴ (compose)) ("d" (set L1 0x1103) (set T 0x11AE) ?ㄷ (compose)) ("l" (set L1 0x1105) (set T 0x11AF) ?ㄹ (compose)) ("r" (set L1 0x1105) (set T 0x11AF) ?ㄹ (compose)) ("m" (set L1 0x1106) (set T 0x11B7) ?ㅁ (compose)) ("b" (set L1 0x1107) (set T 0x11B8) ?ㅂ (compose)) ("v" (set L1 0x1107) (set T 0x11B8) ?ㅂ (compose)) ("s" (set L1 0x1109) (set T 0x11BA) ?ㅅ (compose)) ("ss" (set L1 0x110A) (set T 0x11BB) ?ㅆ (compose)) ("ng" (set L1 0x110B) (set T 0x11BC) ?ㅇ (compose)) ("x" (set L1 0x110B) (set T 0x11BC) ?ㅇ (compose)) ("j" (set L1 0x110C) (set T 0x11BD) ?ㅈ (compose)) ("ch" (set L1 0x110E) (set T 0x11BE) ?ㅊ (compose)) ("k" (set L1 0x110F) (set T 0x11BF) ?ㅋ (compose)) ("q" (set L1 0x110F) (set T 0x11BF) ?ㅋ (compose)) ("t" (set L1 0x1110) (set T 0x11C0) ?ㅌ (compose)) ("p" (set L1 0x1111) (set T 0x11C1) ?ㅍ (compose)) ("f" (set L1 0x1111) (set T 0x11C1) ?ㅍ (compose)) ("h" (set L1 0x1112) (set T 0x11C2) ?ㅎ (compose))) ;; Keys only for CHOSEONG. ;; Set L to CHOSEONG, insert a Compatibility Jamo. (L ("dd" (set L 0x1104) ?ㄸ) ("tt" (set L 0x1104) ?ㄸ) ("bb" (set L 0x1108) ?ㅃ) ("vv" (set L 0x1108) ?ㅃ) ("jj" (set L 0x110D) ?ㅉ)) ;; Keys only for JONGSEONG. ;; Set T to JONGSEONG, insert a Compatibility Jamo. (T ("gs" (set T 0x11AA) ?ㄳ (compose)) ("nj" (set T 0x11AC) ?ㄵ (compose)) ("nh" (set T 0x11AD) ?ㄶ (compose)) ("lg" (set T 0x11B0) ?ㄺ (compose)) ("lm" (set T 0x11B1) ?ㄻ (compose)) ("lb" (set T 0x11B2) ?ㄼ (compose)) ("ls" (set T 0x11B3) ?ㄽ (compose)) ("lt" (set T 0x11B4) ?ㄾ (compose)) ("lp" (set T 0x11B5) ?ㄿ (compose)) ("lh" (set T 0x11B6) ?ㅀ (compose)) ("bs" (set T 0x11B9) ?ㅄ (compose))) ;; Keys only for JUNGSEONG. ;; Set V to JUNGSEONG, insert a Compatibility Jamo. (V ("a" (set V 0x1161) ?ㅏ (compose-vowel)) ("ai" (set V 0x1162) ?ㅐ (compose-vowel)) ("ae" (set V 0x1162) ?ㅐ (compose-vowel)) ("ya" (set V 0x1163) ?ㅑ (compose-vowel)) ("ia" (set V 0x1163) ?ㅑ (compose-vowel)) ("yai" (set V 0x1164) ?ㅒ (compose-vowel)) ("yae" (set V 0x1164) ?ㅒ (compose-vowel)) ("iae" (set V 0x1164) ?ㅒ (compose-vowel)) ("eo" (set V 0x1165) ?ㅓ (compose-vowel)) ("e" (set V 0x1166) ?ㅔ (compose-vowel)) ("eoi" (set V 0x1166) ?ㅔ (compose-vowel)) ("yeo" (set V 0x1167) ?ㅕ (compose-vowel)) ("ieo" (set V 0x1167) ?ㅕ (compose-vowel)) ("ye" (set V 0x1168) ?ㅖ (compose-vowel)) ("ie" (set V 0x1168) ?ㅖ (compose-vowel)) ("yeoi"(set V 0x1168) ?ㅖ (compose-vowel)) ("o" (set V 0x1169) ?ㅗ (compose-vowel)) ("oa" (set V 0x116A) ?ㅘ (compose-vowel)) ("wa" (set V 0x116A) ?ㅘ (compose-vowel)) ("ua" (set V 0x116A) ?ㅘ (compose-vowel)) ("oai" (set V 0x116B) ?ㅙ (compose-vowel)) ("wae" (set V 0x116B) ?ㅙ (compose-vowel)) ("uae" (set V 0x116B) ?ㅙ (compose-vowel)) ("oae" (set V 0x116B) ?ㅙ (compose-vowel)) ("oi" (set V 0x116C) ?ㅚ (compose-vowel)) ("woe" (set V 0x116C) ?ㅚ (compose-vowel)) ("uoe" (set V 0x116C) ?ㅚ (compose-vowel)) ("oe" (set V 0x116C) ?ㅚ (compose-vowel)) ("yo" (set V 0x116D) ?ㅛ (compose-vowel)) ("io" (set V 0x116D) ?ㅛ (compose-vowel)) ("u" (set V 0x116E) ?ㅜ (compose-vowel)) ("w" (set V 0x116E) ?ㅜ (compose-vowel)) ("oo" (set V 0x116E) ?ㅜ (compose-vowel)) ("ueo" (set V 0x116F) ?ㅝ (compose-vowel)) ("wo" (set V 0x116F) ?ㅝ (compose-vowel)) ("uo" (set V 0x116F) ?ㅝ (compose-vowel)) ("ue" (set V 0x1170) ?ㅞ (compose-vowel)) ("we" (set V 0x1170) ?ㅞ (compose-vowel)) ("wi" (set V 0x1171) ?ㅟ (compose-vowel)) ("yu" (set V 0x1172) ?ㅠ (compose-vowel)) ("iu" (set V 0x1172) ?ㅠ (compose-vowel)) ("eu" (set V 0x1173) ?ㅡ (compose-vowel)) ("eui" (set V 0x1174) ?ㅢ (compose-vowel)) ("ui" (set V 0x1174) ?ㅢ (compose-vowel)) ("i" (set V 0x1175) ?ㅣ (compose-vowel)) ("y" (set V 0x1175) ?ㅣ (compose-vowel)) ("ee" (set V 0x1175) ?ㅣ (compose-vowel))) ;; Keys starting V. (V-head ("a") ("y") ("e") ("o") ("w") ("u") ("i")) ;; Input fullwidth punction characters by typing a punction twice. (punctuation ("," ?,) (",," ?、) ("." ?.) (".." ?。) ("?" ??) ("??" ??) ("!" ?!) ("!!" ?!)) (backspace ((BackSpace) (> @@ 1 ((undo)) ((unhandle))))) ;; Toggle normal syllable mode and isolated jamo mode. (toggle-mode ("I" (= ISOLATED 0 ((set ISOLATED 1)) ((set ISOLATED 0))))) (commit-preedit (";") ((S-\ )))) (include (t nil cjk-util) map) (state (init "로마자" ;; This is to suppress compose action. (t (set L 0)) ;; Uppercase keys are translated to the corresponding lowercase keys. (uppercase) (X (set L L1) (shift after-L)) (L (shift after-L)) (V (shift after-LV)) (T) (backspace) (punctuation) (enter-fullwidth-mode (shift fullwidth-mode)) (enter-single-fullwidth-mode (shift single-fullwidth-mode)) (toggle-mode (shift isolated-jamo-mode))) (after-L (V (shift after-LV)) (commit-preedit (shift init)) (backspace)) (after-LV (X (shift after-LVX)) (T (shift init)) (commit-preedit (shift init)) (backspace)) (after-LVX (V-head (delete @<) (pushback 0) (shift fix-LV-redo-L)) (commit-preedit (shift init)) (backspace)) (fix-LV-redo-L (t (set L 0)) (X (set L L1) (shift fix-LV-redo-V)) (L (shift fix-LV-redo-V)) (V (set L 0x110B) (set T 0x11A7) (compose) (shift init))) (fix-LV-redo-V (V (set T 0x11A7) (compose) (shift init))) (isolated-jamo-mode "자모" ;; Suppress both compose and compose-vowel action. (t (set L -1)) (X (commit)) (L (set L -1) (commit)) (T (commit)) (V (commit)) (commit-preedit (commit)) (enter-fullwidth-mode (shift fullwidth-mode)) (enter-single-fullwidth-mode (shift single-fullwidth-mode)) (toggle-mode (shift init)) (nil (unhandle)))) (include (t nil cjk-util) state) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: dv-phonetic.mim000064400000004160147633214350007501 0ustar00;; dv-phonetic.mim -- Dhivehi phonetic keyboard layout ;; Copyright (C) 2004, 2005 ;; 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 dv phonetic) (description "Dhivehi input method simulating the Dhivehi phonetic keyboard. The layout is approved by the Molvidian Ministry of Communication, Science and Technology. ") (title "dv-ph") (map (generic ("q" ?ް) ("w" ?އ) ("e" ?ެ) ("r" ?ރ) ("t" ?ތ) ("y" ?ޔ) ("u" ?ު) ("i" ?ި) ("o" ?ޮ) ("p" ?ޕ) ("a" ?ަ) ("s" ?ސ) ("d" ?ދ) ("f" ?ފ) ("g" ?ގ) ("h" ?ހ) ("j" ?ޖ) ("k" ?ކ) ("l" ?ލ) (";" ?؛) ("z" ?ޒ) ("x" ?×) ("c" ?ޗ) ("v" ?ވ) ("b" ?ބ) ("n" ?ނ) ("m" ?މ) ("," ?،) ("Q" ?ޤ) ("W" ?ޢ) ("E" ?ޭ) ("R" ?ޜ) ("T" ?ޓ) ("Y" ?ޠ) ("U" ?ޫ) ("I" ?ީ) ("O" ?ޯ) ("P" ?÷) ("A" ?ާ) ("S" ?ށ) ("D" ?ޑ) ("F" ?ﷲ) ("G" ?ޣ) ("H" ?ޙ) ("J" ?ޛ) ("K" ?ޚ) ("L" ?ޅ) ("Z" ?ޡ) ("X" ?ޘ) ("C" ?ޝ) ("V" ?ޥ) ("B" ?ޞ) ("N" ?ޏ) ("M" ?ޟ) ("?" ?؟) ((A-v) ?‍) ((A-b) ?‌) ((A-n) ?‎) ((A-m) ?‏) ((A-\;) ?\;) ((A-,) ?,) )) (state (init (generic))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: pa-itrans.mim000064400000011212147633214350007153 0ustar00;; pa-itrans.mim -- Punjabi input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 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 pa itrans) (description "Panjabi input method by ITRANS transliteration. For the detail of ITRANS, see the page: ") (title "ਕ") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "ਕ੍") ("kh" "ਖ੍") ("g" "ਗ੍") ("gh" "ਘ੍") ("N^" "ਙ੍") ("~N" "ਙ੍") ; not in ITRANS Gurmukhi table ("c" "ਚ੍") ("ch" "ਛ੍") ("Ch" "ਛ੍") ; not in ITRANS Gurmukhi table ("chh" "ਛ੍") ; not in ITRANS Gurmukhi table ("j" "ਜ੍") ("jh" "ਝ੍") ("~n" "ਞ੍") ("JN" "ਞ੍") ; not in ITRANS Gurmukhi table ("T" "ਟ੍") ("Th" "ਠ੍") ("D" "ਡ੍") ("Dh" "ਢ੍") ("N" "ਣ੍") ("t" "ਤ੍") ("th" "ਥ੍") ("d" "ਦ੍") ("dh" "ਧ੍") ("n" "ਨ੍") ("p" "ਪ੍") ("ph" "ਫ੍") ("b" "ਬ੍") ("bh" "ਭ੍") ("m" "ਮ੍") ("y" "ਯ੍") ("r" "ਰ੍") ("l" "ਲ੍") ("L" "ਲ਼੍") ("ld" "ਲ਼੍") ; not in ITRANS Gurmukhi table ("v" "ਵ੍") ("w" "ਵ੍") ; not in ITRANS Gurmukhi table ("sh" "ਸ਼੍") ("s" "ਸ੍") ("h" "ਹ੍") ("K" "ਖ਼੍") ("G" "ਗ਼੍") ("J" "ਜ਼੍") ("z" "ਜ਼੍") (".D" "ੜ੍") ("f" "ਫ਼੍") ("GY" "ਜ੍ਞ੍") ; not in ITRANS Gurmukhi table ("dny" "ਜ੍ਞ੍")) ; not in ITRANS Gurmukhi table (independent ("a" "ਅ") ("aa" "ਆ") ("A" "ਆ") ; not in ITRANS Gurmukhi table ("i" "ਇ") ("ii" "ਈ") ("I" "ਈ") ; not in ITRANS Gurmukhi table ("u" "ਉ") ("uu" "ਊ") ("U" "ਊ") ; not in ITRANS Gurmukhi table ("e" "ਏ") ("ai" "ਐ") ("o" "ਓ") ("au" "ਔ") (".N" "ਁ") (".n" "ਂ") ("M" "ਂ") ("H" "ਃ") (".h" "੍") ("0" "੦") ("1" "੧") ("2" "੨") ("3" "੩") ("4" "੪") ("5" "੫") ("6" "੬") ("7" "੭") ("8" "੮") ("9" "੯") ("#" "੍ਰ") ; not in ITRANS Gurmukhi table ("$" "ਰ੍") ; not in ITRANS Gurmukhi table ("^" "ਤ੍ਰ") ; not in ITRANS Gurmukhi table ("*" "ਸ਼੍ਰ") ; not in ITRANS Gurmukhi table ("]" "਼") ; not in ITRANS Gurmukhi table ((KP_1) "੧") ((KP_2) "੨") ((KP_3) "੩") ((KP_4) "੪") ((KP_5) "੫") ((KP_6) "੬") ((KP_7) "੭") ((KP_8) "੮") ((KP_9) "੯") ((KP_0) "੦") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ; not in ITRANS Gurmukhi table ((C-@) "‍")) ; not in ITRANS Gurmukhi table (dependent ("a" (delete @-) "") ("aa" (delete @-) "ਾ") ("A" (delete @-) "ਾ") ("i" (delete @-) "ਿ") ("ii" (delete @-) "ੀ") ("I" (delete @-) "ੀ") ("u" (delete @-) "ੁ") ("uu" (delete @-) "ੂ") ("U" (delete @-) "ੂ") ("e" (delete @-) "ੇ") ("ai" (delete @-) "ੈ") ("o" (delete @-) "ੋ") ("au" (delete @-) "ੌ")) (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: THAA-OTF.flt000064400000003140147633214350006424 0ustar00;; THAA.flt -- Font Layout Table for Thaana OpenType font ;; Copyright (C) 2004, 2005, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter thaa-otf nil (font (nil nil unicode-bmp :otf=thaa))) ;;;
  • THAA-OTF.flt ;;; ;;; For Thaana OpenType fonts to draw the Thaana script. (category (0x0780 0x07a5 ?c) ; consonants (0x07a6 0x07b0 ?v) ; vowels (0x07b1 ?c) ; consonant ) ;; Grouping. (generator (0 (cond ;; GPOS of OTF wil override this combining rule. ("cv" < = Bl.Bl = >) ("v" [ = ]) ("." =)) *)) ;; Drive OTF. (generator (0 otf:thaa=+mark)) ;; Copyright (C) 2004, 2005, 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. ;; Local Variables: ;; mode: lisp ;; End: fr-azerty.mim000064400000007725147633214350007216 0ustar00;; fr-azerty.mim -- Input method for French simulating Azerty keyboard layout ;; Copyright (C) 2007, 2008, 2009 ;; 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 fr azerty) (description (_"Simulating Azerty keyboard on English keyboard. &1 é2 \"3 '4 (5 -6 è7 _8 ç9 à0 )° =_ ²~ aA zZ eE rR tT yY uU iI oO pP ^¨ $£ qQ sS dD fF gG hH jJ kK lL mM ù% *| wW xX cC vV bB nN ,? ;. :/ !§ '[' and '{' are used as a dead key to type a character with the circumflex and diaeresis respectively (e.g. '[' 'e' -> \"ê\"). 'Alt-2' and 'Alt-7' are used as a dead key to type a character with tilde and grave respectively (e.g. 'Alt-2' 'n' -> \"ñ\"). 'Ctrl-Alt-2' and 'Ctrl-Alt-7' can be used as 'Alt-2' and 'Alt-7' respectively. Azerty keyboard has one more key at the bottom left corner for inputting \"<\" and \">\". As a normal English keyboard doesn't have such a key left, type '<' and '>' twice for \"<\" and \">\" respectively.")) (title "AZ ") (map (normal ("1" ?&) ("2" ?é) ("3" ?\") ("4" ?') ("5" ?\() ("6" ?-) ("7" ?è) ("8" ?_) ("9" ?ç) ("0" ?à) ("-" ?\)) ("=" ?=) ("`" ?²) ("q" ?a) ("w" ?z) ("e" ?e) ("r" ?r) ("t" ?t) ("y" ?y) ("u" ?u) ("i" ?i) ("o" ?o) ("p" ?p) ;; ("[" ?^) ("]" ?$) ("a" ?q) ("s" ?s) ("d" ?d) ("f" ?f) ("g" ?g) ("h" ?h) ("j" ?j) ("k" ?k) ("l" ?l) (";" ?m) ("'" ?ù) ("\\" ?*) ("z" ?w) ("x" ?x) ("c" ?c) ("v" ?v) ("b" ?b) ("n" ?n) ("m" ?,) ("," ?\;) ("." ?:) ("/" ?!) ("!" ?1) ("@" ?2) ("#" ?3) ("$" ?4) ("%" ?5) ("^" ?6) ("&" ?7) ("*" ?8) ("(" ?9) (")" ?0) ("_" ?°) ("+" ?+) ("~" ?~) ("Q" ?A) ("W" ?Z) ("E" ?E) ("R" ?R) ("T" ?T) ("Y" ?Y) ("U" ?U) ("I" ?I) ("O" ?O) ("P" ?P) ;; ("{" ?¨) ("}" ?£) ("A" ?Q) ("S" ?S) ("D" ?D) ("F" ?F) ("G" ?G) ("H" ?H) ("J" ?J) ("K" ?K) ("L" ?L) (":" ?M) ("\"" ?%) ("|" ?µ) ("Z" ?W) ("X" ?X) ("C" ?C) ("V" ?V) ("B" ?B) ("N" ?N) ("M" ??) ("<" ?.) ("<<" ?<) (">" ?/) (">>" ?>) ("?" ?§)) ;; Deadkeys (left-square-bracket ("[")) (left-curly-bracket ("{")) (alt-2 ((A-2)) ((C-A-2))) (alt-7 ((A-7)) ((C-A-7))) ;; Letters with diacritical marks (circumflex ("[" ?^) ("q" ?â) ("e" ?ê) ("i" ?î) ("o" ?ô) ("u" ?û) ("Q" ?Â) ("E" ?Ê) ("I" ?Î) ("O" ?Ô) ("U" ?Û)) (diaeresis ("{" ?¨) ("q" ?ä) ("e" ?ë) ("i" ?ï) ("o" ?ö) ("u" ?ü) ("y" ?ÿ) ("Q" ?Ä) ("E" ?Ë) ("I" ?Ï) ("O" ?Ö) ("U" ?Ü) ("Y" ?Ÿ)) (tilde ("3" ?~) ("q" ?ã) ("n" ?ñ) ("o" ?õ)) (grave ("q" ?à) ("e" ?è) ("i" ?ì) ("o" ?ò) ("u" ?ù) ("Q" ?À) ("E" ?È) ("I" ?Ì) ("O" ?Ò) ("U" ?Ù))) (state (init (normal) (left-square-bracket (shift circumflex)) (left-curly-bracket (shift diaeresis)) (alt-2 (shift tilde)) (alt-7 (shift grave))) (circumflex "AZ^" (circumflex (shift init))) (diaeresis "AZ¨" (diaeresis (shift init))) (tilde "AZ~" (tilde (shift init))) (grave "AZ`" (grave (shift init)))) FONTSIZE.tbl000064400000002644147633214350006526 0ustar00;; FONTSIZE.tbl -- Font Resizing -*- lisp -*- ;; Copyright (C) 2003, 2004, 2010 ;; 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. ;;;
  • FONTSIZE.tbl ;;; ;;; Information about how much to resize fonts. See the section @ref ;;; mdbFontSize. ((devanagari-cdac) 150) ((tamil-cdac) 150) ((malayalam-cdac) 150) ((nil dv-ttyogesh apple-roman) 150) ((nil tm-ttvalluvar apple-roman) 150) ((nil ml-ttkarthika apple-roman) 150) ((unknown nf3 adobe-fontspecific) 150) ((nil nf3 \7-2) 150) ((altsys nahkt ascii-0) 120) ((nil anlongvill apple-roman) 90) SCRIPT-OTF.tbl000064400000003341147633214350006712 0ustar00;; SCRIPT-OTF.tbl -- Table of OTF script tag -*- lisp -*- ;; Copyright (C) 2005 ;; 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. ;; ;; The file format is this: ;; (SCRIPT OTF-TAG) ... ;; SCRIPT: script name ;; OTF-TAG: OTF script tag. ;;;
  • SCRIPT-OTF.tbl ;;; ;;; Table of scripts vs the corresponding OTF script tags. (arabic arab) (armenian armn) (bengali beng) (bopomofo bopo) (braille brai) (cherokee cher) (han hani) (cyrillic cyrl) (devanagari deva) (ethiopic ethi) (georgian geor) (greek grek) (gujarati gujr) (gurmukhi guru) (hangul hang) (hebrew hebr) (hiragana kana) (kannada knda) (katakana kana) (khmer khmr) (lao lao\ ) (latin latn) (malayalam mlym) (mongolian mong) (myanmar mymr) (ogham ogam) (oriya orya) (runic runr) (sinhala sinh) (syriac syrc) (tamil taml) (telugu telu) (thaana thaa) (thai thai) (tibetan tibt) (yi yi\ \ ) ug-kbd.mim000064400000004274147633214350006440 0ustar00;; ug-kbd.mim -- Uyghur input method with Uyghur keyboard layout ;; Copyright (C) 2006, 2008, 2009 ;; 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 ug kbd) (description "Uyghur input method simulating an Uyghur keyboard layout. Based on ") (title "ئۇ") (map (map ("q" 0x0686) ("w" 0x06CB) ("e" 0x06D0) ("r" 0x0631) ("t" 0x062A) ("y" 0x064A) ("u" 0x06C7) ("i" 0x06AD) ("o" 0x0648) ("p" 0x067E) ("a" 0x06BE) ("s" 0x0633) ("d" 0x062F) ("f" 0x0627) ("g" 0x06D5) ("h" 0x0649) ("j" 0x0642) ("k" 0x0643) ("l" 0x0644) (";" 0x061B) ("z" 0x0632) ("x" 0x0634) ("c" 0x063A) ("v" 0x06C8) ("b" 0x0628) ("n" 0x0646) ("m" 0x0645) ("," 0x060C) ("/" 0x0626) ("Q" 0x0686) ("W" 0x06CB) ("E" 0x06D0) ("R" 0x0631) ("T" 0x062A) ("Y" 0x064A) ("U" 0x06C7) ("I" 0x06AD) ("O" 0x0648) ("P" 0x067E) ("\{" 0x00AB) ("\}" 0x00BB) ("A" 0x06BE) ("S" 0x0633) ("D" 0x0698) ("F" 0x0641) ("G" 0x06AF) ("H" 0x062E) ("J" 0x062C) ("K" 0x06C6) ("L" 0x0644) ("Z" 0x0632) ("X" 0x0634) ("C" 0x063A) ("V" 0x06C8) ("B" 0x0628) ("N" 0x0646) ("M" 0x0645) ("?" 0x061F) ("<" 0x2039) (">" 0x203A) ("_" 0x2014))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: unicode.mim000064400000004216147633214350006711 0ustar00;; unicode.mim -- Input method for Unicode characters by typing character code ;; Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009 ;; 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 t unicode) (description (_"Input method for Unicode BMP characters using hexadigits. Type C-u followed by four hexadecimal numbers [0-9A-Fa-f] of a Unicode character code. ")) (title "UNICODE") (variable (prompt (_"Preedit prompt Prompt string shown in the preedit area while typing hexadecimal numbers.") "U+")) (command (start (_"Start Unicode Start typing hexadecimal numbers of Unicode character.") (C-U))) (map (starter (start prompt)) (hex ("0" "0") ("1" "1") ("2" "2") ("3" "3") ("4" "4") ("5" "5") ("6" "6") ("7" "7") ("8" "8") ("9" "9") ("A" "A") ("B" "B") ("C" "C") ("D" "D") ("E" "E") ("F" "F") ("a" "A") ("b" "B") ("c" "C") ("d" "D") ("e" "E") ("f" "F")) (backspace ((BackSpace)))) (state (init (starter (set code 0) (set count 0) (shift uni-hex))) (uni-hex (hex (set this @-1) (cond ((< @-1 ?A) (sub this 48)) (1 (sub this 55))) (set code (+ (* code 16) this)) (set count (+ count 1)) (cond ((= count 4) (delete @<) (insert code) (shift init)))) (backspace (undo)))) ;; Local Variables: ;; mode: lisp ;; End: HEBR-OTF.flt000064400000004156147633214350006437 0ustar00;; HEBR-OTF.flt -- Font Layout Table for Hebrew OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter hebr-otf nil (font (nil nil unicode-bmp :otf=hebr))) ;;;
  • HEBR-OTF.flt ;;; ;;; For Hebrew OpenType fonts to draw the Hebrew script. (category (0x0590 0x05FF ?X) ; generic (0x0591 0x05AF ?m) ; cantillation marks (0x05B0 0x05BB ?v) ; vowels (0x05BC ?d) ; dagesh (0x05BD ?P) ; meteg (0x05BF ?p) ; rafe (0x05C1 0x05C2 ?s) ; shin/sin dot (0x05C4 0x05C5 ?p) ; upper/lower dot (0x05C7 ?v) ; qamats qatan (0x05D0 0x05EA ?C) ; consonants (0x05E9 ?S) ; shin (0xFB1D 0xFB4F ?X) ; generic (0xFB1E ?p) ; judeo-spanish varika (0x034F ?G) ; COMBINING GRAPHEME JOINER (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE ) (generator (0 (cond ("Cd?v?[NJ]?[Pp]?m?" < :otf=hebr >) ("Cd?PGvm?" < :otf=hebr >) ("S(ds?|sd?)?v?[NJ]?[Pp]?m?" < :otf=hebr >) ("S(ds?|sd?)PGvm?" < :otf=hebr >) ("[mvdps]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: TELU-OTF.flt000064400000011133147633214350006461 0ustar00;; TELU-OTF.flt -- Font Layout Table for Telugu OpenType fonts ;; Copyright (C) 2004, 2007, 2008, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter telu-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=telu))) ;;;
  • TELU-OTF.flt ;;; ;;; For Telugu OpenType fonts to draw the Telugu script. (category (0x0C00 0x0C7F ?X) ; generic (0x0C01 0x0C03 ?A) ; SIGN CANDRABINDU .. VISARGA (0x0C05 0x0C14 ?V) ; LETTER A .. AU (0x0C15 0x0C39 ?C) ; LETTER KA .. HA (0x0C3E 0x0C42 ?u) ; VOWEL SIGN AA .. II (0x0C43 0x0C44 ?p) ; VOWEL SIGN U .. VOCALIC RR (0x0C46 0x0C47 ?u) ; VOWEL SIGN E .. EE (0x0C4A 0x0C4C ?u) ; VOWEL SIGN O .. AU (0x0C4D ?H) ; SIGN VIRAMA (0x0C55 ?u) ; LENGTH MARK (0x0C56 ?b) ; AI LENGTH MARK (0x0C58 0x0C59 ?C) ; LETTER TSA .. DZA (0x0C60 0x0C61 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0C62 0x0C63 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (blwf ?B) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x0C48) 0x0C46 0x0C56) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Consonant-based syllables ;;1 23 4 ("(C((J?H|HJ?)C)*)(H[NJ]?|u?b?p?A?)" < | (cond (".+HJ$" :otf=telu=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=telu=nukt,akhn+) (2 =) 0x200C) (".+" :otf=telu=nukt,akhn+)) | >) ;; Syllables with an independent vowel ;;1 2 3 ("(V)(J?HC)?(u?b?p?A?)" < | (1 =) (2 :otf=telu=blwf+) (3 = *) | >) ;; Two-part vowel signs ((0x0C46 0x0C56) (cond ((font-facility 0x25CC) < 0x25CC = = >) (".+" [ 0x0C48 ]))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("[HubpA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf is displayed with a DOTTED CIRCLE in the ;; next stage. ("(J)(H)(C)" < | (1 =) (3 =) (2 = ) | >) ("." =)) *)) ;; Stage 2 ;; Reorder halant for blwf (generator (0 (cond ;; Isolated blwf (" J(CH) " (cond ((font-facility 0x25CC) < 0x25CC (1 :otf=telu=blwf+) >) (" J(CH) " [ (1 :otf=telu=blwf+) ]))) ;; Syllables with an overt halant (" ([^ ]+)(HN) " | (1 reorder *) (2 = =) |) ;; Ordinary syllables (" ([^ubpA ]+)(u?b?p?A?) " | (1 reorder *) (2 = *) |) ("." =)) *) (reorder (cond ("J?(H)(C)" (2 =) (1 =)) ("." =))) ) ;; Stage 3 ;; Language forms ;; Although all consonants have a blow form and none has a half form, ;; we have to prevent the first consonant from forming the below form. (generator (0 (cond ;; Overt halant forms (" ([^ ]+)(HN) " | (1 (cond ("(.H)J?(.*)" (1 :otf=telu=half+) (2 lang-forms *)) (".+" lang-forms *))) (2 = =) |) ;; Other syllables (" ([^ubpA ]*)(u?b?p?A?) " | (1 (cond ("(.H)J?(.*)" (1 :otf=telu=half+) (2 lang-forms *)) (".+" lang-forms *))) (2 = *) |) ("." =)) *) (lang-forms (cond ("(.H)J" (1 :otf=telu=half+)) (".H" :otf=telu=blwf,half+) ("." =))) ) ;; Stage 4 ;; Move subscript glyphs (generator (0 (cond (" ([^B ]*[^BJ])J?(B*)(ub?|b)([^ ]*) " | (1 = *) (3 = *) (2 = *) (4 = *) |) ("." =)) *)) ;; Stage 5 ;; Presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=telu=pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 6 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 7 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=telu=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2004, 2007, 2008, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: KNDA-OTF.flt000064400000013540147633214350006431 0ustar00;; KNDA-OTF.flt -- Font Layout Table for Kannada OpenType fonts ;; Copyright (C) 2004, 2007, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter knda-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=knda))) ;;;
  • KNDA-OTF.flt ;;; ;;; For Kannada OpenType fonts to draw the Kannada script. (category ;; b: before subscript matras ;; a: after subscript matras (0x0C80 0x0CFF ?X) ; generic (0x0C82 0x0C83 ?A) ; SIGN ANUSVARA .. VISARGA (0x0C85 0x0C94 ?V) ; LETTER A .. LETTER AU (0x0C95 0x0CB9 ?C) ; LETTER KA .. LETTER HA (0x0CB0 ?R) ; LETTER RA (0x0CBC ?n) ; SIGN NUKTA (0x0CBE 0x0CBF ?b) ; VOWEL SIGN AA .. I (0x0CC1 0x0CC2 ?b) ; VOWEL SIGN U .. UU (0x0CC3 0x0CC4 ?a) ; VOWEL SIGN VOCALIC R .. VOCALIC RR (0x0CC6 ?b) ; VOWEL SIGN E (0x0CCC ?b) ; VOWEL SIGN AU (0x0CCD ?H) ; SIGN VIRAMA (0x0CD5 0x0CD6 ?a) ; LENGTH MARK .. AI LENGTH MARK (0x0CDE ?C) ; LETTER FA (LLLA) (0x0CE0 0x0CE1 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0CE2 0x0CE3 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (blwf ?B) (rphf ?r) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose multi-part vowel signs. ((0x0CC0) 0x0CBF 0x0CD5) ((0x0CC7) 0x0CC6 0x0CD5) ((0x0CC8) 0x0CC6 0x0CD6) ((0x0CCA) 0x0CC6 0x0CC2) ((0x0CCB) 0x0CC6 0x0CC2 0x0CD5) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?(Vn?)((J?H[CR])?b?b?a?A?)" < | (1 = =) (2 :otf=knda=nukt+) (3 = *) | >) ;; Consonant-based syllables ;;1 23 4 ("([CR]n?((J?H|HJ?)[CR]n?)*)(H[NJ]?|b?b?a?n?A?)" < | (cond (".+HJ$" :otf=knda=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=knda=nukt,akhn+) (2 =) 0x200C) (".+" :otf=knda=nukt,akhn+)) | >) ;; Multi-part vowel signs ((0x0CBF 0x0CD5) (cond ((font-facility 0x25CC) < 0x25CC = = >) (".+" [ 0x0CC0 ]))) ((0x0CC6 0x0CD5) (cond ((font-facility 0x25CC) < 0x25CC = = >) (".+" [ 0x0CC7 ]))) ((0x0CC6 0x0CD6) (cond ((font-facility 0x25CC) < 0x25CC = = >) (".+" [ 0x0CC8 ]))) ((0x0CC6 0x0CC2 0x0CD5) (cond ((font-facility 0x25CC) < 0x25CC = = = >) (".+" [ 0x0CCB ]))) ((0x0CC6 0x0CC2) (cond ((font-facility 0x25CC) < 0x25CC = = >) (".+" [ 0x0CCA ]))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("[nHbaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf is displayed with a DOTTED CIRCLE in the ;; next stage. ("(J)(H)([CR])" < | (1 =) (3 =) (2 =) | >) ("." =)) *)) ;; Stage 2 ;; Reorder halant for blwf (generator (0 (cond ;; Isolated blwf (" J([CR]H) " (cond ((font-facility 0x25CC) < 0x25CC (1 :otf=knda=blwf+) >) (" J([CR]H) " [ (1 :otf=knda=blwf+) ]))) ;; Syllables with an overt halant (" (RHJ?)?([^ ]+)(HN) " | (1 = *) (2 reorder *) (3 = =) |) ;; Ordinary syllables (" (RHJ?)?([^baA ]+)(b?b?n?a?n?A?) " | (1 = *) (2 reorder *) (3 = *) |) ("." =)) *) (reorder (cond ("J?(H)([CR])" (2 =) (1 =)) ("." =))) ) ;; Stage 3 ;; Language forms ;; Although all consonants have a blow form and none has a half form, ;; we have to prevent the first consonant from forming the below form. (generator (0 (cond ;; Overt halant forms (" (RHJ?)?([^ ]+)(HN) " | (1 (cond ("RHJ" = =) ("RH" :otf=knda=rphf+))) (2 (cond ("(.H)J?(.*)" (1 :otf=knda=half+) (2 lang-forms *)) (".+" lang-forms *))) (3 = =) |) ;; Other syllables (" (RHJ?)?([^baA ]*)(b?b?n?a?n?A?) " | (1 (cond ("RHJ" = =) ("RH" :otf=knda=rphf+))) (2 (cond ("(.H)J?(.*)" (1 :otf=knda=half+) (2 lang-forms *)) (".+" lang-forms *))) (3 = *) |) ("." =)) *) (lang-forms (cond ("(.H)J" (1 :otf=knda=half+)) (".H" :otf=knda=blwf,half+) ("." =))) ) ;; Stage 4 ;; Final reordering #1 (Move before-subscript matras) (generator (0 (cond (" ([^B ]*[^BJ])J?(B*)(bb?n?)([^ ]*) " | (1 = *) (3 = *) (2 = *) (4 = *) |) ("." =)) *)) ;; Stage 5 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 (" (r)([^H ]+HJ?)([^ ]*) " | (2 = *) (1 =) (3 = *) |) ;; A reph without explicit halant ;; 1 2 3 (" (r)([^A ]+)(A)? " | (2 = *) (1 =) (3 =) |) ("." =)) *)) ;; Stage 6 ;; Nukta for matra and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=knda=nukt,pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 7 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 8 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=knda=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2004, 2007, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: MYMR-MYAZEDI.flt000064400000021736147633214350007160 0ustar00;; MYMR-MYAZEDI.flt -- Font Layout Table for Myanmar (Zedi font) ;; Copyright (C) 2004, 2005, 2006, 2007, 2008 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter mymr-myazedi nil (font (nil myazedi_m17n unicode-bmp))) ;;;
  • MYMR-MYAZEDI.flt ;;; ;;; For the Myanmar Zedi family fonts to draw Myanmar script. ;;; ;; 1st stage ;; Extract syllable while detecting Kinzi, substituting subscripts, ;; and removing Halants. (category (0x1000 0x107F ?O) ; other (0x1000 0x1021 ?C) ; consonant except for c, K, n, M (0x1000 0x1003 ?c) ; consonant that has subscript form (0x1004 ?K) ; consonant NGA (0x1005 0x1008 ?c) (0x100B 0x100C ?c) (0x100F 0x1019 ?c) (0xE014 ?c) (0xE01B ?c) (0x1014 ?n) ; consonant NA (0x101C ?c) ;; cosonants that can be a Medial (0x101A ?M) ; medial Ya (0x101B ?M) ; medial Ra (0x101D ?M) ; medial Wa (0x101F ?M) ; medial Ha (0x1021 0x102A ?I) ; independent vowel (0x102C 0x1032 ?V) ; dependent Vowel (0x1036 ?A) ; sign ANUSVARA (0x1037 0x1038 ?S) ; other sign (0x1039 ?H) ; HALANT (VIRAMA) (0x200C ?N) ; ZWNJ (Zero Width Non Joiner) (0x200D ?J) ; ZWJ (Zero Width Joiner) ) (generator (0 (cond ;; The following regular expression matches a graphme cluster pattern ;; described in Table 10-3 of the Unicode Standard 4.0 except for ;; Kinzi which is encoded by the sequence "U+1004 U+1039 U+200D". ;; ;;<-1-><---------2--------><--4--><--6---><7-><8-> ;; <---3---> <5-> ("(KHJ)([CcnKMr](H[CcnK])?)((HM)*)(V*A?H?)(N)?(S*)" | < (1 0xE390) (2 consonant) (4 remove-halant *) (6 = *) (7) (8 = *) > |) ;; Irregular independent Kinzi ("KHJ" [ 0xE390 ]) ;; Cluster without Kinzi ("([CcnKMr](H[CcnK])?)((HM)*)(V*A?H?)(N)?(S*)" | < (1 consonant) (3 remove-halant *) (5 = *) (6) (7 = *) > |) ;; Fixme: I'm not sure about the syllable pattern for an ;; independent vowel. ("IV*[AS]*" | < = * > |) ;; Treat anything else as a single character. ("." [ = ])) *) (consonant (cond ((0x100B 0x1039 0x100C) 0xE10C) ((0x100D 0x1039 0x100D) 0xE00D) ((0x100E 0x1039 0x100D) 0xE10D) ((0x100F 0x1039 0x100D) 0xE20D) ((0x101E 0x1039 0x101E) 0xE01E) ("(n)H([cn])" 0xE140 (2 subscript)) ("(.)H([cn])" (1 =) (2 subscript)) ("(.)H(.)" (1 =) (2 =)) ("." =))) (subscript (cond ((range 0x1000 0x101C) 0xE000))) (remove-halant (cond ((0x1039)) ("." =)))) ;; 2nd stage ;; Handle medials. (category (0x1000 0x107F ?O) ; other (0x1000 0x1021 ?W) ; wide consonant (0x1001 0x1002 ?S) ; single-width consonant (0x1004 0x1005 ?S) (0x1007 0x1008 ?S) (0x100B 0x100E ?S) (0x1012 0x1017 ?S) (0x1019 ?S) (0x101A ?a) ; medial Ya (0x101B ?b) ; medial Ra (0x101D ?d) ; medial Wa (0x101F ?f) ; medial Ha (0x1020 ?S) (0x102D 0x102E ?V) ; dependent vowel (upper) (0x1032 ?V) (0x200C ?N) ; ZWNJ (0xE000 0xE3FF ?O) (0xE000 0xE01E ?w) ; wide subscript (0xE001 0xE002 ?s) ; single-width subscript (0xE005 ?s) (0xE007 ?s) (0xE00B ?s) (0xE012 0xE017 ?s) (0xE019 ?s) (0xE10C 0xE10D ?s) (0xE140 ?s) (0xE20D ?w) (0xE390 ?K) ; Kinzi ) (generator (0 (cond (" (K)?([WSabdfws][WSKws]?[abdf][abdf]*[^ ]*) " | (1 =) (2 medial = *) |) (" ([^ ]*) " = *) ("." =)) *) (medial (cond ;; Medial Ya (U+101A) ("(..?)adf" (1 = *) 0xE1A2) ("(..?)ad" (1 = *) 0xE1A4) ("(..?)af" (1 = *) 0xE1A3) ("(..?)a" (1 = *) 0xE1A1) ;; Medial Ra (U+101B) ("([Waf]|.[Ww])bdf" 0xE1BA (1 = *)) ("(..?)bdf" 0xE1B9 (1 = *)) ("([Waf]|.[Ww])bd" 0xE1B8 (1 = *)) ("(..?)bd" 0xE1B7 (1 = *)) ("([Waf]|.[Ww])b(f)?(V)" 0xE1B6 (1 = *) (2 0xE1F3) (3 =)) ("(..?)b(f)?(V)" 0xE1B5 (1 = *) (2 0xE1F3) (3 =)) ;; Single-width consonant + a wide subscript + Medial Ra. ;; To use glyph E1B4, we must shift the single-width consonant to ;; the right. ("([Sd][Ww])b" 0xE1B4 Br>32Bl (1 = *)) ("([Waf].|.[Ww])b" 0xE1B4 (1 = *)) ("(s|..)b" 0xE1B3 (1 = *)) ("([Waf])b(f)?" 0xE1B2 (1 = *) (2 0xE1F3)) ("(.)b(f)?" 0xE1B1 (1 = *) (2 0xE1F3)) ;; Medial Wa (U+101D) ("(..?)df" (1 = *) 0xE1D1) ("(..?)d" (1 = *) 0xE01D) ;; Medial Ha (U+101F) ((0x100A 0x101F) 0x100A 0xE1F3) ("(..?)f" (1 = *) 0xE1F1)))) ;; 3rd stage ;; Reorder Kinzi and Vowel E. Handle Kinzi-vowel combination. (category (0x1000 0x107F ?O) (0x1000 0x1021 ?C) ; Consonants except for c (0x1001 0x1002 ?c) ; Consonants affecting the shape of (0x1004 ?c) ; the following vowel U+102C (0x1012 ?c) (0x1015 ?c) (0x101D ?c) (0x1008 ?b) (0x100A 0x100D ?b) (0x1020 ?b) (0x1025 ?b) (0x102C ?A) ; Vowel AA (0x102D ?i) ; Vowel I (0x102E ?I) ; Vowel II (0x102F ?u) ; Vowel U (0x1030 ?U) ; Vowel UU (0x1031 ?e) ; Vowel E (0x1032 ?V) ; Vowel AI (0x1036 0x1038 ?D) (0x1039 ?H) (0x200C ?N) (0x200D ?J) (0xE000 0xE3FF ?O) (0xE000 0xE01D ?b) (0xE140 ?B) (0xE1A1 0xE1B0 ?b) (0xE1B1 0xE1BA ?B) (0xE1D1 0xE1F1 ?B) (0xE20D ?b) (0xE390 ?K) ; Kinzi ) (generator (0 (cond (" K([CcbB]*)(e)([^ ]*) " | (2 =) (1 = *) (3 kinzi-vowel = *) |) (" K([CcbB]*)([^ ]*) " | (1 = *) (2 kinzi-vowel = *) |) (" ([CcbB]*)(e)([^ ]*) " | (2 =) (1 = *) (3 = *) |) (" ([^ ]*) " = *) ("." =)) *) (kinzi-vowel (cond ((0x102D) 0xE391) ((0x102E) 0xE391) ((0x1036) 0xE393) 0xE390))) ;; 4th stage ;; Various glyph substitions. (generator (0 (cond (" ([^ ]*) " | (1 (cond ;; Consonant substituion. ((0x1009 0x1039) 0x1025 0x1039) ((0x1009 0xE005) 0xE109 Br>5Bl 0xE005) ;; ((0x101B 0x102F) 0xE01B 0x102F) ;; ((0x101B 0x1030) 0xE01B 0x1030) ;; ((0x1014 0x102F) 0xE140 0x102F) ;; ((0x1014 0x1030) 0xE140 0x1030) ;; ;; Sign substituion. ;; ((0x102F 0x1037) 0x102F 0xE137) ;; ((0x1030 0x1037) 0x1030 0xE137) ;; ((0xE01D 0x1037) 0xE01D 0xE137) ;; ((0xE1A1 0x1036 0x1037) 0xE1A1 0x1036 0xE137) ;; ((0xE1A1 0x1032 0x1037) 0xE1A1 0x1032 0xE137) ;; ((0xE01D 0x1032 0x1037) 0xE01D 0x1032 0xE137) ;; ((0xE01D 0x1036 0x1037) 0xE01D 0x1036 0xE137) ;; Vowel substituion. ((0xE1F1 0x102F) 0xE1F2) ((0xE1F1 0x102D 0x102F) 0xE1F2 0x102D) ((0xE1F1 0x102E 0x102F) 0xE1F2 0x102E) ((0xE1F1 0x1032 0x102F) 0xE1F2 0x1032) ("BcK?A" = = = =) ("cAH" = 0xE02D) ("cA" = 0xE02C) ("cKA" = = Br>Bl 0xE02C) ((0x1012 0xE012 0x102C 0x1039) = = 0xE02D) ((0x1012 0xE01D 0x102C 0x1039) = = 0xE02D) ((0x1012 0xE012 0x102C) = = 0xE02C) ((0x1012 0xE01D 0x102C) = = 0xE02C) ((0x102D 0x1036) 0xE2D1) ("([bB][^u]*)u" (1 = *) 0xE2F1) ("([bB][^u]*)U" (1 = *) 0xE2F2) ("." =)) *) |) ("." =)) *)) ;; 5th stage ;; Adjust below characters (U+102F, U+1037, etc) (category (0x1000 0x107F ?O) (0x200C 0x200D ?O) (0xE000 0xE3FF ?O) (0x1014 ?T) ; tall consonant (substituted) (0x101B ?T) (0x102F 0x1030 ?B) ; below position (substitute tall one) (0x1037 ?b) ; shift to right (0xE01D ?B) (0xE1A1 ?B) (0xE1D1 ?B) (0xE1B1 0xE1BA ?L) (0xE1F1 0xE1F2 ?B) (0xE2F1 0xE2F2 ?L) ; has lower part ) (generator (0 (cond (" ([^ ]*) " | (1 (cond ("(T)(B)([OL])?(b)?" (1 (cond ((0x1014) 0xE140) ((0x101B) 0xE01B))) (2 =) (3 = *) (4 0xE137)) ("([TBL])(O*)?(b)" (1 =) (2 = *) (3 0xE137)) ("." =)) *) |) ("OO*" = *) ("." =)) *)) ;; 6th stage ;; Adjust conbination of normal consonant and wide subconsonant. (category (0x1000 0x107F ?O) (0x200C 0x200D ?O) (0xE000 0xE3FF ?O) (0x1001 0x1002 ?n) (0x1004 0x1005 ?n) (0x1007 ?n) (0x100E ?n) (0x1012 0x1013 ?n) (0x1015 0x1017 ?n) (0x1019 ?n) (0x101D ?n) (0xE000 ?w) (0xE003 ?w) (0xE006 ?w) (0xE00C ?w) (0xE00F ?w) (0xE010 0xE011 ?w) (0xE018 ?w)) (generator (0 (cond (" (n)(w)([^ ]*) " \[ (1 =) (2 Br>17Bl =) (3 = *)) (" ([^ ]*) " (1 = *)) ("." =)) *)) ;; Copyright (C) 2004, 2005, 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. ;; Local Variables: ;; mode: emacs-lisp ;; coding: utf-8 ;; End: KHMR-OTF.flt000064400000012524147633214350006456 0ustar00;; KHMR-OTF.flt -- Font Layout Table for Khmer OpenType fonts ;; Copyright (C) 2005, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter khmr-otf nil (font (nil nil unicode-bmp :otf=khmr=pres))) ;;;
  • KHMR-OTF.flt ;;; ;;; For Khmer OpenType fonts to draw Khmer. ;;; A Font is available from ;;; . (category (0x1780 0x17FF ?E) ; E: else (0x19E0 0x19FF ?E) (0x1780 0x17B3 ?C) ; C: consonant & independent vowel (0x179A ?R) ; R: RO (0x17B6 ?p) ; p: vowel sign (post) (0x17B7 0x17BA ?a) ; a: vowel sign (above) (0x17BB 0x17BD ?b) ; b: vowel sign (below) (0x17BE ?A) ; A: vowel sign (two-part, above) (0x17BF 0x17C0 ?P) ; P: vowel sign (two-part, post) (0x17C1 0x17C3 ?m) ; m: vowel sign (pre) (0x17C4 0x17C5 ?P) (0x17C6 ?s) ; s: sign (above) (0x17C7 0x17C8 ?S) ; S: sign (post) (0x17C9 0x17CA ?c) ; c: consonant shifter (0x17CB 0x17D1 ?s) (0x17CC ?r) ; r: ROBAT (0x17D2 ?H) ; H: COENG (0x17D3 ?s) (0x17DD ?s) (0x200C ?N) ; N: ZERO WIDTH NON-JOINER (0x200D ?J) ; J: ZERO WIDTH JOINER ) ;; Generic syllable pattern is as follows. ;; [CR](r|N?c)?(HCr?)*(HR)?(HCr?)*[NJ]?(m|b|a|A|p|P)?s*S?(H[CR])? ;; Step 0. ;; Move m to the beginning. ;; Split A and P. ;; Exchange the order of pP and s. ;; Move HR before the base. (generator (0 (cond ;; pre vowel sign ;;1 2 3 4 5 67 8 9 10 ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?)(m)(s*S?(H[CR])?)" < | (8 =) (4 = =) (1 = *) (5 =) (6 = *) (9 = *) | > ) ;; two-part above vowel sign ;;1 2 3 4 5 67 8 ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?As*S?(H[CR])?)" < | 0x17C1 (4 = =) (1 = *) (5 =) (6 = *) | > ) ;; post vowel sign ;;1 2 3 4 5 67 8 9 10 11 ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?)(p)(s*)(S?(H[CR])?)" < | (4 = =) (1 = *) (5 =) (6 = *) (9 = *) (8 =) (10 = *) | > ) ;; two-part post vowel sign ;;1 2 3 4 5 67 8 9 10 11 ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?)(P)(s*)(S?(H[CR])?)" < | 0x17C1 (4 = =) (1 = *) (5 =) (6 = *) (9 = *) (8 =) (10 = *) | > ) ;; other vowel signs or no vowel sign ;;1 2 3 4 5 67 8 ("([CR](r|N?c)?(HCr?)*)(HR(r)?)?((HCr?)*[NJ]?[b|a]?s*S?(H[CR])?)" < | (4 = =) (1 = *) (5 =) (6 = *) | > ) ("." =)) *)) ;; Now a syllable looks like below. ;; m?(HR)?[CR](r|N?c)?(HCr?)*[NJ]?(b|a|A)?s*(p|P)?S?(H[CR])? ;; Step 1. ;; Set the form of consonant shifter. (generator (0 (cond ;; shifter + above vowel sign without ZWNJ ;; Shifter take blwf. HR takes pref. HC's take blwf or pstf. ;; 1 2 3 4 5 6 7 8 (" (m)?(HR)?([CR]c(HCr?)*(N|J)?(a|A))(s*S?)(H[CR])? " | (1 =) (2 otf:khmr=pref+) (3 otf:khmr=blwf,abvf,pstf+) (7 = *) (8 otf:khmr=blwf,pstf+) | ) ;; shifter + ZWNJ + above vowel sign, or, shifter without above vowel sign ;; Shifter stays above. HR takes pref. HC's take blwf or pstf. ;; 1 2 3 45 6 7 8 9 10 11 (" (m)?(HR)?([CR]N?c)((HCr?)*)([NJ]?[ba]?)(A)?(s*p?)(P)?(S)?(H[CR])? " | (1 =) (2 otf:khmr=pref+) (3 = *) (4 otf:khmr=blwf,pstf+) (6 = *) (7 otf:khmr=abvf+) (8 = *) (9 otf:khmr=pstf+) (10 =) (11 otf:khmr=blwf,pstf+) | ) ;; no shifter ;; 1 2 3 45 6 7 8 9 10 11 (" (m)?(HR)?([CR]r?)((HCr?)*)([NJ]?[ba]?)(A)?(s*p?)(P)?(S)?(H[CR])? " | (1 =) (2 otf:khmr=pref+) (3 = *) (4 otf:khmr=blwf,pstf+) (6 = *) (7 otf:khmr=abvf+) (8 = *) (9 otf:khmr=pstf+) (10 =) (11 otf:khmr=blwf,pstf+) | ) ("." =)) *)) ;; Now a syllable looks like below. ~ characters are OTF feature applied. ;; m?(HR)?[CR](r|c)?(HCr?)*[NJ]?(b|a|A)?s*(p|P)?S?(H[CR])? ;; ~~ ~~ ~ ~~~~ ~ ~ ~~~~~ ;; Step 2. ;; Concatenate adjacent Khmer syllables. ;; Remove J. Retain N to prevent ligature. (generator (0 (cond (" ") ("J") ("." =)) *)) ;; Step 3. ;; Apply other OTF features. (generator (0 (cond (" ([^ ]*) " (1 otf:khmr=pres,blws,abvs,psts,clig)) ("." [ = ])) *)) ;; Step 4. ;; Remove N to clean up. (generator (0 (cond ("N") ("." =)) *)) ;; Copyright (C) 2005, 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: SINH-OTF.flt000064400000005650147633214350006460 0ustar00;; SINH-OTF.flt -- Font Layout Table for Sinhala OpenType fonts ;; Copyright (C) 2004, 2005, 2007, 2008, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter sinh-otf nil (font (nil nil unicode-bmp :otf=sinh))) ;;;
  • SINH-OTF.flt ;;; ;;; For Sinhala OpenType fonts to draw Sinhala. ;;; A Font is available from . (category (0x0D80 0x0DFF ?x) (0x0D82 0x0D83 ?A) (0x0D85 0x0D96 ?V) (0x0D9A 0x0DC6 ?C) (0x0DCA ?H) (0x0DCF 0x0DD1 ?p) (0x0DD2 0x0DD3 ?u) (0x0DD4 0x0DD6 ?b) (0x0DD8 ?p) (0x0DD9 ?m) (0x0DDB ?m) (0x0DDF ?p) (0x0DF2 0x0DF3 ?p) (0x200D ?J) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose multi-part vowel signs. ((0x0DDA) 0x0DD9 0x0DCA) ((0x0DDC) 0x0DD9 0x0DCF) ((0x0DDD) 0x0DD9 0x0DCF 0x0DCA) ((0x0DDE) 0x0DD9 0x0DDF) ("." =)) *)) ;; Step 1 ;; Syllable identification and matra reordering (generator (0 (cond ;; Consonant-based syllables ;;1 2 3 4 ("(C(HJC)*)(mm?)?(u?b?p?H?A?)" < | (3 = *) (1 = *) (4 = *) | >) ;; Syllables with an independent vowel ("VA?" < | = * | >) ;; Combining marks are displayed with a DOTTED CIRCLE. ((0x0DD9 0x0DCA) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0DDA ]))) ((0x0DD9 0x0DCF 0x0DCA) (cond ((font-facility 0x25CC) < = 0x25CC = = >) (".+" [ 0x0DDD ]))) ((0x0DD9 0x0DCF) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0DDC ]))) ((0x0DD9 0x0DDF) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x0DDE ]))) ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[AHubp]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("." [ = ])) *)) ;; Step 2 : OTF substitutions. (generator (0 (cond (" ([^ ]+) " (1 :otf=sinh=akhn,vatu,liga,pres,abvs,blws,psts)) ("." = )) *)) ;; Copyright (C) 2004, 2005, 2007, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: th-pattachote.mim000064400000013327147633214350010033 0ustar00;; th-pattachote.mim -- Thai input method with Pattachote keyboard layout ;; Copyright (C) 2006, 2007, 2008, 2009 ;; 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 St, Fifth Floor, Boston, MA ;; 02110-1301, USA. (input-method th pattachote) (description "Thai input method simulating the Pattachote keyboard with WTT 2.0 input sequence correction. The correction algorithm follows the one shown in the following ") (title "ท") (variable (level (_"Acceptance level The level of character sequence acceptance defined in WTT 2.0. 0 accepts any key sequence. 2 accepts only orthographic ones. 1 is somewhere between.") 1 0 1 2)) (include (th kesmanee) macro) (map (map ("!" "+") ("\"" "ฑ") ("#" "/") ("$" ",") ("%" "?") ("&" "_") ("'" "ข") ("(" "(") (")" ")") ("*" ".") ("+" "%") ("," "ะ") ("-" "๑") ("." "จ") ("/" "พ") ("0" "๐") ("1" "=") ("2" "๒") ("3" "๓") ("4" "๔") ("5" "๕") ("6" "ู") ("7" "๗") ("8" "๘") ("9" "๙") (":" "ฆ") (";" "ไ") ("<" "ฟ") ("=" "๖") (">" "ฉ") ("?" "ฬ") ("@" "\"") ("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" "้") ("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" "บ") ("{" "ฯ") ("|" "ํ") ("}" "ฦ") ("~" "฿"))) (state (init (map (delete @<) (pushback 1) (shift main))) (main (map (set x @-3) (set y @-2) (set z @-1) (set arg1 y) (set arg2 z) (cp) (cond ((= ret 1)) ;; CP(y,z) succeeded. (1 (ac) (cond ((= ret 1)) ;; AC(y,z) succeeded. (1 ;; WTT-based input sequence correction starts here. ;; begin ;; if CP(x,z) then (set arg1 x) (set arg2 z) (cp) (cond ((= ret 1) ;; if CP(z,y) then (set arg1 z) (set arg2 y) (cp) (cond ((= ret 1) ;; reorder(y -> zy) (delete @-2) (insert z) (insert y)) ;; elif CP(x,y) then (1 (set arg1 x) (set arg2 y) (cp) (cond ((= ret 1) ;; replace(y -> z) (delete @-2) (insert z)) ;; elif y is FV1 and z is TONE then ((& (| (= y 0x0E30) (= y 0x0E32) (= y 0x0E33)) (>= z 0x0E48) (<= z 0x0E4B)) ;; reorder(y -> zy) (delete @-2) (insert z) (insert y)) ;; else ;; reject(z) (1 (delete @-1)) ;;endif )))) ;; elif AC(x,z) then (1 (set arg1 x) (set arg2 z) (ac) (cond ((& (= ret 1) ;; Only Thai characters should be replaced. (& (>= y 0x0E01) (<= y 0x0E5B)) (& (>= z 0x0E01) (<= z 0x0E5B))) ;; replace(y -> z) (delete @-2) (insert z)) ;; else ;; reject(z) (1 (delete @-1)) ;; endif ))) ;; end )))) ;; Now we commit the preedit chars that are fixed. (set w @-1) (cond ;; If surrounding text is supported, commit the only char in preedit. ((> @-0 -2) (commit)) ;; If the last char is CTRL or NON, we can commit everything. ((| (& (>= w 0x0000) (<= w 0x0E00)) (= w 0x0E2F) (= w 0x0E3F) (= w 0x0E46) (>= w 0x0E4F)) (commit)) ;; If the last char is CONS, we can commit everything but the last ;; unless the second last is FV3. ((| (& (>= w 0x0E01) (<= w 0x0E23)) (= w 0x0E25) (& (>= w 0x0E27) (<= w 0x0E2E))) (cond ((| (= @-2 0x0E24) (= @-2 0x0E26)) ; not commit yet ) (1 (delete @-1) (commit) (insert w)))) ;; If the last char is LV, FV2 or FV3, we can commit ;; everything but the last. ((| (& (>= w 0x0E40) (<= w 0x0E45)) (= w 0x0E24) (= w 0x0E26)) (delete @-1) (commit) (insert w)) ;; If the last char is FV1 (excluding AM) and ... ((| (= w 0x0E30) (= w 0x0E32)) (delete @-1) (set v @-1) (cond ;; ... the before last is CONS, we can commit other than the ;; last two. ((| (& (>= v 0x0E01) (<= v 0x0E23)) (= v 0x0E25) (& (>= v 0x0E27) (<= v 0x0E2E))) (delete @-1) (commit) (insert v) (insert w)) ;; ... else if the before last is not CONS, we can commit ;; everything but the last. (1 (commit) (insert w)))) )))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: si-wijesekera.mim000064400000042332147633214350010026 0ustar00;; si-wijesekera.mim -- Sinhala input method with wijesekera method ;; Copyright (C) 2005, 2006, 2008, 2009, 2011 ;; 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 (version "1.6.0")) (description "Sinhala input method based on SLS 1134 Rev. 2:2004. Although this code supports both surrounding text and preedit, the former is disabled by default to avoid confusion caused by faulty applications. ") (title "සි") (variable (use-surrounding-text (_"Surrounding text vs. preedit. If 1, try to use surrounding text. Otherwise, use preedit.") 0 1 0)) (macro ;; skip following (virama zwj consonant)* sequence (forward (set cc3 @+2) (cond ((& (= @+0 0x0DCA) (= @+1 0x200D) (>= cc3 0x0D9A) (<= cc3 0x0DC6)) (delete @+3) 0x0DCA 0x200D (insert cc3) (forward)))) (backward (set cc1 @-1) (cond ((& (= @-3 0x0DCA) (= @-2 0x200D) (>= cc1 0x0D9A) (<= cc1 0x0DC6)) (delete @-3) 0x0DCA 0x200D (insert cc1) (move @<) (backward)))) (delete-preceding-zw (cond ((| (= @-1 0x200C) (= @-1 0x200D)) (delete @-1) (delete-preceding-zw)))) (delete-following-zw (cond ((| (= @+0 0x200C) (= @+0 0x200D)) (delete @+1) (delete-following-zw)))) (merge-kombuva (delete @-1) (delete @+2) (insert c1))) (map (starter ("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") ("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-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 ((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 ) (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))) ;; 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)))) (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" "\"") ) (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 @>)) ) (kombuva ("f" "ෙ")) ; 0DD9 (join ("\\")) (backspace ((BackSpace)))) (state (init (starter (pushback 1) (cond ((& (= use-surrounding-text 1) (= @-0 -1)) (shift surrounding-text)) (1 (shift preedit))))) (surrounding-text (consonant (move @<) (cond ((= @-1 0x0DD9) (cond ((= @-2 0x200C) (delete @-2) (move @>) 0x0DD9) ((| (< @-2 0x0D9A) (> @-2 0x0DC6)) (delete @-1) (move @>) 0x0DD9))) ((= @-1 0x0DDB) (cond ((= @-2 0x200C) (delete @-2) (move @>) 0x0DDB) ((| (< @-2 0x0D9A) (> @-2 0x0DC6)) (delete @-1) (move @>) 0x0DDB)))) (commit)) (misc (commit)) (join (shift join))) (join (consonant (move @<) (set c @-1) (cond ((| (= c 0x0DD9) (= c 0x0DDB)) (cond ((& (>= @-2 0x0D9A) (<= @-2 0x0DC6)) (delete @-1) 0x0DCA 0x200D (move @>) (insert c)))) ((& (>= c 0x0D9A) (<= c 0x0DC6)) 0x0DCA 0x200D)) (commit) (shift surrounding-text)) (nil (commit) (shift surrounding-text))) (preedit (independent (shift independent-state)) (kombuva (shift kombuva-state)) (dependent) (nil (unhandle))) (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 preedit)))) (kombuva (mark p) (cond ((& (= @0 0x0DD9) (< @2 0)) (delete @<) "ෛ") ; 0DDB (1 (delete @-) (pushback 1) (shift preedit)))) (dependent (mark p)) (backspace (undo)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: BENG-OTF.flt000064400000016505147633214350006433 0ustar00;; BENG-OTF.flt -- Font Layout Table for Bengali OpenType fonts ;; Copyright (C) 2004, 2007, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter beng-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=beng))) ;;;
  • BENG-OTF.flt ;;; ;;; For Bengali OpenType fonts to draw the Bengali script. ;; After-base glyph order for rendering: ;; 1. below form consonants ;; 2. below matra ;; 3. reph ;; 4. candrabindu (0981) ;; 5. post form consonants ;; 6. post matra ;; 7. anusvara (0982) and visarga (0983) (category ;; X: generic ;; V: independent vowel ;; C: consonant ;; B: BA ;; Y: YA ;; R: RA ;; T: KHANDA TA ;; n: NUKTA ;; H: HALANT ;; m: vowel sign (pre) ;; b: vowel sign (below) ;; p: vowel sign (post) ;; a: vowel modifier (above) ;; A: vowel modifier (post) ;; N: ZWNJ ;; J: ZWJ (0x0980 0x09FF ?X) ; generic (0x0981 ?a) ; SIGN CANDRABINDU (0x0982 0x0983 ?A) ; SIGN ANUSVARA .. VISARGA (0x0985 0x0994 ?V) ; LETTER A .. AU (0x0995 0x09B9 ?C) ; LETTER KA .. HA (0x09AC ?B) ; LETTER BA (0x09AF ?Y) ; LETTER YA (0x09B0 ?R) ; LETTER RA (0x09BC ?n) ; SIGN NUKTA (0x09BE ?p) ; VOWEL SIGN AA (0x09BF ?m) ; VOWEL SIGN I (0x09C0 ?p) ; VOWEL SIGN II (0x09C1 0x09C4 ?b) ; VOWEL SIGN U .. RR (0x09C7 0x09C8 ?m) ; VOWEL SIGN E .. AI (0x09CD ?H) ; SIGN VIRAMA (0x09CE ?T) ; LETTER KHANDA TA (0x09D7 ?p) ; AU LENGTH MARK (0x09DC 0x09DF ?C) ; LETTER RRA .. YYA (0x09E0 0x09E1 ?V) ; LETTER VOCALIC RR, LL (0x09E2 0x09E3 ?b) ; VOWEL SIGN L .. LL (0x09F0 ?R) ; LETTER RA WITH MIDDLE DIAGONAL (0x09F1 ?C) ; LETTER RA WITH LOWER DIAGONAL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) (pstf ?P) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x09CB) 0x09C7 0x09BE) ((0x09CC) 0x09C7 0x09D7) ;; Many fonts still do not have KHANDA-TA. ((0x09CE) (cond ((font-facility 0x09CE) =) (".+" 0x09A4 0x09CD 0x200D))) ;; consonant + NUKTA ((0x09A1 0x09BC) 0x09DC) ((0x09A2 0x09BC) 0x09DD) ((0x09AF 0x09BC) 0x09DF) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?(Vn?)((J?H[BYR])?m?b?p?n?a?A?)" < | (1 = =) (2 :otf=beng=nukt+) (3 = *) | >) ;; KHANDA-TA combines only with reph. ("(RH)?(T)" < (2 =) (1 :otf=beng=rphf+) >) ;; Consonant-based syllables ;;1 23 4 ("([CBYR]n?((J?H|HJ?)[CBYR]n?)*)(H[NJ]?|m?([NJ]?b)?p?n?a?A?)" < | (cond (".+HJ$" :otf=beng=nukt,akhn+) ("(.+)(H)N?$" (1 :otf=beng=nukt,akhn+) (2 =) 0x200C) (".+" :otf=beng=nukt,akhn+)) | >) ;; Two-part vowel signs ((0x09C7 0x09BE) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x09CB ]))) ((0x09C7 0x09D7) (cond ((font-facility 0x25CC) < = 0x25CC = >) (".+" [ 0x09CC ]))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHbpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ;; Isolated blwf and pstf are displayed with a DOTTED CIRCLE in the ;; next stage. ("(J)(H)([BYR])" < | (1 =) (3 =) (2 =) | >) ("." =)) *)) ;; Stage 2 ;; Reorder halant for blwf and pstf (generator (0 (cond ;; Isolated blwf and pstf (" J([BYR]H) " (cond ((font-facility 0x25CC) < 0x25CC (1 :otf=beng=blwf,pstf+) >) (" J([BYR]H) " [ (1 :otf=beng=blwf,pstf+) ]))) ;; Syllables with an overt halant (" (RHJ?)?([^ ]+)(HN) " | (1 = *) (2 reorder) (3 = =) |) ;; Syllables with a below matra (" (RHJ?)?([^mbpaA ]*[^mbpaANJ ])(m?[NJ]?bp?n?a?A?) " | (1 = *) (2 reorder) (3 = *) |) ;; Other syllables (" (RHJ?)?([^mbpaA ]+)(m?p?n?a?A?) " | (1 = *) (2 reorder) (3 = *) |) ("." =)) *) (reorder ("(.|.+([^YJ]|JY|HJ))((J?HY)*)$" (1 reorder-BR *) (3 reorder-Y *))) ;; Unlike Devanagari and Gujarati, vattu in Bengali does not have a ;; half form. Therefore the sequence CHRHC can be safely reordered ;; to CRHHC. Same for CHBHC. (reorder-BR (cond ("J?(H)([BR])" (2 =) (1 =)) ("." =))) (reorder-Y ("J?(H)(Y)" (2 =) (1 =))) ) ;; Stage 3 ;; Language forms and matra reordering (generator (0 (cond ;; Overt halant forms (" (RHJ?)?([^ ]+)(HN) " | (1 (cond ("RHJ" :otf=beng=half+) ("RH" :otf=beng=rphf+))) (2 b4post) (2 post) (3 = =) |) ;; Syllables with a below matra ;; 1 2 3 4 5 (" (RHJ?)?([^mb]*[^mbNJ])(mn?)?([NJ]?bn?)(p?n?a?A?) " | (3 = *) (1 (cond ("RHJ" :otf=beng=half+) ("RH" :otf=beng=rphf+))) (2 b4post) (4 = *) (2 post) (5 = *) |) ;; Other syllables ;; 1 2 3 4 (" (RHJ?)?([^mpaA ]*)(mn?)?(p?n?a?A?) " | (3 = *) (1 (cond ("RHJ" :otf=beng=half+) ("RH" :otf=beng=rphf+))) (2 b4post) (2 post) (4 = *) |) ("." =)) *) (b4post (cond ("(.H)J?(.*)" (1 :otf=beng=half+) (2 ("(.|.+([^YH]|JY|[BR]H))((YH)*)$" (1 lang-forms *)))) ("(.|.+([^YH]|JY|[BR]H))((YH)*)" (1 lang-forms *)))) (lang-forms (cond ("(.H)J" (1 :otf=beng=half+)) (".H" :otf=beng=blwf,half,vatu+) ("." =))) (post ("(.|.+([^YH]|JY|[BR]H))((YH)+)$" (3 :otf=beng=pstf+))) ) ;; Stage 4 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 5 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^HP ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^PpaA ]+)(P*(HN)?p?n?a?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 6 ;; Nukta for matra and Presentation forms (generator (0 (cond (" (mn?)?([^ ]+) " | (1 :otf=beng=nukt,init+) (2 :otf=beng=nukt,pres,abvs,blws,psts,haln+) |) ("." =)) *)) ;; Stage 7 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 8 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=beng=+abvm,blwm,dist)) ("." =)) *)) ;; Copyright (C) 2004, 2007, 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: MLYM-RACHANA.flt000064400000007350147633214350007101 0ustar00;; MLYM-RACHANA.flt -- Font Layout Table for Malayalam Rachana font ;; Copyright (C) 2005, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter mlym-rachana nil (font (nil rachana unicode-bmp))) ;;;
  • MLYM-RACHANA.flt ;;; ;;; For the Rachana Malayalam fonts to draw the traditional Malayalam ;;; script. This fonts handles virtually all ligatures with the AKHN ;;; feature without character reordering. ;; The first stage is to extract a syllable and re-order characters. (category ;; C: consonant ;; H: HALANT ;; m: MATRA (Mpre) ;; p: MATRA (Mpost) ;; t: MATRA (two-part: Mpre+Mpost) ;; A: vowel modifier (post) (ANUSVARA and VISARGA) ;; V: independent vowel ;; E: else (all other independnt characters) (0x0D00 0x0D7F ?E) ; else (0x0D02 0x0D03 ?A) ; ANUSVARA & VISARGA (0x0D05 0x0D14 ?V) ; independent vowel (0x0D15 0x0D39 ?C) ; consonant (0x0D3E 0x0D43 ?p) ; dependent vowel (Mpost) (0x0D46 0x0D48 ?m) ; dependent vowel (Mpre) (0x0D4A 0x0D4C ?t) ; dependent vowel (two-part) (0x0D4D ?H) ; VIRAMA (HALANT) (0x0D57 ?p) ; dependent vowel (Mpost) (0x0D60 ?V) ; VOCALIC RR (0x0D61 ?V) ; VOCALIC LL (0x0D7F ?x) ; Internal use (0x200C ?N) ; ZERO WIDTH NON-JOINER (0x200D ?J) ; ZERO WIDTH JOINER ) ;; Step 0. Syllable identification. (generator (0 (cond ;; Halant + ZWNJ -- forced explicit halant. ("((CH)*C)HN" < | (1 otf:mlym=akhn,psts,haln) 0x0D4D | >) ;; Halant + ZWJ -- forced cillaksaram. ("(CH)*(CH)J" < | (1 otf:mlym=akhn,psts,haln) (2 otf:mlym=haln) | >) ;; Pre-consonant vowel is temporarily moved to the leftmost ;; position to permit consonant ligature. ("((CH)*C)(m)(A?)" < | (3 =) (1 otf:mlym=akhn,psts,haln) 0x0D7F (4 =) | >) ;; Two-part vowel sign. ("((CH)*C)(t)(A?)" < | (3 pre) (1 otf:mlym=akhn,psts,haln) 0x0D7F (3 post) (4 =) | >) ;; Post-consonant vowel sign and/or vowel modifier. ("((CH)*C(pA?|A))" < | (1 otf:mlym=akhn,psts,haln) | >) ;; No vowel sign. ("((CH)*C(H?))" < | (1 otf:mlym=akhn,psts,haln) | >) ;; A syllable starting with an independent vowel. ("(VA?)" < | (1 = *) | >) ;; Other dedependent character. ("[Apmt]" [ = ]) ;; Other independent character. ("." =)) *) ;; Former part of two-part vowel sign. (pre (cond ((0x0D4A) 0x0D46) ((0x0D4B) 0x0D47) ((0x0D4C) 0x0D46))) ;; Latter part of two-part vowel sign. (post (cond ((0x0D4A) 0x0D3E) ((0x0D4B) 0x0D3E) ((0x0D4C) 0x0D57)))) ;; Step 1. Move Mpre to the left of base consonant(-cluster). (generator (0 (cond (" (m)([^x]*)([^x])x([^ ]*) " (2 = *) (1 =) (3 =) (4 = *)) ("." =)) *)) ;; Step 2. Finalise. (generator (0 (cond (" ([^ ]*) " (1 otf:mlym=+)) ("." =)) *)) ;; Copyright (C) 2005, 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: latn-pre.mim000064400000013322147633214350007003 0ustar00;; latn-pre.mim -- Latin input method with prefix modifiers ;; Copyright (C) 2004, 2005 ;; 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 General Public License as ;; published by the Free Software Foundation; either version 2, 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 General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with the m17n library; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Input method for Latin script with prefix modifiers. ;;; @image html latn-pre.png ;;; @image latex latn-pre.eps "Examples" width=\narrowwidth ;; | mark | prefix | examples ;; |------------+--------+---------- ;; | acute | ' | 'a -> á, '' -> ´ ;; | grave | ` | `a -> à `` -> ` ;; | circumflex | ^ | ^a -> â ^^ -> ^ ;; | diaeresis | " | "a -> ä "" -> ¨ ;; | tilde | ~ | ~a -> ã ;; | breve | ~ | ~g -> ğ ~` -> ˘ ;; | cedilla | ~ | ~c -> ç ~s -> ş ~~ -> ¸ ;; | caron | ~ | ~z -> ž ~ss -> š ;; | dot above | . / | .g -> ġ /g -> ġ ;; | misc | / | /a -> å /e -> æ /h -> ħ /o -> ø /oe -> œ ;; | misc | " ~ / | "s -> ß ~d -> ð ~t -> þ /a -> å /e -> æ /o -> ø ;; | symbol | ~ | ~> -> » ~< -> « ~! -> ¡ ~? -> ¿ ~~ -> ¸ ~$ -> £ ;; | symbol | ~ | ~- -> ­ ~. -> · ~= -> ¯ ~| -> ¦ ~sss -> § ;; | symbol | _ | _+ -> ± _: -> ÷ _o -> º _a -> ª _y -> ¥ ;; | symbol | ^ | ^1 -> ¹ ^2 -> ² ^3 -> ³ ^r -> ® ^cc -> © ;; | symbol | / | /2 -> ½ /3 -> ¾ /4 -> ¼ /= -> ?¬ ;; | symbol | / | /# -> £ /$ -> ¤ /c -> ¢ /. -> ˙ // -> ° /\ -> × (input-method t latn-pre) (description "Latin script input method using prefix modifiers. ;; | mark | prefix | examples ;; |------------+--------+---------- ;; | acute | ' | 'a -> á, '' -> ´ ;; | grave | ` | `a -> à `` -> ` ;; | circumflex | ^ | ^a -> â ^^ -> ^ ;; | diaeresis | \" | \"a -> ä \"\" -> ¨ ;; | tilde | ~ | ~a -> ã ;; | breve | ~ | ~g -> ğ ~` -> ˘ ;; | cedilla | ~ | ~c -> ç ~s -> ş ~~ -> ¸ ;; | caron | ~ | ~z -> ž ~ss -> š ;; | dot above | . / | .g -> ġ /g -> ġ ;; | misc | / | /a -> å /e -> æ /h -> ħ /o -> ø /oe -> œ ;; | misc | \" ~ / | \"s -> ß ~d -> ð ~t -> þ /a -> å /e -> æ /o -> ø ;; | symbol | ~ | ~> -> » ~< -> « ~! -> ¡ ~? -> ¿ ~~ -> ¸ ~$ -> £ ;; | symbol | ~ | ~- -> ­ ~. -> · ~= -> ¯ ~| -> ¦ ~sss -> § ;; | symbol | _ | _+ -> ± _: -> ÷ _o -> º _a -> ª _y -> ¥ ;; | symbol | ^ | ^1 -> ¹ ^2 -> ² ^3 -> ³ ^r -> ® ^cc -> © ;; | symbol | / | /2 -> ½ /3 -> ¾ /4 -> ¼ /= -> ?¬ ;; | symbol | / | /# -> £ /$ -> ¤ /c -> ¢ /. -> ˙ // -> ° /\\ -> × ") (title "Latin-pre") (map (trans ("''" ?´) ("'A" ?Á) ("'E" ?É) ("'I" ?Í) ("'O" ?Ó) ("'U" ?Ú) ("'W" ?Ẃ) ("'Y" ?Ý) ("'a" ?á) ("'e" ?é) ("'i" ?í) ("'o" ?ó) ("'u" ?ú) ("'w" ?ẃ) ("'y" ?ý) (".B" ?Ḃ) (".C" ?Ċ) (".D" ?Ḋ) (".F" ?Ḟ) (".G" ?Ġ) (".I" ?İ) (".M" ?Ṁ) (".P" ?Ṗ) (".S" ?Ṡ) (".T" ?Ṫ) (".Z" ?Ż) (".b" ?ḃ) (".c" ?ċ) (".d" ?ḋ) (".f" ?ḟ) (".g" ?ġ) (".m" ?ṁ) (".p" ?ṗ) (".s" ?ṡ) (".t" ?ṫ) (".z" ?ż) ("/ " ?/) ("/#" ?£) ("/$" ?¤) ("/." ?˙) ("//" ?°) ("/2" ?½) ("/3" ?¾) ("/4" ?¼) ("/=" ?¬) ("/A" ?Å) ("/E" ?Æ) ("/G" ?Ġ) ("/H" ?Ħ) ("/I" ?İ) ("/O" ?Ø) ("/OE" ?Œ) ("/Z" ?Ż) ("/\\" ?×) ("/a" ?å) ("/c" ?¢) ("/e" ?æ) ("/g" ?ġ) ("/h" ?ħ) ("/i" ?ı) ("/o" ?ø) ("/oe" ?œ) ("/z" ?ż) ("\" " ?\") ("\"A" ?Ä) ("\"E" ?Ë) ("\"I" ?Ï) ("\"O" ?Ö) ("\"U" ?Ü) ("\"W" ?Ẅ) ("\"Y" ?Ÿ) ("\"\"" ?¨) ("\"a" ?ä) ("\"e" ?ë) ("\"i" ?ï) ("\"o" ?ö) ("\"s" ?ß) ("\"u" ?ü) ("\"w" ?ẅ) ("\"y" ?ÿ) ("^ " ?^) ("^1" ?¹) ("^2" ?²) ("^3" ?³) ("^A" ?Â) ("^C" ?Ĉ) ("^E" ?Ê) ("^G" ?Ĝ) ("^H" ?Ĥ) ("^I" ?Î) ("^J" ?Ĵ) ("^O" ?Ô) ("^S" ?Ŝ) ("^U" ?Û) ("^W" ?Ŵ) ("^Y" ?Ŷ) ("^^" ?^) ("^a" ?â) ("^c" ?ĉ) ("^cc" ?©) ("^e" ?ê) ("^g" ?ĝ) ("^h" ?ĥ) ("^i" ?î) ("^j" ?ĵ) ("^o" ?ô) ("^r" ?®) ("^s" ?ŝ) ("^u" ?û) ("^w" ?ŵ) ("^y" ?ŷ) ("_+" ?±) ("_:" ?÷) ("_a" ?ª) ("_o" ?º) ("_y" ?¥) ("__" ?_) ("`A" ?À) ("`E" ?È) ("`I" ?Ì) ("`O" ?Ò) ("`U" ?Ù) ("`W" ?Ẁ) ("`Y" ?Ỳ) ("``" ?`) ("`a" ?à) ("`e" ?è) ("`i" ?ì) ("`o" ?ò) ("`u" ?ù) ("`w" ?ẁ) ("`y" ?ỳ) ("~ " ?~) ("~!" ?¡) ("~$" ?£) ("~-" ?­) ("~." ?·) ("~<" ?\«) ("~=" ?¯) ("~>" ?\») ("~?" ?¿) ("~A" ?Ã) ("~C" ?Ç) ("~D" ?Ð) ("~G" ?Ğ) ("~N" ?Ñ) ("~O" ?Õ) ("~S" ?Ş) ("~SS" ?Š) ("~T" ?Þ) ("~U" ?Ŭ) ("~Z" ?Ž) ("~`" ?˘) ("~a" ?ã) ("~c" ?ç) ("~d" ?ð) ("~e" ?€) ("~g" ?ğ) ("~n" ?ñ) ("~o" ?õ) ("~p" ?¶) ("~s" ?ş) ("~ss" ?š) ("~sss" ?§) ("~t" ?þ) ("~u" ?ŭ) ("~uu" ?µ) ("~x" ?¤) ("~z" ?ž) ("~|" ?¦) ("~~" ?¸) )) (state (init (trans))) ua-kbd.mim000064400000005210147633214350006421 0ustar00;; ua-kbd.mim -- Ukrainian input method with Ukrainian/Russian keyboard layout ;; Copyright (C) 2005 ;; 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 for Ukrainian by simulating the Ukrainian keyboard. ;;; ;;; @image html ua-kbd.png "Keyboard Layout" ;;; @image latex ua-kbd.eps "Keyboard Layout" width=\narrowwidth ;; Nov 2010 Modified by Nikolay Orlyuk (virkony gmail com) from ru-kbd.mim (input-method ua kbd) (description "Ukrainian input method simulating the Ukrainian keyboard. 1! 2\" 3№ 4; 5% 6: 7? 8* 9( 0) -_ =+ ґҐ Й Ц У К Е Н Г Ш Щ З Х Ї Ф І В А П Р О Л Д Ж Є \\| Я Ч С М И Т Ь Б Ю ., ") (title "UA") (map (map ("`" ?ґ) ("q" ?й) ("w" ?ц) ("e" ?у) ("r" ?к) ("t" ?е) ("y" ?н) ("u" ?г) ("i" ?ш) ("o" ?щ) ("p" ?з) ("[" ?х) ("]" ?ї) ("a" ?ф) ("s" ?і) ("d" ?в) ("f" ?а) ("g" ?п) ("h" ?р) ("j" ?о) ("k" ?л) ("l" ?д) (";" ?ж) ("'" ?є) ("\\" ?\\) ("z" ?я) ("x" ?ч) ("c" ?с) ("v" ?м) ("b" ?и) ("n" ?т) ("m" ?ь) ("," ?б) ("." ?ю) ("/" ?.) ("!" ?!) ("@" ?\") ("#" ?№) ("$" ?\;) ("%" ?%) ("^" ?:) ("&" ??) ("*" ?*) ("(" ?\() (")" ?\)) ("_" ?_) ("+" ?+) ("~" ?Ґ) ("Q" ?Й) ("W" ?Ц) ("E" ?У) ("R" ?К) ("T" ?Е) ("Y" ?Н) ("U" ?Г) ("I" ?Ш) ("O" ?Щ) ("P" ?З) ("{" ?Х) ("}" ?Ї) ("A" ?Ф) ("S" ?І) ("D" ?В) ("F" ?А) ("G" ?П) ("H" ?Р) ("J" ?О) ("K" ?Л) ("L" ?Д) (":" ?Ж) ("\"" ?Є) ("|" ?\|) ("Z" ?Я) ("X" ?Ч) ("C" ?С) ("V" ?М) ("B" ?И) ("N" ?Т) ("M" ?Ь) ("<" ?Б) (">" ?Ю) ("?" ?,))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: my-kbd.mim000064400000005724147633214350006453 0ustar00;; my-kbd.mim -- Myanmar input method with Myanmar keyboard layout ;; Copyright (C) 2004, 2005 ;; 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 my kbd) (description "Myanmar input method simulating the Myanmar keyboard. ") (title "MY") (map (map ;; Unshifted Shift Alt ("1" 0x1041) ("!" 0x100D) ; ၁ ဍ - ("2" 0x1042) ; ၂ - - ("3" 0x1043) ("#" 0x100B) ; ၃ ဋ - ("4" 0x1044) ; ၄ - - ("5" 0x1045) ; ၅ - - ("6" 0x1046) ; ၆ - - ("7" 0x1047) ("&" 0x101B) ; ၇ ရ - ("8" 0x1048) ("*" 0x1002) ; ၈ ဂ - ("9" 0x1049) ; ၉ - - ("0" 0x1040) (")" 0x101D) ; ၀ ဝ - ("q" 0x1006) ("Q" 0x104D) ; ဆ ၍ - ("w" 0x1010) ; တ - - ("e" 0x1014) ; န - - ("r" 0x1019) ; မ - - ("t" 0x1021) ; အ - - ("y" 0x1015) ; ပ - - ("u" 0x1000) ; က - - ("i" 0x1004) ; င - - ("o" 0x101E) ("O" 0x1025) ; သ ဥ - ("p" 0x1005) ("P" 0x100F) ; စ ဏ - ("[" 0x101F) ("{" 0x100E) ; ဟ ဎ - ("]" 0x1009) ("}" 0x1027) ; ဉ ဧ - ("\\" 0x104F) ; ၏ - - ("a" 0x1031) ("A" 0x1017) ; ေ ဗ - ("s" 0x1039 0x101A) ("S" 0x1039 0x101F) ;္ယ ္ဟ - ("d" 0x102D) ("D" 0x102E) ; ိ ီ - ("f" 0x1039) ("F" 0x200D) ; ္ ZWNJ - ((A-g) 0x104C) ; - - ၌ ("g" 0x200C) ("G" 0x1039 0x101D) ;္ရ ္ဝ - ("h" 0x1037) ("H" 0x1036) ((A-h) 0x104D) ; ့ ံ ၍ ("j" 0x1039 0x101B) ("J" 0x1032) ((A-j) 0x104E) ; ္ရ ဲ ၎ ("k" 0x102F) ((A-k) 0x1024) ; ု - ဤ ("l" 0x1030) ; ူ - - (";" 0x1038) ; း - - ("'" 0x1012) ("\"" 0x1013) ; ဒ ဓ - ("z" 0x1016) ("Z" 0x1007) ; ဖ ဇ - ("x" 0x1011) ("X" 0x100C) ; ထ ဌ - ("c" 0x1001) ("C" 0x1003) ; ခ ဃ - ("v" 0x101C) ("V" 0x1020) ; လ ဠ - ("b" 0x1018) ; ဘ - - ("n" 0x100A) ; ည - - ("m" 0x102C) ; ာ - - ("," 0x101A) ("<" 0x104D) ; ယ ၍ - ("." 0x1008) (">" 0x1024) ; ဈ ဤ - ("/" 0x104B) ; ။ - - )) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: hi-typewriter.mim000064400000006334147633214350010102 0ustar00;; hi-typewriter.mim -- Devanagari input method with typewriter method ;; Copyright (C) 2005 ;; 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 hi typewriter) (description "Hindi input method with `typewriter' method. Still experimental. ") (title "क") (map (consonant ("!" ?ऍ) ("+" ?ऋ) ("Q" ?औ) ("W" ?ऐ) ("E" ?आ) ("R" ?ई) ("T" ?ऊ) ("Y" ?भ) ("y" ?ब) ("U" ?ङ) ("u" ?ह) ("I" ?घ) ("i" ?ग) ("O" ?ध) ("o" ?द) ("P" ?झ) ("p" ?ज) ("{" ?ढ) ("[" ?ड) ("}" ?ञ) ("A" ?ओ) ("S" ?ए) ("D" ?अ) ("F" ?इ) ("G" ?उ) ("H" ?फ) ("h" ?प) ("J" ?ऱ) ("j" ?र) ("K" ?ख) ("k" ?क) ("L" ?थ) ("l" ?त) (":" ?छ) (";" ?च) ("\"" ?ठ) ("'" ?ट) ("|" ?ऑ) ("~" ?ऒ) ("Z" ?ऎ) ("C" ?ण) ("c" ?म) ("V" ?ऩ) ("v" ?न) ("B" ?ऴ) ("b" ?व) ("N" ?ळ) ("n" ?ल) ("M" ?श) ("m" ?स) ("<" ?ष) ("/" ?य)) (halant ("d" ?्)) (vowel-I ("f" ?ि)) (else ("1" ?१) ("@" ?ॅ) ("2" ?२) ("#" ?#) ("3" ?३) ("$" ?$) ("4" ?४) ("5" ?५) ("6" ?६) ("7" ?७) ("8" ?८) ("(" ?\() ("9" ?९) (")" ?\)) ("0" ?०) ("_" ?ः) ("-" ?-) ("=" ?ृ) ("q" ?ौ) ("w" ?ै) ("e" ?ा) ("r" ?ी) ("t" ?ू) ("]" ?़) ("a" ?ो) ("s" ?े) ("g" ?ु) ("\\" ?ॉ) ("`" ?ॊ) ("z" ?ॆ) ("X" ?ँ) ("x" ?ं) ("," ?,) (">" ?।) ("." ?.) ("?" ?य़))) (state (init (consonant) (halant) (else) (vowel-I (shift after-vowel-I))) (after-vowel-I (consonant ;; The current preedit is "IC". Reorder it to "CI". (move @<) (delete @+) (move @>) (insert "ि") ;; Keep on reading the following [HC]* sequence. (shift after-consonant)) (vowel-I ;; Delete the lastly inserted I and rehandle it in `init' state. (delete @-) (pushback 1) (shift init)) (nil (shift init))) (after-consonant (halant ;; The current preedit is "C[HC]*IH". Reorder it to "C[HC]*HI". (move @-) (delete @-) (move @>) (insert "ि") ;; Keep on reading the following C[HC]* sequence. (shift after-consonant-halant))) (after-consonant-halant (consonant ;; The current preedit is "C[HC]*HIC". Reorder it to "C[HC]+I". (move @-) (delete @-) (move @>) (insert "ि") ;; Keep on reading the following [HC]* sequence. (shift after-consonant)))) latn1-pre.mim000075500000010104147633214350007062 0ustar00;; latn1-pre.mim -- Latin input method simulating "US International Keyboard" ;; Copyright (C) 2014 Florêncio Neves ;; 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 General Public License as ;; published by the Free Software Foundation; either version 2, 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 General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with the m17n library; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Input method for Latin script with prefix modifiers and AltGr combinations. ;; | mark | prefix | examples ;; |------------+--------+---------- ;; | acute | ' | 'a -> á ;; | grave | ` | `a -> à ;; | circumflex | ^ | ^a -> â ;; | diaeresis | " | "a -> ä ;; | tilde | ~ | ~a -> ã ;; | cedilla | ' | 'c -> ç ;; | symbol | | AltGr-/ -> ¿ AltGr-5 ~> € ;; | symbol | | AltGr-z -> æ AltGr-s -> ß (input-method t latn1-pre) (description "Latin1 input method simulating \"US International Keyboard\" which uses prefix modifiers and AltGr combinations as this: | mark | prefix | examples |------------+--------+---------- | acute | ' | 'a -> á | grave | ` | `a -> à | circumflex | ^ | ^a -> â | diaeresis | \" | \"a -> ä | tilde | ~ | ~a -> ã | cedilla | ' | 'c -> ç | symbol | | AltGr-/ -> ¿, AltGr-z -> æ, AltGr-s -> ß For Western European languages, these characters are supported too: \"Y -> Ÿ, AltGr-x -> œ, AltGr-X -> Œ, AltGr-5 -> €, AltGr-{ -> ª, AltGr-} ?º, AltGr-( -> “, AltGr-) -> ”") (title "latin1") (map (us-international-keyboard ;; Dead keys ("' " ?') ("'A" ?Á) ("'E" ?É) ("'I" ?Í) ("'O" ?Ó) ("'U" ?Ú) ("'Y" ?Ý) ("'C" ?Ç) ("'a" ?á) ("'e" ?é) ("'i" ?í) ("'o" ?ó) ("'u" ?ú) ("'y" ?ý) ("'c" ?ç) ("\" " ?\") ("\"A" ?Ä) ("\"E" ?Ë) ("\"I" ?Ï) ("\"O" ?Ö) ("\"U" ?Ü) ("\"a" ?ä) ("\"e" ?ë) ("\"i" ?ï) ("\"o" ?ö) ("\"u" ?ü) ("\"y" ?ÿ) ("^ " ?^) ("^A" ?Â) ("^E" ?Ê) ("^I" ?Î) ("^O" ?Ô) ("^U" ?Û) ("^a" ?â) ("^e" ?ê) ("^i" ?î) ("^o" ?ô) ("^u" ?û) ("` " ?`) ("`A" ?À) ("`E" ?È) ("`I" ?Ì) ("`O" ?Ò) ("`U" ?Ù) ("`a" ?à) ("`e" ?è) ("`i" ?ì) ("`o" ?ò) ("`u" ?ù) ("~ " ?~) ("~A" ?Ã) ("~N" ?Ñ) ("~O" ?Õ) ("~a" ?ã) ("~n" ?ñ) ("~o" ?õ) ;; AltGr combinations ((G-1) ?¡) ((G-2) ?²) ((G-3) ?³) ((G-4) ?¤) ((G-6) ?¼) ((G-7) ?½) ((G-8) ?¾) ((G-9) ?‘) ((G-0) ?’) ((G--) ?¥) ((G-=) ?×) ((G-!) ?¹) ((G-$) ?£) ((G-+) ?÷) ((G-q) ?ä) ((G-w) ?å) ((G-e) ?é) ((G-r) ?®) ((G-t) ?þ) ((G-y) ?ü) ((G-u) ?ú) ((G-i) ?í) ((G-o) ?ó) ((G-p) ?ö) ((G-\[) ?«) ((G-\]) ?») ((G-a) ?á) ((G-s) ?ß) ((G-d) ?ð) ((G-l) ?ø) ((G-\;) ?¶) ((G-\') ?´) ((G-\\) ?¬) ((G-z) ?æ) ((G-c) ?©) ((G-n) ?ñ) ((G-m) ?µ) ((G-,) ?ç) ((G-/) ?¿) ((G-Q) ?Ä) ((G-W) ?Å) ((G-E) ?É) ((G-T) ?Þ) ((G-Y) ?Ü) ((G-U) ?Ú) ((G-I) ?Í) ((G-O) ?Ó) ((G-P) ?Ö) ((G-A) ?Á) ((G-S) ?§) ((G-D) ?Ð) ((G-L) ?Ø) ((G-:) ?°) ((G-\") ?¨) ((G-|) ?¦) ((G-Z) ?Æ) ((G-C) ?¢) ((G-N) ?Ñ) ((G-<) ?Ç)) (extra ;; Not in "US International Keyboard, but needed in some Western ;; European languages. ("\"Y" ?Ÿ) ((G-x) ?œ) ((G-X) ?Œ) ((G-5) ?€) ((G-{) ?ª) ((G-}) ?º) ((G-\() ?“) ((G-\)) ?”) )) (state (init (us-international-keyboard) (extra))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: ARAB.flt000064400000026102147633214350005771 0ustar00;; ARAB.flt -- Font Layout Table for Arabic font (Unicode encoding) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter arab nil (font (nil bitstream\ cyberbase unicode-bmp))) ;;;
  • ARAB.flt ;;; ;;; For Arabic fonts of Unicode encoding to draw Arabic script. ;; phase 1: Kazakh high hamza (category (0x0600 0x06FF ?x) (0x0675 0x0678 ?p) (0x0643 ?n) (0x06AF ?n) (0x06D5 ?n) (0x200C ?x) (0x200D ?x) (0xFB50 0xFDFF ?x) ; Arabic Presentation Forms-A (0xFE70 0xFEFC ?x) ; Arabic Presentation Forms-B ) (generator (0 (cond (".*p.*" (cond (".*n.*" rmhamza *) ("(.)(.*)" (1 < 0x0674 rmhamza >) (2 rmhamza *)))) (0 = *))) (rmhamza (cond ((0x0675) 0x0627) ((0x0676) 0x0648) ((0x0677) 0x06C7) ((0x0678) 0x0649) ("." =)))) ;; phase 2: ligatures (category (0x0600 0x06FF ?x) ; general (0x0622 ?a) ; alef madda (0x0623 ?b) ; alef hamza above (0x0625 ?c) ; alef hamza below (0x0627 ?d) ; alef (0x0644 ?l) ; lam (0x064B 0x0655 ?t) ; combinings (0x0670 ?t) ; combining (0x06D6 0x06ED ?t) ; combinings (0x06E5 ?x) (0x06E6 ?x) (0x06E9 ?x) (0x200C ?x) (0x200D ?x) (0xFB50 0xFDFF ?x) (0xFE70 0xFEFC ?x) ) (generator (0 (cond ("l(t*)a(t*)" 0xFEF5 (1 = *) (2 = *)) ("l(t*)b(t*)" 0xFEF7 (1 = *) (2 = *)) ("l(t*)c(t*)" 0xFEF9 (1 = *) (2 = *)) ("l(t*)d(t*)" 0xFEFB (1 = *) (2 = *)) ("." =)) *)) ;; phase 3: joining (category ;; D: Dual-joining (beh, teh, etc. & zwj) ;; R: Right-joining (alef, dal, thal, reh, zain) ;; U: Non-joining (Hamza, etc. & zwnj) ;; T: Transparent (combining marks) ;; P: Already in Arabic Presentation Form A & B (0x060C 0x060F ?U) (0x0610 0x0615 ?T) (0x061B ?U) (0x061F ?U) (0x0621 ?U) (0x0622 0x0623 ?R) (0x0624 ?R) (0x0625 ?R) (0x0626 ?D) (0x0627 ?R) (0x0628 ?D) (0x0629 ?R) (0x062A 0x062E ?D) (0x062F 0x0632 ?R) (0x0633 0x0647 ?D) (0x0648 ?R) (0x0649 0x064A ?D) (0x064B 0x0658 ?T) (0x0660 0x066D ?U) (0x066E 0x066F ?D) (0x0670 ?T) (0x0671 0x0673 ?R) (0x0674 0x0678 ?U) (0x0679 0x0687 ?D) (0x0688 0x0699 ?R) (0x069A 0x06C3 ?D) (0x06C4 0x06CB ?R) (0x06CC 0x06CE ?D) (0x06CF ?R) (0x06D0 0x06D3 ?D) (0x06D4 ?U) (0x06D5 ?R) (0x06D6 0x06E4 ?T) (0x06E5 0x06E6 ?U) (0x06E7 0x06E8 ?T) (0x06E9 ?U) (0x06EA 0x06ED ?T) (0x06EE 0x06EF ?R) (0x06F0 0x06F9 ?U) (0x06FA 0x06FC ?D) (0x06FD 0x06FE ?U) (0x06FF ?D) (0xFB50 0xFDFF ?P) (0xFE70 0xFEFC ?P) (0xFEF5 ?R) (0xFEF7 ?R) (0xFEF9 ?R) (0xFEFB ?R) (0x200C ?U) (0x200D ?D) ) (generator (0 (cond ("PT*" = combining *) ("D[^P]*" (cond ("(.)(T*)([DR].*)" (1 initial) (2 combining *) (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) (1 isolated) (2 combining *) (3 disjoin)))) ("([RU])(T*)([^P]*)" (1 isolated) (2 combining *) (3 disjoin)) ("(T+)([^P]*)" (1 = *) (2 disjoin))) *) (join (cond ("D.*" (cond ("(.)(T*)([DR].*)" (1 medial) (2 combining *) (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) (1 final) (2 combining *) (3 disjoin)))) ("(.)(T*)(.*)" ; == (R)(T*)(.*) (1 final) (2 combining *) (3 disjoin)))) (disjoin (cond ("D.*" (cond ("(.)(T*)([DR].*)" (1 initial) (2 combining *) (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) (1 isolated) (2 combining *) (3 disjoin)))) ("(.)(T*)(.*)" ; == ([RU])(T*)(.*) (1 isolated) (2 combining *) (3 disjoin)))) (isolated (cond ((range 0x060C 0x060F) =) ((0x061B) =) ((0x061F) =) ((0x0621) 0xFE80) ((0x0622) 0xFE81) ((0x0623) 0xFE83) ((0x0624) 0xFE85) ((0x0625) 0xFE87) ((0x0626) 0xFE89) ((0x0627) 0xFE8D) ((0x0628) 0xFE8F) ((0x0629) 0xFE93) ((0x062A) 0xFE95) ((0x062B) 0xFE99) ((0x062C) 0xFE9D) ((0x062D) 0xFEA1) ((0x062E) 0xFEA5) ((0x062F) 0xFEA9) ((0x0630) 0xFEAB) ((0x0631) 0xFEAD) ((0x0632) 0xFEAF) ((0x0633) 0xFEB1) ((0x0634) 0xFEB5) ((0x0635) 0xFEB9) ((0x0636) 0xFEBD) ((0x0637) 0xFEC1) ((0x0638) 0xFEC5) ((0x0639) 0xFEC9) ((0x0640) 0x0640) ((0x063A) 0xFECD) ((0x0641) 0xFED1) ((0x0642) 0xFED5) ((0x0643) 0xFED9) ((0x0644) 0xFEDD) ((0x0645) 0xFEE1) ((0x0646) 0xFEE5) ((0x0647) 0xFEE9) ((0x0648) 0xFEED) ((0x0649) 0xFEEF) ((0x064A) 0xFEF1) ((range 0x0660 0x066D) =) ((0x0671) 0xFB50) ((0x0674) =) ((0x0677) 0xFBDD) ((0x0679) 0xFB66) ((0x067A) 0xFB5E) ((0x067B) 0xFB52) ((0x067E) 0xFB56) ((0x067F) 0xFB62) ((0x0680) 0xFB5A) ((0x0683) 0xFB76) ((0x0684) 0xFB72) ((0x0686) 0xFB7A) ((0x0687) 0xFB7E) ((0x0688) 0xFB88) ((0x068C) 0xFB84) ((0x068D) 0xFB82) ((0x068E) 0xFB86) ((0x0691) 0xFB8C) ((0x0698) 0xFB8A) ((0x06A4) 0xFB6A) ((0x06A6) 0xFB6E) ((0x06A9) 0xFB8E) ((0x06AD) 0xFBD3) ((0x06AF) 0xFB92) ((0x06B1) 0xFB9A) ((0x06B3) 0xFB96) ((0x06BA) 0xFB9E) ((0x06BB) 0xFBA0) ((0x06BE) 0xFBAA) ((0x06C0) 0xFBA4) ((0x06C1) 0xFBA6) ((0x06C5) 0xFBE0) ((0x06C6) 0xFBD9) ((0x06C7) 0xFBD7) ((0x06C8) 0xFBDB) ((0x06C9) 0xFBE2) ((0x06CB) 0xFBDE) ((0x06CC) 0xFBFC) ((0x06D0) 0xFBE4) ((0x06D2) 0xFBAE) ((0x06D3) 0xFBB0) ((0x06D4) =) ((0x06D5) 0xFEE9) ((0x06E5) =) ((0x06E6) =) ((0x06E9) =) ((range 0x06F0 0x06F9) =) ((0x06FD) =) ((0x06FE) =) ((0xFEF5) =) ((0xFEF7) =) ((0xFEF9) =) ((0xFEFB) =) ((0x200C) =) ((0x200D) =) )) (final (cond ((0x0622) 0xFE82) ((0x0623) 0xFE84) ((0x0624) 0xFE86) ((0x0625) 0xFE88) ((0x0626) 0xFE8A) ((0x0627) 0xFE8E) ((0x0628) 0xFE90) ((0x0629) 0xFE94) ((0x062A) 0xFE96) ((0x062B) 0xFE9A) ((0x062C) 0xFE9E) ((0x062D) 0xFEA2) ((0x062E) 0xFEA6) ((0x062F) 0xFEAA) ((0x0630) 0xFEAC) ((0x0631) 0xFEAE) ((0x0632) 0xFEB0) ((0x0633) 0xFEB2) ((0x0634) 0xFEB6) ((0x0635) 0xFEBA) ((0x0636) 0xFEBE) ((0x0637) 0xFEC2) ((0x0638) 0xFEC6) ((0x0639) 0xFECA) ((0x0640) 0x0640) ((0x063A) 0xFECE) ((0x0641) 0xFED2) ((0x0642) 0xFED6) ((0x0643) 0xFEDA) ((0x0644) 0xFEDE) ((0x0645) 0xFEE2) ((0x0646) 0xFEE6) ((0x0647) 0xFEEA) ((0x0648) 0xFEEE) ((0x0649) 0xFEF0) ((0x064A) 0xFEF2) ((0x0671) 0xFB51) ((0x0679) 0xFB67) ((0x067A) 0xFB5F) ((0x067B) 0xFB52) ((0x067E) 0xFB57) ((0x067F) 0xFB63) ((0x0680) 0xFB5B) ((0x0683) 0xFB77) ((0x0684) 0xFB73) ((0x0686) 0xFB7B) ((0x0687) 0xFB7F) ((0x0688) 0xFB89) ((0x068C) 0xFB85) ((0x068D) 0xFB83) ((0x068E) 0xFB87) ((0x0691) 0xFB8D) ((0x0698) 0xFB8B) ((0x06A4) 0xFB6B) ((0x06A6) 0xFB6F) ((0x06A9) 0xFB8F) ((0x06AD) 0xFBD4) ((0x06AF) 0xFB93) ((0x06B1) 0xFB9B) ((0x06B3) 0xFB97) ((0x06BA) 0xFB9F) ((0x06BB) 0xFBA1) ((0x06BE) 0xFBAB) ((0x06C0) 0xFBA5) ((0x06C1) 0xFBA7) ((0x06C5) 0xFBE1) ((0x06C6) 0xFBDA) ((0x06C7) 0xFBD8) ((0x06C8) 0xFBDC) ((0x06C9) 0xFBE3) ((0x06CB) 0xFBDF) ((0x06CC) 0xFBFD) ((0x06D0) 0xFBE5) ((0x06D2) 0xFBAF) ((0x06D3) 0xFBB1) ((0x06D5) 0xFEEA) ((0xFEF5) 0xFEF6) ((0xFEF7) 0xFEF8) ((0xFEF9) 0xFEFA) ((0xFEFB) 0xFEFC) ((0x200C) =) ((0x200D) =) )) (initial (cond ((0x0626) 0xFE8B) ((0x0628) 0xFE91) ((0x062A) 0xFE97) ((0x062B) 0xFE9B) ((0x062C) 0xFE9F) ((0x062D) 0xFEA3) ((0x062E) 0xFEA7) ((0x0633) 0xFEB3) ((0x0634) 0xFEB7) ((0x0635) 0xFEBB) ((0x0636) 0xFEBF) ((0x0637) 0xFEC3) ((0x0638) 0xFEC7) ((0x0639) 0xFECB) ((0x0640) 0x0640) ((0x063A) 0xFECF) ((0x0641) 0xFED3) ((0x0642) 0xFED7) ((0x0643) 0xFEDB) ((0x0644) 0xFEDF) ((0x0645) 0xFEE3) ((0x0646) 0xFEE7) ((0x0647) 0xFEEB) ((0x0649) 0xFBE8) ((0x064A) 0xFEF3) ((0x0679) 0xFB68) ((0x067A) 0xFB60) ((0x067B) 0xFB54) ((0x067E) 0xFB58) ((0x067F) 0xFB64) ((0x0680) 0xFB5C) ((0x0683) 0xFB78) ((0x0684) 0xFB74) ((0x0686) 0xFB7C) ((0x0687) 0xFB80) ((0x06A4) 0xFB6C) ((0x06A6) 0xFB70) ((0x06A9) 0xFB90) ((0x06AD) 0xFBD5) ((0x06AF) 0xFB94) ((0x06B1) 0xFB9C) ((0x06B3) 0xFB98) ((0x06BA) 0xFEE7) ((0x06BB) 0xFBA2) ((0x06BE) 0xFBAC) ((0x06C1) 0xFBA8) ((0x06CC) 0xFBFE) ((0x06D0) 0xFBE6) ((0x200C) =) ((0x200D) =) )) (medial (cond ((0x0626) 0xFE8C) ((0x0628) 0xFE92) ((0x062A) 0xFE98) ((0x062B) 0xFE9C) ((0x062C) 0xFEA0) ((0x062D) 0xFEA4) ((0x062E) 0xFEA8) ((0x0633) 0xFEB4) ((0x0634) 0xFEB8) ((0x0635) 0xFEBC) ((0x0636) 0xFEC0) ((0x0637) 0xFEC4) ((0x0638) 0xFEC8) ((0x0639) 0xFECC) ((0x0640) 0x0640) ((0x063A) 0xFED0) ((0x0641) 0xFED4) ((0x0642) 0xFED8) ((0x0643) 0xFEDC) ((0x0644) 0xFEE0) ((0x0645) 0xFEE4) ((0x0646) 0xFEE8) ((0x0647) 0xFEEC) ((0x0649) 0xFBE9) ((0x064A) 0xFEF4) ((0x0679) 0xFB69) ((0x067A) 0xFB61) ((0x067B) 0xFB55) ((0x067E) 0xFB59) ((0x067F) 0xFB65) ((0x0680) 0xFB5D) ((0x0683) 0xFB79) ((0x0684) 0xFB75) ((0x0686) 0xFB7D) ((0x0687) 0xFB81) ((0x06A4) 0xFB6D) ((0x06A6) 0xFB71) ((0x06A9) 0xFB91) ((0x06AD) 0xFBD6) ((0x06AF) 0xFB95) ((0x06B1) 0xFB9D) ((0x06B3) 0xFB99) ((0x06BA) 0xFEE8) ((0x06BB) 0xFBA3) ((0x06BE) 0xFBAD) ((0x06C1) 0xFBA9) ((0x06CC) 0xFBFF) ((0x06D0) 0xFBE7) ((0x200C) =) ((0x200D) =) )) (combining (cond ((0x0651 0x0650) tc+bc 0x064E tc+bc 0x0651) ; shadda + kasra ((0x0651 0x064D) tc+bc 0x064B tc+bc 0x0651) ; shadda + kasratan ((range 0x0610 0x0615) tc+bc =) ((0x064B) tc+bc =) ((0x064C) tc+bc =) ((0x064D) bc-tc =) ((0x064E) tc+bc =) ((0x064F) tc+bc =) ((0x0650) bc-tc =) ((range 0x0651 0x0654) tc+bc =) ((0x0655) bc-tc =) ((0x0656) bc-tc =) ((0x0657) tc+bc =) ((0x0658) tc+bc =) ((0x0670) tc+bc =) ((range 0x06D6 0x06DC) tc+bc =) ((range 0x06DF 0x06E2) tc+bc =) ((0x06E3) bc-tc =) ((0x06E4) tc+bc =) ((0x06E7) tc+bc =) ((0x06E8) tc+bc =) ((0x06EA) bc-tc =) ((0x06EB) tc+bc =) ((0x06EC) tc+bc =) ((0x06ED) bc-tc =) ((0x200C) =) ((0x200D) =) )) ) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: DEV2-OTF.flt000064400000015351147633214350006416 0ustar00;; DEV2-OTF.flt -- Font Layout Table for dev2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter dev2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=dev2))) ;;;
  • DEV2-OTF.flt ;;; ;;; For dev2 OpenType fonts to draw the Devanagari script. ;; No matter what the Microsoft Typography web page says, modifier ;; character sequences accepted by Uniscribe are the following. ;; 1. matra (pre, below, above, post) ;; 2. one of candrabindu (0901), anusvara (0902), grave (0953), acute (0954) ;; 3. udatta (0951) and/or anudatta (0952) ;; 4. visarga (0903) ;; For rendering, on the other hand, the combination of Uniscribe and ;; mangal.ttf (dev2) requires the following orders. ;; for above marks: ;; 1. above- or post matra ;; 2. reph ;; 3. one of candrabindu (0901), anusvara (0902), grave (0953), acute (0954) ;; 4. udatta (0951) ;; for below marks: ;; 1. below matra ;; 2. anudatta (0952) (category ;; X: generic ;; V: independent vowel ;; C: consonant ;; R: RA ;; n: NUKTA ;; H: HALANT ;; m: vowel sign (pre) ;; u: vowel sign (above) ;; b: vowel sign (below) ;; p: vowel sign (post) ;; a: vowel modifier / accent (above) ;; A: vowel modifier (post) ;; s: stress sign (above) ;; S: stress sign (below) ;; N: ZWNJ ;; J: ZWJ (0x0900 0x097F ?X) ; generic (0x0900 0x0902 ?a) ; SIGN INVERTED CANDRABINDU .. ANUSVARA (0x0903 ?A) ; SIGN VISARGA (0x0904 0x0914 ?V) ; LETTER SHORT A .. AU (0x0915 0x0939 ?C) ; LETTER KA .. HA (0x0930 ?R) ; LETTER RA (0x093C ?n) ; SIGN NUKTA (0x093E ?p) ; VOWEL SIGN AA (0x093F ?m) ; VOWEL SIGN I (0x0940 ?p) ; VOWEL SIGN II (0x0941 0x0944 ?b) ; VOWEL SIGN UU .. VOCALIC RR (0x0945 0x0948 ?u) ; VOWEL SIGN CANDRA E .. AI (0x0949 0x094C ?p) ; VOWEL SIGN CANDRA O .. AU (0x094D ?H) ; SIGN VIRAMA (0x094E ?m) ; VOWEL SIGN PRISHTHAMATRA E (0x0951 ?s) ; STRESS SIGN UDATTA (0x0952 ?S) ; STRESS SIGN ANUDATTA (0x0953 0x0954 ?a) ; GRAVE ACCENT .. ACUTE ACCENT (0x0955 ?u) ; VOWEL SIGN CHANDRA LONG E (0x0958 0x095F ?C) ; LETTER QA .. YYA (0x0960 0x0961 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0962 0x0963 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x0972 ?V) ; LETTER CANDRA A (0x0979 0x097F ?C) ; LETTER ZHA .. BBA (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Compose a consonant and a nukta ((0x0928 0x093C) 0x0929) ((0x0930 0x093C) 0x0931) ((0x0933 0x093C) 0x0934) ((0x0915 0x093C) 0x0958) ((0x0916 0x093C) 0x0959) ((0x0917 0x093C) 0x095A) ((0x091C 0x093C) 0x095B) ((0x0921 0x093C) 0x095C) ((0x0922 0x093C) 0x095D) ((0x092B 0x093C) 0x095E) ((0x092F 0x093C) 0x095F) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?Vn?(J?HR)?m?u?b?p?n?a?(Ss?|sS?)?A?" < | = * | >) ;; Consonant-based syllables ("([CR]n?J?HJ?)*[CR]n?(H[NJ]?|m?u?b?p?n?)a?(Ss?|sS?)?A?" < | = * | >) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaSsA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("JHR" (cond ((font-facility 0x25CC) < 0x25CC :otf=dev2=blwf+ >) (".+" [ :otf=dev2=blwf+ ]))) ("." =)) *)) ;; Stage 2 ;; Basic shaping forms and matra reordering (generator (0 (cond ;; Explicit halant form starting with RA + H + ZWJ (" (RHJ[CRnHJ]+)(HN?a?(Ss?|sS?)?A?) " | (1 :otf=dev2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (2 = *) |) ;; Explicit halant form starting with a reph (" (RH)([CRnHJ]+)(HN?a?(Ss?|sS?)?A?) " | (1 :otf=dev2=rphf+) (2 :otf=dev2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (3 = *) |) ;; Other explicit halant forms (" ([CRnHJ]+)(HN?a?(Ss?|sS?)?A?) " | (1 :otf=dev2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (2 = *) |) ;; Ordinary syllables starting with RA + H + ZWJ ;; 1 2 3 (" (RHJ[CRnHJ]*)(mn?)?(u?b?p?n?a?(Ss?|sS?)?A?) " ;; | ;; This is an asterisk. If it were a plus sign, an isolated RHJ ;; would match with the next pattern, not with this one. | (2 = *) (1 :otf=dev2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (3 = *) |) ;; Ordinary syllables starting with a reph ;; 1 2 3 4 (" (RH)([CRnHJV]+)(mn?)?(u?b?p?n?a?(Ss?|sS?)?A?) " | (3 = *) (1 :otf=dev2=rphf+) (2 :otf=dev2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (4 = *) |) ;; Other ordinary syllables ;; 1 2 3 (" ([CRnHJV]+)(mn?)?(u?b?p?n?a?(Ss?|sS?)?A?) " | (2 = *) (1 :otf=dev2=locl,nukt,akhn,rkrf,blwf,half,vatu,cjct+) (3 = *) |) ("." =)) *)) ;; Stage 3 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+H[JS]?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 4 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^H ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without explicit halant ;; 1 2 3 4 5 (" (mn?)?(r)([^aSsA ]+)(a?(Ss?|sS?)?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 5 ;; Nukta for matra and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=dev2=nukt,pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 6 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 7 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=dev2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: KHMR-ANLONG.flt000064400000015575147633214350007015 0ustar00;; KHMR-ANLONG.flt -- Font Layout Table for Khmer (Anlong font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter khmr-anlong nil (font (nil anlongvill\ khek apple-roman))) ;;;
  • KHMR-ANLONG.flt ;;; ;;; For the font ANLONG.TTF to draw Khmer script. The font is ;;; available at: ;;; (category ;; C: CONSONANT (except R and KHMER LETTER LA) ;; R: KHMER LETTER RO ;; c: KHMER SIGN COENG (function as virama) ;; V: INDEPENDENT VOWEL (except Q) ;; Q: CONJUNCT VOWEL QU, RY, QE ;; v: DEPENDENT VOWEL ;; s: SHIFT ;; S: COMBINING SIGN ;; E: ELSE (0x1780 0x17A0 ?C) (0x1789 ?N) ; exception of C (NYO) (0x179A ?R) ; exception of C (RO) (0x17A1 ?E) ; ELSE (0x17A2 ?C) (0x17A3 0x17A4 ?E) ; ELSE (0x17A5 0x17B3 ?V) (0x17A7 ?Q) (0x17AB ?Q) (0x17AF ?Q) (0x17B2 ?C) (0x17B4 0x17FF ?E) (0x17B6 0x17C5 ?v) (0x17C6 ?S) (0x17C9 0x17CA ?s) (0x17CB 0x17D3 ?S) (0x17D2 ?c)) (generator (0 (cond ("([CNR]c[CNRQ])c(R)(s?v?S?)" | (1 with-conjunct) (2 Bl.Br 0xEE) 0x00 (3 vowel-and-sign *) |) ("([CNR]c[CNRQ])(s?v?S?)" | (1 with-conjunct) 0x00 (2 vowel-and-sign *) |) ("([CNR])(s?v?S?)" | (1 independent) (2 vowel-and-sign *) |) ("." independent)) *) (with-conjunct (cond ("(N)c(CRQ)" (1 0x8B) (2 conjunct)) ("(N)c(N)" (1 0x8B) (2 Br.Bl 0xDD)) ((0x17B3 0x17D2 0x1799) 0xB8) ("(.)c(.)" (1 independent) (2 conjunct)))) (independent (cond ((range 0x1780 0x1788) 0x82) ((0x1789) 0x8C) ((range 0x178A 0x1794) 0x91) ((0x1795) 0x9F) ((range 0x1796 0x179C) 0xA1) ((0x179D) < 0x84 cr-) ((0x179E) < 0x9B cr-) ((range 0x179F 0x17A2) 0xA8) ((0x17A3) 0xAB) ((0x17A4) < 0xAB Br>Bl 0xBA >) ((range 0x17A5 0x17A7) 0xAC) ((0x17A8) < 0xAE Br.Bl 0xF4 >) ((0x17A9) 0xB9) ((range 0x17AA 0x17B1) 0xAF) ((0x17B2) 0xB7) ; same as 0xB6 ((0x17B3) < 0xAE tr<20bl 0xF8 >) ((0x17B4) < 0xBA tr+bl 0xF5 >) ((0x17B5) 0xBA) ((0x17B6) 0xBA) ((0x17B7) 0xBB) ((0x17B8) 0xBD) ((0x17B9) 0xBF) ((0x17BA) 0xC1) ((0x17BB) 0xC3) ((0x17BC) 0xC5) ((0x17BD) 0xC7) ((0x17BE) < 0xCD 0x20 0xBD >) ((0x17BF) < 0xCD 0x20 Br) ((0x17C0) < 0xCD 0x20 Br) ((range 0x17C1 0x17C3) 0xCD) ((0x17C4) < 0xCD 0x20 Br) ((0x17C5) < 0xCD 0x20 Br) ((0x17C6) 0xD1) ((0x17C7) 0xD3) ((0x17C8) 0x3A) ((0x17C9) 0xF6) ((range 0x17CA 0x17CB) 0xF4) ((0x17CC) 0xF8) ((0x17CD) 0xF7) ((0x17CE) < 0x20 tc+80bc 0x2B >) ((range 0x17CF 0x17D0) 0xF9) ((0x17D1) < 0x20 tc+80bc 0x5F >) ((0x17D2) < 0x20 bc-tc 0x5E >) ((0x17D3) 0xD1) ((range 0x17D4 0x17D5) 0xFC) ((0x17D6) 0xFB) ((0x17D7) 0xFE) ((0x17D8) < 0xFC 0xA6 0xFC >) ((0x17D9) < 0x30 cr<10cl 0xD2 >) ((0x17DA) 0x8D) ((0x17DB) < 0xFF br->10tl 0xC3 >) ((0x17DC) 0x53) ((range 0x17E0 0x17E9) 0x30))) (conjunct (cond ((0x1780) br-tl 0xD4) ((0x1781) br-tl 0xD5) ((0x1782) br-tl 0xD6) ((0x1783) Br.Bl 0xD7) ((0x1784) br-tl 0xD8) ((0x1785) br-tl 0xD9) ((0x1786) br-tl 0xDA) ((0x1787) br-tl 0xDB) ((0x1788) Br.Bl 0xDC) ((0x1789) br-tl 0xDE) ((0x178A) br-tl 0xE3) ((0x178B) br-tl 0xDF) ((0x178C) br-tl 0xE0) ((0x178D) Br.Bl 0xE1) ((0x178E) br-tl 0xE2) ((0x178F) br-tl 0xE3) ((0x1790) br-tl 0xE4) ((0x1791) br-tl 0xE5) ((0x1792) br-tl 0xE6) ((0x1793) br-tl 0xE7) ((0x1794) Br.Bl 0xE8) ((0x1795) br-tl 0xE9) ((0x1796) br-tl 0xEA) ((0x1797) br-tl 0xEB) ((0x1798) br-tl 0xEC) ((0x1799) Br.Bl 0xED) ((0x179A) Bl+Bc 0xEE) ((0x179B) br-tl 0xEF) ((0x179C) br-tl 0xF0) ((0x179D) br-tl 0xD6 br.bl 0xFA) ((0x179E) Br.Bl 0xE8 br.bl 0xFA) ((0x179F) Br.Bl 0xF1) ((0x17A0) br-tl 0xF2) ((0x17A2) br-tl 0xF3) ((0x17A7) br-tl 0xD5 br.bl 0xC4) ; ugly compromise ((0x17AB) br-tl 0xA1) ; ugly compromise ((0x17AF) br-tl 0xB4))) ; ugly compromise (vowel-and-sign (cond ((0x17B6) Br-Bl 0xBA) ((0x17B7) tr+bl 0xBB) ((0x17B8) tr+bl 0xBD) ((0x17B9) tr+bl 0xBF) ((0x17BA) tr+bl 0xC1) ((0x17BB) br+tr 0xC3) ((0x17BC) br-tl 0xC5) ((0x17BD) br-tl 0xC7) ((0x17BE) tr+bl 0xBD Bl.Br 0xCD) ((0x17BF) Br.Bl 0xC9 Bl.Br 0xCD) ((0x17C0) Br.Bl 0xCB Bl.Br 0xCD) ((0x17C1) Bl.Br 0xCD) ((0x17C2) Bl.Br 0xCE) ((0x17C3) Bl.Br 0xCF) ((0x17C4) Bl.Br 0xCD Br.Bl 0xBA) ((0x17C5) Bl.Br 0xCD Br.Bl 0xD0) ((0x17C6) tr+bl 0xD1) ((0x17C7) Br.Bl 0xD3) ((0x17C8) Br.Bl 0x3A) ((0x17C9) tr+bl 0xF6) ((0x17CA) tr+bl 0xF4) ((0x17CB) tr+bl 0xF5) ((0x17CC) tr+bl 0xF8) ((0x17CD) tr+bl 0xF7) ((0x17CE) tr+>br 0x2B) ((0x17CF) tr+bl 0xF9) ((0x17D0) tr+bl 0xFA)))) (category ;; WIDTH HEIGHT DEPTH ;; N: normal normal normal ;; T: normal high normal ;; W: wide normal normal ;; n: normal normal deep ;; w: wide normal deep ;; V: right part of KHMER VOWEL SIGN YA and IE ;; x: separator (0x00 0xFF ?N) (0x00 ?x) (0x85 ?W) (0x89 ?T) (0x8A 0x8B ?W) (0x8C ?w) (0x91 0x92 ?T) (0x93 0x94 ?W) (0x97 ?T) (0x9F ?T) (0xA4 ?W) (0xA6 ?W) (0xA8 0xA9 ?W) (0xAA ?w) (0xAC ?T) (0xAD ?w) (0xAF ?T) (0xB0 0xB3 ?n) (0xB5 ?n) (0xB6 0xB7 ?T) (0xB8 ?w) (0xC9 ?V) (0xCB ?V) (0xD7 ?w) (0xDC 0xDE ?w) (0xE1 0xE2 ?w) (0xE8 ?w) (0xED ?w) (0xF1 ?w)) (generator (0 (cond (" ([^ x]*)x(V)([^ ]*) " < (1 = *) (2 (cond ((0xC9) 0xCA) ((0xCB) 0xCC))) (3 = *) >) (" ([^ x]*)x([^ ]*) " < (1 = *) (2 = *) >) (" (T[^V]*)(V)([^ ]*) " < (1 = *) (2 (cond ((0xC9) Br.Bl 0xCA) ((0xCB) Br.Bl 0xCC))) (3 = *) >) (" ([wn])(V)([^ ]*) " < (1 = *) (2 (cond ((0xC9) 0xCA) ((0xCB) 0xCC))) (3 = *) >) (" ([^ ]*) " < (1 = *) >) ("." =)) *)) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: DEVA-CDAC.flt000064400000026765147633214350006512 0ustar00;; DEVA-CDAC.flt -- Font Layout Table for Devanagari (C-DAC font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter deve-cdac nil (font (nil dv-ttyogesh apple-roman))) ;;;
  • DEVA-CDAC.flt ;;; For the font DVYG0ntt.ttf (developed by C-DAC, encoding is ISFOC) ;;; to draw Devanagari script. (category ;; A: ANUSVARA or CANDRABINDU ;; C: CONSONANT (except for R) ;; R: LETTER RA ;; V: VOWEL INDEPENDENT ;; N: NUKTA ;; H: HALANT ;; M: MATRA (VOWEL DEPENDENT, except for I) ;; I: VOWEL SIGN I ;; S: STRESS or TONE ;; E: ELSE (0x0900 ?E) (0x0901 0x0902 ?A) ; CANDRABINDU and ANUSVARA (0x0903 ?E) ; SIGN VISARGA (0x0905 0x0914 ?V) ; A .. AU (0x0915 0x0939 ?C) ; KA .. HA (0x0930 ?R) ; RA (0x093C ?N) ; NUKTA (0x093D ?E) ; AVAGRAHA (0x093E 0x094C ?M) ; VOWEL SIGN AA .. AU (0x093F ?I) ; VOWEL SIGN I (0x094D ?H) ; SIGN VIRAMA (HARANT) (0x0950 ?E) ; OM (0x0951 0x954 ?S) ; UDATTA .. ACUTE (0x0958 0x095E ?C) ; LETTER QA .. YYA (0x0960 0x0961 ?V) ; LETTER VOCALIC RR and LL (0x0962 0x0963 ?M) ; VOWEL SIGN VOCALIC L and LL (0x0964 0x0970 ?E) ; DANDA .. ABBREVIATION SIGN ) (generator (0 (cond ("VA?S?" < | vowel * | >) ("([RC]H)*[RC](H|[IM]?A?S?)?" < | (cond ("RH.*" ;; with preceding RA HARANT (cond ("(RH)([^I]*)(I)(A?S?)" ; with I (3 vowel-sign-I) (2 consonant *) (1 preceding-r) (4 post-modifier)) ("(RH)([^M]*)(M)(A?S?)" ; with M (2 consonant *) (3 matra) (1 preceding-r) (4 post-modifier)) ("(RH)(.*)(H)$" ; with last HARANT (2 consonant *) (1 preceding-r) (3 harant)) ("(RH)([^AS]*)(.*)" ; otherwise (2 consonant *) (1 preceding-r) (3 post-modifier)))) ;; without preceding RA HARANT ("([^I]*)(I)(A?S?)" ; with I (2 vowel-sign-I) (1 consonant *) (3 post-modifier)) ("([^M]*)(M)(A?S?)" ; with M (1 consonant *) (2 matra) (3 post-modifier)) ("(.*)(H)$" ; with last HARANT (1 consonant *) (2 harant)) ("([^AS]*)(.*)" ; otherwise (1 consonant *) (3 post-modifier)) (".*" consonant *)) | > ) ("." independent)) *) (vowel (cond ((0x0905) 0x2B) ((0x0906) 0x2B 0xC9) ((0x0907) 0x3C) ((0x0908 0x0901) 0x3C 0xC7 0xC6) ((0x0908) 0x3C 0xC7) ((0x0909) 0x3D) ((0x090A) 0x3E 0xF0) ((0x090B) 0x40 0xF1) ((0x090D 0x0901) 0x42 0xC4) ((0x090D 0x0902) 0x42 0xC4) ((0x090D) 0x42 0xEC) ((0x090E 0x0901) 0x42 0xE0 0xC6) ((0x090E) 0x42 0xE0) ((0x090F) 0x42) ((0x0910 0x0901) 0x42 0xE4 0xC6) ((0x0910) 0x42 0xE4) ((0x0911 0x0901) 0x2B 0xC9 0xC4) ((0x0911 0x0902) 0x2B 0xC9 0xC4) ((0x0911) 0x2B 0xC9 0xEC) ((0x0912 0x0901) 0x2B 0xC9 0xE0 0xC6) ((0x0912) 0x2B 0xC9 0xE0) ((0x0913 0x0901) 0x2B 0xC9 0xE4 0xC6) ((0x0913) 0x2B 0xC9 0xE4) ((0x0914 0x0901) 0x2B 0xC9 0xE8 0xC6) ((0x0914) 0x2B 0xC9 0xE8) ((0x0960) 0x41 0xF1))) (vowel-sign-I ((0x093F) 0xCA)) (preceding-r ((0x0930 0x094D) 0xC7)) (post-modifier (cond ((0x0901) 0xC4) ((0x0902) 0xC6) ((0x0951) 0x27) ((0x0952) bc.tc 0x2D))) (harant ((0x094D) 0xC2)) (consonant (cond ((0x0915 0x094D 0x0924) 0x48 0xF2) ((0x0915 0x094D 0x0930) 0x47 0xF2) ((0x0915 0x094D 0x0937 0x094D) 0x49) ((0x0915 0x094D 0x0937) 0x49 0xC9) ((0x0915 0x094D) 0x43) ((0x0915) 0x45 0xF2) ((0x0916 0x094D 0x0930 0x094D) 0x4C) ((0x0916 0x094D 0x0930) 0x4C 0xC9) ((0x0916 0x094D) 0x4A) ((0x0916) 0x4A 0xC9) ((0x0917 0x094D 0x0930 0x094D) 0x4F) ((0x0917 0x094D 0x0930) 0x4F 0xC9) ((0x0917 0x094D) 0x4D) ((0x0917) 0x4D 0xC9) ((0x0918 0x094D 0x0930 0x094D) 0x51) ((0x0918 0x094D 0x0930) 0x51 0xC9) ((0x0918 0x094D) 0x50) ((0x0918) 0x50 0xC9) ((0x0919) 0x52 0xF3) ((0x091A 0x094D 0x0930 0x094D) 0x54) ((0x091A 0x094D 0x0930) 0x54 0xC9) ((0x091A 0x094D) 0x53) ((0x091A) 0x53 0xC9) ((0x091B) 0x55 0xF4) ((0x091C 0x094D 0x091E 0x094D) 0x59) ((0x091C 0x094D 0x091E) 0x59 0xC9) ((0x091C 0x094D 0x0930 0x094D) 0x58) ((0x091C 0x094D 0x0930) 0x58 0xC9) ((0x091C 0x094D) 0x56) ((0x091C) 0x56 0xC9) ((0x091D 0x094D 0x0930 0x094D) 0x5B) ((0x091D 0x094D 0x0930) 0x5B 0xC9) ((0x091D 0x094D) 0x5A) ((0x091D) 0x5A 0xC9) ((0x091E 0x094D) 0x5C) ((0x091E) 0x5C 0xC9) ((0x091F 0x094D 0x091F) 0x5E 0xF5) ((0x091F 0x094D 0x0920) 0x5F 0xF5) ((0x091F) 0x5D 0xF5) ((0x0920 0x094D 0x0920) 0x61 0xF6) ((0x0920) 0x60 0xF6) ((0x0921 0x094D 0x0921) 0x64 0xF7) ((0x0921 0x094D 0x0922) 0x65 0xF7) ((0x0921) 0x62 0xF7) ((0x0922) 0x66 0xF8) ((0x0923 0x094D) 0x68) ((0x0923) 0x68 0xC9) ((0x0924 0x094D 0x0924 0x094D) 0x6B) ((0x0924 0x094D 0x0924) 0x6B 0xC9) ((0x0924 0x094D 0x0930 0x094D) 0x6A) ((0x0924 0x094D 0x0930) 0x6A 0xC9) ((0x0924 0x094D) 0x69) ((0x0924) 0x69 0xC9) ((0x0925 0x094D 0x0930 0x094D) 0x6D) ((0x0925 0x094D 0x0930) 0x6D 0xC9) ((0x0925 0x094D) 0x6C) ((0x0925) 0x6C 0xC9) ((0x0926 0x0943) 0x6F 0xF9) ((0x0926 0x094D 0x0926) 0x71 0xF9) ((0x0926 0x094D 0x0927) 0x72 0xF9) ((0x0926 0x094D 0x092E) 0x73) ((0x0926 0x094D 0x092F) 0x74) ((0x0926 0x094D 0x0930) 0x70 0xF9) ((0x0926 0x094D 0x0935) 0x75 0xF9) ((0x0926) 0x6E 0xF9) ((0x0927 0x094D 0x0930 0x094D) 0x77) ((0x0927 0x094D 0x0930) 0x77 0xC9) ((0x0927 0x094D) 0x76) ((0x0927) 0x76 0xC9) ((0x0928 0x094D 0x0928 0x094D) 0x7A) ((0x0928 0x094D 0x0928) 0x7A 0xC9) ((0x0928 0x094D 0x0930 0x094D) 0x79 0xC9) ((0x0928 0x094D 0x0930) 0x79 0xC9) ((0x0928 0x094D) 0x78) ((0x0928) 0x78 0xC9) ((0x0929) 0x78 0xC3 0xC9) ((0x092A 0x094D 0x0930 0x094D) 0x7C) ((0x092A 0x094D 0x0930) 0x7C 0xC9) ((0x092A 0x094D) 0x7B) ((0x092A) 0x7B 0xC9) ((0x092B 0x094D 0x0930) 0xA3 0xFB) ((0x092B 0x094D) 0x7D) ((0x092B) 0xA1 0xFB) ((0x092C 0x094D 0x0930 0x094D) 0xA5) ((0x092C 0x094D 0x0930) 0xA5 0xC9) ((0x092C 0x094D) 0xA4) ((0x092C) 0xA4 0xC9) ((0x092D 0x094D 0x0930 0x094D) 0xA7) ((0x092D 0x094D 0x0930) 0xA7 0xC9) ((0x092D 0x094D) 0xA6) ((0x092D) 0xA6 0xC9) ((0x092E 0x094D 0x0930 0x094D) 0xA9) ((0x092E 0x094D 0x0930) 0xA9 0xC9) ((0x092E 0x094D) 0xA8) ((0x092E) 0xA8 0xC9) ((0x092F 0x094D 0x0930 0x094D) 0xAB) ((0x092F 0x094D 0x0930) 0xAB 0xC9) ((0x092F 0x094D) 0xAA) ((0x092F) 0xAA 0xC9) ((0x0930 0x0941) 0xAF 0xFB) ((0x0930 0x0942) 0xB0 0xFC) ((0x0930) 0xAE 0xF7) ((0x0931 0x094D) 0xAD) ((0x0931) 0xAE 0xC3 0xF7) ((0x0932 0x094D) 0xB1) ((0x0932) 0xB1 0xC9) ((0x0933 0x094D) 0xB2) ((0x0933) 0xB3) ((0x0934 0x094D) 0xB2 0xC3) ((0x0934) 0xB3 0xC3) ((0x0935 0x094D 0x0930 0x094D) 0xB5) ((0x0935 0x094D 0x0930) 0xB5 0xC9) ((0x0935 0x094D) 0xB4) ((0x0935) 0xB4 0xC9) ((0x0936 0x094D 0x0930 0x094D) 0xB8) ((0x0936 0x094D 0x0930) 0xB8 0xC9) ((0x0936 0x094D 0x0935 0x094D) 0xB7) ((0x0936 0x094D 0x0935) 0xB7 0xC9) ((0x0936 0x094D) 0xB6) ((0x0936) 0xB6 0xC9) ((0x0937 0x094D) 0xB9) ((0x0937) 0xB9 0xC9) ((0x0938 0x094D 0x0930 0x094D) 0xBB) ((0x0938 0x094D 0x0930) 0xBB 0xC9) ((0x0938 0x094D) 0xBA) ((0x0938) 0xBA 0xC9) ((0x0939 0x0943) 0xBE) ((0x0939 0x094D 0x092E) 0xC0) ((0x0939 0x094D 0x092F) 0xC1) ((0x0939 0x094D 0x0930) 0xBF) ((0x0939 0x094D) 0xBC) ((0x0939) 0xBD) ((0x094D 0x092F) 0xAC) ((0x094D 0x0930) 0xC5) ((0x0958 0x094D) 0x44) ((0x0958) 0x46 0xF2 0xF3) ((0x0959 0x094D) 0x4B) ((0x0959) 0x4B 0xC9) ((0x095A 0x094D) 0x4E) ((0x095A) 0x4E 0xC9) ((0x095B 0x094D) 0x57) ((0x095B) 0x57 0xC9) ((0x095C) 0x63 0xF7) ((0x095D) 0x67 0xF8) ((0x095E 0x094D) 0x7E) ((0x095E) 0xA2 0xFB) ((0x095F) 0xAA 0xC3 0xC9) ((0x094D) 0xC2))) (matra (cond ((0x093E) 0xC9) ((0x093F 0x0901) 0xCA 0xC6) ((0x093F) 0xCA) ((0x0940 0x0901) 0xD2 0xC6) ((0x0940) 0xD2) ((0x0941) 0xD6) ((0x0942) 0xDA) ((0x0943) 0xDE) ((0x0944) 0xDF) ((0x0945) 0xEC) ((0x0946 0x0901) 0xE0 0xC6) ((0x0946) 0xE0) ((0x0947 0x0901) 0xE4 0xC6) ((0x0947) 0xE4) ((0x0948 0x0901) 0xE8 0xC6) ((0x0948) 0xE8) ((0x0949 0x0901) 0xC9 0xC4) ((0x0949 0x0902) 0xC9 0xC4) ((0x0949) 0xC9 0xEC) ((0x094A 0x0901) 0xC9 0xE0 0xC6) ((0x094A) 0xC9 0xE0) ((0x094B 0x0901) 0xC9 0xE4 0xC6) ((0x094B) 0xC9 0xE4) ((0x094C 0x0901) 0xC9 0xE8 0xC6) ((0x094C) 0xC9 0xE8))) (independent (cond ((0x0900) 0x23 0xC7) ; fake!! ((0x0903) 0x26) ((0x093C) 0xC3) ((0x093D) 0x25) ((0x0950) 0x24) ;new ((0x0951) 0x27) ;new ((0x0964) 0x2A) ((0x0965) 0x2A 0x2A) ((0x0966) 0x30) ((0x0967) 0x31) ((0x0968) 0x32) ((0x0969) 0x33) ((0x096A) 0x34) ((0x096B) 0x35) ((0x096C) 0x36) ((0x096D) 0x37) ((0x096E) 0x38) ((0x096F) 0x39) ((0x094D) 0x23 Bc>10Bl 0xC2) ((0x093F) 0xCA Bc>10Bl 0x23) ((0x0940) 0x23 0xD2) ))) (category ;; C: CONSONANTS ;; I: VOWEL SIGN I ;; R: RIGHT MODIFIER ;; S: SPACING ;; E: ELSE ;; (0x00 0xFF ?E) (0x3C 0xC1 ?C) (0xC9 ?R) (0xCA 0xD1 ?I) (0xD2 0xD5 ?R) (0xF0 0xFE ?S)) (generator (0 (cond (" ([^ ]*) " (1 (cond ("(I[^C]*)(CC[^R]*)(R.*)" (1 rule-i-wide = *) (2 rule-else = *)) ("(I[^C]*)(CC[^S]*)(S)(.*)" (1 rule-i-wide = *) (2 = *) (4 rule-else = *) (3 = *)) ("([^R]*)(R).*" (0 rule-else = *)) ("([^S]*)(S)(.*)" (1 rule-else = *) (3 rule-else = *) (2 = *)) (".*" = *)))) ("[^ ]*" = *)) *) (rule-i-wide (cond ((0xCA 0xC6) 0xCF) ((0xCA 0xC7 0xC6) 0xD1) ((0xCA 0xC7) 0xD0) ((0xCA) 0xCE))) (rule-else (cond ((0xC3 0xD6) 0xD7) ((0xC3 0xDA) 0xDB) ((0xC5 0xD6) 0xD8) ((0xC5 0xDA) 0xDC) ((0xC7 0xC4) 0xC8) ((0xC7 0xC6) 0xC8) ((0xCA 0xC6) 0xCB) ((0xCA 0xC7 0xC6) 0xCD) ((0xCA 0xC7) 0xCC) ((0xD2 0xC6) 0xD3) ((0xD2 0xC7 0xC6) 0xD5) ((0xD2 0xC7) 0xD4) ((0xE0 0xC6) 0xE1) ((0xE0 0xC7 0xC6) 0xE3) ((0xE0 0xC7) 0xE2) ((0xE4 0xC6) 0xE5) ((0xE4 0xC7 0xC6) 0xE7) ((0xE4 0xC7) 0xE6) ((0xE8 0xC6) 0xE9) ((0xE8 0xC7 0xC6) 0xEB) ((0xE8 0xC7) 0xEA) ((0xEC 0xC6) 0xED) ((0xEC 0xC7 0xC6) 0xEF) ((0xEC 0xC7) 0xEE)))) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; End: FONTENC.tbl000064400000005745147633214350006366 0ustar00;; FONTENC.tbl -- Font Encoding -*- lisp -*- ;; Copyright (C) 2003, 2004, 2005 ;; 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. ;; ;; The file format is this: ;; (FONT-SPEC ENCODING-CHARSET [ REPERTORY-CHARSET ]) ... ;; ;; FONT-SPEC has this form: ;; ([FOUNDRY FAMILY [WEIGHT [STYLE [STRETCH [ADSTYLE]]]]] REGISTRY) ;; ;; See the file FORMAT/FontEncoding.txt for the detail. ;;;
  • FONTENC.tbl ;;; ;;; Information about encodings of fonts. See the section @ref ;;; mdbFontEncoding. ((nil nil iso8859-1) iso-8859-1) ((nil nil iso8859-2) iso-8859-2) ((nil nil iso8859-3) iso-8859-3) ((nil nil iso8859-4) iso-8859-4) ((nil nil iso8859-5) iso-8859-5) ((nil nil iso8859-6) iso-8859-6) ((nil nil iso8859-7) iso-8859-7) ((nil nil iso8859-8) iso-8859-8) ((nil nil iso8859-9) iso-8859-9) ((nil nil iso8859-10) iso-8859-10) ((nil nil tis620.2529-1) iso-8859-11) ((nil nil tis620.2533-0) iso-8859-11) ((nil nil iso8859-13) iso-8859-13) ((nil nil iso8859-14) iso-8859-14) ((nil nil iso8859-15) iso-8859-15) ((nil nil jisx0201.1976-0) jisx0201) ((nil nil jisx0208.1983-0) jisx0208.1983) ((nil nil jisx0208.1990-0) jisx0208.1990) ((nil nil jisx0212.1990-0) jisx0212) ((nil nil jisx0213.2000-1) jisx0213-1) ((nil nil jisx0213.2000-2) jisx0213-2) ((nil nil jisx0213.2004-1) jisx0213.2004-1) ((nil nil gb2312.1980-0) gb2312.1980) ((nil nil gbk-0) gbk) ((nil nil ksc5601.1987-0) ksc5601.1987) ((nil nil viscii1.1-1) viscii) ((nil nil microsoft-cp1251) cp1251) ((nil nil big5.eten-0) big5) ((nil nil big5-1) big5) ((nil nil ethiopic-unicode) unicode unicode-ethiopic) ((nil nil mulelao-1) unicode unicode-lao) ((nil nil iso10646-1) unicode nil) ((nil nil unicode-bmp) unicode nil) ((nil nil unicode-full) unicode nil) ;; These fonts can't be used without a FLT. ((nil nil devanagari-cdac) nil) ((nil nil malayalam-cdac) nil) ((nil nil tamil-cdac) nil) ((nil dv-ttyogesh nil) nil) ((nil tm-ttvalluvar nil) nil) ((nil ml-ttkarthika nil) nil) ((nil alice0\ lao nil) nil) ((nil cmex10 nil) nil) ((nil cmmi10 nil) nil) ((nil cmr10 nil) nil) ((nil cmsy10 nil) nil) ((nil msam10 nil) nil) ((nil msbm10 nil) nil) ((nil wasy10 nil) nil) th-kesmanee.mim000064400000021745147633214350007472 0ustar00;; th-kesmanee.mim -- Thai input method with Kesmanee keyboard layout ;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 ;; 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 th kesmanee) (description "Thai input method simulating the Kesmanee keyboard with WTT 2.0 input sequence correction. The correction algorithm follows the one shown in the following ") (title "ท") (variable (level (_"Acceptance level The level of character sequence acceptance defined in WTT 2.0. 0 accepts any key sequence. 2 accepts only orthographic ones. 1 is somewhere between.") 1 0 1 2)) (macro ;; input global variables : arg1, arg2 ;; output global variable : ret (cp (cond ((= level 0) (set ret 1)) (1 (cp12)))) ;; input global variables : arg1, arg2 ;; output global variable : ret (ac (cond ((= level 0) (set ret 1)) ((= level 1) (ac1)) (1 (ac2)))) ;; Level 1 & 2 composability (cp12 (set ret 0) (cond ;; next = BV1|BV2|BD|AD3|AV1|AV2|AV3, previous = CONS ((| (= arg2 0x0E31) (& (>= arg2 0x0E34) (<= arg2 0x0E3A)) (= arg2 0x0E4E)) (cond ((| (& (>= arg1 0x0E01) (<= arg1 0x0E23)) (= arg1 0x0E25) (& (>= arg1 0x0E27) (<= arg1 0x0E2E))) (set ret 1)))) ;; next = TONE, previous = CONS|BV1|BV2|AV1|AV2|AV3 ((& (>= arg2 0x0E48) (<= arg2 0x0E4B)) (cond ((| (& (>= arg1 0x0E01) (<= arg1 0x0E23)) (= arg1 0x0E25) (& (>= arg1 0x0E27) (<= arg1 0x0E2E)) (= arg1 0x0E31) (& (>= arg1 0x0E34) (<= arg1 0x0E39))) (set ret 1)))) ;; next = AD1, previous = CONS|BV1|AV1 ((& (>= arg2 0x0E4C) (<= arg2 0x0E4D)) (cond ((| (& (>= arg1 0x0E01) (<= arg1 0x0E23)) (= arg1 0x0E25) (& (>= arg1 0x0E27) (<= arg1 0x0E2E)) (= arg1 0x0E38) (= arg1 0x0E34)) (set ret 1)))) ;; next = AD2, previous = TONE| AV3 ((= arg2 0x0E47) (cond ((| (& (>= arg1 0x0E01) (<= arg1 0x0E23)) (= arg1 0x0E25) (& (>= arg1 0x0E27) (<= arg1 0x0E2E)) (= arg1 0x0E35) (= arg1 0x0E37)) (set ret 1)))))) ;; Level 1 acceptance (ac1 (set ret 1) (cond ((| (= arg2 0x0E31) (& (>= arg2 0x0E34) (<= arg2 0x0E3A)) (& (>= arg2 0x0E47) (<= arg2 0x0E4E))) (set ret 0)))) ;; Level 2 acceptance (ac2 (set ret 0) (cond ;; next = CTRL|CONS, previous = * ((| (<= arg2 0x001F) (& (>= arg2 0x0080) (<= arg2 0x009F)) (& (>= arg2 0x0E01) (<= arg2 0x0E23)) (= arg2 0x0E25) (& (>= arg2 0x0E27) (<= arg2 0x0E2E))) (set ret 1)) ;; next = NON|LV, previous = ~LV, ((| (& (>= arg2 0x0020) (<= arg2 0x007E)) (& (>= arg2 0x00A0) (<= arg2 0x0E00)) (= arg2 0x0E2F) (& (>= arg2 0x0E3F) (<= arg2 0x0E44)) (= arg2 0x0E46) (> arg2 0x0E4E)) (cond ((| (< arg1 0x0E40) (> arg1 0x0E44)) (set ret 1)))) ;; next = FV1, previous = CONS|FV1|FV2|BV1|TONE ((| (= arg2 0x0E30) (= arg2 0x0E32) (= arg2 0x0E33)) (cond ((| (& (>= arg1 0x0E01) (<= arg1 0x0E23)) (= arg1 0x0E25) (& (>= arg1 0x0E27) (<= arg1 0x0E2E)) (= arg1 0x0E30) (= arg1 0x0E32) (= arg1 0x0E33) (= arg1 0x0E45) (= arg1 0x0E38) (& (>= arg1 0x0E48) (<= arg1 0x0E4B))) (set ret 1)))) ;; next = FV2, previous = FV3|TONE ((= arg2 0x0E45) (cond ((| (= arg1 0x0E24) (= arg1 0x0E26) (& (>= arg1 0x0E48) (<= arg1 0x0E4B))) (set ret 1)))) ;; next = FV3, previous = ~LV~FV3 ((| (= arg2 0x0E24) (= arg2 0x0E26)) (cond ((& (| (< arg1 0x0E40) (> arg1 0x0E44)) (! (= arg1 0x0E24)) (! (= arg1 0x0E26))) (set ret 1))))))) (map (map ("!" "+") ("\"" ".") ("#" "๒") ("$" "๓") ("%" "๔") ("&" "฿") ("'" "ง") ("(" "๖") (")" "๗") ("*" "๕") ("+" "๙") ("," "ม") ("-" "ข") ("." "ใ") ("/" "ฝ") ("0" "จ") ("1" "ๅ") ("2" "/") ("3" "-") ("4" "ภ") ("5" "ถ") ("6" "ุ") ("7" "ึ") ("8" "ค") ("9" "ต") (":" "ซ") (";" "ว") ("<" "ฒ") ("=" "ช") (">" "ฬ") ("?" "ฦ") ("@" "๑") ("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" "ฟ") ("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" "ผ") ("{" "ฐ") ("|" "ฅ") ("}" ",") ("~" "%"))) ;; CTRL : 0000..0020, 007F..009F ;; NON : 0021..007E, 00A0..0E00 ;; CONS : 0E01..0E23, 0E25, 0E27..0E2E ;; LV : 0E40..0E44 ;; FV1 : 0E30, 0E32, 0E33 ;; FV2 : 0E45 ;; FV3 : 0E24, 0E26 ;; BV1 : 0E38 ;; BV2 : 0E39 ;; BD : 0E3A ;; TONE : 0E48..0E4B ;; AD1 : 0E4C, 0E4D ;; AD2 : 0E47 ;; AD3 : ;; AV1 : 0E34 ;; AV2 : 0E31, 0E36 ;; AV3 : 0E35, 0E37 (state (init (map (delete @<) (pushback 1) (shift main))) (main (map (set x @-3) (set y @-2) (set z @-1) (set arg1 y) (set arg2 z) (cp) (cond ((= ret 1)) ;; CP(y,z) succeeded. (1 (ac) (cond ((= ret 1)) ;; AC(y,z) succeeded. (1 ;; WTT-based input sequence correction starts here. ;; begin ;; if CP(x,z) then (set arg1 x) (set arg2 z) (cp) (cond ((= ret 1) ;; if CP(z,y) then (set arg1 z) (set arg2 y) (cp) (cond ((= ret 1) ;; reorder(y -> zy) (delete @-2) (insert z) (insert y)) ;; elif CP(x,y) then (1 (set arg1 x) (set arg2 y) (cp) (cond ((= ret 1) ;; replace(y -> z) (delete @-2) (insert z)) ;; elif y is FV1 and z is TONE then ((& (| (= y 0x0E30) (= y 0x0E32) (= y 0x0E33)) (>= z 0x0E48) (<= z 0x0E4B)) ;; reorder(y -> zy) (delete @-2) (insert z) (insert y)) ;; else ;; reject(z) (1 (delete @-1)) ;;endif )))) ;; elif AC(x,z) then (1 (set arg1 x) (set arg2 z) (ac) (cond ((& (= ret 1) ;; Only Thai characters should be replaced. (& (>= y 0x0E01) (<= y 0x0E5B)) (& (>= z 0x0E01) (<= z 0x0E5B))) ;; replace(y -> z) (delete @-2) (insert z)) ;; else ;; reject(z) (1 (delete @-1)) ;; endif ))) ;; end )))) ;; Now we commit the preedit chars that are fixed. (set w @-1) (cond ;; If surrounding text is supported, commit the only char in preedit. ((> @-0 -2) (commit)) ;; If the last char is CTRL or NON, we can commit everything. ((| (& (>= w 0x0000) (<= w 0x0E00)) (= w 0x0E2F) (= w 0x0E3F) (= w 0x0E46) (>= w 0x0E4F)) (commit)) ;; If the last char is CONS, we can commit everything but the last ;; unless the second last is FV3. ((| (& (>= w 0x0E01) (<= w 0x0E23)) (= w 0x0E25) (& (>= w 0x0E27) (<= w 0x0E2E))) (cond ((| (= @-2 0x0E24) (= @-2 0x0E26)) ; not commit yet ) (1 (delete @-1) (commit) (insert w)))) ;; If the last char is LV, FV2 or FV3, we can commit ;; everything but the last. ((| (& (>= w 0x0E40) (<= w 0x0E45)) (= w 0x0E24) (= w 0x0E26)) (delete @-1) (commit) (insert w)) ;; If the last char is FV1 (excluding AM) and ... ((| (= w 0x0E30) (= w 0x0E32)) (delete @-1) (set v @-1) (cond ;; ... the before last is CONS, we can commit other than the ;; last two. ((| (& (>= v 0x0E01) (<= v 0x0E23)) (= v 0x0E25) (& (>= v 0x0E27) (<= v 0x0E2E))) (delete @-1) (commit) (insert v) (insert w)) ;; ... else if the before last is not CONS, we can commit ;; everything but the last. (1 (commit) (insert w)))) )))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: vi-viqr.mim000064400000013160147633214350006656 0ustar00;; vi-viqr.mim -- Input method for Vietnames with VIQR key sequence ;; Copyright (C) 2003, 2004, 2005, 2008, 2009, 2010 ;; 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 vi viqr) (description (_"Vietnames input method using the VIQR key sequence. Typing Backslash ('\\') toggles the normal mode and English mode. The following variables are customizable: tone-mark-on-last: control tone mark position in equivocal cases backspace-is-undo: control the action of Backspace key (delete or undo)")) (title "Ắ(VIQR)") (variable (tone-mark-on-last (_"Flag to control tone mark position in equivocal cases. If this variable is 0 (the default), put tone mark on the first vowel in such equivocal cases as \"oa\", \"oe\", \"uy\". Otherwise, put tone mark on the last vowel.") 0 0 1) (backspace-is-undo (_"Flag to control the action of Backspace key (delete or undo). If this variable is 0 (the default), Backspace key deletes the previous character (e.g. \"q u a i s BS\" => \"quá\"). If the value is 1, Backspace key undoes the previous key \(e.g. \"q u a i s BS\" => \"quai\").") 0 0 1)) (include (t nil vi-base) macro) (include (t nil vi-base) map) (map (vowel-ext ("a^" ("âấầẩẫậ")) ("A^" ("ÂẤẦẨẪẬ")) ("a(" ("ăắằẳẵặ")) ("A(" ("ĂẮẰẲẴẶ")) ("e^" ("êếềểễệ")) ("E^" ("ÊẾỀỂỄỆ")) ("o^" ("ôốồổỗộ")) ("O^" ("ÔỐỒỔỖỘ")) ("o+" ("ơớờởỡợ")) ("O+" ("ƠỚỜỞỠỢ")) ("u+" ("ưứừửữự")) ("U+" ("ƯỨỪỬỮỰ"))) (consonant-ext ("dd" ?đ) ("DD" ?Đ) ("Dd" ?Đ)) (tone-mark ("0" (set SELECT 0) ?0) ("'" (set SELECT 1) ?') ("`" (set SELECT 2) ?`) ("?" (set SELECT 3) ??) ("~" (set SELECT 4) ?~) ("." (set SELECT 5) ?.)) (temporary-escape ("a^^" "a^") ("A^^" "A^") ("a((" "a(") ("A((" "A(") ("e^^" "e^") ("E^^" "E^") ("o^^" "o^") ("O^^" "O^") ("o++" "o+") ("O++" "O+") ("u++" "u+") ("U++" "U+"))) (state (init ;; Initialize variables. C is the initial consonant. V-N is the ;; (N-1)th vowel from the last. C-AFTER-V is a number of consonants ;; typed after vowel. NST is 1 iff surrounding text is not supported. (t (set C @-1) (set V-1 0) (set V-2 0) (set V-3 0) (set C-AFTER-V 0) (set SELECT 0) (set NST (= @-0 -2))) (consonant (set C @-1) (cond (NST (shift after-c)))) (consonant-ext (set C @-1) (cond (NST (shift after-c)))) ;; Mark M remembers the preedit position after the last vowel. (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (temporary-escape (shift temporary-escape)) (permanent-escape (shift escape-in-normal-mode))) ;; The state shifted to when an initial consonants is typed and ;; surrounding text is not supported. (after-c (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v))) ;; The state shifted to when a vowel is typed. (after-v (consonant (shift after-vc)) (consonant-ext (shift after-vc)) (vowel (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (vowel-ext (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (tone-mark (delete @-) (pushback 1) (shift after-t)) (backspace (delete @-) (cond (V-3 (set V-1 V-2) (set V-2 V-3) (set V-3 0) (cond ((> TPLACE 2) (set SELECT 0)))) (V-2 (set V-1 V-2) (set V-2 0) (cond ((> TPLACE 1) (set SELECT 0)))) (1 (shift init))))) ;; The state shifted to when a consonant is typed after a vowel. (after-vc (t (set C-AFTER-V 1)) (consonant (add C-AFTER-V 1)) (consonant-ext (add C-AFTER-V 1)) (tone-mark (delete @-) (pushback 1) (shift after-t)) (backspace (delete @-) (sub C-AFTER-V 1) (cond ((= C-AFTER-V 0) (shift after-v))))) ;; The state shifted to when a tone-mark is typed. (after-t (t (set CURRENT-SELECT -1)) (tone-mark (cond ((= CURRENT-SELECT SELECT) (move T) (select 0) (move @>) (shift temporary-escape)) (1 (delete @-) (handle-mark) (set CURRENT-SELECT SELECT)))) (nil (cond (C-AFTER-V (shift after-vc)) (1 (shift after-v))))) (temporary-escape "en" (t (commit)) (alnum (commit))) (escape-in-normal-mode "EN" (permanent-escape (insert "\\") (shift init)) ;; Any other key force shifting to permanent-escape. (nil (shift permanent-escape))) (permanent-escape "EN" (t (set ESCAPE 1)) (permanent-escape (shift escape-in-permanent-escape)) ;; Unhandle any characters. (nil (unhandle))) (escape-in-permanent-escape "Ắ" (permanent-escape (insert "\\") (commit) (shift permanent-escape)) ;; Any other key force shifting to init )) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: vi-base.mim000064400000012240147633214350006605 0ustar00;; vi-base.mim -- Provide bases for Vietnamese Input method ;; Copyright (C) 2008, 2009 ;; 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 t nil vi-base) (description "Provide bases for Vietnamese input methods. This is acutually not a standalone input method, but is expected to be included in the other Vietnamese input method (e.g. vi-telex, vi-vni). ") ;; Usage of variables: ;; M (mark): point after the last vowel ;; T (mark): point after the tone-mark-attached vowel ;; TPLACE: On which vowel a tone is attached (0:none, 1:1st, 2:2nd, or 3:3rd) ;; C: The initial consonant ;; V-1: The last vowel ;; V-2: The second from the last vowel (or 0 if there aren't two vowels) ;; V-3: The third from the last vowel (or 0 if there aren't three vowels) ;; C-AFTER-V: Number of the final consonants ;; SELECT: Which tone is selected (macro (handle-mark ;; At first, cancel the tone mark if already put. (move T) (select 0) (move M) (cond (V-3 ;; Tripple-vowel ;; Put a tone mark on the last vowel if it is ê, or ơ. ;; Otherwise put a tone mark on the second vowel. (cond ((| (= V-1 ?ê) (= V-1 ?ơ) (= V-1 ?Ê) (= V-1 ?Ơ)) (set TPLACE 3)) (1 (move @-) (set TPLACE 2)))) (V-2 ;; Double-vowel ;; Put a tone mark on the last vowel in the following cases: ;; * The last vowel is â, ă, ê, ô, ơ, ư, or ư (i.e. non-ASCII). ;; * The initial consonant and the first vowel is "gi" or "qu". ;; * tone-mark-on-last is customized to 1 in such equivocal ;; cases as "oa", "oe", "oo", and "uy". ;; Otherwise put a tone mark on the first vowel. (cond ((| (> V-1 127) (& (| (= C ?g) (= C ?G)) (| (= V-2 ?i) (= V-2 ?I))) (& (| (= C ?q) (= C ?Q)) (| (= V-2 ?u) (= V-2 ?U))) (& (| tone-mark-on-last (> C-AFTER-V 0)) (| (& (| (= V-2 ?o) (= V-2 ?O)) (| (= V-1 ?a) (= V-1 ?A) (= V-1 ?e) (= V-1 ?E) (= V-1 ?o) (= V-1 ?O))) (& (| (= V-2 ?u) (= V-2 ?U)) (| (= V-1 ?y) (= V-1 ?Y)))))) (set TPLACE 2)) (1 (move @-) (set TPLACE 1)))) (1 (set TPLACE 1))) (select SELECT) (mark T) (move @>))) (map ;; These must be defined in each input method. ;; (vowel-ext) ;; (consonant-ext) ;; (tone-mark) ;; (consonant-or-tone-mark) ;; (temporary-escape) (vowel ("a" ("aáàảãạ")) ("A" ("AÁÀẢÃẠ")) ("e" ("eéèẻẽẹ")) ("E" ("EÉÈẺẼẸ")) ("i" ("iíìỉĩị")) ("I" ("IÍÌỈĨỊ")) ("o" ("oóòỏõọ")) ("O" ("OÓÒỎÕỌ")) ("u" ("uúùủũụ")) ("U" ("UÚÙỦŨỤ")) ("y" ("yýỳỷỹỵ")) ("Y" ("YÝỲỶỸỴ"))) (consonant ("b" ?b) ("c" ?c) ("d" ?d) ("g" ?g) ("h" ?h) ("k" ?k) ("l" ?l) ("m" ?m) ("n" ?n) ("p" ?p) ("q" ?q) ("t" ?t) ("v" ?v) ("B" ?B) ("C" ?C) ("D" ?D) ("G" ?G) ("H" ?H) ("K" ?K) ("L" ?L) ("M" ?M) ("N" ?N) ("P" ?P) ("Q" ?Q) ("T" ?T) ("V" ?V)) ;;Khi cac phu am nay di sau nguyen am thi nen thoat ve tieng Anh ;;Should switch to English when these consonants are after any vowel (set temporary-escape) (ending-1st-notviet-consonant ; ("q" ?q) ("Q" ?Q) ("d" ?d) ("D" ?D) ("g" ?g) ("G" ?G) ("h" ?h) ("H" ?H) ("k" ?k) ("K" ?K) ("l" ?l) ("L" ?L) ("v" ?v) ("V" ?V) ("b" ?b) ("B" ?B) ("z" ?z) ("Z" ?Z)) ;; These are the consonants that can end a word, anything else is not VNese (ending-1st-consonant ; (e.g. tốt, đẹp, xấu) ("c" ?c) ("m" ?m) ("n" ?n) ("p" ?p) ("t" ?t) ("C" ?C) ("M" ?M) ("N" ?N) ("P" ?P) ("T" ?T)) (ending-2nd-consonant ; Can only go with 'n' or 'c' (e.g. sóng, sang, ích) ("g" ?g) ("h" ?h) ("G" ?G) ("H" ?H)) (alnum ("a" ?a) ("b" ?b) ("c" ?c) ("d" ?d) ("e" ?e) ("f" ?f) ("g" ?g) ("h" ?h) ("i" ?i) ("j" ?j) ("k" ?k) ("l" ?l) ("m" ?m) ("n" ?n) ("o" ?o) ("p" ?p) ("q" ?q) ("r" ?r) ("s" ?s) ("t" ?t) ("u" ?u) ("v" ?v) ("w" ?w) ("x" ?x) ("y" ?y) ("z" ?z) ("A" ?A) ("B" ?B) ("C" ?C) ("D" ?D) ("E" ?E) ("F" ?F) ("G" ?G) ("H" ?H) ("I" ?I) ("J" ?J) ("K" ?K) ("L" ?L) ("M" ?M) ("N" ?N) ("O" ?O) ("P" ?P) ("Q" ?Q) ("R" ?R) ("S" ?S) ("T" ?T) ("U" ?U) ("V" ?V) ("W" ?W) ("X" ?X) ("Y" ?Y) ("Z" ?Z) ("0" ?0) ("1" ?1) ("2" ?2) ("3" ?3) ("4" ?4) ("5" ?5) ("6" ?6) ("7" ?7) ("8" ?8) ("9" ?9)) (smart-quotes ("'" ?\') ("''" "‘’") ("\"" ?\") ("\"\"" "“”")) (permanent-escape ("\\")) (backspace ((BackSpace) (cond (backspace-is-undo (undo)))))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: ARAB-OTF.flt000064400000011454147633214350006423 0ustar00;; ARAB-OTF.flt -- Font Layout Table for Arabic OpenType font ;; Copyright (C) 2004, 2006, 2007, 2008, 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter arab-otf nil (font (nil nil unicode-bmp :otf=arab=init,medi,fina+mark))) ;;;
  • ARAB-OTF.flt ;;; ;;; For Arabic OpenType fonts to draw the Arabic script. ;; Step 0: Move Kazakh high hamza. (category ;; p: high hamza carrier (p for positive) ;; n: high hamza suppressor (n for negative) ;; x: don't care ;; X: presentation form (0x0600 0x06FF ?x) (0x0674 0x0678 ?p) (0x0643 ?n) (0x06AF ?n) (0x06D5 ?n) (0x0750 0x077F ?x) ; Arabic Supplement (0x200C ?x) (0x200D ?x) (0x25CC ?x) (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B ) (generator (0 (cond ;; If a presentation form is found, draw the whole sequence as is. (".*X.*" = *) (".*p.*" ; If a high hamza is found, (cond (".*n.*" ; and a suppressor exists, rmhamza *) ; then remove the high hamza. (0 ; Otherwise, move the high 0x674 rmhamza *))) ; hamza to the beginning. (0 = *))) ; If no high hamza, do nothing. (rmhamza (cond ((0x0674) ) ((0x0675) 0x0627) ((0x0676) 0x0648) ((0x0677) 0x06C7) ((0x0678) 0x0649) ("." =)))) ;; Step 1: ccmp (category ;; D: Dual-joining (beh, teh, etc. & zwj) ;; R: Right-joining (alef, dal, thal, reh, zain) ;; U: Non-joining (Hamza, etc. & zwnj) ;; T: Transparent (combining marks) (0x0600 0x06FF ?U) (0x0610 0x0615 ?T) (0x0622 0x0623 ?R) (0x0624 ?R) (0x0625 ?R) (0x0626 ?D) (0x0627 ?R) (0x0628 ?D) (0x0629 ?R) (0x062A 0x062E ?D) (0x062F 0x0632 ?R) (0x0633 0x0647 ?D) (0x0648 ?R) (0x0649 0x064A ?D) (0x064B 0x065E ?T) (0x066E 0x066F ?D) (0x0670 ?T) (0x0671 0x0673 ?R) (0x0679 0x0687 ?D) (0x0688 0x0699 ?R) (0x069A 0x06C3 ?D) (0x06C4 0x06CB ?R) (0x06CC 0x06CE ?D) (0x06CF ?R) (0x06D0 0x06D3 ?D) (0x06D5 ?R) (0x06D6 0x06E4 ?T) (0x06E7 0x06E8 ?T) (0x06EA 0x06ED ?T) (0x06EE 0x06EF ?R) (0x06FA 0x06FC ?D) (0x06FF ?D) (0x0750 0x0758 ?D) (0x0759 0x075B ?R) (0x075C 0x076A ?D) (0x076B 0x076C ?R) (0x076D 0x0770 ?D) (0x0771 ?R) (0x0772 ?D) (0x0773 0x0774 ?R) (0x0775 0x0777 ?D) (0x0778 0x0779 ?R) (0x077A 0x077F ?D) (0x200C ?U) (0x200D ?D) (0x25CC ?U) (0xFB50 0xFDFF ?X) ; Arabic Presentation Forms-A (0xFE70 0xFEFC ?X) ; Arabic Presentation Forms-B ) ;; (generator ;; (0 ;; otf:arab=ccmp+)) ;; Step 2: Initial, medial, or final. (generator (0 (cond (".*X.*" (cond ("[DRUX]T*" < = * >) ("." =)) *) ("D.*" (cond ("(.)(T*)([DR].*)" < (1 otf:arab=init+) (2 = *) > (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) < (1 otf:arab=isol+) (2 = *) > (3 disjoin)))) ("([RU])(T*)(.*)" < (1 otf:arab=isol+) (2 = *) > (3 disjoin)) ("(T+)(.*)" (1 (cond ((font-facility 0x25CC) < 0x25CC = * >) (".+" [ = * ]))) (2 disjoin)))) (join (cond ("D.*" (cond ("(.)(T*)([DR].*)" < (1 otf:arab=medi+) (2 = *) > (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) < (1 otf:arab=fina+) (2 = *) > (3 disjoin)))) ("(.)(T*)(.*)" < (1 otf:arab=fina+) (2 = *) > (3 disjoin)))) (disjoin (cond ("D.*" (cond ("(.)(T*)([DR].*)" < (1 otf:arab=init+) (2 = *) > (3 join)) ("(.)(T*)(.*)" ; == (D)(T*)(U.*) < (1 otf:arab=isol+) (2 = *) > (3 disjoin)))) ("(.)(T*)(.*)" ; == ([RU])(T*)(.*) < (1 otf:arab=isol+) (2 = *) > (3 disjoin))))) ;; Step 3: Other OTF features. (generator (0 otf:arab=rlig,calt,liga,dlig,cswh,mset+curs,kern,mark,mkmk)) ;; Copyright (C) 2004, 2006, 2007, 2008 ;; 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. ;; Local Variables: ;; mode: lisp ;; End: BNG2-OTF.flt000064400000015326147633214350006410 0ustar00;; BNG2-OTF.flt -- Font Layout Table for bng2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter bng2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=bng2))) ;;;
  • BNG2-OTF.flt ;;; ;;; For bng2 OpenType fonts to draw the Bengali script. ;; It seems that "Shornar Bangla.ttf" is designed to render the bng2 ;; script with the following glyph sequence. ;; 1. pre matra ;; 2. half forms and below forms ;; 3. base glyph ;; 4. below forms ;; 5. below matra (09C1..09C4) ;; 6. reph ;; 7. post forms ;; 8. post matra (09C0, 09D7) ;; 9. candrabindu (0981) ;; 10. anusvara (0982) or visarga (0983) (category ;; X: generic ;; V: independent vowel ;; C: consonant ;; R: RA ;; T: KHANDA TA ;; n: NUKTA ;; H: HALANT ;; m: vowel sign (pre) ;; b: vowel sign (below) ;; p: vowel sign (post) ;; a: vowel modifier (above) ;; A: vowel modifier (post) ;; N: ZWNJ ;; J: ZWJ (0x0980 0x09FF ?X) ; generic (0x0981 ?a) ; SIGN CANDRABINDU (0x0982 0x0983 ?A) ; SIGN ANUSVARA .. VISARGA (0x0985 0x0994 ?V) ; LETTER A .. AU (0x0995 0x09B9 ?C) ; LETTER KA .. HA (0x09B0 ?R) ; LETTER RA (0x09BC ?n) ; SIGN NUKTA (0x09BE ?p) ; VOWEL SIGN AA (0x09BF ?m) ; VOWEL SIGN I (0x09C0 ?p) ; VOWEL SIGN II (0x09C1 0x09C4 ?b) ; VOWEL SIGN U .. RR (0x09C7 0x09C8 ?m) ; VOWEL SIGN E .. AI (0x09CD ?H) ; SIGN VIRAMA (0x09CE ?T) ; LETTER KHANDA TA (0x09D7 ?p) ; AU LENGTH MARK (0x09DC 0x09DF ?C) ; LETTER RRA .. YYA (0x09E0 0x09E1 ?V) ; LETTER VOCALIC RR, LL (0x09E2 0x09E3 ?b) ; VOWEL SIGN L .. LL (0x09F0 ?R) ; LETTER RA WITH MIDDLE DIAGONAL (0x09F1 ?C) ; LETTER RA WITH LOWER DIAGONAL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (rphf ?r) (pstf ?P) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose two-part vowel signs. ((0x09CB) 0x09C7 0x09BE) ((0x09CC) 0x09C7 0x09D7) ;; TA + HALANT + ZWJ -> KHANDA-TA ((0x09A4 0x09CD 0x200D) 0x09CE) ;; consonant + NUKTA ((0x09A1 0x09BC) 0x09DC) ((0x09A2 0x09BC) 0x09DD) ((0x09AF 0x09BC) 0x09DF) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?Vn?(J?H[CR])?m?b?p?n?a?A?" < | = * | >) ;; KHANDA-TA combines only with reph. ("(RH)?(T)" < (2 =) (1 :otf=bng2=rphf+) >) ;; Consonant-based syllables ("([CR]n?J?HJ?)*[CR]n?(H[NJ]?|m?([NJ]?b)?p?n?)a?A?" < | = * | >) ;; Two-part vowel signs ((0x09C7 0x09BE) (cond ((font-facility 0x25CC) < 0x09C7 0x25CC 0x09BE >) (".+" < 0x09CB >))) ((0x09C7 0x09D7) (cond ((font-facility 0x25CC) < 0x09C7 0x25CC 0x09D7 >) (".+" < 0x09CC >))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHbpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("JH[CR]" (cond ((font-facility 0x25CC) < 0x25CC :otf=bng2=blwf,pstf+ >) (".+" [ :otf=bng2=blwf,pstf+ ]))) ("." =)) *)) ;; Stage 2 ;; Basic shaping forms and matra reordering (generator (0 (cond ;; Explicit halant form starting with RA + H + ZWJ (" (RHJ[CRnHJ]+)(HN?a?A?) " (1 :otf?bng2=locl,nukt,akhn,blwf,pstf+) | (1 b4post) (1 post) (2 = *) |) ;; Explicit halant form starting with a reph (" (RH)([CRnHJ]+)(HN?a?A?) " (2 :otf?bng2=locl,nukt,akhn,blwf,pstf+) | (1 :otf=bng2=rphf+) (2 b4post) (2 post) (3 = *) |) ;; Other explicit halant forms (" ([CRnHJ]+)(HN?a?A?) " (1 :otf?bng2=locl,nukt,akhn,blwf,pstf+) | (1 b4post) (1 post) (2 = *) |) ;; Ordinary syllables starting with RA + H + ZWJ ;; 1 2 3 45 (" (RHJ[CRnHJN]*)(mn?)?(bn?)?((pn?)?a?A?) " ;; | ;; This is an asterisk. (See DEV2-OTF.flt) (1 :otf?bng2=locl,nukt,akhn,blwf,pstf+) | (2 = *) (1 b4post) (3 = *) (1 post) (4 = *) |) ;; Ordinary syllables starting with a reph ;; 1 2 3 4 56 (" (RH)([CRnHJVN]+)(mn?)?(bn?)?((pn?)?a?A?) " (2 :otf?bng2=locl,nukt,akhn,blwf,pstf+) | (3 = *) (1 :otf=bng2=rphf+) (2 b4post) (4 = *) (2 post) (5 = *) |) ;; Other ordinary syllables ;; 1 2 3 45 (" ([CRnHJVN]+)(mn?)?(bn?)?((pn?)?a?A?) " (1 :otf?bng2=locl,nukt,akhn,blwf,pstf+) | (2 = *) (1 b4post) (3 = *) (1 post) (4 = *) |) ("." =)) *) (b4post (cond ;;1 23 4 ("([CRnHJP]*[CRV]n?)((J?PP)+)([NJ])?$" (1 :otf=bng2=locl,nukt,akhn,blwf,half,vatu,cjct+) (4 =)) (".+" (0 :otf=bng2=locl,nukt,akhn,blwf,half,vatu,cjct+) (4 =)))) (post (cond ("[CRnHJP]*[CRV]n?((J?PP)+)([NJ])?$" (1 :otf=bng2=pstf+)))) ) ;; Stage 3 ;; Final reordering #1 (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 4 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^HP ]+HJ?)([^ ]*) " | (1 = *) (3 = *) (2 =) (4 = *) |) ;; A reph without explicit halant ;; 1 2 3 4 (" (mn?)?(r)([^PpaA ]+)(P*H?p?n?a?A?) " | (1 = *) (3 = *) (2 =) (4 = *) |) ("." =)) *)) ;; Stage 5 ;; Nukta for matra and Presentation forms (generator (0 (cond (" (mn?)?([^ ]+) " | (1 :otf=bng2=nukt,init+) (2 :otf=bng2=nukt,pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 6 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 7 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=bng2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: LANGUAGE.tbl000064400000042611147633214350006446 0ustar00;; LANGUAGE.tbl -- ISO639 Language Code -*- mode:lisp; coding:utf-8; -*- ;; Copyright (C) 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. ;; ;; The file format is this: ;; (ISO639-2 ISO639-1 "ENGLISH-NAME" [ "NATIVE-NAME" [ "EXTRA-CHARS" ]]) ... ;; ISO639-2: 3-letter language code of ISO639-2. ;; ISO639-1: 2-letter language code of ISO639-1, or nil if it doesn't exist. ;; ENGLISH-NAME: English name of the language. ;; NATIVE-NAME: Native name of the language. ;; EXTRA-CHARS: Extra characters that uniquifies the language. ;; ;; ISO639-2 and ISO639-1 are extracted from ISO-639-2.txt. ;; ENGLISH-NAME and NATIVE-NAME are mainly extracted from CLDR, ;; but are also supplemented from these sites: ;; http://www.unicode.org/Public/cldr/cldr1.2.zip ;; http://www.geonames.de/ ;; http://www.omniglot.com/language/names.htm ;; http://www.mediaglyphs.org/mg/p/langnames.html ;; Other sources of NATIVE-NAME are: ;; herero, kara-kalpak, kanuri, kuanyama, luba-katanga, ganda, ndonga, ;; Southern/Nothern/LulæInari/Skolt Sami, Sundanese, Twi ;; from http://www.rtt.org/ISO/TC37/SC2/WG1/639/ISO639-identifiers.html ;; ;; cebuano, ewondo, panpangan, rarotongan, zapotec, kikuyu, chuukese ;; chinook, hiligaynon, iloko, khasi, kosraean, kru, lamba, mossi, ;; neapolitan, ;; from http://www.christusrex.org/www1/pater/ ;; ;; lojban from http://www.lojban.org/ ;; interlingue from http://www.interlingue.org/ ;; interlingua from http://www.interlingua.com/ ;; afrihili from http://www.langmaker.com ;; fula from http://people.w3.org/rishida/names/languages.html ;; klingon from http://www.geocities.com/hippietrail/langtable.html ;; kachin from http://kachinnews.com ;; mirandese from http://mirandes.no.sapo.pt/ ;; masai from http://darkwing.uoregon.edu/~dlpayne/maasai/maling.htm ;; nias from ;; http://www.rosettaproject.org:8080/emeldbase/NIP/reply_html?comid=131 ;; osage from http://www.osage-ncoa.org/pages/language.shtml ;; yao from http://www.sim.org/PG.asp?pgID=67&fun=1 (aar aa "Afar" "Qafar") (abk ab "Abkhazian" "Абхазо") (ace nil "Achinese") (ach nil "Acoli") (ada nil "Adangme") (ady nil "Adyghe" "адыгэбзэ") (afa nil "Afro-Asiatic (Other)") (afh nil "Afrihili" "El-Afrihili") (afr af "Afrikaans" "Afrikaans") (ain nil "Ainu") (aka ak "Akan" "akana") (akk nil "Akkadian" "akkadû") (alb sq "Albanian" "shqipe") (ale nil "Aleut") (alg nil "Algonquian Languages") (alt nil "Southern Altai" "алтай тил") (amh am "Amharic" "አማርኛ") (ang nil "Old English (ca.450-1100)") (anp nil "Angika") (apa nil "Apache Languages") (ara ar "Arabic" "العربية") (arc nil "Aramaic" "בְּאַרָמִית") (arg an "Aragonese" "aragonés") (arm hy "Armenian" "Հայերէն") (arn nil "Araucanian" "Araucano") (arp nil "Arapaho") (art nil "Artificial (Other)") (arw nil "Arawak") (asm as "Assamese" "অসমীয়া") (ast nil "Asturian" "Asturianu") (ath nil "Athapascan Languages") (aus nil "Australian Languages") (ava av "Avaric" "магIарул мацI") (ave ae "Avestan") (awa nil "Awadhi") (aym ay "Aymara" "Aymará") (aze az "Azerbaijani" "азәрбајҹанҹа") (bad nil "Banda") (bai nil "Bamileke Languages") (bak ba "Bashkir" "башҡортса") (bal nil "Baluchi" "بلچي") (bam bm "Bambara" "Bamanankan") (ban nil "Balinese" "basa Bali") (baq eu "Basque" "euskara") (bas nil "Basa") (bat nil "Baltic (Other)") (bej nil "Beja") (bel be "Belarusian" "Беларускі") (bem nil "Bemba" "chiBemba") (ben bn "Bengali" "বাংলা") (ber nil "Berber") (bho nil "Bhojpuri" "भोजपुरी") (bih bh "Bihari") (bik nil "Bikol") (bin nil "Bini") (bis bi "Bislama" "Bislama") (bla nil "Siksika") (bnt nil "Bantu") (bos bs "Bosnian" "Bošnjački") (bra nil "Braj") (bre br "Breton" "ar brezhoneg") (btk nil "Batak") (bua nil "Buriat" "буряад хэлэн") (bug nil "Buginese") (bul bg "Bulgarian" "Български") (bur my "Burmese" "ဴမန္မာစာ") (byn nil "Blin" "ብሊን") (cad nil "Caddo") (cai nil "Central American Indian (Other)") (car nil "Carib") (cat ca "Catalan" "català") (cau nil "Caucasian (Other)") (ceb nil "Cebuano" "Bisayocebuano") (cel nil "Celtic (Other)") (cha ch "Chamorro" "Chamoru") (chb nil "Chibcha") (che ce "Chechen" "Нохчийн") (chg nil "Chagatai") (chi zh "Chinese" "中文" "ㄅㄆㄇ") (chk nil "Chuukese" "Chuk") (chm nil "Mari" "марий") (chn nil "Chinook Jargon" "Chinook Wawa") (cho nil "Choctaw") (chp nil "Chipewyan" "ᑌᓀᓲᒢᕄᓀ") (chr nil "Cherokee" "ᏣᎳᎩ") (chu cu "Church Slavic" "ѩзыкъ словѣньскъ") (chv cv "Chuvash" "чӑваш чӗлхи") (chy nil "Cheyenne" "Tsétsêhéstâhese") (cmc nil "Chamic Languages") (cop nil "Coptic" "μετν̀ρεμν̀χημι") (cor kw "Cornish" "kernewek") (cos co "Corsican" "Corsu") (cpe nil "Other English-based Creoles and Pidgins") (cpf nil "Other French-based Creoles and Pidgins") (cpp nil "Other Portuguese-based Creoles and Pidgins") (cre cr "Cree" "ᓀᐦᐃᔭᐍᐏᐣ") (crh nil "Crimean Tatar" "Къырым татар") (crp nil "Creoles and Pidgins (Other)") (csb nil "Kashubian" "kaszëbsczi jãzëk") (cus nil "Cushitic (Other)") (cze cs "Czech" "Čeština") (dak nil "Dakota") (dan da "Danish" "Dansk") (dar nil "Dargwa" "дарган мез") (day nil "Dayak") (del nil "Delaware" "Lënape") (den nil "Slave") (dgr nil "Dogrib") (din nil "Dinka" "Thuɔŋjäŋ") (div dv "Divehi" "ދިވެހިބަސް") (doi nil "Dogri" "डोगरी") (dra nil "Dravidian (Other)") (dsb nil "Lower Sorbian" "dolnoserbski") (dua nil "Duala") (dum nil "Middle Dutch") (dut nl "Dutch" "Nederlands") (dyu nil "Dyula") (dzo dz "Dzongkha" "རྫོང་ཁ") (efi nil "Efik") (egy nil "Egyptian (Ancient)") (eka nil "Ekajuk") (elx nil "Elamite") (eng en "English" "English") (enm nil "Middle English") (epo eo "Esperanto" "esperanto") (est et "Estonian" "Eesti keel") (ewe ee "Ewe" "Ɛʋɛ") (ewo nil "Ewondo" "Ewondo") (fan nil "Fang") (fao fo "Faroese" "Føroyska") (fat nil "Fanti") (fij fj "Fijian" "vosa Vakaviti") (fil nil "Filipino" "Filipino") (fin fi "Finnish" "suomi") (fiu nil "Finno - Ugrian (Other)") (fon nil "Fon" "fongbe") (fre fr "French" "français") (frm nil "Middle French") (fro nil "Old French") (frr nil "Northern Frisian") (frs nil "Eastern Frisian") (fry fy "Western Frisian" "Frysk") (ful ff "Fulah" "Fulfulde") (fur nil "Friulian" "Furlan") (gaa nil "Ga") (gay nil "Gayo") (gba nil "Gbaya") (gem nil "Germanic (Other)") (geo ka "Georgian" "ქართული") (ger de "German" "Deutsch") (gez nil "Geez" "ግዕዝኛ") (gil nil "Gilbertese" "Ikiribati") (gla gd "Scottish Gaelic" "Gàidhlig") (gle ga "Irish" "Gaeilge") (glg gl "Galician" "galego") (glv gv "Manx" "Gaelg") (gmh nil "Middle High German") (goh nil "Old High German") (gon nil "Gondi") (gor nil "Gorontalo") (got nil "Gothic" "𐌲𐌿𐍄𐌰𐍂𐌰𐌶𐌳𐌰") (grb nil "Grebo") (grc nil "Ancient Greek") (gre el "Greek" "Ελληνικά") (grn gn "Guarani" "ava ñe'ê") (gsw nil "Swiss German") (guj gu "Gujarati" "ગુજરાતી") (gwi nil "Gwichʼin") (hai nil "Haida" "Xaad Kil") (hat ht "Haitian" "kreyòl ayisyen") (hau ha "Hausa" "هَوُسَ") (haw nil "Hawaiian" "ʻōlelo Hawaiʻi") (heb he "Hebrew" "עברית") (her hz "Herero" "otshiherero") (hil nil "Hiligaynon" "Ilongo") (him nil "Himachali") (hin hi "Hindi" "हिंदी") (hit nil "Hittite") (hmn nil "Hmong" "Kuv tsis has lug Moob tau") (hmo ho "Hiri Motu" "Hiri Motu") (hsb nil "Upper Sorbian" "hornjoserbsce") (hun hu "Hungarian" "magyar") (hup nil "Hupa") (iba nil "Iban") (ibo ig "Igbo" "Igbo") (ice is "Icelandic" "Íslenska") (ido io "Ido") (iii ii "Sichuan Yi") (ijo nil "Ijo") (iku iu "Inuktitut" "ᐃᓄᒃᑎᑐᑦ") (ile ie "Interlingue" "Interlingue") (ilo nil "Iloko" "Ilocano") (ina ia "Interlingua" "interlingua") (inc nil "Indic (Other)") (ind id "Indonesian" "Bahasa Indonesia") (ine nil "Indo-European (Other)") (inh nil "Ingush" "ГІалгІай") (ipk ik "Inupiaq" "Ieupiatun") (ira nil "Iranian (Other)") (iro nil "Iroquoian languages") (ita it "Italian" "italiano") (jav jv "Javanese" "basa Jawa") (jbo nil "Lojban" "lojban") (jpn ja "Japanese" "日本語" "あアー、。") (jpr nil "Judeo-Persian") (jrb nil "Judeo-Arabic") (kaa nil "Kara-Kalpak" "ҝараҝалпаҝ") (kab nil "Kabyle") (kac nil "Kachin" "Kachin") (kal kl "Kalaallisut" "kalaallisut") (kam nil "Kamba") (kan kn "Kannada" "ಕನ್ನಡ") (kar nil "Karen") (kas ks "Kashmiri" "कश्मीरी") (kau kr "Kanuri" "kanuri") (kaw nil "Kawi") (kaz kk "Kazakh" "Қазақ") (kbd nil "Kabardian" "къэбэрдеибзэ") (kha nil "Khasi" "Khasi") (khi nil "Khoisan (Other)") (khm km "Khmer" "ភាសាខ្មែរ") (kho nil "Khotanese") (kik ki "Kikuyu" "Gikũyũ") (kin rw "Kinyarwanda" "kinyaRwanda") (kir ky "Kirghiz" "Кыргыз") (kmb nil "Kimbundu") (kok nil "Konkani" "कोंकणी") (kom kv "Komi" "коми кыв") (kon kg "Kongo" "kiKongo") (kor ko "Korean" "한국어") (kos nil "Kosraean" "Kosrae") (kpe nil "Kpelle") (krc nil "Karachay-Balkar" "тилкъарачай-малкъар къарачай-малкъар") (krl nil "Karelian") (kro nil "Kru" "Kru") (kru nil "Kurukh") (kua kj "Kuanyama" "oshikwanyama") (kum nil "Kumyk" "къумукъ тил") (kur ku "Kurdish" "كوردي") (kut nil "Kutenai") (lad nil "Ladino" "ladino") (lah nil "Lahnda") (lam nil "Lamba" "ChiLamba") (lao lo "Lao" "ລາວ") (lat la "Latin" "Latine") (lav lv "Latvian" "latviešu valoda") (lez nil "Lezghian" "лезги чІал") (lim li "Limburgish") (lin ln "Lingala" "lingara") (lit lt "Lithuanian" "Lietuvių kalba") (lol nil "Mongo") (loz nil "Lozi" "siLozi") (ltz lb "Luxembourgish" "Lëtzebuergesch") (lua nil "Luba-Lulua") (lub lu "Luba-Katanga" "tshiluba") (lug lg "Ganda" "luganda") (lui nil "Luiseno") (lun nil "Lunda" "chiLunda") (luo nil "Luo" "Dholuo") (lus nil "Lushai") (mac mk "Macedonian" "македонски") (mad nil "Madurese") (mag nil "Magahi") (mah mh "Marshallese" "Ebon") (mai nil "Maithili" "मैथिली") (mak nil "Makasar") (mal ml "Malayalam" "മലയാളം") (man nil "Mandingo") (mao mi "Maori" "te reo Māori") (map nil "Austronesian") (mar mr "Marathi" "मराठी") (mas nil "Masai" "Maa") (may ms "Malay" "Bahasa Melayu") (mdf nil "Moksha") (mdr nil "Mandar") (men nil "Mende") (mga nil "Middle Irish") (mic nil "Micmac" "Míkmaw") (min nil "Minangkabau") (mis nil "Miscellaneous Languages") (mkh nil "Mon-Khmer (Other)") (mlg mg "Malagasy" "Malagasy") (mlt mt "Maltese" "Malti") (mnc nil "Manchu") (mni nil "Manipuri" "बिष्नुप्रीय मणिपुरी") (mno nil "Manobo Languages") (moh nil "Mohawk" "Kanien'keha") (mol mo "Moldavian" "молдовеняскэлимба лимба") (mon mn "Mongolian" "Монгол хэл") (mos nil "Mossi" "Mòoré") (mul nil "Multiple Languages") (mun nil "Munda Languages") (mus nil "Creek") (mwl nil "Mirandese" "Mirandesa") (mwr nil "Marwari") (myn nil "Mayan languages") (myv nil "Erzya" "эрзянь кель") (nah nil "Nahuatl" "nahuatlahtolli") (nai nil "North American Indian (Other)") (nap nil "Neapolitan" "Napolitano") (nau na "Nauru" "Ekakairũ Naoero") (nav nv "Navajo" "Diné") (nbl nr "South Ndebele" "isiNdebele") (nde nd "North Ndebele" "isiNdebele") (ndo ng "Ndonga" "oshindonga") (nds nil "Low Saxon" "Plattdüütsch") (nep ne "Nepali" "नेपाली") (new nil "Newari") (nia nil "Nias" "Li Niha") (nic nil "Niger - Kordofanian (Other)") (niu nil "Niuean" "faka-Niue") (nno nn "Norwegian Nynorsk" "norsk nynorsk") (nob nb "Norwegian Bokmål" "norsk bokmål") (nog nil "Nogai" "ногай тили") (non nil "Norse, Old" "norskr") (nor no "Norwegian" "norsk") (nso nil "Northern Sotho" "sePedi") (nub nil "Nubian Languages") (nwc nil "Classical Newari") (nya ny "Chewa" "Chicewa") (nym nil "Nyamwezi") (nyn nil "Nyankole") (nyo nil "Nyoro") (nzi nil "Nzima") (oci oc "Provençal" "Occitan") (oji oj "Ojibwa" "ᐊᓂᔑᓇᐯ") (ori or "Oriya" "ଓଡ଼ିଆ") (orm om "Oromo" "Oromoo") (osa nil "Osage" "Wazhazhe") (oss os "Ossetic" "ирон ӕвзаг") (ota nil "Ottoman Turkish") (oto nil "Otomian Languages") (paa nil "Papuan (Other)") (pag nil "Pangasinan") (pal nil "Pahlavi") (pam nil "Pampanga" "Panpango") (pan pa "Punjabi" "ਪੰਜਾਬੀ") (pap nil "Papiamento" "Papiamentu") (pau nil "Palauan" "tekoi ra Belau") (peo nil "Old Persian") (per fa "Persian" "فارسی") (phi nil "Philippine (Other)") (phn nil "Phoenician") (pli pi "Pali" "पािळ") (pol pl "Polish" "polski") (pon nil "Pohnpeian") (por pt "Portuguese" "português") (pra nil "Prakrit Languages") (pro nil "Old Provençal" "prouvençau") (pus ps "Pushto" "پښتو") (que qu "Quechua" "Runa Simi") (raj nil "Rajasthani") (rap nil "Rapanui") (rar nil "Rarotongan" "Rarotongan") (roa nil "Romance (Other)") (roh rm "Rhaeto-Romance" "Rumantsch") (rom nil "Romany" "Romani šib") (rum ro "Romanian" "Limba Română") (run rn "Rundi" "kiRubdi") (rup nil "Aromanian") (rus ru "Russian" "Русский") (sad nil "Sandawe") (sag sg "Sango" "sängö") (sah nil "Yakut" "саха тыла") (sai nil "South American Indian (Other)") (sal nil "Salishan languages") (sam nil "Samaritan Aramaic") (san sa "Sanskrit" "संस्कृत") (sas nil "Sasak") (sat nil "Santali" "संथाली") (scc sr "Serbian" "Српски") (scn nil "Sicilian" "Siculo") (sco nil "Scots" "Lallans") (scr hr "Croatian" "hrvatski") (sel nil "Selkup" "селькуп") (sem nil "Semitic (Other)") (sga nil "Old Irish") (sgn nil "Sign Languages") (shn nil "Shan") (sid nil "Sidamo" "Sidaamu Afo") (sin si "Sinhalese" "සිංහල") (sio nil "Siouan Languages") (sit nil "Sino-Tibetan (Other)") (sla nil "Slavic (Other)") (slo sk "Slovak" "slovenčina") (slv sl "Slovenian" "slovenščina") (sma nil "Southern Sami" "åarjelsaemiengïele") (sme se "Northern Sami" "davvisámegiella") (smi nil "Sami languages (Other)") (smj nil "Lule Sami" "julevusámegiella") (smn nil "Inari Sami" "aanaar kielâ") (smo sm "Samoan" "le gagana Samoa") (sms nil "Skolt Sami" "sää'mǩiõll") (sna sn "Shona" "chiShona") (snd sd "Sindhi" "سنڌي") (snk nil "Soninke") (sog nil "Sogdien") (som so "Somali" "Soomaaliga") (son nil "Songhai") (sot st "Southern Sotho" "seSotho") (spa es "Spanish" "español") (srd sc "Sardinian" "Susardu") (srn nil "Sranan Tongo") (srr nil "Serer") (ssa nil "Nilo-Saharan (Other)") (ssw ss "Swati" "siSwati") (suk nil "Sukuma") (sun su "Sundanese" "bahasa Sunda") (sus nil "Susu") (sux nil "Sumerian") (swa sw "Swahili" "Kiswahili") (swe sv "Swedish" "svenska") (syr nil "Syriac" "ܣܘܪܝܝܐ") (tah ty "Tahitian" "te reo Tahiti") (tai nil "Tai (Other)") (tam ta "Tamil" "தமிழ்") (tat tt "Tatar" "Татар") (tel te "Telugu" "తెలుగు") (tem nil "Timne") (ter nil "Tereno") (tet nil "Tetum" "tetun") (tgk tg "Tajik" "Таҷикй") (tgl tl "Tagalog" "Tagalog") (tha th "Thai" "ไทย") (tib bo "Tibetan" "བོད་སྐད་") (tig nil "Tigre" "ትግረ") (tir ti "Tigrinya" "ትግርኛ") (tiv nil "Tiv") (tkl nil "Tokelau") (tlh nil "Klingon" "  ") (tli nil "Tlingit") (tmh nil "Tamashek" "تَمَاشَقْ") (tog nil "Tonga (Nyasa)" "chiTonga") (ton to "Tonga (Tonga Islands)" "faka-Tonga") (tpi nil "Tok Pisin" "Tok Pisin") (tsi nil "Tsimshian") (tsn tn "Tswana" "seTswana") (tso ts "Tsonga" "xiTsonga") (tuk tk "Turkmen" "türkmençe") (tum nil "Tumbuka") (tup nil "Tupi languages") (tur tr "Turkish" "Türkçe") (tut nil "Altaic (Other)") (tvl nil "Tuvalu" "'gana Tuvalu") (twi tw "Twi" "twi") (tyv nil "Tuvinian" "тыва дыл") (udm nil "Udmurt" "удмурт кыл") (uga nil "Ugaritic") (uig ug "Uighur" "ﺋۇيغۇر") (ukr uk "Ukrainian" "Українська") (umb nil "Umbundu") (und nil "Unknown or Invalid Language") (urd ur "Urdu" "اردو") (uzb uz "Uzbek" "Ўзбек") (vai nil "Vai") (ven ve "Venda" "tshiVenda") (vie vi "Vietnamese" "Tiếng Việt") (vol vo "Volapük" "Volapük") (vot nil "Votic" "vad'd'a tšeeli") (wak nil "Wakashan Languages") (wal nil "Walamo" "ወላይታቱ") (war nil "Waray") (was nil "Washo") (wel cy "Welsh" "Cymraeg") (wen nil "Sorbian Languages") (wln wa "Walloon" "Walon") (wol wo "Wolof" "Wolof") (xal nil "Kalmyk" "хальмг келн") (xho xh "Xhosa" "isiXhosa") (yao nil "Yao" "chiYao") (yap nil "Yapese") (yid yi "Yiddish" "ייִדיש") (yor yo "Yoruba" "Yorùbá") (ypk nil "Yupik Languages") (zap nil "Zapotec" "Zapoteco") (zen nil "Zenaga") (zha za "Zhuang" "Saw cuengh") (znd nil "Zande" "paZande") (zul zu "Zulu" "isiZulu") (zun nil "Zuni") (zxx nil "No linguistic content") (nqo nil "N’Ko") (zza nil "Zaza") vi-telex.mim000064400000017366147633214350007032 0ustar00;; vi-telex.mim -- Input method for Vietnames with TELEX key sequence ;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ;; 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 vi telex) (description (_"Vietnames input method using the TELEX key sequence. Typing Backslash ('\\') toggles the normal mode and English mode. The following variables are customizable: tone-mark-on-last: control tone mark position in equivocal cases backspace-is-undo: control the action of Backspace key (delete or undo)")) (title "Ắ(TLX)") (variable (tone-mark-on-last (_"Flag to control tone mark position in equivocal cases. If this variable is 0 (the default), put tone mark on the first vowel in such equivocal cases as \"oa\", \"oe\", \"uy\". Otherwise, put tone mark on the last vowel.") 0 0 1) (backspace-is-undo (_"Flag to control the action of Backspace key (delete or undo). If this variable is 0 (the default), Backspace key deletes the previous character (e.g. \"q u a i s BS\" => \"quá\"). If the value is 1, Backspace key undoes the previous key \(e.g. \"q u a i s BS\" => \"quai\").") 0 0 1)) (include (t nil vi-base) macro) (include (t nil vi-base) map) (map (vowel-ext ("aa" ("âấầẩẫậ")) ("AA" ("ÂẤẦẨẪẬ")) ("Aa" ("ÂẤẦẨẪẬ")) ("aw" ("ăắằẳẵặ")) ("AW" ("ĂẮẰẲẴẶ")) ("Aw" ("ĂẮẰẲẴẶ")) ("ee" ("êếềểễệ")) ("EE" ("ÊẾỀỂỄỆ")) ("Ee" ("ÊẾỀỂỄỆ")) ("oo" ("ôốồổỗộ")) ("OO" ("ÔỐỒỔỖỘ")) ("Oo" ("ÔỐỒỔỖỘ")) ("ow" ("ơớờởỡợ")) ("OW" ("ƠỚỜỞỠỢ")) ("Ow" ("ƠỚỜỞỠỢ")) ("uw" ("ưứừửữự")) ("UW" ("ƯỨỪỬỮỰ")) ("Uw" ("ƯỨỪỬỮỰ")) ("w" (cond ((= V-1 0) ("ưứừửữự")) (1 "w"))) ; Works when it's the ("W" (cond ((= V-1 0) ("ƯỨỪỬỮỰ")) (1 "W"))) ; first vowel (not seư) ("ooo" ("oóòỏõọ") ("oóòỏõọ") (set V-2 V-1) (set V-1 ?o)) ("OOO" ("OÓÒỎÕỌ") ("OÓÒỎÕỌ") (set V-2 V-1) (set V-1 ?O)) ("Ooo" ("OÓÒỎÕỌ") ("oóòỏõọ") (set V-2 V-1) (set V-1 ?O))) (consonant-ext ("dd" ?đ) ("DD" ?Đ) ("Dd" ?Đ)) ;("dd" (cond ((= C-AFTER-V 0) "dd") (1 ?đ))) ; Works when ;("DD" (cond ((= C-AFTER-V 0) "DD") (1 ?Đ))) ; it is the first ;("Dd" (cond ((= C-AFTER-V 0) "Dd") (1 ?Đ)))) ; letter (not ađ) (tone-mark ("z" (set SELECT 0) ?z) ("Z" (set SELECT 0) ?Z) ("s" (set SELECT 1) ?s) ("S" (set SELECT 1) ?S) ("f" (set SELECT 2) ?f) ("F" (set SELECT 2) ?F) ("r" (set SELECT 3) ?r) ("R" (set SELECT 3) ?R) ("x" (set SELECT 4) ?x) ("X" (set SELECT 4) ?X) ("j" (set SELECT 5) ?j) ("J" (set SELECT 5) ?J)) (consonant-or-tone-mark ("z" ?z) ("s" ?s) ("f" ?f) ("r" ?r) ("x" ?x) ("j" ?j) ("Z" ?Z) ("S" ?S) ("F" ?F) ("R" ?R) ("X" ?X) ("J" ?J)) (temporary-escape ("aaa" "aa") ("AAA" "AA") ("Aaa" "Aa") ("eee" "ee") ("EEE" "EE") ("Eee" "Ee") ("ddd" "dd") ("DDD" "DD") ("Ddd" "Dd") ("aww" "aw") ("AWW" "AW") ("Aww" "Aw") ("uww" "uw") ("UWW" "UW") ("Uww" "Uw") ("oww" "ow") ("OWW" "OW") ("Oww" "Ow") ("ww" ?w) ("WW" ?W) ("Ww" ?W) ("zz" ?z) ("ZZ" ?Z) ("Zz" ?Z) ("ss" ?s) ("SS" ?S) ("Ss" ?S) ("ff" ?f) ("FF" ?F) ("Ff" ?F) ("rr" ?r) ("RR" ?R) ("Rr" ?R) ("xx" ?x) ("XX" ?X) ("Xx" ?X) ("jj" ?j) ("JJ" ?J) ("Jj" ?J))) (state (init ;; Initialize variables. C is the initial consonant. V-N is the ;; (N-1)th vowel from the last. C-AFTER-V is a number of consonants ;; typed after vowel. NST is 1 iff surrounding text is not supported. (t (set C @-1) (set V-1 0) (set V-2 0) (set V-3 0) (set C-AFTER-V 0) (set SELECT 0) (set NST (= @-0 -2))) (consonant (set C @-1) (cond (NST (shift after-c)))) (consonant-ext (set C @-1) (cond (NST (shift after-c)))) (consonant-or-tone-mark (cond ((| (= @-1 ?f) (= @-1 ?j) (= @-1 ?z) ; Invalid beginning consonants (= @-1 ?F) (= @-1 ?J) (= @-1 ?Z)) (shift temporary-escape)) (1 (set C @-1) (cond (NST (shift after-c)))))) ;; Mark M remembers the preedit position after the last vowel. (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (temporary-escape (shift temporary-escape)) (permanent-escape (shift escape-in-normal-mode)) (smart-quotes)) ;; The state shifted to when an initial consonants is typed and ;; surrounding text is not supported. (after-c (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v))) ;; The state shifted to when a vowel is typed. (after-v (ending-1st-consonant (handle-mark) (shift after-vc)) ; toans/toasn->toán (vowel (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (vowel-ext (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (ending-1st-notviet-consonant (shift temporary-escape)) ;; See ending-1st-notviet-consonant section in the vi-base.mim (consonant-or-tone-mark (delete @-) (pushback 1) (shift after-t)) (backspace (delete @-) (cond (V-3 (set V-1 V-2) (set V-2 V-3) (set V-3 0) (cond ((> TPLACE 2) (set SELECT 0))) (handle-mark)) (V-2 (set V-1 V-2) (set V-2 0) (cond ((> TPLACE 1) (set SELECT 0))) (handle-mark)) (1 (shift init))))) ;; The state shifted to when a consonant is typed after a vowel. (after-vc (t (set C-AFTER-V 1)) (ending-2nd-consonant (cond ((| (= @-2 ?n) (= @-2 ?c) ; 1st ending consonant must be n/c (= @-2 ?N) (= @-2 ?C)) (add C-AFTER-V 1)) (1 (shift temporary-escape)))) (ending-1st-notviet-consonant (shift temporary-escape)) ;; Expand notviet-consonant section in the vi-base.mim (consonant-or-tone-mark (delete @-) (pushback 1) (shift after-t)) (vowel (shift temporary-escape)) ; There can only be one (vowel-ext (shift temporary-escape)) ; main vowel in a word (backspace (delete @-) (sub C-AFTER-V 1) (handle-mark) (cond ((= C-AFTER-V 0) (shift after-v))))) ;; The state shifted to when a tone-mark is typed. (after-t (t (set CURRENT-SELECT -1)) (tone-mark (cond ((= CURRENT-SELECT SELECT) (move T) (select 0) (move @>) (shift temporary-escape)) (1 (delete @-) (handle-mark) (set CURRENT-SELECT SELECT)))) (nil (cond (C-AFTER-V (shift after-vc)) (1 (shift after-v))))) (temporary-escape "en" (t (commit)) (alnum (commit))) (escape-in-normal-mode "EN" (permanent-escape (insert "\\") (shift init)) ;; Any other key force shifting to permanent-escape. (nil (shift permanent-escape))) (permanent-escape "EN" (t (set ESCAPE 1)) (permanent-escape (shift escape-in-permanent-escape)) ;; Unhandle any characters. (nil (unhandle))) (escape-in-permanent-escape "Ắ" (permanent-escape (insert "\\") (commit) (shift permanent-escape)) ;; Any other key force shifting to init )) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: TIBT-MTIB.flt000064400000016267147633214350006572 0ustar00;; TIBT-MTIB.flt -- Font Layout Table for Tibetan (Tomabechi font) ;; Copyright (C) 2003, 2004, 2007 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter tibt-mtib nil (font (nil mtib unicode-bmp))) ;;;
  • TIBT-MTIB.flt ;;; ;;; For the Tibetan TrueType font developped by Dr. Tomabechi to draw ;;; Tibetan script. The font is available at: ;;; (category ;; Tibetan character category for rendering ;; C: CONSONANTS (except R) ;; R: LETTER RA (RA-MGO) ;; S: SUBJOINED CONSONANTS (except s) ;; s: SUBJOINED CONSONANTS (don't modify RA-MGO) ;; V: VOWEL (except a and A) ;; a: VOWEL SIGN A (invisible when composed) ;; A: VOWEL SIGN AA (don't make preceding C shorter) ;; M: MODIFIER ;; E: ELSE ;; (0x0F00 0x0FCF ?E) ; ELSE (0x0F19 ?M) ; ASTROLOGICAL SIGN SDONG TSHUGS (0x0F35 ?M) ; MARK NGAS BZUNG NYI ZLA (0x0F37 ?M) ; MARK NGAS BZUNG SGOR RTAGS (0x0F39 ?M) ; MARK TSA -PHRU (0x0F40 0x0F6A ?C) ; LETTER KA .. LETTER FIXED-FORM RA (0x0F62 ?R) ; LETTER RA (0x0F70 ?a) ; VOWEL SIGN A (0x0F71 ?A) ; VOWEL SIGN AA (0x0F72 0x0F7D ?V) ; VOWEL SIGN I .. VOWEL SIGN OO (0x0F7E ?M) ; SIGN RJES SU NGA RO (0x0F80 ?V) ; VOWEL SIGN REVERSED I (0x0F81 ?V) ; VOWEL SIGN REVERSED II (0x0F82 ?M) ; SIGN NYI ZLA NAA DA (0x0F83 ?M) ; SIGN SNA LDAN (0x0F84 ?V) ; MARK HALANTA ;; SIGN LCI RTAGS .. SIGN GRU MED RGYINGS (0x0F86 0x0F8B ?M) ;; SUBJOINED LETTER KA .. SUBJOINED LETTER FIXED-FORM RA (0x0F90 0x0FBC ?s) (0x0FAD ?S) (0x0FB1 0x0FB2 ?S) (0x0FC6 ?M)) (generator (0 (cond ("[CR][Ss]*[VaA]*M*" < (cond ("R[^SA].*" ; ར[^ྭྱྲཱ] ((0x0F62) 0xE083) ; convert ར to upper form subjoined * dependent-vowel-modifier *) (".A.*" ; Cཱ (don't make C shorter) = dependent-vowel-modifier *) (".[Ss].*" | short-consonant subjoined * dependent-vowel-modifier * |) (".*" = dependent-vowel-modifier * ) ) >) ("[VaAM]" < 0xE07A dependent-vowel-modifier >) ("[Ss]" < 0xE07A subjoined >) ("." =)) *) (short-consonant (cond ((0x0F5D) 0x0FBA) ((0x0F61) 0x0FBB) ((0x0F62) 0x0FBC) ((0x0F6A) 0x0FBC) ((range 0x0F40 0x0F69) 0x0F90))) (subjoined ((range 0x0F90 0x0FB9) bc.tc =)) (dependent-vowel-modifier (cond ((0x0F18) bl.tc =) ((0x0F19) bc.tc =) ((0x0F35) bc.tc =) ((0x0F37) bc.tc =) ((0x0F39) tc.bc =) ((0x0F70) ) ; invisible ((0x0F71) bc.tc =) ((0x0F72) tc.bc =) ((0x0F73) bc.tc 0x0F71 tc.bc 0x0F72) ((0x0F74) bc.tc =) ((0x0F75) bc.tc =) ((0x0F76) bc.tc 0x0FB2 tc.bc 0x0F72) ((0x0F77) bc.tc 0x0FB2 bc.tc 0x0F71 tc.bc 0x0F80) ((0x0F78) bc.tc 0x0FB3 tc.bc 0x0F80) ((0x0F79) bc.tc 0x0FB3 bc.tc 0x0F71 tc.bc 0x0F80) ((0x0F7A) tc.bc =) ((0x0F7B) tc.bc =) ((0x0F7C) tc.bc =) ((0x0F7D) tc.bc =) ((0x0F7E) tc.bc =) ((0x0F80) tc.bc =) ((0x0F81) bc.tc 0x0F71 tc.bc =) ((0x0F82) tc.bc =) ((0x0F83) tc.bc =) ((0x0F84) bc.tc =) ((0x0F86) tc.bc =) ((0x0F87) tc.bc =) ((0x0F88) tc.bc =) ((0x0F89) tc.bc =) ((0x0F8A) tc.bc =) ((0x0F8B) tc.bc =) ((0x0FC6) bc.tc =)))) (category (0x000 0xFFFF ?G)) (generator (0 (cond (" (G*) " (1 precomposed = *)) ("[^ ]*" = *)) *) (precomposed (cond ((0x0F90 0x0FAD) 0xE000) ((0x0F90 0x0FB1) 0xE010) ((0x0F90 0x0FB2) 0xE018) ((0x0F90 0x0FB3) 0xE026) ((0x0F91 0x0FAD) 0xE001) ((0x0F91 0x0FB1) 0xE011) ((0x0F91 0x0FB2) 0xE019) ((0x0F92 0x0FAD) 0xE002) ((0x0F92 0x0FB1) 0xE012) ((0x0F92 0x0FB2 0x0FAD) 0xE025) ((0x0F92 0x0FB2) 0xE01A) ((0x0F92 0x0FB3) 0xE027) ((0x0F95 0x0FAD) 0xE003) ((0x0F97 0x0FB2) 0xE060) ((0x0F99 0x0FAD) 0xE004) ((0x0F9F 0x0FAD) 0xE005) ((0x0F9F 0x0FB2) 0xE01B) ((0x0FA0 0x0FB2) 0xE01C) ((0x0FA1 0x0FAD) 0xE006) ((0x0FA1 0x0FB2) 0xE01D) ((0x0FA4 0x0FB1) 0xE013) ((0x0FA4 0x0FB2) 0xE01E) ((0x0FA5 0x0FB1 0x0FAD) 0xE017) ((0x0FA5 0x0FB1) 0xE014) ((0x0FA5 0x0FB2) 0xE01F) ((0x0FA6 0x0FB1) 0xE015) ((0x0FA6 0x0FB2) 0xE020) ((0x0FA6 0x0FB3) 0xE028) ((0x0FA8 0x0FB1) 0xE016) ((0x0FA8 0x0FB2) 0xE021) ((0x0FA9 0x0FAD) 0xE007) ((0x0FAA 0x0FAD) 0xE008) ((0x0FAB 0x0FB2) 0xE061) ((0x0FAE 0x0FAD) 0xE009) ((0x0FAF 0x0FAD) 0xE00A) ((0x0FAF 0x0FB3) 0xE029) ((0x0FB2 0x0F90 0x0FB1) 0xE03A) ((0x0FB2 0x0F90) 0xE02C) ((0x0FB2 0x0F92 0x0FAD) 0xE038) ((0x0FB2 0x0F92 0x0FB1) 0xE03B) ((0x0FB2 0x0F92) 0xE02D) ((0x0FB2 0x0F94) 0xE02E) ((0x0FB2 0x0F97) 0xE02F) ((0x0FB2 0x0F99) 0xE030) ((0x0FB2 0x0F9F) 0xE031) ((0x0FB2 0x0FA1) 0xE032) ((0x0FB2 0x0FA3) 0xE033) ((0x0FB2 0x0FA6) 0xE034) ((0x0FB2 0x0FA8 0x0FB1) 0xE03C) ((0x0FB2 0x0FA8) 0xE035) ((0x0FB2 0x0FA9 0x0FAD) 0xE039) ((0x0FB2 0x0FA9) 0xE036) ((0x0FB2 0x0FAB) 0xE037) ((0x0FB2 0x0FAD) 0xE00B) ((0x0FB2 0x0FB3) 0xE02A) ((0x0FB3 0x0F90) 0xE03D) ((0x0FB3 0x0F92) 0xE03E) ((0x0FB3 0x0F94) 0xE03F) ((0x0FB3 0x0F95) 0xE040) ((0x0FB3 0x0F97) 0xE041) ((0x0FB3 0x0F9F) 0xE042) ((0x0FB3 0x0FA1) 0xE043) ((0x0FB3 0x0FA4) 0xE044) ((0x0FB3 0x0FA6) 0xE045) ((0x0FB3 0x0FAD) 0xE00C) ((0x0FB3 0x0FB7) 0xE046) ((0x0FB4 0x0FAD) 0xE00D) ((0x0FB4 0x0FB2) 0xE022) ((0x0FB6 0x0F90 0x0FB1) 0xE052) ((0x0FB6 0x0F90 0x0FB2) 0xE057) ((0x0FB6 0x0F90) 0xE047) ((0x0FB6 0x0F92 0x0FB1) 0xE053) ((0x0FB6 0x0F92 0x0FB2) 0xE058) ((0x0FB6 0x0F92) 0xE048) ((0x0FB6 0x0F94) 0xE049) ((0x0FB6 0x0F99) 0xE04A) ((0x0FB6 0x0F9F) 0xE04B) ((0x0FB6 0x0FA1) 0xE04C) ((0x0FB6 0x0FA3 0x0FB2) 0xE059) ((0x0FB6 0x0FA3) 0xE04D) ((0x0FB6 0x0FA4 0x0FB1) 0xE054) ((0x0FB6 0x0FA4 0x0FB2) 0xE05A) ((0x0FB6 0x0FA4) 0xE04E) ((0x0FB6 0x0FA6 0x0FB1) 0xE055) ((0x0FB6 0x0FA6 0x0FB2) 0xE05B) ((0x0FB6 0x0FA6) 0xE04F) ((0x0FB6 0x0FA8 0x0FB1) 0xE055) ((0x0FB6 0x0FA8 0x0FB2) 0xE05C) ((0x0FB6 0x0FA8) 0xE050) ((0x0FB6 0x0FA9) 0xE051) ((0x0FB6 0x0FAD) 0xE00E) ((0x0FB6 0x0FB2) 0xE023) ((0x0FB6 0x0FB3) 0xE02B) ((0x0FB7 0x0FAD) 0xE00F) ((0x0FB7 0x0FB2) 0xE024)))) ;; Copyright (C) 2003, 2004, 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. ;; Local Variables: ;; mode: lisp ;; coding: utf-8 ;; End: KND2-OTF.flt000064400000013272147633214350006414 0ustar00;; KND2-OTF.flt -- Font Layout Table for knd2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter knd2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=knd2))) ;;;
  • KND2-OTF.flt ;;; ;;; For knd2 OpenType fonts to draw the Kannada script. ;; It seems that tunga.ttf has problems w.r.t. reph and ZWJ. For ;; example, Uniscribe does not render RA + HAL + ZWJ + KA (0CB0 + 0CCD ;; + 200D + 0C95) as described in the page ;; . ;; Perhaps the font still uses the old specification that was defined ;; in Unicode 4.0. ;; Glyphs are reordered in the following way to layout the Kannada script. ;; 1. base consonant ;; 2. matra set #1 (0CBE, 0CBF, 0CC1, 0CC6, 0CCC) ;; 3. vowel sign UU (0CC2) ;; 4. blwf consonants ;; 5. matra set #2 (0CC3, 0CC4, 0CD5, 0CD6) ;; 6. reph ;; 7. anusvara (0C82) and visarga (0C83) ;; 0CE2 and 0CE3, which should be included in "matra set #1" above, ;; are not yet implemented. (category ;; b: before subscript matras ;; a: after subscript matras (0x0C80 0x0CFF ?X) ; generic (0x0C82 0x0C83 ?A) ; SIGN ANUSVARA .. VISARGA (0x0C85 0x0C94 ?V) ; LETTER A .. LETTER AU (0x0C95 0x0CB9 ?C) ; LETTER KA .. LETTER HA (0x0CB0 ?R) ; LETTER RA (0x0CBC ?n) ; SIGN NUKTA (0x0CBE 0x0CBF ?b) ; VOWEL SIGN AA .. I (0x0CC1 0x0CC2 ?b) ; VOWEL SIGN U .. UU (0x0CC3 0x0CC4 ?a) ; VOWEL SIGN VOCALIC R .. VOCALIC RR (0x0CC6 ?b) ; VOWEL SIGN E (0x0CCC ?b) ; VOWEL SIGN AU (0x0CCD ?H) ; SIGN VIRAMA (0x0CD5 0x0CD6 ?a) ; LENGTH MARK .. AI LENGTH MARK (0x0CDE ?C) ; LETTER FA (LLLA) (0x0CE0 0x0CE1 ?V) ; LETTER VOCALIC RR .. VOCALIC LL (0x0CE2 0x0CE3 ?b) ; VOWEL SIGN VOCALIC L .. VOCALIC LL (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (blwf ?B) (rphf ?r) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Decompose multi-part vowel signs. ((0x0CC0) 0x0CBF 0x0CD5) ((0x0CC7) 0x0CC6 0x0CD5) ((0x0CC8) 0x0CC6 0x0CD6) ((0x0CCA) 0x0CC6 0x0CC2) ((0x0CCB) 0x0CC6 0x0CC2 0x0CD5) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Syllables with an independent vowel ("(RH)?Vn?(J?H[CR])?b?b?a?A?" < | = * | >) ;; Consonant-based syllables ("([CR]n?J?HJ?)*[CR]n?(H[NJ]?|b?b?a?n?)A?" < | = * | >) ;; Multi-part vowel signs ((0x0CBF 0x0CD5) (cond ((font-facility 0x25CC) < 0x25CC 0x0CBF 0x0CD5 >) (".+" < 0x0CC0 >))) ((0x0CC6 0x0CD5) (cond ((font-facility 0x25CC) < 0x25CC 0x0CC6 0x0CD5 >) (".+" < 0x0CC7 >))) ((0x0CC6 0x0CD6) (cond ((font-facility 0x25CC) < 0x25CC 0x0CC6 0x0CD6 >) (".+" < 0x0CC8 >))) ((0x0CC6 0x0CC2 0x0CD5) (cond ((font-facility 0x25CC) < 0x25CC 0x0CC6 0x0CC2 0x0CD5 >) (".+" < 0x0CCB >))) ((0x0CC6 0x0CC2) (cond ((font-facility 0x25CC) < 0x25CC 0x0CC6 0x0CC2 >) (".+" < 0x0CCA >))) ;; Combining marks are displayed with a DOTTED CIRCLE. ("[nHbaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("JH[CR]" (cond ((font-facility 0x25CC) < 0x25CC :otf=knd2=blwf+ >) (".+" [ :otf=knd2=blwf+ ]))) ("." =)) *)) ;; Stage 2 ;; Basic shaping forms (generator (0 (cond ;; Syllables starting with RA + H + ZWJ (" (RHJ[CRnHJ]*)((H[NJ]?|b?b?a?n?)A?) " ;; | ;; This is an asterisk. (See DEV2-OTF.flt) | (1 :otf=knd2=locl,nukt,akhn,blwf,cjct+) (2 = *) |) ;; Syllables starting with a reph (" (RH)([CRnHJV]+)((H[NJ]?|b?b?n?a?n?)A?) " | (1 :otf=knd2=rphf+) (2 :otf=knd2=locl,nukt,akhn,blwf,cjct+) (3 = *) |) ;; Other syllables (" ([CRnHJV]+)((H[NJ]?|b?b?n?a?n?)A?) " | (1 :otf=knd2=locl,nukt,akhn,blwf,cjct+) (2 = *) |) ("." =)) *)) ;; Stage 3 ;; Final reordering #1 (Move before-subscript matras) (generator (0 (cond (" ([^B ]*[^BJ])J?(B*)(bb?n?)([^ ]*) " | (1 = *) (3 = *) (2 = *) (4 = *) |) ("." =)) *)) ;; Stage 4 ;; Final reordering #2 (Move reph after the first halant) (generator (0 (cond ;; Syllables with a reph and an explicit halant ;; 1 2 3 (" (r)([^H ]+HJ?)([^ ]*) " | (2 = *) (1 =) (3 = *) |) ;; A reph without explicit halant ;; 1 2 3 (" (r)([^A ]+)(A)? " | (2 = *) (1 =) (3 =) |) ("." =)) *)) ;; Stage 5 ;; Nukta for matra and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=knd2=nukt,pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 6 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 7 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=knd2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: vi-tcvn.mim000064400000013713147633214350006653 0ustar00;; vi-tcvn.mim -- Input method for Vietnames with TCVN6064 key sequence ;; Copyright (C) 2008, 2009, 2010 ;; 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 vi tcvn) (description (_"Vietnames input method using the TCVN6064 sequence. Typing Backslash ('\\') toggles the normal mode and English mode. The following variables are customizable: tone-mark-on-last: control tone mark position in equivocal cases backspace-is-undo: control the action of Backspace key (delete or undo)")) (title "Ắ(TCVN)") (variable (tone-mark-on-last (_"Flag to control tone mark position in equivocal cases. If this variable is 0 (the default), put tone mark on the first vowel in such equivocal cases as \"oa\", \"oe\", \"uy\". Otherwise, put tone mark on the last vowel.") 0 0 1) (backspace-is-undo (_"Flag to control the action of Backspace key (delete or undo). If this variable is 0 (the default), Backspace key deletes the previous character (e.g. \"q u a i s BS\" => \"quá\"). If the value is 1, Backspace key undoes the previous key \(e.g. \"q u a i s BS\" => \"quai\").") 0 0 1)) (include (t nil vi-base) macro) (include (t nil vi-base) map) (map (vowel-ext ("2" ("âấầẩẫậ")) ("@" ("ÂẤẦẨẪẬ")) ("1" ("ăắằẳẵặ")) ("!" ("ĂẮẰẲẴẶ")) ("3" ("êếềểễệ")) ("#" ("ÊẾỀỂỄỆ")) ("4" ("ôốồổỗộ")) ("$" ("ÔỐỒỔỖỘ")) ("]" ("ơớờởỡợ")) ("}" ("ƠỚỜỞỠỢ")) ("[" ("ưứừửữự")) ("{" ("ƯỨỪỬỮỰ"))) (consonant-ext ("0" ?đ) (")" ?Đ)) (tone-mark ("8" (set SELECT 1) ?1) ("5" (set SELECT 2) ?2) ("6" (set SELECT 3) ?3) ("7" (set SELECT 4) ?4) ("9" (set SELECT 5) ?5)) (misc ("=" ?₫) ("==" ?=) ((A-1) ?1) ((A-2) ?2) ((A-3) ?3) ((A-4) ?4) ((A-5) ?5) ((A-6) ?6) ((A-7) ?7) ((A-8) ?8) ((A-9) ?9) ((A-0) ?0) ((A--) ?-) ((A-=) ?=) ((A-\\) ?\\) ((A-\[) ?[) ((A-\]) ?]) ((A-!) ?!) ((A-@) ?@) ((A-\#) ?#) ((A-$) ?$) ((A-%) ?%) ((A-^) ?^) ((A-&) ?&) ((A-*) ?*) ((A-\() ?\() ((A-\)) ?\)) ((A-_) ?_) ((A-+) ?+) ((A-\|) ?\|) ((A-{) ?{) ((A-}) ?})) (temporary-escape ("22" "2") ("@@" "@") ("11" "1") ("!!" "!") ("33" "3") ("##" "##") ("44" "4") ("$$" "$") ("]]" "]") ("}}" "}") ("[[" "[") ("{{" "{") ("00" "0") ("))" ")"))) (state (init ;; Initialize variables. C is the initial consonant. V-N is the ;; (N-1)th vowel from the last. C-AFTER-V is a number of consonants ;; typed after vowel. NST is 1 iff surrounding text is not supported. (t (set C @-1) (set V-1 0) (set V-2 0) (set V-3 0) (set C-AFTER-V 0) (set SELECT 0) (set NST (= @-0 -2))) (consonant (set C @-1) (cond (NST (shift after-c)))) (consonant-ext (set C @-1) (cond (NST (shift after-c)))) ;; Mark M remembers the preedit position after the last vowel. (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (temporary-escape (shift temporary-escape)) (permanent-escape (shift escape-in-normal-mode)) (misc) (smart-quotes)) ;; The state shifted to when an initial consonants is typed and ;; surrounding text is not supported. (after-c (vowel (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v)) (vowel-ext (mark M) (set V-2 V-1) (set V-1 @-1) (shift after-v))) ;; The state shifted to when a vowel is typed. (after-v (consonant (shift after-vc)) (consonant-ext (shift after-vc)) (vowel (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (vowel-ext (mark M) (set V-3 V-2) (set V-2 V-1) (set V-1 @-1) (move T) (select 0) (handle-mark) (move M)) (tone-mark (delete @-) (pushback 1) (shift after-t)) (backspace (delete @-) (cond (V-3 (set V-1 V-2) (set V-2 V-3) (set V-3 0) (cond ((> TPLACE 2) (set SELECT 0)))) (V-2 (set V-1 V-2) (set V-2 0) (cond ((> TPLACE 1) (set SELECT 0)))) (1 (shift init))))) ;; The state shifted to when a consonant is typed after a vowel. (after-vc (t (set C-AFTER-V 1)) (consonant (add C-AFTER-V 1)) (consonant-ext (add C-AFTER-V 1)) (tone-mark (delete @-) (pushback 1) (shift after-t)) (backspace (delete @-) (sub C-AFTER-V 1) (cond ((= C-AFTER-V 0) (shift after-v))))) ;; The state shifted to when a tone-mark is typed. (after-t (t (set CURRENT-SELECT -1)) (tone-mark (cond ((= CURRENT-SELECT SELECT) (move T) (select 0) (move @>) (shift temporary-escape)) (1 (delete @-) (handle-mark) (set CURRENT-SELECT SELECT)))) (nil (cond (C-AFTER-V (shift after-vc)) (1 (shift after-v))))) (temporary-escape "en" (t (commit)) (alnum (commit))) (escape-in-normal-mode "EN" (permanent-escape (insert "\\") (shift init)) ;; Any other key force shifting to permanent-escape. (nil (shift permanent-escape))) (permanent-escape "EN" (t (set ESCAPE 1)) (permanent-escape (shift escape-in-permanent-escape)) ;; Unhandle any characters. (nil (unhandle))) (escape-in-permanent-escape "Ắ" (permanent-escape (insert "\\") (commit) (shift permanent-escape)) ;; Any other key force shifting to init )) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: SCRIPT-LANGUAGE.tbl000064400000004350147633214350007446 0ustar00;; SCRIPT-LANGUAGE.tbl -- Languages used in each script -*- lisp -*- ;; Copyright (C) 2005 ;; 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. ;; ;; The file format is this: ;; (SCRIPT [ ISO639-1 | ISO639-2 ] ...) ... ;; SCRIPT: script name ;; ISO639-1: 2-letter language code of ISO639-1. ;; ISO639-2: 3-letter language code of ISO639-2. ;;;
  • SCRIPT-LANGUAGE.tbl ;;; ;;; Table of scripts vs languages using the corresponding script. (arabic ar az fa ha kk ks ku ky pa ps sd ug ur) (armenian hy) (avesta ae) (bengali as bn) (cree cr) (cylliric ug) (cyrillic ab av az ba be bg ce cu cv kk ku kv ky mk mn os ru sr hr bs tg tk tt uk uz) (devanagari bh hi ks mr ne sa) (eskimo ik) (ethiopic am ti) (georgian ka) (glagolitic cu) (greek el) (gujarati gu) (gurmukhi pa) (han ja zh) (hangul ko) (hebrew he yi) (hiragana ja) (javanese jv) (kannada kn) (katakana ja) (khmer km) (lao lo) (latin aa af ak tw an ay bi bm br ca ch co cs cy da de ee en eo es et eu ff fi fj fo fr wa fy ga gd gl gn gv ha ho ht hu hz id ig ik is it iu jv kg ki kj kl kr ku kw la lb lg li ln lt lu lv mg mh mi ms mt na nd ng nl no nb nn nr nv ny oc oj om pl pt qu rm rn ro mo rw sc se sg sk sl sm sn so sq sr hr bs ss st su sv sw tl tn to tr ts ty ve vi wo xh yo za zu) (malayalam ml) (mongalian mn) (myanmar my pi) (oriya or) (sinhala pi si) (tamil ta) (telugu te) (thaana dv) (thai pi th) (tibetan bo dz) (yi ii) GUR2-OTF.flt000064400000010024147633214350006425 0ustar00;; GUR2-OTF.flt -- Font Layout Table for gur2 OpenType fonts ;; Copyright (C) 2010 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter gur2-otf nil (version "1.6.0") (font (nil nil unicode-bmp :otf=gur2))) ;;;
  • GUR2-OTF.flt ;;; ;;; For gur2 OpenType fonts to draw the Gurmukhi script. (category (0x0A00 0x0A7F ?X) ; generic (0x0A01 0x0A02 ?a) ; SIGN ADAK BINDI .. BINDI (0x0A03 ?A) ; SIGN VISARGA (0x0A05 0x0A14 ?V) ; LETTER A .. AU (0x0A15 0x0A38 ?C) ; LETTER KA .. SA (0x0A3C ?n) ; SIGN NUKTA (0x0A3E ?p) ; VOWEL SIGN AA (0x0A3F ?m) ; VOWEL SIGN I (0x0A40 ?p) ; VOWEL SIGN II (0x0A41 0x0A42 ?b) ; VOWEL SIGN U .. UU (0x0A47 0x0A4C ?u) ; VOWEL SIGN EE .. AU (0x0A4D ?H) ; SIGN VIRAMA ;; (0x0A51 ?) ; SIGN UDAAT (0x0A59 0x0A5E ?C) ; LETTER KHHA .. FA (0x0A70 ?a) ; TIPPI (0x0A71 ?d) ; ADDAK ;; (0x0A75 ?) ; SIGN YAKASH (0x200C ?N) ; ZWNJ (0x200D ?J) ; ZWJ (0x25CC ?X) ; DOTTED CIRCLE (pstf ?P) ) ;; Stage 0 ;; Preprocessing (generator (0 (cond ;; Compose a consonant and a nukta ((0x0A32 0x0A3C) 0x0A33) ((0x0A38 0x0A3C) 0x0A36) ((0x0A16 0x0A3C) 0x0A59) ((0x0A17 0x0A3C) 0x0A5A) ((0x0A1C 0x0A3C) 0x0A5B) ((0x0A2B 0x0A3C) 0x0A5E) ("." =)) *)) ;; Stage 1 ;; Syllable identification (generator (0 (cond ;; Consonant-based syllables ("(Cn?J?HJ?)*Cn?(H[NJ]?|m?u?b?p?n?)a?A?" < | = * | >) ;; Syllables with an independent vowel ("Vn?(J?HC)?m?u?b?p?n?a?A?" < | = * | >) ;; Combining marks are displayed with a DOTTED CIRCLE. ("m" (cond ((font-facility 0x25CC) < = 0x25CC >) ("." [ = ]))) ("[nHubpaA]" (cond ((font-facility 0x25CC) < 0x25CC = >) ("." [ = ]))) ("JHC" (cond ((font-facility 0x25CC) < 0x25CC :otf=gur2=blwf,pstf+ >) (".+" [ :otf=gur2=blwf,pstf+ ]))) ("." =)) *)) ;; Stage 2 ;; Basic shaping forms and matra reordering (generator (0 (cond ;; Explicit halant forms (" ([CnHJ]+)(HN?a?A?) " (1 :otf?gur2=locl,nukt,akhn,blwf,pstf+) | (1 shaping) (2 = *) |) ;; Ordinary syllables ;; 1 2 3 4 5 6 (" ([CnHJV]+)(mn?)?(un?)?(bn?)?(pn?)?(a?A?) " (1 :otf?gur2=locl,nukt,akhn,blwf,pstf+) | (2 = *) (1 shaping) (4 = *) (3 = *) (5 = *) (6 = *) |) ("." =)) *) (shaping (cond ("([CnHJP]*[CV]n?)((J?PP)+)$" (1 :otf=gur2=locl,nukt,akhn,blwf,cjct+) (2 :otf=gur2=pstf+)) (".+" (0 :otf=gur2=locl,nukt,akhn,blwf,cjct+)))) ) ;; Stage 3 ;; Final reordering (Move pre-base matra after the last halant) (generator (0 (cond ;; 1 2 3 (" (mn?)([^ ]+HJ?)([^H ]+) " | (2 = *) (1 = *) (3 = *) |) ("." =)) *)) ;; Stage 4 ;; Nukta for matra and presentation forms (generator (0 (cond (" ([^ ]+) " | (1 :otf=gur2=nukt,pres,abvs,blws,psts,haln,calt+) |) ("." =)) *)) ;; Stage 5 ;; Remove ZWNJ/ZWJ (generator (0 (cond ("[NJ]") ("." =)) *)) ;; Stage 6 ;; GPOS processing (generator (0 (cond (" ([^ ]+) " (1 :otf=gur2=+kern,dist,abvm,blwm)) ("." =)) *)) ;; Copyright (C) 2010 ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: THAI-OTF.flt000064400000005061147633214350006440 0ustar00;; THAI-OTF.flt -- Font Layout Table for Thai ;; Copyright (C) 2006, 2007, 2008 AIST (H15PRO112) ;; See the end for copying conditions. (font layouter thai-otf nil (font (nil nil unicode-bmp :otf=thai+mark,mkmk))) ;;;
  • THAI-OTF.flt (category ;; C: CONSONANT ;; A: SARA-AM ;; i: SARA I, SARA U (below vowel 1, above vowel 1) ;; I: SARA II, SARA UEE (above vowel 3) ;; U: MAIHAN-AKAT, SARA UE, SARA UU (above vowel 2, below vowel 2) ;; P: PHINTHU, YAMAKKARN (below diacritic, above diacritic 3) ;; T: TONE ;; N: THANTHAKHAT, NIKHAHIT (above diacritic 1) ;; M: MAITAIKHU (above diacritic 2) ;; X: OTHER INDEPENDENT (0x0E01 0x0E23 ?C) (0x0E24 ?X) (0x0E25 ?C) (0x0E26 0x0E2E ?C) (0x0E2F 0x0E30 ?X) (0x0E31 ?U) ;; av2 (0x0E32 ?X) (0x0E33 ?A) (0x0E34 ?i) ;; av1 (0x0E35 ?I) ;; av3 (0x0E36 ?U) ;; av2 (0x0E37 ?I) ;; av3 (0x0E38 ?i) ;; bv1 (0x0E39 ?U) ;; bv2 (0x0E3A ?P) ;; bd (0x0E3F 0x0E46 ?X) (0x0E47 ?M) ;; ad2 (0x0E48 0x0E4B ?T) (0x0E4C 0x0E4D ?N) ;; ad1 (0x0E4E ?P) ;; ad3 (0x0E4F 0x0E5B ?X) (0x25CC ?X)) ;; Perform GSUB. The decomposition of AM is done by hand because it ;; requires reordering in addition to decomposition. (generator (0 (cond ("(C)(T)?(A)" | < (1 = 0x0E4D) (2 =) > | (3 0x0E32) > ) ("C[UiI]T" < | = * | > ) ("CiN" < | = * | > ) ("CIM" < | = * | > ) ("C[iIUPTNM]?" < | = * | > ) ("[iIUPTNM]" (cond ((font-facility 0x25CC) < 0x25CC = > ) ("." [ = ] ))) ("." =)) *)) ;; Perform GPOS. (generator (0 (cond (" ([^ ]*) " (1 otf:thai)) ("." =)) *)) ;; 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. ;; Local Variables: ;; mode: emacs-lisp ;; End: hi-itrans.mim000064400000014511147633214350007160 0ustar00;; hi-itrans.mim -- Hindi input method with ITRANS method ;; Copyright (C) 2003, 2004, 2005, 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 hi itrans) (description "Hindi input method by ITRANS transliteration. For the detail of ITRANS, see the page: ") (title "क") (map (starter (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@)) ("0") ("1") ("2") ("3") ("4") ("5") ("6") ("7") ("8") ("9") ("A") ("C") ("D") ("E") ("G") ("H") ("I") ("J") ("K") ("L") ("M") ("N") ("O") ("R") ("S") ("T") ("U") ("Y") ("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") ((KP_1)) ((KP_2)) ((KP_3)) ((KP_4)) ((KP_5)) ((KP_6)) ((KP_7)) ((KP_8)) ((KP_9)) ((KP_0))) (consonant ("k" "क्") ("kh" "ख्") ("g" "ग्") ("gh" "घ्") ("~N" "ङ्") ("N^" "ङ्") ("ch" "च्") ("Ch" "छ्") ; not in ITRANS Devenagari table ("chh" "छ्") ("j" "ज्") ("jh" "झ्") ("~n" "ञ्") ("JN" "ञ्") ("T" "ट्") ("Th" "ठ्") ("D" "ड्") ("Dh" "ढ्") ("N" "ण्") ("t" "त्") ("th" "थ्") ("d" "द्") ("dh" "ध्") ("n" "न्") ("nh" "ऩ्") ; not in ITRANS Devenagari table ("p" "प्") ("ph" "फ्") ("b" "ब्") ("bh" "भ्") ("m" "म्") ("y" "य्") ("r" "र्") ("rh" "ऱ्") ; not in ITRANS Devenagari table ("l" "ल्") ("L" "ळ्") ("ld" "ळ्") ("v" "व्") ("w" "व्") ("sh" "श्") ("Sh" "ष्") ("shh" "ष्") ("s" "स्") ("h" "ह्") ("q" "क़्") ("K" "ख़्") ("G" "ग़्") ("J" "ज़्") ("z" "ज़्") (".D" "ड़्") (".Dh" "ढ़्") ("f" "फ़्") ("Y" "य़्") ; not in ITRANS Devanagari table ("yh" "य़्") ; not in ITRANS Devanagari table ("j~n" "ज्ञ्") ("GY" "ज्ञ्") ("dny" "ज्ञ्") ; not in ITRANS Devanagari table ("x" "क्ष्")) (independent ("a" "अ") ("aa" "आ") ("A" "आ") ("i" "इ") ("ii" "ई") ("I" "ई") ("u" "उ") ("uu" "ऊ") ("U" "ऊ") ("RRi" "ऋ") ("R^i" "ऋ") ("LLi" "ऌ") ; not in ITRANS Devanagari table ("L^i" "ऌ") ; not in ITRANS Devanagari table (".c" "ऍ") ; not in ITRANS Devanagari table ("e.c" "ऍ") ("ee" "ऎ") ; not in ITRANS Devanagari table ("E" "ऎ") ; not in ITRANS Devanagari table ("e" "ए") ("ai" "ऐ") ("o.c" "ऑ") ("oo" "ऒ") ; not in ITRANS Devanagari table ("O" "ऒ") ; not in ITRANS Devanagari table ("o" "ओ") ("au" "औ") ("RRI" "ॠ") ; not in ITRANS Devanagari table ("R^I" "ॠ") ; not in ITRANS Devanagari table ("LLI" "ॡ") ; not in ITRANS Devanagari table ("L^I" "ॡ") ; not in ITRANS Devanagari table (".N" "ँ") (".n" "ं") ("M" "ं") ("H" "ः") (".a" "ऽ") (".h" "्") ("AUM" "ॐ") ("OM" "ॐ") (".." "।") ; not in ITRANS Devanagari table ("0" "०") ("1" "१") ("2" "२") ("3" "३") ("4" "४") ("5" "५") ("6" "६") ("7" "७") ("8" "८") ("9" "९") ("#" "्र") ; not in ITRANS Devanagari table ("$" "र्") ; not in ITRANS Devanagari table ("^" "त्र") ; not in ITRANS Devanagari table ("*" "श्र") ; not in ITRANS Devanagari table ("]" "़") ; not in ITRANS Devanagari table ((KP_1) "१") ((KP_2) "२") ((KP_3) "३") ((KP_4) "४") ((KP_5) "५") ((KP_6) "६") ((KP_7) "७") ((KP_8) "८") ((KP_9) "९") ((KP_0) "०") ((KP_Decimal) ".") ((KP_Divide) "/") ((KP_Multiply) "*") ((KP_Add) "+") ((KP_Subtract) "-") ((S-\ ) "‌") ; not in ITRANS Devanagari table ((C-@) "‍")) ; not in ITRANS Devanagari table (dependent ("a" (delete @-) "") ("aa" (delete @-) "ा") ("A" (delete @-) "ा") ("i" (delete @-) "ि") ("ii" (delete @-) "ी") ("I" (delete @-) "ी") ("u" (delete @-) "ु") ("uu" (delete @-) "ू") ("U" (delete @-) "ू") ("RRi" (delete @-) "ृ") ("R^i" (delete @-) "ृ") ("LLi" (delete @-) "ॢ") ; not in ITRANS Devanagari table ("L^i" (delete @-) "ॢ") ; not in ITRANS Devanagari table (".c" (delete @-) "ॅ") ; not in ITRANS Devanagari table ("e.c" (delete @-) "ॅ") ("ee" (delete @-) "ॆ") ; not in ITRANS Devanagari table ("E" (delete @-) "ॆ") ; not in ITRANS Devanagari table ("e" (delete @-) "े") ("ai" (delete @-) "ै") ("o.c" (delete @-) "ॉ") ("oo" (delete @-) "ॊ") ; not in ITRANS Devanagari table ("O" (delete @-) "ॊ") ; not in ITRANS Devanagari table ("o" (delete @-) "ो") ("au" (delete @-) "ौ") ("RRI" (delete @-) "ॄ") ; not in ITRANS Devanagari table ("R^I" (delete @-) "ॄ") ; not in ITRANS Devanagari table ("LLI" (delete @-) "ॣ") ; not in ITRANS Devanagari table ("L^I" (delete @-) "ॣ")) ; not in ITRANS Devanagari table (return ((Return))) (backspace ((BackSpace) (undo)))) (state (init (starter (pushback 1) (shift intermediate))) (intermediate (consonant (shift second)) (independent (shift init)) (backspace) (return (shift init))) (second (consonant) (dependent (shift init)) (backspace) (return (shift init)))) ;; Local Variables: ;; coding: utf-8 ;; mode: emacs-lisp ;; End: sk-kbd.mim000064400000010053147633214350006432 0ustar00;; sk-kbd.mim -- Slovak input method with Slovak keyboard layout ;; Copyright (C) 2003, 2004, 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 for Slovak simulating the standard Slovak keyboard. ;;; @image html sk-kbd.png "Keyboard Layout" ;;; @image latex sk-kbd.eps "Keyboard Layout" width=\narrowwidth ;; +1 ľ2 š3 č4 ť5 ž6 ý7 á8 í9 é0 =% '+ ;^ ;; qQ wW eE rR tT zZ uU iI oO pP ú/ ä( ;; aA sS dD fF gG hH jJ kK lL ô" §! ň) ;; yY xX cC vV bB nN mM ,? .: -_ ;;; You can also input more characters by the following key sequences: ;;; @image html sk-kbd2.png ;;; @image latex sk-kbd2.eps "Extra Keys" width=\narrowwidth ;; key char key char key char key char key char key char ;; --- ---- --- ---- --- ---- --- ---- --- ---- --- ---- ;; +C Č +L Ľ +S Š +Y Ž +r ř =R Ŕ ;; +D Ď +N Ň +T Ť +d ď +u ů =l ĺ ;; +E Ě +R Ř +U Ů +e ě =L Ĺ =r ŕ (input-method sk kbd) (description "Slovak input method simulating the standard Slovak keyboard. This is the keyboard layout. +1 ľ2 š3 č4 ť5 ž6 ý7 á8 í9 é0 =% '+ ;^ qQ wW eE rR tT zZ uU iI oO pP ú/ ä( aA sS dD fF gG hH jJ kK lL ô\" §! ň) yY xX cC vV bB nN mM ,? .: -_ You can also input more characters by the following key sequences: key char key char key char key char key char key char --- ---- --- ---- --- ---- --- ---- --- ---- --- ---- +C Č +L Ľ +S Š +Y Ž +r ř =R Ŕ +D Ď +N Ň +T Ť +d ď +u ů =l ĺ +E Ě +R Ř +U Ů +e ě =L Ĺ =r ŕ ") (title "SK") (map (map ("1" ?+) ("2" ?ľ) ("3" ?š) ("4" ?č) ("5" ?ť) ("6" ?ž) ("7" ?ý) ("8" ?á) ("9" ?í) ("0" ?é) ("!" ?1) ("@" ?2) ("#" ?3) ("$" ?4) ("%" ?5) ("^" ?6) ("&" ?7) ("*" ?8) ("(" ?9) (")" ?0) ("-" ?=) ("_" ?%) ("=" ?') ("[" ?ú) ("{" ?/) ("]" ?ä) ("}" ?\() ("\\" ?ň) ("|" ?\)) (";" ?ô) (":" ?\") ("'" ?§) ("\"" ?!) ("<" ??) (">" ?:) ("/" ?-) ("?" ?_) ("`" ?\;) ("~" ?^) ("y" ?z) ("z" ?y) ("Y" ?Z) ("Z" ?Y) ("=a" ?á) ("+a" ?ä) ("+=a" ?ä) ("+c" ?č) ("+d" ?ď) ("=e" ?é) ("+e" ?ě) ("=i" ?í) ("=l" ?ĺ) ("+l" ?ľ) ("+n" ?ň) ("=o" ?ó) ("+o" ?ô) ("~o" ?ô) ("+=o" ?ö) ("=r" ?ŕ) ("+r" ?ř) ("=s" ?ß) ("+s" ?š) ("+t" ?ť) ("=u" ?ú) ("+u" ?ů) ("+=u" ?ü) ("=z" ?ý) ("+y" ?ž) ("=A" ?Á) ("+A" ?Ä) ("+=A" ?Ä) ("+C" ?Č) ("+D" ?Ď) ("=E" ?É) ("+E" ?Ě) ("=I" ?Í) ("=L" ?Ĺ) ("+L" ?Ľ) ("+N" ?Ň) ("=O" ?Ó) ("+O" ?Ô) ("~O" ?Ô) ("+=O" ?Ö) ("=R" ?Ŕ) ("+R" ?Ř) ("=S" ?ß) ("+S" ?Š) ("+T" ?Ť) ("=U" ?Ú) ("+U" ?Ů) ("+=U" ?Ü) ("=Z" ?Ý) ("+Y" ?Ž) ("=q" ?`) ("=2" ?@) ("=3" ?#) ("=4" ?$) ("=5" ?%) ("=6" ?^) ("=7" ?&) ("=8" ?*) ("=9" ?\() ("=0" ?\)) ("+1" ?!) ("+2" ?@) ("+3" ?#) ("+4" ?$) ("+5" ?%) ("+6" ?^) ("+7" ?&) ("+8" ?*) ("+9" ?\() ("+0" ?\)))) (state (init (map))) ;; Local Variables: ;; coding: utf-8 ;; mode: lisp ;; End: