Mercurial > emacs
changeset 21033:9f32198e0d9f
(NONASCII_INSERT_OFFSET): New macro.
(VALID_MULTIBYTE_CHAR_P): New macro.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 03 Mar 1998 01:29:16 +0000 |
parents | 3bf522f06501 |
children | f3128abaf8aa |
files | src/charset.h |
diffstat | 1 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/charset.h Tue Mar 03 01:29:16 1998 +0000 +++ b/src/charset.h Tue Mar 03 01:29:16 1998 +0000 @@ -475,6 +475,29 @@ ((c) >= 0 \ && (SINGLE_BYTE_CHAR_P (c) || char_valid_p (c, genericp))) +/* This default value is used when nonascii-translate-table or + nonascii-insert-offset fail to convert unibyte character to a valid + multibyte character. This makes a Latin-1 character. */ + +#define DEFAULT_NONASCII_INSERT_OFFSET 0x800 + +/* Check if the character C is valid as a multibyte character. */ + +#define VALID_MULTIBYTE_CHAR_P(c) \ + ((c) < MIN_CHAR_OFFICIAL_DIMENSION2 \ + ? (!NILP (XCHAR_TABLE (Vcharset_table)->contents[CHAR_FIELD2 (c) \ + + 0xF0]) \ + && CHAR_FIELD3 (c) >= 32) \ + : ((c) < MIN_CHAR_PRIVATE_DIMENSION2 \ + ? (!NILP (XCHAR_TABLE (Vcharset_table)->contents[CHAR_FIELD1 (c) \ + + 0x10F]) \ + && CHAR_FIELD2 (c) >= 32 && CHAR_FIELD3 (c) >= 32) \ + : ((c) < MIN_CHAR_COMPOSITION \ + ? (!NILP (XCHAR_TABLE (Vcharset_table)->contents[CHAR_FIELD1 (c) \ + + 0x160]) \ + && CHAR_FIELD2 (c) >= 32 && CHAR_FIELD3 (c) >= 32) \ + : (c) < MIN_CHAR_COMPOSITION + n_cmpchars))) + /* The charset of non-ASCII character C is stored in CHARSET, and the position-codes of C are stored in C1 and C2. We store -1 in C2 if the character is just 2 bytes.