From a25696fd90576013db59cad66e8f1290c98dfa7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Thu, 13 Mar 2025 23:09:36 +0200 Subject: [PATCH] ICU4C: Update to version 77.1 --- thirdparty/README.md | 4 +- thirdparty/icu4c/LICENSE | 2 +- thirdparty/icu4c/common/brkiter.cpp | 59 +- thirdparty/icu4c/common/charstr.cpp | 11 +- thirdparty/icu4c/common/charstr.h | 3 +- thirdparty/icu4c/common/localefallback_data.h | 2311 +++++++++-------- thirdparty/icu4c/common/locbased.cpp | 72 +- thirdparty/icu4c/common/locbased.h | 64 +- thirdparty/icu4c/common/locdispnames.cpp | 8 +- thirdparty/icu4c/common/locid.cpp | 43 +- thirdparty/icu4c/common/loclikely.cpp | 16 +- thirdparty/icu4c/common/loclikelysubtags.cpp | 2 +- thirdparty/icu4c/common/locresdata.cpp | 3 + thirdparty/icu4c/common/punycode.cpp | 2 +- thirdparty/icu4c/common/putil.cpp | 2 +- thirdparty/icu4c/common/rbbinode.cpp | 118 +- thirdparty/icu4c/common/rbbinode.h | 8 +- thirdparty/icu4c/common/rbbiscan.cpp | 15 +- thirdparty/icu4c/common/rbbisetb.cpp | 12 +- thirdparty/icu4c/common/rbbitblb.cpp | 28 +- thirdparty/icu4c/common/resbund.cpp | 2 +- thirdparty/icu4c/common/ucnvmbcs.cpp | 5 +- thirdparty/icu4c/common/ucurr.cpp | 17 +- thirdparty/icu4c/common/uloc.cpp | 551 ++-- thirdparty/icu4c/common/uloc_tag.cpp | 25 +- thirdparty/icu4c/common/ulocale.cpp | 5 +- thirdparty/icu4c/common/ulocimp.h | 32 +- thirdparty/icu4c/common/umapfile.cpp | 7 +- thirdparty/icu4c/common/unicode/brkiter.h | 8 +- thirdparty/icu4c/common/unicode/char16ptr.h | 77 +- thirdparty/icu4c/common/unicode/locid.h | 9 +- thirdparty/icu4c/common/unicode/resbund.h | 2 +- thirdparty/icu4c/common/unicode/uchar.h | 48 +- thirdparty/icu4c/common/unicode/uniset.h | 11 +- thirdparty/icu4c/common/unicode/uset.h | 92 +- thirdparty/icu4c/common/unicode/utf8.h | 4 +- thirdparty/icu4c/common/unicode/utypes.h | 3 +- thirdparty/icu4c/common/unicode/uvernum.h | 10 +- thirdparty/icu4c/common/unicode/uversion.h | 19 +- thirdparty/icu4c/common/unistr.cpp | 7 + thirdparty/icu4c/common/uresbund.cpp | 8 +- thirdparty/icu4c/common/uscript.cpp | 3 + thirdparty/icu4c/common/ushape.cpp | 5 + thirdparty/icu4c/common/usprep.cpp | 2 +- thirdparty/icu4c/common/utf_impl.cpp | 6 +- thirdparty/icu4c/common/utypes.cpp | 3 +- thirdparty/icu4c/i18n/scriptset.cpp | 6 +- thirdparty/icu4c/i18n/scriptset.h | 2 +- thirdparty/icu4c/i18n/ucln_in.h | 2 + thirdparty/icu4c/icudt_godot.dat | Bin 4805392 -> 4784480 bytes 50 files changed, 2086 insertions(+), 1668 deletions(-) diff --git a/thirdparty/README.md b/thirdparty/README.md index b6a4a03749..e822850dd9 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -420,13 +420,13 @@ Files extracted from upstream source: ## icu4c - Upstream: https://github.com/unicode-org/icu -- Version: 76.1 (8eca245c7484ac6cc179e3e5f7c1ea7680810f39, 2024) +- Version: 77.1 (457157a92aa053e632cc7fcfd0e12f8a943b2d11, 2025) - License: Unicode Files extracted from upstream source: - The `common` folder -- `scriptset.*`, `ucln_in.*`, `uspoof.cpp"` and `uspoof_impl.cpp` from the `i18n` folder +- `scriptset.*`, `ucln_in.*`, `uspoof.cpp` and `uspoof_impl.*` from the `i18n` folder - `uspoof.h` from the `i18n/unicode` folder - `LICENSE` diff --git a/thirdparty/icu4c/LICENSE b/thirdparty/icu4c/LICENSE index 180db98fcc..0b9efcd909 100644 --- a/thirdparty/icu4c/LICENSE +++ b/thirdparty/icu4c/LICENSE @@ -2,7 +2,7 @@ UNICODE LICENSE V3 COPYRIGHT AND PERMISSION NOTICE -Copyright © 2016-2024 Unicode, Inc. +Copyright © 2016-2025 Unicode, Inc. NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR diff --git a/thirdparty/icu4c/common/brkiter.cpp b/thirdparty/icu4c/common/brkiter.cpp index 4d945cc17e..44a13ee6a2 100644 --- a/thirdparty/icu4c/common/brkiter.cpp +++ b/thirdparty/icu4c/common/brkiter.cpp @@ -59,7 +59,7 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st { char fnbuff[256]; char ext[4]={'\0'}; - CharString actualLocale; + CharString actual; int32_t size; const char16_t* brkfname = nullptr; UResourceBundle brkRulesStack; @@ -94,7 +94,7 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st // Use the string if we found it if (U_SUCCESS(status) && brkfname) { - actualLocale.append(ures_getLocaleInternal(brkName, &status), -1, status); + actual.append(ures_getLocaleInternal(brkName, &status), -1, status); char16_t* extStart=u_strchr(brkfname, 0x002e); int len = 0; @@ -123,10 +123,9 @@ BreakIterator::buildInstance(const Locale& loc, const char *type, UErrorCode &st if (U_SUCCESS(status) && result != nullptr) { U_LOCALE_BASED(locBased, *(BreakIterator*)result); - locBased.setLocaleIDs(ures_getLocaleByType(b, ULOC_VALID_LOCALE, &status), - actualLocale.data()); - uprv_strncpy(result->requestLocale, loc.getName(), ULOC_FULLNAME_CAPACITY); - result->requestLocale[ULOC_FULLNAME_CAPACITY-1] = 0; // always terminate + locBased.setLocaleIDs(ures_getLocaleByType(b, ULOC_VALID_LOCALE, &status), + actual.data(), status); + LocaleBased::setLocaleID(loc.getName(), result->requestLocale, status); } ures_close(b); @@ -206,26 +205,32 @@ BreakIterator::getAvailableLocales(int32_t& count) BreakIterator::BreakIterator() { - *validLocale = *actualLocale = *requestLocale = 0; } BreakIterator::BreakIterator(const BreakIterator &other) : UObject(other) { - uprv_strncpy(actualLocale, other.actualLocale, sizeof(actualLocale)); - uprv_strncpy(validLocale, other.validLocale, sizeof(validLocale)); - uprv_strncpy(requestLocale, other.requestLocale, sizeof(requestLocale)); + UErrorCode status = U_ZERO_ERROR; + U_LOCALE_BASED(locBased, *this); + locBased.setLocaleIDs(other.validLocale, other.actualLocale, status); + LocaleBased::setLocaleID(other.requestLocale, requestLocale, status); + U_ASSERT(U_SUCCESS(status)); } BreakIterator &BreakIterator::operator =(const BreakIterator &other) { if (this != &other) { - uprv_strncpy(actualLocale, other.actualLocale, sizeof(actualLocale)); - uprv_strncpy(validLocale, other.validLocale, sizeof(validLocale)); - uprv_strncpy(requestLocale, other.requestLocale, sizeof(requestLocale)); + UErrorCode status = U_ZERO_ERROR; + U_LOCALE_BASED(locBased, *this); + locBased.setLocaleIDs(other.validLocale, other.actualLocale, status); + LocaleBased::setLocaleID(other.requestLocale, requestLocale, status); + U_ASSERT(U_SUCCESS(status)); } return *this; } BreakIterator::~BreakIterator() { + delete validLocale; + delete actualLocale; + delete requestLocale; } // ------------------------------------------ @@ -394,7 +399,7 @@ BreakIterator::createInstance(const Locale& loc, int32_t kind, UErrorCode& statu // revisit this in ICU 3.0 and clean it up/fix it/remove it. if (U_SUCCESS(status) && (result != nullptr) && *actualLoc.getName() != 0) { U_LOCALE_BASED(locBased, *result); - locBased.setLocaleIDs(actualLoc.getName(), actualLoc.getName()); + locBased.setLocaleIDs(actualLoc.getName(), actualLoc.getName(), status); } return result; } @@ -488,6 +493,7 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status) } if (U_FAILURE(status)) { + delete result; return nullptr; } @@ -496,20 +502,25 @@ BreakIterator::makeInstance(const Locale& loc, int32_t kind, UErrorCode& status) Locale BreakIterator::getLocale(ULocDataLocaleType type, UErrorCode& status) const { - if (type == ULOC_REQUESTED_LOCALE) { - return {requestLocale}; + if (U_FAILURE(status)) { + return Locale::getRoot(); } - U_LOCALE_BASED(locBased, *this); - return locBased.getLocale(type, status); + if (type == ULOC_REQUESTED_LOCALE) { + return requestLocale == nullptr ? + Locale::getRoot() : Locale(requestLocale->data()); + } + return LocaleBased::getLocale(validLocale, actualLocale, type, status); } const char * BreakIterator::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const { - if (type == ULOC_REQUESTED_LOCALE) { - return requestLocale; + if (U_FAILURE(status)) { + return nullptr; } - U_LOCALE_BASED(locBased, *this); - return locBased.getLocaleID(type, status); + if (type == ULOC_REQUESTED_LOCALE) { + return requestLocale == nullptr ? "" : requestLocale->data(); + } + return LocaleBased::getLocaleID(validLocale, actualLocale, type, status); } @@ -536,8 +547,10 @@ int32_t BreakIterator::getRuleStatusVec(int32_t *fillInVec, int32_t capacity, UE } BreakIterator::BreakIterator (const Locale& valid, const Locale& actual) { + UErrorCode status = U_ZERO_ERROR; U_LOCALE_BASED(locBased, (*this)); - locBased.setLocaleIDs(valid, actual); + locBased.setLocaleIDs(valid.getName(), actual.getName(), status); + U_ASSERT(U_SUCCESS(status)); } U_NAMESPACE_END diff --git a/thirdparty/icu4c/common/charstr.cpp b/thirdparty/icu4c/common/charstr.cpp index f76cc8a4dc..dadc829b0b 100644 --- a/thirdparty/icu4c/common/charstr.cpp +++ b/thirdparty/icu4c/common/charstr.cpp @@ -70,6 +70,15 @@ CharString &CharString::copyFrom(const CharString &s, UErrorCode &errorCode) { return *this; } +CharString &CharString::copyFrom(StringPiece s, UErrorCode &errorCode) { + if (U_FAILURE(errorCode)) { + return *this; + } + len = 0; + append(s, errorCode); + return *this; +} + int32_t CharString::lastIndexOf(char c) const { for(int32_t i=len; i>0;) { if(buffer[--i]==c) { @@ -143,7 +152,7 @@ CharString &CharString::append(const char *s, int32_t sLength, UErrorCode &error return *this; } -CharString &CharString::appendNumber(int32_t number, UErrorCode &status) { +CharString &CharString::appendNumber(int64_t number, UErrorCode &status) { if (number < 0) { this->append('-', status); if (U_FAILURE(status)) { diff --git a/thirdparty/icu4c/common/charstr.h b/thirdparty/icu4c/common/charstr.h index 08283ca452..ea54ede735 100644 --- a/thirdparty/icu4c/common/charstr.h +++ b/thirdparty/icu4c/common/charstr.h @@ -74,6 +74,7 @@ public: * use a UErrorCode where memory allocations might be needed. */ CharString ©From(const CharString &other, UErrorCode &errorCode); + CharString ©From(StringPiece s, UErrorCode &errorCode); UBool isEmpty() const { return len==0; } int32_t length() const { return len; } @@ -135,7 +136,7 @@ public: } CharString &append(const char *s, int32_t sLength, UErrorCode &status); - CharString &appendNumber(int32_t number, UErrorCode &status); + CharString &appendNumber(int64_t number, UErrorCode &status); /** * Returns a writable buffer for appending and writes the buffer's capacity to diff --git a/thirdparty/icu4c/common/localefallback_data.h b/thirdparty/icu4c/common/localefallback_data.h index 0accf0324d..3b8ad8a3f3 100644 --- a/thirdparty/icu4c/common/localefallback_data.h +++ b/thirdparty/icu4c/common/localefallback_data.h @@ -11,11 +11,11 @@ //====================================================================== // Default script table const char scriptCodeChars[] = - "Aghb\0Ahom\0Arab\0Armi\0Armn\0Avst\0Bamu\0Bass\0Batk\0Beng\0Bopo\0" - "Brah\0Cakm\0Cans\0Cari\0Cham\0Cher\0Chrs\0Copt\0Cprt\0Cyrl\0Deva\0" - "Egyp\0Elym\0Ethi\0Geor\0Gong\0Gonm\0Goth\0Gran\0Grek\0Gujr\0Guru\0" - "Hang\0Hani\0Hans\0Hant\0Hebr\0Hluw\0Hmnp\0Ital\0Java\0Jpan\0Kali\0" - "Kana\0Kawi\0Khar\0Khmr\0Kits\0Knda\0Kore\0Lana\0Laoo\0Latf\0Latg\0" + "Aghb\0Ahom\0Arab\0Armi\0Armn\0Avst\0Bali\0Bamu\0Bass\0Batk\0Beng\0" + "Bopo\0Brah\0Cakm\0Cans\0Cari\0Cham\0Cher\0Chrs\0Copt\0Cprt\0Cyrl\0" + "Deva\0Egyp\0Elym\0Ethi\0Geor\0Gong\0Gonm\0Goth\0Gran\0Grek\0Gujr\0" + "Guru\0Hang\0Hani\0Hans\0Hant\0Hebr\0Hluw\0Hmnp\0Ital\0Java\0Jpan\0" + "Kali\0Kana\0Khar\0Khmr\0Kits\0Knda\0Kore\0Lana\0Laoo\0Latf\0Latg\0" "Lepc\0Lina\0Linb\0Lisu\0Lyci\0Lydi\0Mand\0Mani\0Marc\0Medf\0Merc\0" "Mlym\0Modi\0Mong\0Mroo\0Mtei\0Mymr\0Narb\0Newa\0Nkoo\0Nshu\0Ogam\0" "Olck\0Orkh\0Orya\0Osge\0Ougr\0Pauc\0Phli\0Phnx\0Plrd\0Prti\0Rjng\0" @@ -48,70 +48,71 @@ const char dsLocaleIDChars[] = "gbz\0gdb\0gdo\0gdx\0gez\0ggg\0gha\0ghe\0gho\0ghr\0ght\0gig\0gin\0" "gjk\0gju\0gld\0glh\0glk\0gml\0gmv\0gmy\0goe\0gof\0goj\0gok\0gon\0" "got\0gra\0grc\0grt\0gru\0gu\0gvr\0gwc\0gwf\0gwt\0gyo\0gzi\0ha_CM\0" - "ha_SD\0hac\0hak\0har\0haz\0hbo\0hdy\0he\0hi\0hif\0hii\0hit\0hkh\0" - "hlb\0hlu\0hmd\0hmj\0hmq\0hnd\0hne\0hnj\0hno\0hoc\0hoh\0hoj\0how\0" - "hoy\0hpo\0hrt\0hrz\0hsn\0hss\0htx\0hut\0huy\0huz\0hy\0hyw\0ii\0" - "imy\0inh\0int\0ior\0iru\0isk\0itk\0itl\0iu\0iw\0ja\0jad\0jat\0" - "jbe\0jbn\0jct\0jda\0jdg\0jdt\0jee\0jge\0ji\0jje\0jkm\0jml\0jna\0" - "jnd\0jnl\0jns\0jog\0jpa\0jpr\0jrb\0jul\0jun\0juy\0jya\0jye\0ka\0" - "kaa\0kap\0kaw\0kbd\0kbg\0kbu\0kby\0kca\0kcy\0kdq\0kdt\0ket\0kev\0" - "kex\0key\0kfa\0kfb\0kfc\0kfd\0kfe\0kfg\0kfh\0kfi\0kfk\0kfm\0kfp\0" - "kfq\0kfr\0kfs\0kfu\0kfx\0kfy\0kgj\0kgy\0khb\0khf\0khg\0khn\0kho\0" - "kht\0khv\0khw\0kif\0kim\0kip\0kjg\0kjh\0kjl\0kjo\0kjp\0kjt\0kjz\0" - "kk\0kk_AF\0kk_CN\0kk_IR\0kk_MN\0kkf\0kkh\0kkt\0kle\0klj\0klr\0" - "km\0kmj\0kmz\0kn\0knn\0ko\0koi\0kok\0kpt\0kpy\0kqd\0kqy\0kra\0" - "krc\0krk\0krr\0kru\0krv\0ks\0ksu\0ksw\0ksz\0ktb\0kte\0ktl\0ktp\0" - "ku_LB\0kuf\0kum\0kv\0kva\0kvq\0kvt\0kvx\0kvy\0kxf\0kxk\0kxm\0" - "kxp\0ky\0ky_CN\0kyu\0kyv\0kyw\0lab\0lad\0lae\0lah\0lbe\0lbf\0" - "lbj\0lbm\0lbo\0lbr\0lcp\0lep\0lez\0lhm\0lhs\0lif\0lis\0lkh\0lki\0" - "lmh\0lmn\0lo\0loy\0lpo\0lrc\0lrk\0lrl\0lsa\0lsd\0lss\0ltc\0luk\0" - "luu\0luv\0luz\0lwl\0lwm\0lya\0lzh\0mag\0mai\0man_GN\0mby\0mde\0" - "mdf\0mdx\0mdy\0mfa\0mfi\0mga\0mgp\0mhj\0mid\0mjl\0mjq\0mjr\0mjt\0" - "mju\0mjv\0mjz\0mk\0mkb\0mke\0mki\0mkm\0ml\0mlf\0mn\0mn_CN\0mnc\0" - "mni\0mnj\0mns\0mnw\0mpz\0mr\0mra\0mrd\0mrj\0mro\0mrr\0ms_CC\0" - "mtm\0mtr\0mud\0muk\0mut\0muv\0muz\0mve\0mvf\0mvy\0mvz\0mwr\0mwt\0" - "mww\0my\0mym\0myv\0myz\0mzn\0nan\0nao\0ncd\0ncq\0ndf\0ne\0neg\0" - "neh\0nei\0new\0ngt\0nio\0nit\0niv\0nli\0nlm\0nlx\0nmm\0nnp\0nod\0" - "noe\0nog\0noi\0non\0nos\0npb\0nqo\0nrn\0nsd\0nsf\0nsk\0nst\0nsv\0" - "nty\0ntz\0nwc\0nwx\0nyl\0nyq\0nyw\0oaa\0oac\0oar\0oav\0obm\0obr\0" - "odk\0oht\0oj\0ojs\0okm\0oko\0okz\0ola\0ole\0omk\0omp\0omr\0omx\0" - "oon\0or\0ort\0oru\0orv\0os\0osa\0osc\0osi\0ota\0otb\0otk\0oty\0" - "oui\0pa\0pa_PK\0pal\0paq\0pbt\0pcb\0pce\0pcf\0pcg\0pch\0pci\0" - "pcj\0peg\0peo\0pgd\0pgg\0pgl\0pgn\0phd\0phk\0phl\0phn\0pho\0phr\0" - "pht\0phu\0phv\0phw\0pi\0pka\0pkr\0plk\0pll\0pmh\0pnt\0pra\0prc\0" - "prd\0prt\0prx\0ps\0psh\0psi\0pst\0psu\0pum\0pwo\0pwr\0pww\0pyx\0" - "qxq\0raa\0rab\0raf\0rah\0raj\0rav\0rbb\0rdb\0rei\0rhg\0rji\0rjs\0" - "rka\0rki\0rkt\0rmi\0rmt\0rmz\0rsk\0rtw\0ru\0rue\0rut\0rwr\0ryu\0" - "sa\0sah\0sam\0sat\0saz\0sbn\0sbu\0sck\0scl\0scp\0sct\0scu\0scx\0" - "sd\0sd_IN\0sdb\0sdf\0sdg\0sdh\0sdr\0sds\0sel\0sfm\0sga\0sgh\0" - "sgj\0sgr\0sgt\0sgw\0sgy\0shd\0shi\0shm\0shn\0shu\0shv\0si\0sia\0" - "sip\0siy\0siz\0sjd\0sjp\0sjt\0skb\0skj\0skr\0smh\0smp\0smu\0smy\0" - "soa\0sog\0soi\0sou\0spt\0spv\0sqo\0sqq\0sqt\0sr\0srb\0srh\0srx\0" - "srz\0ssh\0sss\0sts\0stv\0sty\0suz\0sva\0swb\0swi\0swv\0sxu\0syc\0" - "syl\0syn\0syr\0syw\0ta\0tab\0taj\0tbk\0tcn\0tco\0tcx\0tcy\0tda\0" - "tdb\0tdd\0tdg\0tdh\0te\0tes\0tg\0tg_PK\0tge\0tgf\0th\0the\0thf\0" - "thi\0thl\0thm\0thq\0thr\0ths\0ti\0tig\0tij\0tin\0tjl\0tjo\0tkb\0" - "tks\0tkt\0tmr\0tnv\0tov\0tpu\0tra\0trg\0trm\0trw\0tsd\0tsj\0tt\0" - "tth\0tto\0tts\0ttz\0tvn\0twm\0txg\0txo\0tyr\0tyv\0ude\0udg\0udi\0" - "udm\0ug\0ug_KZ\0ug_MN\0uga\0ugh\0ugo\0uk\0uki\0ulc\0unr\0unr_NP\0" - "unx\0ur\0urk\0ush\0uum\0uz_AF\0uz_CN\0uzs\0vaa\0vaf\0vah\0vai\0" - "vas\0vav\0vay\0vgr\0vjk\0vmd\0vmh\0wal\0wbk\0wbq\0wbr\0wle\0wlo\0" - "wme\0wne\0wni\0wsg\0wsv\0wtm\0wuu\0xag\0xal\0xan\0xas\0xco\0xcr\0" - "xdq\0xhe\0xhm\0xis\0xka\0xkc\0xkf\0xkj\0xkp\0xlc\0xld\0xly\0xmf\0" - "xmn\0xmr\0xna\0xnr\0xpg\0xpi\0xpm\0xpr\0xrm\0xrn\0xsa\0xsr\0xtq\0" - "xub\0xuj\0xve\0xvi\0xwo\0xzh\0yai\0ybh\0ybi\0ydg\0yea\0yej\0yeu\0" - "ygp\0yhd\0yi\0yig\0yih\0yiv\0ykg\0ykh\0yna\0ynk\0yoi\0yoy\0yrk\0" - "ysd\0ysn\0ysp\0ysr\0ysy\0yud\0yue\0yue_CN\0yug\0yux\0ywq\0ywu\0" - "zau\0zba\0zch\0zdj\0zeh\0zen\0zgb\0zgh\0zgm\0zgn\0zh\0zh_AU\0" - "zh_BN\0zh_GB\0zh_GF\0zh_HK\0zh_ID\0zh_MO\0zh_PA\0zh_PF\0zh_PH\0" - "zh_SR\0zh_TH\0zh_TW\0zh_US\0zh_VN\0zhd\0zhx\0zko\0zkt\0zkz\0zlj\0" - "zln\0zlq\0zqe\0zrg\0zrp\0zum\0zwa\0zyg\0zyn\0zzj\0"; + "ha_SD\0hac\0hak\0hak_TW\0har\0haz\0hbo\0hdy\0he\0hi\0hif\0hii\0" + "hit\0hkh\0hlb\0hlu\0hmd\0hmj\0hmq\0hnd\0hne\0hnj\0hno\0hoc\0hoh\0" + "hoj\0how\0hoy\0hpo\0hrt\0hrz\0hsn\0hss\0htx\0hut\0huy\0huz\0hy\0" + "hyw\0ii\0imy\0inh\0int\0ior\0iru\0isk\0itk\0itl\0iu\0iw\0ja\0" + "jad\0jat\0jbe\0jbn\0jct\0jda\0jdg\0jdt\0jee\0jge\0ji\0jje\0jkm\0" + "jml\0jna\0jnd\0jnl\0jns\0jog\0jpa\0jpr\0jrb\0jul\0jun\0juy\0jya\0" + "jye\0ka\0kaa\0kap\0kaw\0kbd\0kbg\0kbu\0kby\0kca\0kcy\0kdq\0kdt\0" + "ket\0kev\0kex\0key\0kfa\0kfb\0kfc\0kfd\0kfe\0kfg\0kfh\0kfi\0kfk\0" + "kfm\0kfp\0kfq\0kfr\0kfs\0kfu\0kfx\0kfy\0kgj\0kgy\0khb\0khf\0khg\0" + "khn\0kho\0kht\0khv\0khw\0kif\0kim\0kip\0kjg\0kjh\0kjl\0kjo\0kjp\0" + "kjt\0kjz\0kk\0kk_AF\0kk_CN\0kk_IR\0kk_MN\0kkf\0kkh\0kkt\0kle\0" + "klj\0klr\0km\0kmj\0kmz\0kn\0knn\0ko\0koi\0kok\0kpt\0kpy\0kqd\0" + "kqy\0kra\0krc\0krk\0krr\0kru\0krv\0ks\0ksu\0ksw\0ksz\0ktb\0kte\0" + "ktl\0ktp\0ku_LB\0kuf\0kum\0kv\0kva\0kvq\0kvt\0kvx\0kvy\0kxf\0" + "kxk\0kxm\0kxp\0ky\0ky_CN\0kyu\0kyv\0kyw\0lab\0lad\0lae\0lah\0" + "lbe\0lbf\0lbj\0lbm\0lbo\0lbr\0lcp\0lep\0lez\0lhm\0lhs\0lif\0lis\0" + "lkh\0lki\0lmh\0lmn\0lo\0loy\0lpo\0lrc\0lrk\0lrl\0lsa\0lsd\0lss\0" + "ltc\0luk\0luu\0luv\0luz\0lwl\0lwm\0lya\0lzh\0lzz_GE\0mag\0mai\0" + "mby\0mde\0mdf\0mdx\0mdy\0mfa\0mfi\0mga\0mgp\0mhj\0mid\0mjl\0mjq\0" + "mjr\0mjt\0mju\0mjv\0mjz\0mk\0mkb\0mke\0mki\0mkm\0ml\0mlf\0mn\0" + "mn_CN\0mnc\0mni\0mnj\0mns\0mnw\0mpz\0mr\0mra\0mrd\0mrj\0mro\0" + "mrr\0ms_CC\0mtm\0mtr\0mud\0muk\0mut\0muv\0muz\0mve\0mvf\0mvy\0" + "mvz\0mwr\0mwt\0mww\0my\0mym\0myv\0myz\0mzn\0nan\0nan_TW\0nao\0" + "ncd\0ncq\0ndf\0ne\0neg\0neh\0nei\0new\0ngt\0nio\0nit\0niv\0nli\0" + "nlm\0nlx\0nmm\0nnp\0nod\0noe\0nog\0noi\0non\0nos\0npb\0nqo\0nrn\0" + "nsd\0nsf\0nsk\0nst\0nsv\0nty\0ntz\0nwc\0nwx\0nyl\0nyq\0nyw\0oaa\0" + "oac\0oar\0oav\0obm\0obr\0odk\0oht\0oj\0ojs\0okm\0oko\0okz\0ola\0" + "ole\0omk\0omp\0omr\0omx\0oon\0or\0ort\0oru\0orv\0os\0osa\0osc\0" + "osi\0ota\0otb\0otk\0oty\0oui\0pa\0pa_PK\0pal\0paq\0pbt\0pcb\0" + "pce\0pcf\0pcg\0pch\0pci\0pcj\0peg\0peo\0pgd\0pgg\0pgl\0pgn\0phd\0" + "phk\0phl\0phn\0pho\0phr\0pht\0phu\0phv\0phw\0pi\0pka\0pkr\0plk\0" + "pll\0pmh\0pnt\0pnt_RU\0pra\0prc\0prd\0prt\0prx\0ps\0psh\0psi\0" + "pst\0psu\0pum\0pwo\0pwr\0pww\0pyx\0qxq\0raa\0rab\0raf\0rah\0raj\0" + "rav\0rbb\0rdb\0rei\0rhg\0rji\0rjs\0rka\0rki\0rkt\0rmi\0rmt\0rmz\0" + "rsk\0rtw\0ru\0rue\0rut\0rwr\0ryu\0sa\0sah\0sam\0sat\0saz\0sbn\0" + "sbu\0sck\0scl\0scp\0sct\0scu\0scx\0sd\0sd_IN\0sdb\0sdf\0sdg\0" + "sdh\0sdr\0sds\0sel\0sfm\0sgh\0sgj\0sgr\0sgt\0sgw\0sgy\0shd\0shi\0" + "shm\0shn\0shu\0shv\0si\0sia\0sip\0siy\0siz\0sjd\0sjp\0sjt\0skb\0" + "skj\0skr\0smh\0smp\0smu\0smy\0soa\0sog\0soi\0sou\0spt\0spv\0sqo\0" + "sqq\0sqt\0sr\0srb\0srh\0srx\0srz\0ssh\0sss\0sts\0stv\0sty\0suz\0" + "sva\0swb\0swi\0swv\0sxu\0syc\0syl\0syn\0syr\0syw\0ta\0tab\0taj\0" + "tbk\0tcn\0tco\0tcx\0tcy\0tda\0tdb\0tdd\0tdg\0tdh\0te\0tes\0tg\0" + "tg_PK\0tge\0tgf\0th\0the\0thf\0thi\0thl\0thm\0thq\0thr\0ths\0" + "ti\0tig\0tij\0tin\0tjl\0tjo\0tkb\0tks\0tkt\0tmr\0tnv\0tov\0tpu\0" + "tra\0trg\0trm\0trw\0tsd\0tsj\0tt\0tth\0tto\0tts\0ttz\0tvn\0twm\0" + "txg\0txo\0tyr\0tyv\0ude\0udg\0udi\0udm\0ug\0ug_KZ\0ug_MN\0uga\0" + "ugh\0ugo\0uk\0uki\0ulc\0unr\0unr_NP\0unx\0ur\0urk\0ush\0uum\0" + "uz_AF\0uz_CN\0uzs\0vaa\0vaf\0vah\0vai\0vas\0vav\0vay\0vgr\0vjk\0" + "vmd\0vmh\0wal\0wbk\0wbq\0wbr\0wle\0wlo\0wme\0wne\0wni\0wsg\0wsv\0" + "wtm\0wuu\0xag\0xal\0xan\0xas\0xco\0xcr\0xdq\0xhe\0xhm\0xis\0xka\0" + "xkc\0xkf\0xkj\0xkp\0xlc\0xld\0xly\0xmf\0xmn\0xmr\0xna\0xnr\0xpg\0" + "xpi\0xpm\0xpr\0xrm\0xrn\0xsa\0xsr\0xtq\0xub\0xuj\0xve\0xvi\0xwo\0" + "xzh\0yai\0ybh\0ybi\0ydg\0yea\0yej\0yeu\0ygp\0yhd\0yi\0yig\0yih\0" + "yiv\0ykg\0ykh\0yna\0ynk\0yoi\0yoy\0yrk\0ysd\0ysn\0ysp\0ysr\0ysy\0" + "yud\0yue\0yue_CN\0yug\0yux\0ywq\0ywu\0zau\0zba\0zch\0zdj\0zeh\0" + "zen\0zgb\0zgh\0zgm\0zgn\0zh\0zh_AU\0zh_BN\0zh_GB\0zh_GF\0zh_HK\0" + "zh_ID\0zh_MO\0zh_PA\0zh_PF\0zh_PH\0zh_SR\0zh_TH\0zh_TW\0zh_US\0" + "zh_VN\0zhd\0zhx\0zko\0zkt\0zkz\0zlj\0zln\0zlq\0zqe\0zrg\0zrp\0" + "zum\0zwa\0zyg\0zyn\0zzj\0"; const int32_t defaultScriptTable[] = { 0, 330, // aaf -> Mlym 4, 10, // aao -> Arab - 8, 150, // aat -> Grek - 12, 100, // ab -> Cyrl + 8, 155, // aat -> Grek + 12, 105, // ab -> Cyrl 15, 10, // abh -> Arab 19, 435, // abl -> Rjng 23, 10, // abv -> Arab @@ -121,64 +122,64 @@ const int32_t defaultScriptTable[] = { 39, 10, // acx -> Arab 43, 10, // adf -> Arab 47, 555, // adx -> Tibt - 51, 100, // ady -> Cyrl + 51, 105, // ady -> Cyrl 55, 25, // ae -> Avst 58, 10, // aeb -> Arab 62, 10, // aec -> Arab 66, 10, // aee -> Arab 70, 10, // aeq -> Arab 74, 10, // afb -> Arab - 78, 105, // agi -> Deva - 82, 120, // agj -> Ethi - 86, 100, // agx -> Cyrl - 90, 120, // ahg -> Ethi + 78, 110, // agi -> Deva + 82, 125, // agj -> Ethi + 86, 105, // agx -> Cyrl + 90, 125, // ahg -> Ethi 94, 5, // aho -> Ahom - 98, 105, // ahr -> Deva + 98, 110, // ahr -> Deva 102, 10, // aib -> Arab 106, 495, // aii -> Syrc - 110, 185, // aij -> Hebr - 114, 220, // ain -> Kana + 110, 190, // aij -> Hebr + 114, 225, // ain -> Kana 118, 355, // aio -> Mymr 122, 10, // aiq -> Arab 126, 590, // akk -> Xsux - 130, 100, // akv -> Cyrl + 130, 105, // akv -> Cyrl 134, 260, // alk -> Laoo 138, 330, // all -> Mlym - 142, 100, // alr -> Cyrl - 146, 100, // alt -> Cyrl - 150, 120, // alw -> Ethi - 154, 120, // am -> Ethi - 157, 210, // ams -> Jpan + 142, 105, // alr -> Cyrl + 146, 105, // alt -> Cyrl + 150, 125, // alw -> Ethi + 154, 125, // am -> Ethi + 157, 215, // ams -> Jpan 161, 495, // amw -> Syrc - 165, 100, // ani -> Cyrl - 169, 105, // anp -> Deva - 173, 105, // anq -> Deva - 177, 105, // anr -> Deva - 181, 120, // anu -> Ethi - 185, 45, // aot -> Beng + 165, 105, // ani -> Cyrl + 169, 110, // anp -> Deva + 173, 110, // anq -> Deva + 177, 110, // anr -> Deva + 181, 125, // anu -> Ethi + 185, 50, // aot -> Beng 189, 10, // apc -> Arab 193, 10, // apd -> Arab - 197, 105, // aph -> Deva - 201, 100, // aqc -> Cyrl + 197, 110, // aph -> Deva + 201, 105, // aqc -> Cyrl 205, 10, // ar -> Arab 208, 15, // arc -> Armi 212, 10, // arq -> Arab 216, 10, // ars -> Arab 220, 10, // ary -> Arab 224, 10, // arz -> Arab - 228, 45, // as -> Beng + 228, 50, // as -> Beng 231, 465, // ase -> Sgnw 235, 10, // ask -> Arab - 239, 105, // asr -> Deva + 239, 110, // asr -> Deva 243, 10, // atn -> Arab - 247, 100, // atv -> Cyrl + 247, 105, // atv -> Cyrl 251, 10, // auj -> Arab 255, 10, // auz -> Arab - 259, 100, // av -> Cyrl + 259, 105, // av -> Cyrl 262, 10, // avd -> Arab 266, 10, // avl -> Arab - 270, 105, // awa -> Deva - 274, 120, // awn -> Ethi + 270, 110, // awa -> Deva + 274, 125, // awn -> Ethi 278, 20, // axm -> Armn 282, 10, // ayh -> Arab 286, 10, // ayl -> Arab @@ -186,971 +187,973 @@ const int32_t defaultScriptTable[] = { 294, 10, // ayp -> Arab 298, 10, // az_IQ -> Arab 304, 10, // az_IR -> Arab - 310, 100, // az_RU -> Cyrl + 310, 105, // az_RU -> Cyrl 316, 10, // azb -> Arab - 320, 100, // ba -> Cyrl + 320, 105, // ba -> Cyrl 323, 10, // bal -> Arab - 327, 105, // bap -> Deva - 331, 30, // bax -> Bamu - 335, 125, // bbl -> Geor - 339, 120, // bcq -> Ethi + 327, 110, // bap -> Deva + 331, 35, // bax -> Bamu + 335, 130, // bbl -> Geor + 339, 125, // bcq -> Ethi 343, 395, // bdv -> Orya 347, 10, // bdz -> Arab - 351, 100, // be -> Cyrl - 354, 105, // bee -> Deva + 351, 105, // be -> Cyrl + 354, 110, // bee -> Deva 358, 10, // bej -> Arab - 362, 105, // bfb -> Deva + 362, 110, // bfb -> Deva 366, 520, // bfq -> Taml 370, 10, // bft -> Arab 374, 555, // bfu -> Tibt 378, 395, // bfw -> Orya - 382, 105, // bfy -> Deva - 386, 105, // bfz -> Deva - 390, 100, // bg -> Cyrl - 393, 105, // bgc -> Deva - 397, 105, // bgd -> Deva + 382, 110, // bfy -> Deva + 386, 110, // bfz -> Deva + 390, 105, // bg -> Cyrl + 393, 110, // bgc -> Deva + 397, 110, // bgd -> Deva 401, 10, // bgn -> Arab 405, 10, // bgp -> Arab - 409, 105, // bgq -> Deva - 413, 105, // bgw -> Deva - 417, 150, // bgx -> Grek - 421, 105, // bha -> Deva - 425, 105, // bhb -> Deva - 429, 105, // bhd -> Deva + 409, 110, // bgq -> Deva + 413, 110, // bgw -> Deva + 417, 155, // bgx -> Grek + 421, 110, // bha -> Deva + 425, 110, // bhb -> Deva + 429, 110, // bhd -> Deva 433, 10, // bhe -> Arab - 437, 100, // bhh -> Cyrl - 441, 105, // bhi -> Deva - 445, 105, // bhj -> Deva + 437, 105, // bhh -> Cyrl + 441, 110, // bhi -> Deva + 445, 110, // bhj -> Deva 449, 10, // bhm -> Arab 453, 495, // bhn -> Syrc - 457, 105, // bho -> Deva - 461, 105, // bht -> Deva - 465, 105, // bhu -> Deva - 469, 105, // biy -> Deva + 457, 110, // bho -> Deva + 461, 110, // bht -> Deva + 465, 110, // bhu -> Deva + 469, 110, // biy -> Deva 473, 495, // bjf -> Syrc - 477, 105, // bjj -> Deva + 477, 110, // bjj -> Deva 481, 10, // bjm -> Arab 485, 555, // bkk -> Tibt 489, 355, // blk -> Mymr 493, 530, // blt -> Tavt - 497, 105, // bmj -> Deva - 501, 45, // bn -> Beng - 504, 105, // bns -> Deva + 497, 110, // bmj -> Deva + 501, 50, // bn -> Beng + 504, 110, // bns -> Deva 508, 555, // bo -> Tibt - 511, 100, // bph -> Cyrl - 515, 105, // bpx -> Deva - 519, 45, // bpy -> Beng + 511, 105, // bph -> Cyrl + 515, 110, // bpx -> Deva + 519, 50, // bpy -> Beng 523, 10, // bqi -> Arab - 527, 105, // bra -> Deva + 527, 110, // bra -> Deva 531, 235, // brb -> Khmr - 535, 105, // brd -> Deva + 535, 110, // brd -> Deva 539, 10, // brh -> Arab 543, 10, // brk -> Arab 547, 555, // bro -> Tibt 551, 260, // brv -> Laoo 555, 245, // brw -> Knda - 559, 105, // brx -> Deva + 559, 110, // brx -> Deva 563, 10, // bsh -> Arab 567, 10, // bsk -> Arab - 571, 35, // bsq -> Bass - 575, 120, // bst -> Ethi - 579, 40, // btd -> Batk - 583, 40, // btm -> Batk - 587, 105, // btv -> Deva - 591, 100, // bua -> Cyrl + 571, 40, // bsq -> Bass + 575, 125, // bst -> Ethi + 579, 45, // btd -> Batk + 583, 45, // btm -> Batk + 587, 110, // btv -> Deva + 591, 105, // bua -> Cyrl 595, 355, // bwe -> Mymr - 599, 100, // bxm -> Cyrl + 599, 105, // bxm -> Cyrl 603, 340, // bxu -> Mong - 607, 105, // byh -> Deva - 611, 120, // byn -> Ethi - 615, 105, // byw -> Deva + 607, 110, // byh -> Deva + 611, 125, // byn -> Ethi + 615, 110, // byw -> Deva 619, 550, // bzi -> Thai 623, 550, // cbn -> Thai - 627, 60, // ccp -> Cakm + 627, 65, // ccp -> Cakm 631, 535, // cde -> Telu - 635, 105, // cdh -> Deva - 639, 155, // cdi -> Gujr - 643, 105, // cdj -> Deva - 647, 105, // cdm -> Deva - 651, 175, // cdo -> Hans - 655, 45, // cdz -> Beng - 659, 100, // ce -> Cyrl + 635, 110, // cdh -> Deva + 639, 160, // cdi -> Gujr + 643, 110, // cdj -> Deva + 647, 110, // cdm -> Deva + 651, 180, // cdo -> Hans + 655, 50, // cdz -> Beng + 659, 105, // ce -> Cyrl 662, 555, // cgk -> Tibt 666, 10, // chg -> Arab - 670, 100, // chm -> Cyrl - 674, 80, // chr -> Cher - 678, 105, // chx -> Deva - 682, 105, // cih -> Deva + 670, 105, // chm -> Cyrl + 674, 85, // chr -> Cher + 678, 110, // chx -> Deva + 682, 110, // cih -> Deva 686, 10, // cja -> Arab - 690, 100, // cji -> Cyrl - 694, 75, // cjm -> Cham - 698, 175, // cjy -> Hans + 690, 105, // cji -> Cyrl + 694, 80, // cjm -> Cham + 698, 180, // cjy -> Hans 702, 10, // ckb -> Arab - 706, 100, // ckt -> Cyrl + 706, 105, // ckt -> Cyrl 710, 10, // clh -> Arab - 714, 100, // clw -> Cyrl + 714, 105, // clw -> Cyrl 718, 485, // cmg -> Soyo 722, 555, // cna -> Tibt - 726, 175, // cnp -> Hans + 726, 180, // cnp -> Hans 730, 550, // cog -> Thai - 734, 90, // cop -> Copt - 738, 150, // cpg -> Grek - 742, 65, // cr -> Cans - 745, 100, // crh -> Cyrl - 749, 65, // crj -> Cans - 753, 65, // crk -> Cans - 757, 65, // crl -> Cans - 761, 65, // crm -> Cans + 734, 95, // cop -> Copt + 738, 155, // cpg -> Grek + 742, 70, // cr -> Cans + 745, 105, // crh -> Cyrl + 749, 70, // crj -> Cans + 753, 70, // crk -> Cans + 757, 70, // crl -> Cans + 761, 70, // crm -> Cans 765, 355, // csh -> Mymr - 769, 175, // csp -> Hans - 773, 65, // csw -> Cans + 769, 180, // csp -> Hans + 773, 70, // csw -> Cans 777, 410, // ctd -> Pauc - 781, 45, // ctg -> Beng - 785, 105, // ctn -> Deva + 781, 50, // ctg -> Beng + 785, 110, // ctn -> Deva 789, 520, // ctt -> Taml 793, 520, // cty -> Taml - 797, 100, // cu -> Cyrl + 797, 105, // cu -> Cyrl 800, 255, // cuu -> Lana - 804, 100, // cv -> Cyrl - 807, 175, // czh -> Hans - 811, 185, // czk -> Hebr - 815, 105, // daq -> Deva - 819, 100, // dar -> Cyrl + 804, 105, // cv -> Cyrl + 807, 180, // czh -> Hans + 811, 190, // czk -> Hebr + 815, 110, // daq -> Deva + 819, 105, // dar -> Cyrl 823, 10, // dcc -> Arab - 827, 100, // ddo -> Cyrl + 827, 105, // ddo -> Cyrl 831, 10, // def -> Arab 835, 10, // deh -> Arab - 839, 45, // der -> Beng + 839, 50, // der -> Beng 843, 10, // dgl -> Arab - 847, 105, // dhi -> Deva - 851, 155, // dhn -> Gujr - 855, 105, // dho -> Deva - 859, 105, // dhw -> Deva + 847, 110, // dhi -> Deva + 851, 160, // dhn -> Gujr + 855, 110, // dho -> Deva + 859, 110, // dhw -> Deva 863, 555, // dka -> Tibt - 867, 100, // dlg -> Cyrl + 867, 105, // dlg -> Cyrl 871, 320, // dmf -> Medf 875, 10, // dmk -> Arab 879, 10, // dml -> Arab - 883, 100, // dng -> Cyrl + 883, 105, // dng -> Cyrl 887, 355, // dnu -> Mymr 891, 355, // dnv -> Mymr - 895, 105, // doi -> Deva - 899, 120, // dox -> Ethi + 895, 110, // doi -> Deva + 899, 125, // dox -> Ethi 903, 555, // dre -> Tibt - 907, 105, // drq -> Deva - 911, 120, // drs -> Ethi - 915, 105, // dry -> Deva + 907, 110, // drq -> Deva + 911, 125, // drs -> Ethi + 915, 110, // dry -> Deva 919, 395, // dso -> Orya - 923, 105, // dty -> Deva - 927, 155, // dub -> Gujr - 931, 105, // duh -> Deva - 935, 105, // dus -> Deva + 923, 110, // dty -> Deva + 927, 160, // dub -> Gujr + 931, 110, // duh -> Deva + 935, 110, // dus -> Deva 939, 545, // dv -> Thaa 942, 395, // dwk -> Orya - 946, 105, // dwz -> Deva + 946, 110, // dwz -> Deva 950, 555, // dz -> Tibt 953, 555, // dzl -> Tibt - 957, 150, // ecr -> Grek - 961, 95, // ecy -> Cprt - 965, 110, // egy -> Egyp - 969, 215, // eky -> Kali - 973, 150, // el -> Grek - 976, 105, // emg -> Deva - 980, 105, // emu -> Deva - 984, 100, // enf -> Cyrl - 988, 100, // enh -> Cyrl + 957, 155, // ecr -> Grek + 961, 100, // ecy -> Cprt + 965, 115, // egy -> Egyp + 969, 220, // eky -> Kali + 973, 155, // el -> Grek + 976, 110, // emg -> Deva + 980, 110, // emu -> Deva + 984, 105, // enf -> Cyrl + 988, 105, // enh -> Cyrl 992, 520, // era -> Taml - 996, 135, // esg -> Gonm + 996, 140, // esg -> Gonm 1000, 10, // esh -> Arab - 1004, 200, // ett -> Ital - 1008, 100, // eve -> Cyrl - 1012, 100, // evn -> Cyrl + 1004, 205, // ett -> Ital + 1008, 105, // eve -> Cyrl + 1012, 105, // evn -> Cyrl 1016, 10, // fa -> Arab 1019, 10, // fay -> Arab 1023, 10, // faz -> Arab 1027, 10, // fia -> Arab - 1031, 105, // fmu -> Deva + 1031, 110, // fmu -> Deva 1035, 10, // fub -> Arab - 1039, 175, // gan -> Hans + 1039, 180, // gan -> Hans 1043, 395, // gaq -> Orya - 1047, 155, // gas -> Gujr + 1047, 160, // gas -> Gujr 1051, 535, // gau -> Telu 1055, 395, // gbj -> Orya - 1059, 105, // gbk -> Deva - 1063, 155, // gbl -> Gujr - 1067, 105, // gbm -> Deva + 1059, 110, // gbk -> Deva + 1063, 160, // gbl -> Gujr + 1067, 110, // gbm -> Deva 1071, 10, // gbz -> Arab 1075, 395, // gdb -> Orya - 1079, 100, // gdo -> Cyrl - 1083, 105, // gdx -> Deva - 1087, 120, // gez -> Ethi + 1079, 105, // gdo -> Cyrl + 1083, 110, // gdx -> Deva + 1087, 125, // gez -> Ethi 1091, 10, // ggg -> Arab 1095, 10, // gha -> Arab - 1099, 105, // ghe -> Deva + 1099, 110, // ghe -> Deva 1103, 540, // gho -> Tfng 1107, 10, // ghr -> Arab 1111, 555, // ght -> Tibt 1115, 10, // gig -> Arab - 1119, 100, // gin -> Cyrl + 1119, 105, // gin -> Cyrl 1123, 10, // gjk -> Arab 1127, 10, // gju -> Arab - 1131, 100, // gld -> Cyrl + 1131, 105, // gld -> Cyrl 1135, 10, // glh -> Arab 1139, 10, // glk -> Arab 1143, 265, // gml -> Latf - 1147, 120, // gmv -> Ethi + 1147, 125, // gmv -> Ethi 1151, 285, // gmy -> Linb 1155, 555, // goe -> Tibt - 1159, 120, // gof -> Ethi - 1163, 105, // goj -> Deva - 1167, 105, // gok -> Deva - 1171, 105, // gon -> Deva - 1175, 140, // got -> Goth - 1179, 105, // gra -> Deva - 1183, 95, // grc -> Cprt - 1187, 45, // grt -> Beng - 1191, 120, // gru -> Ethi - 1195, 155, // gu -> Gujr - 1198, 105, // gvr -> Deva + 1159, 125, // gof -> Ethi + 1163, 110, // goj -> Deva + 1167, 110, // gok -> Deva + 1171, 110, // gon -> Deva + 1175, 145, // got -> Goth + 1179, 110, // gra -> Deva + 1183, 155, // grc -> Grek + 1187, 50, // grt -> Beng + 1191, 125, // gru -> Ethi + 1195, 160, // gu -> Gujr + 1198, 110, // gvr -> Deva 1202, 10, // gwc -> Arab 1206, 10, // gwf -> Arab 1210, 10, // gwt -> Arab - 1214, 105, // gyo -> Deva + 1214, 110, // gyo -> Deva 1218, 10, // gzi -> Arab 1222, 10, // ha_CM -> Arab 1228, 10, // ha_SD -> Arab 1234, 10, // hac -> Arab - 1238, 175, // hak -> Hans - 1242, 120, // har -> Ethi - 1246, 10, // haz -> Arab - 1250, 185, // hbo -> Hebr - 1254, 120, // hdy -> Ethi - 1258, 185, // he -> Hebr - 1261, 105, // hi -> Deva - 1264, 105, // hif -> Deva - 1268, 505, // hii -> Takr - 1272, 590, // hit -> Xsux - 1276, 10, // hkh -> Arab - 1280, 105, // hlb -> Deva - 1284, 190, // hlu -> Hluw - 1288, 425, // hmd -> Plrd - 1292, 50, // hmj -> Bopo - 1296, 50, // hmq -> Bopo - 1300, 10, // hnd -> Arab - 1304, 105, // hne -> Deva - 1308, 195, // hnj -> Hmnp - 1312, 10, // hno -> Arab - 1316, 105, // hoc -> Deva - 1320, 10, // hoh -> Arab - 1324, 105, // hoj -> Deva - 1328, 170, // how -> Hani - 1332, 105, // hoy -> Deva - 1336, 355, // hpo -> Mymr - 1340, 495, // hrt -> Syrc - 1344, 10, // hrz -> Arab - 1348, 175, // hsn -> Hans - 1352, 10, // hss -> Arab - 1356, 590, // htx -> Xsux - 1360, 105, // hut -> Deva - 1364, 185, // huy -> Hebr - 1368, 100, // huz -> Cyrl - 1372, 20, // hy -> Armn - 1375, 20, // hyw -> Armn - 1379, 595, // ii -> Yiii - 1382, 295, // imy -> Lyci - 1386, 100, // inh -> Cyrl - 1390, 355, // int -> Mymr - 1394, 120, // ior -> Ethi - 1398, 520, // iru -> Taml - 1402, 10, // isk -> Arab - 1406, 185, // itk -> Hebr - 1410, 100, // itl -> Cyrl - 1414, 65, // iu -> Cans - 1417, 185, // iw -> Hebr - 1420, 210, // ja -> Jpan - 1423, 10, // jad -> Arab - 1427, 10, // jat -> Arab - 1431, 185, // jbe -> Hebr - 1435, 10, // jbn -> Arab - 1439, 100, // jct -> Cyrl - 1443, 555, // jda -> Tibt - 1447, 10, // jdg -> Arab - 1451, 100, // jdt -> Cyrl - 1455, 105, // jee -> Deva - 1459, 125, // jge -> Geor - 1463, 185, // ji -> Hebr - 1466, 165, // jje -> Hang - 1470, 355, // jkm -> Mymr - 1474, 105, // jml -> Deva - 1478, 505, // jna -> Takr - 1482, 10, // jnd -> Arab - 1486, 105, // jnl -> Deva - 1490, 105, // jns -> Deva - 1494, 10, // jog -> Arab - 1498, 185, // jpa -> Hebr - 1502, 185, // jpr -> Hebr - 1506, 185, // jrb -> Hebr - 1510, 105, // jul -> Deva - 1514, 395, // jun -> Orya - 1518, 395, // juy -> Orya - 1522, 555, // jya -> Tibt - 1526, 185, // jye -> Hebr - 1530, 125, // ka -> Geor - 1533, 100, // kaa -> Cyrl - 1537, 100, // kap -> Cyrl - 1541, 225, // kaw -> Kawi - 1545, 100, // kbd -> Cyrl - 1549, 555, // kbg -> Tibt - 1553, 10, // kbu -> Arab - 1557, 10, // kby -> Arab - 1561, 100, // kca -> Cyrl - 1565, 10, // kcy -> Arab - 1569, 45, // kdq -> Beng - 1573, 550, // kdt -> Thai - 1577, 100, // ket -> Cyrl - 1581, 330, // kev -> Mlym - 1585, 105, // kex -> Deva - 1589, 535, // key -> Telu - 1593, 245, // kfa -> Knda - 1597, 105, // kfb -> Deva - 1601, 535, // kfc -> Telu - 1605, 245, // kfd -> Knda - 1609, 520, // kfe -> Taml - 1613, 245, // kfg -> Knda - 1617, 330, // kfh -> Mlym - 1621, 520, // kfi -> Taml - 1625, 105, // kfk -> Deva - 1629, 10, // kfm -> Arab - 1633, 105, // kfp -> Deva - 1637, 105, // kfq -> Deva - 1641, 105, // kfr -> Deva - 1645, 105, // kfs -> Deva - 1649, 105, // kfu -> Deva - 1653, 105, // kfx -> Deva - 1657, 105, // kfy -> Deva - 1661, 105, // kgj -> Deva - 1665, 105, // kgy -> Deva - 1669, 515, // khb -> Talu - 1673, 550, // khf -> Thai - 1677, 555, // khg -> Tibt - 1681, 105, // khn -> Deva - 1685, 55, // kho -> Brah - 1689, 355, // kht -> Mymr - 1693, 100, // khv -> Cyrl - 1697, 10, // khw -> Arab - 1701, 105, // kif -> Deva - 1705, 100, // kim -> Cyrl - 1709, 105, // kip -> Deva - 1713, 260, // kjg -> Laoo - 1717, 100, // kjh -> Cyrl - 1721, 105, // kjl -> Deva - 1725, 105, // kjo -> Deva - 1729, 355, // kjp -> Mymr - 1733, 550, // kjt -> Thai - 1737, 555, // kjz -> Tibt - 1741, 100, // kk -> Cyrl - 1744, 10, // kk_AF -> Arab - 1750, 10, // kk_CN -> Arab - 1756, 10, // kk_IR -> Arab - 1762, 10, // kk_MN -> Arab - 1768, 555, // kkf -> Tibt - 1772, 255, // kkh -> Lana - 1776, 105, // kkt -> Deva - 1780, 105, // kle -> Deva - 1784, 10, // klj -> Arab - 1788, 105, // klr -> Deva - 1792, 235, // km -> Khmr - 1795, 105, // kmj -> Deva - 1799, 10, // kmz -> Arab - 1803, 245, // kn -> Knda - 1806, 105, // knn -> Deva - 1810, 250, // ko -> Kore - 1813, 100, // koi -> Cyrl - 1817, 105, // kok -> Deva - 1821, 100, // kpt -> Cyrl - 1825, 100, // kpy -> Cyrl - 1829, 495, // kqd -> Syrc - 1833, 120, // kqy -> Ethi - 1837, 105, // kra -> Deva - 1841, 100, // krc -> Cyrl - 1845, 100, // krk -> Cyrl - 1849, 235, // krr -> Khmr - 1853, 105, // kru -> Deva - 1857, 235, // krv -> Khmr - 1861, 10, // ks -> Arab - 1864, 355, // ksu -> Mymr - 1868, 355, // ksw -> Mymr - 1872, 105, // ksz -> Deva - 1876, 120, // ktb -> Ethi - 1880, 105, // kte -> Deva - 1884, 10, // ktl -> Arab - 1888, 425, // ktp -> Plrd - 1892, 10, // ku_LB -> Arab - 1898, 260, // kuf -> Laoo - 1902, 100, // kum -> Cyrl - 1906, 100, // kv -> Cyrl - 1909, 100, // kva -> Cyrl - 1913, 355, // kvq -> Mymr - 1917, 355, // kvt -> Mymr - 1921, 10, // kvx -> Arab - 1925, 215, // kvy -> Kali - 1929, 355, // kxf -> Mymr - 1933, 355, // kxk -> Mymr - 1937, 550, // kxm -> Thai - 1941, 10, // kxp -> Arab - 1945, 100, // ky -> Cyrl - 1948, 10, // ky_CN -> Arab - 1954, 215, // kyu -> Kali - 1958, 105, // kyv -> Deva - 1962, 105, // kyw -> Deva - 1966, 280, // lab -> Lina - 1970, 185, // lad -> Hebr - 1974, 105, // lae -> Deva - 1978, 10, // lah -> Arab - 1982, 100, // lbe -> Cyrl - 1986, 105, // lbf -> Deva - 1990, 555, // lbj -> Tibt - 1994, 105, // lbm -> Deva - 1998, 260, // lbo -> Laoo - 2002, 105, // lbr -> Deva - 2006, 550, // lcp -> Thai - 2010, 275, // lep -> Lepc - 2014, 100, // lez -> Cyrl - 2018, 105, // lhm -> Deva - 2022, 495, // lhs -> Syrc - 2026, 105, // lif -> Deva - 2030, 290, // lis -> Lisu - 2034, 555, // lkh -> Tibt - 2038, 10, // lki -> Arab - 2042, 105, // lmh -> Deva - 2046, 535, // lmn -> Telu - 2050, 260, // lo -> Laoo - 2053, 105, // loy -> Deva - 2057, 425, // lpo -> Plrd - 2061, 10, // lrc -> Arab - 2065, 10, // lrk -> Arab - 2069, 10, // lrl -> Arab - 2073, 10, // lsa -> Arab - 2077, 185, // lsd -> Hebr - 2081, 10, // lss -> Arab - 2085, 180, // ltc -> Hant - 2089, 555, // luk -> Tibt - 2093, 105, // luu -> Deva - 2097, 10, // luv -> Arab - 2101, 10, // luz -> Arab - 2105, 550, // lwl -> Thai - 2109, 550, // lwm -> Thai - 2113, 555, // lya -> Tibt - 2117, 175, // lzh -> Hans - 2121, 105, // mag -> Deva - 2125, 105, // mai -> Deva - 2129, 370, // man_GN -> Nkoo - 2136, 10, // mby -> Arab - 2140, 10, // mde -> Arab - 2144, 100, // mdf -> Cyrl - 2148, 120, // mdx -> Ethi - 2152, 120, // mdy -> Ethi - 2156, 10, // mfa -> Arab - 2160, 10, // mfi -> Arab - 2164, 270, // mga -> Latg - 2168, 105, // mgp -> Deva - 2172, 10, // mhj -> Arab - 2176, 305, // mid -> Mand - 2180, 105, // mjl -> Deva - 2184, 330, // mjq -> Mlym - 2188, 330, // mjr -> Mlym - 2192, 105, // mjt -> Deva - 2196, 535, // mju -> Telu - 2200, 330, // mjv -> Mlym - 2204, 105, // mjz -> Deva - 2208, 100, // mk -> Cyrl - 2211, 105, // mkb -> Deva - 2215, 105, // mke -> Deva - 2219, 10, // mki -> Arab - 2223, 550, // mkm -> Thai - 2227, 330, // ml -> Mlym - 2230, 550, // mlf -> Thai - 2234, 100, // mn -> Cyrl - 2237, 340, // mn_CN -> Mong - 2243, 340, // mnc -> Mong - 2247, 45, // mni -> Beng - 2251, 10, // mnj -> Arab - 2255, 100, // mns -> Cyrl - 2259, 355, // mnw -> Mymr - 2263, 550, // mpz -> Thai - 2267, 105, // mr -> Deva - 2270, 550, // mra -> Thai - 2274, 105, // mrd -> Deva - 2278, 100, // mrj -> Cyrl - 2282, 345, // mro -> Mroo - 2286, 105, // mrr -> Deva - 2290, 10, // ms_CC -> Arab - 2296, 100, // mtm -> Cyrl - 2300, 105, // mtr -> Deva - 2304, 100, // mud -> Cyrl - 2308, 555, // muk -> Tibt - 2312, 105, // mut -> Deva - 2316, 520, // muv -> Taml - 2320, 120, // muz -> Ethi - 2324, 10, // mve -> Arab - 2328, 340, // mvf -> Mong - 2332, 10, // mvy -> Arab - 2336, 120, // mvz -> Ethi - 2340, 105, // mwr -> Deva - 2344, 355, // mwt -> Mymr - 2348, 195, // mww -> Hmnp - 2352, 355, // my -> Mymr - 2355, 120, // mym -> Ethi - 2359, 100, // myv -> Cyrl - 2363, 305, // myz -> Mand - 2367, 10, // mzn -> Arab - 2371, 175, // nan -> Hans - 2375, 105, // nao -> Deva - 2379, 105, // ncd -> Deva - 2383, 260, // ncq -> Laoo - 2387, 100, // ndf -> Cyrl - 2391, 105, // ne -> Deva - 2394, 100, // neg -> Cyrl - 2398, 555, // neh -> Tibt - 2402, 590, // nei -> Xsux - 2406, 105, // new -> Deva - 2410, 260, // ngt -> Laoo - 2414, 100, // nio -> Cyrl - 2418, 535, // nit -> Telu - 2422, 100, // niv -> Cyrl - 2426, 10, // nli -> Arab - 2430, 10, // nlm -> Arab - 2434, 105, // nlx -> Deva - 2438, 105, // nmm -> Deva - 2442, 580, // nnp -> Wcho - 2446, 255, // nod -> Lana - 2450, 105, // noe -> Deva - 2454, 100, // nog -> Cyrl - 2458, 105, // noi -> Deva - 2462, 445, // non -> Runr - 2466, 595, // nos -> Yiii - 2470, 555, // npb -> Tibt - 2474, 370, // nqo -> Nkoo - 2478, 445, // nrn -> Runr - 2482, 595, // nsd -> Yiii - 2486, 595, // nsf -> Yiii - 2490, 65, // nsk -> Cans - 2494, 560, // nst -> Tnsa - 2498, 595, // nsv -> Yiii - 2502, 595, // nty -> Yiii - 2506, 10, // ntz -> Arab - 2510, 365, // nwc -> Newa - 2514, 105, // nwx -> Deva - 2518, 550, // nyl -> Thai - 2522, 10, // nyq -> Arab - 2526, 550, // nyw -> Thai - 2530, 100, // oaa -> Cyrl - 2534, 100, // oac -> Cyrl - 2538, 495, // oar -> Syrc - 2542, 125, // oav -> Geor - 2546, 420, // obm -> Phnx - 2550, 355, // obr -> Mymr - 2554, 10, // odk -> Arab - 2558, 590, // oht -> Xsux - 2562, 65, // oj -> Cans - 2565, 65, // ojs -> Cans - 2569, 165, // okm -> Hang - 2573, 170, // oko -> Hani - 2577, 235, // okz -> Khmr - 2581, 105, // ola -> Deva - 2585, 555, // ole -> Tibt - 2589, 100, // omk -> Cyrl - 2593, 350, // omp -> Mtei - 2597, 335, // omr -> Modi - 2601, 355, // omx -> Mymr - 2605, 105, // oon -> Deva - 2609, 395, // or -> Orya - 2612, 535, // ort -> Telu - 2616, 10, // oru -> Arab - 2620, 100, // orv -> Cyrl - 2624, 100, // os -> Cyrl - 2627, 400, // osa -> Osge - 2631, 200, // osc -> Ital - 2635, 205, // osi -> Java - 2639, 10, // ota -> Arab - 2643, 555, // otb -> Tibt - 2647, 390, // otk -> Orkh - 2651, 145, // oty -> Gran - 2655, 405, // oui -> Ougr - 2659, 160, // pa -> Guru - 2662, 10, // pa_PK -> Arab - 2668, 415, // pal -> Phli - 2672, 100, // paq -> Cyrl - 2676, 10, // pbt -> Arab - 2680, 235, // pcb -> Khmr - 2684, 355, // pce -> Mymr - 2688, 330, // pcf -> Mlym - 2692, 330, // pcg -> Mlym - 2696, 105, // pch -> Deva - 2700, 105, // pci -> Deva - 2704, 535, // pcj -> Telu - 2708, 395, // peg -> Orya - 2712, 585, // peo -> Xpeo - 2716, 230, // pgd -> Khar - 2720, 105, // pgg -> Deva - 2724, 380, // pgl -> Ogam - 2728, 200, // pgn -> Ital - 2732, 105, // phd -> Deva - 2736, 355, // phk -> Mymr - 2740, 10, // phl -> Arab - 2744, 420, // phn -> Phnx - 2748, 260, // pho -> Laoo - 2752, 10, // phr -> Arab - 2756, 550, // pht -> Thai - 2760, 550, // phu -> Thai - 2764, 10, // phv -> Arab - 2768, 105, // phw -> Deva - 2772, 470, // pi -> Sinh - 2775, 55, // pka -> Brah - 2779, 330, // pkr -> Mlym - 2783, 10, // plk -> Arab - 2787, 355, // pll -> Mymr - 2791, 55, // pmh -> Brah - 2795, 150, // pnt -> Grek - 2799, 230, // pra -> Khar - 2803, 10, // prc -> Arab - 2807, 10, // prd -> Arab - 2811, 550, // prt -> Thai - 2815, 10, // prx -> Arab - 2819, 10, // ps -> Arab - 2822, 10, // psh -> Arab - 2826, 10, // psi -> Arab - 2830, 10, // pst -> Arab - 2834, 55, // psu -> Brah - 2838, 105, // pum -> Deva - 2842, 355, // pwo -> Mymr - 2846, 105, // pwr -> Deva - 2850, 550, // pww -> Thai - 2854, 355, // pyx -> Mymr - 2858, 10, // qxq -> Arab - 2862, 105, // raa -> Deva - 2866, 105, // rab -> Deva - 2870, 105, // raf -> Deva - 2874, 45, // rah -> Beng - 2878, 105, // raj -> Deva - 2882, 105, // rav -> Deva - 2886, 355, // rbb -> Mymr - 2890, 10, // rdb -> Arab - 2894, 395, // rei -> Orya - 2898, 440, // rhg -> Rohg - 2902, 105, // rji -> Deva - 2906, 105, // rjs -> Deva - 2910, 235, // rka -> Khmr - 2914, 355, // rki -> Mymr - 2918, 45, // rkt -> Beng - 2922, 20, // rmi -> Armn - 2926, 10, // rmt -> Arab - 2930, 355, // rmz -> Mymr - 2934, 100, // rsk -> Cyrl - 2938, 105, // rtw -> Deva - 2942, 100, // ru -> Cyrl - 2945, 100, // rue -> Cyrl - 2949, 100, // rut -> Cyrl - 2953, 105, // rwr -> Deva - 2957, 220, // ryu -> Kana - 2961, 105, // sa -> Deva - 2964, 100, // sah -> Cyrl - 2968, 450, // sam -> Samr - 2972, 385, // sat -> Olck - 2976, 460, // saz -> Saur - 2980, 10, // sbn -> Arab - 2984, 555, // sbu -> Tibt - 2988, 105, // sck -> Deva - 2992, 10, // scl -> Arab - 2996, 105, // scp -> Deva - 3000, 260, // sct -> Laoo - 3004, 505, // scu -> Takr - 3008, 150, // scx -> Grek - 3012, 10, // sd -> Arab - 3015, 105, // sd_IN -> Deva - 3021, 10, // sdb -> Arab - 3025, 10, // sdf -> Arab - 3029, 10, // sdg -> Arab - 3033, 10, // sdh -> Arab - 3037, 45, // sdr -> Beng - 3041, 10, // sds -> Arab - 3045, 100, // sel -> Cyrl - 3049, 425, // sfm -> Plrd - 3053, 380, // sga -> Ogam - 3057, 100, // sgh -> Cyrl - 3061, 105, // sgj -> Deva - 3065, 10, // sgr -> Arab - 3069, 555, // sgt -> Tibt - 3073, 120, // sgw -> Ethi - 3077, 10, // sgy -> Arab - 3081, 10, // shd -> Arab - 3085, 540, // shi -> Tfng - 3089, 10, // shm -> Arab - 3093, 355, // shn -> Mymr - 3097, 10, // shu -> Arab - 3101, 10, // shv -> Arab - 3105, 470, // si -> Sinh - 3108, 100, // sia -> Cyrl - 3112, 555, // sip -> Tibt - 3116, 10, // siy -> Arab - 3120, 10, // siz -> Arab - 3124, 100, // sjd -> Cyrl - 3128, 105, // sjp -> Deva - 3132, 100, // sjt -> Cyrl - 3136, 550, // skb -> Thai - 3140, 105, // skj -> Deva - 3144, 10, // skr -> Arab - 3148, 595, // smh -> Yiii - 3152, 450, // smp -> Samr - 3156, 235, // smu -> Khmr - 3160, 10, // smy -> Arab - 3164, 530, // soa -> Tavt - 3168, 475, // sog -> Sogd - 3172, 105, // soi -> Deva - 3176, 550, // sou -> Thai - 3180, 555, // spt -> Tibt - 3184, 395, // spv -> Orya - 3188, 10, // sqo -> Arab - 3192, 260, // sqq -> Laoo - 3196, 10, // sqt -> Arab - 3200, 100, // sr -> Cyrl - 3203, 480, // srb -> Sora - 3207, 10, // srh -> Arab - 3211, 105, // srx -> Deva - 3215, 10, // srz -> Arab - 3219, 10, // ssh -> Arab - 3223, 260, // sss -> Laoo - 3227, 10, // sts -> Arab - 3231, 120, // stv -> Ethi - 3235, 100, // sty -> Cyrl - 3239, 490, // suz -> Sunu - 3243, 125, // sva -> Geor - 3247, 10, // swb -> Arab - 3251, 170, // swi -> Hani - 3255, 105, // swv -> Deva - 3259, 445, // sxu -> Runr - 3263, 495, // syc -> Syrc - 3267, 45, // syl -> Beng - 3271, 495, // syn -> Syrc - 3275, 495, // syr -> Syrc - 3279, 105, // syw -> Deva - 3283, 520, // ta -> Taml - 3286, 100, // tab -> Cyrl - 3290, 105, // taj -> Deva - 3294, 500, // tbk -> Tagb - 3298, 555, // tcn -> Tibt - 3302, 355, // tco -> Mymr - 3306, 520, // tcx -> Taml - 3310, 245, // tcy -> Knda - 3314, 540, // tda -> Tfng - 3318, 105, // tdb -> Deva - 3322, 510, // tdd -> Tale - 3326, 105, // tdg -> Deva - 3330, 105, // tdh -> Deva - 3334, 535, // te -> Telu - 3337, 205, // tes -> Java - 3341, 100, // tg -> Cyrl - 3344, 10, // tg_PK -> Arab - 3350, 105, // tge -> Deva - 3354, 555, // tgf -> Tibt - 3358, 550, // th -> Thai - 3361, 105, // the -> Deva - 3365, 105, // thf -> Deva - 3369, 510, // thi -> Tale - 3373, 105, // thl -> Deva - 3377, 550, // thm -> Thai - 3381, 105, // thq -> Deva - 3385, 105, // thr -> Deva - 3389, 105, // ths -> Deva - 3393, 120, // ti -> Ethi - 3396, 120, // tig -> Ethi - 3400, 105, // tij -> Deva - 3404, 100, // tin -> Cyrl - 3408, 355, // tjl -> Mymr - 3412, 10, // tjo -> Arab - 3416, 105, // tkb -> Deva - 3420, 10, // tks -> Arab - 3424, 105, // tkt -> Deva - 3428, 495, // tmr -> Syrc - 3432, 60, // tnv -> Cakm - 3436, 10, // tov -> Arab - 3440, 235, // tpu -> Khmr - 3444, 10, // tra -> Arab - 3448, 185, // trg -> Hebr - 3452, 10, // trm -> Arab - 3456, 10, // trw -> Arab - 3460, 150, // tsd -> Grek - 3464, 555, // tsj -> Tibt - 3468, 100, // tt -> Cyrl - 3471, 260, // tth -> Laoo - 3475, 260, // tto -> Laoo - 3479, 550, // tts -> Thai - 3483, 105, // ttz -> Deva - 3487, 355, // tvn -> Mymr - 3491, 105, // twm -> Deva - 3495, 525, // txg -> Tang - 3499, 565, // txo -> Toto - 3503, 530, // tyr -> Tavt - 3507, 100, // tyv -> Cyrl - 3511, 100, // ude -> Cyrl - 3515, 330, // udg -> Mlym - 3519, 100, // udi -> Cyrl - 3523, 100, // udm -> Cyrl - 3527, 10, // ug -> Arab - 3530, 100, // ug_KZ -> Cyrl - 3536, 100, // ug_MN -> Cyrl - 3542, 570, // uga -> Ugar - 3546, 100, // ugh -> Cyrl - 3550, 550, // ugo -> Thai - 3554, 100, // uk -> Cyrl - 3557, 395, // uki -> Orya - 3561, 100, // ulc -> Cyrl - 3565, 45, // unr -> Beng - 3569, 105, // unr_NP -> Deva - 3576, 45, // unx -> Beng - 3580, 10, // ur -> Arab - 3583, 550, // urk -> Thai - 3587, 10, // ush -> Arab - 3591, 150, // uum -> Grek - 3595, 10, // uz_AF -> Arab - 3601, 100, // uz_CN -> Cyrl - 3607, 10, // uzs -> Arab - 3611, 520, // vaa -> Taml - 3615, 10, // vaf -> Arab - 3619, 105, // vah -> Deva - 3623, 575, // vai -> Vaii - 3627, 105, // vas -> Deva - 3631, 105, // vav -> Deva - 3635, 105, // vay -> Deva - 3639, 10, // vgr -> Arab - 3643, 105, // vjk -> Deva - 3647, 245, // vmd -> Knda - 3651, 10, // vmh -> Arab - 3655, 120, // wal -> Ethi - 3659, 10, // wbk -> Arab - 3663, 535, // wbq -> Telu - 3667, 105, // wbr -> Deva - 3671, 120, // wle -> Ethi - 3675, 10, // wlo -> Arab - 3679, 105, // wme -> Deva - 3683, 10, // wne -> Arab - 3687, 10, // wni -> Arab - 3691, 130, // wsg -> Gong - 3695, 10, // wsv -> Arab - 3699, 105, // wtm -> Deva - 3703, 175, // wuu -> Hans - 3707, 0, // xag -> Aghb - 3711, 100, // xal -> Cyrl - 3715, 120, // xan -> Ethi - 3719, 100, // xas -> Cyrl - 3723, 85, // xco -> Chrs - 3727, 70, // xcr -> Cari - 3731, 100, // xdq -> Cyrl - 3735, 10, // xhe -> Arab - 3739, 235, // xhm -> Khmr - 3743, 395, // xis -> Orya - 3747, 10, // xka -> Arab - 3751, 10, // xkc -> Arab - 3755, 555, // xkf -> Tibt - 3759, 10, // xkj -> Arab - 3763, 10, // xkp -> Arab - 3767, 295, // xlc -> Lyci - 3771, 300, // xld -> Lydi - 3775, 115, // xly -> Elym - 3779, 125, // xmf -> Geor - 3783, 310, // xmn -> Mani - 3787, 325, // xmr -> Merc - 3791, 360, // xna -> Narb - 3795, 105, // xnr -> Deva - 3799, 150, // xpg -> Grek - 3803, 380, // xpi -> Ogam - 3807, 100, // xpm -> Cyrl - 3811, 430, // xpr -> Prti - 3815, 100, // xrm -> Cyrl - 3819, 100, // xrn -> Cyrl - 3823, 455, // xsa -> Sarb - 3827, 105, // xsr -> Deva - 3831, 55, // xtq -> Brah - 3835, 520, // xub -> Taml - 3839, 520, // xuj -> Taml - 3843, 200, // xve -> Ital - 3847, 10, // xvi -> Arab - 3851, 100, // xwo -> Cyrl - 3855, 315, // xzh -> Marc - 3859, 100, // yai -> Cyrl - 3863, 105, // ybh -> Deva - 3867, 105, // ybi -> Deva - 3871, 10, // ydg -> Arab - 3875, 330, // yea -> Mlym - 3879, 150, // yej -> Grek - 3883, 535, // yeu -> Telu - 3887, 425, // ygp -> Plrd - 3891, 185, // yhd -> Hebr - 3895, 185, // yi -> Hebr - 3898, 595, // yig -> Yiii - 3902, 185, // yih -> Hebr - 3906, 595, // yiv -> Yiii - 3910, 100, // ykg -> Cyrl - 3914, 100, // ykh -> Cyrl - 3918, 425, // yna -> Plrd - 3922, 100, // ynk -> Cyrl - 3926, 210, // yoi -> Jpan - 3930, 550, // yoy -> Thai - 3934, 100, // yrk -> Cyrl - 3938, 595, // ysd -> Yiii - 3942, 595, // ysn -> Yiii - 3946, 595, // ysp -> Yiii - 3950, 100, // ysr -> Cyrl - 3954, 425, // ysy -> Plrd - 3958, 185, // yud -> Hebr - 3962, 180, // yue -> Hant - 3966, 175, // yue_CN -> Hans - 3973, 100, // yug -> Cyrl - 3977, 100, // yux -> Cyrl - 3981, 425, // ywq -> Plrd - 3985, 425, // ywu -> Plrd - 3989, 555, // zau -> Tibt - 3993, 10, // zba -> Arab - 3997, 170, // zch -> Hani - 4001, 10, // zdj -> Arab - 4005, 170, // zeh -> Hani - 4009, 540, // zen -> Tfng - 4013, 170, // zgb -> Hani - 4017, 540, // zgh -> Tfng - 4021, 170, // zgm -> Hani - 4025, 170, // zgn -> Hani - 4029, 175, // zh -> Hans - 4032, 180, // zh_AU -> Hant - 4038, 180, // zh_BN -> Hant - 4044, 180, // zh_GB -> Hant - 4050, 180, // zh_GF -> Hant - 4056, 180, // zh_HK -> Hant - 4062, 180, // zh_ID -> Hant - 4068, 180, // zh_MO -> Hant - 4074, 180, // zh_PA -> Hant - 4080, 180, // zh_PF -> Hant - 4086, 180, // zh_PH -> Hant - 4092, 180, // zh_SR -> Hant - 4098, 180, // zh_TH -> Hant - 4104, 180, // zh_TW -> Hant - 4110, 180, // zh_US -> Hant - 4116, 180, // zh_VN -> Hant - 4122, 170, // zhd -> Hani - 4126, 375, // zhx -> Nshu - 4130, 100, // zko -> Cyrl - 4134, 240, // zkt -> Kits - 4138, 100, // zkz -> Cyrl - 4142, 170, // zlj -> Hani - 4146, 170, // zln -> Hani - 4150, 170, // zlq -> Hani - 4154, 170, // zqe -> Hani - 4158, 395, // zrg -> Orya - 4162, 185, // zrp -> Hebr - 4166, 10, // zum -> Arab - 4170, 120, // zwa -> Ethi - 4174, 170, // zyg -> Hani - 4178, 170, // zyn -> Hani - 4182, 170, // zzj -> Hani + 1238, 180, // hak -> Hans + 1242, 185, // hak_TW -> Hant + 1249, 125, // har -> Ethi + 1253, 10, // haz -> Arab + 1257, 190, // hbo -> Hebr + 1261, 125, // hdy -> Ethi + 1265, 190, // he -> Hebr + 1268, 110, // hi -> Deva + 1271, 110, // hif -> Deva + 1275, 505, // hii -> Takr + 1279, 590, // hit -> Xsux + 1283, 10, // hkh -> Arab + 1287, 110, // hlb -> Deva + 1291, 195, // hlu -> Hluw + 1295, 425, // hmd -> Plrd + 1299, 55, // hmj -> Bopo + 1303, 55, // hmq -> Bopo + 1307, 10, // hnd -> Arab + 1311, 110, // hne -> Deva + 1315, 200, // hnj -> Hmnp + 1319, 10, // hno -> Arab + 1323, 110, // hoc -> Deva + 1327, 10, // hoh -> Arab + 1331, 110, // hoj -> Deva + 1335, 175, // how -> Hani + 1339, 110, // hoy -> Deva + 1343, 355, // hpo -> Mymr + 1347, 495, // hrt -> Syrc + 1351, 10, // hrz -> Arab + 1355, 180, // hsn -> Hans + 1359, 10, // hss -> Arab + 1363, 590, // htx -> Xsux + 1367, 110, // hut -> Deva + 1371, 190, // huy -> Hebr + 1375, 105, // huz -> Cyrl + 1379, 20, // hy -> Armn + 1382, 20, // hyw -> Armn + 1386, 595, // ii -> Yiii + 1389, 295, // imy -> Lyci + 1393, 105, // inh -> Cyrl + 1397, 355, // int -> Mymr + 1401, 125, // ior -> Ethi + 1405, 520, // iru -> Taml + 1409, 10, // isk -> Arab + 1413, 190, // itk -> Hebr + 1417, 105, // itl -> Cyrl + 1421, 70, // iu -> Cans + 1424, 190, // iw -> Hebr + 1427, 215, // ja -> Jpan + 1430, 10, // jad -> Arab + 1434, 10, // jat -> Arab + 1438, 190, // jbe -> Hebr + 1442, 10, // jbn -> Arab + 1446, 105, // jct -> Cyrl + 1450, 555, // jda -> Tibt + 1454, 10, // jdg -> Arab + 1458, 105, // jdt -> Cyrl + 1462, 110, // jee -> Deva + 1466, 130, // jge -> Geor + 1470, 190, // ji -> Hebr + 1473, 170, // jje -> Hang + 1477, 355, // jkm -> Mymr + 1481, 110, // jml -> Deva + 1485, 505, // jna -> Takr + 1489, 10, // jnd -> Arab + 1493, 110, // jnl -> Deva + 1497, 110, // jns -> Deva + 1501, 10, // jog -> Arab + 1505, 190, // jpa -> Hebr + 1509, 190, // jpr -> Hebr + 1513, 190, // jrb -> Hebr + 1517, 110, // jul -> Deva + 1521, 395, // jun -> Orya + 1525, 395, // juy -> Orya + 1529, 555, // jya -> Tibt + 1533, 190, // jye -> Hebr + 1537, 130, // ka -> Geor + 1540, 105, // kaa -> Cyrl + 1544, 105, // kap -> Cyrl + 1548, 30, // kaw -> Bali + 1552, 105, // kbd -> Cyrl + 1556, 555, // kbg -> Tibt + 1560, 10, // kbu -> Arab + 1564, 10, // kby -> Arab + 1568, 105, // kca -> Cyrl + 1572, 10, // kcy -> Arab + 1576, 50, // kdq -> Beng + 1580, 550, // kdt -> Thai + 1584, 105, // ket -> Cyrl + 1588, 330, // kev -> Mlym + 1592, 110, // kex -> Deva + 1596, 535, // key -> Telu + 1600, 245, // kfa -> Knda + 1604, 110, // kfb -> Deva + 1608, 535, // kfc -> Telu + 1612, 245, // kfd -> Knda + 1616, 520, // kfe -> Taml + 1620, 245, // kfg -> Knda + 1624, 330, // kfh -> Mlym + 1628, 520, // kfi -> Taml + 1632, 110, // kfk -> Deva + 1636, 10, // kfm -> Arab + 1640, 110, // kfp -> Deva + 1644, 110, // kfq -> Deva + 1648, 110, // kfr -> Deva + 1652, 110, // kfs -> Deva + 1656, 110, // kfu -> Deva + 1660, 110, // kfx -> Deva + 1664, 110, // kfy -> Deva + 1668, 110, // kgj -> Deva + 1672, 110, // kgy -> Deva + 1676, 515, // khb -> Talu + 1680, 550, // khf -> Thai + 1684, 555, // khg -> Tibt + 1688, 110, // khn -> Deva + 1692, 60, // kho -> Brah + 1696, 355, // kht -> Mymr + 1700, 105, // khv -> Cyrl + 1704, 10, // khw -> Arab + 1708, 110, // kif -> Deva + 1712, 105, // kim -> Cyrl + 1716, 110, // kip -> Deva + 1720, 260, // kjg -> Laoo + 1724, 105, // kjh -> Cyrl + 1728, 110, // kjl -> Deva + 1732, 110, // kjo -> Deva + 1736, 355, // kjp -> Mymr + 1740, 550, // kjt -> Thai + 1744, 555, // kjz -> Tibt + 1748, 105, // kk -> Cyrl + 1751, 10, // kk_AF -> Arab + 1757, 10, // kk_CN -> Arab + 1763, 10, // kk_IR -> Arab + 1769, 10, // kk_MN -> Arab + 1775, 555, // kkf -> Tibt + 1779, 255, // kkh -> Lana + 1783, 110, // kkt -> Deva + 1787, 110, // kle -> Deva + 1791, 10, // klj -> Arab + 1795, 110, // klr -> Deva + 1799, 235, // km -> Khmr + 1802, 110, // kmj -> Deva + 1806, 10, // kmz -> Arab + 1810, 245, // kn -> Knda + 1813, 110, // knn -> Deva + 1817, 250, // ko -> Kore + 1820, 105, // koi -> Cyrl + 1824, 110, // kok -> Deva + 1828, 105, // kpt -> Cyrl + 1832, 105, // kpy -> Cyrl + 1836, 495, // kqd -> Syrc + 1840, 125, // kqy -> Ethi + 1844, 110, // kra -> Deva + 1848, 105, // krc -> Cyrl + 1852, 105, // krk -> Cyrl + 1856, 235, // krr -> Khmr + 1860, 110, // kru -> Deva + 1864, 235, // krv -> Khmr + 1868, 10, // ks -> Arab + 1871, 355, // ksu -> Mymr + 1875, 355, // ksw -> Mymr + 1879, 110, // ksz -> Deva + 1883, 125, // ktb -> Ethi + 1887, 110, // kte -> Deva + 1891, 10, // ktl -> Arab + 1895, 425, // ktp -> Plrd + 1899, 10, // ku_LB -> Arab + 1905, 260, // kuf -> Laoo + 1909, 105, // kum -> Cyrl + 1913, 105, // kv -> Cyrl + 1916, 105, // kva -> Cyrl + 1920, 355, // kvq -> Mymr + 1924, 355, // kvt -> Mymr + 1928, 10, // kvx -> Arab + 1932, 220, // kvy -> Kali + 1936, 355, // kxf -> Mymr + 1940, 355, // kxk -> Mymr + 1944, 550, // kxm -> Thai + 1948, 10, // kxp -> Arab + 1952, 105, // ky -> Cyrl + 1955, 10, // ky_CN -> Arab + 1961, 220, // kyu -> Kali + 1965, 110, // kyv -> Deva + 1969, 110, // kyw -> Deva + 1973, 280, // lab -> Lina + 1977, 190, // lad -> Hebr + 1981, 110, // lae -> Deva + 1985, 10, // lah -> Arab + 1989, 105, // lbe -> Cyrl + 1993, 110, // lbf -> Deva + 1997, 555, // lbj -> Tibt + 2001, 110, // lbm -> Deva + 2005, 260, // lbo -> Laoo + 2009, 110, // lbr -> Deva + 2013, 550, // lcp -> Thai + 2017, 275, // lep -> Lepc + 2021, 105, // lez -> Cyrl + 2025, 110, // lhm -> Deva + 2029, 495, // lhs -> Syrc + 2033, 110, // lif -> Deva + 2037, 290, // lis -> Lisu + 2041, 555, // lkh -> Tibt + 2045, 10, // lki -> Arab + 2049, 110, // lmh -> Deva + 2053, 535, // lmn -> Telu + 2057, 260, // lo -> Laoo + 2060, 110, // loy -> Deva + 2064, 425, // lpo -> Plrd + 2068, 10, // lrc -> Arab + 2072, 10, // lrk -> Arab + 2076, 10, // lrl -> Arab + 2080, 10, // lsa -> Arab + 2084, 190, // lsd -> Hebr + 2088, 10, // lss -> Arab + 2092, 185, // ltc -> Hant + 2096, 555, // luk -> Tibt + 2100, 110, // luu -> Deva + 2104, 10, // luv -> Arab + 2108, 10, // luz -> Arab + 2112, 550, // lwl -> Thai + 2116, 550, // lwm -> Thai + 2120, 555, // lya -> Tibt + 2124, 180, // lzh -> Hans + 2128, 130, // lzz_GE -> Geor + 2135, 110, // mag -> Deva + 2139, 110, // mai -> Deva + 2143, 10, // mby -> Arab + 2147, 10, // mde -> Arab + 2151, 105, // mdf -> Cyrl + 2155, 125, // mdx -> Ethi + 2159, 125, // mdy -> Ethi + 2163, 10, // mfa -> Arab + 2167, 10, // mfi -> Arab + 2171, 270, // mga -> Latg + 2175, 110, // mgp -> Deva + 2179, 10, // mhj -> Arab + 2183, 305, // mid -> Mand + 2187, 110, // mjl -> Deva + 2191, 330, // mjq -> Mlym + 2195, 330, // mjr -> Mlym + 2199, 110, // mjt -> Deva + 2203, 535, // mju -> Telu + 2207, 330, // mjv -> Mlym + 2211, 110, // mjz -> Deva + 2215, 105, // mk -> Cyrl + 2218, 110, // mkb -> Deva + 2222, 110, // mke -> Deva + 2226, 10, // mki -> Arab + 2230, 550, // mkm -> Thai + 2234, 330, // ml -> Mlym + 2237, 550, // mlf -> Thai + 2241, 105, // mn -> Cyrl + 2244, 340, // mn_CN -> Mong + 2250, 340, // mnc -> Mong + 2254, 50, // mni -> Beng + 2258, 10, // mnj -> Arab + 2262, 105, // mns -> Cyrl + 2266, 355, // mnw -> Mymr + 2270, 550, // mpz -> Thai + 2274, 110, // mr -> Deva + 2277, 550, // mra -> Thai + 2281, 110, // mrd -> Deva + 2285, 105, // mrj -> Cyrl + 2289, 345, // mro -> Mroo + 2293, 110, // mrr -> Deva + 2297, 10, // ms_CC -> Arab + 2303, 105, // mtm -> Cyrl + 2307, 110, // mtr -> Deva + 2311, 105, // mud -> Cyrl + 2315, 555, // muk -> Tibt + 2319, 110, // mut -> Deva + 2323, 520, // muv -> Taml + 2327, 125, // muz -> Ethi + 2331, 10, // mve -> Arab + 2335, 340, // mvf -> Mong + 2339, 10, // mvy -> Arab + 2343, 125, // mvz -> Ethi + 2347, 110, // mwr -> Deva + 2351, 355, // mwt -> Mymr + 2355, 200, // mww -> Hmnp + 2359, 355, // my -> Mymr + 2362, 125, // mym -> Ethi + 2366, 105, // myv -> Cyrl + 2370, 305, // myz -> Mand + 2374, 10, // mzn -> Arab + 2378, 180, // nan -> Hans + 2382, 185, // nan_TW -> Hant + 2389, 110, // nao -> Deva + 2393, 110, // ncd -> Deva + 2397, 260, // ncq -> Laoo + 2401, 105, // ndf -> Cyrl + 2405, 110, // ne -> Deva + 2408, 105, // neg -> Cyrl + 2412, 555, // neh -> Tibt + 2416, 590, // nei -> Xsux + 2420, 110, // new -> Deva + 2424, 260, // ngt -> Laoo + 2428, 105, // nio -> Cyrl + 2432, 535, // nit -> Telu + 2436, 105, // niv -> Cyrl + 2440, 10, // nli -> Arab + 2444, 10, // nlm -> Arab + 2448, 110, // nlx -> Deva + 2452, 110, // nmm -> Deva + 2456, 580, // nnp -> Wcho + 2460, 255, // nod -> Lana + 2464, 110, // noe -> Deva + 2468, 105, // nog -> Cyrl + 2472, 110, // noi -> Deva + 2476, 445, // non -> Runr + 2480, 595, // nos -> Yiii + 2484, 555, // npb -> Tibt + 2488, 370, // nqo -> Nkoo + 2492, 445, // nrn -> Runr + 2496, 595, // nsd -> Yiii + 2500, 595, // nsf -> Yiii + 2504, 70, // nsk -> Cans + 2508, 560, // nst -> Tnsa + 2512, 595, // nsv -> Yiii + 2516, 595, // nty -> Yiii + 2520, 10, // ntz -> Arab + 2524, 365, // nwc -> Newa + 2528, 110, // nwx -> Deva + 2532, 550, // nyl -> Thai + 2536, 10, // nyq -> Arab + 2540, 550, // nyw -> Thai + 2544, 105, // oaa -> Cyrl + 2548, 105, // oac -> Cyrl + 2552, 495, // oar -> Syrc + 2556, 130, // oav -> Geor + 2560, 420, // obm -> Phnx + 2564, 355, // obr -> Mymr + 2568, 10, // odk -> Arab + 2572, 590, // oht -> Xsux + 2576, 70, // oj -> Cans + 2579, 70, // ojs -> Cans + 2583, 170, // okm -> Hang + 2587, 175, // oko -> Hani + 2591, 235, // okz -> Khmr + 2595, 110, // ola -> Deva + 2599, 555, // ole -> Tibt + 2603, 105, // omk -> Cyrl + 2607, 350, // omp -> Mtei + 2611, 335, // omr -> Modi + 2615, 355, // omx -> Mymr + 2619, 110, // oon -> Deva + 2623, 395, // or -> Orya + 2626, 535, // ort -> Telu + 2630, 10, // oru -> Arab + 2634, 105, // orv -> Cyrl + 2638, 105, // os -> Cyrl + 2641, 400, // osa -> Osge + 2645, 205, // osc -> Ital + 2649, 210, // osi -> Java + 2653, 10, // ota -> Arab + 2657, 555, // otb -> Tibt + 2661, 390, // otk -> Orkh + 2665, 150, // oty -> Gran + 2669, 405, // oui -> Ougr + 2673, 165, // pa -> Guru + 2676, 10, // pa_PK -> Arab + 2682, 415, // pal -> Phli + 2686, 105, // paq -> Cyrl + 2690, 10, // pbt -> Arab + 2694, 235, // pcb -> Khmr + 2698, 355, // pce -> Mymr + 2702, 330, // pcf -> Mlym + 2706, 330, // pcg -> Mlym + 2710, 110, // pch -> Deva + 2714, 110, // pci -> Deva + 2718, 535, // pcj -> Telu + 2722, 395, // peg -> Orya + 2726, 585, // peo -> Xpeo + 2730, 230, // pgd -> Khar + 2734, 110, // pgg -> Deva + 2738, 380, // pgl -> Ogam + 2742, 205, // pgn -> Ital + 2746, 110, // phd -> Deva + 2750, 355, // phk -> Mymr + 2754, 10, // phl -> Arab + 2758, 420, // phn -> Phnx + 2762, 260, // pho -> Laoo + 2766, 10, // phr -> Arab + 2770, 550, // pht -> Thai + 2774, 550, // phu -> Thai + 2778, 10, // phv -> Arab + 2782, 110, // phw -> Deva + 2786, 470, // pi -> Sinh + 2789, 60, // pka -> Brah + 2793, 330, // pkr -> Mlym + 2797, 10, // plk -> Arab + 2801, 355, // pll -> Mymr + 2805, 60, // pmh -> Brah + 2809, 155, // pnt -> Grek + 2813, 105, // pnt_RU -> Cyrl + 2820, 230, // pra -> Khar + 2824, 10, // prc -> Arab + 2828, 10, // prd -> Arab + 2832, 550, // prt -> Thai + 2836, 10, // prx -> Arab + 2840, 10, // ps -> Arab + 2843, 10, // psh -> Arab + 2847, 10, // psi -> Arab + 2851, 10, // pst -> Arab + 2855, 60, // psu -> Brah + 2859, 110, // pum -> Deva + 2863, 355, // pwo -> Mymr + 2867, 110, // pwr -> Deva + 2871, 550, // pww -> Thai + 2875, 355, // pyx -> Mymr + 2879, 10, // qxq -> Arab + 2883, 110, // raa -> Deva + 2887, 110, // rab -> Deva + 2891, 110, // raf -> Deva + 2895, 50, // rah -> Beng + 2899, 110, // raj -> Deva + 2903, 110, // rav -> Deva + 2907, 355, // rbb -> Mymr + 2911, 10, // rdb -> Arab + 2915, 395, // rei -> Orya + 2919, 440, // rhg -> Rohg + 2923, 110, // rji -> Deva + 2927, 110, // rjs -> Deva + 2931, 235, // rka -> Khmr + 2935, 355, // rki -> Mymr + 2939, 50, // rkt -> Beng + 2943, 20, // rmi -> Armn + 2947, 10, // rmt -> Arab + 2951, 355, // rmz -> Mymr + 2955, 105, // rsk -> Cyrl + 2959, 110, // rtw -> Deva + 2963, 105, // ru -> Cyrl + 2966, 105, // rue -> Cyrl + 2970, 105, // rut -> Cyrl + 2974, 110, // rwr -> Deva + 2978, 225, // ryu -> Kana + 2982, 110, // sa -> Deva + 2985, 105, // sah -> Cyrl + 2989, 450, // sam -> Samr + 2993, 385, // sat -> Olck + 2997, 460, // saz -> Saur + 3001, 10, // sbn -> Arab + 3005, 555, // sbu -> Tibt + 3009, 110, // sck -> Deva + 3013, 10, // scl -> Arab + 3017, 110, // scp -> Deva + 3021, 260, // sct -> Laoo + 3025, 505, // scu -> Takr + 3029, 155, // scx -> Grek + 3033, 10, // sd -> Arab + 3036, 110, // sd_IN -> Deva + 3042, 10, // sdb -> Arab + 3046, 10, // sdf -> Arab + 3050, 10, // sdg -> Arab + 3054, 10, // sdh -> Arab + 3058, 50, // sdr -> Beng + 3062, 10, // sds -> Arab + 3066, 105, // sel -> Cyrl + 3070, 425, // sfm -> Plrd + 3074, 105, // sgh -> Cyrl + 3078, 110, // sgj -> Deva + 3082, 10, // sgr -> Arab + 3086, 555, // sgt -> Tibt + 3090, 125, // sgw -> Ethi + 3094, 10, // sgy -> Arab + 3098, 10, // shd -> Arab + 3102, 540, // shi -> Tfng + 3106, 10, // shm -> Arab + 3110, 355, // shn -> Mymr + 3114, 10, // shu -> Arab + 3118, 10, // shv -> Arab + 3122, 470, // si -> Sinh + 3125, 105, // sia -> Cyrl + 3129, 555, // sip -> Tibt + 3133, 10, // siy -> Arab + 3137, 10, // siz -> Arab + 3141, 105, // sjd -> Cyrl + 3145, 110, // sjp -> Deva + 3149, 105, // sjt -> Cyrl + 3153, 550, // skb -> Thai + 3157, 110, // skj -> Deva + 3161, 10, // skr -> Arab + 3165, 595, // smh -> Yiii + 3169, 450, // smp -> Samr + 3173, 235, // smu -> Khmr + 3177, 10, // smy -> Arab + 3181, 530, // soa -> Tavt + 3185, 475, // sog -> Sogd + 3189, 110, // soi -> Deva + 3193, 550, // sou -> Thai + 3197, 555, // spt -> Tibt + 3201, 395, // spv -> Orya + 3205, 10, // sqo -> Arab + 3209, 260, // sqq -> Laoo + 3213, 10, // sqt -> Arab + 3217, 105, // sr -> Cyrl + 3220, 480, // srb -> Sora + 3224, 10, // srh -> Arab + 3228, 110, // srx -> Deva + 3232, 10, // srz -> Arab + 3236, 10, // ssh -> Arab + 3240, 260, // sss -> Laoo + 3244, 10, // sts -> Arab + 3248, 125, // stv -> Ethi + 3252, 105, // sty -> Cyrl + 3256, 490, // suz -> Sunu + 3260, 130, // sva -> Geor + 3264, 10, // swb -> Arab + 3268, 175, // swi -> Hani + 3272, 110, // swv -> Deva + 3276, 445, // sxu -> Runr + 3280, 495, // syc -> Syrc + 3284, 50, // syl -> Beng + 3288, 495, // syn -> Syrc + 3292, 495, // syr -> Syrc + 3296, 110, // syw -> Deva + 3300, 520, // ta -> Taml + 3303, 105, // tab -> Cyrl + 3307, 110, // taj -> Deva + 3311, 500, // tbk -> Tagb + 3315, 555, // tcn -> Tibt + 3319, 355, // tco -> Mymr + 3323, 520, // tcx -> Taml + 3327, 245, // tcy -> Knda + 3331, 540, // tda -> Tfng + 3335, 110, // tdb -> Deva + 3339, 510, // tdd -> Tale + 3343, 110, // tdg -> Deva + 3347, 110, // tdh -> Deva + 3351, 535, // te -> Telu + 3354, 210, // tes -> Java + 3358, 105, // tg -> Cyrl + 3361, 10, // tg_PK -> Arab + 3367, 110, // tge -> Deva + 3371, 555, // tgf -> Tibt + 3375, 550, // th -> Thai + 3378, 110, // the -> Deva + 3382, 110, // thf -> Deva + 3386, 510, // thi -> Tale + 3390, 110, // thl -> Deva + 3394, 550, // thm -> Thai + 3398, 110, // thq -> Deva + 3402, 110, // thr -> Deva + 3406, 110, // ths -> Deva + 3410, 125, // ti -> Ethi + 3413, 125, // tig -> Ethi + 3417, 110, // tij -> Deva + 3421, 105, // tin -> Cyrl + 3425, 355, // tjl -> Mymr + 3429, 10, // tjo -> Arab + 3433, 110, // tkb -> Deva + 3437, 10, // tks -> Arab + 3441, 110, // tkt -> Deva + 3445, 495, // tmr -> Syrc + 3449, 65, // tnv -> Cakm + 3453, 10, // tov -> Arab + 3457, 235, // tpu -> Khmr + 3461, 10, // tra -> Arab + 3465, 190, // trg -> Hebr + 3469, 10, // trm -> Arab + 3473, 10, // trw -> Arab + 3477, 155, // tsd -> Grek + 3481, 555, // tsj -> Tibt + 3485, 105, // tt -> Cyrl + 3488, 260, // tth -> Laoo + 3492, 260, // tto -> Laoo + 3496, 550, // tts -> Thai + 3500, 110, // ttz -> Deva + 3504, 355, // tvn -> Mymr + 3508, 110, // twm -> Deva + 3512, 525, // txg -> Tang + 3516, 565, // txo -> Toto + 3520, 530, // tyr -> Tavt + 3524, 105, // tyv -> Cyrl + 3528, 105, // ude -> Cyrl + 3532, 330, // udg -> Mlym + 3536, 105, // udi -> Cyrl + 3540, 105, // udm -> Cyrl + 3544, 10, // ug -> Arab + 3547, 105, // ug_KZ -> Cyrl + 3553, 105, // ug_MN -> Cyrl + 3559, 570, // uga -> Ugar + 3563, 105, // ugh -> Cyrl + 3567, 550, // ugo -> Thai + 3571, 105, // uk -> Cyrl + 3574, 395, // uki -> Orya + 3578, 105, // ulc -> Cyrl + 3582, 50, // unr -> Beng + 3586, 110, // unr_NP -> Deva + 3593, 50, // unx -> Beng + 3597, 10, // ur -> Arab + 3600, 550, // urk -> Thai + 3604, 10, // ush -> Arab + 3608, 155, // uum -> Grek + 3612, 10, // uz_AF -> Arab + 3618, 105, // uz_CN -> Cyrl + 3624, 10, // uzs -> Arab + 3628, 520, // vaa -> Taml + 3632, 10, // vaf -> Arab + 3636, 110, // vah -> Deva + 3640, 575, // vai -> Vaii + 3644, 110, // vas -> Deva + 3648, 110, // vav -> Deva + 3652, 110, // vay -> Deva + 3656, 10, // vgr -> Arab + 3660, 110, // vjk -> Deva + 3664, 245, // vmd -> Knda + 3668, 10, // vmh -> Arab + 3672, 125, // wal -> Ethi + 3676, 10, // wbk -> Arab + 3680, 535, // wbq -> Telu + 3684, 110, // wbr -> Deva + 3688, 125, // wle -> Ethi + 3692, 10, // wlo -> Arab + 3696, 110, // wme -> Deva + 3700, 10, // wne -> Arab + 3704, 10, // wni -> Arab + 3708, 135, // wsg -> Gong + 3712, 10, // wsv -> Arab + 3716, 110, // wtm -> Deva + 3720, 180, // wuu -> Hans + 3724, 0, // xag -> Aghb + 3728, 105, // xal -> Cyrl + 3732, 125, // xan -> Ethi + 3736, 105, // xas -> Cyrl + 3740, 90, // xco -> Chrs + 3744, 75, // xcr -> Cari + 3748, 105, // xdq -> Cyrl + 3752, 10, // xhe -> Arab + 3756, 235, // xhm -> Khmr + 3760, 395, // xis -> Orya + 3764, 10, // xka -> Arab + 3768, 10, // xkc -> Arab + 3772, 555, // xkf -> Tibt + 3776, 10, // xkj -> Arab + 3780, 10, // xkp -> Arab + 3784, 295, // xlc -> Lyci + 3788, 300, // xld -> Lydi + 3792, 120, // xly -> Elym + 3796, 130, // xmf -> Geor + 3800, 310, // xmn -> Mani + 3804, 325, // xmr -> Merc + 3808, 360, // xna -> Narb + 3812, 110, // xnr -> Deva + 3816, 155, // xpg -> Grek + 3820, 380, // xpi -> Ogam + 3824, 105, // xpm -> Cyrl + 3828, 430, // xpr -> Prti + 3832, 105, // xrm -> Cyrl + 3836, 105, // xrn -> Cyrl + 3840, 455, // xsa -> Sarb + 3844, 110, // xsr -> Deva + 3848, 60, // xtq -> Brah + 3852, 520, // xub -> Taml + 3856, 520, // xuj -> Taml + 3860, 205, // xve -> Ital + 3864, 10, // xvi -> Arab + 3868, 105, // xwo -> Cyrl + 3872, 315, // xzh -> Marc + 3876, 105, // yai -> Cyrl + 3880, 110, // ybh -> Deva + 3884, 110, // ybi -> Deva + 3888, 10, // ydg -> Arab + 3892, 330, // yea -> Mlym + 3896, 155, // yej -> Grek + 3900, 535, // yeu -> Telu + 3904, 425, // ygp -> Plrd + 3908, 190, // yhd -> Hebr + 3912, 190, // yi -> Hebr + 3915, 595, // yig -> Yiii + 3919, 190, // yih -> Hebr + 3923, 595, // yiv -> Yiii + 3927, 105, // ykg -> Cyrl + 3931, 105, // ykh -> Cyrl + 3935, 425, // yna -> Plrd + 3939, 105, // ynk -> Cyrl + 3943, 215, // yoi -> Jpan + 3947, 550, // yoy -> Thai + 3951, 105, // yrk -> Cyrl + 3955, 595, // ysd -> Yiii + 3959, 595, // ysn -> Yiii + 3963, 595, // ysp -> Yiii + 3967, 105, // ysr -> Cyrl + 3971, 425, // ysy -> Plrd + 3975, 190, // yud -> Hebr + 3979, 185, // yue -> Hant + 3983, 180, // yue_CN -> Hans + 3990, 105, // yug -> Cyrl + 3994, 105, // yux -> Cyrl + 3998, 425, // ywq -> Plrd + 4002, 425, // ywu -> Plrd + 4006, 555, // zau -> Tibt + 4010, 10, // zba -> Arab + 4014, 175, // zch -> Hani + 4018, 10, // zdj -> Arab + 4022, 175, // zeh -> Hani + 4026, 540, // zen -> Tfng + 4030, 175, // zgb -> Hani + 4034, 540, // zgh -> Tfng + 4038, 175, // zgm -> Hani + 4042, 175, // zgn -> Hani + 4046, 180, // zh -> Hans + 4049, 185, // zh_AU -> Hant + 4055, 185, // zh_BN -> Hant + 4061, 185, // zh_GB -> Hant + 4067, 185, // zh_GF -> Hant + 4073, 185, // zh_HK -> Hant + 4079, 185, // zh_ID -> Hant + 4085, 185, // zh_MO -> Hant + 4091, 185, // zh_PA -> Hant + 4097, 185, // zh_PF -> Hant + 4103, 185, // zh_PH -> Hant + 4109, 185, // zh_SR -> Hant + 4115, 185, // zh_TH -> Hant + 4121, 185, // zh_TW -> Hant + 4127, 185, // zh_US -> Hant + 4133, 185, // zh_VN -> Hant + 4139, 175, // zhd -> Hani + 4143, 375, // zhx -> Nshu + 4147, 105, // zko -> Cyrl + 4151, 240, // zkt -> Kits + 4155, 105, // zkz -> Cyrl + 4159, 175, // zlj -> Hani + 4163, 175, // zln -> Hani + 4167, 175, // zlq -> Hani + 4171, 175, // zqe -> Hani + 4175, 395, // zrg -> Orya + 4179, 190, // zrp -> Hebr + 4183, 10, // zum -> Arab + 4187, 125, // zwa -> Ethi + 4191, 175, // zyg -> Hani + 4195, 175, // zyn -> Hani + 4199, 175, // zzj -> Hani }; //====================================================================== @@ -1159,38 +1162,39 @@ const char parentLocaleChars[] = "az_Arab\0az_Cyrl\0bal_Latn\0blt_Latn\0bm_Nkoo\0bs_Cyrl\0byn_Latn\0" "cu_Glag\0dje_Arab\0dyo_Arab\0en_001\0en_150\0en_AG\0en_AI\0en_AT\0" "en_AU\0en_BB\0en_BE\0en_BM\0en_BS\0en_BW\0en_BZ\0en_CC\0en_CH\0" - "en_CK\0en_CM\0en_CX\0en_CY\0en_DE\0en_DG\0en_DK\0en_DM\0en_Dsrt\0" - "en_ER\0en_FI\0en_FJ\0en_FK\0en_FM\0en_GB\0en_GD\0en_GG\0en_GH\0" - "en_GI\0en_GM\0en_GY\0en_HK\0en_ID\0en_IE\0en_IL\0en_IM\0en_IN\0" - "en_IO\0en_JE\0en_JM\0en_KE\0en_KI\0en_KN\0en_KY\0en_LC\0en_LR\0" - "en_LS\0en_MG\0en_MO\0en_MS\0en_MT\0en_MU\0en_MV\0en_MW\0en_MY\0" - "en_NA\0en_NF\0en_NG\0en_NL\0en_NR\0en_NU\0en_NZ\0en_PG\0en_PK\0" - "en_PN\0en_PW\0en_RW\0en_SB\0en_SC\0en_SD\0en_SE\0en_SG\0en_SH\0" - "en_SI\0en_SL\0en_SS\0en_SX\0en_SZ\0en_Shaw\0en_TC\0en_TK\0en_TO\0" - "en_TT\0en_TV\0en_TZ\0en_UG\0en_VC\0en_VG\0en_VU\0en_WS\0en_ZA\0" - "en_ZM\0en_ZW\0es_419\0es_AR\0es_BO\0es_BR\0es_BZ\0es_CL\0es_CO\0" - "es_CR\0es_CU\0es_DO\0es_EC\0es_GT\0es_HN\0es_JP\0es_MX\0es_NI\0" - "es_PA\0es_PE\0es_PR\0es_PY\0es_SV\0es_US\0es_UY\0es_VE\0ff_Adlm\0" - "ff_Arab\0fr_HT\0ha_Arab\0hi_Latn\0ht\0iu_Latn\0kaa_Latn\0kk_Arab\0" - "kok_Latn\0ks_Deva\0ku_Arab\0kxv_Deva\0kxv_Orya\0kxv_Telu\0ky_Arab\0" - "ky_Latn\0ml_Arab\0mn_Mong\0mni_Mtei\0ms_Arab\0nb\0nn\0no\0no_NO\0" - "pa_Arab\0pt_AO\0pt_CH\0pt_CV\0pt_FR\0pt_GQ\0pt_GW\0pt_LU\0pt_MO\0" - "pt_MZ\0pt_PT\0pt_ST\0pt_TL\0root\0sat_Deva\0sd_Deva\0sd_Khoj\0" - "sd_Sind\0shi_Latn\0so_Arab\0sr_Latn\0sw_Arab\0tg_Arab\0ug_Cyrl\0" - "uz_Arab\0uz_Cyrl\0vai_Latn\0wo_Arab\0yo_Arab\0yue_Hans\0zh_Hant\0" - "zh_Hant_HK\0zh_Hant_MO\0"; + "en_CK\0en_CM\0en_CX\0en_CY\0en_CZ\0en_DE\0en_DG\0en_DK\0en_DM\0" + "en_Dsrt\0en_ER\0en_ES\0en_FI\0en_FJ\0en_FK\0en_FM\0en_FR\0en_GB\0" + "en_GD\0en_GG\0en_GH\0en_GI\0en_GM\0en_GS\0en_GY\0en_HK\0en_HU\0" + "en_ID\0en_IE\0en_IL\0en_IM\0en_IN\0en_IO\0en_IT\0en_JE\0en_JM\0" + "en_KE\0en_KI\0en_KN\0en_KY\0en_LC\0en_LR\0en_LS\0en_MG\0en_MO\0" + "en_MS\0en_MT\0en_MU\0en_MV\0en_MW\0en_MY\0en_NA\0en_NF\0en_NG\0" + "en_NL\0en_NO\0en_NR\0en_NU\0en_NZ\0en_PG\0en_PK\0en_PL\0en_PN\0" + "en_PT\0en_PW\0en_RO\0en_RW\0en_SB\0en_SC\0en_SD\0en_SE\0en_SG\0" + "en_SH\0en_SI\0en_SK\0en_SL\0en_SS\0en_SX\0en_SZ\0en_Shaw\0en_TC\0" + "en_TK\0en_TO\0en_TT\0en_TV\0en_TZ\0en_UG\0en_VC\0en_VG\0en_VU\0" + "en_WS\0en_ZA\0en_ZM\0en_ZW\0es_419\0es_AR\0es_BO\0es_BR\0es_BZ\0" + "es_CL\0es_CO\0es_CR\0es_CU\0es_DO\0es_EC\0es_GT\0es_HN\0es_JP\0" + "es_MX\0es_NI\0es_PA\0es_PE\0es_PR\0es_PY\0es_SV\0es_US\0es_UY\0" + "es_VE\0ff_Adlm\0ff_Arab\0fr_HT\0ha_Arab\0hi_Latn\0ht\0iu_Latn\0" + "kaa_Latn\0kk_Arab\0kok_Latn\0ks_Deva\0ku_Arab\0kxv_Deva\0kxv_Orya\0" + "kxv_Telu\0ky_Arab\0ky_Latn\0ml_Arab\0mn_Mong\0mni_Mtei\0ms_Arab\0" + "nb\0nn\0no\0no_NO\0pa_Arab\0pt_AO\0pt_CH\0pt_CV\0pt_FR\0pt_GQ\0" + "pt_GW\0pt_LU\0pt_MO\0pt_MZ\0pt_PT\0pt_ST\0pt_TL\0root\0sat_Deva\0" + "sd_Deva\0sd_Khoj\0sd_Sind\0shi_Latn\0so_Arab\0sr_Latn\0sw_Arab\0" + "tg_Arab\0ug_Cyrl\0uz_Arab\0uz_Cyrl\0vai_Latn\0wo_Arab\0yo_Arab\0" + "yue_Hans\0zh_Hant\0zh_Hant_HK\0zh_Hant_MO\0"; const int32_t parentLocaleTable[] = { - 0, 1080, // az_Arab -> root - 8, 1080, // az_Cyrl -> root - 16, 1080, // bal_Latn -> root - 25, 1080, // blt_Latn -> root - 34, 1080, // bm_Nkoo -> root - 42, 1080, // bs_Cyrl -> root - 50, 1080, // byn_Latn -> root - 59, 1080, // cu_Glag -> root - 67, 1080, // dje_Arab -> root - 76, 1080, // dyo_Arab -> root + 0, 1146, // az_Arab -> root + 8, 1146, // az_Cyrl -> root + 16, 1146, // bal_Latn -> root + 25, 1146, // blt_Latn -> root + 34, 1146, // bm_Nkoo -> root + 42, 1146, // bs_Cyrl -> root + 50, 1146, // byn_Latn -> root + 59, 1146, // cu_Glag -> root + 67, 1146, // dje_Arab -> root + 76, 1146, // dyo_Arab -> root 92, 85, // en_150 -> en_001 99, 85, // en_AG -> en_001 105, 85, // en_AI -> en_001 @@ -1208,161 +1212,172 @@ const int32_t parentLocaleTable[] = { 177, 85, // en_CM -> en_001 183, 85, // en_CX -> en_001 189, 85, // en_CY -> en_001 - 195, 92, // en_DE -> en_150 - 201, 85, // en_DG -> en_001 - 207, 92, // en_DK -> en_150 - 213, 85, // en_DM -> en_001 - 219, 1080, // en_Dsrt -> root - 227, 85, // en_ER -> en_001 - 233, 92, // en_FI -> en_150 - 239, 85, // en_FJ -> en_001 - 245, 85, // en_FK -> en_001 - 251, 85, // en_FM -> en_001 - 257, 85, // en_GB -> en_001 - 263, 85, // en_GD -> en_001 - 269, 85, // en_GG -> en_001 - 275, 85, // en_GH -> en_001 - 281, 85, // en_GI -> en_001 - 287, 85, // en_GM -> en_001 - 293, 85, // en_GY -> en_001 - 299, 85, // en_HK -> en_001 - 305, 85, // en_ID -> en_001 - 311, 85, // en_IE -> en_001 - 317, 85, // en_IL -> en_001 - 323, 85, // en_IM -> en_001 - 329, 85, // en_IN -> en_001 - 335, 85, // en_IO -> en_001 - 341, 85, // en_JE -> en_001 - 347, 85, // en_JM -> en_001 - 353, 85, // en_KE -> en_001 - 359, 85, // en_KI -> en_001 - 365, 85, // en_KN -> en_001 - 371, 85, // en_KY -> en_001 - 377, 85, // en_LC -> en_001 - 383, 85, // en_LR -> en_001 - 389, 85, // en_LS -> en_001 - 395, 85, // en_MG -> en_001 - 401, 85, // en_MO -> en_001 - 407, 85, // en_MS -> en_001 - 413, 85, // en_MT -> en_001 - 419, 85, // en_MU -> en_001 - 425, 85, // en_MV -> en_001 - 431, 85, // en_MW -> en_001 - 437, 85, // en_MY -> en_001 - 443, 85, // en_NA -> en_001 - 449, 85, // en_NF -> en_001 - 455, 85, // en_NG -> en_001 - 461, 92, // en_NL -> en_150 - 467, 85, // en_NR -> en_001 - 473, 85, // en_NU -> en_001 - 479, 85, // en_NZ -> en_001 - 485, 85, // en_PG -> en_001 - 491, 85, // en_PK -> en_001 - 497, 85, // en_PN -> en_001 - 503, 85, // en_PW -> en_001 - 509, 85, // en_RW -> en_001 - 515, 85, // en_SB -> en_001 - 521, 85, // en_SC -> en_001 - 527, 85, // en_SD -> en_001 - 533, 92, // en_SE -> en_150 - 539, 85, // en_SG -> en_001 - 545, 85, // en_SH -> en_001 - 551, 92, // en_SI -> en_150 - 557, 85, // en_SL -> en_001 - 563, 85, // en_SS -> en_001 - 569, 85, // en_SX -> en_001 - 575, 85, // en_SZ -> en_001 - 581, 1080, // en_Shaw -> root - 589, 85, // en_TC -> en_001 - 595, 85, // en_TK -> en_001 - 601, 85, // en_TO -> en_001 - 607, 85, // en_TT -> en_001 - 613, 85, // en_TV -> en_001 - 619, 85, // en_TZ -> en_001 - 625, 85, // en_UG -> en_001 - 631, 85, // en_VC -> en_001 - 637, 85, // en_VG -> en_001 - 643, 85, // en_VU -> en_001 - 649, 85, // en_WS -> en_001 - 655, 85, // en_ZA -> en_001 - 661, 85, // en_ZM -> en_001 - 667, 85, // en_ZW -> en_001 - 680, 673, // es_AR -> es_419 - 686, 673, // es_BO -> es_419 - 692, 673, // es_BR -> es_419 - 698, 673, // es_BZ -> es_419 - 704, 673, // es_CL -> es_419 - 710, 673, // es_CO -> es_419 - 716, 673, // es_CR -> es_419 - 722, 673, // es_CU -> es_419 - 728, 673, // es_DO -> es_419 - 734, 673, // es_EC -> es_419 - 740, 673, // es_GT -> es_419 - 746, 673, // es_HN -> es_419 - 752, 673, // es_JP -> es_419 - 758, 673, // es_MX -> es_419 - 764, 673, // es_NI -> es_419 - 770, 673, // es_PA -> es_419 - 776, 673, // es_PE -> es_419 - 782, 673, // es_PR -> es_419 - 788, 673, // es_PY -> es_419 - 794, 673, // es_SV -> es_419 - 800, 673, // es_US -> es_419 - 806, 673, // es_UY -> es_419 - 812, 673, // es_VE -> es_419 - 818, 1080, // ff_Adlm -> root - 826, 1080, // ff_Arab -> root - 840, 1080, // ha_Arab -> root - 848, 329, // hi_Latn -> en_IN - 856, 834, // ht -> fr_HT - 859, 1080, // iu_Latn -> root - 867, 1080, // kaa_Latn -> root - 876, 1080, // kk_Arab -> root - 884, 1080, // kok_Latn -> root - 893, 1080, // ks_Deva -> root - 901, 1080, // ku_Arab -> root - 909, 1080, // kxv_Deva -> root - 918, 1080, // kxv_Orya -> root - 927, 1080, // kxv_Telu -> root - 936, 1080, // ky_Arab -> root - 944, 1080, // ky_Latn -> root - 952, 1080, // ml_Arab -> root - 960, 1080, // mn_Mong -> root - 968, 1080, // mni_Mtei -> root - 977, 1080, // ms_Arab -> root - 985, 991, // nb -> no - 988, 991, // nn -> no - 994, 991, // no_NO -> no - 1000, 1080, // pa_Arab -> root - 1008, 1062, // pt_AO -> pt_PT - 1014, 1062, // pt_CH -> pt_PT - 1020, 1062, // pt_CV -> pt_PT - 1026, 1062, // pt_FR -> pt_PT - 1032, 1062, // pt_GQ -> pt_PT - 1038, 1062, // pt_GW -> pt_PT - 1044, 1062, // pt_LU -> pt_PT - 1050, 1062, // pt_MO -> pt_PT - 1056, 1062, // pt_MZ -> pt_PT - 1068, 1062, // pt_ST -> pt_PT - 1074, 1062, // pt_TL -> pt_PT - 1085, 1080, // sat_Deva -> root - 1094, 1080, // sd_Deva -> root - 1102, 1080, // sd_Khoj -> root - 1110, 1080, // sd_Sind -> root - 1118, 1080, // shi_Latn -> root - 1127, 1080, // so_Arab -> root - 1135, 1080, // sr_Latn -> root - 1143, 1080, // sw_Arab -> root - 1151, 1080, // tg_Arab -> root - 1159, 1080, // ug_Cyrl -> root - 1167, 1080, // uz_Arab -> root - 1175, 1080, // uz_Cyrl -> root - 1183, 1080, // vai_Latn -> root - 1192, 1080, // wo_Arab -> root - 1200, 1080, // yo_Arab -> root - 1208, 1080, // yue_Hans -> root - 1217, 1080, // zh_Hant -> root - 1236, 1225, // zh_Hant_MO -> zh_Hant_HK + 195, 92, // en_CZ -> en_150 + 201, 92, // en_DE -> en_150 + 207, 85, // en_DG -> en_001 + 213, 92, // en_DK -> en_150 + 219, 85, // en_DM -> en_001 + 225, 1146, // en_Dsrt -> root + 233, 85, // en_ER -> en_001 + 239, 92, // en_ES -> en_150 + 245, 92, // en_FI -> en_150 + 251, 85, // en_FJ -> en_001 + 257, 85, // en_FK -> en_001 + 263, 85, // en_FM -> en_001 + 269, 92, // en_FR -> en_150 + 275, 85, // en_GB -> en_001 + 281, 85, // en_GD -> en_001 + 287, 85, // en_GG -> en_001 + 293, 85, // en_GH -> en_001 + 299, 85, // en_GI -> en_001 + 305, 85, // en_GM -> en_001 + 311, 85, // en_GS -> en_001 + 317, 85, // en_GY -> en_001 + 323, 85, // en_HK -> en_001 + 329, 92, // en_HU -> en_150 + 335, 85, // en_ID -> en_001 + 341, 85, // en_IE -> en_001 + 347, 85, // en_IL -> en_001 + 353, 85, // en_IM -> en_001 + 359, 85, // en_IN -> en_001 + 365, 85, // en_IO -> en_001 + 371, 92, // en_IT -> en_150 + 377, 85, // en_JE -> en_001 + 383, 85, // en_JM -> en_001 + 389, 85, // en_KE -> en_001 + 395, 85, // en_KI -> en_001 + 401, 85, // en_KN -> en_001 + 407, 85, // en_KY -> en_001 + 413, 85, // en_LC -> en_001 + 419, 85, // en_LR -> en_001 + 425, 85, // en_LS -> en_001 + 431, 85, // en_MG -> en_001 + 437, 85, // en_MO -> en_001 + 443, 85, // en_MS -> en_001 + 449, 85, // en_MT -> en_001 + 455, 85, // en_MU -> en_001 + 461, 85, // en_MV -> en_001 + 467, 85, // en_MW -> en_001 + 473, 85, // en_MY -> en_001 + 479, 85, // en_NA -> en_001 + 485, 85, // en_NF -> en_001 + 491, 85, // en_NG -> en_001 + 497, 92, // en_NL -> en_150 + 503, 92, // en_NO -> en_150 + 509, 85, // en_NR -> en_001 + 515, 85, // en_NU -> en_001 + 521, 85, // en_NZ -> en_001 + 527, 85, // en_PG -> en_001 + 533, 85, // en_PK -> en_001 + 539, 92, // en_PL -> en_150 + 545, 85, // en_PN -> en_001 + 551, 92, // en_PT -> en_150 + 557, 85, // en_PW -> en_001 + 563, 92, // en_RO -> en_150 + 569, 85, // en_RW -> en_001 + 575, 85, // en_SB -> en_001 + 581, 85, // en_SC -> en_001 + 587, 85, // en_SD -> en_001 + 593, 92, // en_SE -> en_150 + 599, 85, // en_SG -> en_001 + 605, 85, // en_SH -> en_001 + 611, 92, // en_SI -> en_150 + 617, 92, // en_SK -> en_150 + 623, 85, // en_SL -> en_001 + 629, 85, // en_SS -> en_001 + 635, 85, // en_SX -> en_001 + 641, 85, // en_SZ -> en_001 + 647, 1146, // en_Shaw -> root + 655, 85, // en_TC -> en_001 + 661, 85, // en_TK -> en_001 + 667, 85, // en_TO -> en_001 + 673, 85, // en_TT -> en_001 + 679, 85, // en_TV -> en_001 + 685, 85, // en_TZ -> en_001 + 691, 85, // en_UG -> en_001 + 697, 85, // en_VC -> en_001 + 703, 85, // en_VG -> en_001 + 709, 85, // en_VU -> en_001 + 715, 85, // en_WS -> en_001 + 721, 85, // en_ZA -> en_001 + 727, 85, // en_ZM -> en_001 + 733, 85, // en_ZW -> en_001 + 746, 739, // es_AR -> es_419 + 752, 739, // es_BO -> es_419 + 758, 739, // es_BR -> es_419 + 764, 739, // es_BZ -> es_419 + 770, 739, // es_CL -> es_419 + 776, 739, // es_CO -> es_419 + 782, 739, // es_CR -> es_419 + 788, 739, // es_CU -> es_419 + 794, 739, // es_DO -> es_419 + 800, 739, // es_EC -> es_419 + 806, 739, // es_GT -> es_419 + 812, 739, // es_HN -> es_419 + 818, 739, // es_JP -> es_419 + 824, 739, // es_MX -> es_419 + 830, 739, // es_NI -> es_419 + 836, 739, // es_PA -> es_419 + 842, 739, // es_PE -> es_419 + 848, 739, // es_PR -> es_419 + 854, 739, // es_PY -> es_419 + 860, 739, // es_SV -> es_419 + 866, 739, // es_US -> es_419 + 872, 739, // es_UY -> es_419 + 878, 739, // es_VE -> es_419 + 884, 1146, // ff_Adlm -> root + 892, 1146, // ff_Arab -> root + 906, 1146, // ha_Arab -> root + 914, 359, // hi_Latn -> en_IN + 922, 900, // ht -> fr_HT + 925, 1146, // iu_Latn -> root + 933, 1146, // kaa_Latn -> root + 942, 1146, // kk_Arab -> root + 950, 1146, // kok_Latn -> root + 959, 1146, // ks_Deva -> root + 967, 1146, // ku_Arab -> root + 975, 1146, // kxv_Deva -> root + 984, 1146, // kxv_Orya -> root + 993, 1146, // kxv_Telu -> root + 1002, 1146, // ky_Arab -> root + 1010, 1146, // ky_Latn -> root + 1018, 1146, // ml_Arab -> root + 1026, 1146, // mn_Mong -> root + 1034, 1146, // mni_Mtei -> root + 1043, 1146, // ms_Arab -> root + 1051, 1057, // nb -> no + 1054, 1057, // nn -> no + 1060, 1057, // no_NO -> no + 1066, 1146, // pa_Arab -> root + 1074, 1128, // pt_AO -> pt_PT + 1080, 1128, // pt_CH -> pt_PT + 1086, 1128, // pt_CV -> pt_PT + 1092, 1128, // pt_FR -> pt_PT + 1098, 1128, // pt_GQ -> pt_PT + 1104, 1128, // pt_GW -> pt_PT + 1110, 1128, // pt_LU -> pt_PT + 1116, 1128, // pt_MO -> pt_PT + 1122, 1128, // pt_MZ -> pt_PT + 1134, 1128, // pt_ST -> pt_PT + 1140, 1128, // pt_TL -> pt_PT + 1151, 1146, // sat_Deva -> root + 1160, 1146, // sd_Deva -> root + 1168, 1146, // sd_Khoj -> root + 1176, 1146, // sd_Sind -> root + 1184, 1146, // shi_Latn -> root + 1193, 1146, // so_Arab -> root + 1201, 1146, // sr_Latn -> root + 1209, 1146, // sw_Arab -> root + 1217, 1146, // tg_Arab -> root + 1225, 1146, // ug_Cyrl -> root + 1233, 1146, // uz_Arab -> root + 1241, 1146, // uz_Cyrl -> root + 1249, 1146, // vai_Latn -> root + 1258, 1146, // wo_Arab -> root + 1266, 1146, // yo_Arab -> root + 1274, 1146, // yue_Hans -> root + 1283, 1146, // zh_Hant -> root + 1302, 1291, // zh_Hant_MO -> zh_Hant_HK }; diff --git a/thirdparty/icu4c/common/locbased.cpp b/thirdparty/icu4c/common/locbased.cpp index 832bc3e88b..6f35e72210 100644 --- a/thirdparty/icu4c/common/locbased.cpp +++ b/thirdparty/icu4c/common/locbased.cpp @@ -12,44 +12,84 @@ */ #include "locbased.h" #include "cstring.h" +#include "charstr.h" U_NAMESPACE_BEGIN -Locale LocaleBased::getLocale(ULocDataLocaleType type, UErrorCode& status) const { - const char* id = getLocaleID(type, status); +Locale LocaleBased::getLocale(const CharString* valid, const CharString* actual, + ULocDataLocaleType type, UErrorCode& status) { + const char* id = getLocaleID(valid, actual, type, status); return Locale(id != nullptr ? id : ""); } -const char* LocaleBased::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const { +const char* LocaleBased::getLocaleID(const CharString* valid, const CharString* actual, + ULocDataLocaleType type, UErrorCode& status) { if (U_FAILURE(status)) { return nullptr; } switch(type) { case ULOC_VALID_LOCALE: - return valid; + return valid == nullptr ? "" : valid->data(); case ULOC_ACTUAL_LOCALE: - return actual; + return actual == nullptr ? "" : actual->data(); default: status = U_ILLEGAL_ARGUMENT_ERROR; return nullptr; } } -void LocaleBased::setLocaleIDs(const char* validID, const char* actualID) { - if (validID != nullptr) { - uprv_strncpy(valid, validID, ULOC_FULLNAME_CAPACITY); - valid[ULOC_FULLNAME_CAPACITY-1] = 0; // always terminate - } - if (actualID != nullptr) { - uprv_strncpy(actual, actualID, ULOC_FULLNAME_CAPACITY); - actual[ULOC_FULLNAME_CAPACITY-1] = 0; // always terminate +void LocaleBased::setLocaleIDs(const CharString* validID, const CharString* actualID, UErrorCode& status) { + setValidLocaleID(validID, status); + setActualLocaleID(actualID,status); +} +void LocaleBased::setLocaleIDs(const char* validID, const char* actualID, UErrorCode& status) { + setValidLocaleID(validID, status); + setActualLocaleID(actualID,status); +} + +void LocaleBased::setLocaleID(const char* id, CharString*& dest, UErrorCode& status) { + if (U_FAILURE(status)) { return; } + if (id == nullptr || *id == 0) { + delete dest; + dest = nullptr; + } else { + if (dest == nullptr) { + dest = new CharString(id, status); + if (dest == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return; + } + } else { + dest->copyFrom(id, status); + } } } -void LocaleBased::setLocaleIDs(const Locale& validID, const Locale& actualID) { - uprv_strcpy(valid, validID.getName()); - uprv_strcpy(actual, actualID.getName()); +void LocaleBased::setLocaleID(const CharString* id, CharString*& dest, UErrorCode& status) { + if (U_FAILURE(status)) { return; } + if (id == nullptr || id->isEmpty()) { + delete dest; + dest = nullptr; + } else { + if (dest == nullptr) { + dest = new CharString(*id, status); + if (dest == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return; + } + } else { + dest->copyFrom(*id, status); + } + } +} + +bool LocaleBased::equalIDs(const CharString* left, const CharString* right) { + // true if both are nullptr + if (left == nullptr && right == nullptr) return true; + // false if only one is nullptr + if (left == nullptr || right == nullptr) return false; + return *left == *right; } U_NAMESPACE_END diff --git a/thirdparty/icu4c/common/locbased.h b/thirdparty/icu4c/common/locbased.h index 2d260b5278..9441eb8231 100644 --- a/thirdparty/icu4c/common/locbased.h +++ b/thirdparty/icu4c/common/locbased.h @@ -19,13 +19,14 @@ /** * Macro to declare a locale LocaleBased wrapper object for the given * object, which must have two members named `validLocale' and - * `actualLocale' of size ULOC_FULLNAME_CAPACITY + * `actualLocale' of which are pointers to the internal icu::CharString. */ #define U_LOCALE_BASED(varname, objname) \ LocaleBased varname((objname).validLocale, (objname).actualLocale) U_NAMESPACE_BEGIN +class CharString; /** * A utility class that unifies the implementation of getLocale() by * various ICU services. This class is likely to be removed in the @@ -41,33 +42,35 @@ class U_COMMON_API LocaleBased : public UMemory { * Construct a LocaleBased wrapper around the two pointers. These * will be aliased for the lifetime of this object. */ - inline LocaleBased(char* validAlias, char* actualAlias); - - /** - * Construct a LocaleBased wrapper around the two const pointers. - * These will be aliased for the lifetime of this object. - */ - inline LocaleBased(const char* validAlias, const char* actualAlias); + inline LocaleBased(CharString*& validAlias, CharString*& actualAlias); /** * Return locale meta-data for the service object wrapped by this * object. Either the valid or the actual locale may be * retrieved. + * @param valid The valid locale. + * @param actual The actual locale. * @param type either ULOC_VALID_LOCALE or ULOC_ACTUAL_LOCALE * @param status input-output error code * @return the indicated locale */ - Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const; + static Locale getLocale( + const CharString* valid, const CharString* actual, + ULocDataLocaleType type, UErrorCode& status); /** * Return the locale ID for the service object wrapped by this * object. Either the valid or the actual locale may be * retrieved. + * @param valid The valid locale. + * @param actual The actual locale. * @param type either ULOC_VALID_LOCALE or ULOC_ACTUAL_LOCALE * @param status input-output error code * @return the indicated locale ID */ - const char* getLocaleID(ULocDataLocaleType type, UErrorCode& status) const; + static const char* getLocaleID( + const CharString* valid, const CharString* actual, + ULocDataLocaleType type, UErrorCode& status); /** * Set the locale meta-data for the service object wrapped by this @@ -75,31 +78,40 @@ class U_COMMON_API LocaleBased : public UMemory { * @param valid the ID of the valid locale * @param actual the ID of the actual locale */ - void setLocaleIDs(const char* valid, const char* actual); + void setLocaleIDs(const char* valid, const char* actual, UErrorCode& status); + void setLocaleIDs(const CharString* valid, const CharString* actual, UErrorCode& status); - /** - * Set the locale meta-data for the service object wrapped by this - * object. - * @param valid the ID of the valid locale - * @param actual the ID of the actual locale - */ - void setLocaleIDs(const Locale& valid, const Locale& actual); + static void setLocaleID(const char* id, CharString*& dest, UErrorCode& status); + static void setLocaleID(const CharString* id, CharString*& dest, UErrorCode& status); + + static bool equalIDs(const CharString* left, const CharString* right); private: - char* valid; - - char* actual; + void setValidLocaleID(const CharString* id, UErrorCode& status); + void setActualLocaleID(const CharString* id, UErrorCode& status); + void setValidLocaleID(const char* id, UErrorCode& status); + void setActualLocaleID(const char* id, UErrorCode& status); + + CharString*& valid; + CharString*& actual; }; -inline LocaleBased::LocaleBased(char* validAlias, char* actualAlias) : +inline LocaleBased::LocaleBased(CharString*& validAlias, CharString*& actualAlias) : valid(validAlias), actual(actualAlias) { } -inline LocaleBased::LocaleBased(const char* validAlias, - const char* actualAlias) : - // ugh: cast away const - valid(const_cast(validAlias)), actual(const_cast(actualAlias)) { +inline void LocaleBased::setValidLocaleID(const CharString* id, UErrorCode& status) { + setLocaleID(id, valid, status); +} +inline void LocaleBased::setActualLocaleID(const CharString* id, UErrorCode& status) { + setLocaleID(id, actual, status); +} +inline void LocaleBased::setValidLocaleID(const char* id, UErrorCode& status) { + setLocaleID(id, valid, status); +} +inline void LocaleBased::setActualLocaleID(const char* id, UErrorCode& status) { + setLocaleID(id, actual, status); } U_NAMESPACE_END diff --git a/thirdparty/icu4c/common/locdispnames.cpp b/thirdparty/icu4c/common/locdispnames.cpp index ddf7687a2b..d3521e879b 100644 --- a/thirdparty/icu4c/common/locdispnames.cpp +++ b/thirdparty/icu4c/common/locdispnames.cpp @@ -19,6 +19,8 @@ * that then do not depend on resource bundle code and display name data. */ +#include + #include "unicode/utypes.h" #include "unicode/brkiter.h" #include "unicode/locid.h" @@ -359,7 +361,7 @@ _getStringOrCopyKey(const char *path, const char *locale, return u_terminateUChars(dest, destCapacity, length, &errorCode); } -using UDisplayNameGetter = icu::CharString(const char*, UErrorCode&); +using UDisplayNameGetter = icu::CharString(std::string_view, UErrorCode&); int32_t _getDisplayNameForComponent(const char *locale, @@ -377,6 +379,10 @@ _getDisplayNameForComponent(const char *locale, return 0; } + if (locale == nullptr) { + locale = uloc_getDefault(); + } + localStatus = U_ZERO_ERROR; icu::CharString localeBuffer = (*getter)(locale, localStatus); if (U_FAILURE(localStatus)) { diff --git a/thirdparty/icu4c/common/locid.cpp b/thirdparty/icu4c/common/locid.cpp index 4a73f55920..e7e86079ae 100644 --- a/thirdparty/icu4c/common/locid.cpp +++ b/thirdparty/icu4c/common/locid.cpp @@ -1828,8 +1828,13 @@ ulocimp_isCanonicalizedLocaleForTest(const char* localeName) U_NAMESPACE_BEGIN -/*This function initializes a Locale from a C locale ID*/ Locale& Locale::init(const char* localeID, UBool canonicalize) +{ + return localeID == nullptr ? *this = getDefault() : init(StringPiece{localeID}, canonicalize); +} + +/*This function initializes a Locale from a C locale ID*/ +Locale& Locale::init(StringPiece localeID, UBool canonicalize) { fIsBogus = false; /* Free our current storage */ @@ -1854,19 +1859,28 @@ Locale& Locale::init(const char* localeID, UBool canonicalize) int32_t length; UErrorCode err; - if(localeID == nullptr) { - // not an error, just set the default locale - return *this = getDefault(); - } - /* preset all fields to empty */ language[0] = script[0] = country[0] = 0; + const auto parse = [canonicalize](std::string_view localeID, + char* name, + int32_t nameCapacity, + UErrorCode& status) { + return ByteSinkUtil::viaByteSinkToTerminatedChars( + name, nameCapacity, + [&](ByteSink& sink, UErrorCode& status) { + if (canonicalize) { + ulocimp_canonicalize(localeID, sink, status); + } else { + ulocimp_getName(localeID, sink, status); + } + }, + status); + }; + // "canonicalize" the locale ID to ICU/Java format err = U_ZERO_ERROR; - length = canonicalize ? - uloc_canonicalize(localeID, fullName, sizeof(fullNameBuffer), &err) : - uloc_getName(localeID, fullName, sizeof(fullNameBuffer), &err); + length = parse(localeID, fullName, sizeof fullNameBuffer, err); if (err == U_BUFFER_OVERFLOW_ERROR || length >= static_cast(sizeof(fullNameBuffer))) { U_ASSERT(baseName == nullptr); @@ -1877,9 +1891,7 @@ Locale& Locale::init(const char* localeID, UBool canonicalize) } fullName = newFullName; err = U_ZERO_ERROR; - length = canonicalize ? - uloc_canonicalize(localeID, fullName, length+1, &err) : - uloc_getName(localeID, fullName, length+1, &err); + length = parse(localeID, fullName, length + 1, err); } if(U_FAILURE(err) || err == U_STRING_NOT_TERMINATED_WARNING) { /* should never occur */ @@ -2200,6 +2212,13 @@ Locale::createFromName (const char *name) } } +Locale U_EXPORT2 +Locale::createFromName(StringPiece name) { + Locale loc(""); + loc.init(name, false); + return loc; +} + Locale U_EXPORT2 Locale::createCanonical(const char* name) { Locale loc(""); diff --git a/thirdparty/icu4c/common/loclikely.cpp b/thirdparty/icu4c/common/loclikely.cpp index ccbcbfa7a5..f87fd8dd61 100644 --- a/thirdparty/icu4c/common/loclikely.cpp +++ b/thirdparty/icu4c/common/loclikely.cpp @@ -300,6 +300,9 @@ ulocimp_addLikelySubtags(const char* localeID, icu::ByteSink& sink, UErrorCode& status) { if (U_FAILURE(status)) { return; } + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } icu::CharString localeBuffer = ulocimp_canonicalize(localeID, status); _uloc_addLikelySubtags(localeBuffer.data(), sink, status); } @@ -334,6 +337,9 @@ ulocimp_minimizeSubtags(const char* localeID, bool favorScript, UErrorCode& status) { if (U_FAILURE(status)) { return; } + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } icu::CharString localeBuffer = ulocimp_canonicalize(localeID, status); _uloc_minimizeSubtags(localeBuffer.data(), sink, favorScript, status); } @@ -349,7 +355,9 @@ uloc_isRightToLeft(const char *locale) { UErrorCode errorCode = U_ZERO_ERROR; icu::CharString lang; icu::CharString script; - ulocimp_getSubtags(locale, &lang, &script, nullptr, nullptr, nullptr, errorCode); + ulocimp_getSubtags( + locale == nullptr ? uloc_getDefault() : locale, + &lang, &script, nullptr, nullptr, nullptr, errorCode); if (U_FAILURE(errorCode) || script.isEmpty()) { // Fastpath: We know the likely scripts and their writing direction // for some common languages. @@ -369,7 +377,7 @@ uloc_isRightToLeft(const char *locale) { if (U_FAILURE(errorCode)) { return false; } - ulocimp_getSubtags(likely.data(), nullptr, &script, nullptr, nullptr, nullptr, errorCode); + ulocimp_getSubtags(likely.toStringPiece(), nullptr, &script, nullptr, nullptr, nullptr, errorCode); if (U_FAILURE(errorCode) || script.isEmpty()) { return false; } @@ -430,7 +438,7 @@ ulocimp_getRegionForSupplementalData(const char *localeID, bool inferRegion, icu::CharString rgBuf = GetRegionFromKey(localeID, "rg", status); if (U_SUCCESS(status) && rgBuf.isEmpty()) { // No valid rg keyword value, try for unicode_region_subtag - rgBuf = ulocimp_getRegion(localeID, status); + rgBuf = ulocimp_getRegion(localeID == nullptr ? uloc_getDefault() : localeID, status); if (U_SUCCESS(status) && rgBuf.isEmpty() && inferRegion) { // Second check for sd keyword value rgBuf = GetRegionFromKey(localeID, "sd", status); @@ -439,7 +447,7 @@ ulocimp_getRegionForSupplementalData(const char *localeID, bool inferRegion, UErrorCode rgStatus = U_ZERO_ERROR; icu::CharString locBuf = ulocimp_addLikelySubtags(localeID, rgStatus); if (U_SUCCESS(rgStatus)) { - rgBuf = ulocimp_getRegion(locBuf.data(), status); + rgBuf = ulocimp_getRegion(locBuf.toStringPiece(), status); } } } diff --git a/thirdparty/icu4c/common/loclikelysubtags.cpp b/thirdparty/icu4c/common/loclikelysubtags.cpp index 7c6131197d..7245a77981 100644 --- a/thirdparty/icu4c/common/loclikelysubtags.cpp +++ b/thirdparty/icu4c/common/loclikelysubtags.cpp @@ -527,7 +527,7 @@ LSR LikelySubtags::makeMaximizedLsrFrom(const Locale &locale, return {}; } const char *name = locale.getName(); - if (uprv_isAtSign(name[0]) && name[1] == 'x' && name[2] == '=') { // name.startsWith("@x=") + if (!returnInputIfUnmatch && uprv_isAtSign(name[0]) && name[1] == 'x' && name[2] == '=') { // name.startsWith("@x=") // Private use language tag x-subtag-subtag... which CLDR changes to // und-x-subtag-subtag... return LSR(name, "", "", LSR::EXPLICIT_LSR); diff --git a/thirdparty/icu4c/common/locresdata.cpp b/thirdparty/icu4c/common/locresdata.cpp index 725e660915..ba7163fa2d 100644 --- a/thirdparty/icu4c/common/locresdata.cpp +++ b/thirdparty/icu4c/common/locresdata.cpp @@ -161,6 +161,9 @@ _uloc_getOrientationHelper(const char* localeId, if (U_FAILURE(status)) { return result; } + if (localeId == nullptr) { + localeId = uloc_getDefault(); + } icu::CharString localeBuffer = ulocimp_canonicalize(localeId, status); if (U_FAILURE(status)) { return result; } diff --git a/thirdparty/icu4c/common/punycode.cpp b/thirdparty/icu4c/common/punycode.cpp index aa02298c5e..1868a07a85 100644 --- a/thirdparty/icu4c/common/punycode.cpp +++ b/thirdparty/icu4c/common/punycode.cpp @@ -193,7 +193,7 @@ u_strToPunycode(const char16_t *src, int32_t srcLength, return 0; } - if(src==nullptr || srcLength<-1 || (dest==nullptr && destCapacity!=0)) { + if(src==nullptr || srcLength<-1 || destCapacity<0 || (dest==nullptr && destCapacity!=0)) { *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR; return 0; } diff --git a/thirdparty/icu4c/common/putil.cpp b/thirdparty/icu4c/common/putil.cpp index 4cf07797ba..ea15fdff0b 100644 --- a/thirdparty/icu4c/common/putil.cpp +++ b/thirdparty/icu4c/common/putil.cpp @@ -76,7 +76,7 @@ #include #ifndef U_COMMON_IMPLEMENTATION -#error U_COMMON_IMPLEMENTATION not set - must be set for all ICU source files in common/ - see https://unicode-org.github.io/icu/userguide/howtouseicu +#error U_COMMON_IMPLEMENTATION not set - must be set for all ICU source files in common/ - see https://unicode-org.github.io/icu/userguide/icu/howtouseicu.html #endif diff --git a/thirdparty/icu4c/common/rbbinode.cpp b/thirdparty/icu4c/common/rbbinode.cpp index 71407b9e68..849ee7180a 100644 --- a/thirdparty/icu4c/common/rbbinode.cpp +++ b/thirdparty/icu4c/common/rbbinode.cpp @@ -47,7 +47,10 @@ static int gLastSerial = 0; // Constructor. Just set the fields to reasonable default values. // //------------------------------------------------------------------------- -RBBINode::RBBINode(NodeType t) : UMemory() { +RBBINode::RBBINode(NodeType t, UErrorCode& status) : UMemory() { + if (U_FAILURE(status)) { + return; + } #ifdef RBBI_DEBUG fSerialNum = ++gLastSerial; #endif @@ -65,10 +68,13 @@ RBBINode::RBBINode(NodeType t) : UMemory() { fVal = 0; fPrecedence = precZero; - UErrorCode status = U_ZERO_ERROR; - fFirstPosSet = new UVector(status); // TODO - get a real status from somewhere + fFirstPosSet = new UVector(status); fLastPosSet = new UVector(status); fFollowPos = new UVector(status); + if (U_SUCCESS(status) && + (fFirstPosSet == nullptr || fLastPosSet == nullptr || fFollowPos == nullptr)) { + status = U_MEMORY_ALLOCATION_ERROR; + } if (t==opCat) {fPrecedence = precOpCat;} else if (t==opOr) {fPrecedence = precOpOr;} else if (t==opStart) {fPrecedence = precStart;} @@ -77,7 +83,10 @@ RBBINode::RBBINode(NodeType t) : UMemory() { } -RBBINode::RBBINode(const RBBINode &other) : UMemory(other) { +RBBINode::RBBINode(const RBBINode &other, UErrorCode& status) : UMemory(other) { + if (U_FAILURE(status)) { + return; + } #ifdef RBBI_DEBUG fSerialNum = ++gLastSerial; #endif @@ -94,10 +103,13 @@ RBBINode::RBBINode(const RBBINode &other) : UMemory(other) { fVal = other.fVal; fRuleRoot = false; fChainIn = other.fChainIn; - UErrorCode status = U_ZERO_ERROR; fFirstPosSet = new UVector(status); // TODO - get a real status from somewhere fLastPosSet = new UVector(status); fFollowPos = new UVector(status); + if (U_SUCCESS(status) && + (fFirstPosSet == nullptr || fLastPosSet == nullptr || fFollowPos == nullptr)) { + status = U_MEMORY_ALLOCATION_ERROR; + } } @@ -193,27 +205,54 @@ void RBBINode::NRDeleteNode(RBBINode *node) { // references in preparation for generating the DFA tables. // //------------------------------------------------------------------------- -RBBINode *RBBINode::cloneTree() { +constexpr int kRecursiveDepthLimit = 3500; +RBBINode *RBBINode::cloneTree(UErrorCode &status, int depth) { + if (U_FAILURE(status)) { + return nullptr; + } + // If the depth of the stack is too deep, we return U_INPUT_TOO_LONG_ERROR + // to avoid stack overflow crash. + if (depth > kRecursiveDepthLimit) { + status = U_INPUT_TOO_LONG_ERROR; + return nullptr; + } RBBINode *n; if (fType == RBBINode::varRef) { // If the current node is a variable reference, skip over it // and clone the definition of the variable instead. - n = fLeftChild->cloneTree(); + n = fLeftChild->cloneTree(status, depth+1); + if (U_FAILURE(status)) { + return nullptr; + } } else if (fType == RBBINode::uset) { n = this; } else { - n = new RBBINode(*this); + n = new RBBINode(*this, status); + if (U_FAILURE(status)) { + delete n; + return nullptr; + } // Check for null pointer. - if (n != nullptr) { - if (fLeftChild != nullptr) { - n->fLeftChild = fLeftChild->cloneTree(); - n->fLeftChild->fParent = n; + if (n == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + return nullptr; + } + if (fLeftChild != nullptr) { + n->fLeftChild = fLeftChild->cloneTree(status, depth+1); + if (U_FAILURE(status)) { + delete n; + return nullptr; } - if (fRightChild != nullptr) { - n->fRightChild = fRightChild->cloneTree(); - n->fRightChild->fParent = n; + n->fLeftChild->fParent = n; + } + if (fRightChild != nullptr) { + n->fRightChild = fRightChild->cloneTree(status, depth+1); + if (U_FAILURE(status)) { + delete n; + return nullptr; } + n->fRightChild->fParent = n; } } return n; @@ -239,7 +278,6 @@ RBBINode *RBBINode::cloneTree() { // nested references are handled by cloneTree(), not here. // //------------------------------------------------------------------------- -constexpr int kRecursiveDepthLimit = 3500; RBBINode *RBBINode::flattenVariables(UErrorCode& status, int depth) { if (U_FAILURE(status)) { return this; @@ -251,21 +289,34 @@ RBBINode *RBBINode::flattenVariables(UErrorCode& status, int depth) { return this; } if (fType == varRef) { - RBBINode *retNode = fLeftChild->cloneTree(); - if (retNode != nullptr) { - retNode->fRuleRoot = this->fRuleRoot; - retNode->fChainIn = this->fChainIn; + RBBINode *retNode = fLeftChild->cloneTree(status, depth+1); + if (U_FAILURE(status)) { + return this; } + retNode->fRuleRoot = this->fRuleRoot; + retNode->fChainIn = this->fChainIn; delete this; // TODO: undefined behavior. Fix. return retNode; } if (fLeftChild != nullptr) { fLeftChild = fLeftChild->flattenVariables(status, depth+1); + if (fLeftChild == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(status)) { + return this; + } fLeftChild->fParent = this; } if (fRightChild != nullptr) { fRightChild = fRightChild->flattenVariables(status, depth+1); + if (fRightChild == nullptr) { + status = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(status)) { + return this; + } fRightChild->fParent = this; } return this; @@ -280,7 +331,16 @@ RBBINode *RBBINode::flattenVariables(UErrorCode& status, int depth) { // the left child of the uset node. // //------------------------------------------------------------------------- -void RBBINode::flattenSets() { +void RBBINode::flattenSets(UErrorCode &status, int depth) { + if (U_FAILURE(status)) { + return; + } + // If the depth of the stack is too deep, we return U_INPUT_TOO_LONG_ERROR + // to avoid stack overflow crash. + if (depth > kRecursiveDepthLimit) { + status = U_INPUT_TOO_LONG_ERROR; + return; + } U_ASSERT(fType != setRef); if (fLeftChild != nullptr) { @@ -288,11 +348,15 @@ void RBBINode::flattenSets() { RBBINode *setRefNode = fLeftChild; RBBINode *usetNode = setRefNode->fLeftChild; RBBINode *replTree = usetNode->fLeftChild; - fLeftChild = replTree->cloneTree(); + fLeftChild = replTree->cloneTree(status, depth+1); + if (U_FAILURE(status)) { + delete setRefNode; + return; + } fLeftChild->fParent = this; delete setRefNode; } else { - fLeftChild->flattenSets(); + fLeftChild->flattenSets(status, depth+1); } } @@ -301,11 +365,15 @@ void RBBINode::flattenSets() { RBBINode *setRefNode = fRightChild; RBBINode *usetNode = setRefNode->fLeftChild; RBBINode *replTree = usetNode->fLeftChild; - fRightChild = replTree->cloneTree(); + fRightChild = replTree->cloneTree(status, depth+1); + if (U_FAILURE(status)) { + delete setRefNode; + return; + } fRightChild->fParent = this; delete setRefNode; } else { - fRightChild->flattenSets(); + fRightChild->flattenSets(status, depth+1); } } } diff --git a/thirdparty/icu4c/common/rbbinode.h b/thirdparty/icu4c/common/rbbinode.h index 497a31b8d0..8fbc9d1b58 100644 --- a/thirdparty/icu4c/common/rbbinode.h +++ b/thirdparty/icu4c/common/rbbinode.h @@ -91,14 +91,14 @@ class RBBINode : public UMemory { UVector *fFollowPos; - RBBINode(NodeType t); - RBBINode(const RBBINode &other); + RBBINode(NodeType t, UErrorCode& status); + RBBINode(const RBBINode &other, UErrorCode& status); ~RBBINode(); static void NRDeleteNode(RBBINode *node); - RBBINode *cloneTree(); + RBBINode *cloneTree(UErrorCode &status, int depth=0); RBBINode *flattenVariables(UErrorCode &status, int depth=0); - void flattenSets(); + void flattenSets(UErrorCode &status, int depth=0); void findNodes(UVector *dest, RBBINode::NodeType kind, UErrorCode &status); #ifdef RBBI_DEBUG diff --git a/thirdparty/icu4c/common/rbbiscan.cpp b/thirdparty/icu4c/common/rbbiscan.cpp index cf2d63cd80..77fc3bcd9b 100644 --- a/thirdparty/icu4c/common/rbbiscan.cpp +++ b/thirdparty/icu4c/common/rbbiscan.cpp @@ -767,15 +767,24 @@ void RBBIRuleScanner::findSetFor(const UnicodeString &s, RBBINode *node, Unicode c = s.char32At(0); setToAdopt = new UnicodeSet(c, c); } + if (setToAdopt == nullptr) { + error(U_MEMORY_ALLOCATION_ERROR); + return; + } } // // Make a new uset node to refer to this UnicodeSet // This new uset node becomes the child of the caller's setReference node. // - RBBINode *usetNode = new RBBINode(RBBINode::uset); + UErrorCode localStatus = U_ZERO_ERROR; + RBBINode *usetNode = new RBBINode(RBBINode::uset, localStatus); if (usetNode == nullptr) { - error(U_MEMORY_ALLOCATION_ERROR); + localStatus = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(localStatus)) { + delete usetNode; + error(localStatus); delete setToAdopt; return; } @@ -1191,7 +1200,7 @@ RBBINode *RBBIRuleScanner::pushNewNode(RBBINode::NodeType t) { return nullptr; } fNodeStackPtr++; - fNodeStack[fNodeStackPtr] = new RBBINode(t); + fNodeStack[fNodeStackPtr] = new RBBINode(t, *fRB->fStatus); if (fNodeStack[fNodeStackPtr] == nullptr) { *fRB->fStatus = U_MEMORY_ALLOCATION_ERROR; } diff --git a/thirdparty/icu4c/common/rbbisetb.cpp b/thirdparty/icu4c/common/rbbisetb.cpp index 6c22cf470f..df94fc8bc4 100644 --- a/thirdparty/icu4c/common/rbbisetb.cpp +++ b/thirdparty/icu4c/common/rbbisetb.cpp @@ -375,7 +375,11 @@ void RBBISetBuilder::addValToSets(UVector *sets, uint32_t val) { } void RBBISetBuilder::addValToSet(RBBINode *usetNode, uint32_t val) { - RBBINode *leafNode = new RBBINode(RBBINode::leafChar); + RBBINode *leafNode = new RBBINode(RBBINode::leafChar, *fStatus); + if (U_FAILURE(*fStatus)) { + delete leafNode; + return; + } if (leafNode == nullptr) { *fStatus = U_MEMORY_ALLOCATION_ERROR; return; @@ -388,9 +392,13 @@ void RBBISetBuilder::addValToSet(RBBINode *usetNode, uint32_t val) { // There are already input symbols present for this set. // Set up an OR node, with the previous stuff as the left child // and the new value as the right child. - RBBINode *orNode = new RBBINode(RBBINode::opOr); + RBBINode *orNode = new RBBINode(RBBINode::opOr, *fStatus); if (orNode == nullptr) { *fStatus = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(*fStatus)) { + delete orNode; + delete leafNode; return; } orNode->fLeftChild = usetNode->fLeftChild; diff --git a/thirdparty/icu4c/common/rbbitblb.cpp b/thirdparty/icu4c/common/rbbitblb.cpp index 4d95137601..b89909807c 100644 --- a/thirdparty/icu4c/common/rbbitblb.cpp +++ b/thirdparty/icu4c/common/rbbitblb.cpp @@ -99,13 +99,22 @@ void RBBITableBuilder::buildForwardTable() { // {bof} fake character. // if (fRB->fSetBuilder->sawBOF()) { - RBBINode *bofTop = new RBBINode(RBBINode::opCat); - RBBINode *bofLeaf = new RBBINode(RBBINode::leafChar); - // Delete and exit if memory allocation failed. - if (bofTop == nullptr || bofLeaf == nullptr) { + RBBINode *bofTop = new RBBINode(RBBINode::opCat, *fStatus); + if (bofTop == nullptr) { *fStatus = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(*fStatus)) { delete bofTop; + return; + } + RBBINode *bofLeaf = new RBBINode(RBBINode::leafChar, *fStatus); + // Delete and exit if memory allocation failed. + if (bofLeaf == nullptr) { + *fStatus = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(*fStatus)) { delete bofLeaf; + delete bofTop; return; } bofTop->fLeftChild = bofLeaf; @@ -120,18 +129,23 @@ void RBBITableBuilder::buildForwardTable() { // Appears as a cat-node, left child being the original tree, // right child being the end marker. // - RBBINode *cn = new RBBINode(RBBINode::opCat); + RBBINode *cn = new RBBINode(RBBINode::opCat, *fStatus); // Exit if memory allocation failed. if (cn == nullptr) { *fStatus = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(*fStatus)) { + delete cn; return; } cn->fLeftChild = fTree; fTree->fParent = cn; - RBBINode *endMarkerNode = cn->fRightChild = new RBBINode(RBBINode::endMark); + RBBINode *endMarkerNode = cn->fRightChild = new RBBINode(RBBINode::endMark, *fStatus); // Delete and exit if memory allocation failed. if (cn->fRightChild == nullptr) { *fStatus = U_MEMORY_ALLOCATION_ERROR; + } + if (U_FAILURE(*fStatus)) { delete cn; return; } @@ -142,7 +156,7 @@ void RBBITableBuilder::buildForwardTable() { // Replace all references to UnicodeSets with the tree for the equivalent // expression. // - fTree->flattenSets(); + fTree->flattenSets(*fStatus, 0); #ifdef RBBI_DEBUG if (fRB->fDebugEnv && uprv_strstr(fRB->fDebugEnv, "stree")) { RBBIDebugPuts("\nParse tree after flattening Unicode Set references."); diff --git a/thirdparty/icu4c/common/resbund.cpp b/thirdparty/icu4c/common/resbund.cpp index 41337cdc15..4c14dae133 100644 --- a/thirdparty/icu4c/common/resbund.cpp +++ b/thirdparty/icu4c/common/resbund.cpp @@ -388,7 +388,7 @@ const Locale &ResourceBundle::getLocale() const { return ncThis->fLocale != nullptr ? *ncThis->fLocale : Locale::getDefault(); } -const Locale ResourceBundle::getLocale(ULocDataLocaleType type, UErrorCode &status) const +Locale ResourceBundle::getLocale(ULocDataLocaleType type, UErrorCode &status) const { return ures_getLocaleByType(fResource, type, &status); } diff --git a/thirdparty/icu4c/common/ucnvmbcs.cpp b/thirdparty/icu4c/common/ucnvmbcs.cpp index f5507043bf..d65c284746 100644 --- a/thirdparty/icu4c/common/ucnvmbcs.cpp +++ b/thirdparty/icu4c/common/ucnvmbcs.cpp @@ -3146,11 +3146,8 @@ ucnv_MBCSGetNextUChar(UConverterToUnicodeArgs *pArgs, if(c<0) { if(U_SUCCESS(*pErrorCode) && source==sourceLimit && lastSourcetoUBytes; cnv->toULength = static_cast(source - lastSource); - do { - *bytes++=*lastSource++; - } while(lastSourcetoUBytes, lastSource, cnv->toULength); *pErrorCode=U_TRUNCATED_CHAR_FOUND; } else if(U_FAILURE(*pErrorCode)) { /* callback(illegal) */ diff --git a/thirdparty/icu4c/common/ucurr.cpp b/thirdparty/icu4c/common/ucurr.cpp index b74a80a676..cccf1130ae 100644 --- a/thirdparty/icu4c/common/ucurr.cpp +++ b/thirdparty/icu4c/common/ucurr.cpp @@ -372,12 +372,8 @@ struct CReg : public icu::UMemory { CReg(const char16_t* _iso, const char* _id) : next(nullptr) { - int32_t len = static_cast(uprv_strlen(_id)); - if (len > static_cast(sizeof(id) - 1)) { - len = (sizeof(id)-1); - } - uprv_strncpy(id, _id, len); - id[len] = 0; + uprv_strncpy(id, _id, sizeof(id)-1); + id[sizeof(id)-1] = 0; u_memcpy(iso, _iso, ISO_CURRENCY_CODE_LENGTH); iso[ISO_CURRENCY_CODE_LENGTH] = 0; } @@ -682,6 +678,9 @@ ucurr_getName(const char16_t* currency, // this function. UErrorCode ec2 = U_ZERO_ERROR; + if (locale == nullptr) { + locale = uloc_getDefault(); + } CharString loc = ulocimp_getName(locale, ec2); if (U_FAILURE(ec2)) { *ec = U_ILLEGAL_ARGUMENT_ERROR; @@ -780,6 +779,9 @@ ucurr_getPluralName(const char16_t* currency, // this function. UErrorCode ec2 = U_ZERO_ERROR; + if (locale == nullptr) { + locale = uloc_getDefault(); + } CharString loc = ulocimp_getName(locale, ec2); if (U_FAILURE(ec2)) { *ec = U_ILLEGAL_ARGUMENT_ERROR; @@ -973,6 +975,9 @@ collectCurrencyNames(const char* locale, // Look up the Currencies resource for the given locale. UErrorCode ec2 = U_ZERO_ERROR; + if (locale == nullptr) { + locale = uloc_getDefault(); + } CharString loc = ulocimp_getName(locale, ec2); if (U_FAILURE(ec2)) { ec = U_ILLEGAL_ARGUMENT_ERROR; diff --git a/thirdparty/icu4c/common/uloc.cpp b/thirdparty/icu4c/common/uloc.cpp index 51887c97c3..bea4827a04 100644 --- a/thirdparty/icu4c/common/uloc.cpp +++ b/thirdparty/icu4c/common/uloc.cpp @@ -482,8 +482,8 @@ constexpr CanonicalizationMap CANONICALIZE_MAP[] = { /* ### BCP47 Conversion *******************************************/ /* Gets the size of the shortest subtag in the given localeID. */ -int32_t getShortestSubtagLength(const char *localeID) { - int32_t localeIDLength = static_cast(uprv_strlen(localeID)); +int32_t getShortestSubtagLength(std::string_view localeID) { + int32_t localeIDLength = static_cast(localeID.length()); int32_t length = localeIDLength; int32_t tmpLength = 0; int32_t i; @@ -507,8 +507,8 @@ int32_t getShortestSubtagLength(const char *localeID) { return length; } /* Test if the locale id has BCP47 u extension and does not have '@' */ -inline bool _hasBCP47Extension(const char *id) { - return id != nullptr && uprv_strstr(id, "@") == nullptr && getShortestSubtagLength(id) == 1; +inline bool _hasBCP47Extension(std::string_view id) { + return id.find('@') == std::string_view::npos && getShortestSubtagLength(id) == 1; } /* ### Keywords **************************************************/ @@ -523,10 +523,9 @@ inline bool UPRV_OK_VALUE_PUNCTUATION(char c) { return c == '_' || c == '-' || c #define ULOC_MAX_NO_KEYWORDS 25 U_CAPI const char * U_EXPORT2 -locale_getKeywordsStart(const char *localeID) { - const char *result = nullptr; - if((result = uprv_strchr(localeID, '@')) != nullptr) { - return result; +locale_getKeywordsStart(std::string_view localeID) { + if (size_t pos = localeID.find('@'); pos != std::string_view::npos) { + return localeID.data() + pos; } #if (U_CHARSET_FAMILY == U_EBCDIC_FAMILY) else { @@ -536,8 +535,8 @@ locale_getKeywordsStart(const char *localeID) { static const uint8_t ebcdicSigns[] = { 0x7C, 0x44, 0x66, 0x80, 0xAC, 0xAE, 0xAF, 0xB5, 0xEC, 0xEF, 0x00 }; const uint8_t *charToFind = ebcdicSigns; while(*charToFind) { - if((result = uprv_strchr(localeID, *charToFind)) != nullptr) { - return result; + if (size_t pos = localeID.find(*charToFind); pos != std::string_view::npos) { + return localeID.data() + pos; } charToFind++; } @@ -590,7 +589,7 @@ compareKeywordStructs(const void * /*context*/, const void *left, const void *ri } // namespace U_EXPORT CharString -ulocimp_getKeywords(const char* localeID, +ulocimp_getKeywords(std::string_view localeID, char prev, bool valuesToo, UErrorCode& status) @@ -607,7 +606,7 @@ ulocimp_getKeywords(const char* localeID, } U_EXPORT void -ulocimp_getKeywords(const char* localeID, +ulocimp_getKeywords(std::string_view localeID, char prev, ByteSink& sink, bool valuesToo, @@ -619,9 +618,8 @@ ulocimp_getKeywords(const char* localeID, int32_t maxKeywords = ULOC_MAX_NO_KEYWORDS; int32_t numKeywords = 0; - const char* pos = localeID; - const char* equalSign = nullptr; - const char* semicolon = nullptr; + size_t equalSign = std::string_view::npos; + size_t semicolon = std::string_view::npos; int32_t i = 0, j, n; if(prev == '@') { /* start of keyword definition */ @@ -629,74 +627,72 @@ ulocimp_getKeywords(const char* localeID, do { bool duplicate = false; /* skip leading spaces */ - while(*pos == ' ') { - pos++; + while (localeID.front() == ' ') { + localeID.remove_prefix(1); } - if (!*pos) { /* handle trailing "; " */ + if (localeID.empty()) { /* handle trailing "; " */ break; } if(numKeywords == maxKeywords) { status = U_INTERNAL_PROGRAM_ERROR; return; } - equalSign = uprv_strchr(pos, '='); - semicolon = uprv_strchr(pos, ';'); + equalSign = localeID.find('='); + semicolon = localeID.find(';'); /* lack of '=' [foo@currency] is illegal */ /* ';' before '=' [foo@currency;collation=pinyin] is illegal */ - if(!equalSign || (semicolon && semicolon= ULOC_KEYWORD_BUFFER_LEN) { + if (equalSign >= ULOC_KEYWORD_BUFFER_LEN) { /* keyword name too long for internal buffer */ status = U_INTERNAL_PROGRAM_ERROR; return; } - for(i = 0, n = 0; i < equalSign - pos; ++i) { - if (pos[i] != ' ') { - keywordList[numKeywords].keyword[n++] = uprv_tolower(pos[i]); + for (i = 0, n = 0; static_cast(i) < equalSign; ++i) { + if (localeID[i] != ' ') { + keywordList[numKeywords].keyword[n++] = uprv_tolower(localeID[i]); } } - /* zero-length keyword is an error. */ - if (n == 0) { - status = U_INVALID_FORMAT_ERROR; - return; - } - keywordList[numKeywords].keyword[n] = 0; keywordList[numKeywords].keywordLen = n; /* now grab the value part. First we skip the '=' */ equalSign++; /* then we leading spaces */ - while(*equalSign == ' ') { + while (equalSign < localeID.length() && localeID[equalSign] == ' ') { equalSign++; } /* Premature end or zero-length value */ - if (!*equalSign || equalSign == semicolon) { + if (equalSign == localeID.length() || equalSign == semicolon) { status = U_INVALID_FORMAT_ERROR; return; } - keywordList[numKeywords].valueStart = equalSign; + keywordList[numKeywords].valueStart = localeID.data() + equalSign; - pos = semicolon; - i = 0; - if(pos) { - while(*(pos - i - 1) == ' ') { - i++; - } - keywordList[numKeywords].valueLen = static_cast(pos - equalSign - i); - pos++; + std::string_view value = localeID; + if (semicolon != std::string_view::npos) { + value.remove_suffix(value.length() - semicolon); + localeID.remove_prefix(semicolon + 1); } else { - i = static_cast(uprv_strlen(equalSign)); - while(i && equalSign[i-1] == ' ') { - i--; - } - keywordList[numKeywords].valueLen = i; + localeID = {}; } + value.remove_prefix(equalSign); + if (size_t last = value.find_last_not_of(' '); last != std::string_view::npos) { + value.remove_suffix(value.length() - last - 1); + } + keywordList[numKeywords].valueLen = static_cast(value.length()); + /* If this is a duplicate keyword, then ignore it */ for (j=0; j(locale_getKeywordsStart(buffer)); + char* keywords = const_cast( + locale_getKeywordsStart({buffer, static_cast(bufLen)})); int32_t baseLen = keywords == nullptr ? bufLen : keywords - buffer; // Remove -1 from the capacity so that this function can guarantee NUL termination. CheckedArrayByteSink sink(keywords == nullptr ? buffer + bufLen : keywords, @@ -921,7 +918,7 @@ ulocimp_setKeywordValue(std::string_view keywordName, { if (U_FAILURE(status)) { return; } std::string_view keywords; - if (const char* start = locale_getKeywordsStart(localeID.data()); start != nullptr) { + if (const char* start = locale_getKeywordsStart(localeID.toStringPiece()); start != nullptr) { // This is safe because CharString::truncate() doesn't actually erase any // data, but simply sets the position for where new data will be written. int32_t size = start - localeID.data(); @@ -1138,15 +1135,18 @@ inline bool _isPrefixLetter(char a) { return a == 'x' || a == 'X' || a == 'i' || /*returns true if one of the special prefixes is here (s=string) 'x-' or 'i-' */ -inline bool _isIDPrefix(const char *s) { return _isPrefixLetter(s[0]) && _isIDSeparator(s[1]); } +inline bool _isIDPrefix(std::string_view s) { + return s.size() >= 2 && _isPrefixLetter(s[0]) && _isIDSeparator(s[1]); +} /* Dot terminates it because of POSIX form where dot precedes the codepage * except for variant */ -inline bool _isTerminator(char a) { return a == 0 || a == '.' || a == '@'; } +inline bool _isTerminator(char a) { return a == '.' || a == '@'; } -inline bool _isBCP47Extension(const char* p) { - return p[0] == '-' && +inline bool _isBCP47Extension(std::string_view p) { + return p.size() >= 3 && + p[0] == '-' && (p[1] == 't' || p[1] == 'T' || p[1] == 'u' || p[1] == 'U' || p[1] == 'x' || p[1] == 'X') && @@ -1202,49 +1202,44 @@ namespace { * TODO try to use this in Locale */ -void -_getLanguage(const char* localeID, - ByteSink* sink, - const char** pEnd, - UErrorCode& status) { - U_ASSERT(pEnd != nullptr); - *pEnd = localeID; - - if (uprv_stricmp(localeID, "root") == 0) { - localeID += 4; - } else if (uprv_strnicmp(localeID, "und", 3) == 0 && - (localeID[3] == '\0' || +size_t _getLanguage(std::string_view localeID, ByteSink* sink, UErrorCode& status) { + size_t skip = 0; + if (localeID.size() == 4 && uprv_strnicmp(localeID.data(), "root", 4) == 0) { + skip = 4; + localeID.remove_prefix(skip); + } else if (localeID.size() >= 3 && uprv_strnicmp(localeID.data(), "und", 3) == 0 && + (localeID.size() == 3 || localeID[3] == '-' || localeID[3] == '_' || localeID[3] == '@')) { - localeID += 3; + skip = 3; + localeID.remove_prefix(skip); } constexpr int32_t MAXLEN = ULOC_LANG_CAPACITY - 1; // Minus NUL. /* if it starts with i- or x- then copy that prefix */ - int32_t len = _isIDPrefix(localeID) ? 2 : 0; - while (!_isTerminator(localeID[len]) && !_isIDSeparator(localeID[len])) { + size_t len = _isIDPrefix(localeID) ? 2 : 0; + while (len < localeID.size() && !_isTerminator(localeID[len]) && !_isIDSeparator(localeID[len])) { if (len == MAXLEN) { status = U_ILLEGAL_ARGUMENT_ERROR; - return; + return 0; } len++; } - *pEnd = localeID + len; - if (sink == nullptr || len == 0) { return; } + if (sink == nullptr || len == 0) { return skip + len; } - int32_t minCapacity = uprv_max(len, 4); // Minimum 3 letters plus NUL. + int32_t minCapacity = uprv_max(static_cast(len), 4); // Minimum 3 letters plus NUL. char scratch[MAXLEN]; int32_t capacity = 0; char* buffer = sink->GetAppendBuffer( minCapacity, minCapacity, scratch, UPRV_LENGTHOF(scratch), &capacity); - for (int32_t i = 0; i < len; ++i) { + for (size_t i = 0; i < len; ++i) { buffer[i] = uprv_tolower(localeID[i]); } - if (_isIDSeparator(localeID[1])) { + if (localeID.size() >= 2 && _isIDSeparator(localeID[1])) { buffer[1] = '-'; } @@ -1256,32 +1251,26 @@ _getLanguage(const char* localeID, if (offset.has_value()) { const char* const alias = LANGUAGES[*offset]; sink->Append(alias, static_cast(uprv_strlen(alias))); - return; + return skip + len; } } - sink->Append(buffer, len); + sink->Append(buffer, static_cast(len)); + return skip + len; } -void -_getScript(const char* localeID, - ByteSink* sink, - const char** pEnd) { - U_ASSERT(pEnd != nullptr); - *pEnd = localeID; - +size_t _getScript(std::string_view localeID, ByteSink* sink) { constexpr int32_t LENGTH = 4; - int32_t len = 0; - while (!_isTerminator(localeID[len]) && !_isIDSeparator(localeID[len]) && + size_t len = 0; + while (len < localeID.size() && !_isTerminator(localeID[len]) && !_isIDSeparator(localeID[len]) && uprv_isASCIILetter(localeID[len])) { - if (len == LENGTH) { return; } + if (len == LENGTH) { return 0; } len++; } - if (len != LENGTH) { return; } + if (len != LENGTH) { return 0; } - *pEnd = localeID + LENGTH; - if (sink == nullptr) { return; } + if (sink == nullptr) { return len; } char scratch[LENGTH]; int32_t capacity = 0; @@ -1294,27 +1283,21 @@ _getScript(const char* localeID, } sink->Append(buffer, LENGTH); + return len; } -void -_getRegion(const char* localeID, - ByteSink* sink, - const char** pEnd) { - U_ASSERT(pEnd != nullptr); - *pEnd = localeID; - +size_t _getRegion(std::string_view localeID, ByteSink* sink) { constexpr int32_t MINLEN = 2; constexpr int32_t MAXLEN = ULOC_COUNTRY_CAPACITY - 1; // Minus NUL. - int32_t len = 0; - while (!_isTerminator(localeID[len]) && !_isIDSeparator(localeID[len])) { - if (len == MAXLEN) { return; } + size_t len = 0; + while (len < localeID.size() && !_isTerminator(localeID[len]) && !_isIDSeparator(localeID[len])) { + if (len == MAXLEN) { return 0; } len++; } - if (len < MINLEN) { return; } + if (len < MINLEN) { return 0; } - *pEnd = localeID + len; - if (sink == nullptr) { return; } + if (sink == nullptr) { return len; } char scratch[ULOC_COUNTRY_CAPACITY]; int32_t capacity = 0; @@ -1325,7 +1308,7 @@ _getRegion(const char* localeID, UPRV_LENGTHOF(scratch), &capacity); - for (int32_t i = 0; i < len; ++i) { + for (size_t i = 0; i < len; ++i) { buffer[i] = uprv_toupper(localeID[i]); } @@ -1337,26 +1320,25 @@ _getRegion(const char* localeID, if (offset.has_value()) { const char* const alias = COUNTRIES[*offset]; sink->Append(alias, static_cast(uprv_strlen(alias))); - return; + return len; } } - sink->Append(buffer, len); + sink->Append(buffer, static_cast(len)); + return len; } /** * @param needSeparator if true, then add leading '_' if any variants * are added to 'variant' */ -void -_getVariant(const char* localeID, +size_t +_getVariant(std::string_view localeID, char prev, ByteSink* sink, - const char** pEnd, bool needSeparator, UErrorCode& status) { - if (U_FAILURE(status)) return; - if (pEnd != nullptr) { *pEnd = localeID; } + if (U_FAILURE(status) || localeID.empty()) return 0; // Reasonable upper limit for variants // There are no strict limitation of the syntax of variant in the legacy @@ -1369,63 +1351,82 @@ _getVariant(const char* localeID, constexpr int32_t MAX_VARIANTS_LENGTH = 179; /* get one or more variant tags and separate them with '_' */ - int32_t index = 0; + size_t index = 0; if (_isIDSeparator(prev)) { /* get a variant string after a '-' or '_' */ - for (index=0; !_isTerminator(localeID[index]); index++) { - if (index >= MAX_VARIANTS_LENGTH) { // same as length > MAX_VARIANTS_LENGTH + for (std::string_view sub = localeID;;) { + size_t next = sub.find_first_of(".@_-"); + // For historical reasons, a trailing separator is included in the variant. + bool finished = next == std::string_view::npos || next + 1 == sub.length(); + size_t limit = finished ? sub.length() : next; + index += limit; + if (index > MAX_VARIANTS_LENGTH) { status = U_ILLEGAL_ARGUMENT_ERROR; - return; - } - if (needSeparator) { - if (sink != nullptr) { - sink->Append("_", 1); - } - needSeparator = false; + return 0; } + if (sink != nullptr) { - char c = uprv_toupper(localeID[index]); - if (c == '-') c = '_'; - sink->Append(&c, 1); + if (needSeparator) { + sink->Append("_", 1); + } else { + needSeparator = true; + } + + int32_t length = static_cast(limit); + int32_t minCapacity = uprv_min(length, MAX_VARIANTS_LENGTH); + char scratch[MAX_VARIANTS_LENGTH]; + int32_t capacity = 0; + char* buffer = sink->GetAppendBuffer( + minCapacity, minCapacity, scratch, UPRV_LENGTHOF(scratch), &capacity); + + for (size_t i = 0; i < limit; ++i) { + buffer[i] = uprv_toupper(sub[i]); + } + sink->Append(buffer, length); } + + if (finished) { return index; } + sub.remove_prefix(next); + if (_isTerminator(sub.front()) || _isBCP47Extension(sub)) { return index; } + sub.remove_prefix(1); + index++; } - if (pEnd != nullptr) { *pEnd = localeID+index; } } + size_t skip = 0; /* if there is no variant tag after a '-' or '_' then look for '@' */ - if (index == 0) { - if (prev=='@') { - /* keep localeID */ - } else if((localeID=locale_getKeywordsStart(localeID))!=nullptr) { - ++localeID; /* point after the '@' */ - } else { - return; - } - for(; !_isTerminator(localeID[index]); index++) { - if (index >= MAX_VARIANTS_LENGTH) { // same as length > MAX_VARIANTS_LENGTH - status = U_ILLEGAL_ARGUMENT_ERROR; - return; - } - if (needSeparator) { - if (sink != nullptr) { - sink->Append("_", 1); - } - needSeparator = false; - } - if (sink != nullptr) { - char c = uprv_toupper(localeID[index]); - if (c == '-' || c == ',') c = '_'; - sink->Append(&c, 1); - } - } - if (pEnd != nullptr) { *pEnd = localeID + index; } + if (prev == '@') { + /* keep localeID */ + } else if (const char* p = locale_getKeywordsStart(localeID); p != nullptr) { + skip = 1 + p - localeID.data(); /* point after the '@' */ + localeID.remove_prefix(skip); + } else { + return 0; } + for (; index < localeID.size() && !_isTerminator(localeID[index]); index++) { + if (index >= MAX_VARIANTS_LENGTH) { // same as length > MAX_VARIANTS_LENGTH + status = U_ILLEGAL_ARGUMENT_ERROR; + return 0; + } + if (needSeparator) { + if (sink != nullptr) { + sink->Append("_", 1); + } + needSeparator = false; + } + if (sink != nullptr) { + char c = uprv_toupper(localeID[index]); + if (c == '-' || c == ',') c = '_'; + sink->Append(&c, 1); + } + } + return skip + index; } } // namespace U_EXPORT CharString -ulocimp_getLanguage(const char* localeID, UErrorCode& status) { +ulocimp_getLanguage(std::string_view localeID, UErrorCode& status) { return ByteSinkUtil::viaByteSinkToCharString( [&](ByteSink& sink, UErrorCode& status) { ulocimp_getSubtags( @@ -1441,7 +1442,7 @@ ulocimp_getLanguage(const char* localeID, UErrorCode& status) { } U_EXPORT CharString -ulocimp_getScript(const char* localeID, UErrorCode& status) { +ulocimp_getScript(std::string_view localeID, UErrorCode& status) { return ByteSinkUtil::viaByteSinkToCharString( [&](ByteSink& sink, UErrorCode& status) { ulocimp_getSubtags( @@ -1457,7 +1458,7 @@ ulocimp_getScript(const char* localeID, UErrorCode& status) { } U_EXPORT CharString -ulocimp_getRegion(const char* localeID, UErrorCode& status) { +ulocimp_getRegion(std::string_view localeID, UErrorCode& status) { return ByteSinkUtil::viaByteSinkToCharString( [&](ByteSink& sink, UErrorCode& status) { ulocimp_getSubtags( @@ -1473,7 +1474,7 @@ ulocimp_getRegion(const char* localeID, UErrorCode& status) { } U_EXPORT CharString -ulocimp_getVariant(const char* localeID, UErrorCode& status) { +ulocimp_getVariant(std::string_view localeID, UErrorCode& status) { return ByteSinkUtil::viaByteSinkToCharString( [&](ByteSink& sink, UErrorCode& status) { ulocimp_getSubtags( @@ -1490,7 +1491,7 @@ ulocimp_getVariant(const char* localeID, UErrorCode& status) { U_EXPORT void ulocimp_getSubtags( - const char* localeID, + std::string_view localeID, CharString* language, CharString* script, CharString* region, @@ -1521,7 +1522,7 @@ ulocimp_getSubtags( U_EXPORT void ulocimp_getSubtags( - const char* localeID, + std::string_view localeID, ByteSink* language, ByteSink* script, ByteSink* region, @@ -1531,7 +1532,7 @@ ulocimp_getSubtags( if (U_FAILURE(status)) { return; } if (pEnd != nullptr) { - *pEnd = localeID; + *pEnd = localeID.data(); } else if (language == nullptr && script == nullptr && region == nullptr && @@ -1539,62 +1540,94 @@ ulocimp_getSubtags( return; } + if (localeID.empty()) { return; } + bool hasRegion = false; - if (localeID == nullptr) { - localeID = uloc_getDefault(); + { + size_t len = _getLanguage(localeID, language, status); + if (U_FAILURE(status)) { return; } + if (len > 0) { + localeID.remove_prefix(len); + } } - _getLanguage(localeID, language, &localeID, status); - if (U_FAILURE(status)) { return; } - U_ASSERT(localeID != nullptr); - if (pEnd != nullptr) { - *pEnd = localeID; + *pEnd = localeID.data(); } else if (script == nullptr && region == nullptr && variant == nullptr) { return; } - if (_isIDSeparator(*localeID)) { - const char* begin = localeID + 1; - const char* end = nullptr; - _getScript(begin, script, &end); - U_ASSERT(end != nullptr); - if (end != begin) { - localeID = end; - if (pEnd != nullptr) { *pEnd = localeID; } + if (localeID.empty()) { return; } + + if (_isIDSeparator(localeID.front())) { + std::string_view sub = localeID; + sub.remove_prefix(1); + size_t len = _getScript(sub, script); + if (len > 0) { + localeID.remove_prefix(len + 1); + if (pEnd != nullptr) { *pEnd = localeID.data(); } } } - if (region == nullptr && variant == nullptr && pEnd == nullptr) { return; } + if ((region == nullptr && variant == nullptr && pEnd == nullptr) || localeID.empty()) { return; } - if (_isIDSeparator(*localeID)) { - const char* begin = localeID + 1; - const char* end = nullptr; - _getRegion(begin, region, &end); - U_ASSERT(end != nullptr); - if (end != begin) { + if (_isIDSeparator(localeID.front())) { + std::string_view sub = localeID; + sub.remove_prefix(1); + size_t len = _getRegion(sub, region); + if (len > 0) { hasRegion = true; - localeID = end; - if (pEnd != nullptr) { *pEnd = localeID; } + localeID.remove_prefix(len + 1); + if (pEnd != nullptr) { *pEnd = localeID.data(); } } } - if (variant == nullptr && pEnd == nullptr) { return; } + if ((variant == nullptr && pEnd == nullptr) || localeID.empty()) { return; } - if (_isIDSeparator(*localeID) && !_isBCP47Extension(localeID)) { + bool hasVariant = false; + + if (_isIDSeparator(localeID.front()) && !_isBCP47Extension(localeID)) { + std::string_view sub = localeID; /* If there was no country ID, skip a possible extra IDSeparator */ - if (!hasRegion && _isIDSeparator(localeID[1])) { - localeID++; - } - const char* begin = localeID + 1; - const char* end = nullptr; - _getVariant(begin, *localeID, variant, &end, false, status); + size_t skip = !hasRegion && localeID.size() > 1 && _isIDSeparator(localeID[1]) ? 2 : 1; + sub.remove_prefix(skip); + size_t len = _getVariant(sub, localeID[0], variant, false, status); if (U_FAILURE(status)) { return; } - U_ASSERT(end != nullptr); - if (end != begin && pEnd != nullptr) { *pEnd = end; } + if (len > 0) { + hasVariant = true; + localeID.remove_prefix(skip + len); + if (pEnd != nullptr) { *pEnd = localeID.data(); } + } + } + + if ((variant == nullptr && pEnd == nullptr) || localeID.empty()) { return; } + + if (_isBCP47Extension(localeID)) { + localeID.remove_prefix(2); + constexpr char vaposix[] = "-va-posix"; + constexpr size_t length = sizeof vaposix - 1; + for (size_t next;; localeID.remove_prefix(next)) { + next = localeID.find('-', 1); + if (next == std::string_view::npos) { break; } + next = localeID.find('-', next + 1); + bool finished = next == std::string_view::npos; + std::string_view sub = localeID; + if (!finished) { sub.remove_suffix(sub.length() - next); } + + if (sub.length() == length && uprv_strnicmp(sub.data(), vaposix, length) == 0) { + if (variant != nullptr) { + if (hasVariant) { variant->Append("_", 1); } + constexpr char posix[] = "POSIX"; + variant->Append(posix, sizeof posix - 1); + } + if (pEnd != nullptr) { *pEnd = localeID.data() + length; } + } + + if (finished) { break; } + } } } @@ -1700,7 +1733,7 @@ uloc_openKeywords(const char* localeID, CharString tempBuffer; const char* tmpLocaleID; - if (_hasBCP47Extension(localeID)) { + if (localeID != nullptr && _hasBCP47Extension(localeID)) { tempBuffer = ulocimp_forLanguageTag(localeID, -1, nullptr, *status); tmpLocaleID = U_SUCCESS(*status) && !tempBuffer.isEmpty() ? tempBuffer.data() : localeID; } else { @@ -1753,7 +1786,7 @@ constexpr int32_t I_DEFAULT_LENGTH = UPRV_LENGTHOF(i_default); * This is the code underlying uloc_getName and uloc_canonicalize. */ void -_canonicalize(const char* localeID, +_canonicalize(std::string_view localeID, ByteSink& sink, uint32_t options, UErrorCode& err) { @@ -1764,33 +1797,30 @@ _canonicalize(const char* localeID, int32_t j, fieldCount=0; CharString tempBuffer; // if localeID has a BCP47 extension, tmpLocaleID points to this CharString localeIDWithHyphens; // if localeID has a BPC47 extension and have _, tmpLocaleID points to this - const char* origLocaleID; - const char* tmpLocaleID; - const char* keywordAssign = nullptr; - const char* separatorIndicator = nullptr; + std::string_view origLocaleID; + std::string_view tmpLocaleID; + size_t keywordAssign = std::string_view::npos; + size_t separatorIndicator = std::string_view::npos; if (_hasBCP47Extension(localeID)) { - const char* localeIDPtr = localeID; + std::string_view localeIDPtr = localeID; // convert all underbars to hyphens, unless the "BCP47 extension" comes at the beginning of the string - if (uprv_strchr(localeID, '_') != nullptr && localeID[1] != '-' && localeID[1] != '_') { - localeIDWithHyphens.append(localeID, -1, err); + if (localeID.size() >= 2 && localeID.find('_') != std::string_view::npos && localeID[1] != '-' && localeID[1] != '_') { + localeIDWithHyphens.append(localeID, err); if (U_SUCCESS(err)) { for (char* p = localeIDWithHyphens.data(); *p != '\0'; ++p) { if (*p == '_') { *p = '-'; } } - localeIDPtr = localeIDWithHyphens.data(); + localeIDPtr = localeIDWithHyphens.toStringPiece(); } } - tempBuffer = ulocimp_forLanguageTag(localeIDPtr, -1, nullptr, err); - tmpLocaleID = U_SUCCESS(err) && !tempBuffer.isEmpty() ? tempBuffer.data() : localeIDPtr; + tempBuffer = ulocimp_forLanguageTag(localeIDPtr.data(), static_cast(localeIDPtr.size()), nullptr, err); + tmpLocaleID = U_SUCCESS(err) && !tempBuffer.isEmpty() ? static_cast(tempBuffer.toStringPiece()) : localeIDPtr; } else { - if (localeID==nullptr) { - localeID=uloc_getDefault(); - } tmpLocaleID=localeID; } @@ -1801,20 +1831,25 @@ _canonicalize(const char* localeID, CharString script; CharString country; CharString variant; + const char* end = nullptr; ulocimp_getSubtags( tmpLocaleID, &tag, &script, &country, &variant, - &tmpLocaleID, + &end, err); if (U_FAILURE(err)) { return; } + U_ASSERT(end != nullptr); + if (end > tmpLocaleID.data()) { + tmpLocaleID.remove_prefix(end - tmpLocaleID.data()); + } - if (tag.length() == I_DEFAULT_LENGTH && - uprv_strncmp(origLocaleID, i_default, I_DEFAULT_LENGTH) == 0) { + if (tag.length() == I_DEFAULT_LENGTH && origLocaleID.length() >= I_DEFAULT_LENGTH && + uprv_strncmp(origLocaleID.data(), i_default, I_DEFAULT_LENGTH) == 0) { tag.clear(); tag.append(uloc_getDefault(), err); } else { @@ -1839,15 +1874,14 @@ _canonicalize(const char* localeID, } /* Copy POSIX-style charset specifier, if any [mr.utf8] */ - if (!OPTION_SET(options, _ULOC_CANONICALIZE) && *tmpLocaleID == '.') { + if (!OPTION_SET(options, _ULOC_CANONICALIZE) && !tmpLocaleID.empty() && tmpLocaleID.front() == '.') { tag.append('.', err); - ++tmpLocaleID; - const char *atPos = nullptr; + tmpLocaleID.remove_prefix(1); size_t length; - if((atPos = uprv_strchr(tmpLocaleID, '@')) != nullptr) { - length = atPos - tmpLocaleID; + if (size_t atPos = tmpLocaleID.find('@'); atPos != std::string_view::npos) { + length = atPos; } else { - length = uprv_strlen(tmpLocaleID); + length = tmpLocaleID.length(); } // The longest charset name we found in IANA charset registry // https://www.iana.org/assignments/character-sets/ is @@ -1859,33 +1893,34 @@ _canonicalize(const char* localeID, err = U_ILLEGAL_ARGUMENT_ERROR; /* malformed keyword name */ return; } - tag.append(tmpLocaleID, static_cast(length), err); - tmpLocaleID += length; + if (length > 0) { + tag.append(tmpLocaleID.data(), static_cast(length), err); + tmpLocaleID.remove_prefix(length); + } } /* Scan ahead to next '@' and determine if it is followed by '=' and/or ';' - After this, tmpLocaleID either points to '@' or is nullptr */ - if ((tmpLocaleID=locale_getKeywordsStart(tmpLocaleID))!=nullptr) { - keywordAssign = uprv_strchr(tmpLocaleID, '='); - separatorIndicator = uprv_strchr(tmpLocaleID, ';'); + After this, tmpLocaleID either starts at '@' or is empty. */ + if (const char* start = locale_getKeywordsStart(tmpLocaleID); start != nullptr) { + if (start > tmpLocaleID.data()) { + tmpLocaleID.remove_prefix(start - tmpLocaleID.data()); + } + keywordAssign = tmpLocaleID.find('='); + separatorIndicator = tmpLocaleID.find(';'); + } else { + tmpLocaleID = {}; } /* Copy POSIX-style variant, if any [mr@FOO] */ if (!OPTION_SET(options, _ULOC_CANONICALIZE) && - tmpLocaleID != nullptr && keywordAssign == nullptr) { - for (;;) { - char c = *tmpLocaleID; - if (c == 0) { - break; - } - tag.append(c, err); - ++tmpLocaleID; - } + !tmpLocaleID.empty() && keywordAssign == std::string_view::npos) { + tag.append(tmpLocaleID, err); + tmpLocaleID = {}; } if (OPTION_SET(options, _ULOC_CANONICALIZE)) { /* Handle @FOO variant if @ is present and not followed by = */ - if (tmpLocaleID!=nullptr && keywordAssign==nullptr) { + if (!tmpLocaleID.empty() && keywordAssign == std::string_view::npos) { /* Add missing '_' if needed */ if (fieldCount < 2 || (fieldCount < 3 && !script.isEmpty())) { do { @@ -1895,7 +1930,9 @@ _canonicalize(const char* localeID, } CharStringByteSink s(&tag); - _getVariant(tmpLocaleID+1, '@', &s, nullptr, !variant.isEmpty(), err); + std::string_view sub = tmpLocaleID; + sub.remove_prefix(1); + _getVariant(sub, '@', &s, !variant.isEmpty(), err); if (U_FAILURE(err)) { return; } } @@ -1903,7 +1940,7 @@ _canonicalize(const char* localeID, for (j=0; j keywordAssign)) { + if (!tmpLocaleID.empty() && keywordAssign != std::string_view::npos && + (separatorIndicator == std::string_view::npos || separatorIndicator > keywordAssign)) { sink.Append("@", 1); ++fieldCount; - ulocimp_getKeywords(tmpLocaleID+1, '@', sink, true, err); + tmpLocaleID.remove_prefix(1); + ulocimp_getKeywords(tmpLocaleID, '@', sink, true, err); } } } @@ -1989,6 +2027,10 @@ uloc_getLanguage(const char* localeID, int32_t languageCapacity, UErrorCode* err) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } + /* uloc_getLanguage will return a 2 character iso-639 code if one exists. *CWB*/ return ByteSinkUtil::viaByteSinkToTerminatedChars( language, languageCapacity, @@ -2011,6 +2053,10 @@ uloc_getScript(const char* localeID, int32_t scriptCapacity, UErrorCode* err) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } + return ByteSinkUtil::viaByteSinkToTerminatedChars( script, scriptCapacity, [&](ByteSink& sink, UErrorCode& status) { @@ -2032,6 +2078,10 @@ uloc_getCountry(const char* localeID, int32_t countryCapacity, UErrorCode* err) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } + return ByteSinkUtil::viaByteSinkToTerminatedChars( country, countryCapacity, [&](ByteSink& sink, UErrorCode& status) { @@ -2053,6 +2103,10 @@ uloc_getVariant(const char* localeID, int32_t variantCapacity, UErrorCode* err) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } + return ByteSinkUtil::viaByteSinkToTerminatedChars( variant, variantCapacity, [&](ByteSink& sink, UErrorCode& status) { @@ -2074,6 +2128,9 @@ uloc_getName(const char* localeID, int32_t nameCapacity, UErrorCode* err) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } return ByteSinkUtil::viaByteSinkToTerminatedChars( name, nameCapacity, [&](ByteSink& sink, UErrorCode& status) { @@ -2083,7 +2140,7 @@ uloc_getName(const char* localeID, } U_EXPORT CharString -ulocimp_getName(const char* localeID, +ulocimp_getName(std::string_view localeID, UErrorCode& err) { return ByteSinkUtil::viaByteSinkToCharString( @@ -2094,7 +2151,7 @@ ulocimp_getName(const char* localeID, } U_EXPORT void -ulocimp_getName(const char* localeID, +ulocimp_getName(std::string_view localeID, ByteSink& sink, UErrorCode& err) { @@ -2107,6 +2164,9 @@ uloc_getBaseName(const char* localeID, int32_t nameCapacity, UErrorCode* err) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } return ByteSinkUtil::viaByteSinkToTerminatedChars( name, nameCapacity, [&](ByteSink& sink, UErrorCode& status) { @@ -2116,7 +2176,7 @@ uloc_getBaseName(const char* localeID, } U_EXPORT CharString -ulocimp_getBaseName(const char* localeID, +ulocimp_getBaseName(std::string_view localeID, UErrorCode& err) { return ByteSinkUtil::viaByteSinkToCharString( @@ -2127,7 +2187,7 @@ ulocimp_getBaseName(const char* localeID, } U_EXPORT void -ulocimp_getBaseName(const char* localeID, +ulocimp_getBaseName(std::string_view localeID, ByteSink& sink, UErrorCode& err) { @@ -2140,6 +2200,9 @@ uloc_canonicalize(const char* localeID, int32_t nameCapacity, UErrorCode* err) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } return ByteSinkUtil::viaByteSinkToTerminatedChars( name, nameCapacity, [&](ByteSink& sink, UErrorCode& status) { @@ -2149,7 +2212,7 @@ uloc_canonicalize(const char* localeID, } U_EXPORT CharString -ulocimp_canonicalize(const char* localeID, +ulocimp_canonicalize(std::string_view localeID, UErrorCode& err) { return ByteSinkUtil::viaByteSinkToCharString( @@ -2160,7 +2223,7 @@ ulocimp_canonicalize(const char* localeID, } U_EXPORT void -ulocimp_canonicalize(const char* localeID, +ulocimp_canonicalize(std::string_view localeID, ByteSink& sink, UErrorCode& err) { diff --git a/thirdparty/icu4c/common/uloc_tag.cpp b/thirdparty/icu4c/common/uloc_tag.cpp index 7b3b1e73a3..b2e9946f48 100644 --- a/thirdparty/icu4c/common/uloc_tag.cpp +++ b/thirdparty/icu4c/common/uloc_tag.cpp @@ -1043,7 +1043,7 @@ _initializeULanguageTag(ULanguageTag* langtag) { } void -_appendLanguageToLanguageTag(const char* localeID, icu::ByteSink& sink, bool strict, UErrorCode& status) { +_appendLanguageToLanguageTag(std::string_view localeID, icu::ByteSink& sink, bool strict, UErrorCode& status) { UErrorCode tmpStatus = U_ZERO_ERROR; if (U_FAILURE(status)) { @@ -1088,7 +1088,7 @@ _appendLanguageToLanguageTag(const char* localeID, icu::ByteSink& sink, bool str } void -_appendScriptToLanguageTag(const char* localeID, icu::ByteSink& sink, bool strict, UErrorCode& status) { +_appendScriptToLanguageTag(std::string_view localeID, icu::ByteSink& sink, bool strict, UErrorCode& status) { UErrorCode tmpStatus = U_ZERO_ERROR; if (U_FAILURE(status)) { @@ -1118,7 +1118,7 @@ _appendScriptToLanguageTag(const char* localeID, icu::ByteSink& sink, bool stric } void -_appendRegionToLanguageTag(const char* localeID, icu::ByteSink& sink, bool strict, UErrorCode& status) { +_appendRegionToLanguageTag(std::string_view localeID, icu::ByteSink& sink, bool strict, UErrorCode& status) { UErrorCode tmpStatus = U_ZERO_ERROR; if (U_FAILURE(status)) { @@ -1169,7 +1169,7 @@ void _sortVariants(VariantListEntry* first) { } void -_appendVariantsToLanguageTag(const char* localeID, icu::ByteSink& sink, bool strict, bool& hadPosix, UErrorCode& status) { +_appendVariantsToLanguageTag(std::string_view localeID, icu::ByteSink& sink, bool strict, bool& hadPosix, UErrorCode& status) { if (U_FAILURE(status)) { return; } UErrorCode tmpStatus = U_ZERO_ERROR; @@ -1872,7 +1872,7 @@ _appendKeywords(ULanguageTag* langtag, icu::ByteSink& sink, UErrorCode& status) } void -_appendPrivateuseToLanguageTag(const char* localeID, icu::ByteSink& sink, bool strict, bool /*hadPosix*/, UErrorCode& status) { +_appendPrivateuseToLanguageTag(std::string_view localeID, icu::ByteSink& sink, bool strict, bool /*hadPosix*/, UErrorCode& status) { if (U_FAILURE(status)) { return; } UErrorCode tmpStatus = U_ZERO_ERROR; @@ -2596,6 +2596,9 @@ ulocimp_toLanguageTag(const char* localeID, bool hadPosix = false; const char* pKeywordStart; + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } /* Note: uloc_canonicalize returns "en_US_POSIX" for input locale ID "". See #6835 */ icu::CharString canonical = ulocimp_canonicalize(localeID, tmpStatus); if (U_FAILURE(tmpStatus)) { @@ -2604,7 +2607,7 @@ ulocimp_toLanguageTag(const char* localeID, } /* For handling special case - private use only tag */ - pKeywordStart = locale_getKeywordsStart(canonical.data()); + pKeywordStart = locale_getKeywordsStart(canonical.toStringPiece()); if (pKeywordStart == canonical.data()) { int kwdCnt = 0; bool done = false; @@ -2642,12 +2645,12 @@ ulocimp_toLanguageTag(const char* localeID, } } - _appendLanguageToLanguageTag(canonical.data(), sink, strict, status); - _appendScriptToLanguageTag(canonical.data(), sink, strict, status); - _appendRegionToLanguageTag(canonical.data(), sink, strict, status); - _appendVariantsToLanguageTag(canonical.data(), sink, strict, hadPosix, status); + _appendLanguageToLanguageTag(canonical.toStringPiece(), sink, strict, status); + _appendScriptToLanguageTag(canonical.toStringPiece(), sink, strict, status); + _appendRegionToLanguageTag(canonical.toStringPiece(), sink, strict, status); + _appendVariantsToLanguageTag(canonical.toStringPiece(), sink, strict, hadPosix, status); _appendKeywordsToLanguageTag(canonical.data(), sink, strict, hadPosix, status); - _appendPrivateuseToLanguageTag(canonical.data(), sink, strict, hadPosix, status); + _appendPrivateuseToLanguageTag(canonical.toStringPiece(), sink, strict, hadPosix, status); } diff --git a/thirdparty/icu4c/common/ulocale.cpp b/thirdparty/icu4c/common/ulocale.cpp index f2f81bc971..33814713dc 100644 --- a/thirdparty/icu4c/common/ulocale.cpp +++ b/thirdparty/icu4c/common/ulocale.cpp @@ -10,7 +10,6 @@ #include "unicode/locid.h" #include "bytesinkutil.h" -#include "charstr.h" #include "cmemory.h" U_NAMESPACE_USE @@ -24,9 +23,7 @@ ulocale_openForLocaleID(const char* localeID, int32_t length, UErrorCode* err) { if (length < 0) { return EXTERNAL(icu::Locale::createFromName(localeID).clone()); } - CharString str(localeID, length, *err); // Make a NUL terminated copy. - if (U_FAILURE(*err)) { return nullptr; } - return EXTERNAL(icu::Locale::createFromName(str.data()).clone()); + return EXTERNAL(icu::Locale::createFromName(StringPiece{localeID, length}).clone()); } ULocale* diff --git a/thirdparty/icu4c/common/ulocimp.h b/thirdparty/icu4c/common/ulocimp.h index 1887e2a849..7f09748c8a 100644 --- a/thirdparty/icu4c/common/ulocimp.h +++ b/thirdparty/icu4c/common/ulocimp.h @@ -68,42 +68,42 @@ U_EXPORT std::optional ulocimp_toLegacyTypeWithFallback(std::string_view keyword, std::string_view value); U_EXPORT icu::CharString -ulocimp_getKeywords(const char* localeID, +ulocimp_getKeywords(std::string_view localeID, char prev, bool valuesToo, UErrorCode& status); U_EXPORT void -ulocimp_getKeywords(const char* localeID, +ulocimp_getKeywords(std::string_view localeID, char prev, icu::ByteSink& sink, bool valuesToo, UErrorCode& status); U_EXPORT icu::CharString -ulocimp_getName(const char* localeID, +ulocimp_getName(std::string_view localeID, UErrorCode& err); U_EXPORT void -ulocimp_getName(const char* localeID, +ulocimp_getName(std::string_view localeID, icu::ByteSink& sink, UErrorCode& err); U_EXPORT icu::CharString -ulocimp_getBaseName(const char* localeID, +ulocimp_getBaseName(std::string_view localeID, UErrorCode& err); U_EXPORT void -ulocimp_getBaseName(const char* localeID, +ulocimp_getBaseName(std::string_view localeID, icu::ByteSink& sink, UErrorCode& err); U_EXPORT icu::CharString -ulocimp_canonicalize(const char* localeID, +ulocimp_canonicalize(std::string_view localeID, UErrorCode& err); U_EXPORT void -ulocimp_canonicalize(const char* localeID, +ulocimp_canonicalize(std::string_view localeID, icu::ByteSink& sink, UErrorCode& err); @@ -119,16 +119,16 @@ ulocimp_getKeywordValue(const char* localeID, UErrorCode& status); U_EXPORT icu::CharString -ulocimp_getLanguage(const char* localeID, UErrorCode& status); +ulocimp_getLanguage(std::string_view localeID, UErrorCode& status); U_EXPORT icu::CharString -ulocimp_getScript(const char* localeID, UErrorCode& status); +ulocimp_getScript(std::string_view localeID, UErrorCode& status); U_EXPORT icu::CharString -ulocimp_getRegion(const char* localeID, UErrorCode& status); +ulocimp_getRegion(std::string_view localeID, UErrorCode& status); U_EXPORT icu::CharString -ulocimp_getVariant(const char* localeID, UErrorCode& status); +ulocimp_getVariant(std::string_view localeID, UErrorCode& status); U_EXPORT void ulocimp_setKeywordValue(std::string_view keywordName, @@ -145,7 +145,7 @@ ulocimp_setKeywordValue(std::string_view keywords, U_EXPORT void ulocimp_getSubtags( - const char* localeID, + std::string_view localeID, icu::CharString* language, icu::CharString* script, icu::CharString* region, @@ -155,7 +155,7 @@ ulocimp_getSubtags( U_EXPORT void ulocimp_getSubtags( - const char* localeID, + std::string_view localeID, icu::ByteSink* language, icu::ByteSink* script, icu::ByteSink* region, @@ -165,7 +165,7 @@ ulocimp_getSubtags( inline void ulocimp_getSubtags( - const char* localeID, + std::string_view localeID, std::nullptr_t, std::nullptr_t, std::nullptr_t, @@ -364,7 +364,7 @@ ulocimp_minimizeSubtags(const char* localeID, UErrorCode& err); U_CAPI const char * U_EXPORT2 -locale_getKeywordsStart(const char *localeID); +locale_getKeywordsStart(std::string_view localeID); bool ultag_isExtensionSubtags(const char* s, int32_t len); diff --git a/thirdparty/icu4c/common/umapfile.cpp b/thirdparty/icu4c/common/umapfile.cpp index b58ac37f4d..3ba0251df9 100644 --- a/thirdparty/icu4c/common/umapfile.cpp +++ b/thirdparty/icu4c/common/umapfile.cpp @@ -237,8 +237,13 @@ typedef HANDLE MemoryMap; pData->map = (char *)data + length; pData->pHeader=(const DataHeader *)data; pData->mapAddr = data; -#if U_PLATFORM == U_PF_IPHONE +#if U_PLATFORM == U_PF_IPHONE || U_PLATFORM == U_PF_ANDROID + // Apparently supported from Android 23 and higher: + // https://github.com/ggml-org/llama.cpp/pull/3631 + // Checking for the flag itself is safer than checking for __ANDROID_API__. +# ifdef POSIX_MADV_RANDOM posix_madvise(data, length, POSIX_MADV_RANDOM); +# endif #endif return true; } diff --git a/thirdparty/icu4c/common/unicode/brkiter.h b/thirdparty/icu4c/common/unicode/brkiter.h index 30c59c4a94..d953925bd7 100644 --- a/thirdparty/icu4c/common/unicode/brkiter.h +++ b/thirdparty/icu4c/common/unicode/brkiter.h @@ -58,6 +58,8 @@ U_NAMESPACE_END U_NAMESPACE_BEGIN +class CharString; + /** * The BreakIterator class implements methods for finding the location * of boundaries in text. BreakIterator is an abstract base class. @@ -646,9 +648,9 @@ protected: private: /** @internal (private) */ - char actualLocale[ULOC_FULLNAME_CAPACITY]; - char validLocale[ULOC_FULLNAME_CAPACITY]; - char requestLocale[ULOC_FULLNAME_CAPACITY]; + CharString* actualLocale = nullptr; + CharString* validLocale = nullptr; + CharString* requestLocale = nullptr; }; #ifndef U_HIDE_DEPRECATED_API diff --git a/thirdparty/icu4c/common/unicode/char16ptr.h b/thirdparty/icu4c/common/unicode/char16ptr.h index daf35cd43b..049de9efee 100644 --- a/thirdparty/icu4c/common/unicode/char16ptr.h +++ b/thirdparty/icu4c/common/unicode/char16ptr.h @@ -9,10 +9,13 @@ #include "unicode/utypes.h" -#if U_SHOW_CPLUSPLUS_API +#if U_SHOW_CPLUSPLUS_API || U_SHOW_CPLUSPLUS_HEADER_API #include #include +#include + +#endif /** * \file @@ -21,8 +24,6 @@ * Also conversion functions from char16_t * to UChar * and OldUChar *. */ -U_NAMESPACE_BEGIN - /** * \def U_ALIASING_BARRIER * Barrier for pointer anti-aliasing optimizations even across function boundaries. @@ -36,6 +37,11 @@ U_NAMESPACE_BEGIN # define U_ALIASING_BARRIER(ptr) #endif +// ICU DLL-exported +#if U_SHOW_CPLUSPLUS_API + +U_NAMESPACE_BEGIN + /** * char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types. * @stable ICU 59 @@ -251,6 +257,60 @@ const char16_t *ConstChar16Ptr::get() const { return u_.cp; } #endif /// \endcond +U_NAMESPACE_END + +#endif // U_SHOW_CPLUSPLUS_API + +// Usable in header-only definitions +#if U_SHOW_CPLUSPLUS_API || U_SHOW_CPLUSPLUS_HEADER_API + +namespace U_ICU_NAMESPACE_OR_INTERNAL { + +#ifndef U_FORCE_HIDE_INTERNAL_API +/** @internal */ +template>> +inline const char16_t *uprv_char16PtrFromUChar(const T *p) { + if constexpr (std::is_same_v) { + return p; + } else { +#if U_SHOW_CPLUSPLUS_API + return ConstChar16Ptr(p).get(); +#else +#ifdef U_ALIASING_BARRIER + U_ALIASING_BARRIER(p); +#endif + return reinterpret_cast(p); +#endif + } +} +#if !U_CHAR16_IS_TYPEDEF && (!defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 180000) +/** @internal */ +inline const char16_t *uprv_char16PtrFromUint16(const uint16_t *p) { +#if U_SHOW_CPLUSPLUS_API + return ConstChar16Ptr(p).get(); +#else +#ifdef U_ALIASING_BARRIER + U_ALIASING_BARRIER(p); +#endif + return reinterpret_cast(p); +#endif +} +#endif +#if U_SIZEOF_WCHAR_T==2 +/** @internal */ +inline const char16_t *uprv_char16PtrFromWchar(const wchar_t *p) { +#if U_SHOW_CPLUSPLUS_API + return ConstChar16Ptr(p).get(); +#else +#ifdef U_ALIASING_BARRIER + U_ALIASING_BARRIER(p); +#endif + return reinterpret_cast(p); +#endif +} +#endif +#endif + /** * Converts from const char16_t * to const UChar *. * Includes an aliasing barrier if available. @@ -307,6 +367,15 @@ inline OldUChar *toOldUCharPtr(char16_t *p) { return reinterpret_cast(p); } +} // U_ICU_NAMESPACE_OR_INTERNAL + +#endif // U_SHOW_CPLUSPLUS_API || U_SHOW_CPLUSPLUS_HEADER_API + +// ICU DLL-exported +#if U_SHOW_CPLUSPLUS_API + +U_NAMESPACE_BEGIN + #ifndef U_FORCE_HIDE_INTERNAL_API /** * Is T convertible to a std::u16string_view or some other 16-bit string view? @@ -379,6 +448,6 @@ inline std::u16string_view toU16StringViewNullable(const T& text) { U_NAMESPACE_END -#endif /* U_SHOW_CPLUSPLUS_API */ +#endif // U_SHOW_CPLUSPLUS_API #endif // __CHAR16PTR_H__ diff --git a/thirdparty/icu4c/common/unicode/locid.h b/thirdparty/icu4c/common/unicode/locid.h index e1afd598cf..a394cd9347 100644 --- a/thirdparty/icu4c/common/unicode/locid.h +++ b/thirdparty/icu4c/common/unicode/locid.h @@ -449,6 +449,11 @@ public: */ static Locale U_EXPORT2 createFromName(const char *name); +#ifndef U_HIDE_INTERNAL_API + /** @internal */ + static Locale U_EXPORT2 createFromName(StringPiece name); +#endif /* U_HIDE_INTERNAL_API */ + /** * Creates a locale from the given string after canonicalizing * the string according to CLDR by calling uloc_canonicalize(). @@ -1133,7 +1138,9 @@ private: * @param cLocaleID The new locale name. * @param canonicalize whether to call uloc_canonicalize on cLocaleID */ - Locale& init(const char* cLocaleID, UBool canonicalize); + Locale& init(const char* localeID, UBool canonicalize); + /** @internal */ + Locale& init(StringPiece localeID, UBool canonicalize); /* * Internal constructor to allow construction of a locale object with diff --git a/thirdparty/icu4c/common/unicode/resbund.h b/thirdparty/icu4c/common/unicode/resbund.h index 3965371729..03ff6faee2 100644 --- a/thirdparty/icu4c/common/unicode/resbund.h +++ b/thirdparty/icu4c/common/unicode/resbund.h @@ -450,7 +450,7 @@ public: * @return a Locale object * @stable ICU 2.8 */ - const Locale + Locale getLocale(ULocDataLocaleType type, UErrorCode &status) const; #ifndef U_HIDE_INTERNAL_API /** diff --git a/thirdparty/icu4c/common/unicode/uchar.h b/thirdparty/icu4c/common/unicode/uchar.h index 0daa7dd214..82ec63ab52 100644 --- a/thirdparty/icu4c/common/unicode/uchar.h +++ b/thirdparty/icu4c/common/unicode/uchar.h @@ -675,14 +675,14 @@ typedef enum UProperty { * @stable ICU 63 */ UCHAR_VERTICAL_ORIENTATION=0x1018, -#ifndef U_HIDE_DRAFT_API /** * Enumerated property Identifier_Status. * Used for UTS #39 General Security Profile for Identifiers * (https://www.unicode.org/reports/tr39/#General_Security_Profile). - * @draft ICU 75 + * @stable ICU 75 */ UCHAR_IDENTIFIER_STATUS=0x1019, +#ifndef U_HIDE_DRAFT_API /** * Enumerated property Indic_Conjunct_Break. * Used in the grapheme cluster break algorithm in UAX #29. @@ -796,7 +796,6 @@ typedef enum UProperty { UCHAR_SCRIPT_EXTENSIONS=0x7000, /** First constant for Unicode properties with unusual value types. @stable ICU 4.6 */ UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS, -#ifndef U_HIDE_DRAFT_API /** * Miscellaneous property Identifier_Type. * Used for UTS #39 General Security Profile for Identifiers @@ -808,10 +807,9 @@ typedef enum UProperty { * * @see u_hasIDType * @see u_getIDTypes - * @draft ICU 75 + * @stable ICU 75 */ UCHAR_IDENTIFIER_TYPE=0x7001, -#endif // U_HIDE_DRAFT_API #ifndef U_HIDE_DEPRECATED_API /** * One more than the last constant for Unicode properties with unusual value types. @@ -2791,13 +2789,12 @@ typedef enum UVerticalOrientation { U_VO_UPRIGHT, } UVerticalOrientation; -#ifndef U_HIDE_DRAFT_API /** * Identifier Status constants. * See https://www.unicode.org/reports/tr39/#Identifier_Status_and_Type. * * @see UCHAR_IDENTIFIER_STATUS - * @draft ICU 75 + * @stable ICU 75 */ typedef enum UIdentifierStatus { /* @@ -2806,9 +2803,9 @@ typedef enum UIdentifierStatus { * U_ID_STATUS_ */ - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_STATUS_RESTRICTED, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_STATUS_ALLOWED, } UIdentifierStatus; @@ -2817,7 +2814,7 @@ typedef enum UIdentifierStatus { * See https://www.unicode.org/reports/tr39/#Identifier_Status_and_Type. * * @see UCHAR_IDENTIFIER_TYPE - * @draft ICU 75 + * @stable ICU 75 */ typedef enum UIdentifierType { /* @@ -2826,32 +2823,31 @@ typedef enum UIdentifierType { * U_ID_TYPE_ */ - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_NOT_CHARACTER, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_DEPRECATED, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_DEFAULT_IGNORABLE, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_NOT_NFKC, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_NOT_XID, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_EXCLUSION, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_OBSOLETE, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_TECHNICAL, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_UNCOMMON_USE, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_LIMITED_USE, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_INCLUSION, - /** @draft ICU 75 */ + /** @stable ICU 75 */ U_ID_TYPE_RECOMMENDED, } UIdentifierType; -#endif // U_HIDE_DRAFT_API /** * Check a binary Unicode property for a code point. @@ -4057,7 +4053,6 @@ u_isIDStart(UChar32 c); U_CAPI UBool U_EXPORT2 u_isIDPart(UChar32 c); -#ifndef U_HIDE_DRAFT_API /** * Does the set of Identifier_Type values code point c contain the given type? * @@ -4069,7 +4064,7 @@ u_isIDPart(UChar32 c); * @param c code point * @param type Identifier_Type to check * @return true if type is in Identifier_Type(c) - * @draft ICU 75 + * @stable ICU 75 */ U_CAPI bool U_EXPORT2 u_hasIDType(UChar32 c, UIdentifierType type); @@ -4104,11 +4099,10 @@ u_hasIDType(UChar32 c, UIdentifierType type); * function chaining. (See User Guide for details.) * @return number of values in c's Identifier_Type, * written to types unless U_BUFFER_OVERFLOW_ERROR indicates insufficient capacity - * @draft ICU 75 + * @stable ICU 75 */ U_CAPI int32_t U_EXPORT2 u_getIDTypes(UChar32 c, UIdentifierType *types, int32_t capacity, UErrorCode *pErrorCode); -#endif // U_HIDE_DRAFT_API /** * Determines if the specified character should be regarded diff --git a/thirdparty/icu4c/common/unicode/uniset.h b/thirdparty/icu4c/common/unicode/uniset.h index d070fd631a..6b1ac9ba26 100644 --- a/thirdparty/icu4c/common/unicode/uniset.h +++ b/thirdparty/icu4c/common/unicode/uniset.h @@ -1173,10 +1173,12 @@ public: inline U_HEADER_NESTED_NAMESPACE::USetStrings strings() const { return U_HEADER_NESTED_NAMESPACE::USetStrings(toUSet()); } +#endif // U_HIDE_DRAFT_API +#ifndef U_HIDE_DRAFT_API /** * Returns a C++ iterator for iterating over all of the elements of this set. - * Convenient all-in one iteration, but creates a UnicodeString for each + * Convenient all-in one iteration, but creates a std::u16string for each * code point or string. * (Similar to how Java UnicodeSet *is an* Iterable<String>.) * @@ -1185,13 +1187,14 @@ public: * \code * UnicodeSet set(u"[abcçカ🚴{}{abc}{de}]", errorCode); * for (auto el : set) { + * UnicodeString us(el); * std::string u8; - * printf("set.string length %ld \"%s\"\n", (long)el.length(), el.toUTF8String(u8).c_str()); + * printf("set.element length %ld \"%s\"\n", (long)us.length(), us.toUTF8String(u8).c_str()); * } * \endcode * * @return an all-elements iterator. - * @draft ICU 76 + * @draft ICU 77 * @see end * @see codePoints * @see ranges @@ -1203,7 +1206,7 @@ public: /** * @return an exclusive-end sentinel for iterating over all of the elements of this set. - * @draft ICU 76 + * @draft ICU 77 * @see begin * @see codePoints * @see ranges diff --git a/thirdparty/icu4c/common/unicode/uset.h b/thirdparty/icu4c/common/unicode/uset.h index c8f9b5592d..c5e7f23901 100644 --- a/thirdparty/icu4c/common/unicode/uset.h +++ b/thirdparty/icu4c/common/unicode/uset.h @@ -32,12 +32,13 @@ #include "unicode/utypes.h" #include "unicode/uchar.h" -#if U_SHOW_CPLUSPLUS_API +#if U_SHOW_CPLUSPLUS_API || U_SHOW_CPLUSPLUS_HEADER_API +#include #include #include "unicode/char16ptr.h" #include "unicode/localpointer.h" -#include "unicode/unistr.h" -#endif // U_SHOW_CPLUSPLUS_API +#include "unicode/utf16.h" +#endif #ifndef USET_DEFINED @@ -1392,8 +1393,8 @@ public: private: friend class USetCodePoints; - USetCodePointIterator(const USet *uset, int32_t rangeIndex, int32_t rangeCount) - : uset(uset), rangeIndex(rangeIndex), rangeCount(rangeCount), + USetCodePointIterator(const USet *pUset, int32_t nRangeIndex, int32_t nRangeCount) + : uset(pUset), rangeIndex(nRangeIndex), rangeCount(nRangeCount), c(U_SENTINEL), end(U_SENTINEL) { // Fetch the first range. operator++(); @@ -1429,7 +1430,7 @@ public: * Constructs a C++ "range" object over the code points of the USet. * @draft ICU 76 */ - USetCodePoints(const USet *uset) : uset(uset), rangeCount(uset_getRangeCount(uset)) {} + USetCodePoints(const USet *pUset) : uset(pUset), rangeCount(uset_getRangeCount(pUset)) {} /** @draft ICU 76 */ USetCodePoints(const USetCodePoints &other) = default; @@ -1460,7 +1461,7 @@ struct CodePointRange { /** @draft ICU 76 */ struct iterator { /** @draft ICU 76 */ - iterator(UChar32 c) : c(c) {} + iterator(UChar32 aC) : c(aC) {} /** @draft ICU 76 */ bool operator==(const iterator &other) const { return c == other.c; } @@ -1573,8 +1574,8 @@ public: private: friend class USetRanges; - USetRangeIterator(const USet *uset, int32_t rangeIndex, int32_t rangeCount) - : uset(uset), rangeIndex(rangeIndex), rangeCount(rangeCount) {} + USetRangeIterator(const USet *pUset, int32_t nRangeIndex, int32_t nRangeCount) + : uset(pUset), rangeIndex(nRangeIndex), rangeCount(nRangeCount) {} const USet *uset; int32_t rangeIndex; @@ -1610,7 +1611,7 @@ public: * Constructs a C++ "range" object over the code point ranges of the USet. * @draft ICU 76 */ - USetRanges(const USet *uset) : uset(uset), rangeCount(uset_getRangeCount(uset)) {} + USetRanges(const USet *pUset) : uset(pUset), rangeCount(uset_getRangeCount(pUset)) {} /** @draft ICU 76 */ USetRanges(const USetRanges &other) = default; @@ -1657,7 +1658,7 @@ public: int32_t length; const UChar *uchars = uset_getString(uset, index, &length); // assert uchars != nullptr; - return {ConstChar16Ptr(uchars), static_cast(length)}; + return {uprv_char16PtrFromUChar(uchars), static_cast(length)}; } return {}; } @@ -1684,8 +1685,8 @@ public: private: friend class USetStrings; - USetStringIterator(const USet *uset, int32_t index, int32_t count) - : uset(uset), index(index), count(count) {} + USetStringIterator(const USet *pUset, int32_t nIndex, int32_t nCount) + : uset(pUset), index(nIndex), count(nCount) {} const USet *uset; int32_t index; @@ -1699,9 +1700,11 @@ private: * using U_HEADER_NESTED_NAMESPACE::USetStrings; * LocalUSetPointer uset(uset_openPattern(u"[abcçカ🚴{}{abc}{de}]", -1, &errorCode)); * for (auto s : USetStrings(uset.getAlias())) { - * UnicodeString us(s); - * std::string u8; - * printf("uset.string length %ld \"%s\"\n", (long)s.length(), us.toUTF8String(u8).c_str()); + * int32_t len32 = s.length(); + * char utf8[200]; + * u_strToUTF8WithSub(utf8, int32_t{sizeof(utf8) - 1}, nullptr, + * s.data(), len32, 0xFFFD, nullptr, errorCode); + * printf("uset.string length %ld \"%s\"\n", long{len32}, utf8); * } * \endcode * @@ -1718,7 +1721,7 @@ public: * Constructs a C++ "range" object over the strings of the USet. * @draft ICU 76 */ - USetStrings(const USet *uset) : uset(uset), count(uset_getStringCount(uset)) {} + USetStrings(const USet *pUset) : uset(pUset), count(uset_getStringCount(pUset)) {} /** @draft ICU 76 */ USetStrings(const USetStrings &other) = default; @@ -1737,17 +1740,19 @@ private: const USet *uset; int32_t count; }; +#endif // U_HIDE_DRAFT_API +#ifndef U_HIDE_DRAFT_API /** * Iterator returned by USetElements. - * @draft ICU 76 + * @draft ICU 77 */ class USetElementIterator { public: - /** @draft ICU 76 */ + /** @draft ICU 77 */ USetElementIterator(const USetElementIterator &other) = default; - /** @draft ICU 76 */ + /** @draft ICU 77 */ bool operator==(const USetElementIterator &other) const { // No need to compare rangeCount & end given private constructor // and assuming we don't compare iterators across the set being modified. @@ -1756,26 +1761,28 @@ public: return uset == other.uset && c == other.c && index == other.index; } - /** @draft ICU 76 */ + /** @draft ICU 77 */ bool operator!=(const USetElementIterator &other) const { return !operator==(other); } - /** @draft ICU 76 */ - UnicodeString operator*() const { + /** @draft ICU 77 */ + std::u16string operator*() const { if (c >= 0) { - return UnicodeString(c); + return c <= 0xffff ? + std::u16string({static_cast(c)}) : + std::u16string({U16_LEAD(c), U16_TRAIL(c)}); } else if (index < totalCount) { int32_t length; const UChar *uchars = uset_getString(uset, index - rangeCount, &length); // assert uchars != nullptr; - return UnicodeString(uchars, length); + return {uprv_char16PtrFromUChar(uchars), static_cast(length)}; } else { - return UnicodeString(); + return {}; } } /** * Pre-increment. - * @draft ICU 76 + * @draft ICU 77 */ USetElementIterator &operator++() { if (c < end) { @@ -1800,7 +1807,7 @@ public: /** * Post-increment. - * @draft ICU 76 + * @draft ICU 77 */ USetElementIterator operator++(int) { USetElementIterator result(*this); @@ -1811,8 +1818,8 @@ public: private: friend class USetElements; - USetElementIterator(const USet *uset, int32_t index, int32_t rangeCount, int32_t totalCount) - : uset(uset), index(index), rangeCount(rangeCount), totalCount(totalCount), + USetElementIterator(const USet *pUset, int32_t nIndex, int32_t nRangeCount, int32_t nTotalCount) + : uset(pUset), index(nIndex), rangeCount(nRangeCount), totalCount(nTotalCount), c(U_SENTINEL), end(U_SENTINEL) { if (index < rangeCount) { // Fetch the first range. @@ -1840,7 +1847,7 @@ private: /** * A C++ "range" for iterating over all of the elements of a USet. - * Convenient all-in one iteration, but creates a UnicodeString for each + * Convenient all-in one iteration, but creates a std::u16string for each * code point or string. * * Code points are returned first, then empty and multi-character strings. @@ -1849,15 +1856,18 @@ private: * using U_HEADER_NESTED_NAMESPACE::USetElements; * LocalUSetPointer uset(uset_openPattern(u"[abcçカ🚴{}{abc}{de}]", -1, &errorCode)); * for (auto el : USetElements(uset.getAlias())) { - * std::string u8; - * printf("uset.string length %ld \"%s\"\n", (long)el.length(), el.toUTF8String(u8).c_str()); + * int32_t len32 = el.length(); + * char utf8[200]; + * u_strToUTF8WithSub(utf8, int32_t{sizeof(utf8) - 1}, nullptr, + * el.data(), len32, 0xFFFD, nullptr, errorCode); + * printf("uset.element length %ld \"%s\"\n", long{len32}, utf8); * } * \endcode * * C++ UnicodeSet has member functions for iteration, including begin() and end(). * * @return an all-elements iterator. - * @draft ICU 76 + * @draft ICU 77 * @see USetCodePoints * @see USetRanges * @see USetStrings @@ -1866,21 +1876,21 @@ class USetElements { public: /** * Constructs a C++ "range" object over all of the elements of the USet. - * @draft ICU 76 + * @draft ICU 77 */ - USetElements(const USet *uset) - : uset(uset), rangeCount(uset_getRangeCount(uset)), - stringCount(uset_getStringCount(uset)) {} + USetElements(const USet *pUset) + : uset(pUset), rangeCount(uset_getRangeCount(pUset)), + stringCount(uset_getStringCount(pUset)) {} - /** @draft ICU 76 */ + /** @draft ICU 77 */ USetElements(const USetElements &other) = default; - /** @draft ICU 76 */ + /** @draft ICU 77 */ USetElementIterator begin() const { return USetElementIterator(uset, 0, rangeCount, rangeCount + stringCount); } - /** @draft ICU 76 */ + /** @draft ICU 77 */ USetElementIterator end() const { return USetElementIterator(uset, rangeCount + stringCount, rangeCount, rangeCount + stringCount); } diff --git a/thirdparty/icu4c/common/unicode/utf8.h b/thirdparty/icu4c/common/unicode/utf8.h index 5a07435fcf..96ad46161a 100644 --- a/thirdparty/icu4c/common/unicode/utf8.h +++ b/thirdparty/icu4c/common/unicode/utf8.h @@ -124,7 +124,7 @@ * @internal */ U_CAPI UChar32 U_EXPORT2 -utf8_nextCharSafeBody(const uint8_t *s, int32_t *pi, int32_t length, UChar32 c, UBool strict); +utf8_nextCharSafeBody(const uint8_t *s, int32_t *pi, int32_t length, UChar32 c, int8_t strict); /** * Function for handling "append code point" with error-checking. @@ -148,7 +148,7 @@ utf8_appendCharSafeBody(uint8_t *s, int32_t i, int32_t length, UChar32 c, UBool * @internal */ U_CAPI UChar32 U_EXPORT2 -utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, UBool strict); +utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, int8_t strict); /** * Function for handling "skip backward one code point" with error-checking. diff --git a/thirdparty/icu4c/common/unicode/utypes.h b/thirdparty/icu4c/common/unicode/utypes.h index 0151ebd470..ecdee51643 100644 --- a/thirdparty/icu4c/common/unicode/utypes.h +++ b/thirdparty/icu4c/common/unicode/utypes.h @@ -598,12 +598,13 @@ typedef enum UErrorCode { U_MF_DUPLICATE_DECLARATION_ERROR, /**< The same variable is declared in more than one .local or .input declaration. @internal ICU 75 technology preview @deprecated This API is for technology preview only. */ U_MF_OPERAND_MISMATCH_ERROR, /**< An operand provided to a function does not have the required form for that function @internal ICU 75 technology preview @deprecated This API is for technology preview only. */ U_MF_DUPLICATE_VARIANT_ERROR, /**< A message includes a variant with the same key list as another variant. @internal ICU 76 technology preview @deprecated This API is for technology preview only. */ + U_MF_BAD_OPTION, /**< An option value provided to a function does not have the required form for that option. @internal ICU 77 technology preview @deprecated This API is for technology preview only. */ #ifndef U_HIDE_DEPRECATED_API /** * One more than the highest normal formatting API error code. * @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420. */ - U_FMT_PARSE_ERROR_LIMIT = 0x10120, + U_FMT_PARSE_ERROR_LIMIT = 0x10121, #endif // U_HIDE_DEPRECATED_API /* diff --git a/thirdparty/icu4c/common/unicode/uvernum.h b/thirdparty/icu4c/common/unicode/uvernum.h index a3cb882623..847c49f4cf 100644 --- a/thirdparty/icu4c/common/unicode/uvernum.h +++ b/thirdparty/icu4c/common/unicode/uvernum.h @@ -53,7 +53,7 @@ * This value will change in the subsequent releases of ICU * @stable ICU 2.4 */ -#define U_ICU_VERSION_MAJOR_NUM 76 +#define U_ICU_VERSION_MAJOR_NUM 77 /** The current ICU minor version as an integer. * This value will change in the subsequent releases of ICU @@ -79,7 +79,7 @@ * This value will change in the subsequent releases of ICU * @stable ICU 2.6 */ -#define U_ICU_VERSION_SUFFIX _76 +#define U_ICU_VERSION_SUFFIX _77 /** * \def U_DEF2_ICU_ENTRY_POINT_RENAME @@ -132,7 +132,7 @@ * This value will change in the subsequent releases of ICU * @stable ICU 2.4 */ -#define U_ICU_VERSION "76.1" +#define U_ICU_VERSION "77.1" /** * The current ICU library major version number as a string, for library name suffixes. @@ -145,13 +145,13 @@ * * @stable ICU 2.6 */ -#define U_ICU_VERSION_SHORT "76" +#define U_ICU_VERSION_SHORT "77" #ifndef U_HIDE_INTERNAL_API /** Data version in ICU4C. * @internal ICU 4.4 Internal Use Only **/ -#define U_ICU_DATA_VERSION "76.1" +#define U_ICU_DATA_VERSION "77.1" #endif /* U_HIDE_INTERNAL_API */ /*=========================================================================== diff --git a/thirdparty/icu4c/common/unicode/uversion.h b/thirdparty/icu4c/common/unicode/uversion.h index 25d73a3aeb..a29bf21efd 100644 --- a/thirdparty/icu4c/common/unicode/uversion.h +++ b/thirdparty/icu4c/common/unicode/uversion.h @@ -125,7 +125,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; U_NAMESPACE_USE # endif -#ifndef U_HIDE_DRAFT_API +#ifndef U_FORCE_HIDE_DRAFT_API /** * \def U_HEADER_NESTED_NAMESPACE * Nested namespace used inside U_ICU_NAMESPACE for header-only APIs. @@ -150,22 +150,37 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; * @draft ICU 76 */ +/** + * \def U_ICU_NAMESPACE_OR_INTERNAL + * Namespace used for header-only APIs that used to be regular C++ APIs. + * Different when used inside ICU to prevent public use of internal instantiations. + * Similar to U_HEADER_ONLY_NAMESPACE, but the public definition is the same as U_ICU_NAMESPACE. + * "U_ICU_NAMESPACE" or "U_ICU_NAMESPACE::internal". + * + * @draft ICU 77 + */ + // The first test is the same as for defining U_EXPORT for Windows. #if defined(_MSC_VER) || (UPRV_HAS_DECLSPEC_ATTRIBUTE(__dllexport__) && \ UPRV_HAS_DECLSPEC_ATTRIBUTE(__dllimport__)) # define U_HEADER_NESTED_NAMESPACE header +# define U_ICU_NAMESPACE_OR_INTERNAL U_ICU_NAMESPACE #elif defined(U_COMBINED_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION) || \ defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION) || \ defined(U_LAYOUTEX_IMPLEMENTATION) || defined(U_TOOLUTIL_IMPLEMENTATION) # define U_HEADER_NESTED_NAMESPACE internal +# define U_ICU_NAMESPACE_OR_INTERNAL U_ICU_NAMESPACE::internal + namespace U_ICU_NAMESPACE_OR_INTERNAL {} + using namespace U_ICU_NAMESPACE_OR_INTERNAL; #else # define U_HEADER_NESTED_NAMESPACE header +# define U_ICU_NAMESPACE_OR_INTERNAL U_ICU_NAMESPACE #endif #define U_HEADER_ONLY_NAMESPACE U_ICU_NAMESPACE::U_HEADER_NESTED_NAMESPACE namespace U_HEADER_ONLY_NAMESPACE {} -#endif // U_HIDE_DRAFT_API +#endif // U_FORCE_HIDE_DRAFT_API #endif /* __cplusplus */ diff --git a/thirdparty/icu4c/common/unistr.cpp b/thirdparty/icu4c/common/unistr.cpp index a720245772..4e29bad1d3 100644 --- a/thirdparty/icu4c/common/unistr.cpp +++ b/thirdparty/icu4c/common/unistr.cpp @@ -1945,6 +1945,13 @@ UnicodeString::cloneArrayIfNeeded(int32_t newCapacity, growCapacity = newCapacity; } else if(newCapacity <= US_STACKBUF_SIZE && growCapacity > US_STACKBUF_SIZE) { growCapacity = US_STACKBUF_SIZE; + } else if(newCapacity > growCapacity) { + setToBogus(); + return false; // bad inputs + } + if(growCapacity > kMaxCapacity) { + setToBogus(); + return false; } // save old values diff --git a/thirdparty/icu4c/common/uresbund.cpp b/thirdparty/icu4c/common/uresbund.cpp index 3a09cbf3bc..afda2770fd 100644 --- a/thirdparty/icu4c/common/uresbund.cpp +++ b/thirdparty/icu4c/common/uresbund.cpp @@ -2716,6 +2716,9 @@ ures_openWithType(UResourceBundle *r, const char* path, const char* localeID, UResourceDataEntry *entry; if(openType != URES_OPEN_DIRECT) { + if (localeID == nullptr) { + localeID = uloc_getDefault(); + } /* first "canonicalize" the locale ID */ CharString canonLocaleID = ulocimp_getBaseName(localeID, *status); if(U_FAILURE(*status)) { @@ -3080,6 +3083,9 @@ ures_getFunctionalEquivalent(char *result, int32_t resultCapacity, kwVal.clear(); } } + if (locid == nullptr) { + locid = uloc_getDefault(); + } CharString base = ulocimp_getBaseName(locid, subStatus); #if defined(URES_TREE_DEBUG) fprintf(stderr, "getFunctionalEquivalent: \"%s\" [%s=%s] in %s - %s\n", @@ -3244,7 +3250,7 @@ ures_getFunctionalEquivalent(char *result, int32_t resultCapacity, const char *validLoc = ures_getLocaleByType(res, ULOC_VALID_LOCALE, &subStatus); if (U_SUCCESS(subStatus) && validLoc != nullptr && validLoc[0] != 0 && uprv_strcmp(validLoc, "root") != 0) { CharString validLang = ulocimp_getLanguage(validLoc, subStatus); - CharString parentLang = ulocimp_getLanguage(parent.data(), subStatus); + CharString parentLang = ulocimp_getLanguage(parent.toStringPiece(), subStatus); if (U_SUCCESS(subStatus) && validLang != parentLang) { // validLoc is not root and has a different language than parent, use it instead found.clear().append(validLoc, subStatus); diff --git a/thirdparty/icu4c/common/uscript.cpp b/thirdparty/icu4c/common/uscript.cpp index c48a28fd14..ce40d35495 100644 --- a/thirdparty/icu4c/common/uscript.cpp +++ b/thirdparty/icu4c/common/uscript.cpp @@ -59,6 +59,9 @@ getCodesFromLocale(const char *locale, if (U_FAILURE(*err)) { return 0; } icu::CharString lang; icu::CharString script; + if (locale == nullptr) { + locale = uloc_getDefault(); + } ulocimp_getSubtags(locale, &lang, &script, nullptr, nullptr, nullptr, *err); if (U_FAILURE(*err)) { return 0; } // Multi-script languages, equivalent to the LocaleScript data diff --git a/thirdparty/icu4c/common/ushape.cpp b/thirdparty/icu4c/common/ushape.cpp index 00125635cb..b7946dc3ce 100644 --- a/thirdparty/icu4c/common/ushape.cpp +++ b/thirdparty/icu4c/common/ushape.cpp @@ -28,6 +28,7 @@ #include "ubidi_props.h" #include "uassert.h" +#include /* * This implementation is designed for 16-bit Unicode strings. * The main assumption is that the Arabic characters and their @@ -747,6 +748,10 @@ handleGeneratedSpaces(char16_t *dest, int32_t sourceLength, } } + if (static_cast(sourceLength) + 1 > std::numeric_limits::max() / U_SIZEOF_UCHAR) { + *pErrorCode = U_INDEX_OUTOFBOUNDS_ERROR; + return 0; + } tempbuffer = static_cast(uprv_malloc((sourceLength + 1) * U_SIZEOF_UCHAR)); /* Test for nullptr */ if(tempbuffer == nullptr) { diff --git a/thirdparty/icu4c/common/usprep.cpp b/thirdparty/icu4c/common/usprep.cpp index 477b8f2309..048b423645 100644 --- a/thirdparty/icu4c/common/usprep.cpp +++ b/thirdparty/icu4c/common/usprep.cpp @@ -126,7 +126,7 @@ compareEntries(const UHashTok p1, const UHashTok p2) { name2.pointer = b2->name; path1.pointer = b1->path; path2.pointer = b2->path; - return uhash_compareChars(name1, name2) & uhash_compareChars(path1, path2); + return uhash_compareChars(name1, name2) && uhash_compareChars(path1, path2); } static void diff --git a/thirdparty/icu4c/common/utf_impl.cpp b/thirdparty/icu4c/common/utf_impl.cpp index 827a82daf4..7da10c9b2d 100644 --- a/thirdparty/icu4c/common/utf_impl.cpp +++ b/thirdparty/icu4c/common/utf_impl.cpp @@ -124,11 +124,9 @@ errorValue(int32_t count, int8_t strict) { * >0 Obsolete "strict" behavior of UTF8_NEXT_CHAR_SAFE(..., true): * Same as the obsolete "safe" behavior, but non-characters are also treated * like illegal sequences. - * - * Note that a UBool is the same as an int8_t. */ U_CAPI UChar32 U_EXPORT2 -utf8_nextCharSafeBody(const uint8_t *s, int32_t *pi, int32_t length, UChar32 c, UBool strict) { +utf8_nextCharSafeBody(const uint8_t *s, int32_t *pi, int32_t length, UChar32 c, int8_t strict) { // *pi is one after byte c. int32_t i=*pi; // length can be negative for NUL-terminated strings: Read and validate one byte at a time. @@ -233,7 +231,7 @@ utf8_appendCharSafeBody(uint8_t *s, int32_t i, int32_t length, UChar32 c, UBool } U_CAPI UChar32 U_EXPORT2 -utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, UBool strict) { +utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, int8_t strict) { // *pi is the index of byte c. int32_t i=*pi; if(U8_IS_TRAIL(c) && i>start) { diff --git a/thirdparty/icu4c/common/utypes.cpp b/thirdparty/icu4c/common/utypes.cpp index 4602314147..4d4c1f81b5 100644 --- a/thirdparty/icu4c/common/utypes.cpp +++ b/thirdparty/icu4c/common/utypes.cpp @@ -140,7 +140,8 @@ _uFmtErrorName[U_FMT_PARSE_ERROR_LIMIT - U_FMT_PARSE_ERROR_START] = { "U_MF_MISSING_SELECTOR_ANNOTATION_ERROR", "U_MF_DUPLICATE_DECLARATION_ERROR", "U_MF_OPERAND_MISMATCH_ERROR", - "U_MF_DUPLICATE_VARIANT_ERROR" + "U_MF_DUPLICATE_VARIANT_ERROR", + "U_MF_BAD_OPTION" }; static const char * const diff --git a/thirdparty/icu4c/i18n/scriptset.cpp b/thirdparty/icu4c/i18n/scriptset.cpp index eec1eeb37d..576917e81c 100644 --- a/thirdparty/icu4c/i18n/scriptset.cpp +++ b/thirdparty/icu4c/i18n/scriptset.cpp @@ -285,19 +285,19 @@ uhash_equalsScriptSet(const UElement key1, const UElement key2) { return (*s1 == *s2); } -U_CAPI int8_t U_EXPORT2 +U_CAPI int32_t U_EXPORT2 uhash_compareScriptSet(UElement key0, UElement key1) { icu::ScriptSet *s0 = static_cast(key0.pointer); icu::ScriptSet *s1 = static_cast(key1.pointer); int32_t diff = s0->countMembers() - s1->countMembers(); - if (diff != 0) return static_cast(diff); + if (diff != 0) return diff; int32_t i0 = s0->nextSetBit(0); int32_t i1 = s1->nextSetBit(0); while ((diff = i0-i1) == 0 && i0 > 0) { i0 = s0->nextSetBit(i0+1); i1 = s1->nextSetBit(i1+1); } - return (int8_t)diff; + return diff; } U_CAPI int32_t U_EXPORT2 diff --git a/thirdparty/icu4c/i18n/scriptset.h b/thirdparty/icu4c/i18n/scriptset.h index df5cfdc748..d21d0db8a0 100644 --- a/thirdparty/icu4c/i18n/scriptset.h +++ b/thirdparty/icu4c/i18n/scriptset.h @@ -74,7 +74,7 @@ class U_I18N_API ScriptSet: public UMemory { U_NAMESPACE_END -U_CAPI UBool U_EXPORT2 +U_CAPI int32_t U_EXPORT2 uhash_compareScriptSet(const UElement key1, const UElement key2); U_CAPI int32_t U_EXPORT2 diff --git a/thirdparty/icu4c/i18n/ucln_in.h b/thirdparty/icu4c/i18n/ucln_in.h index 765cdd559f..74868891c8 100644 --- a/thirdparty/icu4c/i18n/ucln_in.h +++ b/thirdparty/icu4c/i18n/ucln_in.h @@ -39,6 +39,7 @@ typedef enum ECleanupI18NType { UCLN_I18N_HEBREW_CALENDAR, UCLN_I18N_ASTRO_CALENDAR, UCLN_I18N_DANGI_CALENDAR, + UCLN_I18N_PERSIAN_CALENDAR, UCLN_I18N_CALENDAR, UCLN_I18N_TIMEZONEFORMAT, UCLN_I18N_TZDBTIMEZONENAMES, @@ -62,6 +63,7 @@ typedef enum ECleanupI18NType { UCLN_I18N_REGION, UCLN_I18N_LIST_FORMATTER, UCLN_I18N_NUMSYS, + UCLN_I18N_MF2_UNISETS, UCLN_I18N_COUNT /* This must be last */ } ECleanupI18NType; diff --git a/thirdparty/icu4c/icudt_godot.dat b/thirdparty/icu4c/icudt_godot.dat index 58bead426f021c06f68f3e459a758ad0d11a7a2d..c6b96c477b38368496659e0718fd5a7fc569e6eb 100644 GIT binary patch delta 295212 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

AZ=#shAU-p2Rtg{4L-&v9MFnP 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 delta 306220 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

st!CS>ReZpgXdp=ALg8F-k?RrqX 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�YL%K@qWW@hG_e(|rFG$Zr$^F5Yg(=U8C6cXa+ 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 z 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