diff options
Diffstat (limited to 'lisp/language/thai.el')
-rw-r--r-- | lisp/language/thai.el | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/lisp/language/thai.el b/lisp/language/thai.el index f822e93bd1b..0723c3d182b 100644 --- a/lisp/language/thai.el +++ b/lisp/language/thai.el @@ -1,9 +1,13 @@ ;;; thai.el --- support for Thai -*- coding: iso-2022-7bit; no-byte-compile: t -*- ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. -;; Licensed to the Free Software Foundation. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 2002 Free Software Foundation, Inc. +;; Copyright (C) 2003 +;; National Institute of Advanced Industrial Science and Technology (AIST) +;; Registration Number H13PRO009 -;; Keywords: multilingual, Thai +;; Keywords: multilingual, Thai, i18n ;; This file is part of GNU Emacs. @@ -28,14 +32,11 @@ ;;; Code: -(make-coding-system - 'thai-tis620 2 ?T - "8-bit encoding for ASCII (MSB=0) and Thai TIS620 (MSB=1)." - '(ascii thai-tis620 nil nil - nil nil nil nil nil nil nil nil nil nil nil t) - '((safe-charsets ascii thai-tis620) - (mime-charset . tis-620) - (post-read-conversion . thai-post-read-conversion))) +(define-coding-system 'thai-tis620 + "8-bit encoding for ASCII (MSB=0) and Thai TIS620 (MSB=1)." + :coding-type 'charset + :mnemonic ?T + :charset-list '(tis620-2533)) (define-coding-system-alias 'th-tis620 'thai-tis620) (define-coding-system-alias 'tis620 'thai-tis620) @@ -44,9 +45,9 @@ (set-language-info-alist "Thai" '((tutorial . "TUTORIAL.th") (charset thai-tis620) - (coding-system thai-tis620) + (coding-system thai-tis620 iso-8859-11 cp874) (coding-priority thai-tis620) - (nonascii-translation . thai-tis620) + (nonascii-translation . tis620-2533) (input-method . "thai-kesmanee") (unibyte-display . thai-tis620) (features thai-util) @@ -55,13 +56,27 @@ (copy-sequence "Thai (,T@RIRd7B(B) ,TJ0GQ1J04U1$0CQ1:(B, ,TJ0GQ1J04U10$h1P(B"))) (documentation . t))) - -;; Register a function to compose Thai characters. -(let ((patterns '(("\\c0\\c4\\|\\c0\\(\\c2\\|\\c3\\)\\c4?" - . thai-composition-function)))) - (aset composition-function-table (make-char 'thai-tis620) patterns) - (dotimes (i (1+ (- #xe7f #xe00))) - (aset composition-function-table (decode-char 'ucs (+ i #xe00)) patterns))) +(define-coding-system 'cp874 + "DOS codepage 874 (Thai)" + :coding-type 'charset + :mnemonic ?D + :charset-list '(cp874) + :mime-charset 'cp874) +(define-coding-system-alias 'ibm874 'cp874) + +(define-coding-system 'iso-8859-11 + "ISO/IEC 8859/11 (Latin/Thai) +This is the same as `thai-tis620' with the addition of no-break-space." + :coding-type 'charset + :mnemonic ?* + :mime-charset 'iso-8859-11 ; not actually registered as of 2002-05-24 + :charset-list '(iso-8859-11)) + +;; For automatic composition. +(let ((chars ",TQTUVWXYZghijklmn(B")) + (dotimes (i (length chars)) + (aset composition-function-table (aref chars i) + 'thai-composition-function))) (provide 'thai) |