/*
**********************************************************************
*   Copyright (C) 2001, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   07/03/01    aliu        Creation.
**********************************************************************
*/

#include "unicode/utypes.h"
#include "unicode/uniset.h"
#include "nortrans.h"
#include "unormimp.h"
#include "mutex.h"
#include "ucln_in.h"

U_NAMESPACE_BEGIN

/**
 * Mutex for statics IN THIS FILE
 */
static UMTX MUTEX = 0;

/**
 * Generated in unicodetools, NFSkippable
 */
static UnicodeSet* SKIPPABLES = NULL;

static const int32_t D = 0, C = 1, KD= 2, KC = 3;

U_CDECL_BEGIN

/*
 * This is an implementation of a code unit (UChar) iterator
 * based on a Replaceable object.
 * It is used with the internal API for incremental normalization.
 *
 * The UCharIterator.context field holds a pointer to the Replaceable.
 * UCharIterator.length and UCharIterator.index hold Replaceable.length()
 * and the iteration index.
 */

static int32_t U_CALLCONV
replaceableIteratorMove(UCharIterator *iter, int32_t delta, UCharIteratorOrigin origin) {
    int32_t pos;

    switch(origin) {
    case UITERATOR_START:
        pos=iter->start+delta;
        break;
    case UITERATOR_CURRENT:
        pos=iter->index+delta;
        break;
    case UITERATOR_END:
        pos=iter->limit+delta;
        break;
    default:
        /* not a valid origin, no move */
        /* Should never get here! */
        pos = iter->start;
        break;
    }

    if(pos<iter->start) {
        pos=iter->start;
    } else if(pos>iter->limit) {
        pos=iter->limit;
    }

    return iter->index=pos;
}

static UBool U_CALLCONV
replaceableIteratorHasNext(UCharIterator *iter) {
    return iter->index<iter->limit;
}

static UBool U_CALLCONV
replaceableIteratorHasPrevious(UCharIterator *iter) {
    return iter->index>iter->start;
}

static UChar U_CALLCONV
replaceableIteratorCurrent(UCharIterator *iter) {
    if(iter->index<iter->limit) {
        return ((Replaceable *)(iter->context))->charAt(iter->index);
    } else {
        return 0xffff;
    }
}

static UChar U_CALLCONV
replaceableIteratorNext(UCharIterator *iter) {
    if(iter->index<iter->limit) {
        return ((Replaceable *)(iter->context))->charAt(iter->index++);
    } else {
        return 0xffff;
    }
}

static UChar U_CALLCONV
replaceableIteratorPrevious(UCharIterator *iter) {
    if(iter->index>iter->start) {
        return ((Replaceable *)(iter->context))->charAt(--iter->index);
    } else {
        return 0xffff;
    }
}

static const UCharIterator replaceableIterator={
    0, 0, 0, 0, 0,
    replaceableIteratorMove,
    replaceableIteratorHasNext,
    replaceableIteratorHasPrevious,
    replaceableIteratorCurrent,
    replaceableIteratorNext,
    replaceableIteratorPrevious
};

U_CDECL_END

/**
 * System registration hook.
 */
void NormalizationTransliterator::registerIDs() {
    UErrorCode errorCode = U_ZERO_ERROR;
    if(!unorm_haveData(&errorCode)) {
        return;
    }

    Transliterator::_registerFactory(UnicodeString("Any-NFC", ""),
                                     _create, integerToken(UNORM_NFC));
    Transliterator::_registerFactory(UnicodeString("Any-NFKC", ""),
                                     _create, integerToken(UNORM_NFKC));
    Transliterator::_registerFactory(UnicodeString("Any-NFD", ""),
                                     _create, integerToken(UNORM_NFD));
    Transliterator::_registerFactory(UnicodeString("Any-NFKD", ""),
                                     _create, integerToken(UNORM_NFKD));
    Transliterator::_registerSpecialInverse(UnicodeString("NFC", ""),
                                            UnicodeString("NFD", ""), TRUE);
    Transliterator::_registerSpecialInverse(UnicodeString("NFKC", ""),
                                            UnicodeString("NFKD", ""), TRUE);
}

/**
 * Factory methods
 */
Transliterator* NormalizationTransliterator::_create(const UnicodeString& ID,
                                                     Token context) {
    return new NormalizationTransliterator(ID, (UNormalizationMode) context.integer, 0);
}

/**
 * Constructs a transliterator.
 */
NormalizationTransliterator::NormalizationTransliterator(
                                 const UnicodeString& id,
                                 UNormalizationMode mode, int32_t opt) :
    Transliterator(id, 0) {
    fMode = mode;
    options = opt;
    skippable = NULL;
    initStatics();
    switch(mode) {
    case UNORM_NFD:
        skippable = &SKIPPABLES[D];
        break;
    case UNORM_NFC:
        skippable = &SKIPPABLES[C];
        break;
    case UNORM_NFKD:
        skippable = &SKIPPABLES[KD];
        break;
    case UNORM_NFKC:
        skippable = &SKIPPABLES[KC];
        break;
    }
}

/**
 * Destructor.
 */
NormalizationTransliterator::~NormalizationTransliterator() {
}

/**
 * Copy constructor.
 */
NormalizationTransliterator::NormalizationTransliterator(const NormalizationTransliterator& o) :
Transliterator(o) {
    fMode = o.fMode;
    options = o.options;
    skippable = o.skippable;
}

/**
 * Assignment operator.
 */
NormalizationTransliterator& NormalizationTransliterator::operator=(const NormalizationTransliterator& o) {
    Transliterator::operator=(o);
    fMode = o.fMode;
    options = o.options;
    skippable = o.skippable;
    return *this;
}

/**
 * Transliterator API.
 */
Transliterator* NormalizationTransliterator::clone(void) const {
    return new NormalizationTransliterator(*this);
}

/**
 * Implements {@link Transliterator#handleTransliterate}.
 */
