ICU 73.2  73.2
unorm.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 *******************************************************************************
00005 * Copyright (c) 1996-2016, International Business Machines Corporation
00006 *               and others. All Rights Reserved.
00007 *******************************************************************************
00008 * File unorm.h
00009 *
00010 * Created by: Vladimir Weinstein 12052000
00011 *
00012 * Modification history :
00013 *
00014 * Date        Name        Description
00015 * 02/01/01    synwee      Added normalization quickcheck enum and method.
00016 */
00017 #ifndef UNORM_H
00018 #define UNORM_H
00019 
00020 #include "unicode/utypes.h"
00021 
00022 #if !UCONFIG_NO_NORMALIZATION
00023 
00024 #include "unicode/uiter.h"
00025 #include "unicode/unorm2.h"
00026 
00132 // Do not conditionalize the following enum with #ifndef U_HIDE_DEPRECATED_API,
00133 // it is needed for layout of Normalizer object.
00134 #ifndef U_FORCE_HIDE_DEPRECATED_API
00135 
00140 typedef enum {
00142   UNORM_NONE = 1,
00144   UNORM_NFD = 2,
00146   UNORM_NFKD = 3,
00148   UNORM_NFC = 4,
00150   UNORM_DEFAULT = UNORM_NFC,
00152   UNORM_NFKC =5,
00154   UNORM_FCD = 6,
00155 
00157   UNORM_MODE_COUNT
00158 } UNormalizationMode;
00159 
00160 #endif  // U_FORCE_HIDE_DEPRECATED_API
00161 
00162 #ifndef U_HIDE_DEPRECATED_API
00163 
00171 enum {
00178     UNORM_UNICODE_3_2=0x20
00179 };
00180 
00196 #define UNORM_COMPARE_NORM_OPTIONS_SHIFT 20
00197 
00217 U_DEPRECATED int32_t U_EXPORT2
00218 unorm_normalize(const UChar *source, int32_t sourceLength,
00219                 UNormalizationMode mode, int32_t options,
00220                 UChar *result, int32_t resultLength,
00221                 UErrorCode *status);
00222 
00243 U_DEPRECATED UNormalizationCheckResult U_EXPORT2
00244 unorm_quickCheck(const UChar *source, int32_t sourcelength,
00245                  UNormalizationMode mode,
00246                  UErrorCode *status);
00247 
00264 U_DEPRECATED UNormalizationCheckResult U_EXPORT2
00265 unorm_quickCheckWithOptions(const UChar *src, int32_t srcLength,
00266                             UNormalizationMode mode, int32_t options,
00267                             UErrorCode *pErrorCode);
00268 
00290 U_DEPRECATED UBool U_EXPORT2
00291 unorm_isNormalized(const UChar *src, int32_t srcLength,
00292                    UNormalizationMode mode,
00293                    UErrorCode *pErrorCode);
00294 
00312 U_DEPRECATED UBool U_EXPORT2
00313 unorm_isNormalizedWithOptions(const UChar *src, int32_t srcLength,
00314                               UNormalizationMode mode, int32_t options,
00315                               UErrorCode *pErrorCode);
00316 
00390 U_DEPRECATED int32_t U_EXPORT2
00391 unorm_next(UCharIterator *src,
00392            UChar *dest, int32_t destCapacity,
00393            UNormalizationMode mode, int32_t options,
00394            UBool doNormalize, UBool *pNeededToNormalize,
00395            UErrorCode *pErrorCode);
00396 
00423 U_DEPRECATED int32_t U_EXPORT2
00424 unorm_previous(UCharIterator *src,
00425                UChar *dest, int32_t destCapacity,
00426                UNormalizationMode mode, int32_t options,
00427                UBool doNormalize, UBool *pNeededToNormalize,
00428                UErrorCode *pErrorCode);
00429 
00467 U_DEPRECATED int32_t U_EXPORT2
00468 unorm_concatenate(const UChar *left, int32_t leftLength,
00469                   const UChar *right, int32_t rightLength,
00470                   UChar *dest, int32_t destCapacity,
00471                   UNormalizationMode mode, int32_t options,
00472                   UErrorCode *pErrorCode);
00473 
00474 #endif  /* U_HIDE_DEPRECATED_API */
00475 #endif /* #if !UCONFIG_NO_NORMALIZATION */
00476 #endif