diff options
author | Larry Wall <larry@wall.org> | 1998-07-24 05:44:33 +0000 |
---|---|---|
committer | Larry Wall <larry@wall.org> | 1998-07-24 05:44:33 +0000 |
commit | a0ed51b321531af4b47cce24205ab9656f043f0f (patch) | |
tree | 610356407b37a4041ea8bcaf44571579b2da5613 /handy.h | |
parent | 9332a1c1d80ded85a2b1f32b1c8968a35e3b0fbb (diff) | |
download | perl-a0ed51b321531af4b47cce24205ab9656f043f0f.tar.gz |
Here are the long-expected Unicode/UTF-8 modifications.
p4raw-id: //depot/utfperl@1651
Diffstat (limited to 'handy.h')
-rw-r--r-- | handy.h | 48 |
1 files changed, 48 insertions, 0 deletions
@@ -238,6 +238,54 @@ typedef unsigned short U16; # endif #endif /* USE_NEXT_CTYPE */ +#define isALNUM_uni(c) is_uni_alnum(c) +#define isIDFIRST_uni(c) is_uni_idfirst(c) +#define isALPHA_uni(c) is_uni_alpha(c) +#define isSPACE_uni(c) is_uni_space(c) +#define isDIGIT_uni(c) is_uni_digit(c) +#define isUPPER_uni(c) is_uni_upper(c) +#define isLOWER_uni(c) is_uni_lower(c) +#define isPRINT_uni(c) is_uni_print(c) +#define toUPPER_uni(c) to_uni_upper(c) +#define toTITLE_uni(c) to_uni_title(c) +#define toLOWER_uni(c) to_uni_lower(c) + +#define isALNUM_LC_uni(c) (c < 256 ? isALNUM_LC(c) : is_uni_alnum_lc(c)) +#define isIDFIRST_LC_uni(c) (c < 256 ? isIDFIRST_LC(c) : is_uni_idfirst_lc(c)) +#define isALPHA_LC_uni(c) (c < 256 ? isALPHA_LC(c) : is_uni_alpha_lc(c)) +#define isSPACE_LC_uni(c) (c < 256 ? isSPACE_LC(c) : is_uni_space_lc(c)) +#define isDIGIT_LC_uni(c) (c < 256 ? isDIGIT_LC(c) : is_uni_digit_lc(c)) +#define isUPPER_LC_uni(c) (c < 256 ? isUPPER_LC(c) : is_uni_upper_lc(c)) +#define isLOWER_LC_uni(c) (c < 256 ? isLOWER_LC(c) : is_uni_lower_lc(c)) +#define isPRINT_LC_uni(c) (c < 256 ? isPRINT_LC(c) : is_uni_print_lc(c)) +#define toUPPER_LC_uni(c) (c < 256 ? toUPPER_LC(c) : to_uni_upper_lc(c)) +#define toTITLE_LC_uni(c) (c < 256 ? toUPPER_LC(c) : to_uni_title_lc(c)) +#define toLOWER_LC_uni(c) (c < 256 ? toLOWER_LC(c) : to_uni_lower_lc(c)) + +#define isALNUM_utf8(p) is_utf8_alnum(p) +#define isIDFIRST_utf8(p) is_utf8_idfirst(p) +#define isALPHA_utf8(p) is_utf8_alpha(p) +#define isSPACE_utf8(p) is_utf8_space(p) +#define isDIGIT_utf8(p) is_utf8_digit(p) +#define isUPPER_utf8(p) is_utf8_upper(p) +#define isLOWER_utf8(p) is_utf8_lower(p) +#define isPRINT_utf8(p) is_utf8_print(p) +#define toUPPER_utf8(p) to_utf8_upper(p) +#define toTITLE_utf8(p) to_utf8_title(p) +#define toLOWER_utf8(p) to_utf8_lower(p) + +#define isALNUM_LC_utf8(p) isALNUM_LC_uni(utf8_to_uv(p, 0)) +#define isIDFIRST_LC_utf8(p) isIDFIRST_LC_uni(utf8_to_uv(p, 0)) +#define isALPHA_LC_utf8(p) isALPHA_LC_uni(utf8_to_uv(p, 0)) +#define isSPACE_LC_utf8(p) isSPACE_LC_uni(utf8_to_uv(p, 0)) +#define isDIGIT_LC_utf8(p) isDIGIT_LC_uni(utf8_to_uv(p, 0)) +#define isUPPER_LC_utf8(p) isUPPER_LC_uni(utf8_to_uv(p, 0)) +#define isLOWER_LC_utf8(p) isLOWER_LC_uni(utf8_to_uv(p, 0)) +#define isPRINT_LC_utf8(p) isPRINT_LC_uni(utf8_to_uv(p, 0)) +#define toUPPER_LC_utf8(p) toUPPER_LC_uni(utf8_to_uv(p, 0)) +#define toTITLE_LC_utf8(p) toTITLE_LC_uni(utf8_to_uv(p, 0)) +#define toLOWER_LC_utf8(p) toLOWER_LC_uni(utf8_to_uv(p, 0)) + /* This conversion works both ways, strangely enough. */ #define toCTRL(c) (toUPPER(c) ^ 64) |