diff options
| author | Kenichi Handa | 2002-03-01 02:28:29 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2002-03-01 02:28:29 +0000 |
| commit | e1915ab396259f967733e4a6247a975c3dbdccad (patch) | |
| tree | de64d08548fb722472bc9a665eb7a1170f7b1659 | |
| parent | c184177262bc93a25ae7c781dcabbcc1ba213b04 (diff) | |
| download | emacs-e1915ab396259f967733e4a6247a975c3dbdccad.tar.gz emacs-e1915ab396259f967733e4a6247a975c3dbdccad.zip | |
Call define-coding-system instead of make-coding-system. All CCL program deleted.
| -rw-r--r-- | lisp/language/chinese.el | 269 | ||||
| -rw-r--r-- | lisp/language/cyrillic.el | 190 | ||||
| -rw-r--r-- | lisp/language/european.el | 347 | ||||
| -rw-r--r-- | lisp/language/greek.el | 17 | ||||
| -rw-r--r-- | lisp/language/hebrew.el | 19 | ||||
| -rw-r--r-- | lisp/language/indian.el | 18 | ||||
| -rw-r--r-- | lisp/language/japanese.el | 102 | ||||
| -rw-r--r-- | lisp/language/korean.el | 31 | ||||
| -rw-r--r-- | lisp/language/lao.el | 33 | ||||
| -rw-r--r-- | lisp/language/thai.el | 23 | ||||
| -rw-r--r-- | lisp/language/tibetan.el | 21 | ||||
| -rw-r--r-- | lisp/language/vietnamese.el | 151 |
12 files changed, 321 insertions, 900 deletions
diff --git a/lisp/language/chinese.el b/lisp/language/chinese.el index 7d0f85ac902..5ee58bb7582 100644 --- a/lisp/language/chinese.el +++ b/lisp/language/chinese.el | |||
| @@ -33,47 +33,50 @@ | |||
| 33 | ;;; Chinese (general) | 33 | ;;; Chinese (general) |
| 34 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 34 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 35 | 35 | ||
| 36 | (make-coding-system | 36 | (define-coding-system 'iso-2022-cn |
| 37 | 'iso-2022-cn 2 ?C | ||
| 38 | "ISO 2022 based 7bit encoding for Chinese GB and CNS (MIME:ISO-2022-CN)." | 37 | "ISO 2022 based 7bit encoding for Chinese GB and CNS (MIME:ISO-2022-CN)." |
| 39 | '(ascii | 38 | :coding-type 'iso-2022 |
| 40 | (nil chinese-gb2312 chinese-cns11643-1) | 39 | :mnemonic ?C |
| 41 | (nil chinese-cns11643-2) | 40 | :charset-list '(ascii chinese-gb2312 chinese-cns11643-1 chinese-cns11643-2) |
| 42 | nil | 41 | :designation [ascii |
| 43 | nil ascii-eol ascii-cntl seven locking-shift single-shift nil nil nil | 42 | (nil chinese-gb2312 chinese-cns11643-1) |
| 44 | init-bol) | 43 | (nil chinese-cns11643-2) |
| 45 | '((safe-charsets ascii chinese-gb2312 chinese-cns11643-1 chinese-cns11643-2) | 44 | nil] |
| 46 | (mime-charset . iso-2022-cn))) | 45 | :flags '(ascii-at-eol ascii-at-cntl 7-bit |
| 46 | designation locking-shift single-shift init-at-bol) | ||
| 47 | :plist '(mime-charset . iso-2022-cn)) | ||
| 47 | 48 | ||
| 48 | (define-coding-system-alias 'chinese-iso-7bit 'iso-2022-cn) | 49 | (define-coding-system-alias 'chinese-iso-7bit 'iso-2022-cn) |
| 49 | 50 | ||
| 50 | (make-coding-system | 51 | (define-coding-system 'iso-2022-cn-ext |
| 51 | 'iso-2022-cn-ext 2 ?C | 52 | "ISO 2022 based 7bit encoding for Chinese GB and CNS (MIME:ISO-2022-CN-EXT)." |
| 52 | "ISO 2022 based 7bit encoding for Chinese GB and CNS (MIME:ISO-2022-CN-EXT)." | 53 | :coding-type 'iso-2022 |
| 53 | '(ascii | 54 | :mnemonic ?C |
| 54 | (nil chinese-gb2312 chinese-cns11643-1) | 55 | :charset-list '(ascii |
| 55 | (nil chinese-cns11643-2) | 56 | chinese-gb2312 chinese-cns11643-1 |
| 56 | (nil chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 | 57 | chinese-cns11643-2 chinese-cns11643-3 chinese-cns11643-4 |
| 57 | chinese-cns11643-6 chinese-cns11643-7) | 58 | chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7) |
| 58 | nil ascii-eol ascii-cntl seven locking-shift single-shift nil nil nil | 59 | :designation '[ascii |
| 59 | init-bol) | 60 | (nil chinese-gb2312 chinese-cns11643-1) |
| 60 | '((safe-charsets ascii chinese-gb2312 chinese-cns11643-1 chinese-cns11643-2 | 61 | (nil chinese-cns11643-2) |
| 61 | chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 | 62 | (nil chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 |
| 62 | chinese-cns11643-6 chinese-cns11643-7) | 63 | chinese-cns11643-6 chinese-cns11643-7)] |
| 63 | (mime-charset . iso-2022-cn-ext))) | 64 | :flags '(ascii-at-eol ascii-at-cntl 7-bit |
| 65 | designation locking-shift single-shift init-at-bol) | ||
| 66 | :plist '(mime-charset iso-2022-cn-ext)) | ||
| 64 | 67 | ||
| 65 | 68 | ||
| 66 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 69 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 67 | ;;; Chinese GB2312 (simplified) | 70 | ;;; Chinese GB2312 (simplified) |
| 68 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 71 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 69 | 72 | ||
| 70 | (make-coding-system | 73 | (define-coding-system 'chinese-iso-8bit |
| 71 | 'chinese-iso-8bit 2 ?c | 74 | "ISO 2022 based EUC encoding for Chinese GB2312 (MIME:CN-GB)." |
| 72 | "ISO 2022 based EUC encoding for Chinese GB2312 (MIME:GB2312)." | 75 | :coding-type 'iso-2022 |
| 73 | '(ascii chinese-gb2312 nil nil | 76 | :mnemonic ?c |
| 74 | nil ascii-eol ascii-cntl nil nil nil nil) | 77 | :charset-list '(ascii chinese-gb2312) |
| 75 | '((safe-charsets ascii chinese-gb2312) | 78 | :designation [ascii chinese-gb2312 nil nil] |
| 76 | (mime-charset . gb2312))) | 79 | :plist '(mime-charset cn-gb)) |
| 77 | 80 | ||
| 78 | (define-coding-system-alias 'cn-gb-2312 'chinese-iso-8bit) | 81 | (define-coding-system-alias 'cn-gb-2312 'chinese-iso-8bit) |
| 79 | (define-coding-system-alias 'euc-china 'chinese-iso-8bit) | 82 | (define-coding-system-alias 'euc-china 'chinese-iso-8bit) |
| @@ -81,14 +84,14 @@ | |||
| 81 | (define-coding-system-alias 'cn-gb 'chinese-iso-8bit) | 84 | (define-coding-system-alias 'cn-gb 'chinese-iso-8bit) |
| 82 | (define-coding-system-alias 'gb2312 'chinese-iso-8bit) | 85 | (define-coding-system-alias 'gb2312 'chinese-iso-8bit) |
| 83 | 86 | ||
| 84 | (make-coding-system | 87 | (define-coding-system 'chinese-hz |
| 85 | 'chinese-hz 0 ?z | ||
| 86 | "Hz/ZW 7-bit encoding for Chinese GB2312 (MIME:HZ-GB-2312)." | 88 | "Hz/ZW 7-bit encoding for Chinese GB2312 (MIME:HZ-GB-2312)." |
| 87 | nil | 89 | :coding-type 'utf-8 |
| 88 | '((safe-charsets ascii chinese-gb2312) | 90 | :mnemonic ?z |
| 89 | (mime-charset . hz-gb-2312) | 91 | :charset-list '(ascii chinese-gb2312) |
| 90 | (post-read-conversion . post-read-decode-hz) | 92 | :plist '(mime-charset hz-gb-2312) |
| 91 | (pre-write-conversion . pre-write-encode-hz))) | 93 | :post-read-conversion 'post-read-decode-hz |
| 94 | :pre-write-conversion 'pre-write-encode-hz) | ||
| 92 | 95 | ||
| 93 | (define-coding-system-alias 'hz-gb-2312 'chinese-hz) | 96 | (define-coding-system-alias 'hz-gb-2312 'chinese-hz) |
| 94 | (define-coding-system-alias 'hz 'chinese-hz) | 97 | (define-coding-system-alias 'hz 'chinese-hz) |
| @@ -125,36 +128,16 @@ | |||
| 125 | ;; Chinese BIG5 (traditional) | 128 | ;; Chinese BIG5 (traditional) |
| 126 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 129 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 127 | 130 | ||
| 128 | (make-coding-system | 131 | (define-coding-system 'chinese-big5 |
| 129 | 'chinese-big5 3 ?B | 132 | "BIG5 8-bit encoding for Chinese (MIME:Big5)" |
| 130 | "BIG5 8-bit encoding for Chinese (MIME:Big5)." | 133 | :coding-type 'big5 |
| 131 | nil | 134 | :mnemonic ?B |
| 132 | '((safe-charsets ascii chinese-big5-1 chinese-big5-2) | 135 | :charset-list '(ascii big5) |
| 133 | (mime-charset . big5) | 136 | :plist '(mime-charset big5)) |
| 134 | (charset-origin-alist (chinese-big5-1 "BIG5" encode-big5-char) | ||
| 135 | (chinese-big5-2 "BIG5" encode-big5-char)))) | ||
| 136 | 137 | ||
| 137 | (define-coding-system-alias 'big5 'chinese-big5) | 138 | (define-coding-system-alias 'big5 'chinese-big5) |
| 138 | (define-coding-system-alias 'cn-big5 'chinese-big5) | 139 | (define-coding-system-alias 'cn-big5 'chinese-big5) |
| 139 | 140 | ||
| 140 | ;; Big5 font requires special encoding. | ||
| 141 | (define-ccl-program ccl-encode-big5-font | ||
| 142 | `(0 | ||
| 143 | ;; In: R0:chinese-big5-1 or chinese-big5-2 | ||
| 144 | ;; R1:position code 1 | ||
| 145 | ;; R2:position code 2 | ||
| 146 | ;; Out: R1:font code point 1 | ||
| 147 | ;; R2:font code point 2 | ||
| 148 | ((r2 = ((((r1 - ?\x21) * 94) + r2) - ?\x21)) | ||
| 149 | (if (r0 == ,(charset-id 'chinese-big5-2)) (r2 += 6280)) | ||
| 150 | (r1 = ((r2 / 157) + ?\xA1)) | ||
| 151 | (r2 %= 157) | ||
| 152 | (if (r2 < ?\x3F) (r2 += ?\x40) (r2 += ?\x62)))) | ||
| 153 | "CCL program to encode a Big5 code to code point of Big5 font.") | ||
| 154 | |||
| 155 | (setq font-ccl-encoder-alist | ||
| 156 | (cons (cons "big5" ccl-encode-big5-font) font-ccl-encoder-alist)) | ||
| 157 | |||
| 158 | (set-language-info-alist | 141 | (set-language-info-alist |
| 159 | "Chinese-BIG5" '((charset chinese-big5-1 chinese-big5-2) | 142 | "Chinese-BIG5" '((charset chinese-big5-1 chinese-big5-2) |
| 160 | (coding-system chinese-big5 chinese-iso-7bit) | 143 | (coding-system chinese-big5 chinese-iso-7bit) |
| @@ -169,144 +152,26 @@ | |||
| 169 | ;; Chinese CNS11643 (traditional) | 152 | ;; Chinese CNS11643 (traditional) |
| 170 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 153 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 171 | 154 | ||
| 172 | (defvar big5-to-cns (make-translation-table) | 155 | (define-coding-system 'euc-tw |
| 173 | "Translation table for encoding to `euc-tw'.") | 156 | "ISO 2022 based EUC encoding for Chinese CNS11643." |
| 174 | ;; Could have been done by china-util loaded before. | 157 | :coding-type 'iso-2022 |
| 175 | (unless (get 'big5-to-cns 'translation-table) | 158 | :mnemonic ?Z |
| 176 | (define-translation-table 'big5-to-cns big5-to-cns)) | 159 | :charset-list '(ascii |
| 177 | 160 | chinese-cns11643-1 | |
| 178 | (define-ccl-program ccl-decode-euc-tw | 161 | chinese-cns11643-2 |
| 179 | ;; CNS plane 1 needs either two or four bytes in EUC-TW encoding; | 162 | chinese-cns11643-3 |
| 180 | ;; CNS planes 2 to 7 always need four bytes. In internal encoding of | 163 | chinese-cns11643-4 |
| 181 | ;; Emacs, CNS planes 1 and 2 need three bytes, and planes 3 to 7 need | 164 | chinese-cns11643-5 |
| 182 | ;; four bytes. Thus a buffer magnification value of 2 (for both | 165 | chinese-cns11643-6 |
| 183 | ;; encoding and decoding) is sufficient. | 166 | chinese-cns11643-7) |
| 184 | `(2 | 167 | :designation [ascii chinese-cns11643-1 (chinese-cns11643-1 |
| 185 | ;; we don't have enough registers to hold all charset-ids | 168 | chinese-cns11643-2 |
| 186 | ((r4 = ,(charset-id 'chinese-cns11643-1)) | 169 | chinese-cns11643-3 |
| 187 | (r5 = ,(charset-id 'chinese-cns11643-2)) | 170 | chinese-cns11643-4 |
| 188 | (r6 = ,(charset-id 'chinese-cns11643-3)) | 171 | chinese-cns11643-5 |
| 189 | (loop | 172 | chinese-cns11643-6 |
| 190 | (read-if (r0 < #x80) | 173 | chinese-cns11643-7) nil] |
| 191 | ;; ASCII | 174 | :plist '(mime-charset euc-tw)) |
| 192 | (write-repeat r0) | ||
| 193 | ;; not ASCII | ||
| 194 | (if (r0 == #x8E) | ||
| 195 | ;; single shift | ||
| 196 | (read-if (r1 < #xA1) | ||
| 197 | ;; invalid byte | ||
| 198 | ((write r0) | ||
| 199 | (write-repeat r1)) | ||
| 200 | (if (r1 > #xA7) | ||
| 201 | ;; invalid plane | ||
| 202 | ((write r0) | ||
| 203 | (write-repeat r1)) | ||
| 204 | ;; OK, we have a plane | ||
| 205 | (read-if (r2 < #xA1) | ||
| 206 | ;; invalid first byte | ||
| 207 | ((write r0 r1) | ||
| 208 | (write-repeat r2)) | ||
| 209 | (read-if (r3 < #xA1) | ||
| 210 | ;; invalid second byte | ||
| 211 | ((write r0 r1 r2) | ||
| 212 | (write-repeat r3)) | ||
| 213 | ;; CNS 1-7, finally | ||
| 214 | ((branch (r1 - #xA1) | ||
| 215 | (r1 = r4) | ||
| 216 | (r1 = r5) | ||
| 217 | (r1 = r6) | ||
| 218 | (r1 = ,(charset-id 'chinese-cns11643-4)) | ||
| 219 | (r1 = ,(charset-id 'chinese-cns11643-5)) | ||
| 220 | (r1 = ,(charset-id 'chinese-cns11643-6)) | ||
| 221 | (r1 = ,(charset-id 'chinese-cns11643-7))) | ||
| 222 | (r2 = ((((r2 - #x80) << 7) + r3) - #x80)) | ||
| 223 | (write-multibyte-character r1 r2) | ||
| 224 | (repeat)))))) | ||
| 225 | ;; standard EUC | ||
| 226 | (if (r0 < #xA1) | ||
| 227 | ;; invalid first byte | ||
| 228 | (write-repeat r0) | ||
| 229 | (read-if (r1 < #xA1) | ||
| 230 | ;; invalid second byte | ||
| 231 | ((write r0) | ||
| 232 | (write-repeat r1)) | ||
| 233 | ;; CNS 1, finally | ||
| 234 | ((r1 = ((((r0 - #x80) << 7) + r1) - #x80)) | ||
| 235 | (write-multibyte-character r4 r1) | ||
| 236 | (repeat))))))))) | ||
| 237 | "CCL program to decode EUC-TW encoding." | ||
| 238 | ) | ||
| 239 | |||
| 240 | (define-ccl-program ccl-encode-euc-tw | ||
| 241 | `(2 | ||
| 242 | ;; we don't have enough registers to hold all charset-ids | ||
| 243 | ((r2 = ,(charset-id 'ascii)) | ||
| 244 | (r3 = ,(charset-id 'chinese-big5-1)) | ||
| 245 | (r4 = ,(charset-id 'chinese-big5-2)) | ||
| 246 | (r5 = ,(charset-id 'chinese-cns11643-1)) | ||
| 247 | (r6 = ,(charset-id 'chinese-cns11643-2)) | ||
| 248 | (loop | ||
| 249 | (read-multibyte-character r0 r1) | ||
| 250 | (if (r0 == r2) | ||
| 251 | (write-repeat r1) | ||
| 252 | (;; Big 5 encoded characters are first translated to CNS | ||
| 253 | (if (r0 == r3) | ||
| 254 | (translate-character big5-to-cns r0 r1) | ||
| 255 | (if (r0 == r4) | ||
| 256 | (translate-character big5-to-cns r0 r1))) | ||
| 257 | (if (r0 == r5) | ||
| 258 | (r0 = #xA1) | ||
| 259 | (if (r0 == r6) | ||
| 260 | (r0 = #xA2) | ||
| 261 | (if (r0 == ,(charset-id 'chinese-cns11643-3)) | ||
| 262 | (r0 = #xA3) | ||
| 263 | (if (r0 == ,(charset-id 'chinese-cns11643-4)) | ||
| 264 | (r0 = #xA4) | ||
| 265 | (if (r0 == ,(charset-id 'chinese-cns11643-5)) | ||
| 266 | (r0 = #xA5) | ||
| 267 | (if (r0 == ,(charset-id 'chinese-cns11643-6)) | ||
| 268 | (r0 = #xA6) | ||
| 269 | (if (r0 == ,(charset-id 'chinese-cns11643-7)) | ||
| 270 | (r0 = #xA7) | ||
| 271 | ;; not CNS. We use a dummy character which | ||
| 272 | ;; can't occur in EUC-TW encoding to indicate | ||
| 273 | ;; this. | ||
| 274 | (write-repeat #xFF)))))))))) | ||
| 275 | (if (r0 != #xA1) | ||
| 276 | ;; single shift and CNS plane | ||
| 277 | ((write #x8E) | ||
| 278 | (write r0))) | ||
| 279 | (write ((r1 >> 7) + #x80)) | ||
| 280 | (write ((r1 % #x80) + #x80)) | ||
| 281 | (repeat)))) | ||
| 282 | "CCL program to encode EUC-TW encoding." | ||
| 283 | ) | ||
| 284 | |||
| 285 | (defun euc-tw-pre-write-conversion (beg end) | ||
| 286 | "Semi-dummy pre-write function effectively to autoload china-util." | ||
| 287 | ;; Ensure translation table is loaded. | ||
| 288 | (require 'china-util) | ||
| 289 | ;; Don't do this again. | ||
| 290 | (coding-system-put 'euc-tw 'pre-write-conversion nil) | ||
| 291 | nil) | ||
| 292 | |||
| 293 | (make-coding-system | ||
| 294 | 'euc-tw 4 ?Z | ||
| 295 | "ISO 2022 based EUC encoding for Chinese CNS11643. | ||
| 296 | Big5 encoding is accepted for input also (which is then converted to CNS)." | ||
| 297 | '(ccl-decode-euc-tw . ccl-encode-euc-tw) | ||
| 298 | '((safe-charsets ascii | ||
| 299 | chinese-big5-1 | ||
| 300 | chinese-big5-2 | ||
| 301 | chinese-cns11643-1 | ||
| 302 | chinese-cns11643-2 | ||
| 303 | chinese-cns11643-3 | ||
| 304 | chinese-cns11643-4 | ||
| 305 | chinese-cns11643-5 | ||
| 306 | chinese-cns11643-6 | ||
| 307 | chinese-cns11643-7) | ||
| 308 | (valid-codes (0 . 255)) | ||
| 309 | (pre-write-conversion . euc-tw-pre-write-conversion))) | ||
| 310 | 175 | ||
| 311 | (define-coding-system-alias 'euc-taiwan 'euc-tw) | 176 | (define-coding-system-alias 'euc-taiwan 'euc-tw) |
| 312 | 177 | ||
diff --git a/lisp/language/cyrillic.el b/lisp/language/cyrillic.el index 43d91e46a3d..8deb053b25b 100644 --- a/lisp/language/cyrillic.el +++ b/lisp/language/cyrillic.el | |||
| @@ -34,22 +34,21 @@ | |||
| 34 | 34 | ||
| 35 | ;; ISO-8859-5 staff | 35 | ;; ISO-8859-5 staff |
| 36 | 36 | ||
| 37 | (make-coding-system | 37 | (define-coding-system 'cyrillic-iso-8bit |
| 38 | 'cyrillic-iso-8bit 2 ?5 | 38 | "ISO 2022 based 8-bit encoding for Cyrillic script (MIME:ISO-8859-5)." |
| 39 | "ISO 2022 based 8-bit encoding for Cyrillic script (MIME:ISO-8859-5)." | 39 | :coding-type 'charset |
| 40 | '(ascii cyrillic-iso8859-5 nil nil | 40 | :mnemonic ?5 |
| 41 | nil nil nil nil nil nil nil) | 41 | :charset-list '(iso-8859-5) |
| 42 | '((safe-charsets ascii cyrillic-iso8859-5) | 42 | :plist '(mime-charset iso-8859-5)) |
| 43 | (mime-charset . iso-8859-5))) | ||
| 44 | 43 | ||
| 45 | (define-coding-system-alias 'iso-8859-5 'cyrillic-iso-8bit) | 44 | (define-coding-system-alias 'iso-8859-5 'cyrillic-iso-8bit) |
| 46 | 45 | ||
| 47 | (set-language-info-alist | 46 | (set-language-info-alist |
| 48 | "Cyrillic-ISO" '((charset cyrillic-iso8859-5) | 47 | "Cyrillic-ISO" '((charset iso-8859-5) |
| 49 | (coding-system cyrillic-iso-8bit) | 48 | (coding-system cyrillic-iso-8bit) |
| 50 | (coding-priority cyrillic-iso-8bit) | 49 | (coding-priority cyrillic-iso-8bit) |
| 50 | (nonascii-translation . iso-8859-5) | ||
| 51 | (input-method . "cyrillic-yawerty") | 51 | (input-method . "cyrillic-yawerty") |
| 52 | (nonascii-translation . cyrillic-iso8859-5) | ||
| 53 | (unibyte-display . cyrillic-iso-8bit) | 52 | (unibyte-display . cyrillic-iso-8bit) |
| 54 | (features cyril-util) | 53 | (features cyril-util) |
| 55 | (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") | 54 | (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") |
| @@ -58,91 +57,24 @@ | |||
| 58 | 57 | ||
| 59 | ;; KOI-8 staff | 58 | ;; KOI-8 staff |
| 60 | 59 | ||
| 61 | (defvar cyrillic-koi8-r-decode-table | 60 | (define-coding-system 'cyrillic-koi8 |
| 62 | [ | 61 | "KOI8 8-bit encoding for Cyrillic (MIME: KOI8-R)." |
| 63 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 62 | :coding-type 'charset |
| 64 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 63 | ;; We used to use ?K. It is true that ?K is more strictly correct, |
| 65 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 64 | ;; but it is also used for Korean. So people who use koi8 for |
| 66 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 65 | ;; languages other than Russian will have to forgive us. |
| 67 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | 66 | :mnemonic ?R |
| 68 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | 67 | :charset-list '(koi8) |
| 69 | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | 68 | :plist '(mime-charset koi8-r)) |
| 70 | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | ||
| 71 | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | ||
| 72 | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | ||
| 73 | 160 161 162 ?,Lq(B 164 165 166 167 168 169 170 171 172 173 174 175 | ||
| 74 | 176 177 178 ?,L!(B 180 181 182 183 184 185 186 187 188 189 190 191 | ||
| 75 | ?,Ln(B ?,LP(B ?,LQ(B ?,Lf(B ?,LT(B ?,LU(B ?,Ld(B ?,LS(B ?,Le(B ?,LX(B ?,LY(B ?,LZ(B ?,L[(B ?,L\(B ?,L](B ?,L^(B | ||
| 76 | ?,L_(B ?,Lo(B ?,L`(B ?,La(B ?,Lb(B ?,Lc(B ?,LV(B ?,LR(B ?,Ll(B ?,Lk(B ?,LW(B ?,Lh(B ?,Lm(B ?,Li(B ?,Lg(B ?,Lj(B | ||
| 77 | ?,LN(B ?,L0(B ?,L1(B ?,LF(B ?,L4(B ?,L5(B ?,LD(B ?,L3(B ?,LE(B ?,L8(B ?,L9(B ?,L:(B ?,L;(B ?,L<(B ?,L=(B ?,L>(B | ||
| 78 | ?,L?(B ?,LO(B ?,L@(B ?,LA(B ?,LB(B ?,LC(B ?,L6(B ?,L2(B ?,LL(B ?,LK(B ?,L7(B ?,LH(B ?,LM(B ?,LI(B ?,LG(B ?,LJ(B ] | ||
| 79 | "Cyrillic KOI8-R decoding table.") | ||
| 80 | |||
| 81 | (let ((table (make-translation-table-from-vector | ||
| 82 | cyrillic-koi8-r-decode-table))) | ||
| 83 | (define-translation-table 'cyrillic-koi8-r-nonascii-translation-table table) | ||
| 84 | (define-translation-table 'cyrillic-koi8-r-encode-table | ||
| 85 | (char-table-extra-slot table 0))) | ||
| 86 | |||
| 87 | (define-ccl-program ccl-decode-koi8 | ||
| 88 | `(3 | ||
| 89 | ((loop | ||
| 90 | (r0 = 0) | ||
| 91 | (read r1) | ||
| 92 | (if (r1 < 128) | ||
| 93 | (write-repeat r1) | ||
| 94 | ((translate-character cyrillic-koi8-r-nonascii-translation-table r0 r1) | ||
| 95 | (write-multibyte-character r0 r1) | ||
| 96 | (repeat)))))) | ||
| 97 | "CCL program to decode KOI8.") | ||
| 98 | |||
| 99 | (define-ccl-program ccl-encode-koi8 | ||
| 100 | `(1 | ||
| 101 | ((loop | ||
| 102 | (read-multibyte-character r0 r1) | ||
| 103 | (if (r0 == ,(charset-id 'cyrillic-iso8859-5)) | ||
| 104 | (translate-character cyrillic-koi8-r-encode-table r0 r1)) | ||
| 105 | (write-repeat r1)))) | ||
| 106 | "CCL program to encode KOI8.") | ||
| 107 | |||
| 108 | (make-coding-system | ||
| 109 | 'cyrillic-koi8 4 | ||
| 110 | ;; We used to use ?K. It is true that ?K is more strictly correct, | ||
| 111 | ;; but it is also used for Korean. | ||
| 112 | ;; So people who use koi8 for languages other than Russian | ||
| 113 | ;; will have to forgive us. | ||
| 114 | ?R | ||
| 115 | "KOI8 8-bit encoding for Cyrillic (MIME: KOI8-R)." | ||
| 116 | '(ccl-decode-koi8 . ccl-encode-koi8) | ||
| 117 | `((safe-chars . ,(let ((table (make-char-table 'safe-chars)) | ||
| 118 | (i 0)) | ||
| 119 | (while (< i 256) | ||
| 120 | (aset table (aref cyrillic-koi8-r-decode-table i) t) | ||
| 121 | (setq i (1+ i))) | ||
| 122 | table)) | ||
| 123 | (mime-charset . koi8-r) | ||
| 124 | (valid-codes (0 . 127) 163 179 (192 . 255)) | ||
| 125 | (charset-origin-alist (cyrillic-iso8859-5 "KOI8-R" | ||
| 126 | cyrillic-encode-koi8-r-char)))) | ||
| 127 | 69 | ||
| 128 | (define-coding-system-alias 'koi8-r 'cyrillic-koi8) | 70 | (define-coding-system-alias 'koi8-r 'cyrillic-koi8) |
| 129 | (define-coding-system-alias 'koi8 'cyrillic-koi8) | 71 | (define-coding-system-alias 'koi8 'cyrillic-koi8) |
| 130 | 72 | ||
| 131 | (define-ccl-program ccl-encode-koi8-font | ||
| 132 | `(0 | ||
| 133 | ((translate-character cyrillic-koi8-r-encode-table r0 r1))) | ||
| 134 | "CCL program to encode Cyrillic chars to KOI font.") | ||
| 135 | |||
| 136 | (setq font-ccl-encoder-alist | ||
| 137 | (cons '("koi8" . ccl-encode-koi8-font) font-ccl-encoder-alist)) | ||
| 138 | |||
| 139 | (set-language-info-alist | 73 | (set-language-info-alist |
| 140 | "Cyrillic-KOI8" `((charset cyrillic-iso8859-5) | 74 | "Cyrillic-KOI8" `((charset koi8) |
| 141 | (nonascii-translation | ||
| 142 | . ,(get 'cyrillic-koi8-r-nonascii-translation-table | ||
| 143 | 'translation-table)) | ||
| 144 | (coding-system cyrillic-koi8) | 75 | (coding-system cyrillic-koi8) |
| 145 | (coding-priority cyrillic-koi8) | 76 | (coding-priority cyrillic-koi8) |
| 77 | (nonascii-translation . koi8) | ||
| 146 | (input-method . "cyrillic-jcuken") | 78 | (input-method . "cyrillic-jcuken") |
| 147 | (features cyril-util) | 79 | (features cyril-util) |
| 148 | (unibyte-display . cyrillic-koi8) | 80 | (unibyte-display . cyrillic-koi8) |
| @@ -152,89 +84,19 @@ | |||
| 152 | 84 | ||
| 153 | ;;; ALTERNATIVNYJ staff | 85 | ;;; ALTERNATIVNYJ staff |
| 154 | 86 | ||
| 155 | (defvar cyrillic-alternativnyj-decode-table | 87 | (define-coding-system 'cyrillic-alternativnyj |
| 156 | [ | 88 | "ALTERNATIVNYJ 8-bit encoding for Cyrillic." |
| 157 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 89 | :coding-type 'charset |
| 158 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 90 | :mnemonic ?A |
| 159 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 91 | :charset-list '(alternativnyj)) |
| 160 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | ||
| 161 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | ||
| 162 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ||
| 163 | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | ||
| 164 | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | ||
| 165 | ?,L0(B ?,L1(B ?,L2(B ?,L3(B ?,L4(B ?,L5(B ?,L6(B ?,L7(B ?,L8(B ?,L9(B ?,L:(B ?,L;(B ?,L<(B ?,L=(B ?,L>(B ?,L?(B | ||
| 166 | ?,L@(B ?,LA(B ?,LB(B ?,LC(B ?,LD(B ?,LE(B ?,LF(B ?,LG(B ?,LH(B ?,LI(B ?,LJ(B ?,LK(B ?,LL(B ?,LM(B ?,LN(B ?,LO(B | ||
| 167 | ?,LP(B ?,LQ(B ?,LR(B ?,LS(B ?,LT(B ?,LU(B ?,LV(B ?,LW(B ?,LX(B ?,LY(B ?,LZ(B ?,L[(B ?,L\(B ?,L](B ?,L^(B ?,L_(B | ||
| 168 | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | ||
| 169 | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | ||
| 170 | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | ||
| 171 | ?,L`(B ?,La(B ?,Lb(B ?,Lc(B ?,Ld(B ?,Le(B ?,Lf(B ?,Lg(B ?,Lh(B ?,Li(B ?,Lj(B ?,Lk(B ?,Ll(B ?,Lm(B ?,Ln(B ?,Lo(B | ||
| 172 | ?,L!(B ?,Lq(B 242 243 244 245 246 247 248 249 250 251 252 253 254 ?,Lp(B] | ||
| 173 | "Cyrillic ALTERNATIVNYJ decoding table.") | ||
| 174 | |||
| 175 | (let ((table (make-translation-table-from-vector | ||
| 176 | cyrillic-alternativnyj-decode-table))) | ||
| 177 | (define-translation-table 'cyrillic-alternativnyj-nonascii-translation-table | ||
| 178 | table) | ||
| 179 | (define-translation-table 'cyrillic-alternativnyj-encode-table | ||
| 180 | (char-table-extra-slot table 0))) | ||
| 181 | |||
| 182 | |||
| 183 | (define-ccl-program ccl-decode-alternativnyj | ||
| 184 | `(3 | ||
| 185 | ((loop | ||
| 186 | (r0 = 0) | ||
| 187 | (read r1) | ||
| 188 | (if (r1 < 128) | ||
| 189 | (write-repeat r1) | ||
| 190 | ((translate-character cyrillic-alternativnyj-nonascii-translation-table | ||
| 191 | r0 r1) | ||
| 192 | (write-multibyte-character r0 r1) | ||
| 193 | (repeat)))))) | ||
| 194 | "CCL program to decode Alternativnyj.") | ||
| 195 | |||
| 196 | (define-ccl-program ccl-encode-alternativnyj | ||
| 197 | `(1 | ||
| 198 | ((loop | ||
| 199 | (read-multibyte-character r0 r1) | ||
| 200 | (translate-character cyrillic-alternativnyj-encode-table r0 r1) | ||
| 201 | (write-repeat r1)))) | ||
| 202 | "CCL program to encode Alternativnyj.") | ||
| 203 | |||
| 204 | (make-coding-system | ||
| 205 | 'cyrillic-alternativnyj 4 ?A | ||
| 206 | "ALTERNATIVNYJ 8-bit encoding for Cyrillic." | ||
| 207 | '(ccl-decode-alternativnyj . ccl-encode-alternativnyj) | ||
| 208 | `((safe-chars . ,(let ((table (make-char-table 'safe-chars)) | ||
| 209 | (i 0)) | ||
| 210 | (while (< i 256) | ||
| 211 | (aset table (aref cyrillic-alternativnyj-decode-table i) | ||
| 212 | t) | ||
| 213 | (setq i (1+ i))) | ||
| 214 | table)) | ||
| 215 | (valid-codes (0 . 175) (224 . 241) 255) | ||
| 216 | (charset-origin-alist (cyrillic-iso8859-5 "ALTERNATIVNYJ" | ||
| 217 | cyrillic-encode-koi8-r-char)))) | ||
| 218 | |||
| 219 | 92 | ||
| 220 | (define-coding-system-alias 'alternativnyj 'cyrillic-alternativnyj) | 93 | (define-coding-system-alias 'alternativnyj 'cyrillic-alternativnyj) |
| 221 | 94 | ||
| 222 | (define-ccl-program ccl-encode-alternativnyj-font | ||
| 223 | '(0 | ||
| 224 | ((translate-character cyrillic-alternativnyj-encode-table r0 r1))) | ||
| 225 | "CCL program to encode Cyrillic chars to Alternativnyj font.") | ||
| 226 | |||
| 227 | (setq font-ccl-encoder-alist | ||
| 228 | (cons '("alternativnyj" . ccl-encode-alternativnyj-font) | ||
| 229 | font-ccl-encoder-alist)) | ||
| 230 | |||
| 231 | (set-language-info-alist | 95 | (set-language-info-alist |
| 232 | "Cyrillic-ALT" `((charset cyrillic-iso8859-5) | 96 | "Cyrillic-ALT" `((charset alternativnyj) |
| 233 | (nonascii-translation | ||
| 234 | . ,(get 'cyrillic-alternativnyj-nonascii-translation-table | ||
| 235 | 'translation-table)) | ||
| 236 | (coding-system cyrillic-alternativnyj) | 97 | (coding-system cyrillic-alternativnyj) |
| 237 | (coding-priority cyrillic-alternativnyj) | 98 | (coding-priority cyrillic-alternativnyj) |
| 99 | (nonascii-translation . alternativnyj) | ||
| 238 | (input-method . "cyrillic-jcuken") | 100 | (input-method . "cyrillic-jcuken") |
| 239 | (features cyril-util) | 101 | (features cyril-util) |
| 240 | (unibyte-display . cyrillic-alternativnyj) | 102 | (unibyte-display . cyrillic-alternativnyj) |
diff --git a/lisp/language/european.el b/lisp/language/european.el index 6de7ca9b662..5698c740936 100644 --- a/lisp/language/european.el +++ b/lisp/language/european.el | |||
| @@ -32,22 +32,11 @@ | |||
| 32 | 32 | ||
| 33 | ;; Latin-1 (ISO-8859-1) | 33 | ;; Latin-1 (ISO-8859-1) |
| 34 | 34 | ||
| 35 | (make-coding-system | ||
| 36 | 'iso-latin-1 2 ?1 | ||
| 37 | "ISO 2022 based 8-bit encoding for Latin-1 (MIME:ISO-8859-1)." | ||
| 38 | '(ascii latin-iso8859-1 nil nil | ||
| 39 | nil nil nil nil nil nil nil nil nil nil nil nil t) | ||
| 40 | '((safe-charsets ascii latin-iso8859-1) | ||
| 41 | (mime-charset . iso-8859-1))) | ||
| 42 | |||
| 43 | (define-coding-system-alias 'iso-8859-1 'iso-latin-1) | ||
| 44 | (define-coding-system-alias 'latin-1 'iso-latin-1) | ||
| 45 | |||
| 46 | (set-language-info-alist | 35 | (set-language-info-alist |
| 47 | "Latin-1" '((charset ascii latin-iso8859-1) | 36 | "Latin-1" '((charset iso-8859-1) |
| 48 | (coding-system iso-latin-1) | 37 | (coding-system iso-latin-1) |
| 49 | (coding-priority iso-latin-1) | 38 | (coding-priority iso-latin-1) |
| 50 | (nonascii-translation . latin-iso8859-1) | 39 | (nonascii-translation . iso-8859-1) |
| 51 | (unibyte-syntax . "latin-1") | 40 | (unibyte-syntax . "latin-1") |
| 52 | (unibyte-display . iso-latin-1) | 41 | (unibyte-display . iso-latin-1) |
| 53 | (input-method . "latin-1-prefix") | 42 | (input-method . "latin-1-prefix") |
| @@ -74,22 +63,21 @@ Indonesian/Malay, Tagalog (Philippines), Swahili and Afrikaans.")) | |||
| 74 | 63 | ||
| 75 | ;; Latin-2 (ISO-8859-2) | 64 | ;; Latin-2 (ISO-8859-2) |
| 76 | 65 | ||
| 77 | (make-coding-system | 66 | (define-coding-system 'iso-latin-2 |
| 78 | 'iso-latin-2 2 ?2 | 67 | "ISO 2022 based 8-bit encoding for Latin-2 (MIME:ISO-8859-2)." |
| 79 | "ISO 2022 based 8-bit encoding for Latin-2 (MIME:ISO-8859-2)." | 68 | :coding-type 'charset |
| 80 | '(ascii latin-iso8859-2 nil nil | 69 | :mnemonic ?2 |
| 81 | nil nil nil nil nil nil nil) | 70 | :charset-list '(iso-8859-2) |
| 82 | '((safe-charsets ascii latin-iso8859-2) | 71 | :plist '(mime-charset iso-8859-2)) |
| 83 | (mime-charset . iso-8859-2))) | ||
| 84 | 72 | ||
| 85 | (define-coding-system-alias 'iso-8859-2 'iso-latin-2) | 73 | (define-coding-system-alias 'iso-8859-2 'iso-latin-2) |
| 86 | (define-coding-system-alias 'latin-2 'iso-latin-2) | 74 | (define-coding-system-alias 'latin-2 'iso-latin-2) |
| 87 | 75 | ||
| 88 | (set-language-info-alist | 76 | (set-language-info-alist |
| 89 | "Latin-2" '((charset ascii latin-iso8859-2) | 77 | "Latin-2" '((charset iso-8859-2) |
| 90 | (coding-system iso-latin-2) | 78 | (coding-system iso-latin-2) |
| 91 | (coding-priority iso-latin-2) | 79 | (coding-priority iso-latin-2) |
| 92 | (nonascii-translation . latin-iso8859-2) | 80 | (nonascii-translation . iso-8859-2) |
| 93 | (unibyte-syntax . "latin-2") | 81 | (unibyte-syntax . "latin-2") |
| 94 | (unibyte-display . iso-latin-2) | 82 | (unibyte-display . iso-latin-2) |
| 95 | (input-method . "latin-2-prefix") | 83 | (input-method . "latin-2-prefix") |
| @@ -108,22 +96,21 @@ We also have specific language environments for the following languages: | |||
| 108 | 96 | ||
| 109 | ;; Latin-3 (ISO-8859-3) | 97 | ;; Latin-3 (ISO-8859-3) |
| 110 | 98 | ||
| 111 | (make-coding-system | 99 | (define-coding-system 'iso-latin-3 |
| 112 | 'iso-latin-3 2 ?3 | 100 | "ISO 2022 based 8-bit encoding for Latin-3 (MIME:ISO-8859-3)." |
| 113 | "ISO 2022 based 8-bit encoding for Latin-3 (MIME:ISO-8859-3)." | 101 | :coding-type 'charset |
| 114 | '(ascii latin-iso8859-3 nil nil | 102 | :mnemonic ?3 |
| 115 | nil nil nil nil nil nil nil) | 103 | :charset-list '(iso-8859-3) |
| 116 | '((safe-charsets ascii latin-iso8859-3) | 104 | :plist '(mime-charset iso-8859-3)) |
| 117 | (mime-charset . iso-8859-3))) | ||
| 118 | 105 | ||
| 119 | (define-coding-system-alias 'iso-8859-3 'iso-latin-3) | 106 | (define-coding-system-alias 'iso-8859-3 'iso-latin-3) |
| 120 | (define-coding-system-alias 'latin-3 'iso-latin-3) | 107 | (define-coding-system-alias 'latin-3 'iso-latin-3) |
| 121 | 108 | ||
| 122 | (set-language-info-alist | 109 | (set-language-info-alist |
| 123 | "Latin-3" '((charset ascii latin-iso8859-3) | 110 | "Latin-3" '((charset iso-8859-3) |
| 124 | (coding-system iso-latin-3) | 111 | (coding-system iso-latin-3) |
| 125 | (coding-priority iso-latin-3) | 112 | (coding-priority iso-latin-3) |
| 126 | (nonascii-translation . latin-iso8859-3) | 113 | (nonascii-translation . iso-8859-3) |
| 127 | (unibyte-syntax . "latin-3") | 114 | (unibyte-syntax . "latin-3") |
| 128 | (unibyte-display . iso-latin-3) | 115 | (unibyte-display . iso-latin-3) |
| 129 | (input-method . "latin-3-prefix") | 116 | (input-method . "latin-3-prefix") |
| @@ -136,22 +123,21 @@ These languages are supported with the Latin-3 (ISO-8859-3) character set: | |||
| 136 | 123 | ||
| 137 | ;; Latin-4 (ISO-8859-4) | 124 | ;; Latin-4 (ISO-8859-4) |
| 138 | 125 | ||
| 139 | (make-coding-system | 126 | (define-coding-system 'iso-latin-4 |
| 140 | 'iso-latin-4 2 ?4 | 127 | "ISO 2022 based 8-bit encoding for Latin-4 (MIME:ISO-8859-4)." |
| 141 | "ISO 2022 based 8-bit encoding for Latin-4 (MIME:ISO-8859-4)." | 128 | :coding-type 'charset |
| 142 | '(ascii latin-iso8859-4 nil nil | 129 | :mnemonic ?4 |
| 143 | nil nil nil nil nil nil nil) | 130 | :charset-list '(iso-8859-4) |
| 144 | '((safe-charsets ascii latin-iso8859-4) | 131 | :plist '(mime-charset iso-8859-4)) |
| 145 | (mime-charset . iso-8859-4))) | ||
| 146 | 132 | ||
| 147 | (define-coding-system-alias 'iso-8859-4 'iso-latin-4) | 133 | (define-coding-system-alias 'iso-8859-4 'iso-latin-4) |
| 148 | (define-coding-system-alias 'latin-4 'iso-latin-4) | 134 | (define-coding-system-alias 'latin-4 'iso-latin-4) |
| 149 | 135 | ||
| 150 | (set-language-info-alist | 136 | (set-language-info-alist |
| 151 | "Latin-4" '((charset ascii latin-iso8859-4) | 137 | "Latin-4" '((charset iso-8859-4) |
| 152 | (coding-system iso-8859-4) | 138 | (coding-system iso-8859-4) |
| 153 | (coding-priority iso-8859-4) | 139 | (coding-priority iso-8859-4) |
| 154 | (nonascii-translation . latin-iso8859-4) | 140 | (nonascii-translation . iso-8859-4) |
| 155 | (unibyte-syntax . "latin-4") | 141 | (unibyte-syntax . "latin-4") |
| 156 | (unibyte-display . iso-8859-4) | 142 | (unibyte-display . iso-8859-4) |
| 157 | (input-method . "latin-4-postfix") | 143 | (input-method . "latin-4-postfix") |
| @@ -164,22 +150,21 @@ These languages are supported with the Latin-4 (ISO-8859-4) character set: | |||
| 164 | 150 | ||
| 165 | ;; Latin-5 (ISO-8859-9) | 151 | ;; Latin-5 (ISO-8859-9) |
| 166 | 152 | ||
| 167 | (make-coding-system | 153 | (define-coding-system 'iso-latin-5 |
| 168 | 'iso-latin-5 2 ?9 | 154 | "ISO 2022 based 8-bit encoding for Latin-5 (MIME:ISO-8859-9)." |
| 169 | "ISO 2022 based 8-bit encoding for Latin-5 (MIME:ISO-8859-9)." | 155 | :coding-type 'charset |
| 170 | '(ascii latin-iso8859-9 nil nil | 156 | :mnemonic ?9 |
| 171 | nil nil nil nil nil nil nil) | 157 | :charset-list '(iso-8859-9) |
| 172 | '((safe-charsets ascii latin-iso8859-9) | 158 | :plist '(mime-charset iso-8859-9)) |
| 173 | (mime-charset . iso-8859-9))) | ||
| 174 | 159 | ||
| 175 | (define-coding-system-alias 'iso-8859-9 'iso-latin-5) | 160 | (define-coding-system-alias 'iso-8859-9 'iso-latin-5) |
| 176 | (define-coding-system-alias 'latin-5 'iso-latin-5) | 161 | (define-coding-system-alias 'latin-5 'iso-latin-5) |
| 177 | 162 | ||
| 178 | (set-language-info-alist | 163 | (set-language-info-alist |
| 179 | "Latin-5" '((charset ascii latin-iso8859-9) | 164 | "Latin-5" '((charset iso-8859-9) |
| 180 | (coding-system iso-latin-5) | 165 | (coding-system iso-latin-5) |
| 181 | (coding-priority iso-latin-5) | 166 | (coding-priority iso-latin-5) |
| 182 | (nonascii-translation . latin-iso8859-9) | 167 | (nonascii-translation . iso-8859-9) |
| 183 | (unibyte-syntax . "latin-5") | 168 | (unibyte-syntax . "latin-5") |
| 184 | (unibyte-display . iso-latin-5) | 169 | (unibyte-display . iso-latin-5) |
| 185 | (input-method . "latin-5-postfix") | 170 | (input-method . "latin-5-postfix") |
| @@ -189,23 +174,22 @@ These languages are supported with the Latin-4 (ISO-8859-4) character set: | |||
| 189 | 174 | ||
| 190 | ;; Latin-8 (ISO-8859-14) | 175 | ;; Latin-8 (ISO-8859-14) |
| 191 | 176 | ||
| 192 | (make-coding-system | 177 | (define-coding-system 'iso-latin-8 |
| 193 | 'iso-latin-8 2 ?W ; `W' for `Welsh', since `C' | 178 | "ISO 2022 based 8-bit encoding for Latin-8 (MIME:ISO-8859-14)." |
| 194 | ; for `Celtic' is taken. | 179 | :coding-type 'charset |
| 195 | "ISO 2022 based 8-bit encoding for Latin-8 (MIME:ISO-8859-14)." | 180 | ;; `W' for `Welsh', since `C' for `Celtic' is taken. |
| 196 | '(ascii latin-iso8859-14 nil nil | 181 | :mnemonic ?W |
| 197 | nil nil nil nil nil nil nil nil nil nil nil nil t) | 182 | :charset-list '(iso-8859-14) |
| 198 | '((safe-charsets ascii latin-iso8859-14) | 183 | :plist '(mime-charset iso-8859-14)) |
| 199 | (mime-charset . iso-8859-14))) | ||
| 200 | 184 | ||
| 201 | (define-coding-system-alias 'iso-8859-14 'iso-latin-8) | 185 | (define-coding-system-alias 'iso-8859-14 'iso-latin-8) |
| 202 | (define-coding-system-alias 'latin-8 'iso-latin-8) | 186 | (define-coding-system-alias 'latin-8 'iso-latin-8) |
| 203 | 187 | ||
| 204 | (set-language-info-alist | 188 | (set-language-info-alist |
| 205 | "Latin-8" '((charset ascii latin-iso8859-14) | 189 | "Latin-8" '((charset iso-8859-14) |
| 206 | (coding-system iso-latin-8) | 190 | (coding-system iso-latin-8) |
| 207 | (coding-priority iso-latin-8) | 191 | (coding-priority iso-latin-8) |
| 208 | (nonascii-translation . latin-iso8859-14) | 192 | (nonascii-translation . iso-8859-14) |
| 209 | (unibyte-syntax . "latin-8") | 193 | (unibyte-syntax . "latin-8") |
| 210 | (unibyte-display . iso-latin-8) | 194 | (unibyte-display . iso-latin-8) |
| 211 | (input-method . "latin-8-prefix") | 195 | (input-method . "latin-8-prefix") |
| @@ -220,23 +204,23 @@ covered by other ISO-8859 character sets: | |||
| 220 | 204 | ||
| 221 | ;; Latin-9 (ISO-8859-15) | 205 | ;; Latin-9 (ISO-8859-15) |
| 222 | 206 | ||
| 223 | (make-coding-system | 207 | (define-coding-system 'iso-latin-9 |
| 224 | 'iso-latin-9 2 ?0 ; `0' for `Latin-0' | 208 | "ISO 2022 based 8-bit encoding for Latin-9 (MIME:ISO-8859-15)." |
| 225 | "ISO 2022 based 8-bit encoding for Latin-9 (MIME:ISO-8859-15)." | 209 | :coding-type 'charset |
| 226 | '(ascii latin-iso8859-15 nil nil | 210 | ;; `0' for `Latin-0' |
| 227 | nil nil nil nil nil nil nil nil nil nil nil nil t) | 211 | :mnemonic ?0 |
| 228 | '((safe-charsets ascii latin-iso8859-15) | 212 | :charset-list '(iso-8859-15) |
| 229 | (mime-charset . iso-8859-15))) | 213 | :plist '(mime-charset iso-8859-15)) |
| 230 | 214 | ||
| 231 | (define-coding-system-alias 'iso-8859-15 'iso-latin-9) | 215 | (define-coding-system-alias 'iso-8859-15 'iso-latin-9) |
| 232 | (define-coding-system-alias 'latin-9 'iso-latin-9) | 216 | (define-coding-system-alias 'latin-9 'iso-latin-9) |
| 233 | (define-coding-system-alias 'latin-0 'iso-latin-9) | 217 | (define-coding-system-alias 'latin-0 'iso-latin-9) |
| 234 | 218 | ||
| 235 | (set-language-info-alist | 219 | (set-language-info-alist |
| 236 | "Latin-9" '((charset ascii latin-iso8859-15) | 220 | "Latin-9" '((charset iso-8859-15) |
| 237 | (coding-system iso-latin-9) | 221 | (coding-system iso-latin-9) |
| 238 | (coding-priority iso-latin-9) | 222 | (coding-priority iso-latin-9) |
| 239 | (nonascii-translation . latin-iso8859-15) | 223 | (nonascii-translation . iso-8859-15) |
| 240 | (unibyte-syntax . "latin-9") | 224 | (unibyte-syntax . "latin-9") |
| 241 | (unibyte-display . iso-latin-9) | 225 | (unibyte-display . iso-latin-9) |
| 242 | (input-method . "latin-9-prefix") | 226 | (input-method . "latin-9-prefix") |
| @@ -251,11 +235,11 @@ Latin-9 is sometimes nicknamed `Latin-0'.")) | |||
| 251 | 235 | ||
| 252 | (set-language-info-alist | 236 | (set-language-info-alist |
| 253 | "German" '((tutorial . "TUTORIAL.de") | 237 | "German" '((tutorial . "TUTORIAL.de") |
| 254 | (charset ascii latin-iso8859-1) | 238 | (charset iso-8859-1) |
| 255 | (coding-system iso-latin-1) | 239 | (coding-system iso-latin-1) |
| 256 | (coding-priority iso-latin-1) | 240 | (coding-priority iso-latin-1) |
| 241 | (nonascii-translation . iso-8859-1) | ||
| 257 | (input-method . "german-postfix") | 242 | (input-method . "german-postfix") |
| 258 | (nonascii-translation . iso-latin-1) | ||
| 259 | (unibyte-syntax . "latin-1") | 243 | (unibyte-syntax . "latin-1") |
| 260 | (unibyte-display . iso-latin-1) | 244 | (unibyte-display . iso-latin-1) |
| 261 | (sample-text . "\ | 245 | (sample-text . "\ |
| @@ -269,10 +253,10 @@ Additionally, it selects the German tutorial.")) | |||
| 269 | 253 | ||
| 270 | (set-language-info-alist | 254 | (set-language-info-alist |
| 271 | "French" '((tutorial . "TUTORIAL.fr") | 255 | "French" '((tutorial . "TUTORIAL.fr") |
| 272 | (charset ascii latin-iso8859-1) | 256 | (charset iso-8859-1) |
| 273 | (coding-system iso-latin-1) | 257 | (coding-system iso-latin-1) |
| 274 | (coding-priority iso-latin-1) | 258 | (coding-priority iso-latin-1) |
| 275 | (nonascii-translation . latin-iso8859-1) | 259 | (nonascii-translation . iso-8859-1) |
| 276 | (unibyte-syntax . "latin-1") | 260 | (unibyte-syntax . "latin-1") |
| 277 | (unibyte-display . iso-latin-1) | 261 | (unibyte-display . iso-latin-1) |
| 278 | (input-method . "latin-1-prefix") | 262 | (input-method . "latin-1-prefix") |
| @@ -283,10 +267,10 @@ but it selects the French tutorial.")) | |||
| 283 | '("European")) | 267 | '("European")) |
| 284 | 268 | ||
| 285 | (set-language-info-alist | 269 | (set-language-info-alist |
| 286 | "Slovenian" '((charset . (ascii latin-iso8859-2)) | 270 | "Slovenian" '((charset iso-8859-2) |
| 287 | (coding-system . (iso-8859-2)) | 271 | (coding-system . (iso-8859-2)) |
| 288 | (coding-priority . (iso-8859-2)) | 272 | (coding-priority . (iso-8859-2)) |
| 289 | (nonascii-translation . latin-iso8859-2) | 273 | (nonascii-translation . iso-8859-2) |
| 290 | (input-method . "latin-2-postfix") | 274 | (input-method . "latin-2-postfix") |
| 291 | (unibyte-syntax . "latin-2") | 275 | (unibyte-syntax . "latin-2") |
| 292 | (unibyte-display . iso-8859-2) | 276 | (unibyte-display . iso-8859-2) |
| @@ -297,11 +281,11 @@ but it selects the French tutorial.")) | |||
| 297 | 281 | ||
| 298 | (set-language-info-alist | 282 | (set-language-info-alist |
| 299 | "Spanish" '((tutorial . "TUTORIAL.es") | 283 | "Spanish" '((tutorial . "TUTORIAL.es") |
| 300 | (charset ascii latin-iso8859-1) | 284 | (charset iso-8859-1) |
| 301 | (coding-system iso-latin-1) | 285 | (coding-system iso-latin-1) |
| 302 | (coding-priority iso-latin-1) | 286 | (coding-priority iso-latin-1) |
| 287 | (nonascii-translation . iso-8859-1) | ||
| 303 | (input-method . "spanish-postfix") | 288 | (input-method . "spanish-postfix") |
| 304 | (nonascii-translation . iso-latin-1) | ||
| 305 | (unibyte-syntax . "latin-1") | 289 | (unibyte-syntax . "latin-1") |
| 306 | (unibyte-display . iso-latin-1) | 290 | (unibyte-display . iso-latin-1) |
| 307 | (sample-text . "Spanish (Espa,Aq(Bol) ,A!(BHola!") | 291 | (sample-text . "Spanish (Espa,Aq(Bol) ,A!(BHola!") |
| @@ -313,10 +297,10 @@ and it selects the Spanish tutorial.")) | |||
| 313 | 297 | ||
| 314 | (set-language-info-alist | 298 | (set-language-info-alist |
| 315 | "Dutch" '((tutorial . "TUTORIAL.nl") | 299 | "Dutch" '((tutorial . "TUTORIAL.nl") |
| 316 | (charset ascii latin-iso8859-1) | 300 | (charset iso-8859-1) |
| 317 | (coding-system iso-latin-1) | 301 | (coding-system iso-latin-1) |
| 318 | (coding-priority iso-latin-1) | 302 | (coding-priority iso-latin-1) |
| 319 | (nonascii-translation . iso-latin-1) | 303 | (nonascii-translation . iso-8859-1) |
| 320 | (unibyte-syntax . "latin-1") | 304 | (unibyte-syntax . "latin-1") |
| 321 | (unibyte-display . iso-latin-1) | 305 | (unibyte-display . iso-latin-1) |
| 322 | (sample-text . "Er is een aantal manieren waarop je dit kan doen") | 306 | (sample-text . "Er is een aantal manieren waarop je dit kan doen") |
| @@ -331,10 +315,10 @@ but it selects the Dutch tutorial.")) | |||
| 331 | ;; "Latin-3" language environment. | 315 | ;; "Latin-3" language environment. |
| 332 | 316 | ||
| 333 | (set-language-info-alist | 317 | (set-language-info-alist |
| 334 | "Turkish" '((charset ascii latin-iso8859-9) | 318 | "Turkish" '((charset iso-8859-9) |
| 335 | (coding-system iso-latin-5) | 319 | (coding-system iso-latin-5) |
| 336 | (coding-priority iso-latin-5) | 320 | (coding-priority iso-latin-5) |
| 337 | (nonascii-translation . latin-iso8859-9) | 321 | (nonascii-translation . iso-8859-9) |
| 338 | (unibyte-syntax . "latin-5") | 322 | (unibyte-syntax . "latin-5") |
| 339 | (unibyte-display . iso-latin-5) | 323 | (unibyte-display . iso-latin-5) |
| 340 | (input-method . "turkish-postfix") | 324 | (input-method . "turkish-postfix") |
| @@ -346,11 +330,11 @@ but it selects the Dutch tutorial.")) | |||
| 346 | ;; Keywords: multilingual, Polish | 330 | ;; Keywords: multilingual, Polish |
| 347 | 331 | ||
| 348 | (set-language-info-alist | 332 | (set-language-info-alist |
| 349 | "Polish" '((charset . (ascii latin-iso8859-2)) | 333 | "Polish" '((charset . (iso-8859-2)) |
| 350 | (coding-system . (iso-8859-2)) | 334 | (coding-system . (iso-8859-2)) |
| 351 | (coding-priority . (iso-8859-2)) | 335 | (coding-priority . (iso-8859-2)) |
| 336 | (nonascii-translation . iso-8859-2) | ||
| 352 | (input-method . "polish-slash") | 337 | (input-method . "polish-slash") |
| 353 | (nonascii-translation . latin-iso8859-2) | ||
| 354 | (unibyte-syntax . "latin-2") | 338 | (unibyte-syntax . "latin-2") |
| 355 | (unibyte-display . iso-8859-2) | 339 | (unibyte-display . iso-8859-2) |
| 356 | (tutorial . "TUTORIAL.pl") | 340 | (tutorial . "TUTORIAL.pl") |
| @@ -361,6 +345,7 @@ but it selects the Dutch tutorial.")) | |||
| 361 | (set-language-info-alist | 345 | (set-language-info-alist |
| 362 | "Welsh" `((coding-system utf-8 latin-8) ; the input method is Unicode-based | 346 | "Welsh" `((coding-system utf-8 latin-8) ; the input method is Unicode-based |
| 363 | (coding-priority utf-8 latin-8) | 347 | (coding-priority utf-8 latin-8) |
| 348 | (nonascii-translation . iso-8859-14) | ||
| 364 | (input-method . "welsh") | 349 | (input-method . "welsh") |
| 365 | (documentation . "Support for Welsh, using Unicode.")) | 350 | (documentation . "Support for Welsh, using Unicode.")) |
| 366 | '("European")) | 351 | '("European")) |
| @@ -368,6 +353,7 @@ but it selects the Dutch tutorial.")) | |||
| 368 | (set-language-info-alist | 353 | (set-language-info-alist |
| 369 | "Latin-7" `((coding-system latin-7) | 354 | "Latin-7" `((coding-system latin-7) |
| 370 | (coding-priority latin-7) | 355 | (coding-priority latin-7) |
| 356 | (nonascii-translation . iso-8859-13) | ||
| 371 | ;; Fixme: input-method | 357 | ;; Fixme: input-method |
| 372 | (features code-pages) | 358 | (features code-pages) |
| 373 | (documentation . "Support for Latin-7, e.g. Latvian, Lithuanian.")) | 359 | (documentation . "Support for Latin-7, e.g. Latvian, Lithuanian.")) |
| @@ -376,6 +362,7 @@ but it selects the Dutch tutorial.")) | |||
| 376 | (set-language-info-alist | 362 | (set-language-info-alist |
| 377 | "Lithuanian" `((coding-system latin-7) | 363 | "Lithuanian" `((coding-system latin-7) |
| 378 | (coding-priority latin-7) | 364 | (coding-priority latin-7) |
| 365 | (nonascii-translation . iso-8859-13) | ||
| 379 | (input-method . "lithuanian-keyboard") | 366 | (input-method . "lithuanian-keyboard") |
| 380 | (features code-pages) | 367 | (features code-pages) |
| 381 | (documentation . "Support for Lithuanian.")) | 368 | (documentation . "Support for Lithuanian.")) |
| @@ -384,194 +371,20 @@ but it selects the Dutch tutorial.")) | |||
| 384 | (set-language-info-alist | 371 | (set-language-info-alist |
| 385 | "Latvian" `((coding-system latin-7) | 372 | "Latvian" `((coding-system latin-7) |
| 386 | (coding-priority latin-7) | 373 | (coding-priority latin-7) |
| 374 | (nonascii-translation . iso-8859-13) | ||
| 387 | (input-method . "latvian-keyboard") | 375 | (input-method . "latvian-keyboard") |
| 388 | (features code-pages) | 376 | (features code-pages) |
| 389 | (documentation . "Support for Latvian.")) | 377 | (documentation . "Support for Latvian.")) |
| 390 | '("European")) | 378 | '("European")) |
| 379 | |||
| 391 | 380 | ||
| 392 | ;; Definitions for the Mac Roman character sets and coding system. | 381 | (define-coding-system 'mac-roman |
| 393 | ;; The Mac Roman encoding uses all 128 code points in the range 128 to | 382 | "Mac Roman Encoding (MIME:MACINTOSH)." |
| 394 | ;; 255 for actual characters. Emacs decodes them to one of the | 383 | :coding-type 'charset |
| 395 | ;; following character sets. | 384 | :mnemonic ?M |
| 396 | ;; ascii, latin-iso8859-1, mule-unicode-0100-24ff, | 385 | :charset-list '(mac-roman) |
| 397 | ;; mule-unicode-2500-33ff, mule-unicode-e000-ffff | 386 | ;; per IANA, rfc1345 |
| 398 | 387 | :mime-charset 'macintosh) | |
| 399 | (let | ||
| 400 | ((encoding-vector (make-vector 256 nil)) | ||
| 401 | (i 0) | ||
| 402 | (vec ;; mac-roman (128..255) -> UCS mapping | ||
| 403 | [ #x00C4 ;; 128:LATIN CAPITAL LETTER A WITH DIAERESIS | ||
| 404 | #x00C5 ;; 129:LATIN CAPITAL LETTER A WITH RING ABOVE | ||
| 405 | #x00C7 ;; 130:LATIN CAPITAL LETTER C WITH CEDILLA | ||
| 406 | #x00C9 ;; 131:LATIN CAPITAL LETTER E WITH ACUTE | ||
| 407 | #x00D1 ;; 132:LATIN CAPITAL LETTER N WITH TILDE | ||
| 408 | #x00D6 ;; 133:LATIN CAPITAL LETTER O WITH DIAERESIS | ||
| 409 | #x00DC ;; 134:LATIN CAPITAL LETTER U WITH DIAERESIS | ||
| 410 | #x00E1 ;; 135:LATIN SMALL LETTER A WITH ACUTE | ||
| 411 | #x00E0 ;; 136:LATIN SMALL LETTER A WITH GRAVE | ||
| 412 | #x00E2 ;; 137:LATIN SMALL LETTER A WITH CIRCUMFLEX | ||
| 413 | #x00E4 ;; 138:LATIN SMALL LETTER A WITH DIAERESIS | ||
| 414 | #x00E3 ;; 139:LATIN SMALL LETTER A WITH TILDE | ||
| 415 | #x00E5 ;; 140:LATIN SMALL LETTER A WITH RING ABOVE | ||
| 416 | #x00E7 ;; 141:LATIN SMALL LETTER C WITH CEDILLA | ||
| 417 | #x00E9 ;; 142:LATIN SMALL LETTER E WITH ACUTE | ||
| 418 | #x00E8 ;; 143:LATIN SMALL LETTER E WITH GRAVE | ||
| 419 | #x00EA ;; 144:LATIN SMALL LETTER E WITH CIRCUMFLEX | ||
| 420 | #x00EB ;; 145:LATIN SMALL LETTER E WITH DIAERESIS | ||
| 421 | #x00ED ;; 146:LATIN SMALL LETTER I WITH ACUTE | ||
| 422 | #x00EC ;; 147:LATIN SMALL LETTER I WITH GRAVE | ||
| 423 | #x00EE ;; 148:LATIN SMALL LETTER I WITH CIRCUMFLEX | ||
| 424 | #x00EF ;; 149:LATIN SMALL LETTER I WITH DIAERESIS | ||
| 425 | #x00F1 ;; 150:LATIN SMALL LETTER N WITH TILDE | ||
| 426 | #x00F3 ;; 151:LATIN SMALL LETTER O WITH ACUTE | ||
| 427 | #x00F2 ;; 152:LATIN SMALL LETTER O WITH GRAVE | ||
| 428 | #x00F4 ;; 153:LATIN SMALL LETTER O WITH CIRCUMFLEX | ||
| 429 | #x00F6 ;; 154:LATIN SMALL LETTER O WITH DIAERESIS | ||
| 430 | #x00F5 ;; 155:LATIN SMALL LETTER O WITH TILDE | ||
| 431 | #x00FA ;; 156:LATIN SMALL LETTER U WITH ACUTE | ||
| 432 | #x00F9 ;; 157:LATIN SMALL LETTER U WITH GRAVE | ||
| 433 | #x00FB ;; 158:LATIN SMALL LETTER U WITH CIRCUMFLEX | ||
| 434 | #x00FC ;; 159:LATIN SMALL LETTER U WITH DIAERESIS | ||
| 435 | #x2020 ;; 160:DAGGER | ||
| 436 | #x00B0 ;; 161:DEGREE SIGN | ||
| 437 | #x00A2 ;; 162:CENT SIGN | ||
| 438 | #x00A3 ;; 163:POUND SIGN | ||
| 439 | #x00A7 ;; 164:SECTION SIGN | ||
| 440 | #x2022 ;; 165:BULLET | ||
| 441 | #x00B6 ;; 166:PILCROW SIGN | ||
| 442 | #x00DF ;; 167:LATIN SMALL LETTER SHARP S | ||
| 443 | #x00AE ;; 168:REGISTERED SIGN | ||
| 444 | #x00A9 ;; 169:COPYRIGHT SIGN | ||
| 445 | #x2122 ;; 170:TRADE MARK SIGN | ||
| 446 | #x00B4 ;; 171:ACUTE ACCENT | ||
| 447 | #x00A8 ;; 172:DIAERESIS | ||
| 448 | #x2260 ;; 173:NOT EQUAL TO | ||
| 449 | #x00C6 ;; 174:LATIN CAPITAL LETTER AE | ||
| 450 | #x00D8 ;; 175:LATIN CAPITAL LETTER O WITH STROKE | ||
| 451 | #x221E ;; 176:INFINITY | ||
| 452 | #x00B1 ;; 177:PLUS-MINUS SIGN | ||
| 453 | #x2264 ;; 178:LESS-THAN OR EQUAL TO | ||
| 454 | #x2265 ;; 179:GREATER-THAN OR EQUAL TO | ||
| 455 | #x00A5 ;; 180:YEN SIGN | ||
| 456 | #x00B5 ;; 181:MICRO SIGN | ||
| 457 | #x2202 ;; 182:PARTIAL DIFFERENTIAL | ||
| 458 | #x2211 ;; 183:N-ARY SUMMATION | ||
| 459 | #x220F ;; 184:N-ARY PRODUCT | ||
| 460 | #x03C0 ;; 185:GREEK SMALL LETTER PI | ||
| 461 | #x222B ;; 186:INTEGRAL | ||
| 462 | #x00AA ;; 187:FEMININE ORDINAL INDICATOR | ||
| 463 | #x00BA ;; 188:MASCULINE ORDINAL INDICATOR | ||
| 464 | #x03A9 ;; 189:GREEK CAPITAL LETTER OMEGA | ||
| 465 | #x00E6 ;; 190:LATIN SMALL LETTER AE | ||
| 466 | #x00F8 ;; 191:LATIN SMALL LETTER O WITH STROKE | ||
| 467 | #x00BF ;; 192:INVERTED QUESTION MARK | ||
| 468 | #x00A1 ;; 193:INVERTED EXCLAMATION MARK | ||
| 469 | #x00AC ;; 194:NOT SIGN | ||
| 470 | #x221A ;; 195:SQUARE ROOT | ||
| 471 | #x0192 ;; 196:LATIN SMALL LETTER F WITH HOOK | ||
| 472 | #x2248 ;; 197:ALMOST EQUAL TO | ||
| 473 | #x2206 ;; 198:INCREMENT | ||
| 474 | #x00AB ;; 199:LEFT-POINTING DOUBLE ANGLE QUOTATION MARK | ||
| 475 | #x00BB ;; 200:RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK | ||
| 476 | #x2026 ;; 201:HORIZONTAL ELLIPSIS | ||
| 477 | #x00A0 ;; 202:NO-BREAK SPACE | ||
| 478 | #x00C0 ;; 203:LATIN CAPITAL LETTER A WITH GRAVE | ||
| 479 | #x00C3 ;; 204:LATIN CAPITAL LETTER A WITH TILDE | ||
| 480 | #x00D5 ;; 205:LATIN CAPITAL LETTER O WITH TILDE | ||
| 481 | #x0152 ;; 206:LATIN CAPITAL LIGATURE OE | ||
| 482 | #x0153 ;; 207:LATIN SMALL LIGATURE OE | ||
| 483 | #x2013 ;; 208:EN DASH | ||
| 484 | #x2014 ;; 209:EM DASH | ||
| 485 | #x201C ;; 210:LEFT DOUBLE QUOTATION MARK | ||
| 486 | #x201D ;; 211:RIGHT DOUBLE QUOTATION MARK | ||
| 487 | #x2018 ;; 212:LEFT SINGLE QUOTATION MARK | ||
| 488 | #x2019 ;; 213:RIGHT SINGLE QUOTATION MARK | ||
| 489 | #x00F7 ;; 214:DIVISION SIGN | ||
| 490 | #x25CA ;; 215:LOZENGE | ||
| 491 | #x00FF ;; 216:LATIN SMALL LETTER Y WITH DIAERESIS | ||
| 492 | #x0178 ;; 217:LATIN CAPITAL LETTER Y WITH DIAERESIS | ||
| 493 | #x2044 ;; 218:FRACTION SLASH | ||
| 494 | #x20AC ;; 219:EURO SIGN | ||
| 495 | #x2039 ;; 220:SINGLE LEFT-POINTING ANGLE QUOTATION MARK | ||
| 496 | #x203A ;; 221:SINGLE RIGHT-POINTING ANGLE QUOTATION MARK | ||
| 497 | #xFB01 ;; 222:LATIN SMALL LIGATURE FI | ||
| 498 | #xFB02 ;; 223:LATIN SMALL LIGATURE FL | ||
| 499 | #x2021 ;; 224:DOUBLE DAGGER | ||
| 500 | #x00B7 ;; 225:MIDDLE DOT | ||
| 501 | #x201A ;; 226:SINGLE LOW-9 QUOTATION MARK | ||
| 502 | #x201E ;; 227:DOUBLE LOW-9 QUOTATION MARK | ||
| 503 | #x2030 ;; 228:PER MILLE SIGN | ||
| 504 | #x00C2 ;; 229:LATIN CAPITAL LETTER A WITH CIRCUMFLEX | ||
| 505 | #x00CA ;; 230:LATIN CAPITAL LETTER E WITH CIRCUMFLEX | ||
| 506 | #x00C1 ;; 231:LATIN CAPITAL LETTER A WITH ACUTE | ||
| 507 | #x00CB ;; 232:LATIN CAPITAL LETTER E WITH DIAERESIS | ||
| 508 | #x00C8 ;; 233:LATIN CAPITAL LETTER E WITH GRAVE | ||
| 509 | #x00CD ;; 234:LATIN CAPITAL LETTER I WITH ACUTE | ||
| 510 | #x00CE ;; 235:LATIN CAPITAL LETTER I WITH CIRCUMFLEX | ||
| 511 | #x00CF ;; 236:LATIN CAPITAL LETTER I WITH DIAERESIS | ||
| 512 | #x00CC ;; 237:LATIN CAPITAL LETTER I WITH GRAVE | ||
| 513 | #x00D3 ;; 238:LATIN CAPITAL LETTER O WITH ACUTE | ||
| 514 | #x00D4 ;; 239:LATIN CAPITAL LETTER O WITH CIRCUMFLEX | ||
| 515 | #xF8FF ;; 240:Apple logo | ||
| 516 | #x00D2 ;; 241:LATIN CAPITAL LETTER O WITH GRAVE | ||
| 517 | #x00DA ;; 242:LATIN CAPITAL LETTER U WITH ACUTE | ||
| 518 | #x00DB ;; 243:LATIN CAPITAL LETTER U WITH CIRCUMFLEX | ||
| 519 | #x00D9 ;; 244:LATIN CAPITAL LETTER U WITH GRAVE | ||
| 520 | #x0131 ;; 245:LATIN SMALL LETTER DOTLESS I | ||
| 521 | #x02C6 ;; 246:MODIFIER LETTER CIRCUMFLEX ACCENT | ||
| 522 | #x02DC ;; 247:SMALL TILDE | ||
| 523 | #x00AF ;; 248:MACRON | ||
| 524 | #x02D8 ;; 249:BREVE | ||
| 525 | #x02D9 ;; 250:DOT ABOVE | ||
| 526 | #x02DA ;; 251:RING ABOVE | ||
| 527 | #x00B8 ;; 252:CEDILLA | ||
| 528 | #x02DD ;; 253:DOUBLE ACUTE ACCENT | ||
| 529 | #x02DB ;; 254:OGONEK | ||
| 530 | #x02C7 ;; 255:CARON | ||
| 531 | ]) | ||
| 532 | translation-table) | ||
| 533 | (while (< i 128) | ||
| 534 | (aset encoding-vector i i) | ||
| 535 | (setq i (1+ i))) | ||
| 536 | (while (< i 256) | ||
| 537 | (aset encoding-vector i | ||
| 538 | (decode-char 'ucs (aref vec (- i 128)))) | ||
| 539 | (setq i (1+ i))) | ||
| 540 | (setq translation-table | ||
| 541 | (make-translation-table-from-vector encoding-vector)) | ||
| 542 | (define-translation-table 'mac-roman-decoder translation-table) | ||
| 543 | (define-translation-table 'mac-roman-encoder | ||
| 544 | (char-table-extra-slot translation-table 0))) | ||
| 545 | |||
| 546 | (define-ccl-program decode-mac-roman | ||
| 547 | `(4 | ||
| 548 | ((loop | ||
| 549 | (read r1) | ||
| 550 | (if (r1 < 128) ;; ASCII | ||
| 551 | (r0 = ,(charset-id 'ascii)) | ||
| 552 | (if (r1 < 160) | ||
| 553 | (r0 = ,(charset-id 'eight-bit-control)) | ||
| 554 | (r0 = ,(charset-id 'eight-bit-graphic)))) | ||
| 555 | (translate-character mac-roman-decoder r0 r1) | ||
| 556 | (write-multibyte-character r0 r1) | ||
| 557 | (repeat)))) | ||
| 558 | "CCL program to decode Mac Roman") | ||
| 559 | |||
| 560 | (define-ccl-program encode-mac-roman | ||
| 561 | `(1 | ||
| 562 | ((loop | ||
| 563 | (read-multibyte-character r0 r1) | ||
| 564 | (translate-character mac-roman-encoder r0 r1) | ||
| 565 | (write-repeat r1)))) | ||
| 566 | "CCL program to encode Mac Roman") | ||
| 567 | |||
| 568 | (make-coding-system | ||
| 569 | 'mac-roman 4 ?M | ||
| 570 | "Mac Roman Encoding (MIME:MACINTOSH)." | ||
| 571 | '(decode-mac-roman . encode-mac-roman) | ||
| 572 | '((safe-chars . mac-roman-encoder) | ||
| 573 | (valid-codes (0 . 255)) | ||
| 574 | (mime-charset . macintosh))) ; per IANA, rfc1345 | ||
| 575 | 388 | ||
| 576 | (defconst diacritic-composition-pattern "\\C^\\c^+") | 389 | (defconst diacritic-composition-pattern "\\C^\\c^+") |
| 577 | 390 | ||
| @@ -621,11 +434,11 @@ The return value is number of composed characters." | |||
| 621 | (let ((patterns '(("\\C^\\c^+" . diacritic-composition-function)))) | 434 | (let ((patterns '(("\\C^\\c^+" . diacritic-composition-function)))) |
| 622 | (let ((c #x300)) | 435 | (let ((c #x300)) |
| 623 | (while (<= c #x362) | 436 | (while (<= c #x362) |
| 624 | (aset composition-function-table (decode-char 'ucs c) patterns) | 437 | (aset composition-function-table (decode-char 'unicode c) patterns) |
| 625 | (setq c (1+ c))) | 438 | (setq c (1+ c))) |
| 626 | (setq c #x20d0) | 439 | (setq c #x20d0) |
| 627 | (while (<= c #x20e3) | 440 | (while (<= c #x20e3) |
| 628 | (aset composition-function-table (decode-char 'ucs c) patterns) | 441 | (aset composition-function-table (decode-char 'unicode c) patterns) |
| 629 | (setq c (1+ c))))) | 442 | (setq c (1+ c))))) |
| 630 | 443 | ||
| 631 | (provide 'european) | 444 | (provide 'european) |
diff --git a/lisp/language/greek.el b/lisp/language/greek.el index 2066e8a4951..16df9e68d79 100644 --- a/lisp/language/greek.el +++ b/lisp/language/greek.el | |||
| @@ -28,21 +28,20 @@ | |||
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
| 30 | 30 | ||
| 31 | (make-coding-system | 31 | (define-coding-system 'greek-iso-8bit |
| 32 | 'greek-iso-8bit 2 ?7 | 32 | "ISO 2022 based 8-bit encoding for Greek (MIME:ISO-8859-7)." |
| 33 | "ISO 2022 based 8-bit encoding for Greek (MIME:ISO-8859-7)." | 33 | :coding-type 'charset |
| 34 | '(ascii greek-iso8859-7 nil nil | 34 | :mnemonic ?7 |
| 35 | nil nil nil nil nil nil nil) | 35 | :charset-list'(iso-8859-7) |
| 36 | '((safe-charsets ascii greek-iso8859-7) | 36 | :plist '(mime-charset iso-8859-7)) |
| 37 | (mime-charset . iso-8859-7))) | ||
| 38 | 37 | ||
| 39 | (define-coding-system-alias 'iso-8859-7 'greek-iso-8bit) | 38 | (define-coding-system-alias 'iso-8859-7 'greek-iso-8bit) |
| 40 | 39 | ||
| 41 | (set-language-info-alist | 40 | (set-language-info-alist |
| 42 | "Greek" '((charset . (greek-iso8859-7)) | 41 | "Greek" '((charset iso-8859-7) |
| 43 | (coding-system . (greek-iso-8bit)) | 42 | (coding-system . (greek-iso-8bit)) |
| 44 | (coding-priority greek-iso-8bit) | 43 | (coding-priority greek-iso-8bit) |
| 45 | (nonascii-translation . greek-iso8859-7) | 44 | (nonascii-translation . iso-8859-7) |
| 46 | (input-method . "greek") | 45 | (input-method . "greek") |
| 47 | (unibyte-display . greek-iso-8bit) | 46 | (unibyte-display . greek-iso-8bit) |
| 48 | (documentation . t))) | 47 | (documentation . t))) |
diff --git a/lisp/language/hebrew.el b/lisp/language/hebrew.el index ad349495a7b..a56084686d4 100644 --- a/lisp/language/hebrew.el +++ b/lisp/language/hebrew.el | |||
| @@ -31,13 +31,12 @@ | |||
| 31 | 31 | ||
| 32 | ;;; Code: | 32 | ;;; Code: |
| 33 | 33 | ||
| 34 | (make-coding-system | 34 | (define-coding-system 'hebrew-iso-8bit |
| 35 | 'hebrew-iso-8bit 2 ?8 | 35 | "ISO 2022 based 8-bit encoding for Hebrew (MIME:ISO-8859-8)." |
| 36 | "ISO 2022 based 8-bit encoding for Hebrew (MIME:ISO-8859-8)." | 36 | :coding-type 'charset |
| 37 | '(ascii hebrew-iso8859-8 nil nil | 37 | :mnemonic ?8 |
| 38 | nil ascii-eol ascii-cntl nil nil nil nil nil t) | 38 | :charset-list '(iso-8859-8) |
| 39 | '((safe-charsets ascii hebrew-iso8859-8) | 39 | :plist '(mime-charset iso-8859-8)) |
| 40 | (mime-charset . iso-8859-8))) | ||
| 41 | 40 | ||
| 42 | (define-coding-system-alias 'iso-8859-8 'hebrew-iso-8bit) | 41 | (define-coding-system-alias 'iso-8859-8 'hebrew-iso-8bit) |
| 43 | 42 | ||
| @@ -49,10 +48,10 @@ | |||
| 49 | (define-coding-system-alias 'iso-8859-8-i 'hebrew-iso-8bit) | 48 | (define-coding-system-alias 'iso-8859-8-i 'hebrew-iso-8bit) |
| 50 | 49 | ||
| 51 | (set-language-info-alist | 50 | (set-language-info-alist |
| 52 | "Hebrew" '((charset . (hebrew-iso8859-8)) | 51 | "Hebrew" '((charset . iso-8859-8) |
| 53 | (coding-priority hebrew-iso-8bit) | 52 | (coding-priority hebrew-iso-8bit) |
| 54 | (coding-system . (hebrew-iso-8bit)) | 53 | (coding-system hebrew-iso-8bit) |
| 55 | (nonascii-translation . hebrew-iso8859-8) | 54 | (nonascii-translation . iso-8859-8) |
| 56 | (input-method . "hebrew") | 55 | (input-method . "hebrew") |
| 57 | (unibyte-display . hebrew-iso-8bit) | 56 | (unibyte-display . hebrew-iso-8bit) |
| 58 | (sample-text . "Hebrew ,Hylem(B") | 57 | (sample-text . "Hebrew ,Hylem(B") |
diff --git a/lisp/language/indian.el b/lisp/language/indian.el index 474ac74dd06..24cb84da250 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el | |||
| @@ -29,14 +29,16 @@ | |||
| 29 | 29 | ||
| 30 | ;;; Code: | 30 | ;;; Code: |
| 31 | 31 | ||
| 32 | (make-coding-system | 32 | (define-coding-system 'in-is13194-devanagari |
| 33 | 'in-is13194 2 ?D | 33 | "8-bit encoding for ASCII (MSB=0) and IS13194-Devanagari (MSB=1)." |
| 34 | "8-bit encoding for ASCII (MSB=0) and IS13194-Devanagari (MSB=1)." | 34 | :coding-type 'iso-2022 |
| 35 | '(ascii indian-is13194 nil nil | 35 | :mnemonic ?D |
| 36 | nil ascii-eol) | 36 | :designation [ascii indian-is13194 nil nil] |
| 37 | '((safe-charsets ascii indian-is13194) | 37 | :charset-list '(ascii indian-is13194) |
| 38 | (post-read-conversion . in-is13194-post-read-conversion) | 38 | :post-read-conversion 'in-is13194-devanagari-post-read-conversion |
| 39 | (pre-write-conversion . in-is13194-pre-write-conversion))) | 39 | :pre-write-conversion 'in-is13194-devanagari-pre-write-conversion) |
| 40 | |||
| 41 | (define-coding-system-alias 'devanagari 'in-is13194-devanagari) | ||
| 40 | 42 | ||
| 41 | (defvar indian-script-table | 43 | (defvar indian-script-table |
| 42 | '[ | 44 | '[ |
diff --git a/lisp/language/japanese.el b/lisp/language/japanese.el index 9e4c92c20c1..fa55cc2a47e 100644 --- a/lisp/language/japanese.el +++ b/lisp/language/japanese.el | |||
| @@ -29,64 +29,72 @@ | |||
| 29 | 29 | ||
| 30 | ;;; Code: | 30 | ;;; Code: |
| 31 | 31 | ||
| 32 | (make-coding-system | 32 | (define-coding-system 'iso-2022-jp |
| 33 | 'iso-2022-jp 2 ?J | 33 | "ISO 2022 based 7bit encoding for Japanese (MIME:ISO-2022-JP)." |
| 34 | "ISO 2022 based 7bit encoding for Japanese (MIME:ISO-2022-JP)." | 34 | :coding-type 'iso-2022 |
| 35 | '((ascii japanese-jisx0208-1978 japanese-jisx0208 | 35 | :mnemonic ?J |
| 36 | latin-jisx0201 japanese-jisx0212) nil nil nil | 36 | :designation [(ascii japanese-jisx0208-1978 japanese-jisx0208 |
| 37 | short ascii-eol ascii-cntl seven) | 37 | latin-jisx0201 japanese-jisx0212) |
| 38 | '((safe-charsets ascii japanese-jisx0208-1978 japanese-jisx0208 | 38 | nil nil nil] |
| 39 | latin-jisx0201 japanese-jisx0212) | 39 | :flags '(short ascii-at-eol ascii-at-cntl 7-bit designation) |
| 40 | (mime-charset . iso-2022-jp))) | 40 | :charset-list '(ascii japanese-jisx0208-1978 japanese-jisx0208 |
| 41 | latin-jisx0201 japanese-jisx0212) | ||
| 42 | :plist '(mime-charset iso-2022-jp)) | ||
| 41 | 43 | ||
| 42 | (define-coding-system-alias 'junet 'iso-2022-jp) | 44 | (define-coding-system-alias 'junet 'iso-2022-jp) |
| 43 | 45 | ||
| 44 | (make-coding-system | 46 | (define-coding-system 'iso-2022-jp-2 |
| 45 | 'iso-2022-jp-2 2 ?J | 47 | "ISO 2022 based 7bit encoding for CJK, Latin-1, Greek (MIME:ISO-2022-JP-2)." |
| 46 | "ISO 2022 based 7bit encoding for CJK, Latin-1, and Greek (MIME:ISO-2022-JP-2)." | 48 | :coding-type 'iso-2022 |
| 47 | '((ascii japanese-jisx0208-1978 japanese-jisx0208 | 49 | :mnemonic ?J |
| 48 | latin-jisx0201 japanese-jisx0212 | 50 | :designation [(ascii japanese-jisx0208-1978 japanese-jisx0208 |
| 49 | chinese-gb2312 korean-ksc5601) nil | 51 | latin-jisx0201 japanese-jisx0212 |
| 50 | (nil latin-iso8859-1 greek-iso8859-7) nil | 52 | chinese-gb2312 korean-ksc5601) |
| 51 | short ascii-eol ascii-cntl seven nil single-shift nil nil nil init-bol) | 53 | nil |
| 52 | '((safe-charsets ascii japanese-jisx0208-1978 japanese-jisx0208 | 54 | (nil latin-iso8859-1 greek-iso8859-7) |
| 53 | latin-jisx0201 japanese-jisx0212 | 55 | nil] |
| 54 | chinese-gb2312 korean-ksc5601 | 56 | :flags '(short ascii-at-eol ascii-at-cntl 7-bit designation single-shift |
| 55 | latin-iso8859-1 greek-iso8859-7) | 57 | init-at-bol) |
| 56 | (mime-charset . iso-2022-jp-2))) | 58 | :charset-list '(ascii japanese-jisx0208-1978 japanese-jisx0208 |
| 57 | 59 | latin-jisx0201 japanese-jisx0212 | |
| 58 | (make-coding-system | 60 | chinese-gb2312 korean-ksc5601 |
| 59 | 'japanese-shift-jis 1 ?S | 61 | latin-iso8859-1 greek-iso8859-7) |
| 60 | "Shift-JIS 8-bit encoding for Japanese (MIME:SHIFT_JIS)." | 62 | :plist '(mime-charset iso-2022-jp-2)) |
| 61 | nil | 63 | |
| 62 | '((safe-charsets ascii japanese-jisx0208 japanese-jisx0208-1978 | 64 | (define-coding-system 'japanese-shift-jis |
| 63 | latin-jisx0201 katakana-jisx0201) | 65 | "Shift-JIS 8-bit encoding for Japanese (MIME:SHIFT_JIS)" |
| 64 | (mime-charset . shift_jis) | 66 | :coding-type 'shift-jis |
| 65 | (charset-origin-alist (japanese-jisx0208 "SJIS" encode-sjis-char) | 67 | :mnemonic ?S |
| 66 | (katakana-jisx0201 "SJIS" encode-sjis-char)))) | 68 | :charset-list '(ascii katakana-jisx0201 japanese-jisx0208) |
| 69 | :plist '(mime-charset shift_jis)) | ||
| 67 | 70 | ||
| 68 | (define-coding-system-alias 'shift_jis 'japanese-shift-jis) | 71 | (define-coding-system-alias 'shift_jis 'japanese-shift-jis) |
| 69 | (define-coding-system-alias 'sjis 'japanese-shift-jis) | 72 | (define-coding-system-alias 'sjis 'japanese-shift-jis) |
| 70 | 73 | ||
| 71 | (make-coding-system | 74 | (define-coding-system 'japanese-iso-7bit-1978-irv |
| 72 | 'japanese-iso-7bit-1978-irv 2 ?j | 75 | "ISO 2022 based 7-bit encoding for Japanese JISX0208-1978 and JISX0201-Roman." |
| 73 | "ISO 2022 based 7-bit encoding for Japanese JISX0208-1978 and JISX0201-Roman." | 76 | :coding-type 'iso-2022 |
| 74 | '((ascii japanese-jisx0208-1978 japanese-jisx0208 | 77 | :mnemonic ?j |
| 75 | latin-jisx0201 japanese-jisx0212 katakana-jisx0201 t) nil nil nil | 78 | :designation [(latin-jisx0201 japanese-jisx0208-1978 japanese-jisx0208 |
| 76 | short ascii-eol ascii-cntl seven nil nil use-roman use-oldjis) | 79 | japanese-jisx0212 katakana-jisx0201) |
| 77 | '(ascii japanese-jisx0208-1978 japanese-jisx0208 latin-jisx0201)) | 80 | nil nil nil] |
| 81 | :flags '(short ascii-at-eol ascii-at-cntl 7-bit use-roman use-oldjis) | ||
| 82 | :charset-list '(latin-jisx0201 japanese-jisx0208-1978 japanese-jisx0208 | ||
| 83 | japanese-jisx0212)) | ||
| 78 | 84 | ||
| 79 | (define-coding-system-alias 'iso-2022-jp-1978-irv 'japanese-iso-7bit-1978-irv) | 85 | (define-coding-system-alias 'iso-2022-jp-1978-irv 'japanese-iso-7bit-1978-irv) |
| 80 | (define-coding-system-alias 'old-jis 'japanese-iso-7bit-1978-irv) | 86 | (define-coding-system-alias 'old-jis 'japanese-iso-7bit-1978-irv) |
| 81 | 87 | ||
| 82 | (make-coding-system | 88 | (define-coding-system 'japanese-iso-8bit |
| 83 | 'japanese-iso-8bit 2 ?E | 89 | "ISO 2022 based EUC encoding for Japanese (MIME:EUC-JP)." |
| 84 | "ISO 2022 based EUC encoding for Japanese (MIME:EUC-JP)." | 90 | :coding-type 'iso-2022 |
| 85 | '(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212 | 91 | :mnemonic ?E |
| 86 | short ascii-eol ascii-cntl nil nil single-shift) | 92 | :designation [ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212] |
| 87 | '((safe-charsets ascii latin-jisx0201 japanese-jisx0208 japanese-jisx0208-1978 | 93 | :flags '(short ascii-at-eol ascii-at-cntl single-shift) |
| 88 | katakana-jisx0201 japanese-jisx0212) | 94 | :charset-list '(ascii latin-jisx0201 japanese-jisx0208 |
| 89 | (mime-charset . euc-jp))) | 95 | japanese-jisx0208-1978 |
| 96 | katakana-jisx0201 japanese-jisx0212) | ||
| 97 | :plist '(mime-charset euc-jp)) | ||
| 90 | 98 | ||
| 91 | (define-coding-system-alias 'euc-japan-1990 'japanese-iso-8bit) | 99 | (define-coding-system-alias 'euc-japan-1990 'japanese-iso-8bit) |
| 92 | (define-coding-system-alias 'euc-japan 'japanese-iso-8bit) | 100 | (define-coding-system-alias 'euc-japan 'japanese-iso-8bit) |
diff --git a/lisp/language/korean.el b/lisp/language/korean.el index 5398ef79ff6..bd267437a17 100644 --- a/lisp/language/korean.el +++ b/lisp/language/korean.el | |||
| @@ -28,25 +28,26 @@ | |||
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
| 30 | 30 | ||
| 31 | (make-coding-system | 31 | (define-coding-system 'korean-iso-8bit |
| 32 | 'korean-iso-8bit 2 ?K | 32 | "ISO 2022 based EUC encoding for Korean KSC5601 (MIME:EUC-KR)." |
| 33 | "ISO 2022 based EUC encoding for Korean KSC5601 (MIME:EUC-KR)." | 33 | :coding-type 'iso-2022 |
| 34 | '(ascii korean-ksc5601 nil nil | 34 | :mnemonic ?K |
| 35 | nil ascii-eol ascii-cntl) | 35 | :designation [ascii korean-ksc5601 nil nil] |
| 36 | '((safe-charsets ascii korean-ksc5601) | 36 | :charset-list '(ascii korean-ksc5601) |
| 37 | (mime-charset . euc-kr))) | 37 | :plist '(mime-charset euc-kr)) |
| 38 | 38 | ||
| 39 | (define-coding-system-alias 'euc-kr 'korean-iso-8bit) | 39 | (define-coding-system-alias 'euc-kr 'korean-iso-8bit) |
| 40 | (define-coding-system-alias 'euc-korea 'korean-iso-8bit) | 40 | (define-coding-system-alias 'euc-korea 'korean-iso-8bit) |
| 41 | 41 | ||
| 42 | (make-coding-system | 42 | (define-coding-system 'iso-2022-kr |
| 43 | 'iso-2022-kr 2 ?k | 43 | "ISO 2022 based 7-bit encoding for Korean KSC5601 (MIME:ISO-2022-KR)." |
| 44 | "ISO 2022 based 7-bit encoding for Korean KSC5601 (MIME:ISO-2022-KR)." | 44 | :coding-type 'iso-2022 |
| 45 | '(ascii (nil korean-ksc5601) nil nil | 45 | :mnemonic ?k |
| 46 | nil ascii-eol ascii-cntl seven locking-shift nil nil nil nil nil | 46 | :designation [ascii (nil korean-ksc5601) nil nil] |
| 47 | designation-bol) | 47 | :flags '(ascii-at-eol ascii-at-cntl 7-bit designation locking-shift |
| 48 | '((safe-charsets ascii korean-ksc5601) | 48 | designation-bol) |
| 49 | (mime-charset . iso-2022-kr))) | 49 | :charset-list '(ascii korean-ksc5601) |
| 50 | :plist '(mime-charset iso-2022-kr)) | ||
| 50 | 51 | ||
| 51 | (define-coding-system-alias 'korean-iso-7bit-lock 'iso-2022-kr) | 52 | (define-coding-system-alias 'korean-iso-7bit-lock 'iso-2022-kr) |
| 52 | 53 | ||
diff --git a/lisp/language/lao.el b/lisp/language/lao.el index 86d0caf8a46..200d843eb43 100644 --- a/lisp/language/lao.el +++ b/lisp/language/lao.el | |||
| @@ -27,41 +27,26 @@ | |||
| 27 | 27 | ||
| 28 | ;;; Code: | 28 | ;;; Code: |
| 29 | 29 | ||
| 30 | (make-coding-system | 30 | (define-coding-system 'lao |
| 31 | 'lao 2 ?L | 31 | "8-bit encoding for ASCII (MSB=0) and LAO (MSB=1)." |
| 32 | "8-bit encoding for ASCII (MSB=0) and LAO (MSB=1)." | 32 | :coding-type 'charset |
| 33 | '(ascii lao nil nil | 33 | :mnemonic ?L |
| 34 | nil nil) | 34 | :charset-list '(lao)) |
| 35 | '((safe-charsets ascii lao) | ||
| 36 | (post-read-conversion . lao-post-read-conversion))) | ||
| 37 | 35 | ||
| 38 | (set-language-info-alist | 36 | (set-language-info-alist |
| 39 | "Lao" '((charset lao) | 37 | "Lao" '((charset lao) |
| 40 | (coding-system lao) | 38 | (coding-system lao) |
| 41 | (coding-priority lao) | 39 | (coding-priority lao) |
| 42 | (input-method . "lao") | 40 | (input-method . "lao") |
| 43 | (nonascii-translation . lao) | ||
| 44 | (unibyte-display . lao) | 41 | (unibyte-display . lao) |
| 45 | (features lao-util) | 42 | (features lao-util) |
| 46 | (documentation . t))) | 43 | (documentation . t))) |
| 47 | 44 | ||
| 48 | (aset use-default-ascent ?(1;(B t) | ||
| 49 | (aset use-default-ascent ?$,1D;(B t) | ||
| 50 | (aset use-default-ascent ?(1=(B t) | ||
| 51 | (aset use-default-ascent ?$,1D=(B t) | ||
| 52 | (aset use-default-ascent ?(1?(B t) | ||
| 53 | (aset use-default-ascent ?$,1D?(B t) | ||
| 54 | (aset use-default-ascent ?(1B(B t) | ||
| 55 | (aset use-default-ascent ?$,1DB(B t) | ||
| 56 | (aset ignore-relative-composition ?(1\(B t) | ||
| 57 | (aset ignore-relative-composition ?$,1D\(B t) | ||
| 58 | |||
| 59 | ;; Register a function to compose Lao characters. | 45 | ;; Register a function to compose Lao characters. |
| 60 | (let ((patterns '(("\\c0\\c9?\\(\\(\\c2\\|\\c3\\)\\c4?\\|\\c4\\)?" | 46 | (set-char-table-range composition-function-table |
| 61 | . lao-composition-function)))) | 47 | '(#x0F00 . #x0F7F) |
| 62 | (aset composition-function-table (make-char 'lao) patterns) | 48 | '(("\\c0\\c9?\\(\\(\\c2\\|\\c3\\)\\c4?\\|\\c4\\)?" |
| 63 | (dotimes (i (1+ (- #xeff #xe80))) | 49 | . lao-composition-function))) |
| 64 | (aset composition-function-table (decode-char 'ucs (+ i #xe80)) patterns))) | ||
| 65 | 50 | ||
| 66 | (provide 'lao) | 51 | (provide 'lao) |
| 67 | 52 | ||
diff --git a/lisp/language/thai.el b/lisp/language/thai.el index 931142f727b..b511bfd946f 100644 --- a/lisp/language/thai.el +++ b/lisp/language/thai.el | |||
| @@ -28,13 +28,11 @@ | |||
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
| 30 | 30 | ||
| 31 | (make-coding-system | 31 | (define-coding-system 'thai-tis620 |
| 32 | 'thai-tis620 2 ?T | 32 | "8-bit encoding for ASCII (MSB=0) and Thai TIS620 (MSB=1)." |
| 33 | "8-bit encoding for ASCII (MSB=0) and Thai TIS620 (MSB=1)." | 33 | :coding-type 'charset |
| 34 | '(ascii thai-tis620 nil nil | 34 | :mnemonic ?T |
| 35 | nil ascii-eol) | 35 | :charset-list '(tis620-2533)) |
| 36 | '((safe-charsets ascii thai-tis620) | ||
| 37 | (post-read-conversion . thai-post-read-conversion))) | ||
| 38 | 36 | ||
| 39 | (define-coding-system-alias 'th-tis620 'thai-tis620) | 37 | (define-coding-system-alias 'th-tis620 'thai-tis620) |
| 40 | (define-coding-system-alias 'tis620 'thai-tis620) | 38 | (define-coding-system-alias 'tis620 'thai-tis620) |
| @@ -45,7 +43,7 @@ | |||
| 45 | (charset thai-tis620) | 43 | (charset thai-tis620) |
| 46 | (coding-system thai-tis620) | 44 | (coding-system thai-tis620) |
| 47 | (coding-priority thai-tis620) | 45 | (coding-priority thai-tis620) |
| 48 | (nonascii-translation . thai-tis620) | 46 | (nonascii-translation . tis620-2533) |
| 49 | (input-method . "thai-kesmanee") | 47 | (input-method . "thai-kesmanee") |
| 50 | (unibyte-display . thai-tis620) | 48 | (unibyte-display . thai-tis620) |
| 51 | (features thai-util) | 49 | (features thai-util) |
| @@ -56,11 +54,10 @@ | |||
| 56 | 54 | ||
| 57 | 55 | ||
| 58 | ;; Register a function to compose Thai characters. | 56 | ;; Register a function to compose Thai characters. |
| 59 | (let ((patterns '(("\\c0\\c4\\|\\c0\\(\\c2\\|\\c3\\)\\c4?" | 57 | (set-char-table-range composition-function-table |
| 60 | . thai-composition-function)))) | 58 | '(#x0E00 . #x0E7F) |
| 61 | (aset composition-function-table (make-char 'thai-tis620) patterns) | 59 | '(("\\c0\\c4\\|\\c0\\(\\c2\\|\\c3\\)\\c4?" |
| 62 | (dotimes (i (1+ (- #xe7f #xe00))) | 60 | . thai-composition-function))) |
| 63 | (aset composition-function-table (decode-char 'ucs (+ i #xe00)) patterns))) | ||
| 64 | 61 | ||
| 65 | (provide 'thai) | 62 | (provide 'thai) |
| 66 | 63 | ||
diff --git a/lisp/language/tibetan.el b/lisp/language/tibetan.el index c993bb57c01..3a51b709fe2 100644 --- a/lisp/language/tibetan.el +++ b/lisp/language/tibetan.el | |||
| @@ -82,14 +82,12 @@ | |||
| 82 | ;;; | 82 | ;;; |
| 83 | 83 | ||
| 84 | 84 | ||
| 85 | (make-coding-system | 85 | (define-coding-system 'tibetan-iso-8bit |
| 86 | 'tibetan-iso-8bit 2 ?Q | 86 | "8-bit encoding for ASCII (MSB=0) and TIBETAN (MSB=1)." |
| 87 | "8-bit encoding for ASCII (MSB=0) and TIBETAN (MSB=1)." | 87 | :coding-type 'iso-2022 |
| 88 | '(ascii tibetan nil nil | 88 | :mnemonic ?Q |
| 89 | nil nil) | 89 | :designation [ascii tibetan nil nil] |
| 90 | '((safe-charsets ascii tibetan) | 90 | :charset-list '(ascii tibetan)) |
| 91 | (post-read-conversion . tibetan-post-read-conversion) | ||
| 92 | (pre-write-conversion . tibetan-pre-write-conversion))) | ||
| 93 | 91 | ||
| 94 | (define-coding-system-alias 'tibetan 'tibetan-iso-8bit) | 92 | (define-coding-system-alias 'tibetan 'tibetan-iso-8bit) |
| 95 | 93 | ||
| @@ -119,8 +117,11 @@ | |||
| 119 | "Regexp matching a composable sequence of Tibetan characters.") | 117 | "Regexp matching a composable sequence of Tibetan characters.") |
| 120 | 118 | ||
| 121 | ;; Register a function to compose Tibetan characters. | 119 | ;; Register a function to compose Tibetan characters. |
| 122 | (aset composition-function-table (make-char 'tibetan) | 120 | (set-char-table-range composition-function-table |
| 123 | (list (cons tibetan-composable-pattern 'tibetan-composition-function))) | 121 | (cons (decode-char 'tibetan #x2121) |
| 122 | (decode-char 'tibetan #x7E7E)) | ||
| 123 | (list (cons tibetan-composable-pattern | ||
| 124 | 'tibetan-composition-function))) | ||
| 124 | 125 | ||
| 125 | ;;; | 126 | ;;; |
| 126 | ;;; Definitions of conversion data. | 127 | ;;; Definitions of conversion data. |
diff --git a/lisp/language/vietnamese.el b/lisp/language/vietnamese.el index c79c84e9631..aa523279b25 100644 --- a/lisp/language/vietnamese.el +++ b/lisp/language/vietnamese.el | |||
| @@ -28,139 +28,30 @@ | |||
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
| 30 | 30 | ||
| 31 | (defvar viet-viscii-decode-table | 31 | (define-coding-system 'vietnamese-viscii |
| 32 | [;; VISCII is a full 8-bit code. | 32 | "8-bit encoding for Vietnamese VISCII 1.1 (MIME:VISCII)." |
| 33 | 0 1 ?,2F(B 3 4 ?,2G(B ?,2g(B 7 8 9 10 11 12 13 14 15 | 33 | :coding-type 'charset |
| 34 | 16 17 18 19 ?,2V(B 21 22 23 24 ?,2[(B 26 27 28 29 ?,2\(B 31 | 34 | :mnemonic ?V |
| 35 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 35 | :charset-list '(viscii) |
| 36 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 36 | :plist '(mime-charset viscii)) |
| 37 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | ||
| 38 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ||
| 39 | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | ||
| 40 | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | ||
| 41 | ?,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 | ||
| 42 | ?,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 | ||
| 43 | ?,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 | ||
| 44 | ?,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 | ||
| 45 | ?,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 | ||
| 46 | ?,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 | ||
| 47 | ?,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 | ||
| 48 | ?,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 ] | ||
| 49 | "Vietnamese VISCII decoding table.") | ||
| 50 | |||
| 51 | (let ((table (make-translation-table-from-vector viet-viscii-decode-table))) | ||
| 52 | (define-translation-table 'viet-viscii-nonascii-translation-table table) | ||
| 53 | (define-translation-table 'viet-viscii-encode-table | ||
| 54 | (char-table-extra-slot table 0))) | ||
| 55 | |||
| 56 | (defvar viet-vscii-decode-table | ||
| 57 | [;; VSCII is a full 8-bit code. | ||
| 58 | 0 ?,2z(B ?,2x(B 3 ?,2W(B ?,2X(B ?,2f(B 7 8 9 10 11 12 13 14 15 | ||
| 59 | 16 ?,2Q(B ?,2_(B ?,2O(B ?,2V(B ?,2[(B ?,2}(B ?,2\(B 24 25 26 27 28 29 30 31 | ||
| 60 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | ||
| 61 | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | ||
| 62 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | ||
| 63 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ||
| 64 | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | ||
| 65 | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | ||
| 66 | ?,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 | ||
| 67 | ?,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 | ||
| 68 | 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 | ||
| 69 | 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 | ||
| 70 | ?,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 | ||
| 71 | ?,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 | ||
| 72 | ?,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 | ||
| 73 | ?,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] | ||
| 74 | "Vietnamese VSCII decoding table.") | ||
| 75 | |||
| 76 | (let ((table (make-translation-table-from-vector viet-vscii-decode-table))) | ||
| 77 | (define-translation-table 'viet-vscii-nonascii-translation-table table) | ||
| 78 | (define-translation-table 'viet-vscii-encode-table | ||
| 79 | (char-table-extra-slot table 0))) | ||
| 80 | |||
| 81 | (define-ccl-program ccl-decode-viscii | ||
| 82 | `(3 | ||
| 83 | ((loop | ||
| 84 | (r0 = 0) | ||
| 85 | (read r1) | ||
| 86 | (translate-character viet-viscii-nonascii-translation-table r0 r1) | ||
| 87 | (write-multibyte-character r0 r1) | ||
| 88 | (repeat)))) | ||
| 89 | "CCL program to decode VISCII 1.1") | ||
| 90 | |||
| 91 | (define-ccl-program ccl-encode-viscii | ||
| 92 | `(1 | ||
| 93 | ((loop | ||
| 94 | (read-multibyte-character r0 r1) | ||
| 95 | (translate-character viet-viscii-encode-table r0 r1) | ||
| 96 | (write-repeat r1)))) | ||
| 97 | "CCL program to encode VISCII 1.1") | ||
| 98 | |||
| 99 | (define-ccl-program ccl-encode-viscii-font | ||
| 100 | `(0 | ||
| 101 | ;; In: R0:vietnamese-viscii-lower/vietnamese-viscii-upper | ||
| 102 | ;; R1:position code | ||
| 103 | ;; Out: R1:font code point | ||
| 104 | (translate-character viet-viscii-encode-table r0 r1)) | ||
| 105 | "CCL program to encode Vietnamese chars to VISCII 1.1 font") | ||
| 106 | |||
| 107 | (define-ccl-program ccl-decode-vscii | ||
| 108 | `(3 | ||
| 109 | ((loop | ||
| 110 | (r0 = 0) | ||
| 111 | (read r1) | ||
| 112 | (translate-character viet-vscii-nonascii-translation-table r0 r1) | ||
| 113 | (write-multibyte-character r0 r1) | ||
| 114 | (repeat)))) | ||
| 115 | "CCL program to decode VSCII-1.") | ||
| 116 | |||
| 117 | (define-ccl-program ccl-encode-vscii | ||
| 118 | `(1 | ||
| 119 | ((loop | ||
| 120 | (read-multibyte-character r0 r1) | ||
| 121 | (translate-character viet-vscii-encode-table r0 r1) | ||
| 122 | (write-repeat r1)))) | ||
| 123 | "CCL program to encode VSCII-1.") | ||
| 124 | |||
| 125 | (define-ccl-program ccl-encode-vscii-font | ||
| 126 | `(0 | ||
| 127 | ;; In: R0:vietnamese-viscii-lower/vietnamese-viscii-upper | ||
| 128 | ;; R1:position code | ||
| 129 | ;; Out: R1:font code point | ||
| 130 | (translate-character viet-vscii-encode-table r0 r1)) | ||
| 131 | "CCL program to encode Vietnamese chars to VSCII-1 font.") | ||
| 132 | |||
| 133 | |||
| 134 | (make-coding-system | ||
| 135 | 'vietnamese-viscii 4 ?V | ||
| 136 | "8-bit encoding for Vietnamese VISCII 1.1 (MIME:VISCII)." | ||
| 137 | '(ccl-decode-viscii . ccl-encode-viscii) | ||
| 138 | '((safe-charsets ascii vietnamese-viscii-lower vietnamese-viscii-upper) | ||
| 139 | (mime-charset . viscii) | ||
| 140 | (valid-codes (0 . 255)))) | ||
| 141 | 37 | ||
| 142 | (define-coding-system-alias 'viscii 'vietnamese-viscii) | 38 | (define-coding-system-alias 'viscii 'vietnamese-viscii) |
| 143 | 39 | ||
| 144 | (make-coding-system | 40 | (define-coding-system 'vietnamese-vscii |
| 145 | 'vietnamese-vscii 4 ?v | 41 | "8-bit encoding for Vietnamese VSCII-1." |
| 146 | "8-bit encoding for Vietnamese VSCII-1." | 42 | :coding-type 'charset |
| 147 | '(ccl-decode-vscii . ccl-encode-vscii) | 43 | :mnemonic ?v |
| 148 | '((safe-charsets ascii vietnamese-viscii-lower vietnamese-viscii-upper) | 44 | :charset-list '(vscii)) |
| 149 | (valid-codes (0 . 255)))) | ||
| 150 | 45 | ||
| 151 | (define-coding-system-alias 'vscii 'vietnamese-vscii) | 46 | (define-coding-system-alias 'vscii 'vietnamese-vscii) |
| 152 | 47 | ||
| 153 | (make-coding-system | 48 | (define-coding-system 'vietnamese-viqr |
| 154 | 'vietnamese-viqr 0 ?q | 49 | "Vietnamese latin transcription (VIQR)." |
| 155 | "Encoding for Vietnamese latin transcription (VIQR)." | 50 | :coding-type 'utf-8 |
| 156 | nil | 51 | :mnemonic ?q |
| 157 | '((safe-charsets ascii vietnamese-viscii-lower vietnamese-viscii-upper) | 52 | :charset-list '(ascii viscii) |
| 158 | (post-read-conversion . viqr-post-read-conversion) | 53 | :post-read-conversion 'viqr-post-read-conversion |
| 159 | (pre-write-conversion . viqr-pre-write-conversion) | 54 | :pre-write-conversion 'viqr-pre-write-conversion) |
| 160 | (charset-origin-alist | ||
| 161 | (vietnamese-viscii-lower "VISCII" viet-encode-viscii-char) | ||
| 162 | (vietnamese-viscii-upper "VISCII" viet-encode-viscii-char)))) | ||
| 163 | |||
| 164 | 55 | ||
| 165 | (define-coding-system-alias 'viqr 'vietnamese-viqr) | 56 | (define-coding-system-alias 'viqr 'vietnamese-viqr) |
| 166 | 57 | ||
| @@ -171,13 +62,11 @@ | |||
| 171 | (cons '("vscii" . ccl-encode-vscii-font) font-ccl-encoder-alist)) | 62 | (cons '("vscii" . ccl-encode-vscii-font) font-ccl-encoder-alist)) |
| 172 | 63 | ||
| 173 | (set-language-info-alist | 64 | (set-language-info-alist |
| 174 | "Vietnamese" `((charset vietnamese-viscii-lower vietnamese-viscii-upper) | 65 | "Vietnamese" `((charset viscii) |
| 175 | (nonascii-translation | ||
| 176 | . ,(get 'viet-viscii-nonascii-translation-table | ||
| 177 | 'translation-table)) | ||
| 178 | (coding-system vietnamese-viscii vietnamese-vscii | 66 | (coding-system vietnamese-viscii vietnamese-vscii |
| 179 | vietnamese-viqr) | 67 | vietnamese-viqr) |
| 180 | (coding-priority vietnamese-viscii) | 68 | (coding-priority vietnamese-viscii) |
| 69 | (nonascii-translation . viscii) | ||
| 181 | (input-method . "vietnamese-viqr") | 70 | (input-method . "vietnamese-viqr") |
| 182 | (unibyte-display . vietnamese-viscii) | 71 | (unibyte-display . vietnamese-viscii) |
| 183 | (features viet-util) | 72 | (features viet-util) |