X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fchar-ucs.h;h=35038adbe1785b35dd45d998ff9e95f6208f611d;hb=a7018caf28cfca1998adae78b74f2d513da83838;hp=96e9647c99c9ba154f421670e021b1086c9af002;hpb=d93f77cd61a003b9897a35de0a287636ff365ba2;p=chise%2Fxemacs-chise.git diff --git a/src/char-ucs.h b/src/char-ucs.h index 96e9647..35038ad 100644 --- a/src/char-ucs.h +++ b/src/char-ucs.h @@ -26,6 +26,10 @@ Boston, MA 02111-1307, USA. */ #define CHAR_ASCII_P(ch) ((ch) <= 0x7F) +/************************************************************************/ +/* Char-ID Tables */ +/************************************************************************/ + struct Lisp_Uint8_Byte_Table { struct lcrecord_header header; @@ -96,7 +100,7 @@ DECLARE_LRECORD (char_id_table, Lisp_Char_ID_Table); char table entries should never escape to Lisp */ -Lisp_Object get_char_id_table (Emchar ch, Lisp_Object table); +Lisp_Object get_char_id_table (Lisp_Char_ID_Table* cit, Emchar ch); extern Lisp_Object Vcharset_mojikyo; @@ -125,6 +129,9 @@ typedef short Charset_ID; /* ISO/IEC 10646 for CNS */ #define LEADING_BYTE_UCS_CNS (CHARSET_ID_OFFSET - 5) +/* ISO/IEC 10646 for JIS */ +#define LEADING_BYTE_UCS_JIS (CHARSET_ID_OFFSET - 6) + /* ISO/IEC 10646 for Big5 */ #define LEADING_BYTE_UCS_BIG5 (CHARSET_ID_OFFSET - 9) @@ -142,21 +149,23 @@ typedef short Charset_ID; /* Big5 Level 2 2/4 2/{(8),9,10,11} 4/0 '1' */ #define LEADING_BYTE_CHINESE_BIG5_2 (CHARSET_ID_OFFSET - 22) +#define LEADING_BYTE_CHINESE_BIG5_CDP (CHARSET_ID_OFFSET - 23) + /* VISCII 1.1 */ -#define LEADING_BYTE_LATIN_VISCII (CHARSET_ID_OFFSET - 23) +#define LEADING_BYTE_LATIN_VISCII (CHARSET_ID_OFFSET - 24) /* MULE VISCII-LOWER (CHARSET_ID_OFFSET_96 + '1') */ -#define LEADING_BYTE_LATIN_VISCII_LOWER (CHARSET_ID_OFFSET - 24) +#define LEADING_BYTE_LATIN_VISCII_LOWER (CHARSET_ID_OFFSET - 25) /* MULE VISCII-UPPER (CHARSET_ID_OFFSET_96 + '2') */ -#define LEADING_BYTE_LATIN_VISCII_UPPER (CHARSET_ID_OFFSET - 25) +#define LEADING_BYTE_LATIN_VISCII_UPPER (CHARSET_ID_OFFSET - 26) -#define LEADING_BYTE_ETHIOPIC_UCS (CHARSET_ID_OFFSET - 26) +#define LEADING_BYTE_ETHIOPIC_UCS (CHARSET_ID_OFFSET - 27) -#define LEADING_BYTE_DAIKANWA (CHARSET_ID_OFFSET - 27) -#define LEADING_BYTE_DAIKANWA_EKANJI (CHARSET_ID_OFFSET - 28) +#define LEADING_BYTE_DAIKANWA (CHARSET_ID_OFFSET - 28) +#define LEADING_BYTE_DAIKANWA_EKANJI (CHARSET_ID_OFFSET - 29) -#define LEADING_BYTE_GT (CHARSET_ID_OFFSET - 29) +#define LEADING_BYTE_GT (CHARSET_ID_OFFSET - 30) #define LEADING_BYTE_GT_PJ_1 (CHARSET_ID_OFFSET - 31) #define LEADING_BYTE_GT_PJ_2 (CHARSET_ID_OFFSET - 32) #define LEADING_BYTE_GT_PJ_3 (CHARSET_ID_OFFSET - 33) @@ -654,7 +663,8 @@ charset_code_point (Lisp_Object charset, Emchar ch) Lisp_Object ret; if ( CHAR_ID_TABLE_P (encoding_table) - && INTP (ret = get_char_id_table (ch, encoding_table)) ) + && INTP (ret = get_char_id_table (XCHAR_ID_TABLE(encoding_table), + ch)) ) return XINT (ret); else return range_charset_code_point (charset, ch); @@ -678,7 +688,9 @@ encode_char_1 (Emchar ch, Lisp_Object* charset) Lisp_Object ret; if ( CHAR_ID_TABLE_P (encoding_table) - && INTP (ret = get_char_id_table (ch, encoding_table)) ) + && INTP (ret + = get_char_id_table (XCHAR_ID_TABLE(encoding_table), + ch)) ) return XINT (ret); else { @@ -780,8 +792,14 @@ CHAR_TO_CHARC (Emchar ch) EXFUN (Fget_charset, 1); +extern Lisp_Object Qucs; + extern Lisp_Object Vcharset_japanese_jisx0208; extern Lisp_Object Vcharset_japanese_jisx0208_1990; extern Lisp_Object Vcharset_japanese_jisx0212; +Lisp_Object put_char_ccs_code_point (Lisp_Object character, + Lisp_Object ccs, Lisp_Object value); +Lisp_Object remove_char_ccs (Lisp_Object character, Lisp_Object ccs); + #endif /* INCLUDED_char_ucs_h_ */