From aa167556cd2954bb9a9fb0a005178462087a4600 Mon Sep 17 00:00:00 2001 From: Tomas Heinrich Date: Fri, 26 Mar 2010 13:13:24 +0100 Subject: unicode: optional table for better handling of neutral bidi chars Off: function old new delta unicode_bidi_isrtl - 55 +55 isrtl_str 51 65 +14 unicode_isrtl 55 - -55 read_line_input 5003 4937 -66 ------------------------------------------------------------------------------ (add/remove: 1/4 grow/shrink: 1/1 up/down: 69/-121) Total: -52 bytes On: function old new delta static.neutral_b - 320 +320 static.neutral_p - 142 +142 unicode_bidi_isrtl - 55 +55 unicode_bidi_is_neutral_wchar - 55 +55 isrtl_str 51 59 +8 unicode_isrtl 55 - -55 read_line_input 5003 4937 -66 ------------------------------------------------------------------------------ (add/remove: 4/4 grow/shrink: 1/1 up/down: 580/-121) Total: 459 bytes Signed-off-by: Tomas Heinrich Signed-off-by: Denys Vlasenko --- include/unicode.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include/unicode.h') diff --git a/include/unicode.h b/include/unicode.h index 05bdbca02..deb4022c3 100644 --- a/include/unicode.h +++ b/include/unicode.h @@ -18,7 +18,8 @@ enum { UNICODE_ON = 2, }; -#define unicode_isrtl(wc) 0 +#define unicode_bidi_isrtl(wc) 0 +#define unicode_bidi_is_neutral_wchar(wc) (wc <= 126 && !isalpha(wc)) #if !ENABLE_FEATURE_ASSUME_UNICODE @@ -92,8 +93,12 @@ int iswspace(wint_t wc) FAST_FUNC; int iswalnum(wint_t wc) FAST_FUNC; int iswpunct(wint_t wc) FAST_FUNC; # if ENABLE_UNICODE_BIDI_SUPPORT -# undef unicode_isrtl -int unicode_isrtl(wint_t wc) FAST_FUNC; +# undef unicode_bidi_isrtl +int unicode_bidi_isrtl(wint_t wc) FAST_FUNC; +# if ENABLE_UNICODE_NEUTRAL_TABLE +# undef unicode_bidi_is_neutral_wchar +int unicode_bidi_is_neutral_wchar(wint_t wc) FAST_FUNC; +# endif # endif -- cgit v1.2.3