Movatterモバイル変換


[0]ホーム

URL:


ICU 77.1  77.1
unorm2.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 *
6 * Copyright (C) 2009-2015, International Business Machines
7 * Corporation and others. All Rights Reserved.
8 *
9 *******************************************************************************
10 * file name: unorm2.h
11 * encoding: UTF-8
12 * tab size: 8 (not used)
13 * indentation:4
14 *
15 * created on: 2009dec15
16 * created by: Markus W. Scherer
17 */
18 
19 #ifndef __UNORM2_H__
20 #define __UNORM2_H__
21 
33 #include "unicode/utypes.h"
34 #include "unicode/stringoptions.h"
35 #include "unicode/uset.h"
36 
37 #if U_SHOW_CPLUSPLUS_API
38 #include "unicode/localpointer.h"
39 #endif// U_SHOW_CPLUSPLUS_API
40 
48 typedefenum {
57 UNORM2_COMPOSE,
66 UNORM2_DECOMPOSE,
79 UNORM2_FCD,
89 UNORM2_COMPOSE_CONTIGUOUS
90 }UNormalization2Mode;
91 
97 typedefenumUNormalizationCheckResult {
102 UNORM_NO,
107 UNORM_YES,
115 UNORM_MAYBE
116 }UNormalizationCheckResult;
117 
122 structUNormalizer2;
123 typedefstructUNormalizer2UNormalizer2;
125 #if !UCONFIG_NO_NORMALIZATION
126 
138 U_CAPIconstUNormalizer2 * U_EXPORT2
139 unorm2_getNFCInstance(UErrorCode *pErrorCode);
140 
152 U_CAPIconstUNormalizer2 * U_EXPORT2
153 unorm2_getNFDInstance(UErrorCode *pErrorCode);
154 
166 U_CAPIconstUNormalizer2 * U_EXPORT2
167 unorm2_getNFKCInstance(UErrorCode *pErrorCode);
168 
180 U_CAPIconstUNormalizer2 * U_EXPORT2
181 unorm2_getNFKDInstance(UErrorCode *pErrorCode);
182 
197 U_CAPIconstUNormalizer2 * U_EXPORT2
198 unorm2_getNFKCCasefoldInstance(UErrorCode *pErrorCode);
199 
214 U_CAPIconstUNormalizer2 * U_EXPORT2
215 unorm2_getNFKCSimpleCasefoldInstance(UErrorCode *pErrorCode);
216 
238 U_CAPIconstUNormalizer2 * U_EXPORT2
239 unorm2_getInstance(constchar *packageName,
240 constchar *name,
241 UNormalization2Mode mode,
242 UErrorCode *pErrorCode);
243 
259 U_CAPIUNormalizer2 * U_EXPORT2
260 unorm2_openFiltered(constUNormalizer2 *norm2,constUSet *filterSet,UErrorCode *pErrorCode);
261 
268 U_CAPIvoid U_EXPORT2
269 unorm2_close(UNormalizer2 *norm2);
270 
271 #if U_SHOW_CPLUSPLUS_API
272 
273 U_NAMESPACE_BEGIN
274 
284 U_DEFINE_LOCAL_OPEN_POINTER(LocalUNormalizer2Pointer,UNormalizer2,unorm2_close);
285 
286 U_NAMESPACE_END
287 
288 #endif
289 
306 U_CAPI int32_t U_EXPORT2
307 unorm2_normalize(constUNormalizer2 *norm2,
308 constUChar *src, int32_t length,
309 UChar *dest, int32_t capacity,
310 UErrorCode *pErrorCode);
329 U_CAPI int32_t U_EXPORT2
330 unorm2_normalizeSecondAndAppend(constUNormalizer2 *norm2,
331 UChar *first, int32_t firstLength, int32_t firstCapacity,
332 constUChar *second, int32_t secondLength,
333 UErrorCode *pErrorCode);
352 U_CAPI int32_t U_EXPORT2
353 unorm2_append(constUNormalizer2 *norm2,
354 UChar *first, int32_t firstLength, int32_t firstCapacity,
355 constUChar *second, int32_t secondLength,
356 UErrorCode *pErrorCode);
357 
377 U_CAPI int32_t U_EXPORT2
378 unorm2_getDecomposition(constUNormalizer2 *norm2,
379 UChar32 c,UChar *decomposition, int32_t capacity,
380 UErrorCode *pErrorCode);
381 
411 U_CAPI int32_t U_EXPORT2
412 unorm2_getRawDecomposition(constUNormalizer2 *norm2,
413 UChar32 c,UChar *decomposition, int32_t capacity,
414 UErrorCode *pErrorCode);
415 
431 U_CAPIUChar32 U_EXPORT2
432 unorm2_composePair(constUNormalizer2 *norm2,UChar32 a,UChar32 b);
433 
443 U_CAPI uint8_t U_EXPORT2
444 unorm2_getCombiningClass(constUNormalizer2 *norm2,UChar32 c);
445 
462 U_CAPIUBool U_EXPORT2
463 unorm2_isNormalized(constUNormalizer2 *norm2,
464 constUChar *s, int32_t length,
465 UErrorCode *pErrorCode);
466 
484 U_CAPIUNormalizationCheckResult U_EXPORT2
485 unorm2_quickCheck(constUNormalizer2 *norm2,
486 constUChar *s, int32_t length,
487 UErrorCode *pErrorCode);
488 
513 U_CAPI int32_t U_EXPORT2
514 unorm2_spanQuickCheckYes(constUNormalizer2 *norm2,
515 constUChar *s, int32_t length,
516 UErrorCode *pErrorCode);
517 
527 U_CAPIUBool U_EXPORT2
528 unorm2_hasBoundaryBefore(constUNormalizer2 *norm2,UChar32 c);
529 
539 U_CAPIUBool U_EXPORT2
540 unorm2_hasBoundaryAfter(constUNormalizer2 *norm2,UChar32 c);
541 
550 U_CAPIUBool U_EXPORT2
551 unorm2_isInert(constUNormalizer2 *norm2,UChar32 c);
552 
619 U_CAPI int32_t U_EXPORT2
620 unorm_compare(constUChar *s1, int32_t length1,
621 constUChar *s2, int32_t length2,
622  uint32_t options,
623 UErrorCode *pErrorCode);
624 
625 #endif/* !UCONFIG_NO_NORMALIZATION */
626 #endif/* __UNORM2_H__ */
LocalUNormalizer2Pointer
"Smart pointer" class, closes a UNormalizer2 via unorm2_close().
localpointer.h
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
U_DEFINE_LOCAL_OPEN_POINTER
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition:localpointer.h:550
stringoptions.h
C API: Bit set option bit constants for various string and character processing functions.
UChar32
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition:umachine.h:427
UBool
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition:umachine.h:247
U_CAPI
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition:umachine.h:110
UChar
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition:umachine.h:378
UNormalizationCheckResult
UNormalizationCheckResult
Result values for normalization quick check functions.
Definition:unorm2.h:97
UNORM_YES
@ UNORM_YES
The input string is in the normalization form.
Definition:unorm2.h:107
UNORM_MAYBE
@ UNORM_MAYBE
The input string may or may not be in the normalization form.
Definition:unorm2.h:115
UNORM_NO
@ UNORM_NO
The input string is not in the normalization form.
Definition:unorm2.h:102
unorm2_getRawDecomposition
U_CAPI int32_t unorm2_getRawDecomposition(const UNormalizer2 *norm2, UChar32 c, UChar *decomposition, int32_t capacity, UErrorCode *pErrorCode)
Gets the raw decomposition mapping of c.
unorm2_openFiltered
U_CAPI UNormalizer2 * unorm2_openFiltered(const UNormalizer2 *norm2, const USet *filterSet, UErrorCode *pErrorCode)
Constructs a filtered normalizer wrapping any UNormalizer2 instance and a filter set.
unorm2_getCombiningClass
U_CAPI uint8_t unorm2_getCombiningClass(const UNormalizer2 *norm2, UChar32 c)
Gets the combining class of c.
unorm2_isNormalized
U_CAPI UBool unorm2_isNormalized(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
Tests if the string is normalized.
unorm2_normalize
U_CAPI int32_t unorm2_normalize(const UNormalizer2 *norm2, const UChar *src, int32_t length, UChar *dest, int32_t capacity, UErrorCode *pErrorCode)
Writes the normalized form of the source string to the destination string (replacing its contents) an...
unorm2_append
U_CAPI int32_t unorm2_append(const UNormalizer2 *norm2, UChar *first, int32_t firstLength, int32_t firstCapacity, const UChar *second, int32_t secondLength, UErrorCode *pErrorCode)
Appends the second string to the first string (merging them at the boundary) and returns the length o...
unorm2_hasBoundaryAfter
U_CAPI UBool unorm2_hasBoundaryAfter(const UNormalizer2 *norm2, UChar32 c)
Tests if the character always has a normalization boundary after it, regardless of context.
unorm2_close
U_CAPI void unorm2_close(UNormalizer2 *norm2)
Closes a UNormalizer2 instance from unorm2_openFiltered().
UNormalization2Mode
UNormalization2Mode
Constants for normalization modes.
Definition:unorm2.h:48
UNORM2_COMPOSE
@ UNORM2_COMPOSE
Decomposition followed by composition.
Definition:unorm2.h:57
UNORM2_FCD
@ UNORM2_FCD
"Fast C or D" form.
Definition:unorm2.h:79
UNORM2_COMPOSE_CONTIGUOUS
@ UNORM2_COMPOSE_CONTIGUOUS
Compose only contiguously.
Definition:unorm2.h:89
UNORM2_DECOMPOSE
@ UNORM2_DECOMPOSE
Map, and reorder canonically.
Definition:unorm2.h:66
unorm2_getNFKCInstance
U_CAPI const UNormalizer2 * unorm2_getNFKCInstance(UErrorCode *pErrorCode)
Returns a UNormalizer2 instance for Unicode NFKC normalization.
unorm2_spanQuickCheckYes
U_CAPI int32_t unorm2_spanQuickCheckYes(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
Returns the end of the normalized substring of the input string.
unorm2_composePair
U_CAPI UChar32 unorm2_composePair(const UNormalizer2 *norm2, UChar32 a, UChar32 b)
Performs pairwise composition of a & b and returns the composite if there is one.
unorm2_getInstance
U_CAPI const UNormalizer2 * unorm2_getInstance(const char *packageName, const char *name, UNormalization2Mode mode, UErrorCode *pErrorCode)
Returns a UNormalizer2 instance which uses the specified data file (packageName/name similar to ucnv_...
unorm2_getNFKCSimpleCasefoldInstance
U_CAPI const UNormalizer2 * unorm2_getNFKCSimpleCasefoldInstance(UErrorCode *pErrorCode)
Returns a UNormalizer2 instance for a variant of Unicode toNFKC_Casefold() normalization which is equ...
unorm2_getNFKCCasefoldInstance
U_CAPI const UNormalizer2 * unorm2_getNFKCCasefoldInstance(UErrorCode *pErrorCode)
Returns a UNormalizer2 instance for Unicode toNFKC_Casefold() normalization which is equivalent to ap...
unorm2_hasBoundaryBefore
U_CAPI UBool unorm2_hasBoundaryBefore(const UNormalizer2 *norm2, UChar32 c)
Tests if the character always has a normalization boundary before it, regardless of context.
unorm2_isInert
U_CAPI UBool unorm2_isInert(const UNormalizer2 *norm2, UChar32 c)
Tests if the character is normalization-inert.
unorm2_getNFDInstance
U_CAPI const UNormalizer2 * unorm2_getNFDInstance(UErrorCode *pErrorCode)
Returns a UNormalizer2 instance for Unicode NFD normalization.
unorm2_getDecomposition
U_CAPI int32_t unorm2_getDecomposition(const UNormalizer2 *norm2, UChar32 c, UChar *decomposition, int32_t capacity, UErrorCode *pErrorCode)
Gets the decomposition mapping of c.
unorm2_normalizeSecondAndAppend
U_CAPI int32_t unorm2_normalizeSecondAndAppend(const UNormalizer2 *norm2, UChar *first, int32_t firstLength, int32_t firstCapacity, const UChar *second, int32_t secondLength, UErrorCode *pErrorCode)
Appends the normalized form of the second string to the first string (merging them at the boundary) a...
unorm2_quickCheck
U_CAPI UNormalizationCheckResult unorm2_quickCheck(const UNormalizer2 *norm2, const UChar *s, int32_t length, UErrorCode *pErrorCode)
Tests if the string is normalized.
unorm2_getNFKDInstance
U_CAPI const UNormalizer2 * unorm2_getNFKDInstance(UErrorCode *pErrorCode)
Returns a UNormalizer2 instance for Unicode NFKD normalization.
unorm_compare
U_CAPI int32_t unorm_compare(const UChar *s1, int32_t length1, const UChar *s2, int32_t length2, uint32_t options, UErrorCode *pErrorCode)
Compares two strings for canonical equivalence.
unorm2_getNFCInstance
U_CAPI const UNormalizer2 * unorm2_getNFCInstance(UErrorCode *pErrorCode)
Returns a UNormalizer2 instance for Unicode NFC normalization.
UNormalizer2
struct UNormalizer2 UNormalizer2
C typedef for struct UNormalizer2.
Definition:unorm2.h:123
uset.h
C API: Unicode Set.
USet
struct USet USet
USet is the C API type corresponding to C++ class UnicodeSet.
Definition:uset.h:54
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition:utypes.h:430

Generated by doxygen 1.9.1
[8]ページ先頭

©2009-2025 Movatter.jp