better wording in Config
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 31 Jan 2010 17:12:57 +0000 (18:12 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 31 Jan 2010 17:12:57 +0000 (18:12 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Config.in
libbb/unicode_wcwidth.c

index b4ea702425b3ec492280acd9431d53b5cd3e2733..e7bb05dce765e0038d70626bb223991029dc1cef 100644 (file)
--- 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
index c7cc524a6757b2be3234485dc1b042bfa7701c55..a81a980384283e8ae010f69c8fb1366fcab76317 100644 (file)
@@ -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