Lisp_Object get_char_code_table (Emchar ch, Lisp_Object table);
+extern Lisp_Object Vcharset_ucs;
extern Lisp_Object Vcharset_ucs_bmp;
extern Lisp_Object Vcharset_latin_jisx0201;
extern Lisp_Object Vcharset_latin_iso8859_2;
#define MIN_LEADING_BYTE -0x60
#define CHARSET_ID_OFFSET 0x00
+/* ISO/IEC 10646 */
+#define LEADING_BYTE_UCS (CHARSET_ID_OFFSET - 1)
+
/* represent normal 80-9F */
-#define LEADING_BYTE_CONTROL_1 (CHARSET_ID_OFFSET - 1)
+#define LEADING_BYTE_CONTROL_1 (CHARSET_ID_OFFSET - 2)
/* ISO/IEC 10646 BMP */
-#define LEADING_BYTE_UCS_BMP (CHARSET_ID_OFFSET - 2)
+#define LEADING_BYTE_UCS_BMP (CHARSET_ID_OFFSET - 3)
/* VISCII 1.1 */
-#define LEADING_BYTE_LATIN_VISCII (CHARSET_ID_OFFSET - 3)
+#define LEADING_BYTE_LATIN_VISCII (CHARSET_ID_OFFSET - 4)
/* MULE VISCII-LOWER (CHARSET_ID_OFFSET_96 + '1') */
-#define LEADING_BYTE_LATIN_VISCII_LOWER (CHARSET_ID_OFFSET - 4)
+#define LEADING_BYTE_LATIN_VISCII_LOWER (CHARSET_ID_OFFSET - 5)
/* MULE VISCII-UPPER (CHARSET_ID_OFFSET_96 + '2') */
-#define LEADING_BYTE_LATIN_VISCII_UPPER (CHARSET_ID_OFFSET - 5)
+#define LEADING_BYTE_LATIN_VISCII_UPPER (CHARSET_ID_OFFSET - 6)
/* Big5 Level 1 2/4 2/{(8),9,10,11} 4/0 '0' */
-#define LEADING_BYTE_CHINESE_BIG5_1 (CHARSET_ID_OFFSET - 6)
+#define LEADING_BYTE_CHINESE_BIG5_1 (CHARSET_ID_OFFSET - 7)
/* Big5 Level 2 2/4 2/{(8),9,10,11} 4/0 '1' */
-#define LEADING_BYTE_CHINESE_BIG5_2 (CHARSET_ID_OFFSET - 7)
+#define LEADING_BYTE_CHINESE_BIG5_2 (CHARSET_ID_OFFSET - 8)
-#define LEADING_BYTE_ETHIOPIC_UCS (CHARSET_ID_OFFSET - 8)
+#define LEADING_BYTE_ETHIOPIC_UCS (CHARSET_ID_OFFSET - 9)
-#define LEADING_BYTE_DAIKANWA (CHARSET_ID_OFFSET - 9)
+#define LEADING_BYTE_DAIKANWA (CHARSET_ID_OFFSET - 10)
/* Japanese JIS X0208-1990 2/4 2/{(8),9,10,11} 4/2 (B) */
-#define LEADING_BYTE_JAPANESE_JISX0208_1990 (CHARSET_ID_OFFSET - 10)
+#define LEADING_BYTE_JAPANESE_JISX0208_1990 (CHARSET_ID_OFFSET - 11)
/* Konjaku-Mojikyo font (for pseudo-JIS X 0208 encoding) */
-#define LEADING_BYTE_MOJIKYO_PJ_1 (CHARSET_ID_OFFSET - 11)
-#define LEADING_BYTE_MOJIKYO_PJ_2 (CHARSET_ID_OFFSET - 12)
-#define LEADING_BYTE_MOJIKYO_PJ_3 (CHARSET_ID_OFFSET - 13)
-#define LEADING_BYTE_MOJIKYO_PJ_4 (CHARSET_ID_OFFSET - 14)
-#define LEADING_BYTE_MOJIKYO_PJ_5 (CHARSET_ID_OFFSET - 15)
-#define LEADING_BYTE_MOJIKYO_PJ_6 (CHARSET_ID_OFFSET - 16)
-#define LEADING_BYTE_MOJIKYO_PJ_7 (CHARSET_ID_OFFSET - 17)
-#define LEADING_BYTE_MOJIKYO_PJ_8 (CHARSET_ID_OFFSET - 18)
-#define LEADING_BYTE_MOJIKYO_PJ_9 (CHARSET_ID_OFFSET - 19)
-#define LEADING_BYTE_MOJIKYO_PJ_10 (CHARSET_ID_OFFSET - 20)
-#define LEADING_BYTE_MOJIKYO_PJ_11 (CHARSET_ID_OFFSET - 21)
-#define LEADING_BYTE_MOJIKYO_PJ_12 (CHARSET_ID_OFFSET - 22)
-#define LEADING_BYTE_MOJIKYO_PJ_13 (CHARSET_ID_OFFSET - 23)
-#define LEADING_BYTE_MOJIKYO_PJ_14 (CHARSET_ID_OFFSET - 24)
-#define LEADING_BYTE_MOJIKYO_PJ_15 (CHARSET_ID_OFFSET - 25)
-#define LEADING_BYTE_MOJIKYO_PJ_16 (CHARSET_ID_OFFSET - 26)
-#define LEADING_BYTE_MOJIKYO_PJ_17 (CHARSET_ID_OFFSET - 27)
-#define LEADING_BYTE_MOJIKYO_PJ_18 (CHARSET_ID_OFFSET - 28)
-#define LEADING_BYTE_MOJIKYO_PJ_19 (CHARSET_ID_OFFSET - 29)
-#define LEADING_BYTE_MOJIKYO_PJ_20 (CHARSET_ID_OFFSET - 30)
-#define LEADING_BYTE_MOJIKYO_PJ_21 (CHARSET_ID_OFFSET - 31)
+#define LEADING_BYTE_MOJIKYO_PJ_1 (CHARSET_ID_OFFSET - 12)
+#define LEADING_BYTE_MOJIKYO_PJ_2 (CHARSET_ID_OFFSET - 13)
+#define LEADING_BYTE_MOJIKYO_PJ_3 (CHARSET_ID_OFFSET - 14)
+#define LEADING_BYTE_MOJIKYO_PJ_4 (CHARSET_ID_OFFSET - 15)
+#define LEADING_BYTE_MOJIKYO_PJ_5 (CHARSET_ID_OFFSET - 16)
+#define LEADING_BYTE_MOJIKYO_PJ_6 (CHARSET_ID_OFFSET - 17)
+#define LEADING_BYTE_MOJIKYO_PJ_7 (CHARSET_ID_OFFSET - 18)
+#define LEADING_BYTE_MOJIKYO_PJ_8 (CHARSET_ID_OFFSET - 19)
+#define LEADING_BYTE_MOJIKYO_PJ_9 (CHARSET_ID_OFFSET - 20)
+#define LEADING_BYTE_MOJIKYO_PJ_10 (CHARSET_ID_OFFSET - 21)
+#define LEADING_BYTE_MOJIKYO_PJ_11 (CHARSET_ID_OFFSET - 22)
+#define LEADING_BYTE_MOJIKYO_PJ_12 (CHARSET_ID_OFFSET - 23)
+#define LEADING_BYTE_MOJIKYO_PJ_13 (CHARSET_ID_OFFSET - 24)
+#define LEADING_BYTE_MOJIKYO_PJ_14 (CHARSET_ID_OFFSET - 25)
+#define LEADING_BYTE_MOJIKYO_PJ_15 (CHARSET_ID_OFFSET - 26)
+#define LEADING_BYTE_MOJIKYO_PJ_16 (CHARSET_ID_OFFSET - 27)
+#define LEADING_BYTE_MOJIKYO_PJ_17 (CHARSET_ID_OFFSET - 28)
+#define LEADING_BYTE_MOJIKYO_PJ_18 (CHARSET_ID_OFFSET - 29)
+#define LEADING_BYTE_MOJIKYO_PJ_19 (CHARSET_ID_OFFSET - 30)
+#define LEADING_BYTE_MOJIKYO_PJ_20 (CHARSET_ID_OFFSET - 31)
+#define LEADING_BYTE_MOJIKYO_PJ_21 (CHARSET_ID_OFFSET - 32)
#define MIN_LEADING_BYTE_PRIVATE MIN_LEADING_BYTE
-#define MAX_LEADING_BYTE_PRIVATE (CHARSET_ID_OFFSET - 32)
+#define MAX_LEADING_BYTE_PRIVATE (CHARSET_ID_OFFSET - 33)
/* #define CHARSET_ID_OFFSET_94 (CHARSET_ID_OFFSET - '0') */
/* Direction of this character set */
unsigned int direction;
- /* Type of this character set (94, 96, 94x94, 96x96) */
- unsigned int type;
-
- /* Number of bytes used in encoding of this character set (1 or 2) */
- unsigned int dimension;
+ /* Number of bytes used in encoding of this character set (1 .. 4) */
+ unsigned short dimension;
- /* Number of chars in each dimension (usually 94 or 96) */
- unsigned int chars;
+ /* Number of chars in each dimension (94, 96, 128, 256) */
+ unsigned short chars;
/* Which half of font to be used to display this character set */
unsigned int graphic;
#define CHARSET_LONG_NAME(cs) ((cs)->long_name)
#define CHARSET_COLUMNS(cs) ((cs)->columns)
#define CHARSET_GRAPHIC(cs) ((cs)->graphic)
-#define CHARSET_TYPE(cs) ((cs)->type)
#define CHARSET_DIRECTION(cs) ((cs)->direction)
#define CHARSET_FINAL(cs) ((cs)->final)
#define CHARSET_DOC_STRING(cs) ((cs)->doc_string)
#define XCHARSET_SHORT_NAME(cs) CHARSET_SHORT_NAME (XCHARSET (cs))
#define XCHARSET_LONG_NAME(cs) CHARSET_LONG_NAME (XCHARSET (cs))
#define XCHARSET_GRAPHIC(cs) CHARSET_GRAPHIC (XCHARSET (cs))
-#define XCHARSET_TYPE(cs) CHARSET_TYPE (XCHARSET (cs))
#define XCHARSET_DIRECTION(cs) CHARSET_DIRECTION (XCHARSET (cs))
#define XCHARSET_FINAL(cs) CHARSET_FINAL (XCHARSET (cs))
#define XCHARSET_DOC_STRING(cs) CHARSET_DOC_STRING (XCHARSET (cs))