Merge from trunk.
[bpt/emacs.git] / leim / quail / thai.el
CommitLineData
4b725a70 1;;; thai.el --- Quail package for inputting Thai characters -*-coding: utf-8;-*-
24b31c88 2
7976eda0 3;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
5df4f04c 4;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
1ab06fdf
KH
5;; National Institute of Advanced Industrial Science and Technology (AIST)
6;; Registration Number H14PRO021
24b31c88
KH
7
8;; Keywords: multilingual, input method, Thai
9
10;; This file is part of GNU Emacs.
11
3d544458 12;; GNU Emacs is free software: you can redistribute it and/or modify
24b31c88 13;; it under the terms of the GNU General Public License as published by
3d544458
GM
14;; the Free Software Foundation, either version 3 of the License, or
15;; (at your option) any later version.
24b31c88
KH
16
17;; GNU Emacs is distributed in the hope that it will be useful,
18;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;; GNU General Public License for more details.
21
22;; You should have received a copy of the GNU General Public License
3d544458 23;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
24b31c88 24
be567141
PJ
25;;; Commentary:
26
24b31c88
KH
27;;; Code:
28
29(require 'quail)
55519505 30
55519505
KH
31(defmacro thai-generate-quail-map (translation-table)
32 (let (map)
33 (dotimes (i (length translation-table))
34 (let ((trans (aref translation-table i)))
35 (when (not (eq trans 0))
36 (if (> (length trans) 1)
37 (setq trans (vector trans))
38 (setq trans (aref trans 0)))
39 (setq map (cons (list (char-to-string i) trans) map)))))
40 `(quail-define-rules ,@map)))
24b31c88 41
24b31c88
KH
42;; Thai Kesmanee keyboard support.
43
44(quail-define-package
4b725a70 45 "thai-kesmanee" "Thai" "กก>" t
24b31c88
KH
46 "Thai Kesmanee input method with TIS620 keyboard layout
47
48The difference from the ordinal Thai keyboard:
4b725a70
PE
49 '฿' and '๏' are assigned to '\\' and '|' respectively,
50 'ฃ' and 'ฅ' are assigned to '`' and '~' respectively,
51 Don't know where to assign characters '๚' and '๛'."
55519505
KH
52 nil t t t t nil nil nil nil nil t)
53
54(thai-generate-quail-map
55 [
56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
ca9d3585 58;; This data is quite old.
4b725a70
PE
59;; 0 "#" "." "๒" "๓" "๔" "ั้" "ง" ; SPC .. '
60;; "๖" "๗" "๕" "๙" "ม" "ข" "ใ" "ฝ" ; ( .. /
61;; "จ" "ล" "/" "_" "ภ" "ถ" "ุ" "ึ" ; 0 .. 7
62;; "ค" "ต" "ซ" "ว" "ฒ" "ช" "ฬ" "ฦ" ; 8 .. ?
63;; "๑" "ฤ" "ฺ" "ฉ" "ฏ" "ฎ" "โ" "ฌ" ; @ .. G
64;; "็" "ณ" "๋" "ษ" "ศ" "๎" "์" "ฯ" ; H .. O
65;; "ญ" "๐" "ฑ" "ฆ" "ธ" "๊" "ฮ" "\"" ; P .. W
66;; ")" "ํ" "(" "บ" "฿" "ล" "ู" "๘" ; X .. _
67;; "ฃ" "ฟ" "ิ" "แ" "ก" "ำ" "ด" "เ" ; ` .. g
68;; "้" "ร" "่" "า" "ส" "ท" "ื" "น" ; h .. o
69;; "ย" "ๆ" "พ" "ห" "ะ" "ี" "อ" "ไ" ; p .. w
70;; "ป" "ั" "ผ" "ฐ" "๏" "," "ฅ" 0 ; x .. DEL
ca9d3585 71;; This is the correct data nowadays.
4b725a70
PE
72 0 "+" "." "๒" "๓" "๔" "฿" "ง" ; SPC .. '
73 "๖" "๗" "๕" "๙" "ม" "ข" "ใ" "ฝ" ; ( .. /
74 "จ" "ๅ" "/" "-" "ภ" "ถ" "ุ" "ึ" ; 0 .. 7
75 "ค" "ต" "ซ" "ว" "ฒ" "ช" "ฬ" "ฦ" ; 8 .. ?
76 "๑" "ฤ" "ฺ" "ฉ" "ฏ" "ฎ" "โ" "ฌ" ; @ .. G
77 "็" "ณ" "๋" "ษ" "ศ" "?" "์" "ฯ" ; H .. O
78 "ญ" "๐" "ฑ" "ฆ" "ธ" "๊" "ฮ" "\"" ; P .. W
79 "\)" "ํ" "\(" "บ" "ฃ" "ล" "ู" "๘" ; X .. _
80 "_" "ฟ" "ิ" "แ" "ก" "ำ" "ด" "เ" ; ` .. g
81 "้" "ร" "่" "า" "ส" "ท" "ื" "น" ; h .. o
82 "ย" "ๆ" "พ" "ห" "ะ" "ี" "อ" "ไ" ; p .. w
83 "ป" "ั" "ผ" "ฐ" "ฅ" "," "%" 0 ; x .. DEL
55519505 84 ])
24b31c88 85
1bac4db5 86
24b31c88
KH
87;; Thai Pattachote keyboard support.
88
89(quail-define-package
4b725a70 90 "thai-pattachote" "Thai" "กป>" t
24b31c88 91 "Thai Pattachote input method with TIS620 keyboard layout"
55519505
KH
92 nil t t t t nil nil nil nil nil t)
93
94(thai-generate-quail-map
95 [
96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
4b725a70
PE
98 0 "+" "ฑ" "/" "," "?" "_" "ข" ; SPC .. '
99 "(" ")" "." "%" "ะ" "๑" "จ" "พ" ; ( .. /
100 "๐" "=" "๒" "๓" "๔" "๕" "ู" "๗" ; 0 .. 7
101 "๘" "๙" "ฆ" "ไ" "ฟ" "๖" "ฒ" "ฬ" ; 8 .. ?
102 "\"" "๋" "ั" "ฐ" "ำ" "ๆ" "ณ" "์" ; @ .. G
103 "ื" "ซ" "ผ" "ช" "โ" "ฮ" "ศ" "ถ" ; H .. O
104 "ฒ" "๊" "ญ" "ธ" "ษ" "ฝ" "ภ" "ฤ" ; P .. W
105 "ฎ" "ึ" "ฎ" "ใ" "ฺ" "ฒ" "ุ" "-" ; X .. _
106 "ฃ" "้" "ิ" "ล" "ง" "ย" "ก" "ั" ; ` .. g
107 "ี" "ม" "า" "น" "เ" "ส" "ค" "ว" ; h .. o
108 "แ" "็" "อ" "ท" "ร" "ด" "ห" "ต" ; p .. w
109 "ป" "่" "บ" "ฯ" "ํ" "ฦ" "ฅ" 0 ; x .. DEL
55519505 110 ])
be567141
PJ
111
112;;; thai.el ends here