unicode_category_lookup(3) unicode character categorization

Other Alias

unicode_isalnum, unicode_isalpha, unicode_isblank, unicode_isdigit, unicode_isgraph, unicode_islower, unicode_ispunct, unicode_isspace, unicode_isupper

SYNOPSIS


#include <courier-unicode.h>

uint32_t unicode_category_lookup(unicode_char c);
int unicode_isalnum(unicode_char c);
int unicode_isalpha(unicode_char c);
int unicode_isblank(unicode_char c);
int unicode_isdigit(unicode_char c);
int unicode_isgraph(unicode_char c);
int unicode_islower(unicode_char c);
int unicode_ispunct(unicode_char c);
int unicode_isspace(unicode_char c);
int unicode_isupper(unicode_char c);

DESCRIPTION

unicode_category_lookup() looks up the m[blue]unicode character's categorizationm[][1]. unicode_category_lookup() returns a 32 bit value. The value's

UNICODE_CATEGORY_1 bits specify the first level of the unicode character's category, with UNICODE_CATEGORY_2, UNICODE_CATEGORY_3, and UNICODE_CATEGORY_4 bits specifying the 2nd, 3rd, and 4th level, if given. A value of 0 for each corresponding bit set indicates that no category is specified for this level, for this character; otherwise the possible values are defined in <courier-unicode.h>.

The remaining functions implement comparable equivalents of their non-unicode versions in the standard C library, as follows:

unicode_isalnum()

Returns non-0 for all unicode_isalpha() or unicode_isdigit().

unicode_isalpha()

Returns non-0 for all UNICODE_CATEGORY_1_LETTER.

unicode_isblank()

Return non-0 for TAB, and all UNICODE_CATEGORY_2_SPACE.

unicode_isdigit()

Returns non-0 for all UNICODE_CATEGORY_1_NUMBER | UNICODE_CATEGORY_2_DIGIT, only (no third categories).

unicode_isgraph()

Returns non-0 for all codepoints above SPACE which are not unicode_isspace().

unicode_islower()

Returns non-0 for all unicode_isalpha() for which the character is equal to unicode_lc(3) of itself.

unicode_ispunct()

Returns non-0 for all UNICODE_CATEGORY_1_PUNCTUATION.

unicode_isspace()

Returns non-0 for unicode_isblank() or for unicode characters with linebreaking properties of BK, CR, LF, NL, and SP.

unicode_isupper()

Returns non-0 for all unicode_isalpha() for which the character is equal to unicode_uc(3) of itself.

AUTHOR

Sam Varshavchik

Author

NOTES

1.
unicode character's categorization
http://unicode.org/notes/tn36/