1 |
;;; code-pages.el --- coding systems for assorted codepages -*-coding: utf-8;-*- |
;;; code-pages.el --- coding systems for assorted codepages -*-coding: utf-8;-*- |
2 |
|
|
3 |
;; Copyright (C) 2001 Free Software Foundation, Inc. |
;; Copyright (C) 2001, 2002 Free Software Foundation, Inc. |
4 |
|
|
5 |
;; Author: Dave Love <fx@gnu.org> |
;; Author: Dave Love <fx@gnu.org> |
6 |
;; Keywords: i18n |
;; Keywords: i18n |
35 |
;; cp855, cp857, cp860, cp861, cp862, cp863, cp864, cp865, cp866, |
;; cp855, cp857, cp860, cp861, cp862, cp863, cp864, cp865, cp866, |
36 |
;; cp869, cp874, cp1125, windows-1250, windows-1251, windows-1252, |
;; cp869, cp874, cp1125, windows-1250, windows-1251, windows-1252, |
37 |
;; windows-1253, windows-1254, windows-1255, windows-1256, |
;; windows-1253, windows-1254, windows-1255, windows-1256, |
38 |
;; windows-1257, windows-1258, next, koi8-r, koi8-u, iso-8859-6, |
;; windows-1257, windows-1258, next, koi8-u, iso-8859-6, |
39 |
;; iso-8859-10, iso-8859-12, iso-8859-16, koi8-t, georgian-ps. This |
;; iso-8859-10, iso-8859-11, iso-8859-16, koi8-t, georgian-ps. This |
40 |
;; is meant to include all the single-byte ones relevant to GNU (used |
;; is meant to include all the single-byte ones relevant to GNU (used |
41 |
;; in glibc-defined locales); we don't yet get all the multibyte ones |
;; in glibc-defined locales); we don't yet get all the multibyte ones |
42 |
;; in base Emacs. |
;; in base Emacs. |
43 |
|
|
44 |
;; Note that koi8-r and cp866 (alternativnyj) clash with the |
;; Note that various of these can clash with definitions in |
45 |
;; iso8859-5-based versions in cyrillic.el (which should be changed), |
;; codepage.el; we try to avoid damage from that. A few CPs from |
46 |
;; and others can clash with definitions in codepage.el; we try to |
;; codepage.el (770, 773, 774) aren't covered (in the absence of |
47 |
;; avoid damage from that. A few CPs from codepage.el (770, 773, 774) |
;; translation tables to Unicode). |
|
;; aren't covered (in the absence of translation tables to Unicode). |
|
48 |
|
|
49 |
;; Compile this, to avoid loading `ccl' at runtime. |
;; Compile this, to avoid loading `ccl' at runtime. |
50 |
|
|
62 |
(aset encoding-vector i i)) |
(aset encoding-vector i i)) |
63 |
(dotimes (i 128) |
(dotimes (i 128) |
64 |
(aset encoding-vector (+ i 128) (aref v i))) |
(aset encoding-vector (+ i 128) (aref v i))) |
65 |
(make-translation-table-from-vector encoding-vector))) |
;; Add equivalent characters to the encoder so that we can unify |
66 |
|
;; on encoding. |
67 |
|
(let* ((tab (make-translation-table-from-vector encoding-vector)) |
68 |
|
;; Translation table used for encoding: |
69 |
|
(encode-table (char-table-extra-slot tab 0))) |
70 |
|
(map-char-table (lambda (c v) |
71 |
|
(if v |
72 |
|
(let ((c1 (aref encode-table v))) |
73 |
|
(if c1 ; we encode that unicode |
74 |
|
(aset encode-table c c1))))) |
75 |
|
ucs-mule-to-mule-unicode) |
76 |
|
tab))) |
77 |
|
|
78 |
(defun cp-valid-codes (v) |
(defun cp-valid-codes (v) |
79 |
"Derive a valid-codes list for translation vector V. |
"Derive a valid-codes list for translation vector V. |
95 |
(nreverse pairs))) |
(nreverse pairs))) |
96 |
|
|
97 |
(defun cp-fix-safe-chars (cs) |
(defun cp-fix-safe-chars (cs) |
98 |
"Remove `char-coding-system-table' entries from previous definition of CS. |
"This is an obsolete function. |
99 |
CS is a base coding system or alias." |
It exists just for backward compatibility, and it does nothing.") |
100 |
(when (coding-system-p cs) |
(make-obsolete 'cp-fix-safe-chars |
101 |
(let ((chars (coding-system-get cs 'safe-chars))) |
"Unnecessary function. Calling it has no effect." |
102 |
(map-char-table |
"21.3") |
|
(lambda (k v) |
|
|
(if (and v (not (eq v t))) |
|
|
(aset char-coding-system-table |
|
|
k |
|
|
(remq cs (aref char-coding-system-table v))))) |
|
|
chars)))) |
|
103 |
|
|
104 |
;; Fix things that have been, or might be done by codepage.el. |
;; Fix things that have been, or might be, done by codepage.el. |
105 |
(eval-after-load "codepage" |
(eval-after-load "codepage" |
106 |
'(progn |
'(progn |
107 |
|
|
|
(dolist (cs '(cp857 cp861 cp1253 cp852 cp866 cp437 cp855 cp869 cp775 |
|
|
cp862 cp864 cp1250 cp863 cp865 cp1251 cp737 cp1257 cp850 |
|
|
cp860 cp851 720)) |
|
|
(cp-fix-safe-chars cs)) |
|
|
|
|
108 |
;; Semi-dummy version for the stuff in codepage.el which we don't |
;; Semi-dummy version for the stuff in codepage.el which we don't |
109 |
;; define here. (Used by mule-diag.) |
;; define here. (Used by mule-diag.) |
110 |
(defun cp-supported-codepages () |
(defun cp-supported-codepages () |
139 |
cp (cp-charset-for-codepage cp) (cp-offset-for-codepage cp)))))) |
cp (cp-charset-for-codepage cp) (cp-offset-for-codepage cp)))))) |
140 |
) ; eval-after-load |
) ; eval-after-load |
141 |
|
|
142 |
;; Somewhat amended from the version in mule-diag.el, needed below. |
;; For `non-iso-charset-alist'. Do this after redefining |
143 |
(defvar non-iso-charset-alist |
;; `cp-supported-codepages', which is called through loading |
144 |
`((mac-roman |
;; mule-diag. |
145 |
nil |
(require 'mule-diag) |
|
mac-roman-decoder |
|
|
((0 255))) |
|
|
(viscii |
|
|
(ascii vietnamese-viscii-lower vietnamese-viscii-upper) |
|
|
viet-viscii-nonascii-translation-table |
|
|
((0 255))) |
|
|
(big5 |
|
|
(ascii chinese-big5-1 chinese-big5-2) |
|
|
decode-big5-char |
|
|
((32 127) |
|
|
((?\xA1 ?\xFE) . (?\x40 ?\x7E ?\xA1 ?\xFE)))) |
|
|
(sjis |
|
|
(ascii katakana-jisx0201 japanese-jisx0208) |
|
|
decode-sjis-char |
|
|
((32 127 ?\xA1 ?\xDF) |
|
|
((?\x81 ?\x9F ?\xE0 ?\xEF) . (?\x40 ?\x7E ?\x80 ?\xFC)))))) |
|
146 |
|
|
147 |
;; Macro to allow ccl compilation at byte-compile time, avoiding |
;; Macro to allow ccl compilation at byte-compile time, avoiding |
148 |
;; loading ccl. |
;; loading ccl. |
166 |
(r0 = ,(charset-id 'eight-bit-control)) |
(r0 = ,(charset-id 'eight-bit-control)) |
167 |
(r0 = ,(charset-id 'eight-bit-graphic)))) |
(r0 = ,(charset-id 'eight-bit-graphic)))) |
168 |
(translate-character ,decoder r0 r1) |
(translate-character ,decoder r0 r1) |
169 |
|
;; Allow fragmentation on decoding -- relevant for |
170 |
|
;; Cyrillic, Greek and, possibly Arabic and Hebrew. |
171 |
|
(translate-character utf-translation-table-for-decode r0 r1) |
172 |
(write-multibyte-character r0 r1) |
(write-multibyte-character r0 r1) |
173 |
(repeat)))))) |
(repeat)))))) |
174 |
(ccl-encoder |
(ccl-encoder |
177 |
((loop |
((loop |
178 |
(read-multibyte-character r0 r1) |
(read-multibyte-character r0 r1) |
179 |
(translate-character ,encoder r0 r1) |
(translate-character ,encoder r0 r1) |
180 |
|
(if (r0 != ,(charset-id 'ascii)) |
181 |
|
(if (r0 != ,(charset-id 'eight-bit-graphic)) |
182 |
|
(if (r0 != ,(charset-id 'eight-bit-control)) |
183 |
|
(r1 = ??)))) |
184 |
(write-repeat r1))))))) |
(write-repeat r1))))))) |
185 |
`(let ((translation-table (cp-make-translation-table ,v)) |
`(let ((translation-table (cp-make-translation-table ,v)) |
186 |
(codes (cp-valid-codes ,v))) |
(codes (cp-valid-codes ,v))) |
187 |
(define-translation-table ',decoder translation-table) |
(define-translation-table ',decoder translation-table) |
188 |
(define-translation-table ',encoder |
(define-translation-table ',encoder |
189 |
(char-table-extra-slot translation-table 0)) |
(char-table-extra-slot translation-table 0)) |
|
(cp-fix-safe-chars ',name) |
|
190 |
(make-coding-system |
(make-coding-system |
191 |
',name 4 ,(or mnemonic ?*) |
',name 4 ,(or mnemonic ?*) |
192 |
(or ,doc-string (format "%s encoding" ',name)) |
(or ,doc-string (format "%s encoding" ',name)) |
193 |
(cons ,ccl-decoder ,ccl-encoder) |
(cons ,ccl-decoder ,ccl-encoder) |
194 |
(list (cons 'safe-chars (get ',encoder 'translation-table)) |
(list (cons 'safe-chars (get ',encoder 'translation-table)) |
195 |
(cons 'valid-codes codes) |
(cons 'valid-codes codes) |
196 |
(cons 'mime-charset ',name))) |
(cons 'mime-charset ',name) |
197 |
|
;; For Quail translation. Fixme: this should really be |
198 |
|
;; a separate table that only translates the coding |
199 |
|
;; system's safe-chars. |
200 |
|
(cons 'translation-table-for-input ,ucs-mule-to-mule-unicode))) |
201 |
(push (list ',name |
(push (list ',name |
202 |
nil ; charset list |
nil ; charset list |
203 |
',decoder |
',decoder |
2052 |
?\■ |
?\■ |
2053 |
?\ ]) |
?\ ]) |
2054 |
|
|
2055 |
;; ;; This should be the same as cyrillic-alternativnyj, |
(cp-make-coding-system |
2056 |
;; ;; (<URL:http://czyborra.com/charsets/cyrillic.html>), but code point |
cp866 |
2057 |
;; ;; 255 in the cyrillic.el alternativnyj table is `№', i.e. point 240 |
[?\А |
2058 |
;; ;; in 8859-5, not no-break space as below; `№' should be at point 252. |
?\Б |
2059 |
;; (cp-make-coding-system |
?\В |
2060 |
;; cp866 |
?\Г |
2061 |
;; [?\А |
?\Д |
2062 |
;; ?\Б |
?\Е |
2063 |
;; ?\В |
?\Ж |
2064 |
;; ?\Г |
?\З |
2065 |
;; ?\Д |
?\И |
2066 |
;; ?\Е |
?\Й |
2067 |
;; ?\Ж |
?\К |
2068 |
;; ?\З |
?\Л |
2069 |
;; ?\И |
?\М |
2070 |
;; ?\Й |
?\Н |
2071 |
;; ?\К |
?\О |
2072 |
;; ?\Л |
?\П |
2073 |
;; ?\М |
?\Р |
2074 |
;; ?\Н |
?\С |
2075 |
;; ?\О |
?\Т |
2076 |
;; ?\П |
?\У |
2077 |
;; ?\Р |
?\Ф |
2078 |
;; ?\С |
?\Х |
2079 |
;; ?\Т |
?\Ц |
2080 |
;; ?\У |
?\Ч |
2081 |
;; ?\Ф |
?\Ш |
2082 |
;; ?\Х |
?\Щ |
2083 |
;; ?\Ц |
?\Ъ |
2084 |
;; ?\Ч |
?\Ы |
2085 |
;; ?\Ш |
?\Ь |
2086 |
;; ?\Щ |
?\Э |
2087 |
;; ?\Ъ |
?\Ю |
2088 |
;; ?\Ы |
?\Я |
2089 |
;; ?\Ь |
?\а |
2090 |
;; ?\Э |
?\б |
2091 |
;; ?\Ю |
?\в |
2092 |
;; ?\Я |
?\г |
2093 |
;; ?\а |
?\д |
2094 |
;; ?\б |
?\е |
2095 |
;; ?\в |
?\ж |
2096 |
;; ?\г |
?\з |
2097 |
;; ?\д |
?\и |
2098 |
;; ?\е |
?\й |
2099 |
;; ?\ж |
?\к |
2100 |
;; ?\з |
?\л |
2101 |
;; ?\и |
?\м |
2102 |
;; ?\й |
?\н |
2103 |
;; ?\к |
?\о |
2104 |
;; ?\л |
?\п |
2105 |
;; ?\м |
?\░ |
2106 |
;; ?\н |
?\▒ |
2107 |
;; ?\о |
?\▓ |
2108 |
;; ?\п |
?\│ |
2109 |
;; ?\░ |
?\┤ |
2110 |
;; ?\▒ |
?\╡ |
2111 |
;; ?\▓ |
?\╢ |
2112 |
;; ?\│ |
?\╖ |
2113 |
;; ?\┤ |
?\╕ |
2114 |
;; ?\╡ |
?\╣ |
2115 |
;; ?\╢ |
?\║ |
2116 |
;; ?\╖ |
?\╗ |
2117 |
;; ?\╕ |
?\╝ |
2118 |
;; ?\╣ |
?\╜ |
2119 |
;; ?\║ |
?\╛ |
2120 |
;; ?\╗ |
?\┐ |
2121 |
;; ?\╝ |
?\└ |
2122 |
;; ?\╜ |
?\┴ |
2123 |
;; ?\╛ |
?\┬ |
2124 |
;; ?\┐ |
?\├ |
2125 |
;; ?\└ |
?\─ |
2126 |
;; ?\┴ |
?\┼ |
2127 |
;; ?\┬ |
?\╞ |
2128 |
;; ?\├ |
?\╟ |
2129 |
;; ?\─ |
?\╚ |
2130 |
;; ?\┼ |
?\╔ |
2131 |
;; ?\╞ |
?\╩ |
2132 |
;; ?\╟ |
?\╦ |
2133 |
;; ?\╚ |
?\╠ |
2134 |
;; ?\╔ |
?\═ |
2135 |
;; ?\╩ |
?\╬ |
2136 |
;; ?\╦ |
?\╧ |
2137 |
;; ?\╠ |
?\╨ |
2138 |
;; ?\═ |
?\╤ |
2139 |
;; ?\╬ |
?\╥ |
2140 |
;; ?\╧ |
?\╙ |
2141 |
;; ?\╨ |
?\╘ |
2142 |
;; ?\╤ |
?\╒ |
2143 |
;; ?\╥ |
?\╓ |
2144 |
;; ?\╙ |
?\╫ |
2145 |
;; ?\╘ |
?\╪ |
2146 |
;; ?\╒ |
?\┘ |
2147 |
;; ?\╓ |
?\┌ |
2148 |
;; ?\╫ |
?\█ |
2149 |
;; ?\╪ |
?\▄ |
2150 |
;; ?\┘ |
?\▌ |
2151 |
;; ?\┌ |
?\▐ |
2152 |
;; ?\█ |
?\▀ |
2153 |
;; ?\▄ |
?\р |
2154 |
;; ?\▌ |
?\с |
2155 |
;; ?\▐ |
?\т |
2156 |
;; ?\▀ |
?\у |
2157 |
;; ?\р |
?\ф |
2158 |
;; ?\с |
?\х |
2159 |
;; ?\т |
?\ц |
2160 |
;; ?\у |
?\ч |
2161 |
;; ?\ф |
?\ш |
2162 |
;; ?\х |
?\щ |
2163 |
;; ?\ц |
?\ъ |
2164 |
;; ?\ч |
?\ы |
2165 |
;; ?\ш |
?\ь |
2166 |
;; ?\щ |
?\э |
2167 |
;; ?\ъ |
?\ю |
2168 |
;; ?\ы |
?\я |
2169 |
;; ?\ь |
?\Ё |
2170 |
;; ?\э |
?\ё |
2171 |
;; ?\ю |
?\Є |
2172 |
;; ?\я |
?\є |
2173 |
;; ?\Ё |
?\Ї |
2174 |
;; ?\ё |
?\ї |
2175 |
;; ?\Є |
?\Ў |
2176 |
;; ?\є |
?\ў |
2177 |
;; ?\Ї |
?\° |
2178 |
;; ?\ї |
?\∙ |
2179 |
;; ?\Ў |
?\· |
2180 |
;; ?\ў |
?\√ |
2181 |
;; ?\° |
?\№ |
2182 |
;; ?\∙ |
?\¤ |
2183 |
;; ?\· |
?\■ |
2184 |
;; ?\√ |
?\ ] |
2185 |
;; ?\№ |
"CP866 (Cyrillic)." |
2186 |
;; ?\¤ |
?A) |
|
;; ?\■ |
|
|
;; ?\ ] |
|
|
;; "CP866 (Cyrillic Alternativnyj) encoding using Unicode." |
|
|
;; ?A) |
|
|
;; (define-coding-system-alias 'alternativnyj 'cp866) |
|
|
;; (cp-fix-safe-chars 'cyrillic-alternativnyj) |
|
|
;; (define-coding-system-alias 'cyrillic-alternativnyj 'cp866) |
|
2187 |
|
|
2188 |
(cp-make-coding-system |
(cp-make-coding-system |
2189 |
cp869 |
cp869 |
3765 |
"NeXTstep encoding." ?N) |
"NeXTstep encoding." ?N) |
3766 |
|
|
3767 |
(cp-make-coding-system |
(cp-make-coding-system |
|
koi8-u |
|
|
[?\─ |
|
|
?\│ |
|
|
?\┌ |
|
|
?\┐ |
|
|
?\└ |
|
|
?\┘ |
|
|
?\├ |
|
|
?\┤ |
|
|
?\┬ |
|
|
?\┴ |
|
|
?\┼ |
|
|
?\▀ |
|
|
?\▄ |
|
|
?\█ |
|
|
?\▌ |
|
|
?\▐ |
|
|
?\░ |
|
|
?\▒ |
|
|
?\▓ |
|
|
?\⌠ |
|
|
?\■ |
|
|
?\∙ |
|
|
?\√ |
|
|
?\≈ |
|
|
?\≤ |
|
|
?\≥ |
|
|
?\ |
|
|
?\⌡ |
|
|
?\° |
|
|
?\² |
|
|
?\· |
|
|
?\÷ |
|
|
?\═ |
|
|
?\║ |
|
|
?\╒ |
|
|
?\ё |
|
|
?\є |
|
|
?\╔ |
|
|
?\і |
|
|
?\ї |
|
|
?\╗ |
|
|
?\╘ |
|
|
?\╙ |
|
|
?\╚ |
|
|
?\╛ |
|
|
?\ґ |
|
|
?\╝ |
|
|
?\╞ |
|
|
?\╟ |
|
|
?\╠ |
|
|
?\╡ |
|
|
?\Ё |
|
|
?\Є |
|
|
?\╣ |
|
|
?\І |
|
|
?\Ї |
|
|
?\╦ |
|
|
?\╧ |
|
|
?\╨ |
|
|
?\╩ |
|
|
?\╪ |
|
|
?\Ґ |
|
|
?\╬ |
|
|
?\© |
|
|
?\ю |
|
|
?\а |
|
|
?\б |
|
|
?\ц |
|
|
?\д |
|
|
?\е |
|
|
?\ф |
|
|
?\г |
|
|
?\х |
|
|
?\и |
|
|
?\й |
|
|
?\к |
|
|
?\л |
|
|
?\м |
|
|
?\н |
|
|
?\о |
|
|
?\п |
|
|
?\я |
|
|
?\р |
|
|
?\с |
|
|
?\т |
|
|
?\у |
|
|
?\ж |
|
|
?\в |
|
|
?\ь |
|
|
?\ы |
|
|
?\з |
|
|
?\ш |
|
|
?\э |
|
|
?\щ |
|
|
?\ч |
|
|
?\ъ |
|
|
?\Ю |
|
|
?\А |
|
|
?\Б |
|
|
?\Ц |
|
|
?\Д |
|
|
?\Е |
|
|
?\Ф |
|
|
?\Г |
|
|
?\Х |
|
|
?\И |
|
|
?\Й |
|
|
?\К |
|
|
?\Л |
|
|
?\М |
|
|
?\Н |
|
|
?\О |
|
|
?\П |
|
|
?\Я |
|
|
?\Р |
|
|
?\С |
|
|
?\Т |
|
|
?\У |
|
|
?\Ж |
|
|
?\В |
|
|
?\Ь |
|
|
?\Ы |
|
|
?\З |
|
|
?\Ш |
|
|
?\Э |
|
|
?\Щ |
|
|
?\Ч |
|
|
?\Ъ] |
|
|
"Cyrillic KOI8-U (Ukranian) encoding." |
|
|
?U) |
|
|
|
|
|
;; ;; Unicode-based, not cyrillic-iso8859-5 based (and thus incomplete) |
|
|
;; ;; like the standard version. |
|
|
;; (cp-make-coding-system |
|
|
;; ;; The base system uses cyrillic-koi8 as the canonical name, but |
|
|
;; ;; that's not a MIME name. |
|
|
;; koi8-r |
|
|
;; [?\─ |
|
|
;; ?\│ |
|
|
;; ?\┌ |
|
|
;; ?\┐ |
|
|
;; ?\└ |
|
|
;; ?\┘ |
|
|
;; ?\├ |
|
|
;; ?\┤ |
|
|
;; ?\┬ |
|
|
;; ?\┴ |
|
|
;; ?\┼ |
|
|
;; ?\▀ |
|
|
;; ?\▄ |
|
|
;; ?\█ |
|
|
;; ?\▌ |
|
|
;; ?\▐ |
|
|
;; ?\░ |
|
|
;; ?\▒ |
|
|
;; ?\▓ |
|
|
;; ?\⌠ |
|
|
;; ?\■ |
|
|
;; ?\• |
|
|
;; ?\√ |
|
|
;; ?\≈ |
|
|
;; ?\≤ |
|
|
;; ?\≥ |
|
|
;; ?\ |
|
|
;; ?\⌡ |
|
|
;; ?\° |
|
|
;; ?\² |
|
|
;; ?\· |
|
|
;; ?\÷ |
|
|
;; ?\═ |
|
|
;; ?\║ |
|
|
;; ?\╒ |
|
|
;; ?\ё |
|
|
;; ?\╓ |
|
|
;; ?\╔ |
|
|
;; ?\╕ |
|
|
;; ?\╖ |
|
|
;; ?\╗ |
|
|
;; ?\╘ |
|
|
;; ?\╙ |
|
|
;; ?\╚ |
|
|
;; ?\╛ |
|
|
;; ?\╜ |
|
|
;; ?\╝ |
|
|
;; ?\╞ |
|
|
;; ?\╟ |
|
|
;; ?\╠ |
|
|
;; ?\╡ |
|
|
;; ?\Ё |
|
|
;; ?\╢ |
|
|
;; ?\╣ |
|
|
;; ?\╤ |
|
|
;; ?\╥ |
|
|
;; ?\╦ |
|
|
;; ?\╧ |
|
|
;; ?\╨ |
|
|
;; ?\╩ |
|
|
;; ?\╪ |
|
|
;; ?\╫ |
|
|
;; ?\╬ |
|
|
;; ?\© |
|
|
;; ?\ю |
|
|
;; ?\а |
|
|
;; ?\б |
|
|
;; ?\ц |
|
|
;; ?\д |
|
|
;; ?\е |
|
|
;; ?\ф |
|
|
;; ?\г |
|
|
;; ?\х |
|
|
;; ?\и |
|
|
;; ?\й |
|
|
;; ?\к |
|
|
;; ?\л |
|
|
;; ?\м |
|
|
;; ?\н |
|
|
;; ?\о |
|
|
;; ?\п |
|
|
;; ?\я |
|
|
;; ?\р |
|
|
;; ?\с |
|
|
;; ?\т |
|
|
;; ?\у |
|
|
;; ?\ж |
|
|
;; ?\в |
|
|
;; ?\ь |
|
|
;; ?\ы |
|
|
;; ?\з |
|
|
;; ?\ш |
|
|
;; ?\э |
|
|
;; ?\щ |
|
|
;; ?\ч |
|
|
;; ?\ъ |
|
|
;; ?\Ю |
|
|
;; ?\А |
|
|
;; ?\Б |
|
|
;; ?\Ц |
|
|
;; ?\Д |
|
|
;; ?\Е |
|
|
;; ?\Ф |
|
|
;; ?\Г |
|
|
;; ?\Х |
|
|
;; ?\И |
|
|
;; ?\Й |
|
|
;; ?\К |
|
|
;; ?\Л |
|
|
;; ?\М |
|
|
;; ?\Н |
|
|
;; ?\О |
|
|
;; ?\П |
|
|
;; ?\Я |
|
|
;; ?\Р |
|
|
;; ?\С |
|
|
;; ?\Т |
|
|
;; ?\У |
|
|
;; ?\Ж |
|
|
;; ?\В |
|
|
;; ?\Ь |
|
|
;; ?\Ы |
|
|
;; ?\З |
|
|
;; ?\Ш |
|
|
;; ?\Э |
|
|
;; ?\Щ |
|
|
;; ?\Ч |
|
|
;; ?\Ъ] |
|
|
;; "Unicode-based KOI8 encoding for Cyrillic (MIME: KOI8-R)" |
|
|
;; ?R) |
|
|
;; (cp-fix-safe-chars 'cyrillic-koi8) |
|
|
;; (define-coding-system-alias 'cyrillic-koi8 'koi8-r) |
|
|
;; (define-coding-system-alias 'koi8 'koi8-r) |
|
|
;; (define-coding-system-alias 'cp878 'koi8-r) |
|
|
|
|
|
(cp-make-coding-system |
|
3768 |
koi8-t ; used by glibc for tg_TJ |
koi8-t ; used by glibc for tg_TJ |
3769 |
[?\қ |
[?\қ |
3770 |
?\ғ |
?\ғ |
3899 |
|
|
3900 |
;; Online final ISO draft: |
;; Online final ISO draft: |
3901 |
|
|
3902 |
;; http://www.egt.ie/standards/iso8859/fdis8859-16-en.pdf |
;; http://www.evertype.com/standards/iso8859/fdis8859-16-en.pdf |
3903 |
|
|
3904 |
;; Equivalent National Standard: |
;; Equivalent National Standard: |
3905 |
;; Romanian Standard SR 14111:1998, Romanian Standards Institution |
;; Romanian Standard SR 14111:1998, Romanian Standards Institution |
4306 |
(define-coding-system-alias 'iso-8859-13 'iso-latin-7) |
(define-coding-system-alias 'iso-8859-13 'iso-latin-7) |
4307 |
(define-coding-system-alias 'latin-7 'iso-latin-7) |
(define-coding-system-alias 'latin-7 'iso-latin-7) |
4308 |
|
|
4309 |
|
;; Fixme: check on the C1 characters which libiconv includes. They |
4310 |
|
;; are reproduced below, but are probably wrong. I can't find an |
4311 |
|
;; official definition of georgian-ps. |
4312 |
(cp-make-coding-system |
(cp-make-coding-system |
4313 |
georgian-ps ; used by glibc for ka_GE |
georgian-ps ; used by glibc for ka_GE |
4314 |
[?\ |
[?\ |
4706 |
?\¤ |
?\¤ |
4707 |
?\■ |
?\■ |
4708 |
?\ ]) |
?\ ]) |
4709 |
;; Original ;name for cp1125, says Serhii Hlodin <hlodin@lutsk.bank.gov.ua> |
(define-coding-system-alias 'ruscii 'cp1125) |
4710 |
|
;; Original name for cp1125, says Serhii Hlodin <hlodin@lutsk.bank.gov.ua> |
4711 |
(define-coding-system-alias 'cp866u 'cp1125) |
(define-coding-system-alias 'cp866u 'cp1125) |
4712 |
|
(coding-system-put 'cp1125 'mime-charset nil) |
4713 |
|
|
4714 |
|
;; Suggested by Anton Zinoviev <anton@lml.bas.bg>: Bulgarian DOS |
4715 |
|
;; codepage. Table at |
4716 |
|
;; <URL:http://czyborra.com/charsets/bulgarian-mik.txt.gz>. |
4717 |
|
(cp-make-coding-system |
4718 |
|
mik |
4719 |
|
[?А ?Б ?В ?Г ?Д ?Е ?Ж ?З ?И ?Й ?К ?Л ?М ?Н ?О ?П ?Р ?С ?Т ?У ?Ф ?Х ?Ц |
4720 |
|
?Ч ?Ш ?Щ ?Ъ ?Ы ?Ь ?Э ?Ю ?Я ?а ?б ?в ?г ?д ?е ?ж ?з ?и ?й ?к ?л ?м ?н |
4721 |
|
?о ?п ?р ?с ?т ?у ?ф ?х ?ц ?ч ?ш ?щ ?ъ ?ы ?ь ?э ?ю ?я ?└ ?┴ ?┬ ?├ ?─ |
4722 |
|
?┼ ?╣ ?║ ?╚ ?╔ ?╩ ?╦ ?╠ ?═ ?╬ ?┐ ?░ ?▒ ?▓ ?│ ?┤ ?№ ?§ ?╗ ?╝ ?┘ ?┌ ?█ |
4723 |
|
?▄ ?▌ ?▐ ?▀ ?α ?β ?Γ ?π ?Σ ?σ ?μ ?τ ?Φ ?Θ ?Ω ?δ ?∞ ?∅ ?∈ ?∩ ?≡ ?± ?≥ |
4724 |
|
?≤ ?⌠ ?⌡ ?÷ ?≈ ?° ?∙ ?· ?√ ?ⁿ ?² ?■ ? ]) |
4725 |
|
(coding-system-put 'mik 'mime-charset nil) |
4726 |
|
|
4727 |
|
;; Suggested by Anton Zinoviev <anton@lml.bas.bg>: similar to CP1251 |
4728 |
|
;; and used for some non-Slavic Cyrillic languages. Table found at |
4729 |
|
;; <URL:ftp://ftp.logic.ru/pub/logic/linux/cyr-asian/PT154>. See also |
4730 |
|
;; <URL:http://lists.w3.org/Archives/Public/ietf-charsets/2002AprJun/0092.html, |
4731 |
|
;; which suggests it's used in an Asian Cyrillic context. |
4732 |
|
(cp-make-coding-system |
4733 |
|
pt154 |
4734 |
|
[?Җ ?Ғ ?Ӯ ?ғ ?„ ?… ?Ҷ ?Ү ?Ҳ ?ү ?Ҡ ?Ӣ ?Ң ?Қ ?Һ ?Ҹ ?җ ?‘ ?’ ?“ ?” ?• ?– |
4735 |
|
?— ?ҳ ?ҷ ?ҡ ?ӣ ?ң ?қ ?һ ?ҹ ? ?Ў ?ў ?Ј ?Ө ?Ҙ ?Ұ ?§ ?Ё ?© ?Ә ?\« ?¬ ?ӯ |
4736 |
|
?® ?Ҝ ?° ?ұ ?І ?і ?ҙ ?ө ?¶ ?· ?ё ?№ ?ә ?» ?ј ?Ҫ ?ҫ ?ҝ ?А ?Б ?В ?Г ?Д |
4737 |
|
?Е ?Ж ?З ?И ?Й ?К ?Л ?М ?Н ?О ?П ?Р ?С ?Т ?У ?Ф ?Х ?Ц ?Ч ?Ш ?Щ ?Ъ ?Ы |
4738 |
|
?Ь ?Э ?Ю ?Я ?а ?б ?в ?г ?д ?е ?ж ?з ?и ?й ?к ?л ?м ?н ?о ?п ?р ?с ?т |
4739 |
|
?у ?ф ?х ?ц ?ч ?ш ?щ ?ъ ?ы ?ь ?э ?ю ?я]) |
4740 |
|
|
4741 |
|
(cp-make-coding-system |
4742 |
|
iso-8859-11 |
4743 |
|
[nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil |
4744 |
|
nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil |
4745 |
|
? ?ก ?ข ?ฃ ?ค ?ฅ ?ฆ ?ง ?จ ?ฉ ?ช ?ซ ?ฌ ?ญ ?ฎ ?ฏ |
4746 |
|
?ฐ ?ฑ ?ฒ ?ณ ?ด ?ต ?ถ ?ท ?ธ ?น ?บ ?ป ?ผ ?ฝ ?พ ?ฟ |
4747 |
|
?ภ ?ม ?ย ?ร ?ฤ ?ล ?ฦ ?ว ?ศ ?ษ ?ส ?ห ?ฬ ?อ ?ฮ ?ฯ |
4748 |
|
?ะ ?ั ?า ?ำ ?ิ ?ี ?ึ ?ื ?ุ ?ู ?ฺ nil nil nil nil ?฿ |
4749 |
|
?เ ?แ ?โ ?ใ ?ไ ?ๅ ?ๆ ?็ ?่ ?้ ?๊ ?๋ ?์ ?ํ ?๎ ?๏ |
4750 |
|
?๐ ?๑ ?๒ ?๓ ?๔ ?๕ ?๖ ?๗ ?๘ ?๙ ?๚ ?๛ nil nil nil nil] |
4751 |
|
"ISO-8859-11. This is `thai-tis620' with the addition of no-break-space.") |
4752 |
|
|
4753 |
(dotimes (i 8) |
(dotimes (i 8) |
4754 |
(let ((w (intern (format "windows-125%d" i))) |
(let ((w (intern (format "windows-125%d" i))) |