comparison src/mule-charset.c @ 74:54cc21c15cbb r20-0b32

Import from CVS: tag r20-0b32
author cvs
date Mon, 13 Aug 2007 09:04:33 +0200
parents 131b0175ea99
children c7528f8e288d
comparison
equal deleted inserted replaced
73:e2d7a37b7c8d 74:54cc21c15cbb
35 35
36 /* The various pre-defined charsets. */ 36 /* The various pre-defined charsets. */
37 37
38 Lisp_Object Vcharset_ascii; 38 Lisp_Object Vcharset_ascii;
39 Lisp_Object Vcharset_control_1; 39 Lisp_Object Vcharset_control_1;
40 Lisp_Object Vcharset_latin_1; 40 Lisp_Object Vcharset_latin_iso8859_1;
41 Lisp_Object Vcharset_latin_2; 41 Lisp_Object Vcharset_latin_iso8859_2;
42 Lisp_Object Vcharset_latin_3; 42 Lisp_Object Vcharset_latin_iso8859_3;
43 Lisp_Object Vcharset_latin_4; 43 Lisp_Object Vcharset_latin_iso8859_4;
44 Lisp_Object Vcharset_cyrillic; 44 Lisp_Object Vcharset_cyrillic_iso8859_5;
45 Lisp_Object Vcharset_arabic; 45 Lisp_Object Vcharset_arabic_iso8859_6;
46 Lisp_Object Vcharset_greek; 46 Lisp_Object Vcharset_greek_iso8859_7;
47 Lisp_Object Vcharset_hebrew; 47 Lisp_Object Vcharset_hebrew_iso8859_8;
48 Lisp_Object Vcharset_latin_5; 48 Lisp_Object Vcharset_latin_iso8859_9;
49 Lisp_Object Vcharset_thai; 49 Lisp_Object Vcharset_thai_tis620;
50 Lisp_Object Vcharset_japanese_jisx0201_kana; 50 Lisp_Object Vcharset_katakana_jisx0201;
51 Lisp_Object Vcharset_japanese_jisx0201_roman; 51 Lisp_Object Vcharset_latin_jisx0201;
52 Lisp_Object Vcharset_japanese_jisx0208_1978; 52 Lisp_Object Vcharset_japanese_jisx0208_1978;
53 Lisp_Object Vcharset_japanese_jisx0208; 53 Lisp_Object Vcharset_japanese_jisx0208;
54 Lisp_Object Vcharset_japanese_jisx0212; 54 Lisp_Object Vcharset_japanese_jisx0212;
55 Lisp_Object Vcharset_chinese_gb; 55 Lisp_Object Vcharset_chinese_gb2312;
56 Lisp_Object Vcharset_chinese_big5_1; 56 Lisp_Object Vcharset_chinese_big5_1;
57 Lisp_Object Vcharset_chinese_big5_2; 57 Lisp_Object Vcharset_chinese_big5_2;
58 Lisp_Object Vcharset_chinese_cns11643_1; 58 Lisp_Object Vcharset_chinese_cns11643_1;
59 Lisp_Object Vcharset_chinese_cns11643_2; 59 Lisp_Object Vcharset_chinese_cns11643_2;
60 Lisp_Object Vcharset_korean_ksc5601; 60 Lisp_Object Vcharset_korean_ksc5601;
109 Lisp_Object Qregistry, Qfinal, Qgraphic; 109 Lisp_Object Qregistry, Qfinal, Qgraphic;
110 Lisp_Object Qdirection; 110 Lisp_Object Qdirection;
111 Lisp_Object Qreverse_direction_charset; 111 Lisp_Object Qreverse_direction_charset;
112 Lisp_Object Qccl_program; 112 Lisp_Object Qccl_program;
113 113
114 Lisp_Object Qascii, Qcontrol_1, Qlatin_1, Qlatin_2, Qlatin_3, Qlatin_4, Qlatin_5, 114 Lisp_Object Qascii, Qcontrol_1,
115 Qthai, Qarabic, Qhebrew, Qgreek, Qcyrillic,
116 115
117 Qjapanese_jisx0201_kana, 116 Qlatin_iso8859_1,
118 Qjapanese_jisx0201_roman, 117 Qlatin_iso8859_2,
118 Qlatin_iso8859_3,
119 Qlatin_iso8859_4,
120 Qcyrillic_iso8859_5,
121 Qarabic_iso8859_6,
122 Qgreek_iso8859_7,
123 Qhebrew_iso8859_8,
124 Qlatin_iso8859_9,
125
126 Qthai_tis620,
127
128 Qkatakana_jisx0201, Qlatin_jisx0201,
119 Qjapanese_jisx0208_1978, 129 Qjapanese_jisx0208_1978,
120 Qjapanese_jisx0208, 130 Qjapanese_jisx0208,
121 Qjapanese_jisx0212, 131 Qjapanese_jisx0212,
122 132
123 Qchinese_gb, Qchinese_big5_1, Qchinese_big5_2, 133 Qchinese_gb2312,
134 Qchinese_big5_1, Qchinese_big5_2,
124 Qchinese_cns11643_1, Qchinese_cns11643_2, 135 Qchinese_cns11643_1, Qchinese_cns11643_2,
125 136
126 Qkorean_ksc5601, Qcomposite; 137 Qkorean_ksc5601, Qcomposite;
127 138
128 Lisp_Object Ql2r, Qr2l; 139 Lisp_Object Ql2r, Qr2l;
1161 defsymbol (&Qccl_program, "ccl-program"); 1172 defsymbol (&Qccl_program, "ccl-program");
1162 1173
1163 defsymbol (&Ql2r, "l2r"); 1174 defsymbol (&Ql2r, "l2r");
1164 defsymbol (&Qr2l, "r2l"); 1175 defsymbol (&Qr2l, "r2l");
1165 1176
1166 /* Charsets */ 1177 /* Charsets, compatible with Emacs/Mule 19.33-delta
1167 defsymbol (&Qascii, "ascii"); 1178 Naming convention is Script-Charset[-Edition] */
1168 defsymbol (&Qcontrol_1, "control-1"); 1179 defsymbol (&Qascii, "ascii");
1169 defsymbol (&Qlatin_1, "latin-1"); 1180 defsymbol (&Qcontrol_1, "control-1");
1170 defsymbol (&Qlatin_2, "latin-2"); 1181 defsymbol (&Qlatin_iso8859_1, "latin-iso8859-1");
1171 defsymbol (&Qlatin_3, "latin-3"); 1182 defsymbol (&Qlatin_iso8859_2, "latin-iso8859-2");
1172 defsymbol (&Qlatin_4, "latin-4"); 1183 defsymbol (&Qlatin_iso8859_3, "latin-iso8859-3");
1173 defsymbol (&Qcyrillic, "cyrillic"); 1184 defsymbol (&Qlatin_iso8859_4, "latin-iso8859-4");
1174 defsymbol (&Qarabic, "arabic"); 1185 defsymbol (&Qcyrillic_iso8859_5, "cyrillic-iso8859-5");
1175 defsymbol (&Qgreek, "greek"); 1186 defsymbol (&Qarabic_iso8859_6, "arabic-iso8859-6");
1176 defsymbol (&Qhebrew, "hebrew"); 1187 defsymbol (&Qgreek_iso8859_7, "greek-iso8859-7");
1177 defsymbol (&Qlatin_5, "latin-5"); 1188 defsymbol (&Qhebrew_iso8859_8, "hebrew-iso8859-8");
1178 defsymbol (&Qthai, "thai"); 1189 defsymbol (&Qlatin_iso8859_9, "latin-iso8859-9");
1190 defsymbol (&Qthai_tis620, "thai-tis620");
1179 1191
1180 defsymbol (&Qjapanese_jisx0201_kana, "japanese-jisx0201-kana"); 1192 defsymbol (&Qkatakana_jisx0201, "katakana-jisx0201");
1181 defsymbol (&Qjapanese_jisx0201_roman, "japanese-jisx0201-roman"); 1193 defsymbol (&Qlatin_jisx0201, "latin-jisx0201");
1182 defsymbol (&Qjapanese_jisx0208_1978, "japanese-jisx0208-1978"); 1194 defsymbol (&Qjapanese_jisx0208_1978, "japanese-jisx0208-1978");
1183 defsymbol (&Qjapanese_jisx0208, "japanese-jisx0208"); 1195 defsymbol (&Qjapanese_jisx0208, "japanese-jisx0208");
1184 defsymbol (&Qjapanese_jisx0212, "japanese-jisx0212"); 1196 defsymbol (&Qjapanese_jisx0212, "japanese-jisx0212");
1185 1197
1186 defsymbol (&Qchinese_gb, "chinese-gb"); 1198 defsymbol (&Qchinese_gb2312, "chinese-gb2312");
1187 defsymbol (&Qchinese_big5_1, "chinese-big5-1"); 1199 defsymbol (&Qchinese_big5_1, "chinese-big5-1");
1188 defsymbol (&Qchinese_big5_2, "chinese-big5-2"); 1200 defsymbol (&Qchinese_big5_2, "chinese-big5-2");
1189 defsymbol (&Qchinese_cns11643_1, "chinese-cns11643-1"); 1201 defsymbol (&Qchinese_cns11643_1, "chinese-cns11643-1");
1190 defsymbol (&Qchinese_cns11643_2, "chinese-cns11643-2"); 1202 defsymbol (&Qchinese_cns11643_2, "chinese-cns11643-2");
1191 1203
1192 defsymbol (&Qkorean_ksc5601, "korean-ksc5601"); 1204 defsymbol (&Qkorean_ksc5601, "korean-ksc5601");
1193 defsymbol (&Qcomposite, "composite"); 1205 defsymbol (&Qcomposite, "composite");
1194 } 1206 }
1195 1207
1196 void 1208 void
1197 vars_of_mule_charset (void) 1209 vars_of_mule_charset (void)
1198 { 1210 {
1235 make_charset (Qcontrol_1, LEADING_BYTE_CONTROL_1, 2, 1247 make_charset (Qcontrol_1, LEADING_BYTE_CONTROL_1, 2,
1236 CHARSET_TYPE_94, 1, 0, 0, 1248 CHARSET_TYPE_94, 1, 0, 0,
1237 CHARSET_LEFT_TO_RIGHT, 1249 CHARSET_LEFT_TO_RIGHT,
1238 build_string ("Control characters"), 1250 build_string ("Control characters"),
1239 build_string ("")); 1251 build_string (""));
1240 Vcharset_latin_1 = 1252 Vcharset_latin_iso8859_1 =
1241 make_charset (Qlatin_1, LEADING_BYTE_LATIN_1, 2, 1253 make_charset (Qlatin_iso8859_1, LEADING_BYTE_LATIN_ISO8859_1, 2,
1242 CHARSET_TYPE_96, 1, 1, 'A', 1254 CHARSET_TYPE_96, 1, 1, 'A',
1243 CHARSET_LEFT_TO_RIGHT, 1255 CHARSET_LEFT_TO_RIGHT,
1244 build_string ("Latin-1"), 1256 build_string ("Latin-1"),
1245 build_string ("ISO8859-1")); 1257 build_string ("ISO8859-1"));
1246 Vcharset_latin_2 = 1258 Vcharset_latin_iso8859_2 =
1247 make_charset (Qlatin_2, LEADING_BYTE_LATIN_2, 2, 1259 make_charset (Qlatin_iso8859_2, LEADING_BYTE_LATIN_ISO8859_2, 2,
1248 CHARSET_TYPE_96, 1, 1, 'B', 1260 CHARSET_TYPE_96, 1, 1, 'B',
1249 CHARSET_LEFT_TO_RIGHT, 1261 CHARSET_LEFT_TO_RIGHT,
1250 build_string ("Latin-2"), 1262 build_string ("Latin-2"),
1251 build_string ("ISO8859-2")); 1263 build_string ("ISO8859-2"));
1252 Vcharset_latin_3 = 1264 Vcharset_latin_iso8859_3 =
1253 make_charset (Qlatin_3, LEADING_BYTE_LATIN_3, 2, 1265 make_charset (Qlatin_iso8859_3, LEADING_BYTE_LATIN_ISO8859_3, 2,
1254 CHARSET_TYPE_96, 1, 1, 'C', 1266 CHARSET_TYPE_96, 1, 1, 'C',
1255 CHARSET_LEFT_TO_RIGHT, 1267 CHARSET_LEFT_TO_RIGHT,
1256 build_string ("Latin-3"), 1268 build_string ("Latin-3"),
1257 build_string ("ISO8859-3")); 1269 build_string ("ISO8859-3"));
1258 Vcharset_latin_4 = 1270 Vcharset_latin_iso8859_4 =
1259 make_charset (Qlatin_4, LEADING_BYTE_LATIN_4, 2, 1271 make_charset (Qlatin_iso8859_4, LEADING_BYTE_LATIN_ISO8859_4, 2,
1260 CHARSET_TYPE_96, 1, 1, 'D', 1272 CHARSET_TYPE_96, 1, 1, 'D',
1261 CHARSET_LEFT_TO_RIGHT, 1273 CHARSET_LEFT_TO_RIGHT,
1262 build_string ("Latin-4"), 1274 build_string ("Latin-4"),
1263 build_string ("ISO8859-4")); 1275 build_string ("ISO8859-4"));
1264 Vcharset_cyrillic = 1276 Vcharset_cyrillic_iso8859_5 =
1265 make_charset (Qcyrillic, LEADING_BYTE_CYRILLIC, 2, 1277 make_charset (Qcyrillic_iso8859_5, LEADING_BYTE_CYRILLIC_ISO8859_5, 2,
1266 CHARSET_TYPE_96, 1, 1, 'L', 1278 CHARSET_TYPE_96, 1, 1, 'L',
1267 CHARSET_LEFT_TO_RIGHT, 1279 CHARSET_LEFT_TO_RIGHT,
1268 build_string ("Cyrillic"), 1280 build_string ("Cyrillic"),
1269 build_string ("ISO8859-5")); 1281 build_string ("ISO8859-5"));
1270 Vcharset_arabic = 1282 Vcharset_arabic_iso8859_6 =
1271 make_charset (Qarabic, LEADING_BYTE_ARABIC, 2, 1283 make_charset (Qarabic_iso8859_6, LEADING_BYTE_ARABIC_ISO8859_6, 2,
1272 CHARSET_TYPE_96, 1, 1, 'G', 1284 CHARSET_TYPE_96, 1, 1, 'G',
1273 CHARSET_RIGHT_TO_LEFT, 1285 CHARSET_RIGHT_TO_LEFT,
1274 build_string ("Arabic"), 1286 build_string ("Arabic"),
1275 build_string ("ISO8859-6")); 1287 build_string ("ISO8859-6"));
1276 Vcharset_greek = 1288 Vcharset_greek_iso8859_7 =
1277 make_charset (Qgreek, LEADING_BYTE_GREEK, 2, 1289 make_charset (Qgreek_iso8859_7, LEADING_BYTE_GREEK_ISO8859_7, 2,
1278 CHARSET_TYPE_96, 1, 1, 'F', 1290 CHARSET_TYPE_96, 1, 1, 'F',
1279 CHARSET_LEFT_TO_RIGHT, 1291 CHARSET_LEFT_TO_RIGHT,
1280 build_string ("Greek"), 1292 build_string ("Greek"),
1281 build_string ("ISO8859-7")); 1293 build_string ("ISO8859-7"));
1282 Vcharset_hebrew = 1294 Vcharset_hebrew_iso8859_8 =
1283 make_charset (Qhebrew, LEADING_BYTE_HEBREW, 2, 1295 make_charset (Qhebrew_iso8859_8, LEADING_BYTE_HEBREW_ISO8859_8, 2,
1284 CHARSET_TYPE_96, 1, 1, 'H', 1296 CHARSET_TYPE_96, 1, 1, 'H',
1285 CHARSET_RIGHT_TO_LEFT, 1297 CHARSET_RIGHT_TO_LEFT,
1286 build_string ("Hebrew"), 1298 build_string ("Hebrew"),
1287 build_string ("ISO8859-8")); 1299 build_string ("ISO8859-8"));
1288 Vcharset_latin_5 = 1300 Vcharset_latin_iso8859_9 =
1289 make_charset (Qlatin_5, LEADING_BYTE_LATIN_5, 2, 1301 make_charset (Qlatin_iso8859_9, LEADING_BYTE_LATIN_ISO8859_9, 2,
1290 CHARSET_TYPE_96, 1, 1, 'M', 1302 CHARSET_TYPE_96, 1, 1, 'M',
1291 CHARSET_LEFT_TO_RIGHT, 1303 CHARSET_LEFT_TO_RIGHT,
1292 build_string ("Latin-5"), 1304 build_string ("Latin-5"),
1293 build_string ("ISO8859-9")); 1305 build_string ("ISO8859-9"));
1294 Vcharset_thai = 1306 Vcharset_thai_tis620 =
1295 make_charset (Qthai, LEADING_BYTE_THAI, 2, 1307 make_charset (Qthai_tis620, LEADING_BYTE_THAI_TIS620, 2,
1296 CHARSET_TYPE_96, 1, 1, 'T', 1308 CHARSET_TYPE_96, 1, 1, 'T',
1297 CHARSET_LEFT_TO_RIGHT, 1309 CHARSET_LEFT_TO_RIGHT,
1298 build_string ("Thai"), 1310 build_string ("Thai"),
1299 build_string ("TIS620")); 1311 build_string ("TIS620"));
1300 1312
1301 /* Japanese */ 1313 /* Japanese */
1302 Vcharset_japanese_jisx0201_kana = 1314 Vcharset_katakana_jisx0201 =
1303 make_charset (Qjapanese_jisx0201_kana, 1315 make_charset (Qkatakana_jisx0201,
1304 LEADING_BYTE_JAPANESE_JISX0201_KANA, 2, 1316 LEADING_BYTE_KATAKANA_JISX0201, 2,
1305 CHARSET_TYPE_94, 1, 1, 'I', 1317 CHARSET_TYPE_94, 1, 1, 'I',
1306 CHARSET_LEFT_TO_RIGHT, 1318 CHARSET_LEFT_TO_RIGHT,
1307 build_string ("Japanese Katakana"), 1319 build_string ("Japanese Katakana"),
1308 build_string ("JISX0201.1976")); 1320 build_string ("JISX0201.1976"));
1309 Vcharset_japanese_jisx0201_roman = 1321 Vcharset_latin_jisx0201 =
1310 make_charset (Qjapanese_jisx0201_roman, 1322 make_charset (Qlatin_jisx0201,
1311 LEADING_BYTE_JAPANESE_JISX0201_ROMAN, 2, 1323 LEADING_BYTE_LATIN_JISX0201, 2,
1312 CHARSET_TYPE_94, 1, 0, 'J', 1324 CHARSET_TYPE_94, 1, 0, 'J',
1313 CHARSET_LEFT_TO_RIGHT, 1325 CHARSET_LEFT_TO_RIGHT,
1314 build_string ("Japanese Roman"), 1326 build_string ("Japanese Roman"),
1315 build_string ("JISX0201.1976")); 1327 build_string ("JISX0201.1976"));
1316 Vcharset_japanese_jisx0208_1978 = 1328 Vcharset_japanese_jisx0208_1978 =
1334 CHARSET_LEFT_TO_RIGHT, 1346 CHARSET_LEFT_TO_RIGHT,
1335 build_string ("Japanese Supplement"), 1347 build_string ("Japanese Supplement"),
1336 build_string ("JISX0212")); 1348 build_string ("JISX0212"));
1337 1349
1338 /* Chinese */ 1350 /* Chinese */
1339 Vcharset_chinese_gb = 1351 Vcharset_chinese_gb2312 =
1340 make_charset (Qchinese_gb, LEADING_BYTE_CHINESE_GB, 3, 1352 make_charset (Qchinese_gb2312, LEADING_BYTE_CHINESE_GB2312, 3,
1341 CHARSET_TYPE_94X94, 2, 0, 'A', 1353 CHARSET_TYPE_94X94, 2, 0, 'A',
1342 CHARSET_LEFT_TO_RIGHT, 1354 CHARSET_LEFT_TO_RIGHT,
1343 build_string ("Chinese GB"), 1355 build_string ("Chinese GB2312"),
1344 build_string ("GB2312")); 1356 build_string ("GB2312"));
1345 #define CHINESE_CNS_PLANE_RE(n) "CNS11643[.-]\\(.*[.-]\\)?" n "$" 1357 #define CHINESE_CNS_PLANE_RE(n) "CNS11643[.-]\\(.*[.-]\\)?" n "$"
1346 Vcharset_chinese_cns11643_1 = 1358 Vcharset_chinese_cns11643_1 =
1347 make_charset (Qchinese_cns11643_1, 1359 make_charset (Qchinese_cns11643_1,
1348 LEADING_BYTE_CHINESE_CNS11643_1, 3, 1360 LEADING_BYTE_CHINESE_CNS11643_1, 3,