diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 7729b2c35..f2554c3c4 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,10 @@ +2010-02-16 Corinna Vinschen + + * libc/ctype/iswblank.c (iswblank): Remove Unicode characters + U+00A0 and U+200B. Add Unicode character U+180E. Add comment + to explain how to generate from Unicode data file. + * libc/ctype/iswspace.c (iswspace): Ditto. + 2010-02-15 Corinna Vinschen * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Apply previous patch here diff --git a/newlib/libc/ctype/iswblank.c b/newlib/libc/ctype/iswblank.c index 2ac907f17..7ca2b6299 100644 --- a/newlib/libc/ctype/iswblank.c +++ b/newlib/libc/ctype/iswblank.c @@ -67,10 +67,13 @@ _DEFUN(iswblank,(c), wint_t c) { #ifdef _MB_CAPABLE c = _jp2uc (c); + /* Based on Unicode 5.2. Control char 09, plus all characters + from general category "Zs", which are not marked as decomposition + type "noBreak". */ return (c == 0x0009 || c == 0x0020 || - c == 0x00A0 || c == 0x1680 || + c == 0x1680 || c == 0x180e || (c >= 0x2000 && c <= 0x2006) || - (c >= 0x2008 && c <= 0x200b) || + (c >= 0x2008 && c <= 0x200a) || c == 0x205f || c == 0x3000); #else return (c < 0x100 ? isblank (c) : 0); diff --git a/newlib/libc/ctype/iswspace.c b/newlib/libc/ctype/iswspace.c index 3245813f1..e738cd61d 100644 --- a/newlib/libc/ctype/iswspace.c +++ b/newlib/libc/ctype/iswspace.c @@ -67,10 +67,13 @@ _DEFUN(iswspace,(c), wint_t c) { #ifdef _MB_CAPABLE c = _jp2uc (c); + /* Based on Unicode 5.2. Control chars 09-0D, plus all characters + from general category "Zs", which are not marked as decomposition + type "noBreak". */ return ((c >= 0x0009 && c <= 0x000d) || c == 0x0020 || - c == 0x00A0 || c == 0x1680 || + c == 0x1680 || c == 0x180e || (c >= 0x2000 && c <= 0x2006) || - (c >= 0x2008 && c <= 0x200b) || + (c >= 0x2008 && c <= 0x200a) || c == 0x2028 || c == 0x2029 || c == 0x205f || c == 0x3000); #else