Mercurial > hg > xemacs-beta
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, |