#define MIN_LEADING_BYTE 0x80
/* These need special treatment in a string and/or character */
#define LEADING_BYTE_ASCII 0x8E /* Omitted in a buffer */
+#ifdef ENABLE_COMPOSITE_CHARS
+#endif
#define LEADING_BYTE_COMPOSITE 0x80 /* for a composite character */
#define LEADING_BYTE_CONTROL_1 0x8F /* represent normal 80-9F */
int id;
Lisp_Object name;
- Lisp_Object doc_string, registry;
+ Lisp_Object doc_string, registry, short_name, long_name;
Lisp_Object reverse_direction_charset;
Lisp_Object ccl_program;
- Bufbyte leading_byte;
-
/* Final byte of this character set in ISO2022 designating escape sequence */
Bufbyte final;
#define CHARSET_LEFT_TO_RIGHT 0
#define CHARSET_RIGHT_TO_LEFT 1
+/* Leading byte and id have been regrouped. -- OG */
#define CHARSET_ID(cs) ((cs)->id)
+#define CHARSET_LEADING_BYTE(cs) ((Bufbyte)(CHARSET_ID(cs)))
#define CHARSET_NAME(cs) ((cs)->name)
-#define CHARSET_LEADING_BYTE(cs) ((cs)->leading_byte)
+#define CHARSET_SHORT_NAME(cs) ((cs)->short_name)
+#define CHARSET_LONG_NAME(cs) ((cs)->long_name)
#define CHARSET_REP_BYTES(cs) ((cs)->rep_bytes)
#define CHARSET_COLUMNS(cs) ((cs)->columns)
#define CHARSET_GRAPHIC(cs) ((cs)->graphic)
#define XCHARSET_ID(cs) CHARSET_ID (XCHARSET (cs))
#define XCHARSET_NAME(cs) CHARSET_NAME (XCHARSET (cs))
+#define XCHARSET_SHORT_NAME(cs) CHARSET_SHORT_NAME (XCHARSET (cs))
+#define XCHARSET_LONG_NAME(cs) CHARSET_LONG_NAME (XCHARSET (cs))
#define XCHARSET_REP_BYTES(cs) CHARSET_REP_BYTES (XCHARSET (cs))
#define XCHARSET_COLUMNS(cs) CHARSET_COLUMNS (XCHARSET (cs))
#define XCHARSET_GRAPHIC(cs) CHARSET_GRAPHIC (XCHARSET (cs))
else if (c < MIN_CHAR_COMPOSITION)
return CHAR_FIELD1 (c) + FIELD1_TO_PRIVATE_LEADING_BYTE;
else
- return LEADING_BYTE_COMPOSITE;
+ {
+#ifdef ENABLE_COMPOSITE_CHARS
+ return LEADING_BYTE_COMPOSITE;
+#else
+ abort();
+ return 0;
+#endif /* ENABLE_COMPOSITE_CHARS */
+ }
}
#define CHAR_CHARSET(c) CHARSET_BY_LEADING_BYTE (CHAR_LEADING_BYTE (c))
return c1;
else if (EQ (charset, Vcharset_control_1))
return c1 | 0x80;
+#ifdef ENABLE_COMPOSITE_CHARS
else if (EQ (charset, Vcharset_composite))
return (0x1F << 14) | ((c1) << 7) | (c2);
+#endif
else if (XCHARSET_DIMENSION (charset) == 1)
return ((XCHARSET_LEADING_BYTE (charset) -
FIELD2_TO_OFFICIAL_LEADING_BYTE) << 7) | (c1);
\f
+#ifdef ENABLE_COMPOSITE_CHARS
/************************************************************************/
/* Composite characters */
/************************************************************************/
Emchar lookup_composite_char (Bufbyte *str, int len);
Lisp_Object composite_char_string (Emchar ch);
+#endif /* ENABLE_COMPOSITE_CHARS */
\f
/************************************************************************/