32 |
|
|
33 |
;; Latin-1 (ISO-8859-1) |
;; Latin-1 (ISO-8859-1) |
34 |
|
|
|
(make-coding-system |
|
|
'iso-latin-1 2 ?1 |
|
|
"ISO 2022 based 8-bit encoding for Latin-1 (MIME:ISO-8859-1)." |
|
|
'(ascii latin-iso8859-1 nil nil |
|
|
nil nil nil nil nil nil nil nil nil nil nil nil t) |
|
|
'((safe-charsets ascii latin-iso8859-1) |
|
|
(mime-charset . iso-8859-1))) |
|
|
|
|
|
(define-coding-system-alias 'iso-8859-1 'iso-latin-1) |
|
|
(define-coding-system-alias 'latin-1 'iso-latin-1) |
|
|
|
|
35 |
(set-language-info-alist |
(set-language-info-alist |
36 |
"Latin-1" '((charset ascii latin-iso8859-1) |
"Latin-1" '((charset iso-8859-1) |
37 |
(coding-system iso-latin-1) |
(coding-system iso-latin-1) |
38 |
(coding-priority iso-latin-1) |
(coding-priority iso-latin-1) |
39 |
(nonascii-translation . latin-iso8859-1) |
(nonascii-translation . iso-8859-1) |
40 |
(unibyte-syntax . "latin-1") |
(unibyte-syntax . "latin-1") |
41 |
(unibyte-display . iso-latin-1) |
(unibyte-display . iso-latin-1) |
42 |
(input-method . "latin-1-prefix") |
(input-method . "latin-1-prefix") |
63 |
|
|
64 |
;; Latin-2 (ISO-8859-2) |
;; Latin-2 (ISO-8859-2) |
65 |
|
|
66 |
(make-coding-system |
(define-coding-system 'iso-latin-2 |
67 |
'iso-latin-2 2 ?2 |
"ISO 2022 based 8-bit encoding for Latin-2 (MIME:ISO-8859-2)." |
68 |
"ISO 2022 based 8-bit encoding for Latin-2 (MIME:ISO-8859-2)." |
:coding-type 'charset |
69 |
'(ascii latin-iso8859-2 nil nil |
:mnemonic ?2 |
70 |
nil nil nil nil nil nil nil) |
:charset-list '(iso-8859-2) |
71 |
'((safe-charsets ascii latin-iso8859-2) |
:plist '(mime-charset iso-8859-2)) |
|
(mime-charset . iso-8859-2))) |
|
72 |
|
|
73 |
(define-coding-system-alias 'iso-8859-2 'iso-latin-2) |
(define-coding-system-alias 'iso-8859-2 'iso-latin-2) |
74 |
(define-coding-system-alias 'latin-2 'iso-latin-2) |
(define-coding-system-alias 'latin-2 'iso-latin-2) |
75 |
|
|
76 |
(set-language-info-alist |
(set-language-info-alist |
77 |
"Latin-2" '((charset ascii latin-iso8859-2) |
"Latin-2" '((charset iso-8859-2) |
78 |
(coding-system iso-latin-2) |
(coding-system iso-latin-2) |
79 |
(coding-priority iso-latin-2) |
(coding-priority iso-latin-2) |
80 |
(nonascii-translation . latin-iso8859-2) |
(nonascii-translation . iso-8859-2) |
81 |
(unibyte-syntax . "latin-2") |
(unibyte-syntax . "latin-2") |
82 |
(unibyte-display . iso-latin-2) |
(unibyte-display . iso-latin-2) |
83 |
(input-method . "latin-2-prefix") |
(input-method . "latin-2-prefix") |
96 |
|
|
97 |
;; Latin-3 (ISO-8859-3) |
;; Latin-3 (ISO-8859-3) |
98 |
|
|
99 |
(make-coding-system |
(define-coding-system 'iso-latin-3 |
100 |
'iso-latin-3 2 ?3 |
"ISO 2022 based 8-bit encoding for Latin-3 (MIME:ISO-8859-3)." |
101 |
"ISO 2022 based 8-bit encoding for Latin-3 (MIME:ISO-8859-3)." |
:coding-type 'charset |
102 |
'(ascii latin-iso8859-3 nil nil |
:mnemonic ?3 |
103 |
nil nil nil nil nil nil nil) |
:charset-list '(iso-8859-3) |
104 |
'((safe-charsets ascii latin-iso8859-3) |
:plist '(mime-charset iso-8859-3)) |
|
(mime-charset . iso-8859-3))) |
|
105 |
|
|
106 |
(define-coding-system-alias 'iso-8859-3 'iso-latin-3) |
(define-coding-system-alias 'iso-8859-3 'iso-latin-3) |
107 |
(define-coding-system-alias 'latin-3 'iso-latin-3) |
(define-coding-system-alias 'latin-3 'iso-latin-3) |
108 |
|
|
109 |
(set-language-info-alist |
(set-language-info-alist |
110 |
"Latin-3" '((charset ascii latin-iso8859-3) |
"Latin-3" '((charset iso-8859-3) |
111 |
(coding-system iso-latin-3) |
(coding-system iso-latin-3) |
112 |
(coding-priority iso-latin-3) |
(coding-priority iso-latin-3) |
113 |
(nonascii-translation . latin-iso8859-3) |
(nonascii-translation . iso-8859-3) |
114 |
(unibyte-syntax . "latin-3") |
(unibyte-syntax . "latin-3") |
115 |
(unibyte-display . iso-latin-3) |
(unibyte-display . iso-latin-3) |
116 |
(input-method . "latin-3-prefix") |
(input-method . "latin-3-prefix") |
123 |
|
|
124 |
;; Latin-4 (ISO-8859-4) |
;; Latin-4 (ISO-8859-4) |
125 |
|
|
126 |
(make-coding-system |
(define-coding-system 'iso-latin-4 |
127 |
'iso-latin-4 2 ?4 |
"ISO 2022 based 8-bit encoding for Latin-4 (MIME:ISO-8859-4)." |
128 |
"ISO 2022 based 8-bit encoding for Latin-4 (MIME:ISO-8859-4)." |
:coding-type 'charset |
129 |
'(ascii latin-iso8859-4 nil nil |
:mnemonic ?4 |
130 |
nil nil nil nil nil nil nil) |
:charset-list '(iso-8859-4) |
131 |
'((safe-charsets ascii latin-iso8859-4) |
:plist '(mime-charset iso-8859-4)) |
|
(mime-charset . iso-8859-4))) |
|
132 |
|
|
133 |
(define-coding-system-alias 'iso-8859-4 'iso-latin-4) |
(define-coding-system-alias 'iso-8859-4 'iso-latin-4) |
134 |
(define-coding-system-alias 'latin-4 'iso-latin-4) |
(define-coding-system-alias 'latin-4 'iso-latin-4) |
135 |
|
|
136 |
(set-language-info-alist |
(set-language-info-alist |
137 |
"Latin-4" '((charset ascii latin-iso8859-4) |
"Latin-4" '((charset iso-8859-4) |
138 |
(coding-system iso-8859-4) |
(coding-system iso-8859-4) |
139 |
(coding-priority iso-8859-4) |
(coding-priority iso-8859-4) |
140 |
(nonascii-translation . latin-iso8859-4) |
(nonascii-translation . iso-8859-4) |
141 |
(unibyte-syntax . "latin-4") |
(unibyte-syntax . "latin-4") |
142 |
(unibyte-display . iso-8859-4) |
(unibyte-display . iso-8859-4) |
143 |
(input-method . "latin-4-postfix") |
(input-method . "latin-4-postfix") |
150 |
|
|
151 |
;; Latin-5 (ISO-8859-9) |
;; Latin-5 (ISO-8859-9) |
152 |
|
|
153 |
(make-coding-system |
(define-coding-system 'iso-latin-5 |
154 |
'iso-latin-5 2 ?9 |
"ISO 2022 based 8-bit encoding for Latin-5 (MIME:ISO-8859-9)." |
155 |
"ISO 2022 based 8-bit encoding for Latin-5 (MIME:ISO-8859-9)." |
:coding-type 'charset |
156 |
'(ascii latin-iso8859-9 nil nil |
:mnemonic ?9 |
157 |
nil nil nil nil nil nil nil) |
:charset-list '(iso-8859-9) |
158 |
'((safe-charsets ascii latin-iso8859-9) |
:plist '(mime-charset iso-8859-9)) |
|
(mime-charset . iso-8859-9))) |
|
159 |
|
|
160 |
(define-coding-system-alias 'iso-8859-9 'iso-latin-5) |
(define-coding-system-alias 'iso-8859-9 'iso-latin-5) |
161 |
(define-coding-system-alias 'latin-5 'iso-latin-5) |
(define-coding-system-alias 'latin-5 'iso-latin-5) |
162 |
|
|
163 |
(set-language-info-alist |
(set-language-info-alist |
164 |
"Latin-5" '((charset ascii latin-iso8859-9) |
"Latin-5" '((charset iso-8859-9) |
165 |
(coding-system iso-latin-5) |
(coding-system iso-latin-5) |
166 |
(coding-priority iso-latin-5) |
(coding-priority iso-latin-5) |
167 |
(nonascii-translation . latin-iso8859-9) |
(nonascii-translation . iso-8859-9) |
168 |
(unibyte-syntax . "latin-5") |
(unibyte-syntax . "latin-5") |
169 |
(unibyte-display . iso-latin-5) |
(unibyte-display . iso-latin-5) |
170 |
(input-method . "latin-5-postfix") |
(input-method . "latin-5-postfix") |
174 |
|
|
175 |
;; Latin-8 (ISO-8859-14) |
;; Latin-8 (ISO-8859-14) |
176 |
|
|
177 |
(make-coding-system |
(define-coding-system 'iso-latin-8 |
178 |
'iso-latin-8 2 ?W ; `W' for `Welsh', since `C' |
"ISO 2022 based 8-bit encoding for Latin-8 (MIME:ISO-8859-14)." |
179 |
; for `Celtic' is taken. |
:coding-type 'charset |
180 |
"ISO 2022 based 8-bit encoding for Latin-8 (MIME:ISO-8859-14)." |
;; `W' for `Welsh', since `C' for `Celtic' is taken. |
181 |
'(ascii latin-iso8859-14 nil nil |
:mnemonic ?W |
182 |
nil nil nil nil nil nil nil nil nil nil nil nil t) |
:charset-list '(iso-8859-14) |
183 |
'((safe-charsets ascii latin-iso8859-14) |
:plist '(mime-charset iso-8859-14)) |
|
(mime-charset . iso-8859-14))) |
|
184 |
|
|
185 |
(define-coding-system-alias 'iso-8859-14 'iso-latin-8) |
(define-coding-system-alias 'iso-8859-14 'iso-latin-8) |
186 |
(define-coding-system-alias 'latin-8 'iso-latin-8) |
(define-coding-system-alias 'latin-8 'iso-latin-8) |
187 |
|
|
188 |
(set-language-info-alist |
(set-language-info-alist |
189 |
"Latin-8" '((charset ascii latin-iso8859-14) |
"Latin-8" '((charset iso-8859-14) |
190 |
(coding-system iso-latin-8) |
(coding-system iso-latin-8) |
191 |
(coding-priority iso-latin-8) |
(coding-priority iso-latin-8) |
192 |
(nonascii-translation . latin-iso8859-14) |
(nonascii-translation . iso-8859-14) |
193 |
(unibyte-syntax . "latin-8") |
(unibyte-syntax . "latin-8") |
194 |
(unibyte-display . iso-latin-8) |
(unibyte-display . iso-latin-8) |
195 |
(input-method . "latin-8-prefix") |
(input-method . "latin-8-prefix") |
204 |
|
|
205 |
;; Latin-9 (ISO-8859-15) |
;; Latin-9 (ISO-8859-15) |
206 |
|
|
207 |
(make-coding-system |
(define-coding-system 'iso-latin-9 |
208 |
'iso-latin-9 2 ?0 ; `0' for `Latin-0' |
"ISO 2022 based 8-bit encoding for Latin-9 (MIME:ISO-8859-15)." |
209 |
"ISO 2022 based 8-bit encoding for Latin-9 (MIME:ISO-8859-15)." |
:coding-type 'charset |
210 |
'(ascii latin-iso8859-15 nil nil |
;; `0' for `Latin-0' |
211 |
nil nil nil nil nil nil nil nil nil nil nil nil t) |
:mnemonic ?0 |
212 |
'((safe-charsets ascii latin-iso8859-15) |
:charset-list '(iso-8859-15) |
213 |
(mime-charset . iso-8859-15))) |
:plist '(mime-charset iso-8859-15)) |
214 |
|
|
215 |
(define-coding-system-alias 'iso-8859-15 'iso-latin-9) |
(define-coding-system-alias 'iso-8859-15 'iso-latin-9) |
216 |
(define-coding-system-alias 'latin-9 'iso-latin-9) |
(define-coding-system-alias 'latin-9 'iso-latin-9) |
217 |
(define-coding-system-alias 'latin-0 'iso-latin-9) |
(define-coding-system-alias 'latin-0 'iso-latin-9) |
218 |
|
|
219 |
(set-language-info-alist |
(set-language-info-alist |
220 |
"Latin-9" '((charset ascii latin-iso8859-15) |
"Latin-9" '((charset iso-8859-15) |
221 |
(coding-system iso-latin-9) |
(coding-system iso-latin-9) |
222 |
(coding-priority iso-latin-9) |
(coding-priority iso-latin-9) |
223 |
(nonascii-translation . latin-iso8859-15) |
(nonascii-translation . iso-8859-15) |
224 |
(unibyte-syntax . "latin-9") |
(unibyte-syntax . "latin-9") |
225 |
(unibyte-display . iso-latin-9) |
(unibyte-display . iso-latin-9) |
226 |
(input-method . "latin-9-prefix") |
(input-method . "latin-9-prefix") |
235 |
|
|
236 |
(set-language-info-alist |
(set-language-info-alist |
237 |
"German" '((tutorial . "TUTORIAL.de") |
"German" '((tutorial . "TUTORIAL.de") |
238 |
(charset ascii latin-iso8859-1) |
(charset iso-8859-1) |
239 |
(coding-system iso-latin-1) |
(coding-system iso-latin-1) |
240 |
(coding-priority iso-latin-1) |
(coding-priority iso-latin-1) |
241 |
|
(nonascii-translation . iso-8859-1) |
242 |
(input-method . "german-postfix") |
(input-method . "german-postfix") |
|
(nonascii-translation . iso-latin-1) |
|
243 |
(unibyte-syntax . "latin-1") |
(unibyte-syntax . "latin-1") |
244 |
(unibyte-display . iso-latin-1) |
(unibyte-display . iso-latin-1) |
245 |
(sample-text . "\ |
(sample-text . "\ |
253 |
|
|
254 |
(set-language-info-alist |
(set-language-info-alist |
255 |
"French" '((tutorial . "TUTORIAL.fr") |
"French" '((tutorial . "TUTORIAL.fr") |
256 |
(charset ascii latin-iso8859-1) |
(charset iso-8859-1) |
257 |
(coding-system iso-latin-1) |
(coding-system iso-latin-1) |
258 |
(coding-priority iso-latin-1) |
(coding-priority iso-latin-1) |
259 |
(nonascii-translation . latin-iso8859-1) |
(nonascii-translation . iso-8859-1) |
260 |
(unibyte-syntax . "latin-1") |
(unibyte-syntax . "latin-1") |
261 |
(unibyte-display . iso-latin-1) |
(unibyte-display . iso-latin-1) |
262 |
(input-method . "latin-1-prefix") |
(input-method . "latin-1-prefix") |
267 |
'("European")) |
'("European")) |
268 |
|
|
269 |
(set-language-info-alist |
(set-language-info-alist |
270 |
"Slovenian" '((charset . (ascii latin-iso8859-2)) |
"Slovenian" '((charset iso-8859-2) |
271 |
(coding-system . (iso-8859-2)) |
(coding-system . (iso-8859-2)) |
272 |
(coding-priority . (iso-8859-2)) |
(coding-priority . (iso-8859-2)) |
273 |
(nonascii-translation . latin-iso8859-2) |
(nonascii-translation . iso-8859-2) |
274 |
(input-method . "latin-2-postfix") |
(input-method . "latin-2-postfix") |
275 |
(unibyte-syntax . "latin-2") |
(unibyte-syntax . "latin-2") |
276 |
(unibyte-display . iso-8859-2) |
(unibyte-display . iso-8859-2) |
281 |
|
|
282 |
(set-language-info-alist |
(set-language-info-alist |
283 |
"Spanish" '((tutorial . "TUTORIAL.es") |
"Spanish" '((tutorial . "TUTORIAL.es") |
284 |
(charset ascii latin-iso8859-1) |
(charset iso-8859-1) |
285 |
(coding-system iso-latin-1) |
(coding-system iso-latin-1) |
286 |
(coding-priority iso-latin-1) |
(coding-priority iso-latin-1) |
287 |
|
(nonascii-translation . iso-8859-1) |
288 |
(input-method . "spanish-postfix") |
(input-method . "spanish-postfix") |
|
(nonascii-translation . iso-latin-1) |
|
289 |
(unibyte-syntax . "latin-1") |
(unibyte-syntax . "latin-1") |
290 |
(unibyte-display . iso-latin-1) |
(unibyte-display . iso-latin-1) |
291 |
(sample-text . "Spanish (Espa,Aq(Bol) ,A!(BHola!") |
(sample-text . "Spanish (Espa,Aq(Bol) ,A!(BHola!") |
297 |
|
|
298 |
(set-language-info-alist |
(set-language-info-alist |
299 |
"Dutch" '((tutorial . "TUTORIAL.nl") |
"Dutch" '((tutorial . "TUTORIAL.nl") |
300 |
(charset ascii latin-iso8859-1) |
(charset iso-8859-1) |
301 |
(coding-system iso-latin-1) |
(coding-system iso-latin-1) |
302 |
(coding-priority iso-latin-1) |
(coding-priority iso-latin-1) |
303 |
(nonascii-translation . iso-latin-1) |
(nonascii-translation . iso-8859-1) |
304 |
(unibyte-syntax . "latin-1") |
(unibyte-syntax . "latin-1") |
305 |
(unibyte-display . iso-latin-1) |
(unibyte-display . iso-latin-1) |
306 |
(sample-text . "Er is een aantal manieren waarop je dit kan doen") |
(sample-text . "Er is een aantal manieren waarop je dit kan doen") |
315 |
;; "Latin-3" language environment. |
;; "Latin-3" language environment. |
316 |
|
|
317 |
(set-language-info-alist |
(set-language-info-alist |
318 |
"Turkish" '((charset ascii latin-iso8859-9) |
"Turkish" '((charset iso-8859-9) |
319 |
(coding-system iso-latin-5) |
(coding-system iso-latin-5) |
320 |
(coding-priority iso-latin-5) |
(coding-priority iso-latin-5) |
321 |
(nonascii-translation . latin-iso8859-9) |
(nonascii-translation . iso-8859-9) |
322 |
(unibyte-syntax . "latin-5") |
(unibyte-syntax . "latin-5") |
323 |
(unibyte-display . iso-latin-5) |
(unibyte-display . iso-latin-5) |
324 |
(input-method . "turkish-postfix") |
(input-method . "turkish-postfix") |
330 |
;; Keywords: multilingual, Polish |
;; Keywords: multilingual, Polish |
331 |
|
|
332 |
(set-language-info-alist |
(set-language-info-alist |
333 |
"Polish" '((charset . (ascii latin-iso8859-2)) |
"Polish" '((charset . (iso-8859-2)) |
334 |
(coding-system . (iso-8859-2)) |
(coding-system . (iso-8859-2)) |
335 |
(coding-priority . (iso-8859-2)) |
(coding-priority . (iso-8859-2)) |
336 |
|
(nonascii-translation . iso-8859-2) |
337 |
(input-method . "polish-slash") |
(input-method . "polish-slash") |
|
(nonascii-translation . latin-iso8859-2) |
|
338 |
(unibyte-syntax . "latin-2") |
(unibyte-syntax . "latin-2") |
339 |
(unibyte-display . iso-8859-2) |
(unibyte-display . iso-8859-2) |
340 |
(tutorial . "TUTORIAL.pl") |
(tutorial . "TUTORIAL.pl") |
345 |
(set-language-info-alist |
(set-language-info-alist |
346 |
"Welsh" `((coding-system utf-8 latin-8) ; the input method is Unicode-based |
"Welsh" `((coding-system utf-8 latin-8) ; the input method is Unicode-based |
347 |
(coding-priority utf-8 latin-8) |
(coding-priority utf-8 latin-8) |
348 |
|
(nonascii-translation . iso-8859-14) |
349 |
(input-method . "welsh") |
(input-method . "welsh") |
350 |
(documentation . "Support for Welsh, using Unicode.")) |
(documentation . "Support for Welsh, using Unicode.")) |
351 |
'("European")) |
'("European")) |
353 |
(set-language-info-alist |
(set-language-info-alist |
354 |
"Latin-7" `((coding-system latin-7) |
"Latin-7" `((coding-system latin-7) |
355 |
(coding-priority latin-7) |
(coding-priority latin-7) |
356 |
|
(nonascii-translation . iso-8859-13) |
357 |
;; Fixme: input-method |
;; Fixme: input-method |
358 |
(features code-pages) |
(features code-pages) |
359 |
(documentation . "Support for Latin-7, e.g. Latvian, Lithuanian.")) |
(documentation . "Support for Latin-7, e.g. Latvian, Lithuanian.")) |
362 |
(set-language-info-alist |
(set-language-info-alist |
363 |
"Lithuanian" `((coding-system latin-7) |
"Lithuanian" `((coding-system latin-7) |
364 |
(coding-priority latin-7) |
(coding-priority latin-7) |
365 |
|
(nonascii-translation . iso-8859-13) |
366 |
(input-method . "lithuanian-keyboard") |
(input-method . "lithuanian-keyboard") |
367 |
(features code-pages) |
(features code-pages) |
368 |
(documentation . "Support for Lithuanian.")) |
(documentation . "Support for Lithuanian.")) |
371 |
(set-language-info-alist |
(set-language-info-alist |
372 |
"Latvian" `((coding-system latin-7) |
"Latvian" `((coding-system latin-7) |
373 |
(coding-priority latin-7) |
(coding-priority latin-7) |
374 |
|
(nonascii-translation . iso-8859-13) |
375 |
(input-method . "latvian-keyboard") |
(input-method . "latvian-keyboard") |
376 |
(features code-pages) |
(features code-pages) |
377 |
(documentation . "Support for Latvian.")) |
(documentation . "Support for Latvian.")) |
378 |
'("European")) |
'("European")) |
379 |
|
|
380 |
|
|
381 |
;; Definitions for the Mac Roman character sets and coding system. |
(define-coding-system 'mac-roman |
382 |
;; The Mac Roman encoding uses all 128 code points in the range 128 to |
"Mac Roman Encoding (MIME:MACINTOSH)." |
383 |
;; 255 for actual characters. Emacs decodes them to one of the |
:coding-type 'charset |
384 |
;; following character sets. |
:mnemonic ?M |
385 |
;; ascii, latin-iso8859-1, mule-unicode-0100-24ff, |
:charset-list '(mac-roman) |
386 |
;; mule-unicode-2500-33ff, mule-unicode-e000-ffff |
;; per IANA, rfc1345 |
387 |
|
:mime-charset 'macintosh) |
|
(let |
|
|
((encoding-vector (make-vector 256 nil)) |
|
|
(i 0) |
|
|
(vec ;; mac-roman (128..255) -> UCS mapping |
|
|
[ #x00C4 ;; 128:LATIN CAPITAL LETTER A WITH DIAERESIS |
|
|
#x00C5 ;; 129:LATIN CAPITAL LETTER A WITH RING ABOVE |
|
|
#x00C7 ;; 130:LATIN CAPITAL LETTER C WITH CEDILLA |
|
|
#x00C9 ;; 131:LATIN CAPITAL LETTER E WITH ACUTE |
|
|
#x00D1 ;; 132:LATIN CAPITAL LETTER N WITH TILDE |
|
|
#x00D6 ;; 133:LATIN CAPITAL LETTER O WITH DIAERESIS |
|
|
#x00DC ;; 134:LATIN CAPITAL LETTER U WITH DIAERESIS |
|
|
#x00E1 ;; 135:LATIN SMALL LETTER A WITH ACUTE |
|
|
#x00E0 ;; 136:LATIN SMALL LETTER A WITH GRAVE |
|
|
#x00E2 ;; 137:LATIN SMALL LETTER A WITH CIRCUMFLEX |
|
|
#x00E4 ;; 138:LATIN SMALL LETTER A WITH DIAERESIS |
|
|
#x00E3 ;; 139:LATIN SMALL LETTER A WITH TILDE |
|
|
#x00E5 ;; 140:LATIN SMALL LETTER A WITH RING ABOVE |
|
|
#x00E7 ;; 141:LATIN SMALL LETTER C WITH CEDILLA |
|
|
#x00E9 ;; 142:LATIN SMALL LETTER E WITH ACUTE |
|
|
#x00E8 ;; 143:LATIN SMALL LETTER E WITH GRAVE |
|
|
#x00EA ;; 144:LATIN SMALL LETTER E WITH CIRCUMFLEX |
|
|
#x00EB ;; 145:LATIN SMALL LETTER E WITH DIAERESIS |
|
|
#x00ED ;; 146:LATIN SMALL LETTER I WITH ACUTE |
|
|
#x00EC ;; 147:LATIN SMALL LETTER I WITH GRAVE |
|
|
#x00EE ;; 148:LATIN SMALL LETTER I WITH CIRCUMFLEX |
|
|
#x00EF ;; 149:LATIN SMALL LETTER I WITH DIAERESIS |
|
|
#x00F1 ;; 150:LATIN SMALL LETTER N WITH TILDE |
|
|
#x00F3 ;; 151:LATIN SMALL LETTER O WITH ACUTE |
|
|
#x00F2 ;; 152:LATIN SMALL LETTER O WITH GRAVE |
|
|
#x00F4 ;; 153:LATIN SMALL LETTER O WITH CIRCUMFLEX |
|
|
#x00F6 ;; 154:LATIN SMALL LETTER O WITH DIAERESIS |
|
|
#x00F5 ;; 155:LATIN SMALL LETTER O WITH TILDE |
|
|
#x00FA ;; 156:LATIN SMALL LETTER U WITH ACUTE |
|
|
#x00F9 ;; 157:LATIN SMALL LETTER U WITH GRAVE |
|
|
#x00FB ;; 158:LATIN SMALL LETTER U WITH CIRCUMFLEX |
|
|
#x00FC ;; 159:LATIN SMALL LETTER U WITH DIAERESIS |
|
|
#x2020 ;; 160:DAGGER |
|
|
#x00B0 ;; 161:DEGREE SIGN |
|
|
#x00A2 ;; 162:CENT SIGN |
|
|
#x00A3 ;; 163:POUND SIGN |
|
|
#x00A7 ;; 164:SECTION SIGN |
|
|
#x2022 ;; 165:BULLET |
|
|
#x00B6 ;; 166:PILCROW SIGN |
|
|
#x00DF ;; 167:LATIN SMALL LETTER SHARP S |
|
|
#x00AE ;; 168:REGISTERED SIGN |
|
|
#x00A9 ;; 169:COPYRIGHT SIGN |
|
|
#x2122 ;; 170:TRADE MARK SIGN |
|
|
#x00B4 ;; 171:ACUTE ACCENT |
|
|
#x00A8 ;; 172:DIAERESIS |
|
|
#x2260 ;; 173:NOT EQUAL TO |
|
|
#x00C6 ;; 174:LATIN CAPITAL LETTER AE |
|
|
#x00D8 ;; 175:LATIN CAPITAL LETTER O WITH STROKE |
|
|
#x221E ;; 176:INFINITY |
|
|
#x00B1 ;; 177:PLUS-MINUS SIGN |
|
|
#x2264 ;; 178:LESS-THAN OR EQUAL TO |
|
|
#x2265 ;; 179:GREATER-THAN OR EQUAL TO |
|
|
#x00A5 ;; 180:YEN SIGN |
|
|
#x00B5 ;; 181:MICRO SIGN |
|
|
#x2202 ;; 182:PARTIAL DIFFERENTIAL |
|
|
#x2211 ;; 183:N-ARY SUMMATION |
|
|
#x220F ;; 184:N-ARY PRODUCT |
|
|
#x03C0 ;; 185:GREEK SMALL LETTER PI |
|
|
#x222B ;; 186:INTEGRAL |
|
|
#x00AA ;; 187:FEMININE ORDINAL INDICATOR |
|
|
#x00BA ;; 188:MASCULINE ORDINAL INDICATOR |
|
|
#x03A9 ;; 189:GREEK CAPITAL LETTER OMEGA |
|
|
#x00E6 ;; 190:LATIN SMALL LETTER AE |
|
|
#x00F8 ;; 191:LATIN SMALL LETTER O WITH STROKE |
|
|
#x00BF ;; 192:INVERTED QUESTION MARK |
|
|
#x00A1 ;; 193:INVERTED EXCLAMATION MARK |
|
|
#x00AC ;; 194:NOT SIGN |
|
|
#x221A ;; 195:SQUARE ROOT |
|
|
#x0192 ;; 196:LATIN SMALL LETTER F WITH HOOK |
|
|
#x2248 ;; 197:ALMOST EQUAL TO |
|
|
#x2206 ;; 198:INCREMENT |
|
|
#x00AB ;; 199:LEFT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
|
#x00BB ;; 200:RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
|
#x2026 ;; 201:HORIZONTAL ELLIPSIS |
|
|
#x00A0 ;; 202:NO-BREAK SPACE |
|
|
#x00C0 ;; 203:LATIN CAPITAL LETTER A WITH GRAVE |
|
|
#x00C3 ;; 204:LATIN CAPITAL LETTER A WITH TILDE |
|
|
#x00D5 ;; 205:LATIN CAPITAL LETTER O WITH TILDE |
|
|
#x0152 ;; 206:LATIN CAPITAL LIGATURE OE |
|
|
#x0153 ;; 207:LATIN SMALL LIGATURE OE |
|
|
#x2013 ;; 208:EN DASH |
|
|
#x2014 ;; 209:EM DASH |
|
|
#x201C ;; 210:LEFT DOUBLE QUOTATION MARK |
|
|
#x201D ;; 211:RIGHT DOUBLE QUOTATION MARK |
|
|
#x2018 ;; 212:LEFT SINGLE QUOTATION MARK |
|
|
#x2019 ;; 213:RIGHT SINGLE QUOTATION MARK |
|
|
#x00F7 ;; 214:DIVISION SIGN |
|
|
#x25CA ;; 215:LOZENGE |
|
|
#x00FF ;; 216:LATIN SMALL LETTER Y WITH DIAERESIS |
|
|
#x0178 ;; 217:LATIN CAPITAL LETTER Y WITH DIAERESIS |
|
|
#x2044 ;; 218:FRACTION SLASH |
|
|
#x20AC ;; 219:EURO SIGN |
|
|
#x2039 ;; 220:SINGLE LEFT-POINTING ANGLE QUOTATION MARK |
|
|
#x203A ;; 221:SINGLE RIGHT-POINTING ANGLE QUOTATION MARK |
|
|
#xFB01 ;; 222:LATIN SMALL LIGATURE FI |
|
|
#xFB02 ;; 223:LATIN SMALL LIGATURE FL |
|
|
#x2021 ;; 224:DOUBLE DAGGER |
|
|
#x00B7 ;; 225:MIDDLE DOT |
|
|
#x201A ;; 226:SINGLE LOW-9 QUOTATION MARK |
|
|
#x201E ;; 227:DOUBLE LOW-9 QUOTATION MARK |
|
|
#x2030 ;; 228:PER MILLE SIGN |
|
|
#x00C2 ;; 229:LATIN CAPITAL LETTER A WITH CIRCUMFLEX |
|
|
#x00CA ;; 230:LATIN CAPITAL LETTER E WITH CIRCUMFLEX |
|
|
#x00C1 ;; 231:LATIN CAPITAL LETTER A WITH ACUTE |
|
|
#x00CB ;; 232:LATIN CAPITAL LETTER E WITH DIAERESIS |
|
|
#x00C8 ;; 233:LATIN CAPITAL LETTER E WITH GRAVE |
|
|
#x00CD ;; 234:LATIN CAPITAL LETTER I WITH ACUTE |
|
|
#x00CE ;; 235:LATIN CAPITAL LETTER I WITH CIRCUMFLEX |
|
|
#x00CF ;; 236:LATIN CAPITAL LETTER I WITH DIAERESIS |
|
|
#x00CC ;; 237:LATIN CAPITAL LETTER I WITH GRAVE |
|
|
#x00D3 ;; 238:LATIN CAPITAL LETTER O WITH ACUTE |
|
|
#x00D4 ;; 239:LATIN CAPITAL LETTER O WITH CIRCUMFLEX |
|
|
#xF8FF ;; 240:Apple logo |
|
|
#x00D2 ;; 241:LATIN CAPITAL LETTER O WITH GRAVE |
|
|
#x00DA ;; 242:LATIN CAPITAL LETTER U WITH ACUTE |
|
|
#x00DB ;; 243:LATIN CAPITAL LETTER U WITH CIRCUMFLEX |
|
|
#x00D9 ;; 244:LATIN CAPITAL LETTER U WITH GRAVE |
|
|
#x0131 ;; 245:LATIN SMALL LETTER DOTLESS I |
|
|
#x02C6 ;; 246:MODIFIER LETTER CIRCUMFLEX ACCENT |
|
|
#x02DC ;; 247:SMALL TILDE |
|
|
#x00AF ;; 248:MACRON |
|
|
#x02D8 ;; 249:BREVE |
|
|
#x02D9 ;; 250:DOT ABOVE |
|
|
#x02DA ;; 251:RING ABOVE |
|
|
#x00B8 ;; 252:CEDILLA |
|
|
#x02DD ;; 253:DOUBLE ACUTE ACCENT |
|
|
#x02DB ;; 254:OGONEK |
|
|
#x02C7 ;; 255:CARON |
|
|
]) |
|
|
translation-table) |
|
|
(while (< i 128) |
|
|
(aset encoding-vector i i) |
|
|
(setq i (1+ i))) |
|
|
(while (< i 256) |
|
|
(aset encoding-vector i |
|
|
(decode-char 'ucs (aref vec (- i 128)))) |
|
|
(setq i (1+ i))) |
|
|
(setq translation-table |
|
|
(make-translation-table-from-vector encoding-vector)) |
|
|
(define-translation-table 'mac-roman-decoder translation-table) |
|
|
(define-translation-table 'mac-roman-encoder |
|
|
(char-table-extra-slot translation-table 0))) |
|
|
|
|
|
(define-ccl-program decode-mac-roman |
|
|
`(4 |
|
|
((loop |
|
|
(read r1) |
|
|
(if (r1 < 128) ;; ASCII |
|
|
(r0 = ,(charset-id 'ascii)) |
|
|
(if (r1 < 160) |
|
|
(r0 = ,(charset-id 'eight-bit-control)) |
|
|
(r0 = ,(charset-id 'eight-bit-graphic)))) |
|
|
(translate-character mac-roman-decoder r0 r1) |
|
|
(write-multibyte-character r0 r1) |
|
|
(repeat)))) |
|
|
"CCL program to decode Mac Roman") |
|
|
|
|
|
(define-ccl-program encode-mac-roman |
|
|
`(1 |
|
|
((loop |
|
|
(read-multibyte-character r0 r1) |
|
|
(translate-character mac-roman-encoder r0 r1) |
|
|
(write-repeat r1)))) |
|
|
"CCL program to encode Mac Roman") |
|
|
|
|
|
(make-coding-system |
|
|
'mac-roman 4 ?M |
|
|
"Mac Roman Encoding (MIME:MACINTOSH)." |
|
|
'(decode-mac-roman . encode-mac-roman) |
|
|
'((safe-chars . mac-roman-encoder) |
|
|
(valid-codes (0 . 255)) |
|
|
(mime-charset . macintosh))) ; per IANA, rfc1345 |
|
388 |
|
|
389 |
(defconst diacritic-composition-pattern "\\C^\\c^+") |
(defconst diacritic-composition-pattern "\\C^\\c^+") |
390 |
|
|
434 |
(let ((patterns '(("\\C^\\c^+" . diacritic-composition-function)))) |
(let ((patterns '(("\\C^\\c^+" . diacritic-composition-function)))) |
435 |
(let ((c #x300)) |
(let ((c #x300)) |
436 |
(while (<= c #x362) |
(while (<= c #x362) |
437 |
(aset composition-function-table (decode-char 'ucs c) patterns) |
(aset composition-function-table (decode-char 'unicode c) patterns) |
438 |
(setq c (1+ c))) |
(setq c (1+ c))) |
439 |
(setq c #x20d0) |
(setq c #x20d0) |
440 |
(while (<= c #x20e3) |
(while (<= c #x20e3) |
441 |
(aset composition-function-table (decode-char 'ucs c) patterns) |
(aset composition-function-table (decode-char 'unicode c) patterns) |
442 |
(setq c (1+ c))))) |
(setq c (1+ c))))) |
443 |
|
|
444 |
(provide 'european) |
(provide 'european) |