(Vcharset_ucs): New variable.
authortomo <tomo>
Fri, 28 Jan 2000 01:10:11 +0000 (01:10 +0000)
committertomo <tomo>
Fri, 28 Jan 2000 01:10:11 +0000 (01:10 +0000)
(LEADING_BYTE_UCS): New macro.
(struct Lisp_Charset): Delete `type'; change type of `dimension' and
`chars' to `unsigned short' from `unsigned int'.
(CHARSET_TYPE): Deleted.
(XCHARSET_TYPE): Deleted.

src/char-ucs.h

index 91ab5dd..3c0958c 100644 (file)
@@ -64,6 +64,7 @@ struct Lisp_Char_Code_Table
 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;
@@ -83,59 +84,62 @@ typedef int Charset_ID;
 #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') */
@@ -264,14 +268,11 @@ struct Lisp_Charset
   /* 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;
@@ -317,7 +318,6 @@ DECLARE_LRECORD (charset, struct Lisp_Charset);
 #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)
@@ -338,7 +338,6 @@ DECLARE_LRECORD (charset, struct Lisp_Charset);
 #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))