00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef UNORM_H
00016 #define UNORM_H
00017
00018 #include "unicode/utypes.h"
00019
00101 typedef enum {
00103 UCOL_NO_NORMALIZATION = 1,
00105 UCOL_DECOMP_CAN = 2,
00107 UCOL_DECOMP_COMPAT = 3,
00109 UCOL_DEFAULT_NORMALIZATION = UCOL_DECOMP_COMPAT,
00111 UCOL_DECOMP_CAN_COMP_COMPAT = 4,
00113 UCOL_DECOMP_COMPAT_COMP_CAN =5,
00115 UNORM_NONE = 1,
00117 UNORM_NFD = 2,
00119 UNORM_NFKD = 3,
00121 UNORM_NFC = 4,
00123 UNORM_DEFAULT = UNORM_NFC,
00125 UNORM_NFKC =5,
00126
00127 UNORM_MODE_COUNT,
00128
00133 UCOL_IGNORE_HANGUL = 16,
00138 UNORM_IGNORE_HANGUL = 16
00139 } UNormalizationMode;
00140
00142 typedef UNormalizationMode UNormalizationOption;
00143
00161 U_CAPI int32_t
00162 unorm_normalize(const UChar* source,
00163 int32_t sourceLength,
00164 UNormalizationMode mode,
00165 int32_t options,
00166 UChar* result,
00167 int32_t resultLength,
00168 UErrorCode* status);
00169
00175 #define u_normalize unorm_normalize
00176
00177 typedef enum UNormalizationCheckResult {
00181 UNORM_NO,
00185 UNORM_YES,
00190 UNORM_MAYBE
00191 } UNormalizationCheckResult;
00192
00209 U_CAPI UNormalizationCheckResult U_EXPORT2
00210 unorm_quickCheck(const UChar* source,
00211 int32_t sourcelength,
00212 UNormalizationMode mode,
00213 UErrorCode* status);
00214
00215 #endif