Mercurial > hg > xemacs-beta
diff src/mule-charset.c @ 359:8e84bee8ddd0 r21-1-9
Import from CVS: tag r21-1-9
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:57:55 +0200 |
parents | 7c94d56991e1 |
children | a4f53d9b3154 |
line wrap: on
line diff
--- a/src/mule-charset.c Mon Aug 13 10:57:07 2007 +0200 +++ b/src/mule-charset.c Mon Aug 13 10:57:55 2007 +0200 @@ -251,15 +251,19 @@ if (f1 == 0) { Lisp_Object charset; - + /* 0x8B checking is here to avoid the gap between + LEADING_BYTE_LATIN_JISX0201 and + LEADING_BYTE_CYRILLIC_ISO8859_5. See mule-charset.h */ if (f2 < MIN_CHAR_FIELD2_OFFICIAL || + f2 == (0x8B - FIELD2_TO_OFFICIAL_LEADING_BYTE) || (f2 > MAX_CHAR_FIELD2_OFFICIAL && f2 < MIN_CHAR_FIELD2_PRIVATE) || f2 > MAX_CHAR_FIELD2_PRIVATE) return 0; if (f3 < 0x20) return 0; - if (f3 != 0x20 && f3 != 0x7F) + if (f3 != 0x20 && f3 != 0x7F && !(f2 >= MIN_CHAR_FIELD2_PRIVATE && + f2 <= MAX_CHAR_FIELD2_PRIVATE)) return 1; /* @@ -268,6 +272,8 @@ FIELD2_TO_PRIVATE_LEADING_BYTE are the same. */ charset = CHARSET_BY_LEADING_BYTE (f2 + FIELD2_TO_OFFICIAL_LEADING_BYTE); + if (EQ (charset, Qnil)) + return 0; return (XCHARSET_CHARS (charset) == 96); } else @@ -293,7 +299,8 @@ } #endif /* ENABLE_COMPOSITE_CHARS */ - if (f2 != 0x20 && f2 != 0x7F && f3 != 0x20 && f3 != 0x7F) + if (f2 != 0x20 && f2 != 0x7F && f3 != 0x20 && f3 != 0x7F + && !(f1 >= MIN_CHAR_FIELD1_PRIVATE && f1 <= MAX_CHAR_FIELD1_PRIVATE)) return 1; if (f1 <= MAX_CHAR_FIELD1_OFFICIAL) @@ -303,6 +310,8 @@ charset = CHARSET_BY_LEADING_BYTE (f1 + FIELD1_TO_PRIVATE_LEADING_BYTE); + if (EQ (charset, Qnil)) + return 0; return (XCHARSET_CHARS (charset) == 96); } }