Commit | Line | Data |
---|---|---|
0a10297a | 1 | ;;; thai.el --- support for Thai -*- coding: iso-2022-7bit; no-byte-compile: t -*- |
4ed46869 | 2 | |
4ed46869 | 3 | ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. |
fa526c4a | 4 | ;; Licensed to the Free Software Foundation. |
4ed46869 KH |
5 | |
6 | ;; Keywords: multilingual, Thai | |
7 | ||
8 | ;; This file is part of GNU Emacs. | |
9 | ||
10 | ;; GNU Emacs is free software; you can redistribute it and/or modify | |
11 | ;; it under the terms of the GNU General Public License as published by | |
12 | ;; the Free Software Foundation; either version 2, or (at your option) | |
13 | ;; any later version. | |
14 | ||
15 | ;; GNU Emacs is distributed in the hope that it will be useful, | |
16 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | ;; GNU General Public License for more details. | |
19 | ||
20 | ;; You should have received a copy of the GNU General Public License | |
369314dc KH |
21 | ;; along with GNU Emacs; see the file COPYING. If not, write to the |
22 | ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
23 | ;; Boston, MA 02111-1307, USA. | |
4ed46869 KH |
24 | |
25 | ;;; Commentary: | |
26 | ||
27 | ;; For Thai, the character set TIS620 is supported. | |
28 | ||
29 | ;;; Code: | |
30 | ||
31 | (make-coding-system | |
4b9121fc | 32 | 'thai-tis620 2 ?T |
5ef35063 | 33 | "8-bit encoding for ASCII (MSB=0) and Thai TIS620 (MSB=1)." |
a79a3c79 | 34 | '(ascii thai-tis620 nil nil |
bbd84e16 | 35 | nil nil nil nil nil nil nil nil nil nil nil t) |
a79a3c79 | 36 | '((safe-charsets ascii thai-tis620) |
b586f4b4 | 37 | (mime-charset . tis-620) |
c27737aa | 38 | (post-read-conversion . thai-post-read-conversion))) |
a7f2c216 | 39 | |
2e21aa27 RS |
40 | (define-coding-system-alias 'th-tis620 'thai-tis620) |
41 | (define-coding-system-alias 'tis620 'thai-tis620) | |
5d22a4c9 | 42 | (define-coding-system-alias 'tis-620 'thai-tis620) |
4ed46869 | 43 | |
4ed46869 KH |
44 | (set-language-info-alist |
45 | "Thai" '((tutorial . "TUTORIAL.th") | |
a79a3c79 KH |
46 | (charset thai-tis620) |
47 | (coding-system thai-tis620) | |
48 | (coding-priority thai-tis620) | |
a564ccf9 KH |
49 | (nonascii-translation . thai-tis620) |
50 | (input-method . "thai-kesmanee") | |
51 | (unibyte-display . thai-tis620) | |
52 | (features thai-util) | |
a1506d29 | 53 | (sample-text |
e2a20aa7 KH |
54 | . (thai-compose-string |
55 | (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"))) | |
78eee0ed | 56 | (documentation . t))) |
4ed46869 | 57 | |
c27737aa KH |
58 | |
59 | ;; Register a function to compose Thai characters. | |
2c974b15 DL |
60 | (let ((patterns '(("\\c0\\c4\\|\\c0\\(\\c2\\|\\c3\\)\\c4?" |
61 | . thai-composition-function)))) | |
62 | (aset composition-function-table (make-char 'thai-tis620) patterns) | |
63 | (dotimes (i (1+ (- #xe7f #xe00))) | |
64 | (aset composition-function-table (decode-char 'ucs (+ i #xe00)) patterns))) | |
c27737aa | 65 | |
41da80b1 DL |
66 | (provide 'thai) |
67 | ||
4ed46869 | 68 | ;;; thai.el ends here |