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
iswspace(wint_t wc)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