aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbb/unicode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libbb/unicode.c b/libbb/unicode.c
index 89d42179b..79481f159 100644
--- a/libbb/unicode.c
+++ b/libbb/unicode.c
@@ -674,14 +674,20 @@ int FAST_FUNC wcwidth(unsigned ucs)
( (/*ucs >= 0x1100 &&*/ ucs <= 0x115f) /* Hangul Jamo init. consonants */
|| ucs == 0x2329 /* left-pointing angle bracket; also CJK punct. char */
|| ucs == 0x232a /* right-pointing angle bracket; also CJK punct. char */
+# if CONFIG_LAST_SUPPORTED_WCHAR >= 0x2e80
|| (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs != 0x303f) /* CJK ... Yi */
+# endif
# if CONFIG_LAST_SUPPORTED_WCHAR >= 0xac00
|| (ucs >= 0xac00 && ucs <= 0xd7a3) /* Hangul Syllables */
+# endif
+# if CONFIG_LAST_SUPPORTED_WCHAR >= 0xf900
|| (ucs >= 0xf900 && ucs <= 0xfaff) /* CJK Compatibility Ideographs */
|| (ucs >= 0xfe10 && ucs <= 0xfe19) /* Vertical forms */
|| (ucs >= 0xfe30 && ucs <= 0xfe6f) /* CJK Compatibility Forms */
|| (ucs >= 0xff00 && ucs <= 0xff60) /* Fullwidth Forms */
|| (ucs >= 0xffe0 && ucs <= 0xffe6)
+# endif
+# if CONFIG_LAST_SUPPORTED_WCHAR >= 0x20000
|| ((ucs >> 17) == (2 >> 1)) /* 20000..3ffff: Supplementary and Tertiary Ideographic Planes */
# endif
);