-;;; thai.el --- Support for Thai
+;;; thai.el --- support for Thai -*- coding: iso-2022-7bit; no-byte-compile: t -*-
-;; Copyright (C) 1995 Free Software Foundation, Inc.
;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
+;; Licensed to the Free Software Foundation.
;; Keywords: multilingual, Thai
(make-coding-system
'thai-tis620 2 ?T
- "8-bit encoding for ASCII (MSB=0) and Thai TIS620 (MSB=1)"
- '((ascii t) (thai-tis620 t) nil nil
- nil ascii-eol))
-(put 'thai-tis620 'post-read-conversion 'thai-post-read-conversion)
-(put 'thai-tis620 'pre-write-conversion 'thai-pre-write-conversion)
+ "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-alias 'thai-tis620 'th-tis620)
-(define-coding-system-alias 'thai-tis620 'tis620)
-
-(register-input-method
- "Thai" '("quail-thai" quail-use-package "quail/thai"))
+(define-coding-system-alias 'th-tis620 'thai-tis620)
+(define-coding-system-alias 'tis620 'thai-tis620)
+(define-coding-system-alias 'tis-620 'thai-tis620)
(set-language-info-alist
"Thai" '((tutorial . "TUTORIAL.th")
- (setup-function . setup-thai-environment)
- (charset . (thai-tis620))
- (coding-system . (thai-tis620))
- (sample-text . "Thai (\e,T@RIRd7B\e(B) \e,TJ\e0GQ\e1J\e04U\e1$\e0CQ\e1:\e(B, \e,TJ\e0GQ\e1J\e04U\e1\e0$h\e1P\e(B")
+ (charset thai-tis620)
+ (coding-system thai-tis620)
+ (coding-priority thai-tis620)
+ (nonascii-translation . thai-tis620)
+ (input-method . "thai-kesmanee")
+ (unibyte-display . thai-tis620)
+ (features thai-util)
+ (sample-text
+ . (thai-compose-string
+ (copy-sequence "Thai (\e,T@RIRd7B\e(B) \e,TJ\e0GQ\e1J\e04U\e1$\e0CQ\e1:\e(B, \e,TJ\e0GQ\e1J\e04U\e1\e0$h\e1P\e(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)))
+
+(provide 'thai)
+
;;; thai.el ends here