]>
git.saurik.com Git - apple/icu.git/blob - icuSources/i18n/uspoof_wsconf.h
2 ******************************************************************************
4 * Copyright (C) 2008-2009, International Business Machines
5 * Corporation and others. All Rights Reserved.
7 ******************************************************************************
8 * file name: uspoof_buildwsconf.h
10 * tab size: 8 (not used)
13 * created on: 2009Jan19
14 * created by: Andy Heninger
16 * Internal classes and functions
17 * for compiling whole script confusable data into its binary (runtime) form.
20 #ifndef __USPOOF_BUILDWSCONF_H__
21 #define __USPOOF_BUILDWSCONF_H__
23 #include "unicode/utypes.h"
25 #if !UCONFIG_NO_NORMALIZATION
27 #if !UCONFIG_NO_REGULAR_EXPRESSIONS
29 #include "uspoof_impl.h"
36 // class BuilderScriptSet. Represents the set of scripts (Script Codes)
37 // containing characters that are confusable with one specific
41 class BuilderScriptSet
: public UMemory
{
43 UChar32 codePoint
; // The source code point.
44 UTrie2
*trie
; // Any-case or Lower-case Trie.
45 // These Trie tables are the final result of the
46 // build. This flag indicates which of the two
47 // this set of data is for.
48 ScriptSet
*sset
; // The set of scripts itself.
51 uint32_t index
; // Index of this set in the Build Time vector
53 uint32_t rindex
; // Index of this set in the final (runtime)
55 UBool scriptSetOwned
; // True if this BuilderScriptSet owns (should delete)
56 // its underlying sset.
64 void buildWSConfusableData(SpoofImpl
*spImpl
, const char * confusablesWS
,
65 int32_t confusablesWSLen
, UParseError
*pe
, UErrorCode
&status
);
68 #endif // !UCONFIG_NO_REGULAR_EXPRESSIONS
69 #endif // !UCONFIG_NO_NORMALIZATION