On Wed, Nov 6, 2013 at 2:43 AM, Steffen Daode <[email protected]> wrote:
> |TAB is "printable" (for the isprint() macro in standard C librries) > because > |it has a whitespace property, even if its general category is very weakly > > Nope according to POSIX, Vol. 1: Base Definitions, 7.3.1. LC_CTYPE ([1]): > > print > Define characters to be classified as printable characters, > including the <space>. > > In the POSIX locale, all characters in class graph shall be > included; no characters in class cntrl shall be included. > > In a locale definition file, characters specified for the > keywords upper, lower, alpha, digit, xdigit, punct, graph, and > the <space> are automatically included in this class. No > character specified for the keyword cntrl shall be specified. > There is a Unicode spec for these properties: http://www.unicode.org/reports/tr18/#Compatibility_Properties ICU should be implementing that, for example [:print:]<http://unicode.org/cldr/utility/list-unicodeset.jsp?a=%5B%3Aprint%3A%5D&g=> markus

