diff options
Diffstat (limited to 'deps/icu-small/source/i18n/uspoof_wsconf.h')
-rw-r--r-- | deps/icu-small/source/i18n/uspoof_wsconf.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/deps/icu-small/source/i18n/uspoof_wsconf.h b/deps/icu-small/source/i18n/uspoof_wsconf.h new file mode 100644 index 0000000000..5c0e6111a7 --- /dev/null +++ b/deps/icu-small/source/i18n/uspoof_wsconf.h @@ -0,0 +1,70 @@ +/* +****************************************************************************** +* +* Copyright (C) 2008-2012, International Business Machines +* Corporation and others. All Rights Reserved. +* +****************************************************************************** +* file name: uspoof_buildwsconf.h +* encoding: US-ASCII +* tab size: 8 (not used) +* indentation:4 +* +* created on: 2009Jan19 +* created by: Andy Heninger +* +* Internal classes and functions +* for compiling whole script confusable data into its binary (runtime) form. +*/ + +#ifndef __USPOOF_BUILDWSCONF_H__ +#define __USPOOF_BUILDWSCONF_H__ + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_NORMALIZATION + +#if !UCONFIG_NO_REGULAR_EXPRESSIONS + +#include "uspoof_impl.h" +#include "utrie2.h" + + +U_NAMESPACE_BEGIN + +// +// class BuilderScriptSet. Represents the set of scripts (Script Codes) +// containing characters that are confusable with one specific +// code point. +// + +class BuilderScriptSet: public UMemory { + public: + UChar32 codePoint; // The source code point. + UTrie2 *trie; // Any-case or Lower-case Trie. + // These Trie tables are the final result of the + // build. This flag indicates which of the two + // this set of data is for. + ScriptSet *sset; // The set of scripts itself. + + // Vectors of all B + uint32_t index; // Index of this set in the Build Time vector + // of script sets. + uint32_t rindex; // Index of this set in the final (runtime) + // array of sets. + UBool scriptSetOwned; // True if this BuilderScriptSet owns (should delete) + // its underlying sset. + + BuilderScriptSet(); + ~BuilderScriptSet(); +}; + + +void buildWSConfusableData(SpoofImpl *spImpl, const char * confusablesWS, + int32_t confusablesWSLen, UParseError *pe, UErrorCode &status); + +U_NAMESPACE_END + +#endif // !UCONFIG_NO_REGULAR_EXPRESSIONS +#endif // !UCONFIG_NO_NORMALIZATION +#endif |