X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fmule-charset.h;h=a8dcad911dffaa0c66b4e770c5b3e551b183f7e0;hb=c055fb9d54088bf2dff25f6be1a033ff0cea5f92;hp=5ee90610aaf765afbfd9e8e70d9f15fc84dd253a;hpb=aae13bb79e62e01d6b6324eb1a4a0ae55c50f5fd;p=chise%2Fxemacs-chise.git- diff --git a/src/mule-charset.h b/src/mule-charset.h index 5ee9061..a8dcad9 100644 --- a/src/mule-charset.h +++ b/src/mule-charset.h @@ -324,6 +324,8 @@ Boston, MA 02111-1307, USA. */ /* Definition of leading bytes */ /************************************************************************/ +typedef int Charset_ID; + #define MIN_LEADING_BYTE 0x80 /* These need special treatment in a string and/or character */ #define LEADING_BYTE_ASCII 0x8E /* Omitted in a buffer */ @@ -541,7 +543,7 @@ DECLARE_LRECORD (charset, struct Lisp_Charset); CHARSET_REVERSE_DIRECTION_CHARSET (XCHARSET (cs)) /* Table of charsets indexed by (leading byte - 128). */ -extern Lisp_Object charset_by_leading_byte[128]; +extern Lisp_Object charset_by_leading_byte[NUM_LEADING_BYTES]; /* Table of charsets indexed by type/final-byte/direction. */ extern Lisp_Object charset_by_attributes[4][128][2]; @@ -565,13 +567,15 @@ INLINE Lisp_Object CHARSET_BY_LEADING_BYTE (int lb); INLINE Lisp_Object CHARSET_BY_LEADING_BYTE (int lb) { - assert (lb >= 0x80 && lb <= 0xFF); - return charset_by_leading_byte[lb - 128]; + assert (lb >= MIN_LEADING_BYTE && + lb < (MIN_LEADING_BYTE + NUM_LEADING_BYTES)); + return charset_by_leading_byte[lb - MIN_LEADING_BYTE]; } #else -#define CHARSET_BY_LEADING_BYTE(lb) (charset_by_leading_byte[(lb) - 128]) +#define CHARSET_BY_LEADING_BYTE(lb) \ + (charset_by_leading_byte[(lb) - MIN_LEADING_BYTE]) #endif @@ -598,11 +602,7 @@ REP_BYTES_BY_FIRST_BYTE (int fb) /* Dealing with characters */ /************************************************************************/ -/* Is this character represented by more than one byte in a string? */ - -#define CHAR_MULTIBYTE_P(c) ((c) >= 0x80) - -#define CHAR_ASCII_P(c) (!CHAR_MULTIBYTE_P (c)) +#define CHAR_ASCII_P(ch) ((ch) <= 0x7F) /* The bit fields of character are divided into 3 parts: FIELD1(5bits):FIELD2(7bits):FIELD3(7bits) */