diff options
Diffstat (limited to 'src/fe-text/utf8.h')
-rw-r--r-- | src/fe-text/utf8.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/fe-text/utf8.h b/src/fe-text/utf8.h index 64c0e347..456c6bf8 100644 --- a/src/fe-text/utf8.h +++ b/src/fe-text/utf8.h @@ -18,6 +18,13 @@ int utf16_char_to_utf8(unichar c, char *outbuf); Make sure out is at least 6 x length of str. */ void utf16_to_utf8(const unichar *str, char *out); +/* XXX I didn't check the encoding range of big5+. This is standard big5. */ +#define is_big5_los(lo) (0x40 <= (lo) && (lo) <= 0x7E) /* standard */ +#define is_big5_lox(lo) (0x80 <= (lo) && (lo) <= 0xFE) /* extended */ +#define is_big5_lo(lo) ((is_big5_los(lo) || is_big5_lox(lo))) +#define is_big5_hi(hi) (0x81 <= (hi) && (hi) <= 0xFE) +#define is_big5(hi,lo) (is_big5_hi(hi) && is_big5_lo(lo)) + /* Returns width for character (0-2). */ int utf8_width(unichar c); |