#define INCLUDED_char_ucs_h_
#include "chartab.h"
+#include "elhash.h"
+
+extern Lisp_Object Vchar_attribute_hash_table;
#define valid_char_p(ch) 1
/* ISO/IEC 10646 BMP */
#define LEADING_BYTE_UCS_BMP (CHARSET_ID_OFFSET - 3)
+/* ISO/IEC 10646 SMP */
+#define LEADING_BYTE_UCS_SMP (CHARSET_ID_OFFSET - 4)
+
+/* ISO/IEC 10646 SIP */
+#define LEADING_BYTE_UCS_SIP (CHARSET_ID_OFFSET - 5)
+
/* ISO/IEC 10646 for CNS */
-#define LEADING_BYTE_UCS_CNS (CHARSET_ID_OFFSET - 5)
+#define LEADING_BYTE_UCS_CNS (CHARSET_ID_OFFSET - 6)
/* ISO/IEC 10646 for JIS */
-#define LEADING_BYTE_UCS_JIS (CHARSET_ID_OFFSET - 6)
+#define LEADING_BYTE_UCS_JIS (CHARSET_ID_OFFSET - 7)
+
+/* ISO/IEC 10646 for KS */
+#define LEADING_BYTE_UCS_KS (CHARSET_ID_OFFSET - 8)
/* ISO/IEC 10646 for Big5 */
#define LEADING_BYTE_UCS_BIG5 (CHARSET_ID_OFFSET - 9)
/* Code-point->character mapping table */
Lisp_Object decoding_table;
- /* Character->code-point mapping table */
- Lisp_Object encoding_table;
-
/* Range of character code */
Emchar ucs_min, ucs_max;
#define CHARSET_CHARS(cs) ((cs)->chars)
#define CHARSET_REVERSE_DIRECTION_CHARSET(cs) ((cs)->reverse_direction_charset)
#define CHARSET_DECODING_TABLE(cs) ((cs)->decoding_table)
-#define CHARSET_ENCODING_TABLE(cs) ((cs)->encoding_table)
#define CHARSET_UCS_MIN(cs) ((cs)->ucs_min)
#define CHARSET_UCS_MAX(cs) ((cs)->ucs_max)
#define CHARSET_CODE_OFFSET(cs) ((cs)->code_offset)
#define CHARSET_BYTE_OFFSET(cs) ((cs)->byte_offset)
+INLINE_HEADER Lisp_Object CHARSET_ENCODING_TABLE (Lisp_Charset* cs);
+INLINE_HEADER Lisp_Object
+CHARSET_ENCODING_TABLE (Lisp_Charset* cs)
+{
+ return Fgethash (CHARSET_NAME(cs),
+ Vchar_attribute_hash_table,
+ Qnil);
+}
#define XCHARSET_ID(cs) CHARSET_ID (XCHARSET (cs))
#define XCHARSET_NAME(cs) CHARSET_NAME (XCHARSET (cs))
#define MAX_CHAR_BMP 0x00FFFF
+#define MIN_CHAR_SMP 0x010000
+#define MAX_CHAR_SMP 0x01FFFF
+
+#define MIN_CHAR_SIP 0x020000
+#define MAX_CHAR_SIP 0x02FFFF
+
#define MIN_CHAR_DAIKANWA 0x00E00000
#define MAX_CHAR_DAIKANWA (MIN_CHAR_DAIKANWA + 50100) /* 0xE0FFFF */
/*