]>
git.saurik.com Git - apple/icu.git/blob - icuSources/samples/props/props.cpp
2 *******************************************************************************
4 * Copyright (C) 2000, International Business Machines
5 * Corporation and others. All Rights Reserved.
7 *******************************************************************************
10 * tab size: 8 (not used)
13 * created on: 2000sep22
14 * created by: Markus W. Scherer
16 * This file contains sample code that illustrates the use of the ICU APIs
17 * for Unicode character properties.
21 #include "unicode/utypes.h"
22 #include "unicode/uchar.h"
23 #include "unicode/uclean.h"
26 printProps(UChar32 codePoint
) {
30 /* get the character name */
31 errorCode
=U_ZERO_ERROR
;
32 u_charName(codePoint
, U_UNICODE_CHAR_NAME
, buffer
, sizeof(buffer
), &errorCode
);
34 /* print the code point and the character name */
35 printf("U+%04lx\t%s\n", codePoint
, buffer
);
37 /* print some properties */
38 printf(" general category (numeric enum value): %u\n", u_charType(codePoint
));
40 /* note: these APIs do not provide the data from SpecialCasing.txt */
41 printf(" is lowercase: %d uppercase: U+%04lx\n", u_islower(codePoint
), u_toupper(codePoint
));
43 printf(" is digit: %d decimal digit value: %d\n", u_isdigit(codePoint
), u_charDigitValue(codePoint
));
45 printf(" BiDi directional category (numeric enum value): %u\n", u_charDirection(codePoint
));
48 /* Note: In ICU 2.0, the Unicode class is deprecated - it is a pure wrapper around the C APIs above. */
51 main(int argc
, const char *argv
[]) {
54 0xd, 0x20, 0x2d, 0x35, 0x65, 0x284, 0x665, 0x5678, 0x23456, 0x10317, 0x1D01F, 0x10fffd
58 for(i
=0; i
<sizeof(codePoints
)/sizeof(codePoints
[0]); ++i
) {
59 printProps(codePoints
[i
]);