summaryrefslogtreecommitdiff
path: root/lisp/leim/quail/thai.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-11-26 22:15:06 -0800
committerGlenn Morris <rgm@gnu.org>2013-11-26 22:15:06 -0800
commitcb6c95a394d9a9d2f068bf8ee240f2d2297867d1 (patch)
tree6da24e3ad26db4ab42d800dd78feea2eee3d79d9 /lisp/leim/quail/thai.el
parent4cbac8e94b68297189524f2db456c776bda4ed69 (diff)
downloademacs-cb6c95a394d9a9d2f068bf8ee240f2d2297867d1.tar.gz
emacs-cb6c95a394d9a9d2f068bf8ee240f2d2297867d1.tar.bz2
emacs-cb6c95a394d9a9d2f068bf8ee240f2d2297867d1.zip
Move runtime leim lisp files to lisp/leim directory
This allows us to reuse much of the lisp build and installation machinery, rather than duplicating it. * Makefile.in (abs_builddir, leimdir): Remove. (buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory. (epaths-force-w32): No longer set BLD. (leim): Remove. (install-arch-indep): No longer run or install leim. (mostlyclean, clean): No longer run leim rule. (bootstrap-clean): Change leim target. (maintainer-clean): Add leim. (check-declare): Remove leim. * README: Update for leim changes. * configure.ac (leimdir): Remove. (standardlisppath): No more leimdir. * make-dist: Update for files from leim/ now being in lisp/leim/. * doc/lispref/loading.texi (Library Search): * doc/lispref/os.texi (Startup Summary): No more leim directory. * leim/Makefile.in (leimdir): New variable. (TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc) (${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el): Generate in $leimdir. (all): Remove compilation, add ja-dic. (leim-list.el): Now PHONY. (setwins, compile-targets, compile-main, clean, mostlyclean) (extraclean): Remove. (bootstrap-clean): Delete all generated files. * leim/README: Update for moved leim/ directory. * leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate): Remove manual autoloads; now in loaddefs.el. Disable byte-compile, version-control, autoloads in the output. * lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory. (compile-main): Depend on lisp/leim rule. (leim): New rule. * lisp/loadup.el: Move leim-list.el to leim/ subdirectory. * lisp/startup.el (normal-top-level): No more leim directory. * lisp/international/ja-dic-cnv.el (skkdic-convert): Disable version-control and autoloads in output files. * lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert): Disable version-control and autoloads in output files. * lisp/leim/quail: Move here from ../leim. * lisp/leim/quail/hangul.el (hangul-input-method-activate): Add autoload cookie. (generated-autoload-load-name): Set file-local value. * lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie. (generated-autoload-load-name): Set file-local value. * nt/README.W32: * nt/addpm.c (env_vars): * nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH): * nt/paths.h (PATH_LOADSEARCH): No more leim directory. * src/Makefile.in (leimdir): Now in lisp source directory. ($(leimdir)/leim-list.el): Just use ../leim . * src/epaths.in (PATH_DUMPLOADSEARCH): * src/lread.c (load_path_default): * src/nsterm.m (ns_load_path): No more leim directory. * .bzrignore: Update for relocated leim files.
Diffstat (limited to 'lisp/leim/quail/thai.el')
-rw-r--r--lisp/leim/quail/thai.el112
1 files changed, 112 insertions, 0 deletions
diff --git a/lisp/leim/quail/thai.el b/lisp/leim/quail/thai.el
new file mode 100644
index 00000000000..37171042643
--- /dev/null
+++ b/lisp/leim/quail/thai.el
@@ -0,0 +1,112 @@
+;;; 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