Mercurial > hg > xemacs-beta
comparison src/mule-charset.c @ 3659:98af8a976fc3
[xemacs-hg @ 2006-11-05 22:31:31 by aidan]
Support specifying fonts for particular character sets in Mule; support
translation to ISO 10646-1 for Mule character sets without an otherwise
matching font; move to a vector of X11-charset-X11-registry instead of a
regex for the charset-registry property.
author | aidan |
---|---|
date | Sun, 05 Nov 2006 22:31:46 +0000 |
parents | d1754e7f0cea |
children | b880e45ea63b |
comparison
equal
deleted
inserted
replaced
3658:0db1aaedbbef | 3659:98af8a976fc3 |
---|---|
33 #include "device.h" | 33 #include "device.h" |
34 #include "faces.h" | 34 #include "faces.h" |
35 #include "lstream.h" | 35 #include "lstream.h" |
36 #include "mule-ccl.h" | 36 #include "mule-ccl.h" |
37 #include "objects.h" | 37 #include "objects.h" |
38 #include "specifier.h" | |
38 | 39 |
39 /* The various pre-defined charsets. */ | 40 /* The various pre-defined charsets. */ |
40 | 41 |
41 Lisp_Object Vcharset_ascii; | 42 Lisp_Object Vcharset_ascii; |
42 Lisp_Object Vcharset_control_1; | 43 Lisp_Object Vcharset_control_1; |
77 }; | 78 }; |
78 | 79 |
79 Lisp_Object Qcharsetp; | 80 Lisp_Object Qcharsetp; |
80 | 81 |
81 /* Qdoc_string, Qdimension, Qchars defined in general.c */ | 82 /* Qdoc_string, Qdimension, Qchars defined in general.c */ |
82 Lisp_Object Qregistry, Qfinal, Qgraphic; | 83 Lisp_Object Qregistries, Qfinal, Qgraphic, Qregistry; |
83 Lisp_Object Qdirection; | 84 Lisp_Object Qdirection; |
84 Lisp_Object Qreverse_direction_charset; | 85 Lisp_Object Qreverse_direction_charset; |
85 Lisp_Object Qshort_name, Qlong_name; | 86 Lisp_Object Qshort_name, Qlong_name; |
86 | 87 |
87 Lisp_Object Qfrom_unicode, Qto_unicode; | 88 Lisp_Object Qfrom_unicode, Qto_unicode; |
126 Lisp_Charset *cs = XCHARSET (obj); | 127 Lisp_Charset *cs = XCHARSET (obj); |
127 | 128 |
128 mark_object (cs->short_name); | 129 mark_object (cs->short_name); |
129 mark_object (cs->long_name); | 130 mark_object (cs->long_name); |
130 mark_object (cs->doc_string); | 131 mark_object (cs->doc_string); |
131 mark_object (cs->registry); | 132 mark_object (cs->registries); |
132 mark_object (cs->ccl_program); | 133 mark_object (cs->ccl_program); |
133 return cs->name; | 134 return cs->name; |
134 } | 135 } |
135 | 136 |
136 static void | 137 static void |
156 CHARSET_DIRECTION (cs) == CHARSET_LEFT_TO_RIGHT ? "l2r" : | 157 CHARSET_DIRECTION (cs) == CHARSET_LEFT_TO_RIGHT ? "l2r" : |
157 "r2l", | 158 "r2l", |
158 CHARSET_COLUMNS (cs), | 159 CHARSET_COLUMNS (cs), |
159 CHARSET_GRAPHIC (cs), | 160 CHARSET_GRAPHIC (cs), |
160 CHARSET_FINAL (cs)); | 161 CHARSET_FINAL (cs)); |
161 print_internal (CHARSET_REGISTRY (cs), printcharfun, 0); | 162 print_internal (CHARSET_REGISTRIES (cs), printcharfun, 0); |
162 write_fmt_string (printcharfun, " 0x%x>", cs->header.uid); | 163 write_fmt_string (printcharfun, " 0x%x>", cs->header.uid); |
163 } | 164 } |
164 | 165 |
165 static const struct memory_description charset_description[] = { | 166 static const struct memory_description charset_description[] = { |
166 { XD_INT, offsetof (Lisp_Charset, dimension) }, | 167 { XD_INT, offsetof (Lisp_Charset, dimension) }, |
167 { XD_INT, offsetof (Lisp_Charset, from_unicode_levels) }, | 168 { XD_INT, offsetof (Lisp_Charset, from_unicode_levels) }, |
168 { XD_LISP_OBJECT, offsetof (Lisp_Charset, name) }, | 169 { XD_LISP_OBJECT, offsetof (Lisp_Charset, name) }, |
169 { XD_LISP_OBJECT, offsetof (Lisp_Charset, doc_string) }, | 170 { XD_LISP_OBJECT, offsetof (Lisp_Charset, doc_string) }, |
170 { XD_LISP_OBJECT, offsetof (Lisp_Charset, registry) }, | 171 { XD_LISP_OBJECT, offsetof (Lisp_Charset, registries) }, |
171 { XD_LISP_OBJECT, offsetof (Lisp_Charset, short_name) }, | 172 { XD_LISP_OBJECT, offsetof (Lisp_Charset, short_name) }, |
172 { XD_LISP_OBJECT, offsetof (Lisp_Charset, long_name) }, | 173 { XD_LISP_OBJECT, offsetof (Lisp_Charset, long_name) }, |
173 { XD_LISP_OBJECT, offsetof (Lisp_Charset, reverse_direction_charset) }, | 174 { XD_LISP_OBJECT, offsetof (Lisp_Charset, reverse_direction_charset) }, |
174 { XD_LISP_OBJECT, offsetof (Lisp_Charset, ccl_program) }, | 175 { XD_LISP_OBJECT, offsetof (Lisp_Charset, ccl_program) }, |
175 { XD_UNION, offsetof (Lisp_Charset, to_unicode_table), | 176 { XD_UNION, offsetof (Lisp_Charset, to_unicode_table), |
237 CHARSET_TYPE (cs) = type; | 238 CHARSET_TYPE (cs) = type; |
238 CHARSET_COLUMNS (cs) = columns; | 239 CHARSET_COLUMNS (cs) = columns; |
239 CHARSET_GRAPHIC (cs) = graphic; | 240 CHARSET_GRAPHIC (cs) = graphic; |
240 CHARSET_FINAL (cs) = final; | 241 CHARSET_FINAL (cs) = final; |
241 CHARSET_DOC_STRING (cs) = doc; | 242 CHARSET_DOC_STRING (cs) = doc; |
242 CHARSET_REGISTRY (cs) = reg; | 243 CHECK_VECTOR(reg); |
244 CHARSET_REGISTRIES (cs) = reg; | |
243 CHARSET_ENCODE_AS_UTF_8 (cs) = encode_as_utf_8 ? 1 : 0; | 245 CHARSET_ENCODE_AS_UTF_8 (cs) = encode_as_utf_8 ? 1 : 0; |
244 CHARSET_CCL_PROGRAM (cs) = Qnil; | 246 CHARSET_CCL_PROGRAM (cs) = Qnil; |
245 CHARSET_REVERSE_DIRECTION_CHARSET (cs) = Qnil; | 247 CHARSET_REVERSE_DIRECTION_CHARSET (cs) = Qnil; |
246 | 248 |
247 CHARSET_DIMENSION (cs) = (CHARSET_TYPE (cs) == CHARSET_TYPE_94 || | 249 CHARSET_DIMENSION (cs) = (CHARSET_TYPE (cs) == CHARSET_TYPE_94 || |
269 assert (NILP (Fgethash (name, Vcharset_hash_table, Qnil))); | 271 assert (NILP (Fgethash (name, Vcharset_hash_table, Qnil))); |
270 Fputhash (name, obj, Vcharset_hash_table); | 272 Fputhash (name, obj, Vcharset_hash_table); |
271 } | 273 } |
272 | 274 |
273 recalculate_unicode_precedence (); | 275 recalculate_unicode_precedence (); |
276 setup_charset_initial_specifier_tags (obj); | |
277 | |
274 return obj; | 278 return obj; |
275 } | 279 } |
276 | 280 |
277 static int | 281 static int |
278 get_unallocated_leading_byte (int dimension) | 282 get_unallocated_leading_byte (int dimension) |
417 PROPS is a property list, describing the specific nature of the | 421 PROPS is a property list, describing the specific nature of the |
418 character set. Recognized properties are: | 422 character set. Recognized properties are: |
419 | 423 |
420 `short-name' Short version of the charset name (ex: Latin-1) | 424 `short-name' Short version of the charset name (ex: Latin-1) |
421 `long-name' Long version of the charset name (ex: ISO8859-1 (Latin-1)) | 425 `long-name' Long version of the charset name (ex: ISO8859-1 (Latin-1)) |
422 `registry' A regular expression matching the font registry field for | 426 `registries' A vector of possible XLFD REGISTRY-ENCODING combinations for |
423 this character set. | 427 this character set. Note that this is not a regular expression. |
424 `dimension' Number of octets used to index a character in this charset. | 428 `dimension' Number of octets used to index a character in this charset. |
425 Either 1 or 2. Defaults to 1. | 429 Either 1 or 2. Defaults to 1. |
426 `columns' Number of columns used to display a character in this charset. | 430 `columns' Number of columns used to display a character in this charset. |
427 Only used in TTY mode. (Under X, the actual width of a | 431 Only used in TTY mode. (Under X, the actual width of a |
428 character can be derived from the font used to display the | 432 character can be derived from the font used to display the |
466 { | 470 { |
467 int id, dimension = 1, chars = 94, graphic = 0, columns = -1; | 471 int id, dimension = 1, chars = 94, graphic = 0, columns = -1; |
468 Ibyte final = 0; | 472 Ibyte final = 0; |
469 int direction = CHARSET_LEFT_TO_RIGHT; | 473 int direction = CHARSET_LEFT_TO_RIGHT; |
470 int type; | 474 int type; |
471 Lisp_Object registry = Qnil; | 475 Lisp_Object registries = Qnil; |
472 Lisp_Object charset = Qnil; | 476 Lisp_Object charset = Qnil; |
473 Lisp_Object ccl_program = Qnil; | 477 Lisp_Object ccl_program = Qnil; |
474 Lisp_Object short_name = Qnil, long_name = Qnil; | 478 Lisp_Object short_name = Qnil, long_name = Qnil; |
475 int encode_as_utf_8 = 0; | 479 int encode_as_utf_8 = 0; |
476 Lisp_Object existing_charset; | 480 Lisp_Object existing_charset; |
536 graphic = XINT (value); | 540 graphic = XINT (value); |
537 if (graphic < 0 || graphic > 1) | 541 if (graphic < 0 || graphic > 1) |
538 invalid_constant ("Invalid value for `graphic'", value); | 542 invalid_constant ("Invalid value for `graphic'", value); |
539 } | 543 } |
540 | 544 |
545 else if (EQ (keyword, Qregistries)) | |
546 { | |
547 CHECK_VECTOR (value); | |
548 registries = value; | |
549 } | |
550 | |
541 else if (EQ (keyword, Qregistry)) | 551 else if (EQ (keyword, Qregistry)) |
542 { | 552 { |
553 Lisp_Object quoted_registry; | |
554 | |
543 CHECK_STRING (value); | 555 CHECK_STRING (value); |
544 registry = value; | 556 quoted_registry = Fregexp_quote(value); |
557 if (strcmp(XSTRING_DATA(quoted_registry), | |
558 XSTRING_DATA(value))) | |
559 { | |
560 warn_when_safe | |
561 (Qregistry, Qwarning, | |
562 "Regexps no longer allowed for charset-registry. " | |
563 "Treating %s as string", XSTRING_DATA(value)); | |
564 } | |
565 registries = vector1(value); | |
545 } | 566 } |
546 | 567 |
547 else if (EQ (keyword, Qdirection)) | 568 else if (EQ (keyword, Qdirection)) |
548 { | 569 { |
549 if (EQ (value, Ql2r)) | 570 if (EQ (value, Ql2r)) |
611 qxesprintf (tempname, "___temporary___%d__", id); | 632 qxesprintf (tempname, "___temporary___%d__", id); |
612 name = intern_int (tempname); | 633 name = intern_int (tempname); |
613 } | 634 } |
614 if (NILP (doc_string)) | 635 if (NILP (doc_string)) |
615 doc_string = build_string (""); | 636 doc_string = build_string (""); |
616 if (NILP (registry)) | 637 if (NILP (registries)) |
617 registry = build_string (""); | 638 registries = make_vector(0, Qnil); |
618 if (NILP (short_name)) | 639 if (NILP (short_name)) |
619 short_name = XSYMBOL (name)->name; | 640 short_name = XSYMBOL (name)->name; |
620 if (NILP (long_name)) | 641 if (NILP (long_name)) |
621 long_name = doc_string; | 642 long_name = doc_string; |
622 if (columns == -1) | 643 if (columns == -1) |
623 columns = dimension; | 644 columns = dimension; |
624 | 645 |
625 charset = make_charset (id, name, dimension + 2, type, columns, graphic, | 646 charset = make_charset (id, name, dimension + 2, type, columns, graphic, |
626 final, direction, short_name, long_name, | 647 final, direction, short_name, long_name, |
627 doc_string, registry, !NILP (existing_charset), | 648 doc_string, registries, !NILP (existing_charset), |
628 encode_as_utf_8); | 649 encode_as_utf_8); |
629 | 650 |
630 XCHARSET (charset)->temporary = temporary; | 651 XCHARSET (charset)->temporary = temporary; |
631 if (!NILP (ccl_program)) | 652 if (!NILP (ccl_program)) |
632 XCHARSET_CCL_PROGRAM (charset) = ccl_program; | 653 XCHARSET_CCL_PROGRAM (charset) = ccl_program; |
655 { | 676 { |
656 Lisp_Object new_charset = Qnil; | 677 Lisp_Object new_charset = Qnil; |
657 int id, dimension, columns, graphic, encode_as_utf_8; | 678 int id, dimension, columns, graphic, encode_as_utf_8; |
658 Ibyte final; | 679 Ibyte final; |
659 int direction, type; | 680 int direction, type; |
660 Lisp_Object registry, doc_string, short_name, long_name; | 681 Lisp_Object registries, doc_string, short_name, long_name; |
661 Lisp_Charset *cs; | 682 Lisp_Charset *cs; |
662 | 683 |
663 charset = Fget_charset (charset); | 684 charset = Fget_charset (charset); |
664 if (!NILP (XCHARSET_REVERSE_DIRECTION_CHARSET (charset))) | 685 if (!NILP (XCHARSET_REVERSE_DIRECTION_CHARSET (charset))) |
665 invalid_operation ("Charset already has reverse-direction charset", | 686 invalid_operation ("Charset already has reverse-direction charset", |
682 if (CHARSET_DIRECTION (cs) == CHARSET_RIGHT_TO_LEFT) | 703 if (CHARSET_DIRECTION (cs) == CHARSET_RIGHT_TO_LEFT) |
683 direction = CHARSET_LEFT_TO_RIGHT; | 704 direction = CHARSET_LEFT_TO_RIGHT; |
684 doc_string = CHARSET_DOC_STRING (cs); | 705 doc_string = CHARSET_DOC_STRING (cs); |
685 short_name = CHARSET_SHORT_NAME (cs); | 706 short_name = CHARSET_SHORT_NAME (cs); |
686 long_name = CHARSET_LONG_NAME (cs); | 707 long_name = CHARSET_LONG_NAME (cs); |
687 registry = CHARSET_REGISTRY (cs); | 708 registries = CHARSET_REGISTRIES (cs); |
688 encode_as_utf_8 = CHARSET_ENCODE_AS_UTF_8 (cs); | 709 encode_as_utf_8 = CHARSET_ENCODE_AS_UTF_8 (cs); |
689 | 710 |
690 new_charset = make_charset (id, new_name, dimension + 2, type, columns, | 711 new_charset = make_charset (id, new_name, dimension + 2, type, columns, |
691 graphic, final, direction, short_name, long_name, | 712 graphic, final, direction, short_name, long_name, |
692 doc_string, registry, 0, encode_as_utf_8); | 713 doc_string, registries, 0, encode_as_utf_8); |
693 | 714 |
694 CHARSET_REVERSE_DIRECTION_CHARSET (cs) = new_charset; | 715 CHARSET_REVERSE_DIRECTION_CHARSET (cs) = new_charset; |
695 XCHARSET_REVERSE_DIRECTION_CHARSET (new_charset) = charset; | 716 XCHARSET_REVERSE_DIRECTION_CHARSET (new_charset) = charset; |
696 | 717 |
697 return new_charset; | 718 return new_charset; |
818 if (EQ (prop, Qdimension)) return make_int (CHARSET_DIMENSION (cs)); | 839 if (EQ (prop, Qdimension)) return make_int (CHARSET_DIMENSION (cs)); |
819 if (EQ (prop, Qcolumns)) return make_int (CHARSET_COLUMNS (cs)); | 840 if (EQ (prop, Qcolumns)) return make_int (CHARSET_COLUMNS (cs)); |
820 if (EQ (prop, Qgraphic)) return make_int (CHARSET_GRAPHIC (cs)); | 841 if (EQ (prop, Qgraphic)) return make_int (CHARSET_GRAPHIC (cs)); |
821 if (EQ (prop, Qfinal)) return make_char (CHARSET_FINAL (cs)); | 842 if (EQ (prop, Qfinal)) return make_char (CHARSET_FINAL (cs)); |
822 if (EQ (prop, Qchars)) return make_int (CHARSET_CHARS (cs)); | 843 if (EQ (prop, Qchars)) return make_int (CHARSET_CHARS (cs)); |
823 if (EQ (prop, Qregistry)) return CHARSET_REGISTRY (cs); | 844 if (EQ (prop, Qregistries)) return CHARSET_REGISTRIES (cs); |
824 if (EQ (prop, Qencode_as_utf_8)) | 845 if (EQ (prop, Qencode_as_utf_8)) |
825 return CHARSET_ENCODE_AS_UTF_8 (cs) ? Qt : Qnil; | 846 return CHARSET_ENCODE_AS_UTF_8 (cs) ? Qt : Qnil; |
826 if (EQ (prop, Qccl_program)) return CHARSET_CCL_PROGRAM (cs); | 847 if (EQ (prop, Qccl_program)) return CHARSET_CCL_PROGRAM (cs); |
827 if (EQ (prop, Qdirection)) | 848 if (EQ (prop, Qdirection)) |
828 return CHARSET_DIRECTION (cs) == CHARSET_LEFT_TO_RIGHT ? Ql2r : Qr2l; | 849 return CHARSET_DIRECTION (cs) == CHARSET_LEFT_TO_RIGHT ? Ql2r : Qr2l; |
860 XCHARSET_CCL_PROGRAM (charset) = ccl_program; | 881 XCHARSET_CCL_PROGRAM (charset) = ccl_program; |
861 face_property_was_changed (Vdefault_face, Qfont, Qglobal); | 882 face_property_was_changed (Vdefault_face, Qfont, Qglobal); |
862 return Qnil; | 883 return Qnil; |
863 } | 884 } |
864 | 885 |
865 /* Japanese folks may want to (set-charset-registry 'ascii "jisx0201") */ | 886 DEFUN ("set-charset-registries", Fset_charset_registries, 2, 2, 0, /* |
866 DEFUN ("set-charset-registry", Fset_charset_registry, 2, 2, 0, /* | 887 Set the `registries' property of CHARSET to REGISTRIES. |
867 Set the `registry' property of CHARSET to REGISTRY. | 888 |
868 */ | 889 REGISTRIES is an ordered vector of strings that describe the X11 |
869 (charset, registry)) | 890 CHARSET_REGISTRY and the CHARSET_ENCODINGs appropriate for this charset. |
870 { | 891 Separate each registry from the corresponding encoding with a dash. The |
892 strings are not regular expressions, in contrast to the old behavior of | |
893 the `charset-registry' property. | |
894 | |
895 One reason to call this function might be if you're in Japan and you'd | |
896 prefer the backslash to display as a Yen sign; the corresponding syntax | |
897 would be: | |
898 | |
899 (set-charset-registries 'ascii ["jisx0201.1976-0"]) | |
900 | |
901 */ | |
902 (charset, registries)) | |
903 { | |
904 int i; | |
871 charset = Fget_charset (charset); | 905 charset = Fget_charset (charset); |
872 CHECK_STRING (registry); | 906 CHECK_VECTOR (registries); |
873 XCHARSET_REGISTRY (charset) = registry; | 907 |
908 for (i = 0; i < XVECTOR_LENGTH(registries); ++i) | |
909 { | |
910 CHECK_STRING (XVECTOR_DATA(registries)[i]); | |
911 if (NULL == qxestrchr(XSTRING_DATA(XVECTOR_DATA(registries)[i]), '-')) | |
912 { | |
913 invalid_argument("Not an X11 REGISTRY-ENCODING combination", | |
914 XVECTOR_DATA(registries)[i]); | |
915 } | |
916 } | |
917 | |
918 XCHARSET_REGISTRIES (charset) = registries; | |
874 invalidate_charset_font_caches (charset); | 919 invalidate_charset_font_caches (charset); |
875 face_property_was_changed (Vdefault_face, Qfont, Qglobal); | 920 face_property_was_changed (Vdefault_face, Qfont, Qglobal); |
876 return Qnil; | 921 return Qnil; |
877 } | 922 } |
878 | 923 |
965 DEFSUBR (Fcharset_description); | 1010 DEFSUBR (Fcharset_description); |
966 DEFSUBR (Fcharset_dimension); | 1011 DEFSUBR (Fcharset_dimension); |
967 DEFSUBR (Fcharset_property); | 1012 DEFSUBR (Fcharset_property); |
968 DEFSUBR (Fcharset_id); | 1013 DEFSUBR (Fcharset_id); |
969 DEFSUBR (Fset_charset_ccl_program); | 1014 DEFSUBR (Fset_charset_ccl_program); |
970 DEFSUBR (Fset_charset_registry); | 1015 DEFSUBR (Fset_charset_registries); |
971 | 1016 |
972 #ifdef MEMORY_USAGE_STATS | 1017 #ifdef MEMORY_USAGE_STATS |
973 DEFSUBR (Fcharset_memory_usage); | 1018 DEFSUBR (Fcharset_memory_usage); |
974 #endif | 1019 #endif |
975 | 1020 |
976 DEFSYMBOL (Qcharsetp); | 1021 DEFSYMBOL (Qcharsetp); |
977 DEFSYMBOL (Qregistry); | 1022 DEFSYMBOL (Qregistries); |
978 DEFSYMBOL (Qfinal); | 1023 DEFSYMBOL (Qfinal); |
979 DEFSYMBOL (Qgraphic); | 1024 DEFSYMBOL (Qgraphic); |
1025 DEFSYMBOL (Qregistry); | |
980 DEFSYMBOL (Qdirection); | 1026 DEFSYMBOL (Qdirection); |
981 DEFSYMBOL (Qreverse_direction_charset); | 1027 DEFSYMBOL (Qreverse_direction_charset); |
982 DEFSYMBOL (Qshort_name); | 1028 DEFSYMBOL (Qshort_name); |
983 DEFSYMBOL (Qlong_name); | 1029 DEFSYMBOL (Qlong_name); |
984 | 1030 |
1054 CHARSET_TYPE_94, 1, 0, 'B', | 1100 CHARSET_TYPE_94, 1, 0, 'B', |
1055 CHARSET_LEFT_TO_RIGHT, | 1101 CHARSET_LEFT_TO_RIGHT, |
1056 build_string ("ASCII"), | 1102 build_string ("ASCII"), |
1057 build_msg_string ("ASCII"), | 1103 build_msg_string ("ASCII"), |
1058 build_msg_string ("ASCII (ISO646 IRV)"), | 1104 build_msg_string ("ASCII (ISO646 IRV)"), |
1059 build_string ("\\(iso8859-[0-9]*\\|-ascii\\)"), 0, 0); | 1105 vector1(build_string("iso8859-1")), 0, 0); |
1060 staticpro (&Vcharset_control_1); | 1106 staticpro (&Vcharset_control_1); |
1061 Vcharset_control_1 = | 1107 Vcharset_control_1 = |
1062 make_charset (LEADING_BYTE_CONTROL_1, Qcontrol_1, 2, | 1108 make_charset (LEADING_BYTE_CONTROL_1, Qcontrol_1, 2, |
1063 CHARSET_TYPE_94, 1, 1, 0, | 1109 CHARSET_TYPE_94, 1, 1, 0, |
1064 CHARSET_LEFT_TO_RIGHT, | 1110 CHARSET_LEFT_TO_RIGHT, |
1065 build_string ("C1"), | 1111 build_string ("C1"), |
1066 build_msg_string ("Control characters"), | 1112 build_msg_string ("Control characters"), |
1067 build_msg_string ("Control characters 128-191"), | 1113 build_msg_string ("Control characters 128-191"), |
1068 build_string (""), 0, 0); | 1114 vector1(build_string("iso8859-1")), 0, 0); |
1069 staticpro (&Vcharset_latin_iso8859_1); | 1115 staticpro (&Vcharset_latin_iso8859_1); |
1070 Vcharset_latin_iso8859_1 = | 1116 Vcharset_latin_iso8859_1 = |
1071 make_charset (LEADING_BYTE_LATIN_ISO8859_1, Qlatin_iso8859_1, 2, | 1117 make_charset (LEADING_BYTE_LATIN_ISO8859_1, Qlatin_iso8859_1, 2, |
1072 CHARSET_TYPE_96, 1, 1, 'A', | 1118 CHARSET_TYPE_96, 1, 1, 'A', |
1073 CHARSET_LEFT_TO_RIGHT, | 1119 CHARSET_LEFT_TO_RIGHT, |
1074 build_string ("Latin-1"), | 1120 build_string ("Latin-1"), |
1075 build_msg_string ("ISO8859-1 (Latin-1)"), | 1121 build_msg_string ("ISO8859-1 (Latin-1)"), |
1076 build_msg_string ("ISO8859-1 (Latin-1)"), | 1122 build_msg_string ("ISO8859-1 (Latin-1)"), |
1077 build_string ("iso8859-1"), 0, 0); | 1123 vector1(build_string("iso8859-1")), 0, 0); |
1078 staticpro (&Vcharset_latin_iso8859_2); | 1124 staticpro (&Vcharset_latin_iso8859_2); |
1079 Vcharset_latin_iso8859_2 = | 1125 Vcharset_latin_iso8859_2 = |
1080 make_charset (LEADING_BYTE_LATIN_ISO8859_2, Qlatin_iso8859_2, 2, | 1126 make_charset (LEADING_BYTE_LATIN_ISO8859_2, Qlatin_iso8859_2, 2, |
1081 CHARSET_TYPE_96, 1, 1, 'B', | 1127 CHARSET_TYPE_96, 1, 1, 'B', |
1082 CHARSET_LEFT_TO_RIGHT, | 1128 CHARSET_LEFT_TO_RIGHT, |
1083 build_string ("Latin-2"), | 1129 build_string ("Latin-2"), |
1084 build_msg_string ("ISO8859-2 (Latin-2)"), | 1130 build_msg_string ("ISO8859-2 (Latin-2)"), |
1085 build_msg_string ("ISO8859-2 (Latin-2)"), | 1131 build_msg_string ("ISO8859-2 (Latin-2)"), |
1086 build_string ("iso8859-2"), 0, 0); | 1132 vector1(build_string("iso8859-2")), 0, 0); |
1087 staticpro (&Vcharset_latin_iso8859_3); | 1133 staticpro (&Vcharset_latin_iso8859_3); |
1088 Vcharset_latin_iso8859_3 = | 1134 Vcharset_latin_iso8859_3 = |
1089 make_charset (LEADING_BYTE_LATIN_ISO8859_3, Qlatin_iso8859_3, 2, | 1135 make_charset (LEADING_BYTE_LATIN_ISO8859_3, Qlatin_iso8859_3, 2, |
1090 CHARSET_TYPE_96, 1, 1, 'C', | 1136 CHARSET_TYPE_96, 1, 1, 'C', |
1091 CHARSET_LEFT_TO_RIGHT, | 1137 CHARSET_LEFT_TO_RIGHT, |
1092 build_string ("Latin-3"), | 1138 build_string ("Latin-3"), |
1093 build_msg_string ("ISO8859-3 (Latin-3)"), | 1139 build_msg_string ("ISO8859-3 (Latin-3)"), |
1094 build_msg_string ("ISO8859-3 (Latin-3)"), | 1140 build_msg_string ("ISO8859-3 (Latin-3)"), |
1095 build_string ("iso8859-3"), 0, 0); | 1141 vector1(build_string("iso8859-3")), 0, 0); |
1096 staticpro (&Vcharset_latin_iso8859_4); | 1142 staticpro (&Vcharset_latin_iso8859_4); |
1097 Vcharset_latin_iso8859_4 = | 1143 Vcharset_latin_iso8859_4 = |
1098 make_charset (LEADING_BYTE_LATIN_ISO8859_4, Qlatin_iso8859_4, 2, | 1144 make_charset (LEADING_BYTE_LATIN_ISO8859_4, Qlatin_iso8859_4, 2, |
1099 CHARSET_TYPE_96, 1, 1, 'D', | 1145 CHARSET_TYPE_96, 1, 1, 'D', |
1100 CHARSET_LEFT_TO_RIGHT, | 1146 CHARSET_LEFT_TO_RIGHT, |
1101 build_string ("Latin-4"), | 1147 build_string ("Latin-4"), |
1102 build_msg_string ("ISO8859-4 (Latin-4)"), | 1148 build_msg_string ("ISO8859-4 (Latin-4)"), |
1103 build_msg_string ("ISO8859-4 (Latin-4)"), | 1149 build_msg_string ("ISO8859-4 (Latin-4)"), |
1104 build_string ("iso8859-4"), 0, 0); | 1150 vector1(build_string("iso8859-2")), 0, 0); |
1105 staticpro (&Vcharset_thai_tis620); | 1151 staticpro (&Vcharset_thai_tis620); |
1106 Vcharset_thai_tis620 = | 1152 Vcharset_thai_tis620 = |
1107 make_charset (LEADING_BYTE_THAI_TIS620, Qthai_tis620, 2, | 1153 make_charset (LEADING_BYTE_THAI_TIS620, Qthai_tis620, 2, |
1108 CHARSET_TYPE_96, 1, 1, 'T', | 1154 CHARSET_TYPE_96, 1, 1, 'T', |
1109 CHARSET_LEFT_TO_RIGHT, | 1155 CHARSET_LEFT_TO_RIGHT, |
1110 build_string ("TIS620"), | 1156 build_string ("TIS620"), |
1111 build_msg_string ("TIS620 (Thai)"), | 1157 build_msg_string ("TIS620 (Thai)"), |
1112 build_msg_string ("TIS620.2529 (Thai)"), | 1158 build_msg_string ("TIS620.2529 (Thai)"), |
1113 build_string ("tis620"), 0, 0); | 1159 vector1(build_string("tis620.2529-1")), 0, 0); |
1114 staticpro (&Vcharset_greek_iso8859_7); | 1160 staticpro (&Vcharset_greek_iso8859_7); |
1115 Vcharset_greek_iso8859_7 = | 1161 Vcharset_greek_iso8859_7 = |
1116 make_charset (LEADING_BYTE_GREEK_ISO8859_7, Qgreek_iso8859_7, 2, | 1162 make_charset (LEADING_BYTE_GREEK_ISO8859_7, Qgreek_iso8859_7, 2, |
1117 CHARSET_TYPE_96, 1, 1, 'F', | 1163 CHARSET_TYPE_96, 1, 1, 'F', |
1118 CHARSET_LEFT_TO_RIGHT, | 1164 CHARSET_LEFT_TO_RIGHT, |
1119 build_string ("ISO8859-7"), | 1165 build_string ("ISO8859-7"), |
1120 build_msg_string ("ISO8859-7 (Greek)"), | 1166 build_msg_string ("ISO8859-7 (Greek)"), |
1121 build_msg_string ("ISO8859-7 (Greek)"), | 1167 build_msg_string ("ISO8859-7 (Greek)"), |
1122 build_string ("iso8859-7"), 0, 0); | 1168 vector1(build_string("iso8859-7")), 0, 0); |
1123 staticpro (&Vcharset_arabic_iso8859_6); | 1169 staticpro (&Vcharset_arabic_iso8859_6); |
1124 Vcharset_arabic_iso8859_6 = | 1170 Vcharset_arabic_iso8859_6 = |
1125 make_charset (LEADING_BYTE_ARABIC_ISO8859_6, Qarabic_iso8859_6, 2, | 1171 make_charset (LEADING_BYTE_ARABIC_ISO8859_6, Qarabic_iso8859_6, 2, |
1126 CHARSET_TYPE_96, 1, 1, 'G', | 1172 CHARSET_TYPE_96, 1, 1, 'G', |
1127 CHARSET_RIGHT_TO_LEFT, | 1173 CHARSET_RIGHT_TO_LEFT, |
1128 build_string ("ISO8859-6"), | 1174 build_string ("ISO8859-6"), |
1129 build_msg_string ("ISO8859-6 (Arabic)"), | 1175 build_msg_string ("ISO8859-6 (Arabic)"), |
1130 build_msg_string ("ISO8859-6 (Arabic)"), | 1176 build_msg_string ("ISO8859-6 (Arabic)"), |
1131 build_string ("iso8859-6"), 0, 0); | 1177 vector1(build_string ("iso8859-6")), 0, 0); |
1132 staticpro (&Vcharset_hebrew_iso8859_8); | 1178 staticpro (&Vcharset_hebrew_iso8859_8); |
1133 Vcharset_hebrew_iso8859_8 = | 1179 Vcharset_hebrew_iso8859_8 = |
1134 make_charset (LEADING_BYTE_HEBREW_ISO8859_8, Qhebrew_iso8859_8, 2, | 1180 make_charset (LEADING_BYTE_HEBREW_ISO8859_8, Qhebrew_iso8859_8, 2, |
1135 CHARSET_TYPE_96, 1, 1, 'H', | 1181 CHARSET_TYPE_96, 1, 1, 'H', |
1136 CHARSET_RIGHT_TO_LEFT, | 1182 CHARSET_RIGHT_TO_LEFT, |
1137 build_string ("ISO8859-8"), | 1183 build_string ("ISO8859-8"), |
1138 build_msg_string ("ISO8859-8 (Hebrew)"), | 1184 build_msg_string ("ISO8859-8 (Hebrew)"), |
1139 build_msg_string ("ISO8859-8 (Hebrew)"), | 1185 build_msg_string ("ISO8859-8 (Hebrew)"), |
1140 build_string ("iso8859-8"), 0, 0); | 1186 vector1(build_string ("iso8859-8")), 0, 0); |
1141 staticpro (&Vcharset_katakana_jisx0201); | 1187 staticpro (&Vcharset_katakana_jisx0201); |
1142 Vcharset_katakana_jisx0201 = | 1188 Vcharset_katakana_jisx0201 = |
1143 make_charset (LEADING_BYTE_KATAKANA_JISX0201, Qkatakana_jisx0201, 2, | 1189 make_charset (LEADING_BYTE_KATAKANA_JISX0201, Qkatakana_jisx0201, 2, |
1144 CHARSET_TYPE_94, 1, 1, 'I', | 1190 CHARSET_TYPE_94, 1, 1, 'I', |
1145 CHARSET_LEFT_TO_RIGHT, | 1191 CHARSET_LEFT_TO_RIGHT, |
1146 build_string ("JISX0201 Kana"), | 1192 build_string ("JISX0201 Kana"), |
1147 build_msg_string ("JISX0201.1976 (Japanese Kana)"), | 1193 build_msg_string ("JISX0201.1976 (Japanese Kana)"), |
1148 build_msg_string ("JISX0201.1976 Japanese Kana"), | 1194 build_msg_string ("JISX0201.1976 Japanese Kana"), |
1149 build_string ("jisx0201.1976"), 0, 0); | 1195 vector1(build_string ("jisx0201.1976-0")), 0, 0); |
1150 staticpro (&Vcharset_latin_jisx0201); | 1196 staticpro (&Vcharset_latin_jisx0201); |
1151 Vcharset_latin_jisx0201 = | 1197 Vcharset_latin_jisx0201 = |
1152 make_charset (LEADING_BYTE_LATIN_JISX0201, Qlatin_jisx0201, 2, | 1198 make_charset (LEADING_BYTE_LATIN_JISX0201, Qlatin_jisx0201, 2, |
1153 CHARSET_TYPE_94, 1, 0, 'J', | 1199 CHARSET_TYPE_94, 1, 0, 'J', |
1154 CHARSET_LEFT_TO_RIGHT, | 1200 CHARSET_LEFT_TO_RIGHT, |
1155 build_string ("JISX0201 Roman"), | 1201 build_string ("JISX0201 Roman"), |
1156 build_msg_string ("JISX0201.1976 (Japanese Roman)"), | 1202 build_msg_string ("JISX0201.1976 (Japanese Roman)"), |
1157 build_msg_string ("JISX0201.1976 Japanese Roman"), | 1203 build_msg_string ("JISX0201.1976 Japanese Roman"), |
1158 build_string ("jisx0201.1976"), 0, 0); | 1204 vector1(build_string ("jisx0201.1976-0")), 0, 0); |
1159 staticpro (&Vcharset_cyrillic_iso8859_5); | 1205 staticpro (&Vcharset_cyrillic_iso8859_5); |
1160 Vcharset_cyrillic_iso8859_5 = | 1206 Vcharset_cyrillic_iso8859_5 = |
1161 make_charset (LEADING_BYTE_CYRILLIC_ISO8859_5, Qcyrillic_iso8859_5, 2, | 1207 make_charset (LEADING_BYTE_CYRILLIC_ISO8859_5, Qcyrillic_iso8859_5, 2, |
1162 CHARSET_TYPE_96, 1, 1, 'L', | 1208 CHARSET_TYPE_96, 1, 1, 'L', |
1163 CHARSET_LEFT_TO_RIGHT, | 1209 CHARSET_LEFT_TO_RIGHT, |
1164 build_string ("ISO8859-5"), | 1210 build_string ("ISO8859-5"), |
1165 build_msg_string ("ISO8859-5 (Cyrillic)"), | 1211 build_msg_string ("ISO8859-5 (Cyrillic)"), |
1166 build_msg_string ("ISO8859-5 (Cyrillic)"), | 1212 build_msg_string ("ISO8859-5 (Cyrillic)"), |
1167 build_string ("iso8859-5"), 0, 0); | 1213 vector1(build_string ("iso8859-5")), 0, 0); |
1168 staticpro (&Vcharset_latin_iso8859_9); | 1214 staticpro (&Vcharset_latin_iso8859_9); |
1169 Vcharset_latin_iso8859_9 = | 1215 Vcharset_latin_iso8859_9 = |
1170 make_charset (LEADING_BYTE_LATIN_ISO8859_9, Qlatin_iso8859_9, 2, | 1216 make_charset (LEADING_BYTE_LATIN_ISO8859_9, Qlatin_iso8859_9, 2, |
1171 CHARSET_TYPE_96, 1, 1, 'M', | 1217 CHARSET_TYPE_96, 1, 1, 'M', |
1172 CHARSET_LEFT_TO_RIGHT, | 1218 CHARSET_LEFT_TO_RIGHT, |
1173 build_string ("Latin-5"), | 1219 build_string ("Latin-5"), |
1174 build_msg_string ("ISO8859-9 (Latin-5)"), | 1220 build_msg_string ("ISO8859-9 (Latin-5)"), |
1175 build_msg_string ("ISO8859-9 (Latin-5)"), | 1221 build_msg_string ("ISO8859-9 (Latin-5)"), |
1176 build_string ("iso8859-9"), 0, 0); | 1222 vector1(build_string ("iso8859-9")), 0, 0); |
1177 staticpro (&Vcharset_latin_iso8859_15); | 1223 staticpro (&Vcharset_latin_iso8859_15); |
1178 Vcharset_latin_iso8859_15 = | 1224 Vcharset_latin_iso8859_15 = |
1179 make_charset (LEADING_BYTE_LATIN_ISO8859_15, Qlatin_iso8859_15, 2, | 1225 make_charset (LEADING_BYTE_LATIN_ISO8859_15, Qlatin_iso8859_15, 2, |
1180 CHARSET_TYPE_96, 1, 1, 'b', | 1226 CHARSET_TYPE_96, 1, 1, 'b', |
1181 CHARSET_LEFT_TO_RIGHT, | 1227 CHARSET_LEFT_TO_RIGHT, |
1182 build_string ("Latin-9"), | 1228 build_string ("Latin-9"), |
1183 build_msg_string ("ISO8859-15 (Latin-9)"), | 1229 build_msg_string ("ISO8859-15 (Latin-9)"), |
1184 build_msg_string ("ISO8859-15 (Latin-9)"), | 1230 build_msg_string ("ISO8859-15 (Latin-9)"), |
1185 build_string ("iso8859-15"), 0, 0); | 1231 vector1(build_string ("iso8859-15")), 0, 0); |
1186 staticpro (&Vcharset_japanese_jisx0208_1978); | 1232 staticpro (&Vcharset_japanese_jisx0208_1978); |
1187 Vcharset_japanese_jisx0208_1978 = | 1233 Vcharset_japanese_jisx0208_1978 = |
1188 make_charset (LEADING_BYTE_JAPANESE_JISX0208_1978, Qjapanese_jisx0208_1978, 3, | 1234 make_charset (LEADING_BYTE_JAPANESE_JISX0208_1978, Qjapanese_jisx0208_1978, 3, |
1189 CHARSET_TYPE_94X94, 2, 0, '@', | 1235 CHARSET_TYPE_94X94, 2, 0, '@', |
1190 CHARSET_LEFT_TO_RIGHT, | 1236 CHARSET_LEFT_TO_RIGHT, |
1191 build_string ("JISX0208.1978"), | 1237 build_string ("JISX0208.1978"), |
1192 build_msg_string ("JISX0208.1978 (Japanese)"), | 1238 build_msg_string ("JISX0208.1978 (Japanese)"), |
1193 build_msg_string | 1239 build_msg_string |
1194 ("JISX0208.1978 Japanese Kanji (so called \"old JIS\")"), | 1240 ("JISX0208.1978 Japanese Kanji (so called \"old JIS\")"), |
1195 build_string ("\\(jisx0208\\|jisc6226\\)\\.1978"), 0, 0); | 1241 vector2(build_string("jisx0208.1978-0"), |
1242 build_string("jisc6226.1978-0")), 0, 0); | |
1196 staticpro (&Vcharset_chinese_gb2312); | 1243 staticpro (&Vcharset_chinese_gb2312); |
1197 Vcharset_chinese_gb2312 = | 1244 Vcharset_chinese_gb2312 = |
1198 make_charset (LEADING_BYTE_CHINESE_GB2312, Qchinese_gb2312, 3, | 1245 make_charset (LEADING_BYTE_CHINESE_GB2312, Qchinese_gb2312, 3, |
1199 CHARSET_TYPE_94X94, 2, 0, 'A', | 1246 CHARSET_TYPE_94X94, 2, 0, 'A', |
1200 CHARSET_LEFT_TO_RIGHT, | 1247 CHARSET_LEFT_TO_RIGHT, |
1201 build_string ("GB2312"), | 1248 build_string ("GB2312"), |
1202 build_msg_string ("GB2312)"), | 1249 build_msg_string ("GB2312)"), |
1203 build_msg_string ("GB2312 Chinese simplified"), | 1250 build_msg_string ("GB2312 Chinese simplified"), |
1204 build_string ("gb2312"), 0, 0); | 1251 vector2(build_string("gb2312.1980-0"), |
1252 build_string("gb2312.80&gb8565.88-0")), 0, 0); | |
1205 staticpro (&Vcharset_japanese_jisx0208); | 1253 staticpro (&Vcharset_japanese_jisx0208); |
1206 Vcharset_japanese_jisx0208 = | 1254 Vcharset_japanese_jisx0208 = |
1207 make_charset (LEADING_BYTE_JAPANESE_JISX0208, Qjapanese_jisx0208, 3, | 1255 make_charset (LEADING_BYTE_JAPANESE_JISX0208, Qjapanese_jisx0208, 3, |
1208 CHARSET_TYPE_94X94, 2, 0, 'B', | 1256 CHARSET_TYPE_94X94, 2, 0, 'B', |
1209 CHARSET_LEFT_TO_RIGHT, | 1257 CHARSET_LEFT_TO_RIGHT, |
1210 build_string ("JISX0208"), | 1258 build_string ("JISX0208"), |
1211 build_msg_string ("JISX0208.1983/1990 (Japanese)"), | 1259 build_msg_string ("JISX0208.1983/1990 (Japanese)"), |
1212 build_msg_string ("JISX0208.1983/1990 Japanese Kanji"), | 1260 build_msg_string ("JISX0208.1983/1990 Japanese Kanji"), |
1213 build_string ("jisx0208.19\\(83\\|90\\)"), 0, 0); | 1261 vector2(build_string("jisx0208.1983-0"), |
1262 build_string("jisx0208.1990-0")), 0, 0); | |
1214 staticpro (&Vcharset_korean_ksc5601); | 1263 staticpro (&Vcharset_korean_ksc5601); |
1215 Vcharset_korean_ksc5601 = | 1264 Vcharset_korean_ksc5601 = |
1216 make_charset (LEADING_BYTE_KOREAN_KSC5601, Qkorean_ksc5601, 3, | 1265 make_charset (LEADING_BYTE_KOREAN_KSC5601, Qkorean_ksc5601, 3, |
1217 CHARSET_TYPE_94X94, 2, 0, 'C', | 1266 CHARSET_TYPE_94X94, 2, 0, 'C', |
1218 CHARSET_LEFT_TO_RIGHT, | 1267 CHARSET_LEFT_TO_RIGHT, |
1219 build_string ("KSC5601"), | 1268 build_string ("KSC5601"), |
1220 build_msg_string ("KSC5601 (Korean"), | 1269 build_msg_string ("KSC5601 (Korean"), |
1221 build_msg_string ("KSC5601 Korean Hangul and Hanja"), | 1270 build_msg_string ("KSC5601 Korean Hangul and Hanja"), |
1222 build_string ("ksc5601"), 0, 0); | 1271 vector1(build_string("ksc5601.1987-0")), 0, 0); |
1223 staticpro (&Vcharset_japanese_jisx0212); | 1272 staticpro (&Vcharset_japanese_jisx0212); |
1224 Vcharset_japanese_jisx0212 = | 1273 Vcharset_japanese_jisx0212 = |
1225 make_charset (LEADING_BYTE_JAPANESE_JISX0212, Qjapanese_jisx0212, 3, | 1274 make_charset (LEADING_BYTE_JAPANESE_JISX0212, Qjapanese_jisx0212, 3, |
1226 CHARSET_TYPE_94X94, 2, 0, 'D', | 1275 CHARSET_TYPE_94X94, 2, 0, 'D', |
1227 CHARSET_LEFT_TO_RIGHT, | 1276 CHARSET_LEFT_TO_RIGHT, |
1228 build_string ("JISX0212"), | 1277 build_string ("JISX0212"), |
1229 build_msg_string ("JISX0212 (Japanese)"), | 1278 build_msg_string ("JISX0212 (Japanese)"), |
1230 build_msg_string ("JISX0212 Japanese Supplement"), | 1279 build_msg_string ("JISX0212 Japanese Supplement"), |
1231 build_string ("jisx0212"), 0, 0); | 1280 vector1(build_string("jisx0212.1990-0")), 0, 0); |
1232 | 1281 |
1233 #define CHINESE_CNS_PLANE_RE(n) "cns11643[.-]\\(.*[.-]\\)?" n "$" | 1282 #define CHINESE_CNS_PLANE(n) "cns11643.1992-" n |
1234 staticpro (&Vcharset_chinese_cns11643_1); | 1283 staticpro (&Vcharset_chinese_cns11643_1); |
1235 Vcharset_chinese_cns11643_1 = | 1284 Vcharset_chinese_cns11643_1 = |
1236 make_charset (LEADING_BYTE_CHINESE_CNS11643_1, Qchinese_cns11643_1, 3, | 1285 make_charset (LEADING_BYTE_CHINESE_CNS11643_1, Qchinese_cns11643_1, 3, |
1237 CHARSET_TYPE_94X94, 2, 0, 'G', | 1286 CHARSET_TYPE_94X94, 2, 0, 'G', |
1238 CHARSET_LEFT_TO_RIGHT, | 1287 CHARSET_LEFT_TO_RIGHT, |
1239 build_string ("CNS11643-1"), | 1288 build_string ("CNS11643-1"), |
1240 build_msg_string ("CNS11643-1 (Chinese traditional)"), | 1289 build_msg_string ("CNS11643-1 (Chinese traditional)"), |
1241 build_msg_string | 1290 build_msg_string |
1242 ("CNS 11643 Plane 1 Chinese traditional"), | 1291 ("CNS 11643 Plane 1 Chinese traditional"), |
1243 build_string (CHINESE_CNS_PLANE_RE("1")), 0, 0); | 1292 vector1(build_string (CHINESE_CNS_PLANE("1"))), 0, 0); |
1244 staticpro (&Vcharset_chinese_cns11643_2); | 1293 staticpro (&Vcharset_chinese_cns11643_2); |
1245 Vcharset_chinese_cns11643_2 = | 1294 Vcharset_chinese_cns11643_2 = |
1246 make_charset (LEADING_BYTE_CHINESE_CNS11643_2, Qchinese_cns11643_2, 3, | 1295 make_charset (LEADING_BYTE_CHINESE_CNS11643_2, Qchinese_cns11643_2, 3, |
1247 CHARSET_TYPE_94X94, 2, 0, 'H', | 1296 CHARSET_TYPE_94X94, 2, 0, 'H', |
1248 CHARSET_LEFT_TO_RIGHT, | 1297 CHARSET_LEFT_TO_RIGHT, |
1249 build_string ("CNS11643-2"), | 1298 build_string ("CNS11643-2"), |
1250 build_msg_string ("CNS11643-2 (Chinese traditional)"), | 1299 build_msg_string ("CNS11643-2 (Chinese traditional)"), |
1251 build_msg_string | 1300 build_msg_string |
1252 ("CNS 11643 Plane 2 Chinese traditional"), | 1301 ("CNS 11643 Plane 2 Chinese traditional"), |
1253 build_string (CHINESE_CNS_PLANE_RE("2")), 0, 0); | 1302 vector1(build_string (CHINESE_CNS_PLANE("2"))), 0, 0); |
1254 staticpro (&Vcharset_chinese_big5_1); | 1303 staticpro (&Vcharset_chinese_big5_1); |
1255 Vcharset_chinese_big5_1 = | 1304 Vcharset_chinese_big5_1 = |
1256 make_charset (LEADING_BYTE_CHINESE_BIG5_1, Qchinese_big5_1, 3, | 1305 make_charset (LEADING_BYTE_CHINESE_BIG5_1, Qchinese_big5_1, 3, |
1257 CHARSET_TYPE_94X94, 2, 0, '0', | 1306 CHARSET_TYPE_94X94, 2, 0, '0', |
1258 CHARSET_LEFT_TO_RIGHT, | 1307 CHARSET_LEFT_TO_RIGHT, |
1259 build_string ("Big5"), | 1308 build_string ("Big5"), |
1260 build_msg_string ("Big5 (Level-1)"), | 1309 build_msg_string ("Big5 (Level-1)"), |
1261 build_msg_string | 1310 build_msg_string |
1262 ("Big5 Level-1 Chinese traditional"), | 1311 ("Big5 Level-1 Chinese traditional"), |
1263 build_string ("big5"), 0, 0); | 1312 vector1(build_string ("big5.eten-0")), 0, 0); |
1264 staticpro (&Vcharset_chinese_big5_2); | 1313 staticpro (&Vcharset_chinese_big5_2); |
1265 Vcharset_chinese_big5_2 = | 1314 Vcharset_chinese_big5_2 = |
1266 make_charset (LEADING_BYTE_CHINESE_BIG5_2, Qchinese_big5_2, 3, | 1315 make_charset (LEADING_BYTE_CHINESE_BIG5_2, Qchinese_big5_2, 3, |
1267 CHARSET_TYPE_94X94, 2, 0, '1', | 1316 CHARSET_TYPE_94X94, 2, 0, '1', |
1268 CHARSET_LEFT_TO_RIGHT, | 1317 CHARSET_LEFT_TO_RIGHT, |
1269 build_string ("Big5"), | 1318 build_string ("Big5"), |
1270 build_msg_string ("Big5 (Level-2)"), | 1319 build_msg_string ("Big5 (Level-2)"), |
1271 build_msg_string | 1320 build_msg_string |
1272 ("Big5 Level-2 Chinese traditional"), | 1321 ("Big5 Level-2 Chinese traditional"), |
1273 build_string ("big5"), 0, 0); | 1322 vector1(build_string ("big5.eten-0")), 0, 0); |
1274 | 1323 |
1275 | 1324 |
1276 #ifdef ENABLE_COMPOSITE_CHARS | 1325 #ifdef ENABLE_COMPOSITE_CHARS |
1277 /* #### For simplicity, we put composite chars into a 96x96 charset. | 1326 /* #### For simplicity, we put composite chars into a 96x96 charset. |
1278 This is going to lead to problems because you can run out of | 1327 This is going to lead to problems because you can run out of |
1283 CHARSET_TYPE_96X96, 2, 0, 0, | 1332 CHARSET_TYPE_96X96, 2, 0, 0, |
1284 CHARSET_LEFT_TO_RIGHT, | 1333 CHARSET_LEFT_TO_RIGHT, |
1285 build_string ("Composite"), | 1334 build_string ("Composite"), |
1286 build_msg_string ("Composite characters"), | 1335 build_msg_string ("Composite characters"), |
1287 build_msg_string ("Composite characters"), | 1336 build_msg_string ("Composite characters"), |
1288 build_string (""), 0, 0); | 1337 vector1(build_string ("")), 0, 0); |
1289 #else | 1338 #else |
1290 /* We create a hack so that we have a way of storing ESC 0 and ESC 1 | 1339 /* We create a hack so that we have a way of storing ESC 0 and ESC 1 |
1291 sequences as "characters", so that they will be output correctly. */ | 1340 sequences as "characters", so that they will be output correctly. */ |
1292 staticpro (&Vcharset_composite); | 1341 staticpro (&Vcharset_composite); |
1293 Vcharset_composite = | 1342 Vcharset_composite = |
1295 CHARSET_TYPE_96, 1, 1, '|', | 1344 CHARSET_TYPE_96, 1, 1, '|', |
1296 CHARSET_LEFT_TO_RIGHT, | 1345 CHARSET_LEFT_TO_RIGHT, |
1297 build_string ("Composite hack"), | 1346 build_string ("Composite hack"), |
1298 build_msg_string ("Composite characters hack"), | 1347 build_msg_string ("Composite characters hack"), |
1299 build_msg_string ("Composite characters hack"), | 1348 build_msg_string ("Composite characters hack"), |
1300 build_string (""), 0, 0); | 1349 vector1(build_string ("")), 0, 0); |
1301 #endif /* ENABLE_COMPOSITE_CHARS */ | 1350 #endif /* ENABLE_COMPOSITE_CHARS */ |
1302 } | 1351 } |