comparison src/mule-charset.c @ 213:78f53ef88e17 r20-4b5

Import from CVS: tag r20-4b5
author cvs
date Mon, 13 Aug 2007 10:06:47 +0200
parents 3d6bfa290dbd
children f955c73f5258
comparison
equal deleted inserted replaced
212:d8688acf4c5b 213:78f53ef88e17
434 } 434 }
435 435
436 /* Make a new charset. */ 436 /* Make a new charset. */
437 437
438 static Lisp_Object 438 static Lisp_Object
439 make_charset (Lisp_Object name, Bufbyte leading_byte, unsigned char rep_bytes, 439 make_charset (int id, Lisp_Object name, Bufbyte leading_byte, unsigned char rep_bytes,
440 unsigned char type, unsigned char columns, unsigned char graphic, 440 unsigned char type, unsigned char columns, unsigned char graphic,
441 Bufbyte final, unsigned char direction, Lisp_Object doc, 441 Bufbyte final, unsigned char direction, Lisp_Object doc,
442 Lisp_Object reg) 442 Lisp_Object reg)
443 { 443 {
444 struct Lisp_Charset *cs; 444 struct Lisp_Charset *cs;
445 Lisp_Object obj = Qnil; 445 Lisp_Object obj = Qnil;
446 446
447 cs = alloc_lcrecord_type (struct Lisp_Charset, lrecord_charset); 447 cs = alloc_lcrecord_type (struct Lisp_Charset, lrecord_charset);
448 XSETCHARSET (obj, cs); 448 XSETCHARSET (obj, cs);
449 449
450 CHARSET_ID (cs) = id;
450 CHARSET_NAME (cs) = name; 451 CHARSET_NAME (cs) = name;
451 CHARSET_LEADING_BYTE (cs) = leading_byte; 452 CHARSET_LEADING_BYTE (cs) = leading_byte;
452 CHARSET_REP_BYTES (cs) = rep_bytes; 453 CHARSET_REP_BYTES (cs) = rep_bytes;
453 CHARSET_DIRECTION (cs) = direction; 454 CHARSET_DIRECTION (cs) = direction;
454 CHARSET_TYPE (cs) = type; 455 CHARSET_TYPE (cs) = type;
758 if (NILP (registry)) 759 if (NILP (registry))
759 registry = build_string (""); 760 registry = build_string ("");
760 761
761 if (columns == -1) 762 if (columns == -1)
762 columns = dimension; 763 columns = dimension;
763 charset = make_charset (name, lb, dimension + 2, type, columns, graphic, 764 charset = make_charset (-1, name, lb, dimension + 2, type, columns, graphic,
764 final, direction, doc_string, registry); 765 final, direction, doc_string, registry);
765 if (!NILP (ccl_program)) 766 if (!NILP (ccl_program))
766 XCHARSET_CCL_PROGRAM (charset) = ccl_program; 767 XCHARSET_CCL_PROGRAM (charset) = ccl_program;
767 return charset; 768 return charset;
768 } 769 }
802 if (CHARSET_DIRECTION (cs) == CHARSET_RIGHT_TO_LEFT) 803 if (CHARSET_DIRECTION (cs) == CHARSET_RIGHT_TO_LEFT)
803 direction = CHARSET_LEFT_TO_RIGHT; 804 direction = CHARSET_LEFT_TO_RIGHT;
804 doc_string = CHARSET_DOC_STRING (cs); 805 doc_string = CHARSET_DOC_STRING (cs);
805 registry = CHARSET_REGISTRY (cs); 806 registry = CHARSET_REGISTRY (cs);
806 807
807 new_charset = make_charset (new_name, lb, dimension + 2, type, columns, 808 new_charset = make_charset (-1, new_name, lb, dimension + 2, type, columns,
808 graphic, final, direction, doc_string, registry); 809 graphic, final, direction, doc_string, registry);
809 810
810 CHARSET_REVERSE_DIRECTION_CHARSET (cs) = new_charset; 811 CHARSET_REVERSE_DIRECTION_CHARSET (cs) = new_charset;
811 XCHARSET_REVERSE_DIRECTION_CHARSET (new_charset) = charset; 812 XCHARSET_REVERSE_DIRECTION_CHARSET (new_charset) = charset;
812 813
936 } 937 }
937 signal_simple_error ("Unrecognized charset property name", prop); 938 signal_simple_error ("Unrecognized charset property name", prop);
938 return Qnil; /* not reached */ 939 return Qnil; /* not reached */
939 } 940 }
940 941
942 DEFUN ("charset-id", Fcharset_id, 1, 1, 0, /*
943 Return charset identification number of CHARSET.
944 */
945 (charset))
946 {
947 return make_int(XCHARSET_ID (Fget_charset (charset)));
948 }
949
941 /* #### We need to figure out which properties we really want to 950 /* #### We need to figure out which properties we really want to
942 allow to be set. */ 951 allow to be set. */
943 952
944 DEFUN ("set-charset-ccl-program", Fset_charset_ccl_program, 2, 2, 0, /* 953 DEFUN ("set-charset-ccl-program", Fset_charset_ccl_program, 2, 2, 0, /*
945 Set the 'ccl-program property of CHARSET to CCL-PROGRAM. 954 Set the 'ccl-program property of CHARSET to CCL-PROGRAM.
1147 /* DEFSUBR (Freverse_direction_charset); */ 1156 /* DEFSUBR (Freverse_direction_charset); */
1148 DEFSUBR (Fcharset_from_attributes); 1157 DEFSUBR (Fcharset_from_attributes);
1149 DEFSUBR (Fcharset_doc_string); 1158 DEFSUBR (Fcharset_doc_string);
1150 DEFSUBR (Fcharset_dimension); 1159 DEFSUBR (Fcharset_dimension);
1151 DEFSUBR (Fcharset_property); 1160 DEFSUBR (Fcharset_property);
1161 DEFSUBR (Fcharset_id);
1152 DEFSUBR (Fset_charset_ccl_program); 1162 DEFSUBR (Fset_charset_ccl_program);
1153 DEFSUBR (Fset_charset_registry); 1163 DEFSUBR (Fset_charset_registry);
1154 1164
1155 DEFSUBR (Fmake_char); 1165 DEFSUBR (Fmake_char);
1156 DEFSUBR (Fchar_charset); 1166 DEFSUBR (Fchar_charset);
1229 1239
1230 /* Predefined character sets. We store them into variables for 1240 /* Predefined character sets. We store them into variables for
1231 ease of access. */ 1241 ease of access. */
1232 1242
1233 Vcharset_ascii = 1243 Vcharset_ascii =
1234 make_charset (Qascii, LEADING_BYTE_ASCII, 1, 1244 make_charset (0, Qascii, LEADING_BYTE_ASCII, 1,
1235 CHARSET_TYPE_94, 1, 0, 'B', 1245 CHARSET_TYPE_94, 1, 0, 'B',
1236 CHARSET_LEFT_TO_RIGHT, 1246 CHARSET_LEFT_TO_RIGHT,
1237 build_string ("ASCII (ISO 646 IRV)"), 1247 build_string ("ASCII (ISO 646 IRV)"),
1238 build_string ("iso8859-1")); 1248 build_string ("iso8859-1"));
1239 Vcharset_control_1 = 1249 Vcharset_control_1 =
1240 make_charset (Qcontrol_1, LEADING_BYTE_CONTROL_1, 2, 1250 make_charset (-1, Qcontrol_1, LEADING_BYTE_CONTROL_1, 2,
1241 CHARSET_TYPE_94, 1, 0, 0, 1251 CHARSET_TYPE_94, 1, 0, 0,
1242 CHARSET_LEFT_TO_RIGHT, 1252 CHARSET_LEFT_TO_RIGHT,
1243 build_string ("Control characters"), 1253 build_string ("Control characters"),
1244 build_string ("")); 1254 build_string (""));
1245 Vcharset_latin_iso8859_1 = 1255 Vcharset_latin_iso8859_1 =
1246 make_charset (Qlatin_iso8859_1, LEADING_BYTE_LATIN_ISO8859_1, 2, 1256 make_charset (129, Qlatin_iso8859_1, LEADING_BYTE_LATIN_ISO8859_1, 2,
1247 CHARSET_TYPE_96, 1, 1, 'A', 1257 CHARSET_TYPE_96, 1, 1, 'A',
1248 CHARSET_LEFT_TO_RIGHT, 1258 CHARSET_LEFT_TO_RIGHT,
1249 build_string ("ISO 8859-1 (Latin-1)"), 1259 build_string ("ISO 8859-1 (Latin-1)"),
1250 build_string ("iso8859-1")); 1260 build_string ("iso8859-1"));
1251 Vcharset_latin_iso8859_2 = 1261 Vcharset_latin_iso8859_2 =
1252 make_charset (Qlatin_iso8859_2, LEADING_BYTE_LATIN_ISO8859_2, 2, 1262 make_charset (130, Qlatin_iso8859_2, LEADING_BYTE_LATIN_ISO8859_2, 2,
1253 CHARSET_TYPE_96, 1, 1, 'B', 1263 CHARSET_TYPE_96, 1, 1, 'B',
1254 CHARSET_LEFT_TO_RIGHT, 1264 CHARSET_LEFT_TO_RIGHT,
1255 build_string ("ISO 8859-2 (Latin-2)"), 1265 build_string ("ISO 8859-2 (Latin-2)"),
1256 build_string ("iso8859-2")); 1266 build_string ("iso8859-2"));
1257 Vcharset_latin_iso8859_3 = 1267 Vcharset_latin_iso8859_3 =
1258 make_charset (Qlatin_iso8859_3, LEADING_BYTE_LATIN_ISO8859_3, 2, 1268 make_charset (131, Qlatin_iso8859_3, LEADING_BYTE_LATIN_ISO8859_3, 2,
1259 CHARSET_TYPE_96, 1, 1, 'C', 1269 CHARSET_TYPE_96, 1, 1, 'C',
1260 CHARSET_LEFT_TO_RIGHT, 1270 CHARSET_LEFT_TO_RIGHT,
1261 build_string ("ISO 8859-3 (Latin-3)"), 1271 build_string ("ISO 8859-3 (Latin-3)"),
1262 build_string ("iso8859-3")); 1272 build_string ("iso8859-3"));
1263 Vcharset_latin_iso8859_4 = 1273 Vcharset_latin_iso8859_4 =
1264 make_charset (Qlatin_iso8859_4, LEADING_BYTE_LATIN_ISO8859_4, 2, 1274 make_charset (132, Qlatin_iso8859_4, LEADING_BYTE_LATIN_ISO8859_4, 2,
1265 CHARSET_TYPE_96, 1, 1, 'D', 1275 CHARSET_TYPE_96, 1, 1, 'D',
1266 CHARSET_LEFT_TO_RIGHT, 1276 CHARSET_LEFT_TO_RIGHT,
1267 build_string ("ISO 8859-4 (Latin-4)"), 1277 build_string ("ISO 8859-4 (Latin-4)"),
1268 build_string ("iso8859-4")); 1278 build_string ("iso8859-4"));
1269 Vcharset_cyrillic_iso8859_5 = 1279 Vcharset_cyrillic_iso8859_5 =
1270 make_charset (Qcyrillic_iso8859_5, LEADING_BYTE_CYRILLIC_ISO8859_5, 2, 1280 make_charset (140, Qcyrillic_iso8859_5, LEADING_BYTE_CYRILLIC_ISO8859_5, 2,
1271 CHARSET_TYPE_96, 1, 1, 'L', 1281 CHARSET_TYPE_96, 1, 1, 'L',
1272 CHARSET_LEFT_TO_RIGHT, 1282 CHARSET_LEFT_TO_RIGHT,
1273 build_string ("ISO 8859-5 (Cyrillic)"), 1283 build_string ("ISO 8859-5 (Cyrillic)"),
1274 build_string ("iso8859-5")); 1284 build_string ("iso8859-5"));
1275 Vcharset_arabic_iso8859_6 = 1285 Vcharset_arabic_iso8859_6 =
1276 make_charset (Qarabic_iso8859_6, LEADING_BYTE_ARABIC_ISO8859_6, 2, 1286 make_charset (135, Qarabic_iso8859_6, LEADING_BYTE_ARABIC_ISO8859_6, 2,
1277 CHARSET_TYPE_96, 1, 1, 'G', 1287 CHARSET_TYPE_96, 1, 1, 'G',
1278 CHARSET_RIGHT_TO_LEFT, 1288 CHARSET_RIGHT_TO_LEFT,
1279 build_string ("ISO 8859-6 (Arabic)"), 1289 build_string ("ISO 8859-6 (Arabic)"),
1280 build_string ("iso8859-6")); 1290 build_string ("iso8859-6"));
1281 Vcharset_greek_iso8859_7 = 1291 Vcharset_greek_iso8859_7 =
1282 make_charset (Qgreek_iso8859_7, LEADING_BYTE_GREEK_ISO8859_7, 2, 1292 make_charset (134, Qgreek_iso8859_7, LEADING_BYTE_GREEK_ISO8859_7, 2,
1283 CHARSET_TYPE_96, 1, 1, 'F', 1293 CHARSET_TYPE_96, 1, 1, 'F',
1284 CHARSET_LEFT_TO_RIGHT, 1294 CHARSET_LEFT_TO_RIGHT,
1285 build_string ("ISO 8859-7 (Greek)"), 1295 build_string ("ISO 8859-7 (Greek)"),
1286 build_string ("iso8859-7")); 1296 build_string ("iso8859-7"));
1287 Vcharset_hebrew_iso8859_8 = 1297 Vcharset_hebrew_iso8859_8 =
1288 make_charset (Qhebrew_iso8859_8, LEADING_BYTE_HEBREW_ISO8859_8, 2, 1298 make_charset (136, Qhebrew_iso8859_8, LEADING_BYTE_HEBREW_ISO8859_8, 2,
1289 CHARSET_TYPE_96, 1, 1, 'H', 1299 CHARSET_TYPE_96, 1, 1, 'H',
1290 CHARSET_RIGHT_TO_LEFT, 1300 CHARSET_RIGHT_TO_LEFT,
1291 build_string ("ISO 8859-8 (Hebrew)"), 1301 build_string ("ISO 8859-8 (Hebrew)"),
1292 build_string ("iso8859-8")); 1302 build_string ("iso8859-8"));
1293 Vcharset_latin_iso8859_9 = 1303 Vcharset_latin_iso8859_9 =
1294 make_charset (Qlatin_iso8859_9, LEADING_BYTE_LATIN_ISO8859_9, 2, 1304 make_charset (141, Qlatin_iso8859_9, LEADING_BYTE_LATIN_ISO8859_9, 2,
1295 CHARSET_TYPE_96, 1, 1, 'M', 1305 CHARSET_TYPE_96, 1, 1, 'M',
1296 CHARSET_LEFT_TO_RIGHT, 1306 CHARSET_LEFT_TO_RIGHT,
1297 build_string ("ISO 8859-9 (Latin-5)"), 1307 build_string ("ISO 8859-9 (Latin-5)"),
1298 build_string ("iso8859-9")); 1308 build_string ("iso8859-9"));
1299 Vcharset_thai_tis620 = 1309 Vcharset_thai_tis620 =
1300 make_charset (Qthai_tis620, LEADING_BYTE_THAI_TIS620, 2, 1310 make_charset (133, Qthai_tis620, LEADING_BYTE_THAI_TIS620, 2,
1301 CHARSET_TYPE_96, 1, 1, 'T', 1311 CHARSET_TYPE_96, 1, 1, 'T',
1302 CHARSET_LEFT_TO_RIGHT, 1312 CHARSET_LEFT_TO_RIGHT,
1303 build_string ("TIS 620.2529 (Thai)"), 1313 build_string ("TIS 620.2529 (Thai)"),
1304 build_string ("tis620")); 1314 build_string ("tis620"));
1305 1315
1306 /* Japanese */ 1316 /* Japanese */
1307 Vcharset_katakana_jisx0201 = 1317 Vcharset_katakana_jisx0201 =
1308 make_charset (Qkatakana_jisx0201, 1318 make_charset (137, Qkatakana_jisx0201,
1309 LEADING_BYTE_KATAKANA_JISX0201, 2, 1319 LEADING_BYTE_KATAKANA_JISX0201, 2,
1310 CHARSET_TYPE_94, 1, 1, 'I', 1320 CHARSET_TYPE_94, 1, 1, 'I',
1311 CHARSET_LEFT_TO_RIGHT, 1321 CHARSET_LEFT_TO_RIGHT,
1312 build_string ("JIS X0201-Katakana"), 1322 build_string ("JIS X0201-Katakana"),
1313 build_string ("jisx0201.1976")); 1323 build_string ("jisx0201.1976"));
1314 Vcharset_latin_jisx0201 = 1324 Vcharset_latin_jisx0201 =
1315 make_charset (Qlatin_jisx0201, 1325 make_charset (138, Qlatin_jisx0201,
1316 LEADING_BYTE_LATIN_JISX0201, 2, 1326 LEADING_BYTE_LATIN_JISX0201, 2,
1317 CHARSET_TYPE_94, 1, 0, 'J', 1327 CHARSET_TYPE_94, 1, 0, 'J',
1318 CHARSET_LEFT_TO_RIGHT, 1328 CHARSET_LEFT_TO_RIGHT,
1319 build_string ("JIS X0201-Latin"), 1329 build_string ("JIS X0201-Latin"),
1320 build_string ("jisx0201.1976")); 1330 build_string ("jisx0201.1976"));
1321 Vcharset_japanese_jisx0208_1978 = 1331 Vcharset_japanese_jisx0208_1978 =
1322 make_charset (Qjapanese_jisx0208_1978, 1332 make_charset (144, Qjapanese_jisx0208_1978,
1323 LEADING_BYTE_JAPANESE_JISX0208_1978, 3, 1333 LEADING_BYTE_JAPANESE_JISX0208_1978, 3,
1324 CHARSET_TYPE_94X94, 2, 0, '@', 1334 CHARSET_TYPE_94X94, 2, 0, '@',
1325 CHARSET_LEFT_TO_RIGHT, 1335 CHARSET_LEFT_TO_RIGHT,
1326 build_string 1336 build_string
1327 ("JIS X0208-1978 (Japanese Kanji; Old Version)"), 1337 ("JIS X0208-1978 (Japanese Kanji; Old Version)"),
1328 build_string ("\\(jisx0208\\|jisc6226\\).19")); 1338 build_string ("\\(jisx0208\\|jisc6226\\).19"));
1329 Vcharset_japanese_jisx0208 = 1339 Vcharset_japanese_jisx0208 =
1330 make_charset (Qjapanese_jisx0208, 1340 make_charset (146, Qjapanese_jisx0208,
1331 LEADING_BYTE_JAPANESE_JISX0208, 3, 1341 LEADING_BYTE_JAPANESE_JISX0208, 3,
1332 CHARSET_TYPE_94X94, 2, 0, 'B', 1342 CHARSET_TYPE_94X94, 2, 0, 'B',
1333 CHARSET_LEFT_TO_RIGHT, 1343 CHARSET_LEFT_TO_RIGHT,
1334 build_string ("JIS X0208-1983 (Japanese Kanji)"), 1344 build_string ("JIS X0208-1983 (Japanese Kanji)"),
1335 build_string ("jisx0208.19\\(83\\|90\\)")); 1345 build_string ("jisx0208.19\\(83\\|90\\)"));
1336 Vcharset_japanese_jisx0212 = 1346 Vcharset_japanese_jisx0212 =
1337 make_charset (Qjapanese_jisx0212, 1347 make_charset (148, Qjapanese_jisx0212,
1338 LEADING_BYTE_JAPANESE_JISX0212, 3, 1348 LEADING_BYTE_JAPANESE_JISX0212, 3,
1339 CHARSET_TYPE_94X94, 2, 0, 'D', 1349 CHARSET_TYPE_94X94, 2, 0, 'D',
1340 CHARSET_LEFT_TO_RIGHT, 1350 CHARSET_LEFT_TO_RIGHT,
1341 build_string ("JIS X0212 (Japanese Supplement)"), 1351 build_string ("JIS X0212 (Japanese Supplement)"),
1342 build_string ("jisx0212")); 1352 build_string ("jisx0212"));
1343 1353
1344 /* Chinese */ 1354 /* Chinese */
1345 Vcharset_chinese_gb2312 = 1355 Vcharset_chinese_gb2312 =
1346 make_charset (Qchinese_gb2312, LEADING_BYTE_CHINESE_GB2312, 3, 1356 make_charset (145, Qchinese_gb2312, LEADING_BYTE_CHINESE_GB2312, 3,
1347 CHARSET_TYPE_94X94, 2, 0, 'A', 1357 CHARSET_TYPE_94X94, 2, 0, 'A',
1348 CHARSET_LEFT_TO_RIGHT, 1358 CHARSET_LEFT_TO_RIGHT,
1349 build_string ("GB 2312 (Simplified Chinese)"), 1359 build_string ("GB 2312 (Simplified Chinese)"),
1350 build_string ("gb2312")); 1360 build_string ("gb2312"));
1351 #define CHINESE_CNS_PLANE_RE(n) "cns11643[.-]\\(.*[.-]\\)?" n "$" 1361 #define CHINESE_CNS_PLANE_RE(n) "cns11643[.-]\\(.*[.-]\\)?" n "$"
1352 Vcharset_chinese_cns11643_1 = 1362 Vcharset_chinese_cns11643_1 =
1353 make_charset (Qchinese_cns11643_1, 1363 make_charset (149, Qchinese_cns11643_1,
1354 LEADING_BYTE_CHINESE_CNS11643_1, 3, 1364 LEADING_BYTE_CHINESE_CNS11643_1, 3,
1355 CHARSET_TYPE_94X94, 2, 0, 'G', 1365 CHARSET_TYPE_94X94, 2, 0, 'G',
1356 CHARSET_LEFT_TO_RIGHT, 1366 CHARSET_LEFT_TO_RIGHT,
1357 build_string 1367 build_string
1358 ("CNS 11643 Plane 1 (Traditional Chinese for daily use)"), 1368 ("CNS 11643 Plane 1 (Traditional Chinese for daily use)"),
1359 build_string (CHINESE_CNS_PLANE_RE("1"))); 1369 build_string (CHINESE_CNS_PLANE_RE("1")));
1360 Vcharset_chinese_cns11643_2 = 1370 Vcharset_chinese_cns11643_2 =
1361 make_charset (Qchinese_cns11643_2, 1371 make_charset (150, Qchinese_cns11643_2,
1362 LEADING_BYTE_CHINESE_CNS11643_2, 3, 1372 LEADING_BYTE_CHINESE_CNS11643_2, 3,
1363 CHARSET_TYPE_94X94, 2, 0, 'H', 1373 CHARSET_TYPE_94X94, 2, 0, 'H',
1364 CHARSET_LEFT_TO_RIGHT, 1374 CHARSET_LEFT_TO_RIGHT,
1365 build_string 1375 build_string
1366 ("CNS 11643 Plane 2 (Traditional Chinese for daily use)"), 1376 ("CNS 11643 Plane 2 (Traditional Chinese for daily use)"),
1367 build_string (CHINESE_CNS_PLANE_RE("2"))); 1377 build_string (CHINESE_CNS_PLANE_RE("2")));
1368 Vcharset_chinese_big5_1 = 1378 Vcharset_chinese_big5_1 =
1369 make_charset (Qchinese_big5_1, LEADING_BYTE_CHINESE_BIG5_1, 3, 1379 make_charset (152, Qchinese_big5_1, LEADING_BYTE_CHINESE_BIG5_1, 3,
1370 CHARSET_TYPE_94X94, 2, 0, '0', 1380 CHARSET_TYPE_94X94, 2, 0, '0',
1371 CHARSET_LEFT_TO_RIGHT, 1381 CHARSET_LEFT_TO_RIGHT,
1372 build_string 1382 build_string
1373 ("Big5 Level 1 (Traditional Chinese for daily use)"), 1383 ("Big5 Level 1 (Traditional Chinese for daily use)"),
1374 build_string ("big5")); 1384 build_string ("big5"));
1375 Vcharset_chinese_big5_2 = 1385 Vcharset_chinese_big5_2 =
1376 make_charset (Qchinese_big5_2, LEADING_BYTE_CHINESE_BIG5_2, 3, 1386 make_charset (153, Qchinese_big5_2, LEADING_BYTE_CHINESE_BIG5_2, 3,
1377 CHARSET_TYPE_94X94, 2, 0, '1', 1387 CHARSET_TYPE_94X94, 2, 0, '1',
1378 CHARSET_LEFT_TO_RIGHT, 1388 CHARSET_LEFT_TO_RIGHT,
1379 build_string 1389 build_string
1380 ("Big5 Level 2 (Traditional Chinese for daily use)"), 1390 ("Big5 Level 2 (Traditional Chinese for daily use)"),
1381 build_string ("big5")); 1391 build_string ("big5"));
1382 1392
1383 Vcharset_korean_ksc5601 = 1393 Vcharset_korean_ksc5601 =
1384 make_charset (Qkorean_ksc5601, LEADING_BYTE_KOREAN_KSC5601, 3, 1394 make_charset (147, Qkorean_ksc5601, LEADING_BYTE_KOREAN_KSC5601, 3,
1385 CHARSET_TYPE_94X94, 2, 0, 'C', 1395 CHARSET_TYPE_94X94, 2, 0, 'C',
1386 CHARSET_LEFT_TO_RIGHT, 1396 CHARSET_LEFT_TO_RIGHT,
1387 build_string ("KS C5601 (Hangul and Korean Hanja)"), 1397 build_string ("KS C5601 (Hangul and Korean Hanja)"),
1388 build_string ("ksc5601")); 1398 build_string ("ksc5601"));
1389 /* #### For simplicity, we put composite chars into a 96x96 charset. 1399 /* #### For simplicity, we put composite chars into a 96x96 charset.
1390 This is going to lead to problems because you can run out of 1400 This is going to lead to problems because you can run out of
1391 room, esp. as we don't yet recycle numbers. */ 1401 room, esp. as we don't yet recycle numbers. */
1392 Vcharset_composite = 1402 Vcharset_composite =
1393 make_charset (Qcomposite, LEADING_BYTE_COMPOSITE, 3, 1403 make_charset (-1, Qcomposite, LEADING_BYTE_COMPOSITE, 3,
1394 CHARSET_TYPE_96X96, 2, 0, 0, 1404 CHARSET_TYPE_96X96, 2, 0, 0,
1395 CHARSET_LEFT_TO_RIGHT, 1405 CHARSET_LEFT_TO_RIGHT,
1396 build_string ("Composite characters"), 1406 build_string ("Composite characters"),
1397 build_string ("")); 1407 build_string (""));
1398 1408