mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-07 04:10:27 -08:00
* admin/notes/unicode (etc/tutorials/TUTORIAL.ko, leim/quail/hanja.el) (leim/quail/hanja3.el, leim/quail/symbol-ksc.el): Now utf-8, not iso-2022-7bit. Also, files that contain non-UTF-8 characters are now encoded in utf-8-emacs, not iso-2022-7bit. * etc/tutorials/TUTORIAL.ko, tutorials/TUTORIAL.th: Switch from iso-2022-7bit to utf-8. * leim/quail/cyrillic.el, leim/quail/czech.el, leim/quail/ethiopic.el: * leim/quail/greek.el, leim/quail/hanja.el, leim/quail/hanja3.el: * leim/quail/hebrew.el, leim/quail/lao.el, leim/quail/lrt.el: * leim/quail/slovak.el, leim/quail/symbol-ksc.el, leim/quail/thai.el: * leim/quail/tibetan.el, leim/quail/viqr.el, leim/quail/vntelex.el: * leim/quail/vnvni.el, leim/quail/welsh.el: * lisp/international/latin1-disp.el, lisp/international/mule-util.el: * lisp/language/cyril-util.el, lisp/language/european.el: * lisp/language/ind-util.el, lisp/language/lao-util.el, lisp/language/thai.el: * lisp/language/tibet-util.el, lisp/language/tibetan.el: * lisp/language/viet-util.el: Switch from iso-2022-7bit to utf-8 or (if needed) utf-8-emacs. Fixes: debbugs:13936
112 lines
4.4 KiB
EmacsLisp
112 lines
4.4 KiB
EmacsLisp
;;; thai.el --- Quail package for inputting Thai characters -*-coding: utf-8;-*-
|
||
|
||
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||
;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||
;; National Institute of Advanced Industrial Science and Technology (AIST)
|
||
;; Registration Number H14PRO021
|
||
|
||
;; Keywords: multilingual, input method, Thai
|
||
|
||
;; This file is part of GNU Emacs.
|
||
|
||
;; GNU Emacs 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 3 of the License, or
|
||
;; (at your option) any later version.
|
||
|
||
;; GNU Emacs 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 GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||
|
||
;;; Commentary:
|
||
|
||
;;; Code:
|
||
|
||
(require 'quail)
|
||
|
||
(defmacro thai-generate-quail-map (translation-table)
|
||
(let (map)
|
||
(dotimes (i (length translation-table))
|
||
(let ((trans (aref translation-table i)))
|
||
(when (not (eq trans 0))
|
||
(if (> (length trans) 1)
|
||
(setq trans (vector trans))
|
||
(setq trans (aref trans 0)))
|
||
(setq map (cons (list (char-to-string i) trans) map)))))
|
||
`(quail-define-rules ,@map)))
|
||
|
||
;; Thai Kesmanee keyboard support.
|
||
|
||
(quail-define-package
|
||
"thai-kesmanee" "Thai" "กก>" t
|
||
"Thai Kesmanee input method with TIS620 keyboard layout
|
||
|
||
The difference from the ordinal Thai keyboard:
|
||
'฿' and '๏' are assigned to '\\' and '|' respectively,
|
||
'ฃ' and 'ฅ' are assigned to '`' and '~' respectively,
|
||
Don't know where to assign characters '๚' and '๛'."
|
||
nil t t t t nil nil nil nil nil t)
|
||
|
||
(thai-generate-quail-map
|
||
[
|
||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
|
||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
|
||
;; This data is quite old.
|
||
;; 0 "#" "." "๒" "๓" "๔" "ั้" "ง" ; SPC .. '
|
||
;; "๖" "๗" "๕" "๙" "ม" "ข" "ใ" "ฝ" ; ( .. /
|
||
;; "จ" "ล" "/" "_" "ภ" "ถ" "ุ" "ึ" ; 0 .. 7
|
||
;; "ค" "ต" "ซ" "ว" "ฒ" "ช" "ฬ" "ฦ" ; 8 .. ?
|
||
;; "๑" "ฤ" "ฺ" "ฉ" "ฏ" "ฎ" "โ" "ฌ" ; @ .. G
|
||
;; "็" "ณ" "๋" "ษ" "ศ" "๎" "์" "ฯ" ; H .. O
|
||
;; "ญ" "๐" "ฑ" "ฆ" "ธ" "๊" "ฮ" "\"" ; P .. W
|
||
;; ")" "ํ" "(" "บ" "฿" "ล" "ู" "๘" ; X .. _
|
||
;; "ฃ" "ฟ" "ิ" "แ" "ก" "ำ" "ด" "เ" ; ` .. g
|
||
;; "้" "ร" "่" "า" "ส" "ท" "ื" "น" ; h .. o
|
||
;; "ย" "ๆ" "พ" "ห" "ะ" "ี" "อ" "ไ" ; p .. w
|
||
;; "ป" "ั" "ผ" "ฐ" "๏" "," "ฅ" 0 ; x .. DEL
|
||
;; This is the correct data nowadays.
|
||
0 "+" "." "๒" "๓" "๔" "฿" "ง" ; SPC .. '
|
||
"๖" "๗" "๕" "๙" "ม" "ข" "ใ" "ฝ" ; ( .. /
|
||
"จ" "ๅ" "/" "-" "ภ" "ถ" "ุ" "ึ" ; 0 .. 7
|
||
"ค" "ต" "ซ" "ว" "ฒ" "ช" "ฬ" "ฦ" ; 8 .. ?
|
||
"๑" "ฤ" "ฺ" "ฉ" "ฏ" "ฎ" "โ" "ฌ" ; @ .. G
|
||
"็" "ณ" "๋" "ษ" "ศ" "?" "์" "ฯ" ; H .. O
|
||
"ญ" "๐" "ฑ" "ฆ" "ธ" "๊" "ฮ" "\"" ; P .. W
|
||
"\)" "ํ" "\(" "บ" "ฃ" "ล" "ู" "๘" ; X .. _
|
||
"_" "ฟ" "ิ" "แ" "ก" "ำ" "ด" "เ" ; ` .. g
|
||
"้" "ร" "่" "า" "ส" "ท" "ื" "น" ; h .. o
|
||
"ย" "ๆ" "พ" "ห" "ะ" "ี" "อ" "ไ" ; p .. w
|
||
"ป" "ั" "ผ" "ฐ" "ฅ" "," "%" 0 ; x .. DEL
|
||
])
|
||
|
||
|
||
;; Thai Pattachote keyboard support.
|
||
|
||
(quail-define-package
|
||
"thai-pattachote" "Thai" "กป>" t
|
||
"Thai Pattachote input method with TIS620 keyboard layout"
|
||
nil t t t t nil nil nil nil nil t)
|
||
|
||
(thai-generate-quail-map
|
||
[
|
||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
|
||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; control codes
|
||
0 "+" "ฑ" "/" "," "?" "_" "ข" ; SPC .. '
|
||
"(" ")" "." "%" "ะ" "๑" "จ" "พ" ; ( .. /
|
||
"๐" "=" "๒" "๓" "๔" "๕" "ู" "๗" ; 0 .. 7
|
||
"๘" "๙" "ฆ" "ไ" "ฟ" "๖" "ฒ" "ฬ" ; 8 .. ?
|
||
"\"" "๋" "ั" "ฐ" "ำ" "ๆ" "ณ" "์" ; @ .. G
|
||
"ื" "ซ" "ผ" "ช" "โ" "ฮ" "ศ" "ถ" ; H .. O
|
||
"ฒ" "๊" "ญ" "ธ" "ษ" "ฝ" "ภ" "ฤ" ; P .. W
|
||
"ฎ" "ึ" "ฎ" "ใ" "ฺ" "ฒ" "ุ" "-" ; X .. _
|
||
"ฃ" "้" "ิ" "ล" "ง" "ย" "ก" "ั" ; ` .. g
|
||
"ี" "ม" "า" "น" "เ" "ส" "ค" "ว" ; h .. o
|
||
"แ" "็" "อ" "ท" "ร" "ด" "ห" "ต" ; p .. w
|
||
"ป" "่" "บ" "ฯ" "ํ" "ฦ" "ฅ" 0 ; x .. DEL
|
||
])
|
||
|
||
;;; thai.el ends here
|