]> code.delx.au - gnu-emacs/blob - lisp/language/vietnamese.el
Add 2012 to FSF copyright years for Emacs files (do not merge to trunk)
[gnu-emacs] / lisp / language / vietnamese.el
1 ;;; vietnamese.el --- support for Vietnamese -*- coding: iso-2022-7bit; -*-
2
3 ;; Copyright (C) 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4 ;; Free Software Foundation, Inc.
5 ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
6 ;; 2005, 2006, 2007, 2008, 2009, 2010, 2011
7 ;; National Institute of Advanced Industrial Science and Technology (AIST)
8 ;; Registration Number H14PRO021
9 ;; Copyright (C) 2003
10 ;; National Institute of Advanced Industrial Science and Technology (AIST)
11 ;; Registration Number H13PRO009
12
13 ;; Keywords: multilingual, Vietnamese, i18n
14
15 ;; This file is part of GNU Emacs.
16
17 ;; GNU Emacs is free software: you can redistribute it and/or modify
18 ;; it under the terms of the GNU General Public License as published by
19 ;; the Free Software Foundation, either version 3 of the License, or
20 ;; (at your option) any later version.
21
22 ;; GNU Emacs is distributed in the hope that it will be useful,
23 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
24 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 ;; GNU General Public License for more details.
26
27 ;; You should have received a copy of the GNU General Public License
28 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
29
30 ;;; Commentary:
31
32 ;; For Vietnames, the character sets VISCII, VSCII and TCVN-5712 are
33 ;; supported.
34
35 ;;; Code:
36
37 (define-coding-system 'vietnamese-viscii
38 "8-bit encoding for Vietnamese VISCII 1.1 (MIME:VISCII)."
39 :coding-type 'charset
40 :mnemonic ?V
41 :charset-list '(viscii)
42 :mime-charset 'viscii
43 :suitable-for-file-name t)
44
45 (define-coding-system-alias 'viscii 'vietnamese-viscii)
46
47 (define-coding-system 'vietnamese-vscii
48 "8-bit encoding for Vietnamese VSCII-1."
49 :coding-type 'charset
50 :mnemonic ?v
51 :charset-list '(vscii)
52 :suitable-for-file-name t)
53
54 (define-coding-system-alias 'vscii 'vietnamese-vscii)
55
56 ;; (make-coding-system
57 ;; 'vietnamese-vps 4 ?p
58 ;; "8-bit encoding for Vietnamese VPS"
59 ;; '(ccl-decode-vps . ccl-encode-vps)
60 ;; '((safe-charsets ascii vietnamese-viscii-lower vietnamese-viscii-upper)
61 ;; (valid-codes (0 . 255))))
62 ;;
63 ;; (define-coding-system-alias 'vps 'vietnamese-vps)
64
65 (define-coding-system 'vietnamese-viqr
66 "Vietnamese latin transcription (VIQR)."
67 :coding-type 'utf-8
68 :mnemonic ?q
69 :charset-list '(ascii viscii)
70 :post-read-conversion 'viqr-post-read-conversion
71 :pre-write-conversion 'viqr-pre-write-conversion)
72
73 (define-coding-system-alias 'viqr 'vietnamese-viqr)
74
75 (set-language-info-alist
76 "Vietnamese" `((charset viscii)
77 (coding-system vietnamese-viscii vietnamese-vscii
78 vietnamese-tcvn vietnamese-viqr windows-1258)
79 (nonascii-translation . viscii)
80 (coding-priority vietnamese-viscii)
81 (input-method . "vietnamese-viqr")
82 (unibyte-display . vietnamese-viscii)
83 (features viet-util)
84 (sample-text . "Vietnamese (Ti\e,1*\e(Bng Vi\e,1.\e(Bt) Ch\e,1`\e(Bo b\e,1U\e(Bn")
85 (documentation . "\
86 For Vietnamese, Emacs uses special charsets internally.
87 They can be decoded from and encoded to VISCII, VSCII, TCVN-5712, VIQR
88 and windows-1258. VSCII is deprecated in favour of TCVN-5712. The
89 Current setting gives higher priority to the coding system VISCII than
90 TCVN-5712. If you prefer TCVN-5712, please do: (prefer-coding-system
91 'vietnamese-tcvn). There are two Vietnamese input methods: VIQR and
92 Telex, VIQR is the default setting.")))
93
94 (define-coding-system 'windows-1258
95 "windows-1258 encoding for Vietnamese (MIME: WINDOWS-1258)"
96 :coding-type 'charset
97 :mnemonic ?*
98 :charset-list '(windows-1258)
99 :mime-charset 'windows-1258)
100 (define-coding-system-alias 'cp1258 'windows-1258)
101
102 (define-coding-system 'vietnamese-tcvn
103 "8-bit encoding for Vietnamese TCVN-5712"
104 :coding-type 'charset
105 :mnemonic ?t
106 :charset-list '(tcvn-5712)
107 :suitable-for-file-name t)
108 (define-coding-system-alias 'tcvn 'vietnamese-tcvn)
109 (define-coding-system-alias 'tcvn-5712 'vietnamese-tcvn)
110
111 (provide 'vietnamese)
112
113 ;; arch-tag: 5bd4f1aa-2d4e-4f33-b7d8-0679c6a19ee6
114 ;;; vietnamese.el ends here