1;; CHARSET.tbl -- List of charset definitions			-*- lisp -*-
2;; Copyright (C) 2003, 2004
3;;   National Institute of Advanced Industrial Science and Technology (AIST)
4;;   Registration Number H15PRO112
5
6;; This file is part of the m17n database; a sub-part of the m17n
7;; library.
8
9;; The m17n library is free software; you can redistribute it and/or
10;; modify it under the terms of the GNU Lesser General Public License
11;; as published by the Free Software Foundation; either version 2.1 of
12;; the License, or (at your option) any later version.
13
14;; The m17n library is distributed in the hope that it will be useful,
15;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17;; Lesser General Public License for more details.
18
19;; You should have received a copy of the GNU Lesser General Public
20;; License along with the m17n library; if not, write to the Free
21;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22;; Boston, MA 02110-1301, USA.
23
24;;; <li> CHARSET.tbl
25;;;
26;;; List of charset definitions.  See the section @ref mdbCharsetList
27;;; for the format of this file.
28
29;; Each element has this form:
30;;	(CHARSET-NAME KEYWORD1 VALUE1 KEYWORD2 VALUE2 ...)
31;; Valid KEYWORDs are:
32;;  method -- map, unify, offset, subset, or superset (default map)
33;;  dimension -- 1, 2, 3, or 4 (default 1)
34;;  min-range -- unsigned (default 0x00)
35;;  max-range -- unsigned (default 0xFF, 0xFFFF, 0xFFFFFF, or 0xFFFFFFFF)
36;;  min-code -- integer (default min-range)
37;;  max-code -- integer (default max-range)
38;;  ascii-compatible -- nil or t (default nil)
39;;  final-byte -- 0 or 32..127 (default 0)
40;;  revision -- 0..127 (default 0)
41;;  min-char -- integer (default 0)
42;;  mapfile -- mapping file name (method must be map or unify)
43;;  parents -- list of charset symbols (method must be subset or superset)
44;;  subset-offset --
45;;  define-coding -- nil or t (default nil, dimension must be 1,
46;;	and code-range must be "\x00\xFF")
47;;  aliases -- list of alias name symbols
48;;
49
50;; ISO-8859 series.
51(iso-8859-1-rhp
52 method subset
53 dimension 1
54 parents (iso-8859-1)
55 min-range 0x20
56 max-range 0x7F
57 final-byte ?A
58 subset-offset -128)
59(iso-8859-2
60 dimension 1
61 ascii-compatible t
62 mapfile "8859-2.map"
63 define-coding t)
64(iso-8859-2-rhp
65 method subset
66 dimension 1
67 parents (iso-8859-2)
68 min-range 0x20
69 max-range 0x7F
70 final-byte ?B
71 subset-offset -128)
72(iso-8859-3
73 dimension 1
74 ascii-compatible t
75 mapfile "8859-3.map"
76 define-coding t)
77(iso-8859-3-rhp
78 method subset
79 dimension 1
80 parents (iso-8859-3)
81 min-range 0x20
82 max-range 0x7F
83 final-byte ?C
84 subset-offset -128)
85(iso-8859-4
86 dimension 1
87 ascii-compatible t
88 mapfile "8859-4.map"
89 define-coding t)
90(iso-8859-4-rhp
91 method subset
92 dimension 1
93 parents (iso-8859-4)
94 min-range 0x20
95 max-range 0x7F
96 final-byte ?D
97 subset-offset -128)
98(iso-8859-5
99 dimension 1
100 ascii-compatible t
101 mapfile "8859-5.map"
102 define-coding t)
103(iso-8859-5-rhp
104 method subset
105 dimension 1
106 parents (iso-8859-5)
107 min-range 0x20
108 max-range 0x7F
109 final-byte ?L
110 subset-offset -128)
111(iso-8859-6
112 dimension 1
113 ascii-compatible t
114 mapfile "8859-6.map"
115 define-coding t)
116(iso-8859-6-rhp
117 method subset
118 dimension 1
119 parents (iso-8859-6)
120 min-range 0x20
121 max-range 0x7F
122 final-byte ?G
123 subset-offset -128)
124(iso-8859-7
125 dimension 1
126 ascii-compatible t
127 mapfile "8859-7.map"
128 final-byte ?F
129 define-coding t)
130(iso-8859-7-rhp
131 method subset
132 dimension 1
133 parents (iso-8859-7)
134 min-range 0x20
135 max-range 0x7F
136 final-byte ?F
137 subset-offset -128)
138(iso-8859-8
139 dimension 1
140 ascii-compatible t
141 mapfile "8859-8.map"
142 define-coding t)
143(iso-8859-8-rhp
144 method subset
145 dimension 1
146 parents (iso-8859-8)
147 min-range 0x20
148 max-range 0x7F
149 final-byte ?H
150 subset-offset -128)
151(iso-8859-9
152 dimension 1
153 ascii-compatible t
154 mapfile "8859-9.map"
155 define-coding t)
156(iso-8859-9-rhp
157 method subset
158 dimension 1
159 parents (iso-8859-9)
160 min-range 0x20
161 max-range 0x7F
162 final-byte ?M
163 subset-offset -128)
164(iso-8859-10
165 dimension 1
166 ascii-compatible t
167 mapfile "8859-10.map"
168 define-coding t)
169(iso-8859-10-rhp
170 method subset
171 dimension 1
172 parents (iso-8859-10)
173 min-range 0x20
174 max-range 0x7F
175 final-byte ?V
176 subset-offset -128)
177(iso-8859-11
178 dimension 1
179 ascii-compatible t
180 mapfile "8859-11.map"
181 define-coding t)
182(iso-8859-13
183 dimension 1
184 ascii-compatible t
185 mapfile "8859-13.map"
186 define-coding t)
187(iso-8859-14
188 dimension 1
189 ascii-compatible t
190 mapfile "8859-14.map"
191 final-byte ?_
192 define-coding t)
193(iso-8859-14-rhp
194 method subset
195 dimension 1
196 parents (iso-8859-14)
197 min-range 0x20
198 max-range 0x7F
199 final-byte ?_
200 subset-offset -128)
201(iso-8859-15
202 dimension 1
203 ascii-compatible t
204 mapfile "8859-15.map"
205 define-coding t)
206(iso-8859-15-rhp
207 method subset
208 dimension 1
209 parents (iso-8859-15)
210 min-range 0x20
211 max-range 0x7F
212 final-byte ?b
213 subset-offset -128)
214(iso-8859-16
215 dimension 1
216 ascii-compatible t
217 mapfile "8859-16.map"
218 define-coding t)
219
220;; IBM codepage series.
221(ibm037
222 dimension 1
223 mapfile "IBM037.map"
224 define-coding t)
225(ibm038
226 dimension 1
227 mapfile "IBM038.map"
228 define-coding t)
229(ibm256
230 dimension 1
231 mapfile "IBM256.map"
232 define-coding t)
233(ibm273
234 dimension 1
235 mapfile "IBM273.map"
236 define-coding t)
237(ibm274
238 dimension 1
239 mapfile "IBM274.map"
240 define-coding t)
241(ibm275
242 dimension 1
243 mapfile "IBM275.map"
244 define-coding t)
245(ibm277
246 dimension 1
247 mapfile "IBM277.map"
248 define-coding t)
249(ibm278
250 dimension 1
251 mapfile "IBM278.map"
252 define-coding t)
253(ibm280
254 dimension 1
255 mapfile "IBM280.map"
256 define-coding t)
257(ibm281
258 dimension 1
259 mapfile "IBM281.map"
260 define-coding t)
261(ibm284
262 dimension 1
263 mapfile "IBM284.map"
264 define-coding t)
265(ibm285
266 dimension 1
267 mapfile "IBM285.map"
268 define-coding t)
269(ibm290
270 dimension 1
271 mapfile "IBM290.map"
272 define-coding t)
273(ibm297
274 dimension 1
275 mapfile "IBM297.map"
276 define-coding t)
277(ibm420
278 dimension 1
279 mapfile "IBM420.map"
280 define-coding t)
281(ibm423
282 dimension 1
283 mapfile "IBM423.map"
284 define-coding t)
285(ibm424
286 dimension 1
287 mapfile "IBM424.map"
288 define-coding t)
289(ibm437
290 dimension 1
291 ascii-compatible t
292 mapfile "IBM437.map"
293 define-coding t)
294(ibm500
295 dimension 1
296 mapfile "IBM500.map"
297 define-coding t)
298(ibm850
299 dimension 1
300 ascii-compatible t
301 mapfile "IBM850.map"
302 define-coding t)
303(ibm851
304 dimension 1
305 ascii-compatible t
306 mapfile "IBM851.map"
307 define-coding t)
308(ibm852
309 dimension 1
310 ascii-compatible t
311 mapfile "IBM852.map"
312 define-coding t)
313(ibm855
314 dimension 1
315 ascii-compatible t
316 mapfile "IBM855.map"
317 define-coding t)
318(ibm857
319 dimension 1
320 ascii-compatible t
321 mapfile "IBM857.map"
322 define-coding t)
323(ibm860
324 dimension 1
325 ascii-compatible t
326 mapfile "IBM860.map"
327 define-coding t)
328(ibm861
329 dimension 1
330 ascii-compatible t
331 mapfile "IBM861.map"
332 define-coding t)
333(ibm862
334 dimension 1
335 ascii-compatible t
336 mapfile "IBM862.map"
337 define-coding t)
338(ibm863
339 dimension 1
340 ascii-compatible t
341 mapfile "IBM863.map"
342 define-coding t)
343(ibm864
344 dimension 1
345 mapfile "IBM864.map"
346 define-coding t)
347(ibm865
348 dimension 1
349 ascii-compatible t
350 mapfile "IBM865.map"
351 define-coding t)
352(ibm866
353 dimension 1
354 ascii-compatible t
355 mapfile "IBM866.map"
356 define-coding t)
357(ibm868
358 dimension 1
359 ascii-compatible t
360 mapfile "IBM868.map"
361 define-coding t)
362(ibm869
363 dimension 1
364 ascii-compatible t
365 mapfile "IBM869.map"
366 define-coding t)
367(ibm870
368 dimension 1
369 mapfile "IBM870.map"
370 define-coding t)
371(ibm871
372 dimension 1
373 mapfile "IBM871.map"
374 define-coding t)
375(ibm874
376 dimension 1
377 ascii-compatible t
378 mapfile "IBM874.map"
379 define-coding t)
380(ibm875
381 dimension 1
382 mapfile "IBM875.map"
383 define-coding t)
384(ibm880
385 dimension 1
386 mapfile "IBM880.map"
387 define-coding t)
388(ibm891
389 dimension 1
390 ascii-compatible t
391 mapfile "IBM891.map"
392 define-coding t)
393(ibm903
394 dimension 1
395 ascii-compatible t
396 mapfile "IBM903.map"
397 define-coding t)
398(ibm904
399 dimension 1
400 ascii-compatible t
401 mapfile "IBM904.map"
402 define-coding t)
403(ibm905
404 dimension 1
405 mapfile "IBM905.map"
406 define-coding t)
407(ibm918
408 dimension 1
409 mapfile "IBM918.map"
410 define-coding t)
411(ibm1004
412 dimension 1
413 ascii-compatible t
414 mapfile "IBM1004.map"
415 define-coding t)
416(ibm1026
417 dimension 1
418 mapfile "IBM1026.map"
419 define-coding t)
420(ibm1047
421 dimension 1
422 mapfile "IBM1047.map"
423 define-coding t)
424
425;; Microsoft codepage series.
426(cp737
427 dimension 1
428 ascii-compatible t
429 mapfile "CP737.map"
430 define-coding t)
431(cp775
432 dimension 1
433 ascii-compatible t
434 mapfile "CP775.map"
435 define-coding t)
436(cp949-2-byte
437 dimension 2
438 mapfile "CP949-2BYTE.map")
439(cp949
440 method superset
441 dimension 2
442 parents (ascii cp949-2-byte))
443(cp1250
444 dimension 1
445 ascii-compatible t
446 mapfile "CP1250.map"
447 define-coding t)
448(cp1251
449 dimension 1
450 ascii-compatible t
451 mapfile "CP1251.map"
452 define-coding t)
453(cp1252
454 dimension 1
455 ascii-compatible t
456 mapfile "CP1252.map"
457 define-coding t)
458(cp1253
459 dimension 1
460 ascii-compatible t
461 mapfile "CP1253.map"
462 define-coding t)
463(cp1254
464 dimension 1
465 ascii-compatible t
466 mapfile "CP1254.map"
467 define-coding t)
468(cp1255
469 dimension 1
470 ascii-compatible t
471 mapfile "CP1255.map"
472 define-coding t)
473(cp1256
474 dimension 1
475 ascii-compatible t
476 mapfile "CP1256.map"
477 define-coding t)
478(cp1257
479 dimension 1
480 ascii-compatible t
481 mapfile "CP1257.map"
482 define-coding t)
483(cp1258
484 dimension 1
485 ascii-compatible t
486 mapfile "CP1258.map"
487 define-coding t)
488(cp10007
489 dimension 1
490 ascii-compatible t
491 mapfile "CP10007.map"
492 define-coding t)
493
494;; CJK charsets.
495(gb_1988-80
496 dimension 1
497 mapfile "GB_1988-80.map"
498 define-coding t)
499(gb2312.1980
500 method unify
501 dimension 2
502 min-range 0x2121
503 max-range 0x7E7E
504 final-byte ?A
505 mapfile "GB2312.map")
506(gbk
507 method map
508 dimension 2
509 min-range 0x8100
510 max-range 0xFEFF
511 mapfile "GBK.map")
512
513;; GB18030 subsets
514(gb18030-2-byte-bmp
515 method map
516 dimension 2
517 min-range 0x8140
518 max-range 0xFEFE
519 mapfile "GB180302.map")
520(gb18030-4-byte-bmp
521 method map
522 dimension 4
523 min-range 0x81308130
524 max-range 0x8439FE39
525 mapfile "GB180304.map")
526(gb18030-4-byte-smp
527 method offset
528 dimension 4
529 min-range 0x90308130
530 max-range 0xE339FE39
531 min-code 0x90308130
532 max-code 0xE3329A35
533 min-char 0x10000)
534(gb18030-4-byte-ext-1
535 method offset
536 dimension 4
537 min-range 0x84308130
538 max-range 0x8F39FE39
539 min-code 0x8431A530
540 max-code 0x8F39FE39
541 min-char 0x200000)			; .. 0x22484B
542(gb18030-4-byte-ext-2
543 method offset
544 dimension 4
545 min-range 0xE3308130
546 max-range 0xFE39FE39
547 min-code 0xE3329A36
548 max-code 0xFE39FE39
549 min-char 0x22484C)			; ... 0x279F93
550
551(gb18030
552 method superset
553 dimension 4
554 min-code 0
555 max-code 0xFE39FE39
556 parents (ascii gb18030-2-byte-bmp
557		 gb18030-4-byte-bmp gb18030-4-byte-smp
558		 gb18030-4-byte-ext-1 gb18030-4-byte-ext-2))
559
560(big5
561 method unify
562 dimension 2
563 min-range 0xA140
564 max-range 0xFEFE
565 mapfile "BIG5.map")
566(big5-hkscs
567 method unify
568 dimension 2
569 min-range 0x8840
570 max-range 0xFEFE
571 mapfile "BIG5-HKSCS.map")
572(cns11643-1
573 method unify
574 dimension 2
575 min-range 0x2121
576 max-range 0x7E7E
577 final-byte ?G
578 mapfile "CNS-1.map")
579(cns11643-2
580 method unify
581 dimension 2
582 min-range 0x2121
583 max-range 0x7E7E
584 final-byte ?H
585 mapfile "CNS-2.map")
586(cns11643-3
587 method unify
588 dimension 2
589 min-range 0x2121
590 max-range 0x7E7E
591 final-byte ?I
592 mapfile "CNS-3.map")
593(cns11643-4
594 method unify
595 dimension 2
596 min-range 0x2121
597 max-range 0x7E7E
598 final-byte ?J
599 mapfile "CNS-4.map")
600(cns11643-5
601 method unify
602 dimension 2
603 min-range 0x2121
604 max-range 0x7E7E
605 final-byte ?K
606 mapfile "CNS-5.map")
607(cns11643-6
608 method unify
609 dimension 2
610 min-range 0x2121
611 max-range 0x7E7E
612 final-byte ?L
613 mapfile "CNS-6.map")
614(cns11643-7
615 method unify
616 dimension 2
617 min-range 0x2121
618 max-range 0x7E7E
619 final-byte ?M
620 mapfile "CNS-7.map")
621(cns11643-15
622 method unify
623 dimension 2
624 min-range 0x2121
625 max-range 0x7E7E
626 mapfile "CNS-F.map")
627
628(jisx0201
629 dimension 1
630 mapfile "JISX0201.map")
631(jisx0201-roman
632 method subset
633 dimension 1
634 min-range 0x21
635 max-range 0x7E
636 final-byte ?J
637 parents (jisx0201))
638(jisx0201-kana
639 method subset
640 dimension 1
641 min-range 0x21
642 max-range 0x5F
643 final-byte ?I
644 parents (jisx0201)
645 subset-offset -128)
646(jisx0208.1978
647 method unify
648 dimension 2
649 min-range 0x2121
650 max-range 0x7E7E
651 final-byte ?@
652 mapfile "JISX0208.map")
653(jisx0208.1990
654 method unify
655 dimension 2
656 min-range 0x2121
657 max-range 0x7E7E
658 final-byte ?B
659 revision 1
660 mapfile "JISX0208.map")
661(jisx0208.1983
662 method subset
663 dimension 2
664 min-range 0x2121
665 max-range 0x7E7E
666 max-code 0x7424
667 final-byte ?B
668 parents (jisx0208.1990))
669(jisx0212
670 method unify
671 dimension 2
672 min-range 0x2121
673 max-range 0x7E7E
674 final-byte ?D
675 mapfile "JISX0212.map")
676(jisx0213-1
677 method unify
678 dimension 2
679 min-range 0x2121
680 max-range 0x7E7E
681 final-byte ?O
682 mapfile "JISX2131.map")
683(jisx0213-2
684 method unify
685 dimension 2
686 min-range 0x2121
687 max-range 0x7E7E
688 final-byte ?P
689 mapfile "JISX2132.map")
690(jisx0213-a
691 method map
692 dimension 2
693 min-range 0x2121
694 max-range 0x7E7E
695 mapfile "JISX2132.map")
696(jisx0213.2004-1
697 method superset
698 dimension 2
699 min-range 0x2121
700 max-range 0x7E7E
701 parents (jisx0213-1 jisx0213-a)
702 final-byte ?Q)
703
704(ksc5636
705 dimension 1
706 mapfile "KSC5636.map")
707(ksc5601.1987
708 method unify
709 dimension 2
710 min-range 0x2121
711 max-range 0x7E7E
712 final-byte ?C
713 mapfile "KSC5601.map")
714(ksc5601.1992-3
715 method map
716 dimension 2
717 min-range 0x4441
718 max-range 0xF9F3
719 mapfile "JOHAB.map")
720
721;; Miscellaneous
722(koi8
723 dimension 1
724 ascii-compatible t
725 mapfile "KOI-8.map"
726 define-coding t)
727(koi8-r
728 dimension 1
729 ascii-compatible t
730 mapfile "KOI8-R.map"
731 define-coding t)
732(koi8-u
733 dimension 1
734 ascii-compatible t
735 mapfile "KOI8-U.map"
736 define-coding t)
737(koi8-t
738 dimension 1
739 ascii-compatible t
740 mapfile "KOI8-T.map"
741 define-coding t)
742(tis-620
743 dimension 1
744 ascii-compatible t
745 mapfile "TIS-620.map"
746 final-byte ?T
747 define-coding t)
748(viscii
749 dimension 1
750 mapfile "VISCII.map"
751 define-coding t)
752(vscii
753 dimension 1
754 mapfile "VSCII.map"
755 define-coding t)
756(georgian-ps
757 dimension 1
758 mapfile "KA-PS.map"
759 define-coding t)
760(georgian-academy
761 dimension 1
762 mapfile "KA-ACADEMY.map"
763 define-coding t)
764
765;; Unicode subsets.
766(unicode-bmp
767 method offset
768 dimension 2
769 min-range 0x0000
770 max-range 0xFFFF
771 min-char 0x0000)
772(unicode-devanagari
773 method offset
774 dimension 2
775 min-range 0x0900
776 max-range 0x097F
777 min-char 0x0900)
778(unicode-tamil
779 method offset
780 dimension 2
781 min-range 0x0B80
782 max-range 0x0BFF
783 min-char 0x0B80)
784(unicode-malayalam
785 method offset
786 dimension 2
787 min-range 0x0D00
788 max-range 0x0D7F
789 min-char 0x0900)
790(unicode-lao
791 method offset
792 dimension 2
793 min-range 0x0E80
794 max-range 0x0EFF
795 min-char 0x0E80)
796(unicode-tibetan
797 method offset
798 dimension 2
799 min-range 0x0F00
800 max-range 0x0FFF
801 min-char 0x0F00)
802(unicode-ethiopic
803 method offset
804 dimension 2
805 min-range 0x1200
806 max-range 0x13FF
807 min-char 0x1200)
808(unicode-khmer
809 method offset
810 dimension 2
811 min-range 0x1780
812 max-range 0x17FF
813 min-char 0x1780)
814