root/trunk/lisp/international/code-pages.el

Revision 4220, 49.2 kB (checked in by miyoshi, 9 months ago)

Sync up with Emacs22.2.

Line 
1 ;;; code-pages.el --- coding systems for assorted codepages  -*-coding: utf-8;-*-
2
3 ;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4 ;;   Free Software Foundation, Inc.
5 ;; Copyright (C) 2004, 2005, 2006, 2007, 2008
6 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
7 ;;   Registration Number H14PRO021
8
9 ;; Author: Dave Love <fx@gnu.org>
10 ;; Keywords: i18n
11
12 ;; This file is part of GNU Emacs.
13
14 ;; GNU Emacs is free software; you can redistribute it and/or modify
15 ;; it under the terms of the GNU General Public License as published by
16 ;; the Free Software Foundation; either version 3, or (at your option)
17 ;; any later version.
18
19 ;; GNU Emacs is distributed in the hope that it will be useful,
20 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22 ;; GNU General Public License for more details.
23
24 ;; You should have received a copy of the GNU General Public License
25 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
26 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
27 ;; Boston, MA 02110-1301, USA.
28
29 ;;; Commentary:
30
31 ;; Definitions of miscellaneous 8-bit coding systems based on ASCII
32 ;; (we can't cope properly with EBCDIC, for instance), mainly for PC
33 ;; `code pages'.  They are decoded into Latin-1 and mule-unicode
34 ;; charsets rather than (lossily) into single iso8859 charsets à la
35 ;; codepage.el.  The utility `cp-make-coding-system' derives them from
36 ;; simple tables.
37
38 ;; Those covered are: cp437, cp737, cp720, cp775, cp850, cp851, cp852,
39 ;; cp855, cp857, cp860, cp861, cp862, cp863, cp864, cp865, cp866,
40 ;; cp869, cp874, cp1125, windows-1250, windows-1253, windows-1254,
41 ;; windows-1255, windows-1256, windows-1257, windows-1258, next,
42 ;; iso-8859-6, iso-8859-10, iso-8859-11, iso-8859-16, koi8-t,
43 ;; georgian-ps.  This is meant to include all the single-byte ones
44 ;; relevant to GNU (used in glibc-defined locales); we don't yet get
45 ;; all the multibyte ones in base Emacs.
46
47 ;; Note that various of these can clash with definitions in
48 ;; codepage.el; we try to avoid damage from that.  A few CPs from
49 ;; codepage.el (770, 773, 774) aren't covered (in the absence of
50 ;; translation tables to Unicode).
51
52 ;; Compile this, to avoid loading `ccl' at runtime.
53
54 ;; Although the tables used here aren't very big, it might be worth
55 ;; splitting the file and autoloading the coding systems if/when my
56 ;; (or similar) autoloading code is installed.
57
58 ;;; Code:
59
60 ;; The defsubsts here are just so that language files can use
61 ;; `cp-make-coding-system' and not require functions from this file
62 ;; at runtime.
63
64 (defsubst cp-make-translation-table (v)
65   "Return a translation table made from 128-long vector V.
66 V comprises characters encodable by mule-utf-8."
67   (let ((encoding-vector (make-vector 256 0)))
68     (dotimes (i 128)
69       (aset encoding-vector i i))
70     (dotimes (i 128)
71       (aset encoding-vector (+ i 128) (aref v i)))
72     ;; Add equivalent characters to the encoder so that we can unify
73     ;; on encoding.
74     (let* ((tab (make-translation-table-from-vector encoding-vector))
75            ;; Translation table used for encoding:
76            (encode-table (char-table-extra-slot tab 0)))
77       (map-char-table (lambda (c v)
78                         (if v
79                             (let ((c1 (aref encode-table v)))
80                               (if c1    ; we encode that unicode
81                                   (aset encode-table c c1)))))
82                       ucs-mule-to-mule-unicode)
83       tab)))
84
85 (defsubst cp-valid-codes (v)
86   "Derive a valid-codes list for translation vector V.
87 See `make-coding-system'."
88   (let (pairs
89         (i 128)                         ; index into v
90         (start 0)                       ; start of a valid range
91         (end 127))                      ; end of a valid range
92     (while (< i 256)
93       (if (aref v (- i 128))            ; start or extend range
94           (progn
95             (setq end i)
96             (unless start (setq start i)))
97         (if start
98             (push (cons start end) pairs))
99         (setq start nil))
100       (setq i (1+ i)))
101     (if start (push (cons start end) pairs))
102     (nreverse pairs)))
103
104 ;; Fix things that have been, or might be, done by codepage.el.
105 (eval-after-load "codepage"
106   '(progn
107
108 ;; Semi-dummy version for the stuff in codepage.el which we don't
109 ;; define here.  (Used by mule-diag.)
110 (defun cp-supported-codepages ()
111   "Return an alist of supported codepages.
112
113 Each association in the alist has the form (NNN . CHARSET), where NNN is the
114 codepage number, and CHARSET is the MULE charset which is the closest match
115 for the character set supported by that codepage.
116
117 A codepage NNN is supported if a variable called `cpNNN-decode-table' exists,
118 is a vector, and has a charset property."
119   '(("774" . latin-iso8859-4) ("770" . latin-iso8859-4)
120     ("773" . latin-iso8859-4)))
121
122 ;; A version which doesn't override the coding systems set up by this
123 ;; file.  It could still be used for the few missing ones from
124 ;; codepage.el.
125 (defun codepage-setup (codepage)
126   "Create a coding system cpCODEPAGE to support the IBM codepage CODEPAGE.
127
128 These coding systems are meant for encoding and decoding 8-bit non-ASCII
129 characters used by the IBM codepages, typically in conjunction with files
130 read/written by MS-DOS software, or for display on the MS-DOS terminal."
131   (interactive
132    (let ((completion-ignore-case t)
133          (candidates (cp-supported-codepages)))
134      (list (completing-read "Setup DOS Codepage (default 437): " candidates
135                             nil t nil nil "437"))))
136   (let ((cp (format "cp%s" codepage)))
137     (unless (coding-system-p (intern cp))
138       (cp-make-coding-systems-for-codepage
139        cp (cp-charset-for-codepage cp) (cp-offset-for-codepage cp))))))
140 )                                       ; eval-after-load
141
142 ;; Macro to allow ccl compilation at byte-compile time, avoiding
143 ;; loading ccl.
144 ;;;###autoload
145 (defmacro cp-make-coding-system (name v &optional doc-string mnemonic)
146   "Make coding system NAME for and 8-bit, extended-ASCII character set.
147 V is a 128-long vector of characters to translate the upper half of
148 the character set.  DOC-STRING and MNEMONIC are used as the
149 corresponding args of `make-coding-system'.  If MNEMONIC isn't given,
150 ?* is used.
151 Return an updated `non-iso-charset-alist'."
152   (let* ((encoder (intern (format "encode-%s" name)))
153          (decoder (intern (format "decode-%s" name)))
154          (ccl-decoder
155           (ccl-compile
156            `(4
157              ((loop
158                (read r1)
159                (if (r1 < 128) ;; ASCII
160                    (r0 = ,(charset-id 'ascii))
161                  (if (r1 < 160)
162                      (r0 = ,(charset-id 'eight-bit-control))
163                    (r0 = ,(charset-id 'eight-bit-graphic))))
164                (translate-character ,decoder r0 r1)
165                ;; Allow fragmentation on decoding -- relevant for
166                ;; Cyrillic, Greek and, possibly Arabic and Hebrew.
167                (translate-character utf-translation-table-for-decode r0 r1)
168                (write-multibyte-character r0 r1)
169                (repeat))))))
170          (ccl-encoder
171           (ccl-compile
172            `(1
173              ((loop
174                (read-multibyte-character r0 r1)
175                (translate-character ,encoder r0 r1)
176                (if (r0 != ,(charset-id 'ascii))
177                    (if (r0 != ,(charset-id 'eight-bit-graphic))
178                        (if (r0 != ,(charset-id 'eight-bit-control))
179                            (r1 = ??))))
180                (write-repeat r1)))))))
181     `(let ((translation-table (cp-make-translation-table ,v))
182            (codes (cp-valid-codes ,v)))
183        (define-translation-table ',decoder translation-table)
184        (define-translation-table ',encoder
185          (char-table-extra-slot translation-table 0))
186        (make-coding-system
187         ',name 4 ,(or mnemonic ?*)
188         (or ,doc-string (format "%s encoding" ',name))
189         (cons ,ccl-decoder ,ccl-encoder)
190         (list (cons 'safe-chars (get ',encoder 'translation-table))
191               (cons 'valid-codes codes)
192               (cons 'mime-charset ',name)
193               ;; For Quail translation.  Fixme: this should really be
194               ;; a separate table that only translates the coding
195               ;; system's safe-chars.
196               (cons 'translation-table-for-input 'ucs-mule-to-mule-unicode)))
197        (let ((slot (assq ',name non-iso-charset-alist))
198              (elt (list nil                     ; charset list
199                         ',decoder
200                         (let (l)                ; code range
201                           (dolist (elt (reverse codes))
202                             (push (cdr elt) l)
203                             (push (car elt) l))
204                           (list l)))))
205          (if (not slot)
206              (push (cons ',name elt) non-iso-charset-alist)
207            (setcdr slot elt)
208            non-iso-charset-alist)))))
209
210 (eval-when-compile (defvar non-iso-charset-alist))
211
212 ;; These tables were mostly derived by running somthing like
213 ;; `recode -f cpxxx/..utf-8' on a binary file filled by
214 ;; `(dotimes (i 128) (insert ?? ?\\ (+ 128 i) ?\n))' and then
215 ;; exchanging the ?\ᅵ entries for nil.  iconv was used instead in some
216 ;; cases.
217
218 ;; Fixme: Do better for mode-line mnemonics?
219
220 ;;;###autoload(autoload-coding-system 'cp437 '(require 'code-pages))
221 (cp-make-coding-system
222  cp437
223  [?\Ç
224   ?\ÃŒ
225   ?\é
226   ?\â
227   ?\À
228   ?\à
229   ?\Ã¥
230   ?\ç
231   ?\ê
232   ?\ë
233   ?\Ú
234   ?\ï
235   ?\î
236   ?\ì
237   ?\Ä
238   ?\Ã
239
240   ?\É
241   ?\Ê
242   ?\Æ
243   ?\ÃŽ
244   ?\ö
245   ?\ò
246   ?\û
247   ?\ù
248   ?\ÿ
249   ?\Ö
250   ?\Ü
251   ?\¢
252   ?\£
253   ?\Â¥
254   ?\₧
255   ?\ƒ
256   ?\á
257   ?\í
258   ?\ó
259   ?\ú
260   ?\ñ
261   ?\Ñ
262   ?\ª
263   ?\º
264   ?\¿
265   ?\⌐
266   ?\¬
267   ?\œ
268   ?\ÂŒ
269   ?\¡
270   ?\«
271   ?\»
272   ?\░
273   ?\▒
274   ?\▓
275   ?\│
276   ?\─
277   ?\╡
278   ?\╢
279   ?\╖
280   ?\╕
281   ?\╣
282   ?\║
283   ?\╗
284   ?\╝
285   ?\╜
286   ?\╛
287   ?\┐
288   ?\└
289   ?\┮
290   ?\┬
291   ?\├
292   ?\─
293   ?\┌
294   ?\╞
295   ?\╟
296   ?\╚
297   ?\╔
298   ?\╩
299   ?\╩
300   ?\╠
301   ?\═
302   ?\╬
303   ?\╧
304   ?\╹
305   ?\â•€
306   ?\╥
307   ?\╙
308   ?\╘
309   ?\╒
310   ?\╓
311   ?\╫
312   ?\╪
313   ?\┘
314   ?\┌
315   ?\█
316   ?\▄
317   ?\▌
318   ?\▐
319   ?\▀
320   ?\α
321   ?\ß
322   ?\Γ
323   ?\π
324   ?\Σ
325   ?\σ
326   ?\µ
327   ?\τ
328   ?\Ί
329   ?\Θ
330   ?\Ω
331   ?\ÎŽ
332   ?\∞
333   ?\φ
334   ?\ε
335   ?\∩
336   ?\≡
337   ?\±
338   ?\≥
339   ?\≀
340   ?\⌠
341   ?\⌡
342   ?\÷
343   ?\≈
344   ?\°
345   ?\·
346   ?\•
347   ?\√
348   ?\ⁿ
349   ?\²
350   ?\■
351   ?\ ])
352
353 ;;;###autoload(autoload-coding-system 'cp737 '(require 'code-pages))
354 (cp-make-coding-system
355  cp737
356  [?\Α
357   ?\Β
358   ?\Γ
359   ?\Δ
360   ?\Ε
361   ?\Ζ
362   ?\Η
363   ?\Θ
364   ?\Ι
365   ?\Κ
366   ?\Λ
367   ?\Μ
368   ?\Ν
369   ?\Ξ
370   ?\Ο
371   ?\Π
372   ?\Ρ
373   ?\Σ
374   ?\΀
375   ?\Î¥
376   ?\Ί
377   ?\Χ
378   ?\Κ
379   ?\Ω
380   ?\α
381   ?\β
382   ?\γ
383   ?\ÎŽ
384   ?\ε
385   ?\ζ
386   ?\η
387   ?\Ξ
388   ?\ι
389   ?\κ
390   ?\λ
391   ?\ÎŒ
392   ?\Μ
393   ?\Ο
394   ?\ο
395   ?\π
396   ?\ρ
397   ?\σ
398   ?\ς
399   ?\τ
400   ?\Ï
401
402   ?\φ
403   ?\χ
404   ?\ψ
405   ?\░
406   ?\▒
407   ?\▓
408   ?\│
409   ?\─
410   ?\╡
411   ?\╢
412   ?\╖
413   ?\╕
414   ?\╣
415   ?\║
416   ?\╗
417   ?\╝
418   ?\╜
419   ?\╛
420   ?\┐
421   ?\└
422   ?\┮
423   ?\┬
424   ?\├
425   ?\─
426   ?\┌
427   ?\╞
428   ?\╟
429   ?\╚
430   ?\╔
431   ?\╩
432   ?\╩
433   ?\╠
434   ?\═
435   ?\╬
436   ?\╧
437   ?\╹
438   ?\â•€
439   ?\╥
440   ?\╙
441   ?\╘
442   ?\╒
443   ?\╓
444   ?\╫
445   ?\╪
446   ?\┘
447   ?\┌
448   ?\█
449   ?\▄
450   ?\▌
451   ?\▐
452   ?\▀
453   ?\ω
454   ?\ά
455   ?\έ
456   ?\ή
457   ?\ϊ
458   ?\ί
459   ?\ό
460   ?\ύ
461   ?\ϋ
462   ?\ώ
463   ?\Ά
464   ?\Έ
465   ?\Ή
466   ?\Ί
467   ?\Ό
468   ?\Ύ
469   ?\Ώ
470   ?\±
471   ?\≥
472   ?\≀
473   ?\Ϊ
474   ?\Ϋ
475   ?\÷
476   ?\≈
477   ?\°
478   ?\∙
479   ?\·
480   ?\√
481   ?\ⁿ
482   ?\²
483   ?\■
484   ?\ ])
485 (coding-system-put 'cp737 'mime-charset nil) ; not in IANA list
486
487 ;;;###autoload(autoload-coding-system 'cp775 '(require 'code-pages))
488 (cp-make-coding-system
489  cp775
490  [?\Ć
491   ?\ÃŒ
492   ?\é
493   ?\ā
494   ?\À
495   ?\Ä£
496   ?\Ã¥
497   ?\ć
498   ?\ł
499   ?\ē
500   ?\Ŗ
501   ?\ŗ
502   ?\Ä«
503   ?\Ź
504   ?\Ä
505   ?\Ã
506
507   ?\É
508   ?\Ê
509   ?\Æ
510   ?\ō
511   ?\ö
512   ?\Ä¢
513   ?\¢
514   ?\Ś
515   ?\ś
516   ?\Ö
517   ?\Ü
518   ?\Þ
519   ?\£
520   ?\Ø
521   ?\×
522   ?\€
523   ?\Ā
524   ?\Ī
525   ?\ó
526   ?\Å»
527   ?\ÅŒ
528   ?\ź
529   ?\”
530   ?\Š
531   ?\©
532   ?\®
533   ?\¬
534   ?\œ
535   ?\ÂŒ
536   ?\Ł
537   ?\«
538   ?\»
539   ?\░
540   ?\▒
541   ?\▓
542   ?\│
543   ?\─
544   ?\Ą
545   ?\Č
546   ?\Ę
547   ?\Ė
548   ?\╣
549   ?\║
550   ?\╗
551   ?\╝
552   ?\Ä®
553   ?\Å 
554   ?\┐
555   ?\└
556   ?\┮
557   ?\┬
558   ?\├
559   ?\─
560   ?\┌
561   ?\Ų
562   ?\Ū
563   ?\╚
564   ?\╔
565   ?\╩
566   ?\╩
567   ?\╠
568   ?\═
569   ?\╬
570   ?\Åœ
571   ?\Ä
572
573   ?\č
574   ?\ę
575   ?\ė
576   ?\į
577   ?\Å¡
578   ?\ų
579   ?\Å«
580   ?\ÅŸ
581   ?\┘
582   ?\┌
583   ?\█
584   ?\▄
585   ?\▌
586   ?\▐
587   ?\▀
588   ?\Ó
589   ?\ß
590   ?\Ō
591   ?\Ń
592   ?\õ
593   ?\Õ
594   ?\µ
595   ?\ń
596   ?\Ķ
597   ?\Ä·
598   ?\Ä»
599   ?\ÄŒ
600   ?\ņ
601   ?\Ē
602   ?\Å
603
604   ?\’
605   ?\­
606   ?\±
607   ?\“
608   ?\Ÿ
609   ?\¶
610   ?\§
611   ?\÷
612   ?\„
613   ?\°
614   ?\∙
615   ?\·
616   ?\¹
617   ?\³
618   ?\²
619   ?\■
620   ?\ ])
621
622 ;;;###autoload(autoload-coding-system 'cp850 '(require 'code-pages))
623 (cp-make-coding-system
624  cp850
625  [?\Ç
626   ?\ÃŒ
627   ?\é
628   ?\â
629   ?\À
630   ?\à
631   ?\Ã¥
632   ?\ç
633   ?\ê
634   ?\ë
635   ?\Ú
636   ?\ï
637   ?\î
638   ?\ì
639   ?\Ä
640   ?\Ã
641
642   ?\É
643   ?\Ê
644   ?\Æ
645   ?\ÃŽ
646   ?\ö
647   ?\ò
648   ?\û
649   ?\ù
650   ?\ÿ
651   ?\Ö
652   ?\Ü
653   ?\Þ
654   ?\£
655   ?\Ø
656   ?\×
657   ?\ƒ
658   ?\á
659   ?\í
660   ?\ó
661   ?\ú
662   ?\ñ
663   ?\Ñ
664   ?\ª
665   ?\º
666   ?\¿
667   ?\®
668   ?\¬
669   ?\œ
670   ?\ÂŒ
671   ?\¡
672   ?\«
673   ?\»
674   ?\░
675   ?\▒
676   ?\▓
677   ?\│
678   ?\─
679   ?\Á
680   ?\Â
681   ?\À
682   ?\©
683   ?\╣
684   ?\║
685   ?\╗
686   ?\╝
687   ?\¢
688   ?\Â¥
689   ?\┐
690   ?\└
691   ?\┮
692   ?\┬
693   ?\├
694   ?\─
695   ?\┌
696   ?\ã
697   ?\Ã
698   ?\╚
699   ?\╔
700   ?\╩
701   ?\╩
702   ?\╠
703   ?\═
704   ?\╬
705   ?\€
706   ?\ð
707   ?\Ð
708   ?\Ê
709   ?\Ë
710   ?\È
711   ?\ı
712   ?\Í
713   ?\Î
714   ?\Ï
715   ?\┘
716   ?\┌
717   ?\█
718   ?\▄
719   ?\Š
720   ?\Ì
721   ?\▀
722   ?\Ó
723   ?\ß
724   ?\Ô
725   ?\Ò
726   ?\õ
727   ?\Õ
728   ?\µ
729   ?\ß
730   ?\Þ
731   ?\Ú
732   ?\Û
733   ?\Ù
734   ?\Ü
735   ?\Ý
736   ?\¯
737   ?\ÂŽ
738   ?\­
739   ?\±
740   ?\‗
741   ?\Ÿ
742   ?\¶
743   ?\§
744   ?\÷
745   ?\ž
746   ?\°
747   ?\š
748   ?\·
749   ?\¹
750   ?\³
751   ?\²
752   ?\■
753   ?\ ])
754
755 ;;;###autoload(autoload-coding-system 'cp851 '(require 'code-pages))
756 (cp-make-coding-system
757  cp851
758  [?\Ç
759   ?\ÃŒ
760   ?\é
761   ?\â
762   ?\À
763   ?\à
764   ?\Ά
765   ?\ç
766   ?\ê
767   ?\ë
768   ?\Ú
769   ?\ï
770   ?\î
771   ?\Έ
772   ?\Ä
773   ?\Ή
774   ?\Ί
775   nil
776   ?\Ό
777   ?\ÃŽ
778   ?\ö
779   ?\Ύ
780   ?\û
781   ?\ù
782   ?\Ώ
783   ?\Ö
784   ?\Ü
785   ?\ά
786   ?\£
787   ?\έ
788   ?\ή
789   ?\ί
790   ?\ϊ
791   ?\ΐ
792   ?\ό
793   ?\ύ
794   ?\Α
795   ?\Β
796   ?\Γ
797   ?\Δ
798   ?\Ε
799   ?\Ζ
800   ?\Η
801   ?\œ
802   ?\Θ
803   ?\Ι
804   ?\«
805   ?\»
806   ?\░
807   ?\▒
808   ?\▓
809   ?\│
810   ?\─
811   ?\Κ
812   ?\Λ
813   ?\Ν
814   ?\Μ
815   ?\╣
816   ?\║
817   ?\╗
818   ?\╝
819   ?\Ξ
820   ?\Ο
821   ?\┐
822   ?\└
823   ?\┮
824   ?\┬
825   ?\├
826   ?\─
827   ?\┌
828   ?\Π
829   ?\Ρ
830   ?\╚
831   ?\╔
832   ?\╩
833   ?\╩
834   ?\╠
835   ?\═
836   ?\╬
837   ?\Σ
838   ?\΀
839   ?\Î¥
840   ?\Ί
841   ?\Χ
842   ?\Κ
843   ?\Ω
844   ?\α
845   ?\β
846   ?\γ
847   ?\┘
848   ?\┌
849   ?\█
850   ?\▄
851   ?\ÎŽ
852   ?\ε
853   ?\▀
854   ?\ζ
855   ?\η
856   ?\Ξ
857   ?\ι
858   ?\κ
859   ?\λ
860   ?\ÎŒ
861   ?\Μ
862   ?\Ο
863   ?\ο
864   ?\π
865   ?\ρ
866   ?\σ
867   ?\ς
868   ?\τ
869   ?\ÂŽ
870   ?\­
871   ?\±
872   ?\Ï
873
874   ?\φ
875   ?\χ
876   ?\§
877   ?\ψ
878   ?\˛
879   ?\°
880   ?\š
881   ?\ω
882   ?\ϋ
883   ?\ΰ
884   ?\ώ
885   ?\■
886   ?\ ])
887
888 ;;;###autoload(autoload-coding-system 'cp852 '(require 'code-pages))
889 (cp-make-coding-system
890  cp852
891  [?\Ç
892   ?\ÃŒ
893   ?\é
894   ?\â
895   ?\À
896   ?\ů
897   ?\ć
898   ?\ç
899   ?\ł
900   ?\ë
901   ?\Ő
902   ?\ő
903   ?\î
904   ?\Ź
905   ?\Ä
906   ?\Ć
907   ?\É
908   ?\Ĺ
909   ?\ĺ
910   ?\ÃŽ
911   ?\ö
912   ?\Äœ
913   ?\ÄŸ
914   ?\Ś
915   ?\ś
916   ?\Ö
917   ?\Ü
918   ?\Å€
919   ?\Å¥
920   ?\Ł
921   ?\×
922   ?\č
923   ?\á
924   ?\í
925   ?\ó
926   ?\ú
927   ?\Ą
928   ?\Ä
929
930   ?\Åœ
931   ?\ÅŸ
932   ?\Ę
933   ?\ę
934   ?\¬
935   ?\ź
936   ?\Č
937   ?\ş
938   ?\«
939   ?\»
940   ?\░
941   ?\▒
942   ?\▓
943   ?\│
944   ?\─
945   ?\Á
946   ?\Â
947   ?\Ě
948   ?\Ş
949   ?\╣
950   ?\║
951   ?\╗
952   ?\╝
953   ?\Å»
954   ?\ÅŒ
955   ?\┐
956   ?\└
957   ?\┮
958   ?\┬
959   ?\├
960   ?\─
961   ?\┌
962   ?\Ă
963   ?\ă
964   ?\╚
965   ?\╔
966   ?\╩
967   ?\╩
968   ?\╠
969   ?\═
970   ?\╬
971   ?\€
972   ?\đ
973   ?\Đ
974   ?\Ď
975   ?\Ë
976   ?\ď
977   ?\Ň
978   ?\Í
979   ?\Î
980   ?\ě
981   ?\┘
982   ?\┌
983   ?\█
984   ?\▄
985   ?\Å¢
986   ?\Å®
987   ?\▀
988   ?\Ó
989   ?\ß
990   ?\Ô
991   ?\Ń
992   ?\ń
993   ?\ň
994   ?\Å 
995   ?\Å¡
996   ?\Ŕ
997   ?\Ú
998   ?\ŕ
999   ?\Ű
1000   ?\Ü
1001   ?\Ý
1002   ?\Å£
1003   ?\ÂŽ
1004   ?\­
1005   ?\˝
1006   ?\˛
1007   ?\ˇ
1008   ?\˘
1009   ?\§
1010   ?\÷
1011   ?\ž
1012   ?\°
1013   ?\š
1014   ?\˙
1015   ?\ű
1016   ?\Ř
1017   ?\ř
1018   ?\■
1019   ?\ ])
1020
1021 ;;;###autoload(autoload-coding-system 'cp855 '(require 'code-pages))
1022 (cp-make-coding-system
1023  cp855
1024  [?\ђ
1025   ?\Ђ
1026   ?\ѓ
1027   ?\Ѓ
1028   ?\ё
1029   ?\Ё
1030   ?\є
1031   ?\Є
1032   ?\ѕ
1033   ?\Ð
1034
1035   ?\і
1036   ?\І
1037   ?\ї
1038   ?\Ї
1039   ?\ј
1040   ?\Ј
1041   ?\љ
1042   ?\Љ
1043   ?\њ
1044   ?\Њ
1045   ?\ћ
1046   ?\Ћ
1047   ?\ќ
1048   ?\Ќ
1049   ?\ў
1050   ?\Ў
1051   ?\џ
1052   ?\Џ
1053   ?\ю
1054   ?\Ю
1055   ?\ъ
1056   ?\Ъ
1057   ?\а
1058   ?\А
1059   ?\б
1060   ?\Б
1061   ?\ц
1062   ?\Њ
1063   ?\ÐŽ
1064   ?\Д
1065   ?\е
1066   ?\Е
1067   ?\ф
1068   ?\Ѐ
1069   ?\г
1070   ?\Г
1071   ?\«
1072   ?\»
1073   ?\░
1074   ?\▒
1075   ?\▓
1076   ?\│
1077   ?\─
1078   ?\Ñ
1079
1080   ?\Ð¥
1081   ?\О
1082   ?\И
1083   ?\╣
1084   ?\║
1085   ?\╗
1086   ?\╝
1087   ?\й
1088   ?\Й
1089   ?\┐
1090   ?\└
1091   ?\┮
1092   ?\┬
1093   ?\├
1094   ?\─
1095   ?\┌
1096   ?\к
1097   ?\К
1098   ?\╚
1099   ?\╔
1100   ?\╩
1101   ?\╩
1102   ?\╠
1103   ?\═
1104   ?\╬
1105   ?\€
1106   ?\л
1107   ?\Л
1108   ?\ÐŒ
1109   ?\М
1110   ?\М
1111   ?\Н
1112   ?\П
1113   ?\О
1114   ?\п
1115   ?\┘
1116   ?\┌
1117   ?\█
1118   ?\▄
1119   ?\П
1120   ?\я
1121   ?\▀
1122   ?\Я
1123   ?\р
1124   ?\Р
1125   ?\с
1126   ?\С
1127   ?\т
1128   ?\Т
1129   ?\у
1130   ?\У
1131   ?\ж
1132   ?\Ж
1133   ?\в
1134   ?\В
1135   ?\ь
1136   ?\Ь
1137   ?\ÂŽ
1138   ?\­
1139   ?\ы
1140   ?\Ы
1141   ?\з
1142   ?\З
1143   ?\ш
1144   ?\К
1145   ?\э
1146   ?\Э
1147   ?\щ
1148   ?\Щ
1149   ?\ч
1150   ?\Ч
1151   nil
1152   ?\■
1153   ?\ ])
1154
1155 ;;;###autoload(autoload-coding-system 'cp857 '(require 'code-pages))
1156 (cp-make-coding-system
1157  cp857
1158  [?\Ç
1159   ?\ÃŒ
1160   ?\é
1161   ?\â
1162   ?\À
1163   ?\à
1164   ?\Ã¥
1165   ?\ç
1166   ?\ê
1167   ?\ë
1168   ?\Ú
1169   ?\ï
1170   ?\î
1171   ?\ı
1172   ?\Ä
1173   ?\Ã
1174
1175   ?\É
1176   ?\Ê
1177   ?\Æ
1178   ?\ÃŽ
1179   ?\ö
1180   ?\ò
1181   ?\û
1182   ?\ù
1183   ?\İ
1184   ?\Ö
1185   ?\Ü
1186   ?\Þ
1187   ?\£
1188   ?\Ø
1189   ?\Ş
1190   ?\ş
1191   ?\á
1192   ?\í
1193   ?\ó
1194   ?\ú
1195   ?\ñ
1196   ?\Ñ
1197   ?\Ğ
1198   ?\ğ
1199   ?\¿
1200   ?\®
1201   ?\¬
1202   ?\œ
1203   ?\ÂŒ
1204   ?\¡
1205   ?\«
1206   ?\»
1207   ?\░
1208   ?\▒
1209   ?\▓
1210   ?\│
1211   ?\─
1212   ?\Á
1213   ?\Â
1214   ?\À
1215   ?\©
1216   ?\╣
1217   ?\║
1218   ?\╗
1219   ?\╝
1220   ?\¢
1221   ?\Â¥
1222   ?\┐
1223   ?\└
1224   ?\┮
1225   ?\┬
1226   ?\├
1227   ?\─
1228   ?\┌
1229   ?\ã
1230   ?\Ã
1231   ?\╚
1232   ?\╔
1233   ?\╩
1234   ?\╩
1235   ?\╠
1236   ?\═
1237   ?\╬
1238   ?\€
1239   ?\º
1240   ?\ª
1241   ?\Ê
1242   ?\Ë
1243   ?\È
1244   nil
1245   ?\Í
1246   ?\Î
1247   ?\Ï
1248   ?\┘
1249   ?\┌
1250   ?\█
1251   ?\▄
1252   ?\Š
1253   ?\Ì
1254   ?\▀
1255   ?\Ó
1256   ?\ß
1257   ?\Ô
1258   ?\Ò
1259   ?\õ
1260   ?\Õ
1261   ?\µ
1262   nil
1263   ?\×
1264   ?\Ú
1265   ?\Û
1266   ?\Ù
1267   ?\ì
1268   ?\ÿ
1269   ?\—
1270   ?\ÂŽ
1271   ?\­
1272   ?\±
1273   nil
1274   ?\Ÿ
1275   ?\¶
1276   ?\§
1277   ?\÷
1278   ?\˛
1279   ?\°
1280   ?\š
1281   ?\˙
1282   ?\¹
1283   ?\³
1284   ?\²
1285   ?\■
1286   ?\ ])
1287
1288 ;;;###autoload(autoload-coding-system 'cp858 '(require 'code-pages))
1289 (cp-make-coding-system
1290  cp858
1291  [?\Ç
1292   ?\ÃŒ
1293   ?\é
1294   ?\â
1295   ?\À
1296   ?\à
1297   ?\Ã¥
1298   ?\ç
1299   ?\ê
1300   ?\ë
1301   ?\Ú
1302   ?\ï
1303   ?\î
1304   ?\ì
1305   ?\Ä
1306   ?\Ã
1307
1308   ?\É
1309   ?\Ê
1310   ?\Æ
1311   ?\ÃŽ
1312   ?\ö
1313   ?\ò
1314   ?\û
1315   ?\ù
1316   ?\ÿ
1317   ?\Ö
1318   ?\Ü
1319   ?\Þ
1320   ?\£
1321   ?\Ø
1322   ?\×
1323   ?\ƒ
1324   ?\á
1325   ?\í
1326   ?\ó
1327   ?\ú
1328   ?\ñ
1329   ?\Ñ
1330   ?\ª
1331   ?\º
1332   ?\¿
1333   ?\®
1334   ?\¬
1335   ?\œ
1336   ?\ÂŒ
1337   ?\¡
1338   ?\«
1339   ?\»
1340   ?\░
1341   ?\▒
1342   ?\▓
1343   ?\│
1344   ?\─
1345   ?\Á
1346   ?\Â
1347   ?\À
1348   ?\©
1349   ?\╣
1350   ?\║
1351   ?\╗
1352   ?\╝
1353   ?\¢
1354   ?\Â¥
1355   ?\┐
1356   ?\└
1357   ?\┮
1358   ?\┬
1359   ?\├
1360   ?\─
1361   ?\┌
1362   ?\ã
1363   ?\Ã
1364   ?\╚
1365   ?\â•