void NormalizationTransliterator::handleTransliterate(Replaceable& text, UTransPosition& offsets,
                                                      UBool isIncremental) const {
    // start and limit of the input range
    int32_t start = offsets.start;
    int32_t limit = offsets.limit;
    int32_t length, delta;

    if(start >= limit) {
        return;
    }

    // a C code unit iterator, implemented around the Replaceable
    UCharIterator iter = replaceableIterator;
    iter.context = &text;
    // iter.length = text.length(); is not used

    // the output string and buffer pointer
    UnicodeString output;
    UChar *buffer;

    UErrorCode errorCode;

    /*
     * Normalize as short chunks at a time as possible even in
     * bulk mode, so that styled text is minimally disrupted.
     * In incremental mode, a chunk that ends with offsets.limit
     * must not be normalized.
     *
     * If it was known that the input text is not styled, then
     * a bulk mode normalization could look like this:
     *

    UChar staticChars[256];
    UnicodeString input;

    length = limit - start;
    input.setTo(staticChars, 0, sizeof(staticChars)/U_SIZEOF_UCHAR); // writable alias

    _Replaceable_extractBetween(text, start, limit, input.getBuffer(length));
    input.releaseBuffer(length);

    UErrorCode status = U_ZERO_ERROR;
    Normalizer::normalize(input, fMode, options, output, status);

    text.handleReplaceBetween(start, limit, output);

    int32_t delta = output.length() - length;
    offsets.contextLimit += delta;
    offsets.limit += delta;
    offsets.start = limit + delta;

     *
     */
    while(start < limit) {
        // set the iterator limits for the remaining input range
        // this is a moving target because of the replacements in the text object
        iter.start = iter.index = start;
        iter.limit = limit;

        // incrementally normalize a small chunk of the input
        buffer = output.getBuffer(-1);
        errorCode = U_ZERO_ERROR;
        length = unorm_nextNormalize(buffer, output.getCapacity(), &iter,
                                     fMode, FALSE, &errorCode);
        output.releaseBuffer(length);

        if(errorCode == U_BUFFER_OVERFLOW_ERROR) {
            // use a larger output string buffer and do it again from the start
            iter.index = start;
            buffer = output.getBuffer(length);
            errorCode = U_ZERO_ERROR;
            length = unorm_nextNormalize(buffer, output.getCapacity(), &iter,
                                         fMode, FALSE, &errorCode);
            output.releaseBuffer(length);
        }

        if(U_FAILURE(errorCode)) {
            break;
        }

        limit = iter.index;
        if(isIncremental && limit == iter.limit) {
            // stop in incremental mode when we reach the input limit
            // in case there are additional characters that could change the
            // normalization result

            // UNLESS all characters in the result of the normalization of
            // the last run are in the skippable set
            if (!skippable->containsAll(output)) {
                break;
            }
        }

        // replace the input chunk with its normalized form
        text.handleReplaceBetween(start, limit, output);

        // update all necessary indexes accordingly
        delta = length - (limit - start);   // length change in the text object
        start = limit += delta;             // the next chunk starts where this one ends, with adjustment
        limit = offsets.limit += delta;     // set the iteration limit to the adjusted end of the input range
        offsets.contextLimit += delta;
    }

    offsets.start = start;
}

