--- a/src/common/textsplit.cpp
+++ b/src/common/textsplit.cpp
@@ -197,7 +197,9 @@
#define UNICODE_IS_CJK(p) \
((p) > 127 && \
(((p) >= 0x2E80 && (p) <= 0x2EFF) || \
- ((p) >= 0x3000 && (p) <= 0x9FFF) || \
+ ((p) >= 0x3000 && (p) <= 0x309F) || \
+ ((p) >= 0x3100 && (p) <= 0x31EF) || \
+ ((p) >= 0x3200 && (p) <= 0x9FFF) || \
((p) >= 0xA700 && (p) <= 0xA71F) || \
((p) >= 0xAC00 && (p) <= 0xD7AF) || \
((p) >= 0xF900 && (p) <= 0xFAFF) || \
@@ -206,9 +208,18 @@
((p) >= 0x20000 && (p) <= 0x2A6DF) || \
((p) >= 0x2F800 && (p) <= 0x2FA1F)))
+#define UNICODE_IS_KATAKANA(p) \
+ ((p) > 127 && \
+ (((p) >= 0x30A0 && (p) <= 0x30FF) || \
+ ((p) >= 0x31F0 && (p) <= 0x31FF)))
+
bool TextSplit::isCJK(int c)
{
return UNICODE_IS_CJK(c);
+}
+bool TextSplit::isKATAKANA(int c)
+{
+ return UNICODE_IS_KATAKANA(c);
}
bool TextSplit::o_processCJK = true;