summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-01-31 17:12:57 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2010-01-31 17:12:57 (GMT)
commit460f8276449f0933f242c9295b241ec213bcef82 (patch)
tree1ab106c367abef17504d1e30aac7408745144043
parentb1edf20f1848cd741e8a8395afb4a4655a210906 (diff)
downloadbusybox-460f8276449f0933f242c9295b241ec213bcef82.tar.gz
busybox-460f8276449f0933f242c9295b241ec213bcef82.tar.bz2
better wording in Config
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--Config.in12
-rw-r--r--libbb/unicode_wcwidth.c2
2 files changed, 11 insertions, 3 deletions
diff --git a/Config.in b/Config.in
index b4ea702..e7bb05d 100644
--- a/Config.in
+++ b/Config.in
@@ -161,9 +161,11 @@ config LAST_SUPPORTED_WCHAR
The idea is that many valid printable Unicode chars are
nevertheless are not displayed correctly. Think about
- combining charachers, double-wide hieroglyphs and such.
- Many terminals, xterms and such will fail to handle them
- correctly.
+ combining charachers, double-wide hieroglyphs, obscure
+ characters in dozens of ancient scripts...
+ Many terminals, terminal emulators, xterms etc will fail
+ to handle them correctly. Choose the smallest value
+ which suits your needs.
Typical values are:
126 - ASCII only
@@ -172,6 +174,10 @@ config LAST_SUPPORTED_WCHAR
code is ~700 bytes smaller for this case.
4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
code is ~300 bytes smaller for this case.
+ 12799 (0x31ff) - nearly all non-ideographic characters are
+ available in [0..12799] range, including
+ East Asian scripts like katakana, hiragana, hangul,
+ bopomofo...
0 - off, any valid printable Unicode character will be printed.
config UNICODE_COMBINING_WCHARS
diff --git a/libbb/unicode_wcwidth.c b/libbb/unicode_wcwidth.c
index c7cc524..a81a980 100644
--- a/libbb/unicode_wcwidth.c
+++ b/libbb/unicode_wcwidth.c
@@ -534,6 +534,7 @@ static int wcwidth(unsigned ucs)
|| ucs == 0x2329 /* left-pointing angle bracket; also CJK punct. char */
|| ucs == 0x232a /* right-pointing angle bracket; also CJK punct. char */
|| (ucs >= 0x2e80 && ucs <= 0xa4cf && ucs != 0x303f) /* CJK ... Yi */
+# if LAST_SUPPORTED_WCHAR >= 0xac00
|| (ucs >= 0xac00 && ucs <= 0xd7a3) /* Hangul Syllables */
|| (ucs >= 0xf900 && ucs <= 0xfaff) /* CJK Compatibility Ideographs */
|| (ucs >= 0xfe10 && ucs <= 0xfe19) /* Vertical forms */
@@ -541,6 +542,7 @@ static int wcwidth(unsigned ucs)
|| (ucs >= 0xff00 && ucs <= 0xff60) /* Fullwidth Forms */
|| (ucs >= 0xffe0 && ucs <= 0xffe6)
|| ((ucs >> 17) == (2 >> 1)) /* 20000..3ffff: Supplementary and Tertiary Ideographic Planes */
+# endif
);
# endif
#endif