void NormalizationTransliterator::initStatics() {
    if (SKIPPABLES == NULL) {
        Mutex lock(&MUTEX);
        if (SKIPPABLES == NULL) {
            SKIPPABLES = new UnicodeSet[4];
            UErrorCode ec = U_ZERO_ERROR;
           
            // (Technically, the invariant converter is not guaranteed to
            // convert the backslash correctly, but in practice it does.)

            SKIPPABLES[D].applyPattern(UnicodeString(
	        "[^\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6\\u00D9-\\u00DD\\u00E0-"
	        "\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6\\u00F9-\\u00FD\\u00FF-\\u010F\\u0112"
	        "-\\u0125\\u0128-\\u0130\\u0134-\\u0137\\u0139-\\u013E\\u0143-\\u0148"
	        "\\u014C-\\u0151\\u0154-\\u0165\\u0168-\\u017E\\u01A0-\\u01A1\\u01AF-"
	        "\\u01B0\\u01CD-\\u01DC\\u01DE-\\u01E3\\u01E6-\\u01F0\\u01F4-\\u01F5\\u01F8"
	        "-\\u021B\\u021E-\\u021F\\u0226-\\u0233\\u0300-\\u034E\\u0360-\\u0362"
	        "\\u0374\\u037E\\u0385-\\u038A\\u038C\\u038E-\\u0390\\u03AA-\\u03B0\\u03CA-"
	        "\\u03CE\\u03D3-\\u03D4\\u0400-\\u0401\\u0403\\u0407\\u040C-\\u040E\\u0419"
	        "\\u0439\\u0450-\\u0451\\u0453\\u0457\\u045C-\\u045E\\u0476-\\u0477\\u0483-"
	        "\\u0486\\u04C1-\\u04C2\\u04D0-\\u04D3\\u04D6-\\u04D7\\u04DA-\\u04DF\\u04E2"
	        "-\\u04E7\\u04EA-\\u04F5\\u04F8-\\u04F9\\u0591-\\u05A1\\u05A3-\\u05B9"
	        "\\u05BB-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4\\u0622-\\u0626\\u064B-\\u0655"
	        "\\u0670\\u06C0\\u06C2\\u06D3\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8"
	        "\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u0929\\u0931\\u0934\\u093C\\u094D"
	        "\\u0951-\\u0954\\u0958-\\u095F\\u09BC\\u09CB-\\u09CD\\u09DC-\\u09DD\\u09DF"
	        "\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E\\u0ABC\\u0ACD\\u0B3C"
	        "\\u0B48\\u0B4B-\\u0B4D\\u0B5C-\\u0B5D\\u0B94\\u0BCA-\\u0BCD\\u0C48\\u0C4D"
	        "\\u0C55-\\u0C56\\u0CC0\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB\\u0CCD\\u0D4A-\\u0D4D"
	        "\\u0DCA\\u0DDA\\u0DDC-\\u0DDE\\u0E38-\\u0E3A\\u0E48-\\u0E4B\\u0EB8-\\u0EB9"
	        "\\u0EC8-\\u0ECB\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F43\\u0F4D\\u0F52"
	        "\\u0F57\\u0F5C\\u0F69\\u0F71-\\u0F76\\u0F78\\u0F7A-\\u0F7D\\u0F80-\\u0F84"
	        "\\u0F86-\\u0F87\\u0F93\\u0F9D\\u0FA2\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1026"
	        "\\u1037\\u1039\\u17D2\\u18A9\\u1E00-\\u1E99\\u1E9B\\u1EA0-\\u1EF9\\u1F00-"
	        "\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59"
	        "\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC1-"
	        "\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-\\u1FF4\\u1FF6"
	        "-\\u1FFD\\u2000-\\u2001\\u20D0-\\u20DC\\u20E1\\u2126\\u212A-\\u212B\\u219A"
	        "-\\u219B\\u21AE\\u21CD-\\u21CF\\u2204\\u2209\\u220C\\u2224\\u2226\\u2241"
	        "\\u2244\\u2247\\u2249\\u2260\\u2262\\u226D-\\u2271\\u2274-\\u2275\\u2278-"
	        "\\u2279\\u2280-\\u2281\\u2284-\\u2285\\u2288-\\u2289\\u22AC-\\u22AF\\u22E0"
	        "-\\u22E3\\u22EA-\\u22ED\\u2329-\\u232A\\u302A-\\u302F\\u304C\\u304E\\u3050"
	        "\\u3052\\u3054\\u3056\\u3058\\u305A\\u305C\\u305E\\u3060\\u3062\\u3065"
	        "\\u3067\\u3069\\u3070-\\u3071\\u3073-\\u3074\\u3076-\\u3077\\u3079-\\u307A"
	        "\\u307C-\\u307D\\u3094\\u3099-\\u309A\\u309E\\u30AC\\u30AE\\u30B0\\u30B2"
	        "\\u30B4\\u30B6\\u30B8\\u30BA\\u30BC\\u30BE\\u30C0\\u30C2\\u30C5\\u30C7"
	        "\\u30C9\\u30D0-\\u30D1\\u30D3-\\u30D4\\u30D6-\\u30D7\\u30D9-\\u30DA\\u30DC"
	        "-\\u30DD\\u30F4\\u30F7-\\u30FA\\u30FE\\uAC00-\\uD7A3\\uF900-\\uFA0D\\uFA10"
	        "\\uFA12\\uFA15-\\uFA1E\\uFA20\\uFA22\\uFA25-\\uFA26\\uFA2A-\\uFA2D\\uFB1D-"
	        "\\uFB1F\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44"
	        "\\uFB46-\\uFB4E\\uFE20-\\uFE23\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001"
	        "D172\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-\\U0001D"
	        "1AD\\U0001D1BB-\\U0001D1C0\\U0002F800-\\U0002FA1D]", ""), ec);

            SKIPPABLES[C].applyPattern(UnicodeString(
	        "[^<->A-PR-Za-pr-z\\u00A8\\u00C0-\\u00CF\\u00D1-\\u00D6\\u00D8-\\u00DD"
	        "\\u00E0-\\u00EF\\u00F1-\\u00F6\\u00F8-\\u00FD\\u00FF-\\u0103\\u0106-"
	        "\\u010F\\u0112-\\u0117\\u011A-\\u0121\\u0124-\\u0125\\u0128-\\u012D\\u0130"
	        "\\u0139-\\u013A\\u013D-\\u013E\\u0143-\\u0144\\u0147-\\u0148\\u014C-"
	        "\\u0151\\u0154-\\u0155\\u0158-\\u015D\\u0160-\\u0161\\u0164-\\u0165\\u0168"
	        "-\\u0171\\u0174-\\u017F\\u01A0-\\u01A1\\u01AF-\\u01B0\\u01B7\\u01CD-"
	        "\\u01DC\\u01DE-\\u01E1\\u01E6-\\u01EB\\u01F4-\\u01F5\\u01F8-\\u01FB\\u0200"
	        "-\\u021B\\u021E-\\u021F\\u0226-\\u0233\\u0292\\u0300-\\u034E\\u0360-"
	        "\\u0362\\u0374\\u037E\\u0387\\u0391\\u0395\\u0397\\u0399\\u039F\\u03A1"
	        "\\u03A5\\u03A9\\u03AC\\u03AE\\u03B1\\u03B5\\u03B7\\u03B9\\u03BF\\u03C1"
	        "\\u03C5\\u03C9-\\u03CB\\u03CE\\u03D2\\u0406\\u0410\\u0413\\u0415-\\u0418"
	        "\\u041A\\u041E\\u0423\\u0427\\u042B\\u042D\\u0430\\u0433\\u0435-\\u0438"
	        "\\u043A\\u043E\\u0443\\u0447\\u044B\\u044D\\u0456\\u0474-\\u0475\\u0483-"
	        "\\u0486\\u04D8-\\u04D9\\u04E8-\\u04E9\\u0591-\\u05A1\\u05A3-\\u05B9\\u05BB"
	        "-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4\\u0622-\\u0623\\u0627\\u0648\\u064A-"
	        "\\u0655\\u0670\\u06C1\\u06D2\\u06D5-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8"
	        "\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u0928\\u0930\\u0933\\u093C\\u094D"
	        "\\u0951-\\u0954\\u0958-\\u095F\\u09BC\\u09BE\\u09C7\\u09CD\\u09D7\\u09DC-"
	        "\\u09DD\\u09DF\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E\\u0ABC"
	        "\\u0ACD\\u0B3C\\u0B3E\\u0B47\\u0B4D\\u0B56-\\u0B57\\u0B5C-\\u0B5D\\u0B92"
	        "\\u0BBE\\u0BC6-\\u0BC7\\u0BCD\\u0BD7\\u0C46\\u0C4D\\u0C55-\\u0C56\\u0CBF"
	        "\\u0CC2\\u0CC6\\u0CCA\\u0CCD\\u0CD5-\\u0CD6\\u0D3E\\u0D46-\\u0D47\\u0D4D"
	        "\\u0D57\\u0DCA\\u0DCF\\u0DD9\\u0DDC\\u0DDF\\u0E38-\\u0E3A\\u0E48-\\u0E4B"
	        "\\u0EB8-\\u0EB9\\u0EC8-\\u0ECB\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F43"
	        "\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69\\u0F71-\\u0F76\\u0F78\\u0F7A-\\u0F7D"
	        "\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F93\\u0F9D\\u0FA2\\u0FA7\\u0FAC\\u0FB9"
	        "\\u0FC6\\u1025\\u102E\\u1037\\u1039\\u1100-\\u1112\\u1161-\\u1175\\u11A8-"
	        "\\u11C2\\u17D2\\u18A9\\u1E00-\\u1E03\\u1E0A-\\u1E0F\\u1E12-\\u1E1B\\u1E20-"
	        "\\u1E27\\u1E2A-\\u1E41\\u1E44-\\u1E53\\u1E58-\\u1E7D\\u1E80-\\u1E87\\u1E8E"
	        "-\\u1E91\\u1E96-\\u1E99\\u1EA0-\\u1EF3\\u1EF6-\\u1EF9\\u1F00-\\u1F11"
	        "\\u1F18-\\u1F19\\u1F20-\\u1F31\\u1F38-\\u1F39\\u1F40-\\u1F41\\u1F48-"
	        "\\u1F49\\u1F50-\\u1F51\\u1F59\\u1F60-\\u1F71\\u1F73-\\u1F75\\u1F77\\u1F79"
	        "\\u1F7B-\\u1F7D\\u1F80-\\u1F81\\u1F88-\\u1F89\\u1F90-\\u1F91\\u1F98-"
	        "\\u1F99\\u1FA0-\\u1FA1\\u1FA8-\\u1FA9\\u1FB3\\u1FB6\\u1FBB-\\u1FBC\\u1FBE-"
	        "\\u1FBF\\u1FC3\\u1FC6\\u1FC9\\u1FCB-\\u1FCC\\u1FD3\\u1FDB\\u1FE3\\u1FEB"
	        "\\u1FEE-\\u1FEF\\u1FF3\\u1FF6\\u1FF9\\u1FFB-\\u1FFE\\u2000-\\u2001\\u20D0-"
	        "\\u20DC\\u20E1\\u2126\\u212A-\\u212B\\u2190\\u2192\\u2194\\u21D0\\u21D2"
	        "\\u21D4\\u2203\\u2208\\u220B\\u2223\\u2225\\u223C\\u2243\\u2245\\u2248"
	        "\\u224D\\u2261\\u2264-\\u2265\\u2272-\\u2273\\u2276-\\u2277\\u227A-\\u227D"
	        "\\u2282-\\u2283\\u2286-\\u2287\\u2291-\\u2292\\u22A2\\u22A8-\\u22A9\\u22AB"
	        "\\u22B2-\\u22B5\\u2329-\\u232A\\u302A-\\u302F\\u3046\\u304B\\u304D\\u304F"
	        "\\u3051\\u3053\\u3055\\u3057\\u3059\\u305B\\u305D\\u305F\\u3061\\u3064"
	        "\\u3066\\u3068\\u306F\\u3072\\u3075\\u3078\\u307B\\u3099-\\u309A\\u309D"
	        "\\u30A6\\u30AB\\u30AD\\u30AF\\u30B1\\u30B3\\u30B5\\u30B7\\u30B9\\u30BB"
	        "\\u30BD\\u30BF\\u30C1\\u30C4\\u30C6\\u30C8\\u30CF\\u30D2\\u30D5\\u30D8"
	        "\\u30DB\\u30EF-\\u30F2\\u30FD\\uAC00\\uAC1C\\uAC38\\uAC54\\uAC70\\uAC8C"
	        "\\uACA8\\uACC4\\uACE0\\uACFC\\uAD18\\uAD34\\uAD50\\uAD6C\\uAD88\\uADA4"
	        "\\uADC0\\uADDC\\uADF8\\uAE14\\uAE30\\uAE4C\\uAE68\\uAE84\\uAEA0\\uAEBC"
	        "\\uAED8\\uAEF4\\uAF10\\uAF2C\\uAF48\\uAF64\\uAF80\\uAF9C\\uAFB8\\uAFD4"
	        "\\uAFF0\\uB00C\\uB028\\uB044\\uB060\\uB07C\\uB098\\uB0B4\\uB0D0\\uB0EC"
	        "\\uB108\\uB124\\uB140\\uB15C\\uB178\\uB194\\uB1B0\\uB1CC\\uB1E8\\uB204"
	        "\\uB220\\uB23C\\uB258\\uB274\\uB290\\uB2AC\\uB2C8\\uB2E4\\uB300\\uB31C"
	        "\\uB338\\uB354\\uB370\\uB38C\\uB3A8\\uB3C4\\uB3E0\\uB3FC\\uB418\\uB434"
	        "\\uB450\\uB46C\\uB488\\uB4A4\\uB4C0\\uB4DC\\uB4F8\\uB514\\uB530\\uB54C"
	        "\\uB568\\uB584\\uB5A0\\uB5BC\\uB5D8\\uB5F4\\uB610\\uB62C\\uB648\\uB664"
	        "\\uB680\\uB69C\\uB6B8\\uB6D4\\uB6F0\\uB70C\\uB728\\uB744\\uB760\\uB77C"
	        "\\uB798\\uB7B4\\uB7D0\\uB7EC\\uB808\\uB824\\uB840\\uB85C\\uB878\\uB894"
	        "\\uB8B0\\uB8CC\\uB8E8\\uB904\\uB920\\uB93C\\uB958\\uB974\\uB990\\uB9AC"
	        "\\uB9C8\\uB9E4\\uBA00\\uBA1C\\uBA38\\uBA54\\uBA70\\uBA8C\\uBAA8\\uBAC4"
	        "\\uBAE0\\uBAFC\\uBB18\\uBB34\\uBB50\\uBB6C\\uBB88\\uBBA4\\uBBC0\\uBBDC"
	        "\\uBBF8\\uBC14\\uBC30\\uBC4C\\uBC68\\uBC84\\uBCA0\\uBCBC\\uBCD8\\uBCF4"
	        "\\uBD10\\uBD2C\\uBD48\\uBD64\\uBD80\\uBD9C\\uBDB8\\uBDD4\\uBDF0\\uBE0C"
	        "\\uBE28\\uBE44\\uBE60\\uBE7C\\uBE98\\uBEB4\\uBED0\\uBEEC\\uBF08\\uBF24"
	        "\\uBF40\\uBF5C\\uBF78\\uBF94\\uBFB0\\uBFCC\\uBFE8\\uC004\\uC020\\uC03C"
	        "\\uC058\\uC074\\uC090\\uC0AC\\uC0C8\\uC0E4\\uC100\\uC11C\\uC138\\uC154"
	        "\\uC170\\uC18C\\uC1A8\\uC1C4\\uC1E0\\uC1FC\\uC218\\uC234\\uC250\\uC26C"
	        "\\uC288\\uC2A4\\uC2C0\\uC2DC\\uC2F8\\uC314\\uC330\\uC34C\\uC368\\uC384"
	        "\\uC3A0\\uC3BC\\uC3D8\\uC3F4\\uC410\\uC42C\\uC448\\uC464\\uC480\\uC49C"
	        "\\uC4B8\\uC4D4\\uC4F0\\uC50C\\uC528\\uC544\\uC560\\uC57C\\uC598\\uC5B4"
	        "\\uC5D0\\uC5EC\\uC608\\uC624\\uC640\\uC65C\\uC678\\uC694\\uC6B0\\uC6CC"
	        "\\uC6E8\\uC704\\uC720\\uC73C\\uC758\\uC774\\uC790\\uC7AC\\uC7C8\\uC7E4"
	        "\\uC800\\uC81C\\uC838\\uC854\\uC870\\uC88C\\uC8A8\\uC8C4\\uC8E0\\uC8FC"
	        "\\uC918\\uC934\\uC950\\uC96C\\uC988\\uC9A4\\uC9C0\\uC9DC\\uC9F8\\uCA14"
	        "\\uCA30\\uCA4C\\uCA68\\uCA84\\uCAA0\\uCABC\\uCAD8\\uCAF4\\uCB10\\uCB2C"
	        "\\uCB48\\uCB64\\uCB80\\uCB9C\\uCBB8\\uCBD4\\uCBF0\\uCC0C\\uCC28\\uCC44"
	        "\\uCC60\\uCC7C\\uCC98\\uCCB4\\uCCD0\\uCCEC\\uCD08\\uCD24\\uCD40\\uCD5C"
	        "\\uCD78\\uCD94\\uCDB0\\uCDCC\\uCDE8\\uCE04\\uCE20\\uCE3C\\uCE58\\uCE74"
	        "\\uCE90\\uCEAC\\uCEC8\\uCEE4\\uCF00\\uCF1C\\uCF38\\uCF54\\uCF70\\uCF8C"
	        "\\uCFA8\\uCFC4\\uCFE0\\uCFFC\\uD018\\uD034\\uD050\\uD06C\\uD088\\uD0A4"
	        "\\uD0C0\\uD0DC\\uD0F8\\uD114\\uD130\\uD14C\\uD168\\uD184\\uD1A0\\uD1BC"
	        "\\uD1D8\\uD1F4\\uD210\\uD22C\\uD248\\uD264\\uD280\\uD29C\\uD2B8\\uD2D4"
	        "\\uD2F0\\uD30C\\uD328\\uD344\\uD360\\uD37C\\uD398\\uD3B4\\uD3D0\\uD3EC"
	        "\\uD408\\uD424\\uD440\\uD45C\\uD478\\uD494\\uD4B0\\uD4CC\\uD4E8\\uD504"
	        "\\uD520\\uD53C\\uD558\\uD574\\uD590\\uD5AC\\uD5C8\\uD5E4\\uD600\\uD61C"
	        "\\uD638\\uD654\\uD670\\uD68C\\uD6A8\\uD6C4\\uD6E0\\uD6FC\\uD718\\uD734"
	        "\\uD750\\uD76C\\uD788\\uF900-\\uFA0D\\uFA10\\uFA12\\uFA15-\\uFA1E\\uFA20"
	        "\\uFA22\\uFA25-\\uFA26\\uFA2A-\\uFA2D\\uFB1D-\\uFB1F\\uFB2A-\\uFB36\\uFB38"
	        "-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-\\uFB44\\uFB46-\\uFB4E\\uFE20-"
	        "\\uFE23\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001D172\\U0001D17B-"
	        "\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-\\U0001D1AD\\U0001D1BB-"
	        "\\U0001D1C0\\U0002F800-\\U0002FA1D]", ""), ec);

            SKIPPABLES[KD].applyPattern(UnicodeString(
	        "[^\\u00A0\\u00A8\\u00AA\\u00AF\\u00B2-\\u00B5\\u00B8-\\u00BA\\u00BC-"
	        "\\u00BE\\u00C0-\\u00C5\\u00C7-\\u00CF\\u00D1-\\u00D6\\u00D9-\\u00DD\\u00E0"
	        "-\\u00E5\\u00E7-\\u00EF\\u00F1-\\u00F6\\u00F9-\\u00FD\\u00FF-\\u010F"
	        "\\u0112-\\u0125\\u0128-\\u0130\\u0132-\\u0137\\u0139-\\u0140\\u0143-"
	        "\\u0149\\u014C-\\u0151\\u0154-\\u0165\\u0168-\\u017F\\u01A0-\\u01A1\\u01AF"
	        "-\\u01B0\\u01C4-\\u01DC\\u01DE-\\u01E3\\u01E6-\\u01F5\\u01F8-\\u021B"
	        "\\u021E-\\u021F\\u0226-\\u0233\\u02B0-\\u02B8\\u02D8-\\u02DD\\u02E0-"
	        "\\u02E4\\u0300-\\u034E\\u0360-\\u0362\\u0374\\u037A\\u037E\\u0384-\\u038A"
	        "\\u038C\\u038E-\\u0390\\u03AA-\\u03B0\\u03CA-\\u03CE\\u03D0-\\u03D6\\u03F0"
	        "-\\u03F2\\u03F4-\\u03F5\\u0400-\\u0401\\u0403\\u0407\\u040C-\\u040E\\u0419"
	        "\\u0439\\u0450-\\u0451\\u0453\\u0457\\u045C-\\u045E\\u0476-\\u0477\\u0483-"
	        "\\u0486\\u04C1-\\u04C2\\u04D0-\\u04D3\\u04D6-\\u04D7\\u04DA-\\u04DF\\u04E2"
	        "-\\u04E7\\u04EA-\\u04F5\\u04F8-\\u04F9\\u0587\\u0591-\\u05A1\\u05A3-"
	        "\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1-\\u05C2\\u05C4\\u0622-\\u0626\\u064B-"
	        "\\u0655\\u0670\\u0675-\\u0678\\u06C0\\u06C2\\u06D3\\u06D6-\\u06DC\\u06DF-"
	        "\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u0929\\u0931"
	        "\\u0934\\u093C\\u094D\\u0951-\\u0954\\u0958-\\u095F\\u09BC\\u09CB-\\u09CD"
	        "\\u09DC-\\u09DD\\u09DF\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E"
	        "\\u0ABC\\u0ACD\\u0B3C\\u0B48\\u0B4B-\\u0B4D\\u0B5C-\\u0B5D\\u0B94\\u0BCA-"
	        "\\u0BCD\\u0C48\\u0C4D\\u0C55-\\u0C56\\u0CC0\\u0CC7-\\u0CC8\\u0CCA-\\u0CCB"
	        "\\u0CCD\\u0D4A-\\u0D4D\\u0DCA\\u0DDA\\u0DDC-\\u0DDE\\u0E33\\u0E38-\\u0E3A"
	        "\\u0E48-\\u0E4B\\u0EB3\\u0EB8-\\u0EB9\\u0EC8-\\u0ECB\\u0EDC-\\u0EDD\\u0F0C"
	        "\\u0F18-\\u0F19\\u0F35\\u0F37\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C"
	        "\\u0F69\\u0F71-\\u0F7D\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F93\\u0F9D\\u0FA2"
	        "\\u0FA7\\u0FAC\\u0FB9\\u0FC6\\u1026\\u1037\\u1039\\u17D2\\u18A9\\u1E00-"
	        "\\u1E9B\\u1EA0-\\u1EF9\\u1F00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48"
	        "-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4"
	        "\\u1FB6-\\u1FC4\\u1FC6-\\u1FD3\\u1FD6-\\u1FDB\\u1FDD-\\u1FEF\\u1FF2-"
	        "\\u1FF4\\u1FF6-\\u1FFE\\u2000-\\u200A\\u2011\\u2017\\u2024-\\u2026\\u202F"
	        "\\u2033-\\u2034\\u2036-\\u2037\\u203C\\u203E\\u2048-\\u2049\\u2070\\u2074-"
	        "\\u208E\\u20A8\\u20D0-\\u20DC\\u20E1\\u2100-\\u2103\\u2105-\\u2107\\u2109-"
	        "\\u2113\\u2115-\\u2116\\u2119-\\u211D\\u2120-\\u2122\\u2124\\u2126\\u2128"
	        "\\u212A-\\u212D\\u212F-\\u2131\\u2133-\\u2139\\u2153-\\u217F\\u219A-"
	        "\\u219B\\u21AE\\u21CD-\\u21CF\\u2204\\u2209\\u220C\\u2224\\u2226\\u222C-"
	        "\\u222D\\u222F-\\u2230\\u2241\\u2244\\u2247\\u2249\\u2260\\u2262\\u226D-"
	        "\\u2271\\u2274-\\u2275\\u2278-\\u2279\\u2280-\\u2281\\u2284-\\u2285\\u2288"
	        "-\\u2289\\u22AC-\\u22AF\\u22E0-\\u22E3\\u22EA-\\u22ED\\u2329-\\u232A"
	        "\\u2460-\\u24EA\\u2E9F\\u2EF3\\u2F00-\\u2FD5\\u3000\\u302A-\\u302F\\u3036"
	        "\\u3038-\\u303A\\u304C\\u304E\\u3050\\u3052\\u3054\\u3056\\u3058\\u305A"
	        "\\u305C\\u305E\\u3060\\u3062\\u3065\\u3067\\u3069\\u3070-\\u3071\\u3073-"
	        "\\u3074\\u3076-\\u3077\\u3079-\\u307A\\u307C-\\u307D\\u3094\\u3099-\\u309C"
	        "\\u309E\\u30AC\\u30AE\\u30B0\\u30B2\\u30B4\\u30B6\\u30B8\\u30BA\\u30BC"
	        "\\u30BE\\u30C0\\u30C2\\u30C5\\u30C7\\u30C9\\u30D0-\\u30D1\\u30D3-\\u30D4"
	        "\\u30D6-\\u30D7\\u30D9-\\u30DA\\u30DC-\\u30DD\\u30F4\\u30F7-\\u30FA\\u30FE"
	        "\\u3131-\\u318E\\u3192-\\u319F\\u3200-\\u321C\\u3220-\\u3243\\u3260-"
	        "\\u327B\\u3280-\\u32B0\\u32C0-\\u32CB\\u32D0-\\u32FE\\u3300-\\u3376\\u337B"
	        "-\\u33DD\\u33E0-\\u33FE\\uAC00-\\uD7A3\\uF900-\\uFA0D\\uFA10\\uFA12\\uFA15"
	        "-\\uFA1E\\uFA20\\uFA22\\uFA25-\\uFA26\\uFA2A-\\uFA2D\\uFB00-\\uFB06\\uFB13"
	        "-\\uFB17\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43-"
	        "\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0"
	        "-\\uFDFB\\uFE20-\\uFE23\\uFE30-\\uFE44\\uFE49-\\uFE52\\uFE54-\\uFE66"
	        "\\uFE68-\\uFE6B\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC\\uFF01-\\uFF5E\\uFF61"
	        "-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC"
	        "\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\U0001D15E-\\U0001D169\\U0001D16D-\\U0001"
	        "D172\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-\\U0001D"
	        "1AD\\U0001D1BB-\\U0001D1C0\\U0001D400-\\U0001D454\\U0001D456-\\U0001D4"
	        "9C\\U0001D49E-\\U0001D49F\\U0001D4A2\\U0001D4A5-\\U0001D4A6\\U0001D4A9"
	        "-\\U0001D4AC\\U0001D4AE-\\U0001D4B9\\U0001D4BB\\U0001D4BD-\\U0001D4C0"
	        "\\U0001D4C2-\\U0001D4C3\\U0001D4C5-\\U0001D505\\U0001D507-\\U0001D50A"
	        "\\U0001D50D-\\U0001D514\\U0001D516-\\U0001D51C\\U0001D51E-\\U0001D539"
	        "\\U0001D53B-\\U0001D53E\\U0001D540-\\U0001D544\\U0001D546\\U0001D54A-"
	        "\\U0001D550\\U0001D552-\\U0001D6A3\\U0001D6A8-\\U0001D7C9\\U0001D7CE-"
	        "\\U0001D7FF\\U0002F800-\\U0002FA1D]", ""), ec);

            SKIPPABLES[KC].applyPattern(UnicodeString(
	        "[^<->A-PR-Za-pr-z\\u00A0\\u00A8\\u00AA\\u00AF\\u00B2-\\u00B5\\u00B8-"
	        "\\u00BA\\u00BC-\\u00BE\\u00C0-\\u00CF\\u00D1-\\u00D6\\u00D8-\\u00DD\\u00E0"
	        "-\\u00EF\\u00F1-\\u00F6\\u00F8-\\u00FD\\u00FF-\\u0103\\u0106-\\u010F"
	        "\\u0112-\\u0117\\u011A-\\u0121\\u0124-\\u0125\\u0128-\\u012D\\u0130\\u0132"
	        "-\\u0133\\u0139-\\u013A\\u013D-\\u0140\\u0143-\\u0144\\u0147-\\u0149"
	        "\\u014C-\\u0151\\u0154-\\u0155\\u0158-\\u015D\\u0160-\\u0161\\u0164-"
	        "\\u0165\\u0168-\\u0171\\u0174-\\u017F\\u01A0-\\u01A1\\u01AF-\\u01B0\\u01B7"
	        "\\u01C4-\\u01DC\\u01DE-\\u01E1\\u01E6-\\u01EB\\u01F1-\\u01F5\\u01F8-"
	        "\\u01FB\\u0200-\\u021B\\u021E-\\u021F\\u0226-\\u0233\\u0292\\u02B0-\\u02B8"
	        "\\u02D8-\\u02DD\\u02E0-\\u02E4\\u0300-\\u034E\\u0360-\\u0362\\u0374\\u037A"
	        "\\u037E\\u0384-\\u0385\\u0387\\u0391\\u0395\\u0397\\u0399\\u039F\\u03A1"
	        "\\u03A5\\u03A9\\u03AC\\u03AE\\u03B1\\u03B5\\u03B7\\u03B9\\u03BF\\u03C1"
	        "\\u03C5\\u03C9-\\u03CB\\u03CE\\u03D0-\\u03D6\\u03F0-\\u03F2\\u03F4-\\u03F5"
	        "\\u0406\\u0410\\u0413\\u0415-\\u0418\\u041A\\u041E\\u0423\\u0427\\u042B"
	        "\\u042D\\u0430\\u0433\\u0435-\\u0438\\u043A\\u043E\\u0443\\u0447\\u044B"
	        "\\u044D\\u0456\\u0474-\\u0475\\u0483-\\u0486\\u04D8-\\u04D9\\u04E8-\\u04E9"
	        "\\u0587\\u0591-\\u05A1\\u05A3-\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1-\\u05C2"
	        "\\u05C4\\u0622-\\u0623\\u0627\\u0648\\u064A-\\u0655\\u0670\\u0675-\\u0678"
	        "\\u06C1\\u06D2\\u06D5-\\u06DC\\u06DF-\\u06E4\\u06E7-\\u06E8\\u06EA-\\u06ED"
	        "\\u0711\\u0730-\\u074A\\u0928\\u0930\\u0933\\u093C\\u094D\\u0951-\\u0954"
	        "\\u0958-\\u095F\\u09BC\\u09BE\\u09C7\\u09CD\\u09D7\\u09DC-\\u09DD\\u09DF"
	        "\\u0A33\\u0A36\\u0A3C\\u0A4D\\u0A59-\\u0A5B\\u0A5E\\u0ABC\\u0ACD\\u0B3C"
	        "\\u0B3E\\u0B47\\u0B4D\\u0B56-\\u0B57\\u0B5C-\\u0B5D\\u0B92\\u0BBE\\u0BC6-"
	        "\\u0BC7\\u0BCD\\u0BD7\\u0C46\\u0C4D\\u0C55-\\u0C56\\u0CBF\\u0CC2\\u0CC6"
	        "\\u0CCA\\u0CCD\\u0CD5-\\u0CD6\\u0D3E\\u0D46-\\u0D47\\u0D4D\\u0D57\\u0DCA"
	        "\\u0DCF\\u0DD9\\u0DDC\\u0DDF\\u0E33\\u0E38-\\u0E3A\\u0E48-\\u0E4B\\u0EB3"
	        "\\u0EB8-\\u0EB9\\u0EC8-\\u0ECB\\u0EDC-\\u0EDD\\u0F0C\\u0F18-\\u0F19\\u0F35"
	        "\\u0F37\\u0F39\\u0F43\\u0F4D\\u0F52\\u0F57\\u0F5C\\u0F69\\u0F71-\\u0F7D"
	        "\\u0F80-\\u0F84\\u0F86-\\u0F87\\u0F93\\u0F9D\\u0FA2\\u0FA7\\u0FAC\\u0FB9"
	        "\\u0FC6\\u1025\\u102E\\u1037\\u1039\\u1100-\\u1112\\u1161-\\u1175\\u11A8-"
	        "\\u11C2\\u17D2\\u18A9\\u1E00-\\u1E03\\u1E0A-\\u1E0F\\u1E12-\\u1E1B\\u1E20-"
	        "\\u1E27\\u1E2A-\\u1E41\\u1E44-\\u1E53\\u1E58-\\u1E7D\\u1E80-\\u1E87\\u1E8E"
	        "-\\u1E91\\u1E96-\\u1E9B\\u1EA0-\\u1EF3\\u1EF6-\\u1EF9\\u1F00-\\u1F11"
	        "\\u1F18-\\u1F19\\u1F20-\\u1F31\\u1F38-\\u1F39\\u1F40-\\u1F41\\u1F48-"
	        "\\u1F49\\u1F50-\\u1F51\\u1F59\\u1F60-\\u1F71\\u1F73-\\u1F75\\u1F77\\u1F79"
	        "\\u1F7B-\\u1F7D\\u1F80-\\u1F81\\u1F88-\\u1F89\\u1F90-\\u1F91\\u1F98-"
	        "\\u1F99\\u1FA0-\\u1FA1\\u1FA8-\\u1FA9\\u1FB3\\u1FB6\\u1FBB-\\u1FC1\\u1FC3"
	        "\\u1FC6\\u1FC9\\u1FCB-\\u1FCF\\u1FD3\\u1FDB\\u1FDD-\\u1FDF\\u1FE3\\u1FEB"
	        "\\u1FED-\\u1FEF\\u1FF3\\u1FF6\\u1FF9\\u1FFB-\\u1FFE\\u2000-\\u200A\\u2011"
	        "\\u2017\\u2024-\\u2026\\u202F\\u2033-\\u2034\\u2036-\\u2037\\u203C\\u203E"
	        "\\u2048-\\u2049\\u2070\\u2074-\\u208E\\u20A8\\u20D0-\\u20DC\\u20E1\\u2100-"
	        "\\u2103\\u2105-\\u2107\\u2109-\\u2113\\u2115-\\u2116\\u2119-\\u211D\\u2120"
	        "-\\u2122\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2131\\u2133-\\u2139"
	        "\\u2153-\\u217F\\u2190\\u2192\\u2194\\u21D0\\u21D2\\u21D4\\u2203\\u2208"
	        "\\u220B\\u2223\\u2225\\u222C-\\u222D\\u222F-\\u2230\\u223C\\u2243\\u2245"
	        "\\u2248\\u224D\\u2261\\u2264-\\u2265\\u2272-\\u2273\\u2276-\\u2277\\u227A-"
	        "\\u227D\\u2282-\\u2283\\u2286-\\u2287\\u2291-\\u2292\\u22A2\\u22A8-\\u22A9"
	        "\\u22AB\\u22B2-\\u22B5\\u2329-\\u232A\\u2460-\\u24EA\\u2E9F\\u2EF3\\u2F00-"
	        "\\u2FD5\\u3000\\u302A-\\u302F\\u3036\\u3038-\\u303A\\u3046\\u304B\\u304D"
	        "\\u304F\\u3051\\u3053\\u3055\\u3057\\u3059\\u305B\\u305D\\u305F\\u3061"
	        "\\u3064\\u3066\\u3068\\u306F\\u3072\\u3075\\u3078\\u307B\\u3099-\\u309D"
	        "\\u30A6\\u30AB\\u30AD\\u30AF\\u30B1\\u30B3\\u30B5\\u30B7\\u30B9\\u30BB"
	        "\\u30BD\\u30BF\\u30C1\\u30C4\\u30C6\\u30C8\\u30CF\\u30D2\\u30D5\\u30D8"
	        "\\u30DB\\u30EF-\\u30F2\\u30FD\\u3131-\\u318E\\u3192-\\u319F\\u3200-\\u321C"
	        "\\u3220-\\u3243\\u3260-\\u327B\\u3280-\\u32B0\\u32C0-\\u32CB\\u32D0-"
	        "\\u32FE\\u3300-\\u3376\\u337B-\\u33DD\\u33E0-\\u33FE\\uAC00\\uAC1C\\uAC38"
	        "\\uAC54\\uAC70\\uAC8C\\uACA8\\uACC4\\uACE0\\uACFC\\uAD18\\uAD34\\uAD50"
	        "\\uAD6C\\uAD88\\uADA4\\uADC0\\uADDC\\uADF8\\uAE14\\uAE30\\uAE4C\\uAE68"
	        "\\uAE84\\uAEA0\\uAEBC\\uAED8\\uAEF4\\uAF10\\uAF2C\\uAF48\\uAF64\\uAF80"
	        "\\uAF9C\\uAFB8\\uAFD4\\uAFF0\\uB00C\\uB028\\uB044\\uB060\\uB07C\\uB098"
	        "\\uB0B4\\uB0D0\\uB0EC\\uB108\\uB124\\uB140\\uB15C\\uB178\\uB194\\uB1B0"
	        "\\uB1CC\\uB1E8\\uB204\\uB220\\uB23C\\uB258\\uB274\\uB290\\uB2AC\\uB2C8"
	        "\\uB2E4\\uB300\\uB31C\\uB338\\uB354\\uB370\\uB38C\\uB3A8\\uB3C4\\uB3E0"
	        "\\uB3FC\\uB418\\uB434\\uB450\\uB46C\\uB488\\uB4A4\\uB4C0\\uB4DC\\uB4F8"
	        "\\uB514\\uB530\\uB54C\\uB568\\uB584\\uB5A0\\uB5BC\\uB5D8\\uB5F4\\uB610"
	        "\\uB62C\\uB648\\uB664\\uB680\\uB69C\\uB6B8\\uB6D4\\uB6F0\\uB70C\\uB728"
	        "\\uB744\\uB760\\uB77C\\uB798\\uB7B4\\uB7D0\\uB7EC\\uB808\\uB824\\uB840"
	        "\\uB85C\\uB878\\uB894\\uB8B0\\uB8CC\\uB8E8\\uB904\\uB920\\uB93C\\uB958"
	        "\\uB974\\uB990\\uB9AC\\uB9C8\\uB9E4\\uBA00\\uBA1C\\uBA38\\uBA54\\uBA70"
	        "\\uBA8C\\uBAA8\\uBAC4\\uBAE0\\uBAFC\\uBB18\\uBB34\\uBB50\\uBB6C\\uBB88"
	        "\\uBBA4\\uBBC0\\uBBDC\\uBBF8\\uBC14\\uBC30\\uBC4C\\uBC68\\uBC84\\uBCA0"
	        "\\uBCBC\\uBCD8\\uBCF4\\uBD10\\uBD2C\\uBD48\\uBD64\\uBD80\\uBD9C\\uBDB8"
	        "\\uBDD4\\uBDF0\\uBE0C\\uBE28\\uBE44\\uBE60\\uBE7C\\uBE98\\uBEB4\\uBED0"
	        "\\uBEEC\\uBF08\\uBF24\\uBF40\\uBF5C\\uBF78\\uBF94\\uBFB0\\uBFCC\\uBFE8"
	        "\\uC004\\uC020\\uC03C\\uC058\\uC074\\uC090\\uC0AC\\uC0C8\\uC0E4\\uC100"
	        "\\uC11C\\uC138\\uC154\\uC170\\uC18C\\uC1A8\\uC1C4\\uC1E0\\uC1FC\\uC218"
	        "\\uC234\\uC250\\uC26C\\uC288\\uC2A4\\uC2C0\\uC2DC\\uC2F8\\uC314\\uC330"
	        "\\uC34C\\uC368\\uC384\\uC3A0\\uC3BC\\uC3D8\\uC3F4\\uC410\\uC42C\\uC448"
	        "\\uC464\\uC480\\uC49C\\uC4B8\\uC4D4\\uC4F0\\uC50C\\uC528\\uC544\\uC560"
	        "\\uC57C\\uC598\\uC5B4\\uC5D0\\uC5EC\\uC608\\uC624\\uC640\\uC65C\\uC678"
	        "\\uC694\\uC6B0\\uC6CC\\uC6E8\\uC704\\uC720\\uC73C\\uC758\\uC774\\uC790"
	        "\\uC7AC\\uC7C8\\uC7E4\\uC800\\uC81C\\uC838\\uC854\\uC870\\uC88C\\uC8A8"
	        "\\uC8C4\\uC8E0\\uC8FC\\uC918\\uC934\\uC950\\uC96C\\uC988\\uC9A4\\uC9C0"
	        "\\uC9DC\\uC9F8\\uCA14\\uCA30\\uCA4C\\uCA68\\uCA84\\uCAA0\\uCABC\\uCAD8"
	        "\\uCAF4\\uCB10\\uCB2C\\uCB48\\uCB64\\uCB80\\uCB9C\\uCBB8\\uCBD4\\uCBF0"
	        "\\uCC0C\\uCC28\\uCC44\\uCC60\\uCC7C\\uCC98\\uCCB4\\uCCD0\\uCCEC\\uCD08"
	        "\\uCD24\\uCD40\\uCD5C\\uCD78\\uCD94\\uCDB0\\uCDCC\\uCDE8\\uCE04\\uCE20"
	        "\\uCE3C\\uCE58\\uCE74\\uCE90\\uCEAC\\uCEC8\\uCEE4\\uCF00\\uCF1C\\uCF38"
	        "\\uCF54\\uCF70\\uCF8C\\uCFA8\\uCFC4\\uCFE0\\uCFFC\\uD018\\uD034\\uD050"
	        "\\uD06C\\uD088\\uD0A4\\uD0C0\\uD0DC\\uD0F8\\uD114\\uD130\\uD14C\\uD168"
	        "\\uD184\\uD1A0\\uD1BC\\uD1D8\\uD1F4\\uD210\\uD22C\\uD248\\uD264\\uD280"
	        "\\uD29C\\uD2B8\\uD2D4\\uD2F0\\uD30C\\uD328\\uD344\\uD360\\uD37C\\uD398"
	        "\\uD3B4\\uD3D0\\uD3EC\\uD408\\uD424\\uD440\\uD45C\\uD478\\uD494\\uD4B0"
	        "\\uD4CC\\uD4E8\\uD504\\uD520\\uD53C\\uD558\\uD574\\uD590\\uD5AC\\uD5C8"
	        "\\uD5E4\\uD600\\uD61C\\uD638\\uD654\\uD670\\uD68C\\uD6A8\\uD6C4\\uD6E0"
	        "\\uD6FC\\uD718\\uD734\\uD750\\uD76C\\uD788\\uF900-\\uFA0D\\uFA10\\uFA12"
	        "\\uFA15-\\uFA1E\\uFA20\\uFA22\\uFA25-\\uFA26\\uFA2A-\\uFA2D\\uFB00-\\uFB06"
	        "\\uFB13-\\uFB17\\uFB1D-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40-\\uFB41\\uFB43"
	        "-\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7"
	        "\\uFDF0-\\uFDFB\\uFE20-\\uFE23\\uFE30-\\uFE44\\uFE49-\\uFE52\\uFE54-"
	        "\\uFE66\\uFE68-\\uFE6B\\uFE70-\\uFE72\\uFE74\\uFE76-\\uFEFC\\uFF01-\\uFF5E"
	        "\\uFF61-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-"
	        "\\uFFDC\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\U0001D15E-\\U0001D169\\U0001D16D-"
	        "\\U0001D172\\U0001D17B-\\U0001D182\\U0001D185-\\U0001D18B\\U0001D1AA-"
	        "\\U0001D1AD\\U0001D1BB-\\U0001D1C0\\U0001D400-\\U0001D454\\U0001D456-"
	        "\\U0001D49C\\U0001D49E-\\U0001D49F\\U0001D4A2\\U0001D4A5-\\U0001D4A6"
	        "\\U0001D4A9-\\U0001D4AC\\U0001D4AE-\\U0001D4B9\\U0001D4BB\\U0001D4BD-"
	        "\\U0001D4C0\\U0001D4C2-\\U0001D4C3\\U0001D4C5-\\U0001D505\\U0001D507-"
	        "\\U0001D50A\\U0001D50D-\\U0001D514\\U0001D516-\\U0001D51C\\U0001D51E-"
	        "\\U0001D539\\U0001D53B-\\U0001D53E\\U0001D540-\\U0001D544\\U0001D546"
	        "\\U0001D54A-\\U0001D550\\U0001D552-\\U0001D6A3\\U0001D6A8-\\U0001D7C9"
	        "\\U0001D7CE-\\U0001D7FF\\U0002F800-\\U0002FA1D]", ""), ec);

            ucln_i18n_registerCleanup();
        }
    }
}

/**
 * Static memory cleanup function.
 */
void NormalizationTransliterator::cleanup() {
    if (SKIPPABLES != NULL) {
        delete[] SKIPPABLES;
        SKIPPABLES = NULL;
        umtx_destroy(&MUTEX);
    }
}

U_NAMESPACE_END
