36
(defvar viet-viscii-decode-table
37
[;; VISCII is a full 8-bit code.
38
0 1 ?,2F(B 3 4 ?,2G(B ?,2g(B 7 8 9 10 11 12 13 14 15
39
16 17 18 19 ?,2V(B 21 22 23 24 ?,2[(B 26 27 28 29 ?,2\(B 31
40
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
41
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
42
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
43
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
44
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
45
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
46
?,2U(B ?,2!(B ?,2"(B ?,2#(B ?,2$(B ?,2%(B ?,2&(B ?,2'(B ?,2((B ?,2)(B ?,2*(B ?,2+(B ?,2,(B ?,2-(B ?,2.(B ?,2/(B
47
?,20(B ?,21(B ?,22(B ?,25(B ?,2~(B ?,2>(B ?,26(B ?,27(B ?,28(B ?,2v(B ?,2w(B ?,2o(B ?,2|(B ?,2{(B ?,2x(B ?,2O(B
48
?,2u(B ?,1!(B ?,1"(B ?,1#(B ?,1$(B ?,1%(B ?,1&(B ?,1'(B ?,1((B ?,1)(B ?,1*(B ?,1+(B ?,1,(B ?,1-(B ?,1.(B ?,1/(B
49
?,10(B ?,11(B ?,12(B ?,2^(B ?,2=(B ?,15(B ?,16(B ?,17(B ?,18(B ?,2q(B ?,2Q(B ?,2W(B ?,2X(B ?,1=(B ?,1>(B ?,2_(B
50
?,2`(B ?,2a(B ?,2b(B ?,2c(B ?,2d(B ?,2e(B ?,1F(B ?,1G(B ?,2h(B ?,2i(B ?,2j(B ?,2k(B ?,2l(B ?,2m(B ?,2n(B ?,1O(B
51
?,2p(B ?,1Q(B ?,2r(B ?,2s(B ?,2t(B ?,1U(B ?,1V(B ?,1W(B ?,1X(B ?,2y(B ?,2z(B ?,1[(B ?,1\(B ?,2}(B ?,1^(B ?,1_(B
52
?,1`(B ?,1a(B ?,1b(B ?,1c(B ?,1d(B ?,1e(B ?,1f(B ?,1g(B ?,1h(B ?,1i(B ?,1j(B ?,1k(B ?,1l(B ?,1m(B ?,1n(B ?,1o(B
53
?,1p(B ?,1q(B ?,1r(B ?,1s(B ?,1t(B ?,1u(B ?,1v(B ?,1w(B ?,1x(B ?,1y(B ?,1z(B ?,1{(B ?,1|(B ?,1}(B ?,1~(B ?,2f(B ]
54
"Vietnamese VISCII decoding table.")
56
(let ((table (make-translation-table-from-vector viet-viscii-decode-table)))
57
(define-translation-table 'viet-viscii-nonascii-translation-table table)
58
(define-translation-table 'viet-viscii-encode-table
59
(char-table-extra-slot table 0)))
62
;;; VSCII is a pre-version of TCVN-5712 and deprecated
64
(defvar viet-vscii-decode-table
65
[;; VSCII is a full 8-bit code.
66
0 ?,2z(B ?,2x(B 3 ?,2W(B ?,2X(B ?,2f(B 7 8 9 10 11 12 13 14 15
67
16 ?,2Q(B ?,2_(B ?,2O(B ?,2V(B ?,2[(B ?,2}(B ?,2\(B 24 25 26 27 28 29 30 31
68
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
69
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
70
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
71
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
72
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
73
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
74
?,2`(B ?,2d(B ?,2c(B ?,2a(B ?,2U(B ?,2#(B ?,2'(B ?,2h(B ?,2k(B ?,2((B ?,2i(B ?,2)(B ?,2.(B ?,2l(B ?,2o(B ?,2n(B
75
?,2m(B ?,28(B ?,2r(B ?,2v(B ?,2u(B ?,2s(B ?,2w(B ?,25(B ?,26(B ?,27(B ?,2^(B ?,2>(B ?,2~(B ?,2y(B ?,2|(B ?,2{(B
76
160 ?,2e(B ?,2b(B ?,2j(B ?,2t(B ?,2=(B ?,2_(B ?,2p(B ?,1e(B ?,1b(B ?,1j(B ?,1t(B ?,1=(B ?,1y(B ?,1p(B ?,2"(B
77
192 193 194 195 196 ?,1`(B ?,1d(B ?,1c(B ?,1a(B ?,1U(B ?,2F(B ?,1"(B ?,1F(B ?,1G(B ?,1!(B ?,2G(B
78
?,2!(B ?,2%(B ?,2&(B ?,2g(B ?,2%(B ?,2+(B ?,1#(B ?,1%(B ?,1&(B ?,1g(B ?,1$(B ?,1'(B ?,1h(B ?,2,(B ?,1k(B ?,1((B
79
?,1i(B ?,1)(B ?,1+(B ?,1,(B ?,1-(B ?,1*(B ?,1.(B ?,1l(B ?,1o(B ?,2-(B ?,2*(B ?,20(B ?,1n(B ?,1m(B ?,18(B ?,1r(B
80
?,21(B ?,1v(B ?,1u(B ?,1s(B ?,1w(B ?,10(B ?,11(B ?,12(B ?,1/(B ?,15(B ?,16(B ?,17(B ?,1^(B ?,1>(B ?,1~(B ?,1y(B
81
?,22(B ?,1|(B ?,1{(B ?,1z(B ?,1x(B ?,1W(B ?,1X(B ?,1f(B ?,1Q(B ?,1q(B ?,1O(B ?,1V(B ?,1[(B ?,1}(B ?,1\(B ?,2/(B]
82
"Vietnamese VSCII decoding table.")
84
(let ((table (make-translation-table-from-vector viet-vscii-decode-table)))
85
(define-translation-table 'viet-vscii-nonascii-translation-table table)
86
(define-translation-table 'viet-vscii-encode-table
87
(char-table-extra-slot table 0)))
89
;; Does not support combining characters in the range [176, 180]
90
(defvar viet-tcvn-decode-table
91
[;; TCVN is a full 8-bit code.
92
0 ?,2z(B ?,2x(B 3 ?,2W(B ?,2X(B ?,2f(B 7 8 9 10 11 12 13 14 15
93
16 ?,2Q(B ?,2q(B ?,2O(B ?,2V(B ?,2[(B ?,2}(B ?,2\(B 24 25 26 27 28 29 30 31
94
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
95
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
96
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
97
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
98
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
99
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
100
?,2`(B ?,2d(B ?,2c(B ?,2a(B ?,2U(B ?,2#(B ?,2'(B ?,2h(B ?,2k(B ?,2((B ?,2i(B ?,2)(B ?,2.(B ?,2l(B ?,2o(B ?,2n(B
101
?,2m(B ?,28(B ?,2r(B ?,2v(B ?,2u(B ?,2s(B ?,2w(B ?,25(B ?,26(B ?,27(B ?,2^(B ?,2>(B ?,2~(B ?,2y(B ?,2|(B ?,2{(B
102
160 ?,2e(B ?,2b(B ?,2j(B ?,2t(B ?,2=(B ?,2_(B ?,2p(B ?,1e(B ?,1b(B ?,1j(B ?,1t(B ?,1=(B ?,1_(B ?,1p(B ?,2"(B
103
176 177 178 179 180 ?,1`(B ?,1d(B ?,1c(B ?,1a(B ?,1U(B ?,2F(B ?,1"(B ?,1F(B ?,1G(B ?,1!(B ?,2G(B
104
?,2!(B ?,2%(B ?,2&(B ?,2g(B ?,2$(B ?,2+(B ?,1#(B ?,1%(B ?,1&(B ?,1g(B ?,1$(B ?,1'(B ?,1h(B ?,2,(B ?,1k(B ?,1((B
105
?,1i(B ?,1)(B ?,1+(B ?,1,(B ?,1-(B ?,1*(B ?,1.(B ?,1l(B ?,1o(B ?,2-(B ?,2*(B ?,20(B ?,1n(B ?,1m(B ?,18(B ?,1r(B
106
?,21(B ?,1v(B ?,1u(B ?,1s(B ?,1w(B ?,10(B ?,11(B ?,12(B ?,1/(B ?,15(B ?,16(B ?,17(B ?,1^(B ?,1>(B ?,1~(B ?,1y(B
107
?,22(B ?,1|(B ?,1{(B ?,1z(B ?,1x(B ?,1W(B ?,1X(B ?,1f(B ?,1Q(B ?,1q(B ?,1O(B ?,1V(B ?,1[(B ?,1}(B ?,1\(B ?,2/(B]
108
"Vietnamese TCVN-5712 decoding table.")
110
(let ((table (make-translation-table-from-vector viet-tcvn-decode-table)))
111
(define-translation-table 'viet-tcvn-nonascii-translation-table table)
112
(define-translation-table 'viet-tcvn-encode-table
113
(char-table-extra-slot table 0)))
115
;; (defvar viet-vps-decode-table
116
;; [;; VPS is a full 8-bit code.
117
;; 0 1 ?,2U(B ?,2'(B ?,2#(B ?,2)(B ?,2.(B 7 8 9 10 11 12 13 14 15
118
;; ?,28(B ?,2w(B ?,25(B ?,2~(B ?,2x(B ?,2q(B 22 23 24 ?,2\(B 26 27 ?,2g(B ?,2f(B 30 31
119
;; 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
120
;; 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
121
;; 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
122
;; 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
123
;; 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
124
;; 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
125
;; ?,2`(B ?,2d(B ?,2c(B ?,2$(B ?,2%(B ?,2&(B ?,1w(B ?,12(B ?,2e(B ?,1*(B ?,1+(B ?,1,(B ?,1.(B ?,2!(B ?,2"(B ?,2F(B
126
;; ?,2*(B 145 146 ?,2+(B ?,2,(B ?,2-(B ?,2/(B ?,20(B ?,21(B ?,22(B ?,1}(B ?,1V(B ?,1\(B ?,2>(B ?,26(B ?,27(B
127
;; 160 ?,1!(B ?,1"(B ?,1F(B ?,1G(B ?,1#(B ?,2^(B ?,1>(B ?,2y(B ?,16(B ?,17(B ?,1^(B ?,2{(B ?,2Q(B ?,1~(B ?,2W(B
128
;; ?,11(B ?,2X(B ?,2O(B ?,2[(B ?,2m(B ?,2l(B ?,15(B ?,2o(B ?,2n(B ?,2s(B ?,1X(B ?,1f(B ?,2r(B ?,2v(B ?,2u(B ?,1q(B
129
;; ?,1%(B ?,2a(B ?,2b(B ?,1$(B ?,1&(B ?,1g(B ?,1'(B ?,1p(B ?,1k(B ?,2i(B ?,2j(B ?,1)(B ?,1o(B ?,1-(B ?,18(B ?,1[(B
130
;; ?,2_(B ?,2|(B ?,10(B ?,1/(B ?,2t(B ?,1v(B ?,1=(B ?,2h(B ?,1W(B ?,1Q(B ?,2z(B ?,1{(B ?,1_(B ?,2}(B ?,2k(B 223
131
;; ?,1`(B ?,1a(B ?,1b(B ?,1c(B ?,1d(B ?,1U(B ?,1e(B 231 ?,1h(B ?,1i(B ?,1j(B ?,1((B ?,1l(B ?,1m(B 238 ?,1n(B
132
;; ?,2G(B ?,2p(B ?,1r(B ?,1s(B ?,1t(B ?,1u(B 246 ?,2=(B ?,1x(B ?,1y(B ?,1z(B ?,1|(B 252 ?,2V(B ?,2((B ?,1O(B]
133
;; "Vietnamese VPS decoding table.")
135
;; (let ((table (make-translation-table-from-vector viet-vps-decode-table)))
136
;; (define-translation-table 'viet-vps-nonascii-translation-table table)
137
;; (define-translation-table 'viet-vps-encode-table
138
;; (char-table-extra-slot table 0)))
140
(define-ccl-program ccl-decode-viscii
145
(translate-character viet-viscii-nonascii-translation-table r0 r1)
146
(write-multibyte-character r0 r1)
148
"CCL program to decode VISCII 1.1")
150
(define-ccl-program ccl-encode-viscii
153
(read-multibyte-character r0 r1)
154
(translate-character viet-viscii-encode-table r0 r1)
156
"CCL program to encode VISCII 1.1")
158
(define-ccl-program ccl-encode-viscii-font
160
;; In: R0:vietnamese-viscii-lower/vietnamese-viscii-upper
162
;; Out: R1:font code point
163
(translate-character viet-viscii-encode-table r0 r1))
164
"CCL program to encode Vietnamese chars to VISCII 1.1 font")
166
(define-ccl-program ccl-decode-vscii
171
(translate-character viet-vscii-nonascii-translation-table r0 r1)
172
(write-multibyte-character r0 r1)
174
"CCL program to decode VSCII-1.")
176
(define-ccl-program ccl-encode-vscii
179
(read-multibyte-character r0 r1)
180
(translate-character viet-vscii-encode-table r0 r1)
182
"CCL program to encode VSCII-1.")
184
(define-ccl-program ccl-encode-vscii-font
186
;; In: R0:vietnamese-viscii-lower/vietnamese-viscii-upper
188
;; Out: R1:font code point
189
(translate-character viet-vscii-encode-table r0 r1))
190
"CCL program to encode Vietnamese chars to VSCII-1 font.")
192
(define-ccl-program ccl-decode-tcvn
197
(translate-character viet-tcvn-nonascii-translation-table r0 r1)
198
(write-multibyte-character r0 r1)
200
"CCL program to decode TCVN-5712.")
202
(define-ccl-program ccl-encode-tcvn
205
(read-multibyte-character r0 r1)
206
(translate-character viet-tcvn-encode-table r0 r1)
208
"CCL program to encode TCVN-5712.")
210
(define-ccl-program ccl-encode-tcvn-font
212
;; In: R0:vietnamese-viscii-lower/vietnamese-viscii-upper
214
;; Out: R1:font code point
215
(translate-character viet-tcvn-encode-table r0 r1))
216
"CCL program to encode Vietnamese chars to TCVN-5712 font.")
218
;; (define-ccl-program ccl-decode-vps
223
;; (translate-character viet-vps-nonascii-translation-table r0 r1)
224
;; (write-multibyte-character r0 r1)
226
;; "CCL program to decode VPS.")
228
;; (define-ccl-program ccl-encode-vps
231
;; (read-multibyte-character r0 r1)
232
;; (translate-character viet-vps-encode-table r0 r1)
233
;; (write-repeat r1))))
234
;; "CCL program to encode VPS.")
236
;; (define-ccl-program ccl-encode-vps-font
238
;; ;; In: R0:vietnamese-viscii-lower/vietnamese-viscii-upper
239
;; ;; R1:position code
240
;; ;; Out: R1:font code point
241
;; (translate-character viet-vps-encode-table r0 r1))
242
;; "CCL program to encode Vietnamese chars to VPS font.")
245
'vietnamese-viscii 4 ?V
246
"8-bit encoding for Vietnamese VISCII 1.1 (MIME:VISCII)"
247
'(ccl-decode-viscii . ccl-encode-viscii)
248
'((safe-charsets ascii vietnamese-viscii-lower vietnamese-viscii-upper)
249
(mime-charset . viscii)
250
(valid-codes (0 . 255))))
39
(define-coding-system 'vietnamese-viscii
40
"8-bit encoding for Vietnamese VISCII 1.1 (MIME:VISCII)."
43
:charset-list '(viscii)
45
:suitable-for-file-name t)
252
47
(define-coding-system-alias 'viscii 'vietnamese-viscii)
255
'vietnamese-vscii 4 ?v
256
"8-bit encoding for Vietnamese VSCII-1"
257
'(ccl-decode-vscii . ccl-encode-vscii)
258
'((safe-charsets ascii vietnamese-viscii-lower vietnamese-viscii-upper)
259
(valid-codes (0 . 255))))
49
(define-coding-system 'vietnamese-vscii
50
"8-bit encoding for Vietnamese VSCII-1."
53
:charset-list '(vscii)
54
:suitable-for-file-name t)
261
56
(define-coding-system-alias 'vscii 'vietnamese-vscii)
264
'vietnamese-tcvn 4 ?t
265
"8-bit encoding for Vietnamese TCVN-5712"
266
'(ccl-decode-tcvn . ccl-encode-tcvn)
267
'((safe-charsets ascii vietnamese-viscii-lower vietnamese-viscii-upper)
268
(valid-codes (0 . 255))))
270
(define-coding-system-alias 'tcvn 'vietnamese-tcvn)
271
(define-coding-system-alias 'tcvn-5712 'vietnamese-tcvn)
273
58
;; (make-coding-system
274
59
;; 'vietnamese-vps 4 ?p
275
60
;; "8-bit encoding for Vietnamese VPS"