1 #include <wchar.h> 2 #include <wctype.h> 3 #include <ctype.h> 4 5 /* Our definition of whitespace is the Unicode White_Space property, 6 * minus non-breaking spaces (U+00A0, U+2007, and U+202F) and script- 7 * specific characters with non-blank glyphs (U+1680 and U+180E). */ 8 9 int iswspace(wint_t wc) 10 { 11 static const wchar_t spaces[] = { 12 ' ', '\t', '\n', '\r', 11, 12, 0x0085, 13 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 14 0x2006, 0x2008, 0x2009, 0x200a, 15 0x2028, 0x2029, 0x205f, 0x3000, 0 16 }; 17 return wc && wcschr(spaces, wc); 18 } 19