summaryrefslogtreecommitdiff
path: root/src/fe-text/utf8.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-text/utf8.h')
-rw-r--r--src/fe-text/utf8.h7
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);