Backed out 13 changesets (bug 1792775) for causing bustages

Backed out changeset f2c8e2200194 (bug 1792775)
Backed out changeset 3392ce042fb6 (bug 1792775)
Backed out changeset f5461baa7c5a (bug 1792775)
Backed out changeset d810c2b2d0bd (bug 1792775)
Backed out changeset af6164024ade (bug 1792775)
Backed out changeset 8c97026ef2b5 (bug 1792775)
Backed out changeset d396bec29ac2 (bug 1792775)
Backed out changeset a9aaa2387313 (bug 1792775)
Backed out changeset a4461db138b7 (bug 1792775)
Backed out changeset a7b39a5105a9 (bug 1792775)
Backed out changeset 5e746d85926a (bug 1792775)
Backed out changeset 3ea531c10813 (bug 1792775)
Backed out changeset 78811cdadd63 (bug 1792775)
This commit is contained in:
Noemi Erli 2022-11-23 11:48:28 +02:00
Родитель 001626e217
Коммит d26dc9e9e0
56 изменённых файлов: 514 добавлений и 1168 удалений

Просмотреть файл

@ -23,4 +23,4 @@
# don't change CLOBBER for WebIDL changes any more.
Bug 1792775 - Update to ICU 72 requires clobber
Modified build files in third_party/libwebrtc - Bug 1790097 - Vendor libwebrtc from c05a1be5b4

Просмотреть файл

@ -332,15 +332,15 @@ const TEST_DATA = [
{ queryString: "0 utc in utc", expected: "00:00 UTC" },
{ queryString: "0 utc = utc", expected: "00:00 UTC" },
{ queryString: "0 UTC=UTC", expected: "00:00 UTC" },
{ queryString: "11 pm utc to utc", expected: "11:00\u{202F}PM UTC" },
{ queryString: "11 am utc to utc", expected: "11:00\u{202F}AM UTC" },
{ queryString: "11 pm utc to utc", expected: "11:00 PM UTC" },
{ queryString: "11 am utc to utc", expected: "11:00 AM UTC" },
{ queryString: "11:30 utc to utc", expected: "11:30 UTC" },
{ queryString: "11:30 PM utc to utc", expected: "11:30\u{202F}PM UTC" },
{ queryString: "11:30 PM utc to utc", expected: "11:30 PM UTC" },
{ queryString: "1 utc to idlw", expected: "13:00 IDLW" },
{ queryString: "1 pm utc to idlw", expected: "1:00\u{202F}AM IDLW" },
{ queryString: "1 am utc to idlw", expected: "1:00\u{202F}PM IDLW" },
{ queryString: "1 pm utc to idlw", expected: "1:00 AM IDLW" },
{ queryString: "1 am utc to idlw", expected: "1:00 PM IDLW" },
{ queryString: "1 utc to idlw", expected: "13:00 IDLW" },
{ queryString: "1 PM utc to idlw", expected: "1:00\u{202F}AM IDLW" },
{ queryString: "1 PM utc to idlw", expected: "1:00 AM IDLW" },
{ queryString: "0 utc to nt", expected: "13:00 NT" },
{ queryString: "0 utc to hst", expected: "14:00 HST" },
{ queryString: "0 utc to akst", expected: "15:00 AKST" },
@ -385,14 +385,14 @@ const TEST_DATA = [
{ queryString: "0 utc to nzd", expected: "13:00 NZD" },
{ queryString: "9:00 jst to utc", expected: "00:00 UTC" },
{ queryString: "8:00 jst to utc", expected: "23:00 UTC" },
{ queryString: "8:00 am jst to utc", expected: "11:00\u{202F}PM UTC" },
{ queryString: "8:00 am jst to utc", expected: "11:00 PM UTC" },
{ queryString: "9:00 jst to pdt", expected: "17:00 PDT" },
{ queryString: "12 pm pst to cet", expected: "9:00\u{202F}PM CET" },
{ queryString: "12 am pst to cet", expected: "9:00\u{202F}AM CET" },
{ queryString: "12:30 pm pst to cet", expected: "9:30\u{202F}PM CET" },
{ queryString: "12:30 am pst to cet", expected: "9:30\u{202F}AM CET" },
{ queryString: "23 pm pst to cet", expected: "8:00\u{202F}AM CET" },
{ queryString: "23:30 pm pst to cet", expected: "8:30\u{202F}AM CET" },
{ queryString: "12 pm pst to cet", expected: "9:00 PM CET" },
{ queryString: "12 am pst to cet", expected: "9:00 AM CET" },
{ queryString: "12:30 pm pst to cet", expected: "9:30 PM CET" },
{ queryString: "12:30 am pst to cet", expected: "9:30 AM CET" },
{ queryString: "23 pm pst to cet", expected: "8:00 AM CET" },
{ queryString: "23:30 pm pst to cet", expected: "8:30 AM CET" },
{
queryString: "10:00 JST to here",
timezone: "UTC",
@ -406,7 +406,7 @@ const TEST_DATA = [
{
queryString: "1 am to JST",
timezone: "UTC",
expected: "10:00\u{202F}AM JST",
expected: "10:00 AM JST",
},
{
queryString: "now to JST",

Просмотреть файл

@ -682,8 +682,6 @@ void gfxPlatformMac::GetCommonFallbackFonts(uint32_t aCh, Script aRunScript,
case Script::TANGSA:
case Script::TOTO:
case Script::VITHKUQI:
case Script::KAWI:
case Script::NAG_MUNDARI:
break;
}

Просмотреть файл

@ -47,7 +47,7 @@ TEST(IntlDateIntervalFormat, TryFormatDateTime)
spanResult = formatted.ToSpan();
ASSERT_TRUE(spanResult.isOk());
ASSERT_EQ(spanResult.unwrap(),
MakeStringSpan(u"01/03, 00:00\u{2009}–\u{2009}01/05, 00:00"));
MakeStringSpan(u"01/03, 00:0001/05, 00:00"));
}
TEST(IntlDateIntervalFormat, TryFormatCalendar)
@ -104,7 +104,7 @@ TEST(IntlDateIntervalFormat, TryFormatCalendar)
spanResult = formatted.ToSpan();
ASSERT_TRUE(spanResult.isOk());
ASSERT_EQ(spanResult.unwrap(),
MakeStringSpan(u"01/03, 00:00\u{2009}–\u{2009}01/05, 00:00"));
MakeStringSpan(u"01/03, 00:0001/05, 00:00"));
}
TEST(IntlDateIntervalFormat, TryFormattedToParts)
@ -123,8 +123,7 @@ TEST(IntlDateIntervalFormat, TryFormattedToParts)
ASSERT_FALSE(equal);
Span<const char16_t> formattedSpan = formatted.ToSpan().unwrap();
ASSERT_EQ(formattedSpan,
MakeStringSpan(u"01/03, 00:00\u{2009}–\u{2009}01/05, 00:00"));
ASSERT_EQ(formattedSpan, MakeStringSpan(u"01/03, 00:00 – 01/05, 00:00"));
mozilla::intl::DateTimePartVector parts;
result = dif->TryFormattedToParts(formatted, parts);
@ -165,7 +164,7 @@ TEST(IntlDateIntervalFormat, TryFormattedToParts)
ASSERT_EQ(parts[6].mSource, DateTimePartSource::StartRange);
ASSERT_EQ(parts[7].mType, DateTimePartType::Literal);
ASSERT_EQ(getSubSpan(7), MakeStringSpan(u"\u{2009}–\u{2009}"));
ASSERT_EQ(getSubSpan(7), MakeStringSpan(u""));
ASSERT_EQ(parts[7].mSource, DateTimePartSource::Shared);
ASSERT_EQ(parts[8].mType, DateTimePartType::Month);

Просмотреть файл

@ -38,7 +38,7 @@ TEST(IntlDateTimeFormat, Style_enUS_utf8)
TestBuffer<char> buffer;
dtFormat->TryFormat(DATE, buffer).unwrap();
ASSERT_TRUE(buffer.verboseMatches("Sep 23, 2002, 8:07:30\u{202F}PM"));
ASSERT_TRUE(buffer.verboseMatches("Sep 23, 2002, 8:07:30 PM"));
}
TEST(IntlDateTimeFormat, Style_enUS_utf16)
@ -51,7 +51,7 @@ TEST(IntlDateTimeFormat, Style_enUS_utf16)
TestBuffer<char16_t> buffer;
dtFormat->TryFormat(DATE, buffer).unwrap();
ASSERT_TRUE(buffer.verboseMatches(u"Sep 23, 2002, 8:07:30\u{202F}PM"));
ASSERT_TRUE(buffer.verboseMatches(u"Sep 23, 2002, 8:07:30 PM"));
}
TEST(IntlDateTimeFormat, Style_ar_utf8)
@ -86,7 +86,7 @@ TEST(IntlDateTimeFormat, Style_enUS_fallback_to_default_styles)
TestBuffer<char> buffer;
dtFormat->TryFormat(DATE, buffer).unwrap();
ASSERT_TRUE(buffer.verboseMatches("Sep 23, 2002, 8:07:30\u{202F}PM"));
ASSERT_TRUE(buffer.verboseMatches("Sep 23, 2002, 8:07:30 PM"));
}
TEST(IntlDateTimeFormat, Time_zone_IANA_identifier)
@ -103,7 +103,7 @@ TEST(IntlDateTimeFormat, Time_zone_IANA_identifier)
.unwrap();
TestBuffer<char> buffer;
dtFormat->TryFormat(DATE, buffer).unwrap();
ASSERT_TRUE(buffer.verboseMatches("Sep 23, 2002, 12:07:30\u{202F}PM"));
ASSERT_TRUE(buffer.verboseMatches("Sep 23, 2002, 12:07:30 PM"));
}
TEST(IntlDateTimeFormat, GetAllowedHourCycles)
@ -191,7 +191,7 @@ TEST(IntlDateTimeFormat, Components)
TestBuffer<char16_t> buffer;
ASSERT_TRUE(FormatComponents(buffer, components));
ASSERT_TRUE(buffer.verboseMatches(u"9/23/2002, 8:07:30\u{202F}PM"));
ASSERT_TRUE(buffer.verboseMatches(u"9/23/2002, 8:07:30 PM"));
}
TEST(IntlDateTimeFormat, Components_es_ES)
@ -246,7 +246,7 @@ TEST(IntlDateTimeFormat, ComponentsHour12Default)
TestBuffer<char16_t> buffer;
ASSERT_TRUE(FormatComponents(buffer, components));
ASSERT_TRUE(buffer.verboseMatches(u"8:07\u{202F}PM"));
ASSERT_TRUE(buffer.verboseMatches(u"8:07 PM"));
}
TEST(IntlDateTimeFormat, ComponentsHour24)

Просмотреть файл

@ -108,8 +108,10 @@ static bool IsStandaloneMonth(UDateFormatSymbolType symbolType) {
case UDAT_ZODIAC_NAMES_WIDE:
case UDAT_ZODIAC_NAMES_ABBREVIATED:
case UDAT_ZODIAC_NAMES_NARROW:
# ifndef U_HIDE_DRAFT_API
case UDAT_NARROW_QUARTERS:
case UDAT_STANDALONE_NARROW_QUARTERS:
# endif
return false;
}

Просмотреть файл

@ -820,7 +820,11 @@ class DisplayNames final {
break;
case DisplayNames::Style::Narrow:
#ifndef U_HIDE_DRAFT_API
symbolType = UDAT_STANDALONE_NARROW_QUARTERS;
#else
symbolType = UDAT_STANDALONE_SHORT_QUARTERS;
#endif
break;
}

Просмотреть файл

@ -1,6 +1,6 @@
// Generated by make_intl_data.py. DO NOT EDIT.
// Version: CLDR-42
// URL: https://unicode.org/Public/cldr/42/core.zip
// Version: CLDR-41
// URL: https://unicode.org/Public/cldr/41/core.zip
#include "mozilla/Assertions.h"
#include "mozilla/Span.h"
@ -99,8 +99,8 @@ static bool IsCanonicallyCasedTransformType(mozilla::Span<const char> type) {
#endif
// Mappings from language subtags to preferred values.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::LanguageMapping(LanguageSubtag& language) {
MOZ_ASSERT(IsStructurallyValidLanguageTag(language.Span()));
MOZ_ASSERT(IsCanonicallyCasedLanguageTag(language.Span()));
@ -121,91 +121,91 @@ bool mozilla::intl::Locale::LanguageMapping(LanguageSubtag& language) {
}
if (language.Length() == 3) {
static const char languages[408][4] = {
"aam", "aar", "abk", "adp", "afr", "agp", "ais", "ajt", "aju", "aka",
"alb", "als", "amh", "ara", "arb", "arg", "arm", "asd", "asm", "aue",
"ava", "ave", "aym", "ayr", "ayx", "aze", "azj", "bak", "bam", "baq",
"baz", "bcc", "bcl", "bel", "ben", "bgm", "bhk", "bic", "bih", "bis",
"bjd", "bjq", "bkb", "blg", "bod", "bos", "bre", "btb", "bul", "bur",
"bxk", "bxr", "cat", "ccq", "ces", "cha", "che", "chi", "chu", "chv",
"cjr", "cka", "cld", "cmk", "cmn", "cor", "cos", "coy", "cqu", "cre",
"cwd", "cym", "cze", "daf", "dan", "dap", "deu", "dgo", "dhd", "dik",
"diq", "dit", "div", "djl", "dkl", "drh", "drr", "dud", "duj", "dut",
"dwl", "dzo", "ekk", "ell", "elp", "emk", "eng", "epo", "esk", "est",
"eus", "ewe", "fao", "fas", "fat", "fij", "fin", "fra", "fre", "fry",
"fuc", "ful", "gav", "gaz", "gbc", "gbo", "geo", "ger", "gfx", "ggn",
"ggo", "ggr", "gio", "gla", "gle", "glg", "gli", "glv", "gno", "gre",
"grn", "gti", "gug", "guj", "guv", "gya", "hat", "hau", "hdn", "hea",
"heb", "her", "him", "hin", "hmo", "hrr", "hrv", "hun", "hye", "ibi",
"ibo", "ice", "ido", "iii", "ike", "iku", "ile", "ill", "ilw", "ina",
"ind", "ipk", "isl", "ita", "izi", "jar", "jav", "jeg", "jpn", "kal",
"kan", "kas", "kat", "kau", "kaz", "kdv", "kgc", "kgd", "kgh", "khk",
"khm", "kik", "kin", "kir", "kmr", "knc", "kng", "knn", "koj", "kom",
"kon", "kor", "kpp", "kpv", "krm", "ktr", "kua", "kur", "kvs", "kwq",
"kxe", "kxl", "kzh", "kzj", "kzt", "lak", "lao", "lat", "lav", "lbk",
"leg", "lii", "lim", "lin", "lit", "llo", "lmm", "ltz", "lub", "lug",
"lvs", "mac", "mah", "mal", "mao", "mar", "may", "meg", "mgx", "mhr",
"mkd", "mlg", "mlt", "mnk", "mnt", "mof", "mol", "mon", "mri", "msa",
"mst", "mup", "mwd", "mwj", "mya", "myd", "myt", "nad", "nau", "nav",
"nbf", "nbl", "nbx", "ncp", "nde", "ndo", "nep", "nld", "nln", "nlr",
"nno", "nns", "nnx", "nob", "noo", "nor", "npi", "nts", "nxu", "nya",
"oci", "ojg", "oji", "ori", "orm", "ory", "oss", "oun", "pan", "pat",
"pbu", "pcr", "per", "pes", "pli", "plt", "pmc", "pmu", "pnb", "pol",
"por", "ppa", "ppr", "pry", "pus", "puz", "que", "quz", "rmr", "rmy",
"roh", "ron", "rum", "run", "rus", "sag", "san", "sap", "sca", "scc",
"scr", "sgl", "sin", "skk", "slk", "slo", "slv", "smd", "sme", "smo",
"sna", "snb", "snd", "som", "sot", "spa", "spy", "sqi", "src", "srd",
"srp", "ssw", "sul", "sum", "sun", "swa", "swe", "swh", "tah", "tam",
"tat", "tdu", "tel", "tgg", "tgk", "tgl", "tha", "thc", "thw", "thx",
"tib", "tid", "tie", "tir", "tkk", "tlw", "tmp", "tne", "ton", "tsf",
"tsn", "tso", "ttq", "tuk", "tur", "twi", "uig", "ukr", "umu", "unp",
"uok", "urd", "uzb", "uzn", "ven", "vie", "vol", "wel", "wgw", "wit",
"wiw", "wln", "wol", "xba", "xho", "xia", "xkh", "xpe", "xrq", "xsj",
"xsl", "ybd", "ydd", "yen", "yid", "yiy", "yma", "ymt", "yor", "yos",
"yuu", "zai", "zha", "zho", "zir", "zsm", "zul", "zyb",
static const char languages[404][4] = {
"aam", "aar", "abk", "adp", "afr", "agp", "ais", "aju", "aka", "alb",
"als", "amh", "ara", "arb", "arg", "arm", "asd", "asm", "aue", "ava",
"ave", "aym", "ayr", "ayx", "aze", "azj", "bak", "bam", "baq", "baz",
"bcc", "bcl", "bel", "ben", "bgm", "bhk", "bic", "bih", "bis", "bjd",
"bjq", "bkb", "blg", "bod", "bos", "bre", "btb", "bul", "bur", "bxk",
"bxr", "cat", "ccq", "ces", "cha", "che", "chi", "chu", "chv", "cjr",
"cka", "cld", "cmk", "cmn", "cor", "cos", "coy", "cqu", "cre", "cwd",
"cym", "cze", "daf", "dan", "dap", "deu", "dgo", "dhd", "dik", "diq",
"dit", "div", "djl", "dkl", "drh", "drr", "dud", "duj", "dut", "dwl",
"dzo", "ekk", "ell", "elp", "emk", "eng", "epo", "esk", "est", "eus",
"ewe", "fao", "fas", "fat", "fij", "fin", "fra", "fre", "fry", "fuc",
"ful", "gav", "gaz", "gbc", "gbo", "geo", "ger", "gfx", "ggn", "ggo",
"ggr", "gio", "gla", "gle", "glg", "gli", "glv", "gno", "gre", "grn",
"gti", "gug", "guj", "guv", "gya", "hat", "hau", "hdn", "hea", "heb",
"her", "him", "hin", "hmo", "hrr", "hrv", "hun", "hye", "ibi", "ibo",
"ice", "ido", "iii", "ike", "iku", "ile", "ill", "ilw", "ina", "ind",
"ipk", "isl", "ita", "izi", "jar", "jav", "jeg", "jpn", "kal", "kan",
"kas", "kat", "kau", "kaz", "kdv", "kgc", "kgd", "kgh", "khk", "khm",
"kik", "kin", "kir", "kmr", "knc", "kng", "knn", "koj", "kom", "kon",
"kor", "kpp", "kpv", "krm", "ktr", "kua", "kur", "kvs", "kwq", "kxe",
"kxl", "kzh", "kzj", "kzt", "lao", "lat", "lav", "lbk", "leg", "lii",
"lim", "lin", "lit", "llo", "lmm", "ltz", "lub", "lug", "lvs", "mac",
"mah", "mal", "mao", "mar", "may", "meg", "mgx", "mhr", "mkd", "mlg",
"mlt", "mnk", "mnt", "mof", "mol", "mon", "mri", "msa", "mst", "mup",
"mwd", "mwj", "mya", "myd", "myt", "nad", "nau", "nav", "nbf", "nbl",
"nbx", "ncp", "nde", "ndo", "nep", "nld", "nln", "nlr", "nno", "nns",
"nnx", "nob", "noo", "nor", "npi", "nts", "nxu", "nya", "oci", "ojg",
"oji", "ori", "orm", "ory", "oss", "oun", "pan", "pat", "pbu", "pcr",
"per", "pes", "pli", "plt", "pmc", "pmu", "pnb", "pol", "por", "ppa",
"ppr", "pry", "pus", "puz", "que", "quz", "rmr", "rmy", "roh", "ron",
"rum", "run", "rus", "sag", "san", "sap", "sca", "scc", "scr", "sgl",
"sin", "skk", "slk", "slo", "slv", "sme", "smo", "sna", "snd", "som",
"sot", "spa", "spy", "sqi", "src", "srd", "srp", "ssw", "sul", "sum",
"sun", "swa", "swe", "swh", "tah", "tam", "tat", "tdu", "tel", "tgg",
"tgk", "tgl", "tha", "thc", "thw", "thx", "tib", "tid", "tie", "tir",
"tkk", "tlw", "tmp", "tne", "ton", "tsf", "tsn", "tso", "ttq", "tuk",
"tur", "twi", "uig", "ukr", "umu", "unp", "uok", "urd", "uzb", "uzn",
"ven", "vie", "vol", "wel", "wgw", "wit", "wiw", "wln", "wol", "xba",
"xho", "xia", "xkh", "xpe", "xrq", "xsj", "xsl", "ybd", "ydd", "yen",
"yid", "yiy", "yma", "ymt", "yor", "yos", "yuu", "zai", "zha", "zho",
"zir", "zsm", "zul", "zyb",
};
static const char* aliases[408] = {
"aas", "aa", "ab", "dz", "af", "apf", "ami", "aeb", "jrb", "ak",
"sq", "sq", "am", "ar", "ar", "an", "hy", "snz", "as", "ktz",
"av", "ae", "ay", "ay", "nun", "az", "az", "ba", "bm", "eu",
"nvo", "bal", "bik", "be", "bn", "bcg", "fbl", "bir", "bho", "bi",
"drl", "bzc", "ebk", "iba", "bo", "bs", "br", "beb", "bg", "my",
"luy", "bua", "ca", "rki", "cs", "ch", "ce", "zh", "cu", "cv",
"mom", "cmr", "syr", "xch", "zh", "kw", "co", "pij", "quh", "cr",
"cr", "cy", "cs", "dnj", "da", "njz", "de", "doi", "mwr", "din",
"zza", "dif", "dv", "dze", "aqd", "mn", "kzk", "uth", "dwu", "nl",
"dbt", "dz", "et", "el", "amq", "man", "en", "eo", "ik", "et",
"eu", "ee", "fo", "fa", "ak", "fj", "fi", "fr", "fr", "fy",
"ff", "ff", "dev", "om", "wny", "grb", "ka", "de", "vaj", "gvr",
"esg", "gtu", "aou", "gd", "ga", "gl", "kzk", "gv", "gon", "el",
"gn", "nyc", "gn", "gu", "duz", "gba", "ht", "ha", "hai", "hmn",
"he", "hz", "srx", "hi", "ho", "jal", "hr", "hu", "hy", "opa",
"ig", "is", "io", "ii", "iu", "iu", "ie", "ilm", "gal", "ia",
"id", "ik", "is", "it", "eza", "jgk", "jv", "oyb", "ja", "kl",
"kn", "ks", "ka", "kr", "kk", "zkd", "tdf", "ncq", "kml", "mn",
"km", "ki", "rw", "ky", "ku", "kr", "kg", "kok", "kwv", "kv",
"kg", "ko", "jkm", "kv", "bmf", "dtp", "kj", "ku", "gdj", "yam",
"tvd", "kru", "dgl", "dtp", "dtp", "ksp", "lo", "la", "lv", "bnc",
"enl", "raq", "li", "ln", "lt", "ngt", "rmx", "lb", "lu", "lg",
"lv", "mk", "mh", "ml", "mi", "mr", "ms", "cir", "jbk", "chm",
"mk", "mg", "mt", "man", "wnn", "xnt", "ro", "mn", "mi", "ms",
"mry", "raj", "dmw", "vaj", "my", "aog", "mry", "xny", "na", "nv",
"nru", "nr", "ekc", "kdz", "nd", "ng", "ne", "nl", "azd", "nrk",
"nn", "nbr", "ngv", "nb", "dtd", "no", "ne", "pij", "bpp", "ny",
"oc", "oj", "oj", "or", "om", "or", "os", "vaj", "pa", "kxr",
"ps", "adx", "fa", "fa", "pi", "mg", "huw", "phr", "lah", "pl",
"pt", "bfy", "lcq", "prt", "ps", "pub", "qu", "qu", "emx", "rom",
"rm", "ro", "ro", "rn", "ru", "sg", "sa", "aqt", "hle", "sr",
"hr", "isk", "si", "oyb", "sk", "sk", "sl", "kmb", "se", "sm",
"sn", "iba", "sd", "so", "st", "es", "kln", "sq", "sc", "sc",
"sr", "ss", "sgd", "ulw", "su", "sw", "sv", "sw", "ty", "ta",
"tt", "dtp", "te", "bjp", "tg", "fil", "th", "tpo", "ola", "oyb",
"bo", "itd", "ras", "ti", "twm", "weo", "tyj", "kak", "to", "taj",
"tn", "ts", "tmh", "tk", "tr", "ak", "ug", "uk", "del", "wro",
"ema", "ur", "uz", "uz", "ve", "vi", "vo", "cy", "wgb", "nol",
"nwo", "wa", "wo", "cax", "xh", "acn", "waw", "kpe", "dmw", "suj",
"den", "rki", "yi", "ynq", "yi", "yrm", "lrr", "mtm", "yo", "zom",
"yug", "zap", "za", "zh", "scv", "ms", "zu", "za",
static const char* aliases[404] = {
"aas", "aa", "ab", "dz", "af", "apf", "ami", "jrb", "ak", "sq",
"sq", "am", "ar", "ar", "an", "hy", "snz", "as", "ktz", "av",
"ae", "ay", "ay", "nun", "az", "az", "ba", "bm", "eu", "nvo",
"bal", "bik", "be", "bn", "bcg", "fbl", "bir", "bho", "bi", "drl",
"bzc", "ebk", "iba", "bo", "bs", "br", "beb", "bg", "my", "luy",
"bua", "ca", "rki", "cs", "ch", "ce", "zh", "cu", "cv", "mom",
"cmr", "syr", "xch", "zh", "kw", "co", "pij", "quh", "cr", "cr",
"cy", "cs", "dnj", "da", "njz", "de", "doi", "mwr", "din", "zza",
"dif", "dv", "dze", "aqd", "mn", "kzk", "uth", "dwu", "nl", "dbt",
"dz", "et", "el", "amq", "man", "en", "eo", "ik", "et", "eu",
"ee", "fo", "fa", "ak", "fj", "fi", "fr", "fr", "fy", "ff",
"ff", "dev", "om", "wny", "grb", "ka", "de", "vaj", "gvr", "esg",
"gtu", "aou", "gd", "ga", "gl", "kzk", "gv", "gon", "el", "gn",
"nyc", "gn", "gu", "duz", "gba", "ht", "ha", "hai", "hmn", "he",
"hz", "srx", "hi", "ho", "jal", "hr", "hu", "hy", "opa", "ig",
"is", "io", "ii", "iu", "iu", "ie", "ilm", "gal", "ia", "id",
"ik", "is", "it", "eza", "jgk", "jv", "oyb", "ja", "kl", "kn",
"ks", "ka", "kr", "kk", "zkd", "tdf", "ncq", "kml", "mn", "km",
"ki", "rw", "ky", "ku", "kr", "kg", "kok", "kwv", "kv", "kg",
"ko", "jkm", "kv", "bmf", "dtp", "kj", "ku", "gdj", "yam", "tvd",
"kru", "dgl", "dtp", "dtp", "lo", "la", "lv", "bnc", "enl", "raq",
"li", "ln", "lt", "ngt", "rmx", "lb", "lu", "lg", "lv", "mk",
"mh", "ml", "mi", "mr", "ms", "cir", "jbk", "chm", "mk", "mg",
"mt", "man", "wnn", "xnt", "ro", "mn", "mi", "ms", "mry", "raj",
"dmw", "vaj", "my", "aog", "mry", "xny", "na", "nv", "nru", "nr",
"ekc", "kdz", "nd", "ng", "ne", "nl", "azd", "nrk", "nn", "nbr",
"ngv", "nb", "dtd", "no", "ne", "pij", "bpp", "ny", "oc", "oj",
"oj", "or", "om", "or", "os", "vaj", "pa", "kxr", "ps", "adx",
"fa", "fa", "pi", "mg", "huw", "phr", "lah", "pl", "pt", "bfy",
"lcq", "prt", "ps", "pub", "qu", "qu", "emx", "rom", "rm", "ro",
"ro", "rn", "ru", "sg", "sa", "aqt", "hle", "sr", "hr", "isk",
"si", "oyb", "sk", "sk", "sl", "se", "sm", "sn", "sd", "so",
"st", "es", "kln", "sq", "sc", "sc", "sr", "ss", "sgd", "ulw",
"su", "sw", "sv", "sw", "ty", "ta", "tt", "dtp", "te", "bjp",
"tg", "fil", "th", "tpo", "ola", "oyb", "bo", "itd", "ras", "ti",
"twm", "weo", "tyj", "kak", "to", "taj", "tn", "ts", "tmh", "tk",
"tr", "ak", "ug", "uk", "del", "wro", "ema", "ur", "uz", "uz",
"ve", "vi", "vo", "cy", "wgb", "nol", "nwo", "wa", "wo", "cax",
"xh", "acn", "waw", "kpe", "dmw", "suj", "den", "rki", "yi", "ynq",
"yi", "yrm", "lrr", "mtm", "yo", "zom", "yug", "zap", "za", "zh",
"scv", "ms", "zu", "za",
};
if (const char* replacement = SearchReplacement(languages, aliases, language)) {
@ -219,8 +219,8 @@ bool mozilla::intl::Locale::LanguageMapping(LanguageSubtag& language) {
}
// Language subtags with complex mappings.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::ComplexLanguageMapping(const LanguageSubtag& language) {
MOZ_ASSERT(IsStructurallyValidLanguageTag(language.Span()));
MOZ_ASSERT(IsCanonicallyCasedLanguageTag(language.Span()));
@ -241,8 +241,8 @@ bool mozilla::intl::Locale::ComplexLanguageMapping(const LanguageSubtag& languag
}
// Mappings from script subtags to preferred values.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::ScriptMapping(ScriptSubtag& script) {
MOZ_ASSERT(IsStructurallyValidScriptTag(script.Span()));
MOZ_ASSERT(IsCanonicallyCasedScriptTag(script.Span()));
@ -257,8 +257,8 @@ bool mozilla::intl::Locale::ScriptMapping(ScriptSubtag& script) {
}
// Mappings from region subtags to preferred values.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::RegionMapping(RegionSubtag& region) {
MOZ_ASSERT(IsStructurallyValidRegionTag(region.Span()));
MOZ_ASSERT(IsCanonicallyCasedRegionTag(region.Span()));
@ -357,8 +357,8 @@ bool mozilla::intl::Locale::RegionMapping(RegionSubtag& region) {
}
// Region subtags with complex mappings.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::ComplexRegionMapping(const RegionSubtag& region) {
MOZ_ASSERT(IsStructurallyValidRegionTag(region.Span()));
MOZ_ASSERT(IsCanonicallyCasedRegionTag(region.Span()));
@ -380,8 +380,8 @@ bool mozilla::intl::Locale::ComplexRegionMapping(const RegionSubtag& region) {
}
// Language subtags with complex mappings.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
void mozilla::intl::Locale::PerformComplexLanguageMappings() {
MOZ_ASSERT(IsStructurallyValidLanguageTag(Language().Span()));
MOZ_ASSERT(IsCanonicallyCasedLanguageTag(Language().Span()));
@ -416,8 +416,8 @@ void mozilla::intl::Locale::PerformComplexLanguageMappings() {
}
// Region subtags with complex mappings.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
void mozilla::intl::Locale::PerformComplexRegionMappings() {
MOZ_ASSERT(IsStructurallyValidLanguageTag(Language().Span()));
MOZ_ASSERT(IsCanonicallyCasedLanguageTag(Language().Span()));
@ -643,8 +643,8 @@ static bool IsLessThan(const T& a, const U& b) {
}
// Mappings from variant subtags to preferred values.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::PerformVariantMappings() {
// The variant subtags need to be sorted for binary search.
MOZ_ASSERT(std::is_sorted(mVariants.begin(), mVariants.end(),
@ -707,8 +707,8 @@ bool mozilla::intl::Locale::PerformVariantMappings() {
}
// Canonicalize legacy locale identifiers.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::UpdateLegacyMappings() {
// We're mapping legacy tags to non-legacy form here.
// Other tags remain unchanged.
@ -865,8 +865,8 @@ bool mozilla::intl::Locale::UpdateLegacyMappings() {
}
// Mappings from legacy sign languages.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
bool mozilla::intl::Locale::SignLanguageMapping(LanguageSubtag& language,
const RegionSubtag& region) {
MOZ_ASSERT(language.EqualTo("sgn"));

Просмотреть файл

@ -9,12 +9,12 @@
*/
/*
* Created on Tue Oct 25 06:53:25 2022 from UCD data files with version info:
* Created on Thu Dec 2 15:20:26 2021 from UCD data files with version info:
*
# Unicode Character Database
# Date: 2022-09-02
# © 2022 Unicode®, Inc.
# Date: 2021-09-10, 17:22:00 GMT [KW]
# © 2021 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
@ -24,17 +24,17 @@
# UAX #44, "Unicode Character Database"
# UTS #51, "Unicode Emoji"
#
# The UAXes and UTS #51 can be accessed at https://www.unicode.org/versions/Unicode15.0.0/
# The UAXes and UTS #51 can be accessed at https://www.unicode.org/versions/Unicode14.0.0/
This directory contains the final data files
for the Unicode Character Database, for Version 15.0.0 of the Unicode Standard.
for the Unicode Character Database, for Version 14.0.0 of the Unicode Standard.
# IdentifierStatus.txt
# Date: 2022-08-26, 16:49:09 GMT
# Date: 2021-08-12, 01:13:34 GMT
#
# Unihan_Variants.txt
# Date: 2022-08-01 16:36:07 GMT [JHJ]
# Date: 2021-08-06 16:32:36 GMT [JHJ]
# VerticalOrientation-17.txt
# Date: 2016-10-20, 07:00:00 GMT [EM, KI, LI]
@ -246,10 +246,8 @@ enum class Script : int16_t {
TANGSA = 195,
TOTO = 196,
VITHKUQI = 197,
KAWI = 198,
NAG_MUNDARI = 199,
NUM_SCRIPT_CODES = 200,
NUM_SCRIPT_CODES = 198,
INVALID = -1
};

Просмотреть файл

@ -48,7 +48,7 @@ dt-style = Style formatting: { DATETIME($dateArg, dateStyle: "short", timeStyle:
testMessage(
"dt-bare",
FIREFOX_RELEASE_TIMESTAMP,
/^The bare date is: Sep \d+, 2002, \d+:\d+:\d+\u202f(AM|PM)$/
/^The bare date is: Sep \d+, 2002, \d+:\d+:\d+ (AM|PM)$/
);
testMessage(
"dt-month-year",
@ -58,17 +58,17 @@ dt-style = Style formatting: { DATETIME($dateArg, dateStyle: "short", timeStyle:
testMessage(
"dt-bad",
FIREFOX_RELEASE_TIMESTAMP,
/^This is a bad month: Sep \d+, 2002, \d+:\d+:\d+\u202f(AM|PM)$/
/^This is a bad month: Sep \d+, 2002, \d+:\d+:\d+ (AM|PM)$/
);
testMessage(
"dt-unknown",
FIREFOX_RELEASE_TIMESTAMP,
/^Unknown: Sep \d+, 2002, \d+:\d+:\d+\u202f(AM|PM)$/
/^Unknown: Sep \d+, 2002, \d+:\d+:\d+ (AM|PM)$/
);
testMessage(
"dt-style",
FIREFOX_RELEASE_TIMESTAMP,
/^Style formatting: \d+\/\d+\/\d+, \d+:\d+\u202f(AM|PM)$/
/^Style formatting: \d+\/\d+\/\d+, \d+:\d+ (AM|PM)$/
);
// TODO - Bug 1707728

Просмотреть файл

@ -9,7 +9,7 @@
*/
/*
* Created on Wed Oct 26 05:55:58 2022 from CLDR data file cldr-common-42.0.zip.
* Created on Thu Nov 4 11:41:07 2021 from CLDR data file cldr-common-40.0.zip.
*
* * * * * This file contains MACHINE-GENERATED DATA, do not edit! * * * * *
*
@ -18,28 +18,28 @@
static const LangQuotesRec sLangQuotes[] = {
// clang-format off
{ "af\0ak\0as\0asa\0az\0bem\0bez\0bn\0brx\0ccp\0ceb\0cgg\0chr\0cy\0da\0dav\0dje\0doi\0dz\0ebu\0ee\0en\0es-419\0ff-Adlm\0fil\0fo\0gd\0gl\0gu\0guz\0hi\0id\0jmc\0jv\0kam\0kde\0kea\0khq\0ki\0kln\0km\0kn\0ko\0kok\0ksb\0ku\0lg\0ln\0lo\0lrc\0lu\0luo\0lv\0mas\0mer\0mfe\0mgo\0mi\0ml\0mn\0mr\0ms\0mt\0my\0naq\0nd\0ne\0nus\0nyn\0or\0pa\0pcm\0pis\0rof\0rwk\0saq\0sat\0sbp\0sd\0seh\0ses\0si\0sw\0ta\0te\0teo\0th\0to\0tr\0tt\0twq\0tzm\0uz-Cyrl\0vai\0vi\0vun\0wo\0xh\0xog\0yo\0yue-Hans\0zh\0zu\0", { { 0x201c, 0x201d, 0x2018, 0x2019 } } },
{ "af\0ak\0as\0asa\0az\0bem\0bez\0bn\0brx\0ccp\0ceb\0cgg\0chr\0cy\0da\0dav\0dje\0doi\0dz\0ebu\0ee\0en\0es-419\0ff-Adlm\0fil\0fo\0gd\0gl\0gu\0guz\0hi\0id\0jmc\0jv\0kam\0kde\0kea\0khq\0ki\0kln\0km\0kn\0ko\0kok\0ksb\0ku\0lg\0ln\0lo\0lrc\0lu\0luo\0lv\0mas\0mer\0mfe\0mgo\0mi\0ml\0mn\0mr\0ms\0mt\0my\0naq\0nd\0ne\0nus\0nyn\0or\0pa\0pcm\0rof\0rwk\0saq\0sat\0sbp\0sd\0seh\0ses\0si\0sw\0ta\0te\0teo\0th\0to\0tr\0tt\0twq\0tzm\0uz-Cyrl\0vai\0vi\0vun\0wo\0xog\0yo\0yue-Hans\0zh\0zu\0", { { 0x201c, 0x201d, 0x2018, 0x2019 } } },
{ "agq\0ff\0", { { 0x201e, 0x201d, 0x201a, 0x2019 } } },
{ "am\0az-Cyrl\0fa\0fr-CH\0gsw\0jgo\0kkj\0mzn\0", { { 0xab, 0xbb, 0x2039, 0x203a } } },
{ "ar\0ur\0", { { 0x201d, 0x201c, 0x2019, 0x2018 } } },
{ "ast\0bm\0br\0ca\0dyo\0el\0es\0eu\0ewo\0it\0kab\0kk\0mg\0mua\0nnh\0pt-PT\0sc\0sg\0sq\0ti\0", { { 0xab, 0xbb, 0x201c, 0x201d } } },
{ "bas\0be\0cv\0ky\0ru\0sah\0uk\0", { { 0xab, 0xbb, 0x201e, 0x201c } } },
{ "ast\0bm\0br\0ca\0dyo\0el\0es\0ewo\0it\0kab\0kk\0mg\0mua\0nnh\0pt-PT\0sc\0sg\0sq\0ti\0", { { 0xab, 0xbb, 0x201c, 0x201d } } },
{ "bas\0be\0ky\0ru\0sah\0uk\0", { { 0xab, 0xbb, 0x201e, 0x201c } } },
{ "bg\0lt\0", { { 0x201e, 0x201c, 0x201e, 0x201c } } },
{ "bs-Cyrl\0cs\0de\0dsb\0et\0hr\0hsb\0is\0lb\0luy\0mk\0sk\0sl\0", { { 0x201e, 0x201c, 0x201a, 0x2018 } } },
{ "bs\0", { { 0x201e, 0x201d, 0x2018, 0x2019 } } },
{ "dua\0ksf\0no\0rw\0", { { 0xab, 0xbb, 0x2018, 0x2019 } } },
{ "eu\0tk\0", { { 0x201c, 0x201d, 0x201c, 0x201d } } },
{ "fi\0he\0lag\0rn\0sn\0sv\0", { { 0x201d, 0x201d, 0x2019, 0x2019 } } },
{ "fr-CA\0", { { 0xab, 0xbb, 0x201d, 0x201c } } },
{ "fr\0hy\0yav\0", { { 0xab, 0xbb, 0xab, 0xbb } } },
{ "hu\0", { { 0x201e, 0x201d, 0xbb, 0xab } } },
{ "ia\0ti-ER\0", { { 0x2018, 0x2019, 0x201c, 0x201d } } },
{ "ia\0ti-ER\0xh\0", { { 0x2018, 0x2019, 0x201c, 0x201d } } },
{ "ja\0yue\0zh-Hant\0", { { 0x300c, 0x300d, 0x300e, 0x300f } } },
{ "ka\0", { { 0x201e, 0x201c, 0xab, 0xbb } } },
{ "nl\0", { { 0x2018, 0x2019, 0x2018, 0x2019 } } },
{ "nmg\0pl\0ro\0", { { 0x201e, 0x201d, 0xab, 0xbb } } },
{ "shi\0zgh\0", { { 0xab, 0xbb, 0x201e, 0x201d } } },
{ "sr\0", { { 0x201e, 0x201c, 0x2018, 0x2018 } } },
{ "tk\0", { { 0x201c, 0x201d, 0x201c, 0x201d } } },
{ "uz\0", { { 0x201c, 0x201d, 0x2019, 0x2018 } } },
// clang-format on
};

Просмотреть файл

@ -9,8 +9,8 @@
#include "mozilla/ArrayUtils.h" // for ArrayLength
#include <stdlib.h> // for bsearch
/* SpecialCasing-15.0.0.txt */
/* Date: 2022-02-02, 23:35:52 GMT */
/* SpecialCasing-14.0.0.txt */
/* Date: 2021-03-08, 19:35:55 GMT */
using mozilla::unicode::MultiCharMapping;

Просмотреть файл

@ -9,12 +9,12 @@
*/
/*
* Created on Tue Oct 25 06:53:25 2022 from UCD data files with version info:
* Created on Thu Nov 25 12:44:10 2021 from UCD data files with version info:
*
# Unicode Character Database
# Date: 2022-09-02
# © 2022 Unicode®, Inc.
# Date: 2021-09-10, 17:22:00 GMT [KW]
# © 2021 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
@ -24,17 +24,17 @@
# UAX #44, "Unicode Character Database"
# UTS #51, "Unicode Emoji"
#
# The UAXes and UTS #51 can be accessed at https://www.unicode.org/versions/Unicode15.0.0/
# The UAXes and UTS #51 can be accessed at https://www.unicode.org/versions/Unicode14.0.0/
This directory contains the final data files
for the Unicode Character Database, for Version 15.0.0 of the Unicode Standard.
for the Unicode Character Database, for Version 14.0.0 of the Unicode Standard.
# IdentifierStatus.txt
# Date: 2022-08-26, 16:49:09 GMT
# Date: 2021-08-12, 01:13:34 GMT
#
# Unihan_Variants.txt
# Date: 2022-08-01 16:36:07 GMT [JHJ]
# Date: 2021-08-06 16:32:36 GMT [JHJ]
# VerticalOrientation-17.txt
# Date: 2016-10-20, 07:00:00 GMT [EM, KI, LI]
@ -53,14 +53,14 @@ static const uint8_t sCharProp2Planes[16] = {1,2,3,4,4,4,4,4,4,4,4,4,4,4,5,5};
static const uint8_t sCharProp2Pages[6][512] = {
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,34,35,36,37,38,39,34,34,34,34,40,40,41,40,42,40,40,40,40,40,40,40,43,40,40,44,45,46,47,48,49,50,51,52,40,53,54,55,34,40,56,57,34,58,59,40,40,40,40,40,40,60,61,40,40,62,63,40,34,34,34,64,65,66,67,34,34,68,34,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,34,34,34,34,34,34,34,34,34,71,40,40,72,40,73,74,40,40,75,76,77,40,78,40,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,79,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,80,34,40,40,40,40,40,40,81,40,82,83},
{40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,84,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,85,40,40,40,40,34,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,34,34,34,34,86,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,34,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,87,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,88,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,40,40,34,40,40,40,40,40,40,40,40,40,34,34,34,34,34,86,40,40,40,40,40,40,40,40,89,40,40,90,40,40,40,40,40,40,40,40,40,40,40,40,40,91,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,92,34,34,34,34,34,34,34,34,34,34,34,40,40,34,34,40,40,40,40,40,40,40,40,40,40,40,40},
{69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,93,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,94,69,95,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,96,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,97,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,98},
{69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,99,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,100,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,98},
{40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,84,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,85,40,40,40,40,34,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,34,34,34,34,86,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,34,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,87,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,88,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,40,40,34,40,40,40,40,40,40,40,40,40,34,34,34,34,34,86,40,40,40,40,40,40,40,40,89,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,90,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,34,34,34,34,91,34,34,34,34,34,34,34,34,34,34,34,40,40,34,34,40,40,40,40,40,40,40,40,40,40,40,40},
{69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,92,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,93,69,94,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,95,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,96,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,97},
{69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,98,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,97},
{40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40},
{34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,98}
{34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,97}
};
static const nsCharProps2 sCharProp2Values[101][128] = {
static const nsCharProps2 sCharProp2Values[99][128] = {
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{0,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{0,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},
{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0}},
@ -86,11 +86,11 @@ static const nsCharProps2 sCharProp2Values[101][128] = {
{{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},
{{1,0},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},
{{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},
@ -109,7 +109,7 @@ static const nsCharProps2 sCharProp2Values[101][128] = {
{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0}},
{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{0,0},{1,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{0,0},{0,0},{1,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{0,0},{0,0},{1,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{0,0},{1,0},{0,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{0,0},{0,0},{1,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},
{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
@ -135,7 +135,7 @@ static const nsCharProps2 sCharProp2Values[101][128] = {
{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1}},
@ -149,19 +149,17 @@ static const nsCharProps2 sCharProp2Values[101][128] = {
{{1,0},{1,1},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0}},
{{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,0},{1,1},{1,1},{1,0},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{1,0}},
{{2,0},{2,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}},
{{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1}},
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}
{{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}
};
#define kFullWidthMaxPlane 0
#define kFullWidthIndexBits 10

Просмотреть файл

@ -1016,7 +1016,7 @@ set_define(
# ======================================================
system_lib_option("--with-system-icu", help="Use system ICU")
system_icu = pkg_check_modules("MOZ_ICU", "icu-i18n >= 72.1", when="--with-system-icu")
system_icu = pkg_check_modules("MOZ_ICU", "icu-i18n >= 71.1", when="--with-system-icu")
@depends("--with-system-icu")

Просмотреть файл

@ -33,7 +33,6 @@
- hmnp
- java
- kali
- kawi
- khmr
- knda
- lana
@ -55,7 +54,6 @@
- mymr
- mymrshan
- mymrtlng
- nagm
- newa
- nkoo
- olck

Просмотреть файл

@ -31,7 +31,6 @@
"hmnp", \
"java", \
"kali", \
"kawi", \
"khmr", \
"knda", \
"lana", \
@ -53,7 +52,6 @@
"mymr", \
"mymrshan", \
"mymrtlng", \
"nagm", \
"newa", \
"nkoo", \
"olck", \

Просмотреть файл

@ -1115,13 +1115,6 @@ static bool ParseDate(const CharT* s, size_t length, ClippedTime* result) {
int c = s[index];
index++;
// Normalize U+202F (NARROW NO-BREAK SPACE). This character appears between
// the AM/PM markers for |date.toLocaleString("en")|. We have to normalize
// it for backward compatibility reasons.
if (c == 0x202F) {
c = ' ';
}
// Spaces, ASCII control characters, and commas are simply ignored.
if (c <= ' ' || c == ',') {
continue;
@ -1176,11 +1169,6 @@ static bool ParseDate(const CharT* s, size_t length, ClippedTime* result) {
}
size_t partLength = index - partStart;
// See above for why we have to normalize U+202F.
if (c == 0x202F) {
c = ' ';
}
int n = int(u);
/*

Просмотреть файл

@ -655,78 +655,6 @@ skip script test262/built-ins/Date/parse/year-zero.js
skip script test262/intl402/Intl/supportedValuesOf/units.js
skip script test262/intl402/NumberFormat/prototype/format/units-invalid.js
# https://github.com/tc39/test262/pull/3676
skip script test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js
skip script test262/intl402/DateTimeFormat/prototype/formatRange/en-US.js
skip script test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js
skip script test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js
skip script test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js
# Unicode 15 changes
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js
skip script test262/built-ins/RegExp/property-escapes/generated/Cased.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js
skip script test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
skip script test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
skip script test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js
skip script test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
skip script test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
skip script test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js
skip script test262/built-ins/RegExp/property-escapes/generated/Lowercase.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js
skip script test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
skip script test262/built-ins/RegExp/property-escapes/generated/Emoji.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
skip script test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
skip script test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
skip script test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
skip script test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
skip script test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
skip script test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js
skip script test262/built-ins/RegExp/property-escapes/generated/Assigned.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
skip script test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js
skip script test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js
skip script test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js
skip script test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
skip script test262/built-ins/RegExp/property-escapes/generated/Diacritic.js
skip script test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js
##############################################
# Enable Iterator Helpers tests in the shell #

Просмотреть файл

@ -5,13 +5,13 @@ const testCases = [
timeZone: "Europe/London",
string: "Tue Aug 14 2018 00:00:00 GMT+0100 (BST)",
alternativeTimeZones: ["British Summer Time"],
localeString: "8/14/2018, 12:00:00\u202FAM GMT+1",
localeString: "8/14/2018, 12:00:00 AM GMT+1",
},
{
timeZone: "UTC",
string: "Tue Aug 14 2018 00:00:00 GMT+0000 (UTC)",
alternativeTimeZones: ["Coordinated Universal Time"],
localeString: "8/14/2018, 12:00:00\u202FAM UTC",
localeString: "8/14/2018, 12:00:00 AM UTC",
},
];

Просмотреть файл

@ -379,21 +379,21 @@ inTimeZone("Europe/Moscow", () => {
assertDateTime(dt, "Mon May 14 2012 12:13:14 GMT+0400 (Moscow Standard Time)");
let dtf = new Intl.DateTimeFormat("en-US", {hour: "numeric", minute: "numeric"});
assertEq(dtf.format(dt), "12:13\u202FPM");
assertEq(dtf.format(dt), "12:13 PM");
});
inTimeZone("Asia/Baku", () => {
let dt = new Date(2012, Month.May, 14, 12, 13, 14);
assertDateTime(dt, "Mon May 14 2012 12:13:14 GMT+0500 (Azerbaijan Summer Time)");
let dtf = new Intl.DateTimeFormat("en-US", {hour: "numeric", minute: "numeric"});
assertEq(dtf.format(dt), "12:13\u202FPM");
assertEq(dtf.format(dt), "12:13 PM");
});
inTimeZone("Asia/Tbilisi", () => {
let dt = new Date(2012, Month.May, 14, 12, 13, 14);
assertDateTime(dt, "Mon May 14 2012 12:13:14 GMT+0400 (Georgia Standard Time)");
let dtf = new Intl.DateTimeFormat("en-US", {hour: "numeric", minute: "numeric"});
assertEq(dtf.format(dt), "12:13\u202FPM");
assertEq(dtf.format(dt), "12:13 PM");
});
// bug 1335818

Просмотреть файл

@ -497,9 +497,9 @@ inTimeZone("America/Caracas", () => {
TimeString: "00:00:00 GMT-0400 (Venezuela Time)",
UTCString: "Wed, 05 Dec 2007 04:00:00 GMT",
ISOString: "2007-12-05T04:00:00.000Z",
LocaleString: "Wed, 12/05/2007, 12:00:00\u202FAM GMT-4",
LocaleString: "Wed, 12/05/2007, 12:00:00 AM GMT-4",
LocaleDateString: "Wed, 12/05/2007",
LocaleTimeString: "12:00:00\u202FAM GMT-4",
LocaleTimeString: "12:00:00 AM GMT-4",
});
}
@ -514,9 +514,9 @@ inTimeZone("America/Caracas", () => {
TimeString: "00:00:00 GMT-0430 (Venezuela Time)",
UTCString: "Wed, 12 Dec 2007 04:30:00 GMT",
ISOString: "2007-12-12T04:30:00.000Z",
LocaleString: "Wed, 12/12/2007, 12:00:00\u202FAM GMT-4:30",
LocaleString: "Wed, 12/12/2007, 12:00:00 AM GMT-4:30",
LocaleDateString: "Wed, 12/12/2007",
LocaleTimeString: "12:00:00\u202FAM GMT-4:30",
LocaleTimeString: "12:00:00 AM GMT-4:30",
});
}
});
@ -537,9 +537,9 @@ inTimeZone("Australia/Lord_Howe", () => {
TimeString: "00:00:00 GMT+1030 (Lord Howe Standard Time)",
UTCString: "Sat, 31 Jul 2010 13:30:00 GMT",
ISOString: "2010-07-31T13:30:00.000Z",
LocaleString: "Sun, 08/01/2010, 12:00:00\u202FAM GMT+10:30",
LocaleString: "Sun, 08/01/2010, 12:00:00 AM GMT+10:30",
LocaleDateString: "Sun, 08/01/2010",
LocaleTimeString: "12:00:00\u202FAM GMT+10:30",
LocaleTimeString: "12:00:00 AM GMT+10:30",
});
}
@ -554,9 +554,9 @@ inTimeZone("Australia/Lord_Howe", () => {
TimeString: "00:00:00 GMT+1100 (Lord Howe Daylight Time)",
UTCString: "Sat, 02 Jan 2010 13:00:00 GMT",
ISOString: "2010-01-02T13:00:00.000Z",
LocaleString: "Sun, 01/03/2010, 12:00:00\u202FAM GMT+11",
LocaleString: "Sun, 01/03/2010, 12:00:00 AM GMT+11",
LocaleDateString: "Sun, 01/03/2010",
LocaleTimeString: "12:00:00\u202FAM GMT+11",
LocaleTimeString: "12:00:00 AM GMT+11",
});
}
});
@ -630,9 +630,9 @@ inTimeZone("Europe/London", () => {
TimeString: "00:00:00 GMT+0100 (Greenwich Mean Time)",
UTCString: "Wed, 31 Dec 1969 23:00:00 GMT",
ISOString: "1969-12-31T23:00:00.000Z",
LocaleString: "Thu, 01/01/1970, 12:00:00\u202FAM GMT+1",
LocaleString: "Thu, 01/01/1970, 12:00:00 AM GMT+1",
LocaleDateString: "Thu, 01/01/1970",
LocaleTimeString: "12:00:00\u202FAM GMT+1",
LocaleTimeString: "12:00:00 AM GMT+1",
});
}
});
@ -651,9 +651,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0300 (Moscow Standard Time)",
UTCString: "Wed, 31 Dec 1969 21:00:00 GMT",
ISOString: "1969-12-31T21:00:00.000Z",
LocaleString: "Thu, 01/01/1970, 12:00:00\u202FAM GMT+3",
LocaleString: "Thu, 01/01/1970, 12:00:00 AM GMT+3",
LocaleDateString: "Thu, 01/01/1970",
LocaleTimeString: "12:00:00\u202FAM GMT+3",
LocaleTimeString: "12:00:00 AM GMT+3",
});
}
@ -671,9 +671,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0400 (Moscow Summer Time)",
UTCString: "Fri, 31 Aug 1990 20:00:00 GMT",
ISOString: "1990-08-31T20:00:00.000Z",
LocaleString: "Sat, 09/01/1990, 12:00:00\u202FAM GMT+4",
LocaleString: "Sat, 09/01/1990, 12:00:00 AM GMT+4",
LocaleDateString: "Sat, 09/01/1990",
LocaleTimeString: "12:00:00\u202FAM GMT+4",
LocaleTimeString: "12:00:00 AM GMT+4",
});
}
@ -688,9 +688,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0300 (Moscow Standard Time)",
UTCString: "Sun, 24 Mar 1991 21:00:00 GMT",
ISOString: "1991-03-24T21:00:00.000Z",
LocaleString: "Mon, 03/25/1991, 12:00:00\u202FAM GMT+3",
LocaleString: "Mon, 03/25/1991, 12:00:00 AM GMT+3",
LocaleDateString: "Mon, 03/25/1991",
LocaleTimeString: "12:00:00\u202FAM GMT+3",
LocaleTimeString: "12:00:00 AM GMT+3",
});
}
@ -705,9 +705,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "12:00:00 GMT+0300 (Moscow Summer Time)",
UTCString: "Sun, 31 Mar 1991 09:00:00 GMT",
ISOString: "1991-03-31T09:00:00.000Z",
LocaleString: "Sun, 03/31/1991, 12:00:00\u202FPM GMT+3",
LocaleString: "Sun, 03/31/1991, 12:00:00 PM GMT+3",
LocaleDateString: "Sun, 03/31/1991",
LocaleTimeString: "12:00:00\u202FPM GMT+3",
LocaleTimeString: "12:00:00 PM GMT+3",
});
}
@ -722,9 +722,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0300 (Moscow Summer Time)",
UTCString: "Fri, 27 Sep 1991 21:00:00 GMT",
ISOString: "1991-09-27T21:00:00.000Z",
LocaleString: "Sat, 09/28/1991, 12:00:00\u202FAM GMT+3",
LocaleString: "Sat, 09/28/1991, 12:00:00 AM GMT+3",
LocaleDateString: "Sat, 09/28/1991",
LocaleTimeString: "12:00:00\u202FAM GMT+3",
LocaleTimeString: "12:00:00 AM GMT+3",
});
}
@ -739,9 +739,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0200 (Moscow Standard Time)",
UTCString: "Sun, 29 Sep 1991 22:00:00 GMT",
ISOString: "1991-09-29T22:00:00.000Z",
LocaleString: "Mon, 09/30/1991, 12:00:00\u202FAM GMT+2",
LocaleString: "Mon, 09/30/1991, 12:00:00 AM GMT+2",
LocaleDateString: "Mon, 09/30/1991",
LocaleTimeString: "12:00:00\u202FAM GMT+2",
LocaleTimeString: "12:00:00 AM GMT+2",
});
}
@ -759,9 +759,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0400 (Moscow Summer Time)",
UTCString: "Fri, 29 Oct 2010 20:00:00 GMT",
ISOString: "2010-10-29T20:00:00.000Z",
LocaleString: "Sat, 10/30/2010, 12:00:00\u202FAM GMT+4",
LocaleString: "Sat, 10/30/2010, 12:00:00 AM GMT+4",
LocaleDateString: "Sat, 10/30/2010",
LocaleTimeString: "12:00:00\u202FAM GMT+4",
LocaleTimeString: "12:00:00 AM GMT+4",
});
}
@ -776,9 +776,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0300 (Moscow Standard Time)",
UTCString: "Sun, 31 Oct 2010 21:00:00 GMT",
ISOString: "2010-10-31T21:00:00.000Z",
LocaleString: "Mon, 11/01/2010, 12:00:00\u202FAM GMT+3",
LocaleString: "Mon, 11/01/2010, 12:00:00 AM GMT+3",
LocaleDateString: "Mon, 11/01/2010",
LocaleTimeString: "12:00:00\u202FAM GMT+3",
LocaleTimeString: "12:00:00 AM GMT+3",
});
}
@ -793,9 +793,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0400 (Moscow Standard Time)",
UTCString: "Sat, 29 Oct 2011 20:00:00 GMT",
ISOString: "2011-10-29T20:00:00.000Z",
LocaleString: "Sun, 10/30/2011, 12:00:00\u202FAM GMT+4",
LocaleString: "Sun, 10/30/2011, 12:00:00 AM GMT+4",
LocaleDateString: "Sun, 10/30/2011",
LocaleTimeString: "12:00:00\u202FAM GMT+4",
LocaleTimeString: "12:00:00 AM GMT+4",
});
}
@ -810,9 +810,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0400 (Moscow Standard Time)",
UTCString: "Mon, 31 Oct 2011 20:00:00 GMT",
ISOString: "2011-10-31T20:00:00.000Z",
LocaleString: "Tue, 11/01/2011, 12:00:00\u202FAM GMT+4",
LocaleString: "Tue, 11/01/2011, 12:00:00 AM GMT+4",
LocaleDateString: "Tue, 11/01/2011",
LocaleTimeString: "12:00:00\u202FAM GMT+4",
LocaleTimeString: "12:00:00 AM GMT+4",
});
}
@ -829,9 +829,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0400 (Moscow Standard Time)",
UTCString: "Sat, 25 Oct 2014 20:00:00 GMT",
ISOString: "2014-10-25T20:00:00.000Z",
LocaleString: "Sun, 10/26/2014, 12:00:00\u202FAM GMT+4",
LocaleString: "Sun, 10/26/2014, 12:00:00 AM GMT+4",
LocaleDateString: "Sun, 10/26/2014",
LocaleTimeString: "12:00:00\u202FAM GMT+4",
LocaleTimeString: "12:00:00 AM GMT+4",
});
}
@ -846,9 +846,9 @@ inTimeZone("Europe/Moscow", () => {
TimeString: "00:00:00 GMT+0300 (Moscow Standard Time)",
UTCString: "Sun, 26 Oct 2014 21:00:00 GMT",
ISOString: "2014-10-26T21:00:00.000Z",
LocaleString: "Mon, 10/27/2014, 12:00:00\u202FAM GMT+3",
LocaleString: "Mon, 10/27/2014, 12:00:00 AM GMT+3",
LocaleDateString: "Mon, 10/27/2014",
LocaleTimeString: "12:00:00\u202FAM GMT+3",
LocaleTimeString: "12:00:00 AM GMT+3",
});
}
});
@ -869,9 +869,9 @@ inTimeZone("Pacific/Apia", () => {
TimeString: "00:00:00 GMT-1000 (Apia Daylight Time)",
UTCString: "Thu, 29 Dec 2011 10:00:00 GMT",
ISOString: "2011-12-29T10:00:00.000Z",
LocaleString: "Thu, 12/29/2011, 12:00:00\u202FAM GMT-10",
LocaleString: "Thu, 12/29/2011, 12:00:00 AM GMT-10",
LocaleDateString: "Thu, 12/29/2011",
LocaleTimeString: "12:00:00\u202FAM GMT-10",
LocaleTimeString: "12:00:00 AM GMT-10",
});
}
@ -886,9 +886,9 @@ inTimeZone("Pacific/Apia", () => {
TimeString: "00:00:00 GMT+1400 (Apia Daylight Time)",
UTCString: "Fri, 30 Dec 2011 10:00:00 GMT",
ISOString: "2011-12-30T10:00:00.000Z",
LocaleString: "Sat, 12/31/2011, 12:00:00\u202FAM GMT+14",
LocaleString: "Sat, 12/31/2011, 12:00:00 AM GMT+14",
LocaleDateString: "Sat, 12/31/2011",
LocaleTimeString: "12:00:00\u202FAM GMT+14",
LocaleTimeString: "12:00:00 AM GMT+14",
});
}
@ -903,9 +903,9 @@ inTimeZone("Pacific/Apia", () => {
TimeString: "00:00:00 GMT+1300 (Apia Standard Time)",
UTCString: "Sun, 01 Apr 2012 11:00:00 GMT",
ISOString: "2012-04-01T11:00:00.000Z",
LocaleString: "Mon, 04/02/2012, 12:00:00\u202FAM GMT+13",
LocaleString: "Mon, 04/02/2012, 12:00:00 AM GMT+13",
LocaleDateString: "Mon, 04/02/2012",
LocaleTimeString: "12:00:00\u202FAM GMT+13",
LocaleTimeString: "12:00:00 AM GMT+13",
});
}
});
@ -926,9 +926,9 @@ inTimeZone("Pacific/Chatham", () => {
TimeString: "00:00:00 GMT+1245 (Chatham Standard Time)",
UTCString: "Sat, 31 Jul 2010 11:15:00 GMT",
ISOString: "2010-07-31T11:15:00.000Z",
LocaleString: "Sun, 08/01/2010, 12:00:00\u202FAM GMT+12:45",
LocaleString: "Sun, 08/01/2010, 12:00:00 AM GMT+12:45",
LocaleDateString: "Sun, 08/01/2010",
LocaleTimeString: "12:00:00\u202FAM GMT+12:45",
LocaleTimeString: "12:00:00 AM GMT+12:45",
});
}
@ -943,9 +943,9 @@ inTimeZone("Pacific/Chatham", () => {
TimeString: "00:00:00 GMT+1345 (Chatham Daylight Time)",
UTCString: "Sat, 02 Jan 2010 10:15:00 GMT",
ISOString: "2010-01-02T10:15:00.000Z",
LocaleString: "Sun, 01/03/2010, 12:00:00\u202FAM GMT+13:45",
LocaleString: "Sun, 01/03/2010, 12:00:00 AM GMT+13:45",
LocaleDateString: "Sun, 01/03/2010",
LocaleTimeString: "12:00:00\u202FAM GMT+13:45",
LocaleTimeString: "12:00:00 AM GMT+13:45",
});
}
});
@ -966,9 +966,9 @@ inTimeZone("Pacific/Kiritimati", () => {
TimeString: "00:00:00 GMT+1400 (Line Islands Time)",
UTCString: "Sat, 31 Jul 2010 10:00:00 GMT",
ISOString: "2010-07-31T10:00:00.000Z",
LocaleString: "Sun, 08/01/2010, 12:00:00\u202FAM GMT+14",
LocaleString: "Sun, 08/01/2010, 12:00:00 AM GMT+14",
LocaleDateString: "Sun, 08/01/2010",
LocaleTimeString: "12:00:00\u202FAM GMT+14",
LocaleTimeString: "12:00:00 AM GMT+14",
});
}
@ -985,9 +985,9 @@ inTimeZone("Pacific/Kiritimati", () => {
TimeString: "00:00:00 GMT-1040 (Line Islands Time)",
UTCString: "Wed, 01 Jan 1975 10:40:00 GMT",
ISOString: "1975-01-01T10:40:00.000Z",
LocaleString: "Wed, 01/01/1975, 12:00:00\u202FAM GMT-10:40",
LocaleString: "Wed, 01/01/1975, 12:00:00 AM GMT-10:40",
LocaleDateString: "Wed, 01/01/1975",
LocaleTimeString: "12:00:00\u202FAM GMT-10:40",
LocaleTimeString: "12:00:00 AM GMT-10:40",
});
}
});
@ -1008,9 +1008,9 @@ inTimeZone("Pacific/Niue", () => {
TimeString: "00:00:00 GMT-1120 (Niue Time)",
UTCString: "Sun, 01 Jan 1956 11:20:00 GMT",
ISOString: "1956-01-01T11:20:00.000Z",
LocaleString: "Sun, 01/01/1956, 12:00:00\u202FAM GMT-11:20",
LocaleString: "Sun, 01/01/1956, 12:00:00 AM GMT-11:20",
LocaleDateString: "Sun, 01/01/1956",
LocaleTimeString: "12:00:00\u202FAM GMT-11:20",
LocaleTimeString: "12:00:00 AM GMT-11:20",
});
}
});

Просмотреть файл

@ -12,7 +12,7 @@ inTimeZone("PST8PDT", () => {
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Pacific Daylight Time)");
});
withLocale("fr", () => {
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique nord-américain)");
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique)");
});
withLocale("de", () => {
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Nordamerikanische Westküsten-Sommerzeit)");

Просмотреть файл

@ -29,7 +29,7 @@ inTimeZone("America/Los_Angeles", () => {
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Pacific Daylight Time)");
});
withLocale("fr", () => {
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique nord-américain)");
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique)");
});
withLocale("de", () => {
assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Nordamerikanische Westküsten-Sommerzeit)");

Просмотреть файл

@ -3,7 +3,7 @@ if (typeof Intl === "object") {
const date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
assertEq([date].toLocaleString("en-us", {timeZone: "UTC"}), "12/12/2012, 3:00:00\u202FAM");
assertEq([date].toLocaleString("en-us", {timeZone: "UTC"}), "12/12/2012, 3:00:00 AM");
assertEq([date].toLocaleString(["de", "en"], {timeZone: "UTC"}), "12.12.2012, 03:00:00");
assertEq([date].toLocaleString("th-th", {timeZone: "UTC"}), "12/12/2555 03:00:00");
assertEq([date].toLocaleString("th-th-u-nu-thai", {timeZone: "UTC"}), "๑๒/๑๒/๒๕๕๕ ๐๓::");

Просмотреть файл

@ -38,10 +38,9 @@
// The default sort collation can't be requested.
{
// The default sort collation for Swedish (sv) was "reformed" before CLDR 42.
// It wasn't possible to override this and select the default root sort
// collation. Use English (en) as a locale which uses the root sort collation
// for comparison.
// The default sort collation for Swedish (sv) is "reformed". It's not possible
// to override this and select the default root sort collation. Use English (en)
// as a locale which uses the root sort collation for comparison.
let c1 = new Intl.Collator("sv", {usage: "sort"});
let c2 = new Intl.Collator("sv-u-co-reformed", {usage: "sort"});
let c3 = new Intl.Collator("sv-u-co-standard", {usage: "sort"});
@ -49,13 +48,13 @@
let c5 = new Intl.Collator("en", {usage: "sort"});
assertEq(c1.resolvedOptions().locale, "sv");
assertEq(c2.resolvedOptions().locale, "sv");
assertEq(c2.resolvedOptions().locale, "sv-u-co-reformed");
assertEq(c3.resolvedOptions().locale, "sv");
assertEq(c4.resolvedOptions().locale, "sv");
assertEq(c5.resolvedOptions().locale, "en");
assertEq(c1.resolvedOptions().collation, "default");
assertEq(c2.resolvedOptions().collation, "default");
assertEq(c2.resolvedOptions().collation, "reformed");
assertEq(c3.resolvedOptions().collation, "default");
assertEq(c4.resolvedOptions().collation, "default");
assertEq(c5.resolvedOptions().collation, "default");

Просмотреть файл

@ -7,11 +7,11 @@ const defaultOptions = {};
const tests = [
{
timeZone: "UTC",
result: "12/6/2012, 12:00:00\u202FPM",
result: "12/6/2012, 12:00:00 PM",
},
{
timeZone: "America/Los_Angeles",
result: "12/6/2012, 4:00:00\u202FAM",
result: "12/6/2012, 4:00:00 AM",
},
{
timeZone: "Europe/Berlin", locale: "de",
@ -30,7 +30,7 @@ const tests = [
},
{
timeZone: { toString: () => "Australia/Melbourne" }, locale: "en-AU",
result: "06/12/2012, 11:00:00\u202Fpm",
result: "06/12/2012, 11:00:00 pm",
},
];

Просмотреть файл

@ -7,11 +7,11 @@ const defaultOptions = {};
const tests = [
{
timeZone: "UTC",
result: "12:00:00\u202FPM",
result: "12:00:00 PM",
},
{
timeZone: "America/Los_Angeles",
result: "4:00:00\u202FAM",
result: "4:00:00 AM",
},
{
timeZone: "Europe/Berlin", locale: "de",
@ -30,7 +30,7 @@ const tests = [
},
{
timeZone: { toString: () => "Australia/Melbourne" }, locale: "en-AU",
result: "11:00:00\u202Fpm",
result: "11:00:00 pm",
},
];

Просмотреть файл

@ -47,7 +47,7 @@ const tests = {
"en": "5/20/2021, GMT-7",
"de": "20.5.2021, GMT-7",
"fr": "20/05/2021 UTC7",
"ar": "٢٠‏/٥/٢٠٢١، غرينتش-٧",
"ar": "٢٠‏/٥/٢٠٢١, غرينتش-٧",
"th": "20/5/2564 GMT-7",
"zh": "2021/5/20 GMT-7",
"ja": "2021/5/20 GMT-7",
@ -73,7 +73,7 @@ const tests = {
"en": "5/20/2021, Germany Time",
"de": "20.5.2021, MEZ",
"fr": "20/05/2021 heure : Allemagne",
"ar": "٢٠‏/٥/٢٠٢١، توقيت ألمانيا",
"ar": "٢٠‏/٥/٢٠٢١, توقيت ألمانيا",
"th": "20/5/2564 เวลาเยอรมนี",
"zh": "2021/5/20 德国时间",
"ja": "2021/5/20 ドイツ時間",
@ -99,7 +99,7 @@ const tests = {
"en": "12/6/1971, GMT-0:44:30",
"de": "6.12.1971, GMT-0:44:30",
"fr": "06/12/1971 UTC0:44:30",
"ar": "٦‏/١٢‏/١٩٧١، غرينتش-٠:٤٤:٣٠",
"ar": "٦‏/١٢‏/١٩٧١, غرينتش-٠:٤٤:٣٠",
"th": "6/12/2514 GMT-0:44:30",
"zh": "1971/12/6 GMT-0:44:30",
"ja": "1971/12/6 GMT-0:44:30",

Просмотреть файл

@ -9,7 +9,7 @@ const tests = [
hour: "numeric",
},
locales: {
"en": "3\u202FAM",
"en": "3 AM",
"de": "03 Uhr",
},
},
@ -18,7 +18,7 @@ const tests = [
hour: "2-digit",
},
locales: {
"en": "03\u202FAM",
"en": "03 AM",
"de": "03 Uhr",
},
},
@ -70,7 +70,7 @@ const tests = [
minute: "numeric",
},
locales: {
"en": "3:04\u202FAM",
"en": "3:04 AM",
"de": "03:04",
},
},
@ -80,7 +80,7 @@ const tests = [
minute: "2-digit",
},
locales: {
"en": "3:04\u202FAM",
"en": "3:04 AM",
"de": "03:04",
},
},
@ -90,7 +90,7 @@ const tests = [
minute: "numeric",
},
locales: {
"en": "03:04\u202FAM",
"en": "03:04 AM",
"de": "03:04",
},
},
@ -100,7 +100,7 @@ const tests = [
minute: "2-digit",
},
locales: {
"en": "03:04\u202FAM",
"en": "03:04 AM",
"de": "03:04",
},
},
@ -155,8 +155,8 @@ const tests = [
hourCycle: "h12",
},
locales: {
"en": "3:04\u202FAM",
"de": "3:04\u202FAM",
"en": "3:04 AM",
"de": "3:04 AM",
},
},
{
@ -166,8 +166,8 @@ const tests = [
hourCycle: "h12",
},
locales: {
"en": "03:04\u202FAM",
"de": "03:04\u202FAM",
"en": "03:04 AM",
"de": "03:04 AM",
},
},
@ -204,7 +204,7 @@ for (let {options, locales} of tests) {
}
const toLocaleTests = {
"en": "1/2/2021, 3:04:05\u202FAM",
"en": "1/2/2021, 3:04:05 AM",
"de": "2.1.2021, 03:04:05",
};
@ -213,7 +213,7 @@ for (let [locale, expected] of Object.entries(toLocaleTests)) {
}
const toLocaleTimeTests = {
"en": "3:04:05\u202FAM",
"en": "3:04:05 AM",
"de": "03:04:05",
};

Просмотреть файл

@ -23,7 +23,7 @@ assertEq(format.format(date), "12/12/2555");
// Locale th-TH; long format, Thai digits.
format = new Intl.DateTimeFormat("th-th-u-nu-thai", longFormatOptions);
assertEq(format.format(date), "๑๒ ธันวาคม ๒๕๕๕ เวลา ๐๓::");
assertEq(format.format(date), "๑๒ ธันวาคม ๒๕๕๕ ๐๓::");
// Locale ja-JP; long format.
format = new Intl.DateTimeFormat("ja-jp", longFormatOptions);

Просмотреть файл

@ -18,11 +18,11 @@ let tests = {
start: 0,
end: 10,
data: [
"12\u2009–\u200910\u202FAM",
"0\u2009–\u200910\u202FAM",
"12\u2009–\u200910\u202FAM",
"00\u2009–\u200910",
"24\u2009–\u200910",
"12 – 10 AM",
"0 – 10 AM",
"12 – 10 AM",
"0010",
"2410",
],
},
// Midnight to noon.
@ -30,11 +30,11 @@ let tests = {
start: 0,
end: 12,
data: [
"12\u202FAM\u2009–\u200912\u202FPM",
"0\u202FAM\u2009–\u20090\u202FPM",
"12\u202FAM\u2009–\u200912\u202FPM",
"00\u2009–\u200912",
"24\u2009–\u200912",
"12 AM – 12 PM",
"0 AM – 0 PM",
"12 AM – 12 PM",
"0012",
"2412",
],
},
// Midnight to evening.
@ -42,11 +42,11 @@ let tests = {
start: 0,
end: 22,
data: [
"12\u202FAM\u2009–\u200910\u202FPM",
"0\u202FAM\u2009–\u200910\u202FPM",
"12\u202FAM\u2009–\u200910\u202FPM",
"00\u2009–\u200922",
"24\u2009–\u200922",
"12 AM – 10 PM",
"0 AM – 10 PM",
"12 AM – 10 PM",
"0022",
"2422",
],
},
// Midnight to midnight.
@ -54,11 +54,11 @@ let tests = {
start: 0,
end: 24,
data: [
"1/1/1970, 12\u202FAM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 0\u202FAM\u2009–\u20091/2/1970, 0\u202FAM",
"1/1/1970, 12\u202FAM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 00\u2009–\u20091/2/1970, 00",
"1/1/1970, 24\u2009–\u20091/2/1970, 24",
"1/1/1970, 12 AM – 1/2/1970, 12 AM",
"1/1/1970, 0 AM – 1/2/1970, 0 AM",
"1/1/1970, 12 AM – 1/2/1970, 12 AM",
"1/1/1970, 001/2/1970, 00",
"1/1/1970, 241/2/1970, 24",
],
},
@ -67,11 +67,11 @@ let tests = {
start: 1,
end: 10,
data: [
"1\u2009–\u200910\u202FAM",
"1\u2009–\u200910\u202FAM",
"1\u2009–\u200910\u202FAM",
"01\u2009–\u200910",
"01\u2009–\u200910",
"1 – 10 AM",
"1 – 10 AM",
"1 – 10 AM",
"0110",
"0110",
],
},
// Morning to noon.
@ -79,11 +79,11 @@ let tests = {
start: 1,
end: 12,
data: [
"1\u202FAM\u2009–\u200912\u202FPM",
"1\u202FAM\u2009–\u20090\u202FPM",
"1\u202FAM\u2009–\u200912\u202FPM",
"01\u2009–\u200912",
"01\u2009–\u200912",
"1 AM – 12 PM",
"1 AM – 0 PM",
"1 AM – 12 PM",
"0112",
"0112",
],
},
// Morning to evening.
@ -91,11 +91,11 @@ let tests = {
start: 1,
end: 22,
data: [
"1\u202FAM\u2009–\u200910\u202FPM",
"1\u202FAM\u2009–\u200910\u202FPM",
"1\u202FAM\u2009–\u200910\u202FPM",
"01\u2009–\u200922",
"01\u2009–\u200922",
"1 AM – 10 PM",
"1 AM – 10 PM",
"1 AM – 10 PM",
"0122",
"0122",
],
},
// Morning to midnight.
@ -103,11 +103,11 @@ let tests = {
start: 1,
end: 24,
data: [
"1/1/1970, 1\u202FAM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 1\u202FAM\u2009–\u20091/2/1970, 0\u202FAM",
"1/1/1970, 1\u202FAM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 01\u2009–\u20091/2/1970, 00",
"1/1/1970, 01\u2009–\u20091/2/1970, 24",
"1/1/1970, 1 AM – 1/2/1970, 12 AM",
"1/1/1970, 1 AM – 1/2/1970, 0 AM",
"1/1/1970, 1 AM – 1/2/1970, 12 AM",
"1/1/1970, 011/2/1970, 00",
"1/1/1970, 011/2/1970, 24",
],
},
@ -116,11 +116,11 @@ let tests = {
start: 12,
end: 24 + 1,
data: [
"1/1/1970, 12\u202FPM\u2009–\u20091/2/1970, 1\u202FAM",
"1/1/1970, 0\u202FPM\u2009–\u20091/2/1970, 1\u202FAM",
"1/1/1970, 12\u202FPM\u2009–\u20091/2/1970, 1\u202FAM",
"1/1/1970, 12\u2009–\u20091/2/1970, 01",
"1/1/1970, 12\u2009–\u20091/2/1970, 01",
"1/1/1970, 12 PM – 1/2/1970, 1 AM",
"1/1/1970, 0 PM – 1/2/1970, 1 AM",
"1/1/1970, 12 PM – 1/2/1970, 1 AM",
"1/1/1970, 121/2/1970, 01",
"1/1/1970, 121/2/1970, 01",
],
},
// Noon to noon.
@ -128,11 +128,11 @@ let tests = {
start: 12,
end: 24 + 12,
data: [
"1/1/1970, 12\u202FPM\u2009–\u20091/2/1970, 12\u202FPM",
"1/1/1970, 0\u202FPM\u2009–\u20091/2/1970, 0\u202FPM",
"1/1/1970, 12\u202FPM\u2009–\u20091/2/1970, 12\u202FPM",
"1/1/1970, 12\u2009–\u20091/2/1970, 12",
"1/1/1970, 12\u2009–\u20091/2/1970, 12",
"1/1/1970, 12 PM – 1/2/1970, 12 PM",
"1/1/1970, 0 PM – 1/2/1970, 0 PM",
"1/1/1970, 12 PM – 1/2/1970, 12 PM",
"1/1/1970, 121/2/1970, 12",
"1/1/1970, 121/2/1970, 12",
],
},
// Noon to evening.
@ -140,11 +140,11 @@ let tests = {
start: 12,
end: 22,
data: [
"12\u2009–\u200910\u202FPM",
"0\u2009–\u200910\u202FPM",
"12\u2009–\u200910\u202FPM",
"12\u2009–\u200922",
"12\u2009–\u200922",
"12 – 10 PM",
"0 – 10 PM",
"12 – 10 PM",
"1222",
"1222",
],
},
// Noon to midnight.
@ -152,11 +152,11 @@ let tests = {
start: 12,
end: 24,
data: [
"1/1/1970, 12\u202FPM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 0\u202FPM\u2009–\u20091/2/1970, 0\u202FAM",
"1/1/1970, 12\u202FPM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 12\u2009–\u20091/2/1970, 00",
"1/1/1970, 12\u2009–\u20091/2/1970, 24",
"1/1/1970, 12 PM – 1/2/1970, 12 AM",
"1/1/1970, 0 PM – 1/2/1970, 0 AM",
"1/1/1970, 12 PM – 1/2/1970, 12 AM",
"1/1/1970, 121/2/1970, 00",
"1/1/1970, 121/2/1970, 24",
],
},
@ -165,11 +165,11 @@ let tests = {
start: 22,
end: 24 + 1,
data: [
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 1\u202FAM",
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 1\u202FAM",
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 1\u202FAM",
"1/1/1970, 22\u2009–\u20091/2/1970, 01",
"1/1/1970, 22\u2009–\u20091/2/1970, 01",
"1/1/1970, 10 PM – 1/2/1970, 1 AM",
"1/1/1970, 10 PM – 1/2/1970, 1 AM",
"1/1/1970, 10 PM – 1/2/1970, 1 AM",
"1/1/1970, 221/2/1970, 01",
"1/1/1970, 221/2/1970, 01",
],
},
// Evening to noon.
@ -177,11 +177,11 @@ let tests = {
start: 22,
end: 24 + 12,
data: [
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 12\u202FPM",
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 0\u202FPM",
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 12\u202FPM",
"1/1/1970, 22\u2009–\u20091/2/1970, 12",
"1/1/1970, 22\u2009–\u20091/2/1970, 12",
"1/1/1970, 10 PM – 1/2/1970, 12 PM",
"1/1/1970, 10 PM – 1/2/1970, 0 PM",
"1/1/1970, 10 PM – 1/2/1970, 12 PM",
"1/1/1970, 221/2/1970, 12",
"1/1/1970, 221/2/1970, 12",
],
},
// Evening to evening.
@ -189,11 +189,11 @@ let tests = {
start: 22,
end: 23,
data: [
"10\u2009–\u200911\u202FPM",
"10\u2009–\u200911\u202FPM",
"10\u2009–\u200911\u202FPM",
"22\u2009–\u200923",
"22\u2009–\u200923",
"10 – 11 PM",
"10 – 11 PM",
"10 – 11 PM",
"2223",
"2223",
],
},
// Evening to midnight.
@ -201,11 +201,11 @@ let tests = {
start: 22,
end: 24,
data: [
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 0\u202FAM",
"1/1/1970, 10\u202FPM\u2009–\u20091/2/1970, 12\u202FAM",
"1/1/1970, 22\u2009–\u20091/2/1970, 00",
"1/1/1970, 22\u2009–\u20091/2/1970, 24",
"1/1/1970, 10 PM – 1/2/1970, 12 AM",
"1/1/1970, 10 PM – 1/2/1970, 0 AM",
"1/1/1970, 10 PM – 1/2/1970, 12 AM",
"1/1/1970, 221/2/1970, 00",
"1/1/1970, 221/2/1970, 24",
],
},
],
@ -217,8 +217,8 @@ let tests = {
end: 10,
data: [
"00–10 Uhr",
"0\u2009–\u200910 Uhr AM",
"12\u2009–\u200910 Uhr AM",
"010 Uhr AM",
"1210 Uhr AM",
"00–10 Uhr",
"24–10 Uhr",
],
@ -229,8 +229,8 @@ let tests = {
end: 12,
data: [
"00–12 Uhr",
"0 Uhr AM\u2009–\u20090 Uhr PM",
"12 Uhr AM\u2009–\u200912 Uhr PM",
"0 Uhr AM0 Uhr PM",
"12 Uhr AM12 Uhr PM",
"00–12 Uhr",
"24–12 Uhr",
],
@ -241,8 +241,8 @@ let tests = {
end: 22,
data: [
"00–22 Uhr",
"0 Uhr AM\u2009–\u200910 Uhr PM",
"12 Uhr AM\u2009–\u200910 Uhr PM",
"0 Uhr AM10 Uhr PM",
"12 Uhr AM10 Uhr PM",
"00–22 Uhr",
"24–22 Uhr",
],
@ -252,11 +252,11 @@ let tests = {
start: 0,
end: 24,
data: [
"1.1.1970, 00 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 0 Uhr AM\u2009–\u20092.1.1970, 0 Uhr AM",
"1.1.1970, 12 Uhr AM\u2009–\u20092.1.1970, 12 Uhr AM",
"1.1.1970, 00 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 24 Uhr\u2009–\u20092.1.1970, 24 Uhr",
"1.1.1970, 00 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 0 Uhr AM2.1.1970, 0 Uhr AM",
"1.1.1970, 12 Uhr AM2.1.1970, 12 Uhr AM",
"1.1.1970, 00 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 24 Uhr2.1.1970, 24 Uhr",
],
},
@ -266,8 +266,8 @@ let tests = {
end: 10,
data: [
"01–10 Uhr",
"1\u2009–\u200910 Uhr AM",
"1\u2009–\u200910 Uhr AM",
"110 Uhr AM",
"110 Uhr AM",
"01–10 Uhr",
"01–10 Uhr",
],
@ -278,8 +278,8 @@ let tests = {
end: 12,
data: [
"01–12 Uhr",
"1 Uhr AM\u2009–\u20090 Uhr PM",
"1 Uhr AM\u2009–\u200912 Uhr PM",
"1 Uhr AM0 Uhr PM",
"1 Uhr AM12 Uhr PM",
"01–12 Uhr",
"01–12 Uhr",
],
@ -290,8 +290,8 @@ let tests = {
end: 22,
data: [
"01–22 Uhr",
"1 Uhr AM\u2009–\u200910 Uhr PM",
"1 Uhr AM\u2009–\u200910 Uhr PM",
"1 Uhr AM10 Uhr PM",
"1 Uhr AM10 Uhr PM",
"01–22 Uhr",
"01–22 Uhr",
],
@ -301,11 +301,11 @@ let tests = {
start: 1,
end: 24,
data: [
"1.1.1970, 01 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 1 Uhr AM\u2009–\u20092.1.1970, 0 Uhr AM",
"1.1.1970, 1 Uhr AM\u2009–\u20092.1.1970, 12 Uhr AM",
"1.1.1970, 01 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 01 Uhr\u2009–\u20092.1.1970, 24 Uhr",
"1.1.1970, 01 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 1 Uhr AM2.1.1970, 0 Uhr AM",
"1.1.1970, 1 Uhr AM2.1.1970, 12 Uhr AM",
"1.1.1970, 01 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 01 Uhr2.1.1970, 24 Uhr",
],
},
@ -314,11 +314,11 @@ let tests = {
start: 12,
end: 24 + 1,
data: [
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 01 Uhr",
"1.1.1970, 0 Uhr PM\u2009–\u20092.1.1970, 1 Uhr AM",
"1.1.1970, 12 Uhr PM\u2009–\u20092.1.1970, 1 Uhr AM",
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 01 Uhr",
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 01 Uhr",
"1.1.1970, 12 Uhr2.1.1970, 01 Uhr",
"1.1.1970, 0 Uhr PM2.1.1970, 1 Uhr AM",
"1.1.1970, 12 Uhr PM2.1.1970, 1 Uhr AM",
"1.1.1970, 12 Uhr2.1.1970, 01 Uhr",
"1.1.1970, 12 Uhr2.1.1970, 01 Uhr",
],
},
// Noon to noon.
@ -326,11 +326,11 @@ let tests = {
start: 12,
end: 24 + 12,
data: [
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 12 Uhr",
"1.1.1970, 0 Uhr PM\u2009–\u20092.1.1970, 0 Uhr PM",
"1.1.1970, 12 Uhr PM\u2009–\u20092.1.1970, 12 Uhr PM",
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 12 Uhr",
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 12 Uhr",
"1.1.1970, 12 Uhr2.1.1970, 12 Uhr",
"1.1.1970, 0 Uhr PM2.1.1970, 0 Uhr PM",
"1.1.1970, 12 Uhr PM2.1.1970, 12 Uhr PM",
"1.1.1970, 12 Uhr2.1.1970, 12 Uhr",
"1.1.1970, 12 Uhr2.1.1970, 12 Uhr",
],
},
// Noon to evening.
@ -339,8 +339,8 @@ let tests = {
end: 22,
data: [
"12–22 Uhr",
"0\u2009–\u200910 Uhr PM",
"12\u2009–\u200910 Uhr PM",
"010 Uhr PM",
"1210 Uhr PM",
"12–22 Uhr",
"12–22 Uhr",
],
@ -350,11 +350,11 @@ let tests = {
start: 12,
end: 24,
data: [
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 0 Uhr PM\u2009–\u20092.1.1970, 0 Uhr AM",
"1.1.1970, 12 Uhr PM\u2009–\u20092.1.1970, 12 Uhr AM",
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 12 Uhr\u2009–\u20092.1.1970, 24 Uhr",
"1.1.1970, 12 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 0 Uhr PM2.1.1970, 0 Uhr AM",
"1.1.1970, 12 Uhr PM2.1.1970, 12 Uhr AM",
"1.1.1970, 12 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 12 Uhr2.1.1970, 24 Uhr",
],
},
@ -363,11 +363,11 @@ let tests = {
start: 22,
end: 24 + 1,
data: [
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 01 Uhr",
"1.1.1970, 10 Uhr PM\u2009–\u20092.1.1970, 1 Uhr AM",
"1.1.1970, 10 Uhr PM\u2009–\u20092.1.1970, 1 Uhr AM",
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 01 Uhr",
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 01 Uhr",
"1.1.1970, 22 Uhr2.1.1970, 01 Uhr",
"1.1.1970, 10 Uhr PM2.1.1970, 1 Uhr AM",
"1.1.1970, 10 Uhr PM2.1.1970, 1 Uhr AM",
"1.1.1970, 22 Uhr2.1.1970, 01 Uhr",
"1.1.1970, 22 Uhr2.1.1970, 01 Uhr",
],
},
// Evening to noon.
@ -375,11 +375,11 @@ let tests = {
start: 22,
end: 24 + 12,
data: [
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 12 Uhr",
"1.1.1970, 10 Uhr PM\u2009–\u20092.1.1970, 0 Uhr PM",
"1.1.1970, 10 Uhr PM\u2009–\u20092.1.1970, 12 Uhr PM",
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 12 Uhr",
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 12 Uhr",
"1.1.1970, 22 Uhr2.1.1970, 12 Uhr",
"1.1.1970, 10 Uhr PM2.1.1970, 0 Uhr PM",
"1.1.1970, 10 Uhr PM2.1.1970, 12 Uhr PM",
"1.1.1970, 22 Uhr2.1.1970, 12 Uhr",
"1.1.1970, 22 Uhr2.1.1970, 12 Uhr",
],
},
// Evening to evening.
@ -388,8 +388,8 @@ let tests = {
end: 23,
data: [
"22–23 Uhr",
"10\u2009–\u200911 Uhr PM",
"10\u2009–\u200911 Uhr PM",
"1011 Uhr PM",
"1011 Uhr PM",
"22–23 Uhr",
"22–23 Uhr",
],
@ -399,11 +399,11 @@ let tests = {
start: 22,
end: 24,
data: [
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 10 Uhr PM\u2009–\u20092.1.1970, 0 Uhr AM",
"1.1.1970, 10 Uhr PM\u2009–\u20092.1.1970, 12 Uhr AM",
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 00 Uhr",
"1.1.1970, 22 Uhr\u2009–\u20092.1.1970, 24 Uhr",
"1.1.1970, 22 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 10 Uhr PM2.1.1970, 0 Uhr AM",
"1.1.1970, 10 Uhr PM2.1.1970, 12 Uhr AM",
"1.1.1970, 22 Uhr2.1.1970, 00 Uhr",
"1.1.1970, 22 Uhr2.1.1970, 24 Uhr",
],
},
],

Просмотреть файл

@ -47,7 +47,7 @@ format = new Intl.DateTimeFormat("en-us", {
hour12: true,
timeZone: "UTC"});
assertParts(format, date, [
Hour("3"), Literal(":"), Minute("00"), Literal(":"), Second("42"), Literal("\u202F"), DayPeriod("AM"),
Hour("3"), Literal(":"), Minute("00"), Literal(":"), Second("42"), Literal(" "), DayPeriod("AM"),
]);
// Just month.
@ -89,7 +89,7 @@ format = new Intl.DateTimeFormat("en-us", {
assertParts(format, date, [
Weekday("Monday"), Literal(", "), Month("12"), Literal("/"), Day("17"), Literal("/"), Year("2012"),
Literal(", "),
Hour("3"), Literal(":"), Minute("00"), Literal(":"), Second("42"), Literal("\u202F"), DayPeriod("AM"),
Hour("3"), Literal(":"), Minute("00"), Literal(":"), Second("42"), Literal(" "), DayPeriod("AM"),
]);
if (typeof reportCompare === "function")

Просмотреть файл

@ -22,24 +22,24 @@ const tzMapper = [
const tests = [
{
timeZone: "UTC",
result: "12/6/2012, 12:00:00\u202FPM",
result: "12/6/2012, 12:00:00 PM",
},
{
timeZone: "America/Los_Angeles",
result: "12/6/2012, 4:00:00\u202FAM",
result: "12/6/2012, 4:00:00 AM",
},
{
timeZone: "America/New_York",
options: tzNameFormatOptions,
result: "12/6/2012, 7:00:00\u202FAM EST",
result: "12/6/2012, 7:00:00 AM EST",
},
{
timeZone: "America/Caracas",
result: "12/6/2012, 7:30:00\u202FAM",
result: "12/6/2012, 7:30:00 AM",
},
{
timeZone: "Europe/London",
result: "12/6/2012, 12:00:00\u202FPM",
result: "12/6/2012, 12:00:00 PM",
},
{
timeZone: "Africa/Casablanca",
@ -53,12 +53,12 @@ const tests = [
},
{
timeZone: "Asia/Kathmandu",
result: "12/6/2012, 5:45:00\u202FPM",
result: "12/6/2012, 5:45:00 PM",
},
{
timeZone: "Asia/Bangkok",
locale: "th-th-u-nu-thai", options: longFormatOptions,
result: "๖ ธันวาคม ๒๕๕๕ เวลา ๑๙::",
result: "๖ ธันวาคม ๒๕๕๕ ๑๙::",
},
{
timeZone: "Asia/Tokyo",
@ -67,27 +67,27 @@ const tests = [
},
{
timeZone: "Australia/Lord_Howe",
result: "12/6/2012, 11:00:00\u202FPM",
result: "12/6/2012, 11:00:00 PM",
},
{
timeZone: "Australia/Lord_Howe",
date: Date.UTC(2012, 7-1, 6, 12, 0, 0),
result: "7/6/2012, 10:30:00\u202FPM",
result: "7/6/2012, 10:30:00 PM",
},
{
timeZone: "Pacific/Kiritimati",
date: Date.UTC(1978, 12-1, 6, 12, 0, 0),
result: "12/6/1978, 1:20:00\u202FAM",
result: "12/6/1978, 1:20:00 AM",
},
{
timeZone: "Africa/Monrovia",
date: Date.UTC(1971, 12-1, 6, 12, 0, 0),
result: "12/6/1971, 11:15:30\u202FAM",
result: "12/6/1971, 11:15:30 AM",
},
{
timeZone: "Asia/Riyadh",
date: Date.UTC(1946, 12-1, 6, 12, 0, 0),
result: "12/6/1946, 3:06:52\u202FPM",
result: "12/6/1946, 3:06:52 PM",
},
];

Просмотреть файл

@ -13,7 +13,7 @@ const tests = [
options: {hour: "numeric", fractionalSecondDigits: 3},
parts: [
Hour("12"),
Literal("\u202F"),
Literal(" "),
DayPeriod("AM"),
Literal(" (Fractional Second: "),
FractionalSecond("123"),

Просмотреть файл

@ -53,8 +53,8 @@ for (const [key, value] of Object.entries(hourCycleToH12Map)) {
}
const expectedValuesENUS = {
h11: "0\u202FAM",
h12: "12\u202FAM",
h11: "0 AM",
h12: "12 AM",
h23: "00",
h24: "24"
};

Просмотреть файл

@ -30,11 +30,8 @@ available.map(x => {
// Find all locales which have both a script and a region subtag.
return loc.script && loc.region;
}).filter(loc => {
// Skip "sd-Deva-IN" and Fulah because of <https://unicode-org.atlassian.net/browse/ICU-21974>.
return !((loc.language === "sd" && loc.script === "Deva" && loc.region === "IN") ||
(loc.language === "ff" && (loc.script === "Adlm" || loc.script === "Latn") &&
(loc.region === "GH" || loc.region === "GM" || loc.region === "LR" || loc.region === "SL"))
);
// Skip "sd-Deva-IN" because of <https://unicode-org.atlassian.net/browse/ICU-21974>.
return !(loc.language === "sd" && loc.script === "Deva" && loc.region === "IN");
}).forEach(loc => {
// Remove the script subtag from the locale.
let noScript = new Intl.Locale(`${loc.language}-${loc.region}`);
@ -51,7 +48,7 @@ available.map(x => {
// The output for the locale without a script subtag should match the output
// with the likely script subtag added.
assertEq(df1.format(date), df2.format(date), `Mismatch for locale "${noScript}" (${maximized})`);
assertEq(df1.format(date), df2.format(date), `Mismatch for locale "${noScript}"`);
}
});

Просмотреть файл

@ -19,10 +19,10 @@ const tests = {
"gregory": "Gregorianischer Kalender",
"iso8601": "ISO-8601-Kalender",
"japanese": "Japanischer Kalender",
"islamic-civil": "Bürgerlicher islamischer Kalender (tabellarisch)",
"islamicc": "Bürgerlicher islamischer Kalender (tabellarisch)",
"ethioaa": "Äthiopischer Amätä-Aläm-Kalender",
"ethiopic-amete-alem": "Äthiopischer Amätä-Aläm-Kalender",
"islamic-civil": "Bürgerlicher islamischer Kalender",
"islamicc": "Bürgerlicher islamischer Kalender",
"ethioaa": "Äthiopischer Kalender \"Amete Alem\"",
"ethiopic-amete-alem": "Äthiopischer Kalender \"Amete Alem\"",
},
short: {},
narrow: {},

Просмотреть файл

@ -28,15 +28,7 @@ const tests = {
"second": "sec.",
"timeZoneName": "zone",
},
narrow: {
"year": "yr",
"quarter": "qtr",
"month": "mo",
"weekOfYear": "wk",
"hour": "hr",
"minute": "min",
"second": "sec",
},
narrow: {},
},
"de": {
long: {

Просмотреть файл

@ -49,10 +49,7 @@ const styles = ["long", "short", "narrow"];
"ja": { long: [Element("A"), Literal("、"), Element("B")] },
"nl": { long: [Element("A"), Literal(" en "), Element("B")] },
"th": { long: [Element("A"), Literal("และ"), Element("B")] },
"zh": {
long: [Element("A"), Literal("和"), Element("B")],
narrow: [Element("A"), Literal("、"), Element("B")],
},
"zh": { long: [Element("A"), Literal("和"), Element("B")] },
};
for (let [locale, localeData] of Object.entries(testData)) {
@ -99,7 +96,6 @@ const styles = ["long", "short", "narrow"];
},
"zh": {
long: [Element("A"), Literal("、"), Element("B"), Literal("、"), Element("C"), Literal("和"), Element("D")],
narrow: [Element("A"), Literal("、"), Element("B"), Literal("、"), Element("C"), Literal("、"), Element("D")],
},
};

Просмотреть файл

@ -2,8 +2,8 @@
// Generated by make_intl_data.py. DO NOT EDIT.
// Extracted from likelySubtags.xml.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
var maxLikelySubtags = {
"aa": "aa-Latn-ET",
"aai": "aai-Latn-ZZ",
@ -38,7 +38,6 @@ var maxLikelySubtags = {
"ahl": "ahl-Latn-ZZ",
"aho": "aho-Ahom-IN",
"ajg": "ajg-Latn-ZZ",
"ajt": "aeb-Arab-TN",
"ak": "ak-Latn-GH",
"akk": "akk-Xsux-IQ",
"ala": "ala-Latn-ZZ",
@ -53,7 +52,7 @@ var maxLikelySubtags = {
"an": "an-Latn-ES",
"anc": "anc-Latn-ZZ",
"ank": "ank-Latn-ZZ",
"ann": "ann-Latn-NG",
"ann": "ann-Latn-ZZ",
"any": "any-Latn-ZZ",
"aoj": "aoj-Latn-ZZ",
"aom": "aom-Latn-ZZ",
@ -962,7 +961,6 @@ var maxLikelySubtags = {
"nyn": "nyn-Latn-UG",
"nzi": "nzi-Latn-GH",
"oc": "oc-Latn-FR",
"oc-ES": "oc-Latn-ES",
"ogc": "ogc-Latn-ZZ",
"oj": "oj-Cans-CA",
"ojs": "ojs-Cans-CA",
@ -1005,7 +1003,6 @@ var maxLikelySubtags = {
"phn": "phn-Phnx-LB",
"pil": "pil-Latn-ZZ",
"pip": "pip-Latn-ZZ",
"pis": "pis-Latn-SB",
"pka": "pka-Brah-IN",
"pko": "pko-Latn-KE",
"pl": "pl-Latn-PL",
@ -1119,14 +1116,12 @@ var maxLikelySubtags = {
"sly": "sly-Latn-ID",
"sm": "sm-Latn-WS",
"sma": "sma-Latn-SE",
"smd": "kmb-Latn-AO",
"smj": "smj-Latn-SE",
"smn": "smn-Latn-FI",
"smp": "smp-Samr-IL",
"smq": "smq-Latn-ZZ",
"sms": "sms-Latn-FI",
"sn": "sn-Latn-ZW",
"snb": "iba-Latn-MY",
"snc": "snc-Latn-ZZ",
"snk": "snk-Latn-ML",
"snp": "snp-Latn-ZZ",
@ -1232,7 +1227,6 @@ var maxLikelySubtags = {
"to": "to-Latn-TO",
"tof": "tof-Latn-ZZ",
"tog": "tog-Latn-MW",
"tok": "tok-Latn-001",
"toq": "toq-Latn-ZZ",
"tpi": "tpi-Latn-PG",
"tpm": "tpm-Latn-ZZ",
@ -1891,8 +1885,8 @@ var maxLikelySubtags = {
};
// Extracted from likelySubtags.xml.
// Derived from CLDR Supplemental Data, version 42.
// https://unicode.org/Public/cldr/42/core.zip
// Derived from CLDR Supplemental Data, version 41.
// https://unicode.org/Public/cldr/41/core.zip
var minLikelySubtags = {
"aa-Latn-DJ": "aa-DJ",
"aa-Latn-ET": "aa",
@ -1942,7 +1936,7 @@ var minLikelySubtags = {
"an-Latn-ES": "an",
"anc-Latn-ZZ": "anc",
"ank-Latn-ZZ": "ank",
"ann-Latn-NG": "ann",
"ann-Latn-ZZ": "ann",
"any-Latn-ZZ": "any",
"aoj-Latn-ZZ": "aoj",
"aom-Latn-ZZ": "aom",
@ -2972,7 +2966,6 @@ var minLikelySubtags = {
"nym-Latn-TZ": "nym",
"nyn-Latn-UG": "nyn",
"nzi-Latn-GH": "nzi",
"oc-Latn-ES": "oc-ES",
"oc-Latn-FR": "oc",
"ogc-Latn-ZZ": "ogc",
"oj-Cans-CA": "oj",
@ -3017,7 +3010,6 @@ var minLikelySubtags = {
"phn-Phnx-LB": "phn",
"pil-Latn-ZZ": "pil",
"pip-Latn-ZZ": "pip",
"pis-Latn-SB": "pis",
"pka-Brah-IN": "pka",
"pko-Latn-KE": "pko",
"pl-Latn-PL": "pl",
@ -3275,7 +3267,6 @@ var minLikelySubtags = {
"to-Latn-TO": "to",
"tof-Latn-ZZ": "tof",
"tog-Latn-MW": "tog",
"tok-Latn-001": "tok",
"toq-Latn-ZZ": "toq",
"tpi-Latn-PG": "tpi",
"tpm-Latn-ZZ": "tpm",

Просмотреть файл

@ -13,8 +13,8 @@ const testcases = [
currencyDisplay: "narrowSymbol",
},
values: [
{value: 123, string: "US$123.00",
parts: [Currency("US$"), Integer("123"), Decimal("."), Fraction("00")]},
{value: 123, string: "$123.00",
parts: [Currency("$"), Integer("123"), Decimal("."), Fraction("00")]},
],
},

Просмотреть файл

@ -31,9 +31,9 @@ assertEq(format.format(123456789.123456789), "¥123,456,789");
// Locale ar-JO; currency JOD.
// The Jordanian Dinar divides into 1000 fils. Jordan uses (real) Arabic digits.
format = new Intl.NumberFormat("ar-jo", {style: "currency", currency: "JOD"});
assertEq(format.format(0), "\u{200F}٠٫٠٠٠ د.أ.\u{200F}");
assertEq(format.format(-1), "\u{061C}-\u{200F}١٫٠٠٠ د.أ.\u{200F}");
assertEq(format.format(123456789.123456789), "\u{200F}١٢٣٬٤٥٦٬٧٨٩٫١٢٣ د.أ.\u{200F}");
assertEq(format.format(0), "٠٫٠٠٠ د.أ.");
assertEq(format.format(-1), "؜-١٫٠٠٠ د.أ.");
assertEq(format.format(123456789.123456789), "١٢٣٬٤٥٦٬٧٨٩٫١٢٣ د.أ.");
// Locale th-TH; Thai digits, percent, two significant digits.
format = new Intl.NumberFormat("th-th-u-nu-thai",

Просмотреть файл

@ -123,12 +123,7 @@ const testcases = [
{value: 1000e11, string: "100\u5146", parts: [Integer("100"), Compact("\u5146")]},
{value: 10000e11, string: "1000\u5146", parts: [Integer("1000"), Compact("\u5146")]},
{value: 10e15, string: "1\u4EAC", parts: [Integer("1"), Compact("\u4EAC")]},
{value: 100e15, string: "10\u4EAC", parts: [Integer("10"), Compact("\u4EAC")]},
{value: 1000e15, string: "100\u4EAC", parts: [Integer("100"), Compact("\u4EAC")]},
{value: 10000e15, string: "1000\u4EAC", parts: [Integer("1000"), Compact("\u4EAC")]},
{value: 100000e15, string: "10,000\u4EAC", parts: [Integer("10"), Group(","), Integer("000"), Compact("\u4EAC")]},
{value: 100000e11, string: "10,000\u5146", parts: [Integer("10"), Group(","), Integer("000"), Compact("\u5146")]},
],
},
];

Просмотреть файл

@ -103,7 +103,6 @@ const allUnits = [
"duration-month",
"duration-month-person",
"duration-nanosecond",
"duration-quarter",
"duration-second",
"duration-week",
"duration-week-person",
@ -169,6 +168,7 @@ const allUnits = [
"mass-grain",
"mass-gram",
"mass-kilogram",
"mass-metric-ton",
"mass-microgram",
"mass-milligram",
"mass-ounce",
@ -177,7 +177,6 @@ const allUnits = [
"mass-solar-mass",
"mass-stone",
"mass-ton",
"mass-tonne",
"power-gigawatt",
"power-horsepower",
"power-kilowatt",

Просмотреть файл

@ -1,6 +1,6 @@
// Generated by make_intl_data.py. DO NOT EDIT.
// source: CLDR file common/bcp47/number.xml; version CLDR 42.
// source: CLDR file common/bcp47/number.xml; version CLDR 41.
// https://github.com/unicode-org/cldr/blob/master/common/bcp47/number.xml
// https://github.com/unicode-org/cldr/blob/master/common/supplemental/numberingSystems.xml
const numberingSystems = {
@ -140,10 +140,6 @@ const numberingSystems = {
"algorithmic": false,
"digits": "꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉"
},
"kawi": {
"algorithmic": false,
"digits": "𑽐𑽑𑽒𑽓𑽔𑽕𑽖𑽗𑽘𑽙"
},
"khmr": {
"algorithmic": false,
"digits": "០១២៣៤៥៦៧៨៩"
@ -228,10 +224,6 @@ const numberingSystems = {
"algorithmic": false,
"digits": "꧰꧱꧲꧳꧴꧵꧶꧷꧸꧹"
},
"nagm": {
"algorithmic": false,
"digits": "𞓰𞓱𞓲𞓳𞓴𞓵𞓶𞓷𞓸𞓹"
},
"newa": {
"algorithmic": false,
"digits": "𑑐𑑑𑑒𑑓𑑔𑑕𑑖𑑗𑑘𑑙"

Просмотреть файл

@ -1,5 +1,5 @@
/* Generated by make_unicode.py DO NOT MODIFY */
/* Unicode version: 15.0.0 */
/* Unicode version: 14.0.0 */
/*
* Any copyright is dedicated to the Public Domain.

Просмотреть файл

@ -1,5 +1,5 @@
/* Generated by make_unicode.py DO NOT MODIFY */
/* Unicode version: 15.0.0 */
/* Unicode version: 14.0.0 */
/*
* Any copyright is dedicated to the Public Domain.

Просмотреть файл

@ -1,5 +1,5 @@
/* Generated by make_unicode.py DO NOT MODIFY */
/* Unicode version: 15.0.0 */
/* Unicode version: 14.0.0 */
/*
* Any copyright is dedicated to the Public Domain.

Просмотреть файл

@ -1,5 +1,5 @@
/* Generated by make_unicode.py DO NOT MODIFY */
/* Unicode version: 15.0.0 */
/* Unicode version: 14.0.0 */
/*
* Any copyright is dedicated to the Public Domain.

Просмотреть файл

@ -1,5 +1,5 @@
/* Generated by make_unicode.py DO NOT MODIFY */
/* Unicode version: 15.0.0 */
/* Unicode version: 14.0.0 */
/*
* Any copyright is dedicated to the Public Domain.
@ -3321,7 +3321,7 @@ var mapping = [
["\u0CF0", "\u0CF0"],
["\u0CF1", "\u0CF1"], /* KANNADA SIGN JIHVAMULIYA */
["\u0CF2", "\u0CF2"], /* KANNADA SIGN UPADHMANIYA */
["\u0CF3", "\u0CF3"], /* KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT */
["\u0CF3", "\u0CF3"],
["\u0CF4", "\u0CF4"],
["\u0CF5", "\u0CF5"],
["\u0CF6", "\u0CF6"],
@ -3796,7 +3796,7 @@ var mapping = [
["\u0ECB", "\u0ECB"], /* LAO TONE MAI CATAWA */
["\u0ECC", "\u0ECC"], /* LAO CANCELLATION MARK */
["\u0ECD", "\u0ECD"], /* LAO NIGGAHITA */
["\u0ECE", "\u0ECE"], /* LAO YAMAKKAN */
["\u0ECE", "\u0ECE"],
["\u0ECF", "\u0ECF"],
["\u0ED0", "\u0ED0"], /* LAO DIGIT ZERO */
["\u0ED1", "\u0ED1"], /* LAO DIGIT ONE */

Просмотреть файл

@ -1,11 +1,11 @@
# CaseFolding-15.0.0.txt
# Date: 2022-02-02, 23:35:35 GMT
# © 2022 Unicode®, Inc.
# CaseFolding-14.0.0.txt
# Date: 2021-03-08, 19:35:41 GMT
# © 2021 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see https://www.unicode.org/reports/tr44/
# For documentation, see http://www.unicode.org/reports/tr44/
#
# Case Folding Properties
#

Просмотреть файл

@ -1,11 +1,11 @@
# DerivedCoreProperties-15.0.0.txt
# Date: 2022-08-05, 22:17:05 GMT
# © 2022 Unicode®, Inc.
# DerivedCoreProperties-14.0.0.txt
# Date: 2021-08-12, 23:12:53 GMT
# © 2021 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see https://www.unicode.org/reports/tr44/
# For documentation, see http://www.unicode.org/reports/tr44/
# ================================================
@ -462,7 +462,6 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
0BD7 ; Alphabetic # Mc TAMIL AU LENGTH MARK
0C00 ; Alphabetic # Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE
0C01..0C03 ; Alphabetic # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
0C04 ; Alphabetic # Mn TELUGU SIGN COMBINING ANUSVARA ABOVE
0C05..0C0C ; Alphabetic # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
0C0E..0C10 ; Alphabetic # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
0C12..0C28 ; Alphabetic # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
@ -498,7 +497,6 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
0CE0..0CE1 ; Alphabetic # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
0CE2..0CE3 ; Alphabetic # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
0CF1..0CF2 ; Alphabetic # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
0CF3 ; Alphabetic # Mc KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT
0D00..0D01 ; Alphabetic # Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
0D02..0D03 ; Alphabetic # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
0D04..0D0C ; Alphabetic # Lo [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L
@ -554,7 +552,7 @@ FFE9..FFEC ; Math # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS A
0F49..0F6C ; Alphabetic # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
0F71..0F7E ; Alphabetic # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
0F7F ; Alphabetic # Mc TIBETAN SIGN RNAM BCAD
0F80..0F83 ; Alphabetic # Mn [4] TIBETAN VOWEL SIGN REVERSED I..TIBETAN SIGN SNA LDAN
0F80..0F81 ; Alphabetic # Mn [2] TIBETAN VOWEL SIGN REVERSED I..TIBETAN VOWEL SIGN REVERSED II
0F88..0F8C ; Alphabetic # Lo [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN
0F8D..0F97 ; Alphabetic # Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
0F99..0FBC ; Alphabetic # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
@ -1055,7 +1053,6 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
11071..11072 ; Alphabetic # Lo [2] BRAHMI LETTER OLD TAMIL SHORT E..BRAHMI LETTER OLD TAMIL SHORT O
11073..11074 ; Alphabetic # Mn [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O
11075 ; Alphabetic # Lo BRAHMI LETTER OLD TAMIL LLA
11080..11081 ; Alphabetic # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
11082 ; Alphabetic # Mc KAITHI SIGN VISARGA
11083..110AF ; Alphabetic # Lo [45] KAITHI LETTER A..KAITHI LETTER HA
110B0..110B2 ; Alphabetic # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
@ -1092,8 +1089,6 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
11234 ; Alphabetic # Mn KHOJKI SIGN ANUSVARA
11237 ; Alphabetic # Mn KHOJKI SIGN SHADDA
1123E ; Alphabetic # Mn KHOJKI SIGN SUKUN
1123F..11240 ; Alphabetic # Lo [2] KHOJKI LETTER QA..KHOJKI LETTER SHORT I
11241 ; Alphabetic # Mn KHOJKI VOWEL SIGN VOCALIC R
11280..11286 ; Alphabetic # Lo [7] MULTANI LETTER A..MULTANI LETTER GA
11288 ; Alphabetic # Lo MULTANI LETTER GHA
1128A..1128D ; Alphabetic # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA
@ -1248,22 +1243,12 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
11EE0..11EF2 ; Alphabetic # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA
11EF3..11EF4 ; Alphabetic # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
11EF5..11EF6 ; Alphabetic # Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
11F00..11F01 ; Alphabetic # Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA
11F02 ; Alphabetic # Lo KAWI SIGN REPHA
11F03 ; Alphabetic # Mc KAWI SIGN VISARGA
11F04..11F10 ; Alphabetic # Lo [13] KAWI LETTER A..KAWI LETTER O
11F12..11F33 ; Alphabetic # Lo [34] KAWI LETTER KA..KAWI LETTER JNYA
11F34..11F35 ; Alphabetic # Mc [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA
11F36..11F3A ; Alphabetic # Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
11F3E..11F3F ; Alphabetic # Mc [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI
11F40 ; Alphabetic # Mn KAWI VOWEL SIGN EU
11FB0 ; Alphabetic # Lo LISU LETTER YHA
12000..12399 ; Alphabetic # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
12400..1246E ; Alphabetic # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
12480..12543 ; Alphabetic # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
12F90..12FF0 ; Alphabetic # Lo [97] CYPRO-MINOAN SIGN CM001..CYPRO-MINOAN SIGN CM114
13000..1342F ; Alphabetic # Lo [1072] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH V011D
13441..13446 ; Alphabetic # Lo [6] EGYPTIAN HIEROGLYPH FULL BLANK..EGYPTIAN HIEROGLYPH WIDE LOST SIGN
13000..1342E ; Alphabetic # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
14400..14646 ; Alphabetic # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
16800..16A38 ; Alphabetic # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16A40..16A5E ; Alphabetic # Lo [31] MRO LETTER TA..MRO LETTER TEK
@ -1290,9 +1275,7 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
1AFF5..1AFFB ; Alphabetic # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; Alphabetic # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1B000..1B122 ; Alphabetic # Lo [291] KATAKANA LETTER ARCHAIC E..KATAKANA LETTER ARCHAIC WU
1B132 ; Alphabetic # Lo HIRAGANA LETTER SMALL KO
1B150..1B152 ; Alphabetic # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO
1B155 ; Alphabetic # Lo KATAKANA LETTER SMALL KO
1B164..1B167 ; Alphabetic # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N
1B170..1B2FB ; Alphabetic # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
1BC00..1BC6A ; Alphabetic # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
@ -1333,21 +1316,16 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
1DF00..1DF09 ; Alphabetic # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0A ; Alphabetic # Lo LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
1DF0B..1DF1E ; Alphabetic # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; Alphabetic # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E000..1E006 ; Alphabetic # Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
1E008..1E018 ; Alphabetic # Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
1E01B..1E021 ; Alphabetic # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
1E023..1E024 ; Alphabetic # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
1E026..1E02A ; Alphabetic # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
1E030..1E06D ; Alphabetic # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E08F ; Alphabetic # Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1E100..1E12C ; Alphabetic # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W
1E137..1E13D ; Alphabetic # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
1E14E ; Alphabetic # Lo NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ
1E290..1E2AD ; Alphabetic # Lo [30] TOTO LETTER PA..TOTO LETTER A
1E2C0..1E2EB ; Alphabetic # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH
1E4D0..1E4EA ; Alphabetic # Lo [27] NAG MUNDARI LETTER O..NAG MUNDARI LETTER ELL
1E4EB ; Alphabetic # Lm NAG MUNDARI SIGN OJOD
1E7E0..1E7E6 ; Alphabetic # Lo [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
1E7E8..1E7EB ; Alphabetic # Lo [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
1E7ED..1E7EE ; Alphabetic # Lo [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@ -1393,15 +1371,14 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
1F150..1F169 ; Alphabetic # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
1F170..1F189 ; Alphabetic # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
20000..2A6DF ; Alphabetic # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B739 ; Alphabetic # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
2A700..2B738 ; Alphabetic # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; Alphabetic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; Alphabetic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; Alphabetic # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; Alphabetic # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
31350..323AF ; Alphabetic # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
# Total code points: 137765
# Total code points: 133396
# ================================================
@ -1686,7 +1663,6 @@ FFDA..FFDC ; Alphabetic # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANG
052F ; Lowercase # L& CYRILLIC SMALL LETTER EL WITH DESCENDER
0560..0588 ; Lowercase # L& [41] ARMENIAN SMALL LETTER TURNED AYB..ARMENIAN SMALL LETTER YI WITH STROKE
10D0..10FA ; Lowercase # L& [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
10FC ; Lowercase # Lm MODIFIER LETTER GEORGIAN NAR
10FD..10FF ; Lowercase # L& [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN
13F8..13FD ; Lowercase # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
1C80..1C88 ; Lowercase # L& [9] CYRILLIC SMALL LETTER ROUNDED VE..CYRILLIC SMALL LETTER UNBLENDED UK
@ -2036,14 +2012,12 @@ A7D3 ; Lowercase # L& LATIN SMALL LETTER DOUBLE THORN
A7D5 ; Lowercase # L& LATIN SMALL LETTER DOUBLE WYNN
A7D7 ; Lowercase # L& LATIN SMALL LETTER MIDDLE SCOTS S
A7D9 ; Lowercase # L& LATIN SMALL LETTER SIGMOID S
A7F2..A7F4 ; Lowercase # Lm [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
A7F6 ; Lowercase # L& LATIN SMALL LETTER REVERSED HALF H
A7F8..A7F9 ; Lowercase # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
A7FA ; Lowercase # L& LATIN LETTER SMALL CAPITAL TURNED M
AB30..AB5A ; Lowercase # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
AB5C..AB5F ; Lowercase # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
AB60..AB68 ; Lowercase # L& [9] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER TURNED R WITH MIDDLE TILDE
AB69 ; Lowercase # Lm MODIFIER LETTER SMALL TURNED W
AB70..ABBF ; Lowercase # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
FB00..FB06 ; Lowercase # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
FB13..FB17 ; Lowercase # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@ -2091,11 +2065,9 @@ FF41..FF5A ; Lowercase # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
1D7CB ; Lowercase # L& MATHEMATICAL BOLD SMALL DIGAMMA
1DF00..1DF09 ; Lowercase # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0B..1DF1E ; Lowercase # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; Lowercase # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E030..1E06D ; Lowercase # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E922..1E943 ; Lowercase # L& [34] ADLAM SMALL LETTER ALIF..ADLAM SMALL LETTER SHA
# Total code points: 2544
# Total code points: 2471
# ================================================
@ -2795,7 +2767,6 @@ FF21..FF3A ; Uppercase # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH
10C7 ; Cased # L& GEORGIAN CAPITAL LETTER YN
10CD ; Cased # L& GEORGIAN CAPITAL LETTER AEN
10D0..10FA ; Cased # L& [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
10FC ; Cased # Lm MODIFIER LETTER GEORGIAN NAR
10FD..10FF ; Cased # L& [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN
13A0..13F5 ; Cased # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
13F8..13FD ; Cased # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
@ -2866,14 +2837,12 @@ A790..A7CA ; Cased # L& [59] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SM
A7D0..A7D1 ; Cased # L& [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
A7D3 ; Cased # L& LATIN SMALL LETTER DOUBLE THORN
A7D5..A7D9 ; Cased # L& [5] LATIN SMALL LETTER DOUBLE WYNN..LATIN SMALL LETTER SIGMOID S
A7F2..A7F4 ; Cased # Lm [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
A7F5..A7F6 ; Cased # L& [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
A7F8..A7F9 ; Cased # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
A7FA ; Cased # L& LATIN LETTER SMALL CAPITAL TURNED M
AB30..AB5A ; Cased # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
AB5C..AB5F ; Cased # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
AB60..AB68 ; Cased # L& [9] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER TURNED R WITH MIDDLE TILDE
AB69 ; Cased # Lm MODIFIER LETTER SMALL TURNED W
AB70..ABBF ; Cased # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
FB00..FB06 ; Cased # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
FB13..FB17 ; Cased # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@ -2930,14 +2899,12 @@ FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
1D7C4..1D7CB ; Cased # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
1DF00..1DF09 ; Cased # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0B..1DF1E ; Cased # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; Cased # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E030..1E06D ; Cased # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E900..1E943 ; Cased # L& [68] ADLAM CAPITAL LETTER ALIF..ADLAM SMALL LETTER SHA
1F130..1F149 ; Cased # So [26] SQUARED LATIN CAPITAL LETTER A..SQUARED LATIN CAPITAL LETTER Z
1F150..1F169 ; Cased # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
1F170..1F189 ; Cased # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
# Total code points: 4526
# Total code points: 4453
# ================================================
@ -3087,7 +3054,7 @@ FF41..FF5A ; Cased # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN
0EB1 ; Case_Ignorable # Mn LAO VOWEL SIGN MAI KAN
0EB4..0EBC ; Case_Ignorable # Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO
0EC6 ; Case_Ignorable # Lm LAO KO LA
0EC8..0ECE ; Case_Ignorable # Mn [7] LAO TONE MAI EK..LAO YAMAKKAN
0EC8..0ECD ; Case_Ignorable # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
0F18..0F19 ; Case_Ignorable # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
0F35 ; Case_Ignorable # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
0F37 ; Case_Ignorable # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
@ -3296,7 +3263,6 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
10AE5..10AE6 ; Case_Ignorable # Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
10D24..10D27 ; Case_Ignorable # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
10EAB..10EAC ; Case_Ignorable # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
10EFD..10EFF ; Case_Ignorable # Mn [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA
10F46..10F50 ; Case_Ignorable # Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
10F82..10F85 ; Case_Ignorable # Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
11001 ; Case_Ignorable # Mn BRAHMI SIGN ANUSVARA
@ -3321,7 +3287,6 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
11234 ; Case_Ignorable # Mn KHOJKI SIGN ANUSVARA
11236..11237 ; Case_Ignorable # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
1123E ; Case_Ignorable # Mn KHOJKI SIGN SUKUN
11241 ; Case_Ignorable # Mn KHOJKI VOWEL SIGN VOCALIC R
112DF ; Case_Ignorable # Mn KHUDAWADI SIGN ANUSVARA
112E3..112EA ; Case_Ignorable # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
11300..11301 ; Case_Ignorable # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
@ -3383,13 +3348,7 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
11D95 ; Case_Ignorable # Mn GUNJALA GONDI SIGN ANUSVARA
11D97 ; Case_Ignorable # Mn GUNJALA GONDI VIRAMA
11EF3..11EF4 ; Case_Ignorable # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
11F00..11F01 ; Case_Ignorable # Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA
11F36..11F3A ; Case_Ignorable # Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
11F40 ; Case_Ignorable # Mn KAWI VOWEL SIGN EU
11F42 ; Case_Ignorable # Mn KAWI CONJOINER
13430..1343F ; Case_Ignorable # Cf [16] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE
13440 ; Case_Ignorable # Mn EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY
13447..13455 ; Case_Ignorable # Mn [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED
13430..13438 ; Case_Ignorable # Cf [9] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END SEGMENT
16AF0..16AF4 ; Case_Ignorable # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
16B30..16B36 ; Case_Ignorable # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
16B40..16B43 ; Case_Ignorable # Lm [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM
@ -3423,14 +3382,10 @@ FFF9..FFFB ; Case_Ignorable # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLI
1E01B..1E021 ; Case_Ignorable # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
1E023..1E024 ; Case_Ignorable # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
1E026..1E02A ; Case_Ignorable # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
1E030..1E06D ; Case_Ignorable # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E08F ; Case_Ignorable # Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1E130..1E136 ; Case_Ignorable # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
1E137..1E13D ; Case_Ignorable # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
1E2AE ; Case_Ignorable # Mn TOTO SIGN RISING TONE
1E2EC..1E2EF ; Case_Ignorable # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI
1E4EB ; Case_Ignorable # Lm NAG MUNDARI SIGN OJOD
1E4EC..1E4EF ; Case_Ignorable # Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
1E8D0..1E8D6 ; Case_Ignorable # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
1E944..1E94A ; Case_Ignorable # Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
1E94B ; Case_Ignorable # Lm ADLAM NASALIZATION MARK
@ -3439,7 +3394,7 @@ E0001 ; Case_Ignorable # Cf LANGUAGE TAG
E0020..E007F ; Case_Ignorable # Cf [96] TAG SPACE..CANCEL TAG
E0100..E01EF ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
# Total code points: 2707
# Total code points: 2602
# ================================================
@ -6662,7 +6617,6 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
111DC ; ID_Start # Lo SHARADA HEADSTROKE
11200..11211 ; ID_Start # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA
11213..1122B ; ID_Start # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
1123F..11240 ; ID_Start # Lo [2] KHOJKI LETTER QA..KHOJKI LETTER SHORT I
11280..11286 ; ID_Start # Lo [7] MULTANI LETTER A..MULTANI LETTER GA
11288 ; ID_Start # Lo MULTANI LETTER GHA
1128A..1128D ; ID_Start # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA
@ -6725,16 +6679,12 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
11D6A..11D89 ; ID_Start # Lo [32] GUNJALA GONDI LETTER OO..GUNJALA GONDI LETTER SA
11D98 ; ID_Start # Lo GUNJALA GONDI OM
11EE0..11EF2 ; ID_Start # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA
11F02 ; ID_Start # Lo KAWI SIGN REPHA
11F04..11F10 ; ID_Start # Lo [13] KAWI LETTER A..KAWI LETTER O
11F12..11F33 ; ID_Start # Lo [34] KAWI LETTER KA..KAWI LETTER JNYA
11FB0 ; ID_Start # Lo LISU LETTER YHA
12000..12399 ; ID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
12400..1246E ; ID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
12480..12543 ; ID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
12F90..12FF0 ; ID_Start # Lo [97] CYPRO-MINOAN SIGN CM001..CYPRO-MINOAN SIGN CM114
13000..1342F ; ID_Start # Lo [1072] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH V011D
13441..13446 ; ID_Start # Lo [6] EGYPTIAN HIEROGLYPH FULL BLANK..EGYPTIAN HIEROGLYPH WIDE LOST SIGN
13000..1342E ; ID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
14400..14646 ; ID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
16800..16A38 ; ID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16A40..16A5E ; ID_Start # Lo [31] MRO LETTER TA..MRO LETTER TEK
@ -6757,9 +6707,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
1AFF5..1AFFB ; ID_Start # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; ID_Start # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1B000..1B122 ; ID_Start # Lo [291] KATAKANA LETTER ARCHAIC E..KATAKANA LETTER ARCHAIC WU
1B132 ; ID_Start # Lo HIRAGANA LETTER SMALL KO
1B150..1B152 ; ID_Start # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO
1B155 ; ID_Start # Lo KATAKANA LETTER SMALL KO
1B164..1B167 ; ID_Start # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N
1B170..1B2FB ; ID_Start # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
1BC00..1BC6A ; ID_Start # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
@ -6799,15 +6747,11 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
1DF00..1DF09 ; ID_Start # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0A ; ID_Start # Lo LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
1DF0B..1DF1E ; ID_Start # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; ID_Start # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E030..1E06D ; ID_Start # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E100..1E12C ; ID_Start # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W
1E137..1E13D ; ID_Start # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
1E14E ; ID_Start # Lo NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ
1E290..1E2AD ; ID_Start # Lo [30] TOTO LETTER PA..TOTO LETTER A
1E2C0..1E2EB ; ID_Start # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH
1E4D0..1E4EA ; ID_Start # Lo [27] NAG MUNDARI LETTER O..NAG MUNDARI LETTER ELL
1E4EB ; ID_Start # Lm NAG MUNDARI SIGN OJOD
1E7E0..1E7E6 ; ID_Start # Lo [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
1E7E8..1E7EB ; ID_Start # Lo [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
1E7ED..1E7EE ; ID_Start # Lo [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@ -6849,15 +6793,14 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
1EEA5..1EEA9 ; ID_Start # Lo [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
1EEAB..1EEBB ; ID_Start # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
20000..2A6DF ; ID_Start # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B739 ; ID_Start # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
2A700..2B738 ; ID_Start # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; ID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; ID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; ID_Start # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; ID_Start # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
31350..323AF ; ID_Start # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
# Total code points: 136345
# Total code points: 131997
# ================================================
@ -7140,7 +7083,6 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
0CE2..0CE3 ; ID_Continue # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
0CE6..0CEF ; ID_Continue # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
0CF1..0CF2 ; ID_Continue # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
0CF3 ; ID_Continue # Mc KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT
0D00..0D01 ; ID_Continue # Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
0D02..0D03 ; ID_Continue # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
0D04..0D0C ; ID_Continue # Lo [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L
@ -7194,7 +7136,7 @@ FFDA..FFDC ; ID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL
0EBD ; ID_Continue # Lo LAO SEMIVOWEL SIGN NYO
0EC0..0EC4 ; ID_Continue # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
0EC6 ; ID_Continue # Lm LAO KO LA
0EC8..0ECE ; ID_Continue # Mn [7] LAO TONE MAI EK..LAO YAMAKKAN
0EC8..0ECD ; ID_Continue # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
0ED0..0ED9 ; ID_Continue # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
0EDC..0EDF ; ID_Continue # Lo [4] LAO HO NO..LAO LETTER KHMU NYO
0F00 ; ID_Continue # Lo TIBETAN SYLLABLE OM
@ -7777,7 +7719,6 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
10E80..10EA9 ; ID_Continue # Lo [42] YEZIDI LETTER ELIF..YEZIDI LETTER ET
10EAB..10EAC ; ID_Continue # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
10EB0..10EB1 ; ID_Continue # Lo [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
10EFD..10EFF ; ID_Continue # Mn [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA
10F00..10F1C ; ID_Continue # Lo [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
10F27 ; ID_Continue # Lo OLD SOGDIAN LIGATURE AYIN-DALETH
10F30..10F45 ; ID_Continue # Lo [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN
@ -7840,8 +7781,6 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
11235 ; ID_Continue # Mc KHOJKI SIGN VIRAMA
11236..11237 ; ID_Continue # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
1123E ; ID_Continue # Mn KHOJKI SIGN SUKUN
1123F..11240 ; ID_Continue # Lo [2] KHOJKI LETTER QA..KHOJKI LETTER SHORT I
11241 ; ID_Continue # Mn KHOJKI VOWEL SIGN VOCALIC R
11280..11286 ; ID_Continue # Lo [7] MULTANI LETTER A..MULTANI LETTER GA
11288 ; ID_Continue # Lo MULTANI LETTER GHA
1128A..1128D ; ID_Continue # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA
@ -8024,27 +7963,12 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
11EE0..11EF2 ; ID_Continue # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA
11EF3..11EF4 ; ID_Continue # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
11EF5..11EF6 ; ID_Continue # Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
11F00..11F01 ; ID_Continue # Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA
11F02 ; ID_Continue # Lo KAWI SIGN REPHA
11F03 ; ID_Continue # Mc KAWI SIGN VISARGA
11F04..11F10 ; ID_Continue # Lo [13] KAWI LETTER A..KAWI LETTER O
11F12..11F33 ; ID_Continue # Lo [34] KAWI LETTER KA..KAWI LETTER JNYA
11F34..11F35 ; ID_Continue # Mc [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA
11F36..11F3A ; ID_Continue # Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
11F3E..11F3F ; ID_Continue # Mc [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI
11F40 ; ID_Continue # Mn KAWI VOWEL SIGN EU
11F41 ; ID_Continue # Mc KAWI SIGN KILLER
11F42 ; ID_Continue # Mn KAWI CONJOINER
11F50..11F59 ; ID_Continue # Nd [10] KAWI DIGIT ZERO..KAWI DIGIT NINE
11FB0 ; ID_Continue # Lo LISU LETTER YHA
12000..12399 ; ID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
12400..1246E ; ID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
12480..12543 ; ID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
12F90..12FF0 ; ID_Continue # Lo [97] CYPRO-MINOAN SIGN CM001..CYPRO-MINOAN SIGN CM114
13000..1342F ; ID_Continue # Lo [1072] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH V011D
13440 ; ID_Continue # Mn EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY
13441..13446 ; ID_Continue # Lo [6] EGYPTIAN HIEROGLYPH FULL BLANK..EGYPTIAN HIEROGLYPH WIDE LOST SIGN
13447..13455 ; ID_Continue # Mn [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED
13000..1342E ; ID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
14400..14646 ; ID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
16800..16A38 ; ID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16A40..16A5E ; ID_Continue # Lo [31] MRO LETTER TA..MRO LETTER TEK
@ -8077,9 +8001,7 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
1AFF5..1AFFB ; ID_Continue # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; ID_Continue # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1B000..1B122 ; ID_Continue # Lo [291] KATAKANA LETTER ARCHAIC E..KATAKANA LETTER ARCHAIC WU
1B132 ; ID_Continue # Lo HIRAGANA LETTER SMALL KO
1B150..1B152 ; ID_Continue # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO
1B155 ; ID_Continue # Lo KATAKANA LETTER SMALL KO
1B164..1B167 ; ID_Continue # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N
1B170..1B2FB ; ID_Continue # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
1BC00..1BC6A ; ID_Continue # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
@ -8136,14 +8058,11 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
1DF00..1DF09 ; ID_Continue # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0A ; ID_Continue # Lo LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
1DF0B..1DF1E ; ID_Continue # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; ID_Continue # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E000..1E006 ; ID_Continue # Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
1E008..1E018 ; ID_Continue # Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
1E01B..1E021 ; ID_Continue # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
1E023..1E024 ; ID_Continue # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
1E026..1E02A ; ID_Continue # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
1E030..1E06D ; ID_Continue # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E08F ; ID_Continue # Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1E100..1E12C ; ID_Continue # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W
1E130..1E136 ; ID_Continue # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
1E137..1E13D ; ID_Continue # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
@ -8154,10 +8073,6 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
1E2C0..1E2EB ; ID_Continue # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH
1E2EC..1E2EF ; ID_Continue # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI
1E2F0..1E2F9 ; ID_Continue # Nd [10] WANCHO DIGIT ZERO..WANCHO DIGIT NINE
1E4D0..1E4EA ; ID_Continue # Lo [27] NAG MUNDARI LETTER O..NAG MUNDARI LETTER ELL
1E4EB ; ID_Continue # Lm NAG MUNDARI SIGN OJOD
1E4EC..1E4EF ; ID_Continue # Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
1E4F0..1E4F9 ; ID_Continue # Nd [10] NAG MUNDARI DIGIT ZERO..NAG MUNDARI DIGIT NINE
1E7E0..1E7E6 ; ID_Continue # Lo [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
1E7E8..1E7EB ; ID_Continue # Lo [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
1E7ED..1E7EE ; ID_Continue # Lo [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@ -8203,16 +8118,15 @@ FFDA..FFDC ; ID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HAN
1EEAB..1EEBB ; ID_Continue # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
1FBF0..1FBF9 ; ID_Continue # Nd [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE
20000..2A6DF ; ID_Continue # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B739 ; ID_Continue # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
2A700..2B738 ; ID_Continue # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; ID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; ID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; ID_Continue # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; ID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; ID_Continue # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
31350..323AF ; ID_Continue # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
E0100..E01EF ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
# Total code points: 139482
# Total code points: 135072
# ================================================
@ -8771,7 +8685,6 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
111DC ; XID_Start # Lo SHARADA HEADSTROKE
11200..11211 ; XID_Start # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA
11213..1122B ; XID_Start # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
1123F..11240 ; XID_Start # Lo [2] KHOJKI LETTER QA..KHOJKI LETTER SHORT I
11280..11286 ; XID_Start # Lo [7] MULTANI LETTER A..MULTANI LETTER GA
11288 ; XID_Start # Lo MULTANI LETTER GHA
1128A..1128D ; XID_Start # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA
@ -8834,16 +8747,12 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
11D6A..11D89 ; XID_Start # Lo [32] GUNJALA GONDI LETTER OO..GUNJALA GONDI LETTER SA
11D98 ; XID_Start # Lo GUNJALA GONDI OM
11EE0..11EF2 ; XID_Start # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA
11F02 ; XID_Start # Lo KAWI SIGN REPHA
11F04..11F10 ; XID_Start # Lo [13] KAWI LETTER A..KAWI LETTER O
11F12..11F33 ; XID_Start # Lo [34] KAWI LETTER KA..KAWI LETTER JNYA
11FB0 ; XID_Start # Lo LISU LETTER YHA
12000..12399 ; XID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
12400..1246E ; XID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
12480..12543 ; XID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
12F90..12FF0 ; XID_Start # Lo [97] CYPRO-MINOAN SIGN CM001..CYPRO-MINOAN SIGN CM114
13000..1342F ; XID_Start # Lo [1072] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH V011D
13441..13446 ; XID_Start # Lo [6] EGYPTIAN HIEROGLYPH FULL BLANK..EGYPTIAN HIEROGLYPH WIDE LOST SIGN
13000..1342E ; XID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
14400..14646 ; XID_Start # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
16800..16A38 ; XID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16A40..16A5E ; XID_Start # Lo [31] MRO LETTER TA..MRO LETTER TEK
@ -8866,9 +8775,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
1AFF5..1AFFB ; XID_Start # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; XID_Start # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1B000..1B122 ; XID_Start # Lo [291] KATAKANA LETTER ARCHAIC E..KATAKANA LETTER ARCHAIC WU
1B132 ; XID_Start # Lo HIRAGANA LETTER SMALL KO
1B150..1B152 ; XID_Start # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO
1B155 ; XID_Start # Lo KATAKANA LETTER SMALL KO
1B164..1B167 ; XID_Start # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N
1B170..1B2FB ; XID_Start # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
1BC00..1BC6A ; XID_Start # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
@ -8908,15 +8815,11 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
1DF00..1DF09 ; XID_Start # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0A ; XID_Start # Lo LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
1DF0B..1DF1E ; XID_Start # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; XID_Start # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E030..1E06D ; XID_Start # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E100..1E12C ; XID_Start # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W
1E137..1E13D ; XID_Start # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
1E14E ; XID_Start # Lo NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ
1E290..1E2AD ; XID_Start # Lo [30] TOTO LETTER PA..TOTO LETTER A
1E2C0..1E2EB ; XID_Start # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH
1E4D0..1E4EA ; XID_Start # Lo [27] NAG MUNDARI LETTER O..NAG MUNDARI LETTER ELL
1E4EB ; XID_Start # Lm NAG MUNDARI SIGN OJOD
1E7E0..1E7E6 ; XID_Start # Lo [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
1E7E8..1E7EB ; XID_Start # Lo [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
1E7ED..1E7EE ; XID_Start # Lo [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@ -8958,15 +8861,14 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
1EEA5..1EEA9 ; XID_Start # Lo [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
1EEAB..1EEBB ; XID_Start # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
20000..2A6DF ; XID_Start # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B739 ; XID_Start # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
2A700..2B738 ; XID_Start # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; XID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; XID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; XID_Start # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; XID_Start # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
31350..323AF ; XID_Start # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
# Total code points: 136322
# Total code points: 131974
# ================================================
@ -9245,7 +9147,6 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
0CE2..0CE3 ; XID_Continue # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
0CE6..0CEF ; XID_Continue # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
0CF1..0CF2 ; XID_Continue # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
0CF3 ; XID_Continue # Mc KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT
0D00..0D01 ; XID_Continue # Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
0D02..0D03 ; XID_Continue # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
0D04..0D0C ; XID_Continue # Lo [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L
@ -9299,7 +9200,7 @@ FFDA..FFDC ; XID_Start # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGU
0EBD ; XID_Continue # Lo LAO SEMIVOWEL SIGN NYO
0EC0..0EC4 ; XID_Continue # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
0EC6 ; XID_Continue # Lm LAO KO LA
0EC8..0ECE ; XID_Continue # Mn [7] LAO TONE MAI EK..LAO YAMAKKAN
0EC8..0ECD ; XID_Continue # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
0ED0..0ED9 ; XID_Continue # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE
0EDC..0EDF ; XID_Continue # Lo [4] LAO HO NO..LAO LETTER KHMU NYO
0F00 ; XID_Continue # Lo TIBETAN SYLLABLE OM
@ -9887,7 +9788,6 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
10E80..10EA9 ; XID_Continue # Lo [42] YEZIDI LETTER ELIF..YEZIDI LETTER ET
10EAB..10EAC ; XID_Continue # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
10EB0..10EB1 ; XID_Continue # Lo [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
10EFD..10EFF ; XID_Continue # Mn [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA
10F00..10F1C ; XID_Continue # Lo [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
10F27 ; XID_Continue # Lo OLD SOGDIAN LIGATURE AYIN-DALETH
10F30..10F45 ; XID_Continue # Lo [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN
@ -9950,8 +9850,6 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
11235 ; XID_Continue # Mc KHOJKI SIGN VIRAMA
11236..11237 ; XID_Continue # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
1123E ; XID_Continue # Mn KHOJKI SIGN SUKUN
1123F..11240 ; XID_Continue # Lo [2] KHOJKI LETTER QA..KHOJKI LETTER SHORT I
11241 ; XID_Continue # Mn KHOJKI VOWEL SIGN VOCALIC R
11280..11286 ; XID_Continue # Lo [7] MULTANI LETTER A..MULTANI LETTER GA
11288 ; XID_Continue # Lo MULTANI LETTER GHA
1128A..1128D ; XID_Continue # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA
@ -10134,27 +10032,12 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
11EE0..11EF2 ; XID_Continue # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA
11EF3..11EF4 ; XID_Continue # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
11EF5..11EF6 ; XID_Continue # Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
11F00..11F01 ; XID_Continue # Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA
11F02 ; XID_Continue # Lo KAWI SIGN REPHA
11F03 ; XID_Continue # Mc KAWI SIGN VISARGA
11F04..11F10 ; XID_Continue # Lo [13] KAWI LETTER A..KAWI LETTER O
11F12..11F33 ; XID_Continue # Lo [34] KAWI LETTER KA..KAWI LETTER JNYA
11F34..11F35 ; XID_Continue # Mc [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA
11F36..11F3A ; XID_Continue # Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
11F3E..11F3F ; XID_Continue # Mc [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI
11F40 ; XID_Continue # Mn KAWI VOWEL SIGN EU
11F41 ; XID_Continue # Mc KAWI SIGN KILLER
11F42 ; XID_Continue # Mn KAWI CONJOINER
11F50..11F59 ; XID_Continue # Nd [10] KAWI DIGIT ZERO..KAWI DIGIT NINE
11FB0 ; XID_Continue # Lo LISU LETTER YHA
12000..12399 ; XID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
12400..1246E ; XID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
12480..12543 ; XID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
12F90..12FF0 ; XID_Continue # Lo [97] CYPRO-MINOAN SIGN CM001..CYPRO-MINOAN SIGN CM114
13000..1342F ; XID_Continue # Lo [1072] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH V011D
13440 ; XID_Continue # Mn EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY
13441..13446 ; XID_Continue # Lo [6] EGYPTIAN HIEROGLYPH FULL BLANK..EGYPTIAN HIEROGLYPH WIDE LOST SIGN
13447..13455 ; XID_Continue # Mn [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED
13000..1342E ; XID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
14400..14646 ; XID_Continue # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
16800..16A38 ; XID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16A40..16A5E ; XID_Continue # Lo [31] MRO LETTER TA..MRO LETTER TEK
@ -10187,9 +10070,7 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
1AFF5..1AFFB ; XID_Continue # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; XID_Continue # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1B000..1B122 ; XID_Continue # Lo [291] KATAKANA LETTER ARCHAIC E..KATAKANA LETTER ARCHAIC WU
1B132 ; XID_Continue # Lo HIRAGANA LETTER SMALL KO
1B150..1B152 ; XID_Continue # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO
1B155 ; XID_Continue # Lo KATAKANA LETTER SMALL KO
1B164..1B167 ; XID_Continue # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N
1B170..1B2FB ; XID_Continue # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
1BC00..1BC6A ; XID_Continue # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
@ -10246,14 +10127,11 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
1DF00..1DF09 ; XID_Continue # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0A ; XID_Continue # Lo LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
1DF0B..1DF1E ; XID_Continue # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; XID_Continue # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E000..1E006 ; XID_Continue # Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
1E008..1E018 ; XID_Continue # Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
1E01B..1E021 ; XID_Continue # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
1E023..1E024 ; XID_Continue # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
1E026..1E02A ; XID_Continue # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
1E030..1E06D ; XID_Continue # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E08F ; XID_Continue # Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1E100..1E12C ; XID_Continue # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W
1E130..1E136 ; XID_Continue # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
1E137..1E13D ; XID_Continue # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
@ -10264,10 +10142,6 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
1E2C0..1E2EB ; XID_Continue # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH
1E2EC..1E2EF ; XID_Continue # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI
1E2F0..1E2F9 ; XID_Continue # Nd [10] WANCHO DIGIT ZERO..WANCHO DIGIT NINE
1E4D0..1E4EA ; XID_Continue # Lo [27] NAG MUNDARI LETTER O..NAG MUNDARI LETTER ELL
1E4EB ; XID_Continue # Lm NAG MUNDARI SIGN OJOD
1E4EC..1E4EF ; XID_Continue # Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
1E4F0..1E4F9 ; XID_Continue # Nd [10] NAG MUNDARI DIGIT ZERO..NAG MUNDARI DIGIT NINE
1E7E0..1E7E6 ; XID_Continue # Lo [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
1E7E8..1E7EB ; XID_Continue # Lo [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
1E7ED..1E7EE ; XID_Continue # Lo [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@ -10313,16 +10187,15 @@ FFDA..FFDC ; XID_Continue # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HA
1EEAB..1EEBB ; XID_Continue # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
1FBF0..1FBF9 ; XID_Continue # Nd [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE
20000..2A6DF ; XID_Continue # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B739 ; XID_Continue # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
2A700..2B738 ; XID_Continue # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; XID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; XID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; XID_Continue # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; XID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; XID_Continue # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
31350..323AF ; XID_Continue # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
E0100..E01EF ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
# Total code points: 139463
# Total code points: 135053
# ================================================
@ -10333,7 +10206,7 @@ E0100..E01EF ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTO
# + Variation_Selector
# - White_Space
# - FFF9..FFFB (Interlinear annotation format characters)
# - 13430..13440 (Egyptian hieroglyph format characters)
# - 13430..13438 (Egyptian hieroglyph format characters)
# - Prepended_Concatenation_Mark (Exceptional format characters that should be visible)
00AD ; Default_Ignorable_Code_Point # Cf SOFT HYPHEN
@ -10478,7 +10351,7 @@ E01F0..E0FFF ; Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<rese
0E47..0E4E ; Grapheme_Extend # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
0EB1 ; Grapheme_Extend # Mn LAO VOWEL SIGN MAI KAN
0EB4..0EBC ; Grapheme_Extend # Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO
0EC8..0ECE ; Grapheme_Extend # Mn [7] LAO TONE MAI EK..LAO YAMAKKAN
0EC8..0ECD ; Grapheme_Extend # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA
0F18..0F19 ; Grapheme_Extend # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
0F35 ; Grapheme_Extend # Mn TIBETAN MARK NGAS BZUNG NYI ZLA
0F37 ; Grapheme_Extend # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS
@ -10617,7 +10490,6 @@ FF9E..FF9F ; Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
10AE5..10AE6 ; Grapheme_Extend # Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
10D24..10D27 ; Grapheme_Extend # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
10EAB..10EAC ; Grapheme_Extend # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
10EFD..10EFF ; Grapheme_Extend # Mn [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA
10F46..10F50 ; Grapheme_Extend # Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
10F82..10F85 ; Grapheme_Extend # Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
11001 ; Grapheme_Extend # Mn BRAHMI SIGN ANUSVARA
@ -10640,7 +10512,6 @@ FF9E..FF9F ; Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
11234 ; Grapheme_Extend # Mn KHOJKI SIGN ANUSVARA
11236..11237 ; Grapheme_Extend # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
1123E ; Grapheme_Extend # Mn KHOJKI SIGN SUKUN
11241 ; Grapheme_Extend # Mn KHOJKI VOWEL SIGN VOCALIC R
112DF ; Grapheme_Extend # Mn KHUDAWADI SIGN ANUSVARA
112E3..112EA ; Grapheme_Extend # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
11300..11301 ; Grapheme_Extend # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
@ -10708,12 +10579,6 @@ FF9E..FF9F ; Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
11D95 ; Grapheme_Extend # Mn GUNJALA GONDI SIGN ANUSVARA
11D97 ; Grapheme_Extend # Mn GUNJALA GONDI VIRAMA
11EF3..11EF4 ; Grapheme_Extend # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U
11F00..11F01 ; Grapheme_Extend # Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA
11F36..11F3A ; Grapheme_Extend # Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R
11F40 ; Grapheme_Extend # Mn KAWI VOWEL SIGN EU
11F42 ; Grapheme_Extend # Mn KAWI CONJOINER
13440 ; Grapheme_Extend # Mn EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY
13447..13455 ; Grapheme_Extend # Mn [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED
16AF0..16AF4 ; Grapheme_Extend # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
16B30..16B36 ; Grapheme_Extend # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
16F4F ; Grapheme_Extend # Mn MIAO SIGN CONSONANT MODIFIER BAR
@ -10740,17 +10605,15 @@ FF9E..FF9F ; Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK.
1E01B..1E021 ; Grapheme_Extend # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
1E023..1E024 ; Grapheme_Extend # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
1E026..1E02A ; Grapheme_Extend # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
1E08F ; Grapheme_Extend # Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
1E130..1E136 ; Grapheme_Extend # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
1E2AE ; Grapheme_Extend # Mn TOTO SIGN RISING TONE
1E2EC..1E2EF ; Grapheme_Extend # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI
1E4EC..1E4EF ; Grapheme_Extend # Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH
1E8D0..1E8D6 ; Grapheme_Extend # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
1E944..1E94A ; Grapheme_Extend # Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
E0020..E007F ; Grapheme_Extend # Cf [96] TAG SPACE..CANCEL TAG
E0100..E01EF ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
# Total code points: 2125
# Total code points: 2090
# ================================================
@ -11050,7 +10913,6 @@ E0100..E01EF ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELE
0CE0..0CE1 ; Grapheme_Base # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
0CE6..0CEF ; Grapheme_Base # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
0CF1..0CF2 ; Grapheme_Base # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
0CF3 ; Grapheme_Base # Mc KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT
0D02..0D03 ; Grapheme_Base # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
0D04..0D0C ; Grapheme_Base # Lo [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L
0D0E..0D10 ; Grapheme_Base # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
@ -12103,7 +11965,6 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
11232..11233 ; Grapheme_Base # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
11235 ; Grapheme_Base # Mc KHOJKI SIGN VIRAMA
11238..1123D ; Grapheme_Base # Po [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
1123F..11240 ; Grapheme_Base # Lo [2] KHOJKI LETTER QA..KHOJKI LETTER SHORT I
11280..11286 ; Grapheme_Base # Lo [7] MULTANI LETTER A..MULTANI LETTER GA
11288 ; Grapheme_Base # Lo MULTANI LETTER GHA
1128A..1128D ; Grapheme_Base # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA
@ -12219,7 +12080,6 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
11A9D ; Grapheme_Base # Lo SOYOMBO MARK PLUTA
11A9E..11AA2 ; Grapheme_Base # Po [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
11AB0..11AF8 ; Grapheme_Base # Lo [73] CANADIAN SYLLABICS NATTILIK HI..PAU CIN HAU GLOTTAL STOP FINAL
11B00..11B09 ; Grapheme_Base # Po [10] DEVANAGARI HEAD MARK..DEVANAGARI SIGN MINDU
11C00..11C08 ; Grapheme_Base # Lo [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
11C0A..11C2E ; Grapheme_Base # Lo [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
11C2F ; Grapheme_Base # Mc BHAIKSUKI VOWEL SIGN AA
@ -12249,15 +12109,6 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
11EE0..11EF2 ; Grapheme_Base # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA
11EF5..11EF6 ; Grapheme_Base # Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O
11EF7..11EF8 ; Grapheme_Base # Po [2] MAKASAR PASSIMBANG..MAKASAR END OF SECTION
11F02 ; Grapheme_Base # Lo KAWI SIGN REPHA
11F03 ; Grapheme_Base # Mc KAWI SIGN VISARGA
11F04..11F10 ; Grapheme_Base # Lo [13] KAWI LETTER A..KAWI LETTER O
11F12..11F33 ; Grapheme_Base # Lo [34] KAWI LETTER KA..KAWI LETTER JNYA
11F34..11F35 ; Grapheme_Base # Mc [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA
11F3E..11F3F ; Grapheme_Base # Mc [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI
11F41 ; Grapheme_Base # Mc KAWI SIGN KILLER
11F43..11F4F ; Grapheme_Base # Po [13] KAWI DANDA..KAWI PUNCTUATION CLOSING SPIRAL
11F50..11F59 ; Grapheme_Base # Nd [10] KAWI DIGIT ZERO..KAWI DIGIT NINE
11FB0 ; Grapheme_Base # Lo LISU LETTER YHA
11FC0..11FD4 ; Grapheme_Base # No [21] TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH..TAMIL FRACTION DOWNSCALING FACTOR KIIZH
11FD5..11FDC ; Grapheme_Base # So [8] TAMIL SIGN NEL..TAMIL SIGN MUKKURUNI
@ -12270,8 +12121,7 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
12480..12543 ; Grapheme_Base # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
12F90..12FF0 ; Grapheme_Base # Lo [97] CYPRO-MINOAN SIGN CM001..CYPRO-MINOAN SIGN CM114
12FF1..12FF2 ; Grapheme_Base # Po [2] CYPRO-MINOAN SIGN CM301..CYPRO-MINOAN SIGN CM302
13000..1342F ; Grapheme_Base # Lo [1072] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH V011D
13441..13446 ; Grapheme_Base # Lo [6] EGYPTIAN HIEROGLYPH FULL BLANK..EGYPTIAN HIEROGLYPH WIDE LOST SIGN
13000..1342E ; Grapheme_Base # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
14400..14646 ; Grapheme_Base # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
16800..16A38 ; Grapheme_Base # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
16A40..16A5E ; Grapheme_Base # Lo [31] MRO LETTER TA..MRO LETTER TEK
@ -12309,9 +12159,7 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
1AFF5..1AFFB ; Grapheme_Base # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; Grapheme_Base # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1B000..1B122 ; Grapheme_Base # Lo [291] KATAKANA LETTER ARCHAIC E..KATAKANA LETTER ARCHAIC WU
1B132 ; Grapheme_Base # Lo HIRAGANA LETTER SMALL KO
1B150..1B152 ; Grapheme_Base # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO
1B155 ; Grapheme_Base # Lo KATAKANA LETTER SMALL KO
1B164..1B167 ; Grapheme_Base # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N
1B170..1B2FB ; Grapheme_Base # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
1BC00..1BC6A ; Grapheme_Base # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
@ -12332,7 +12180,6 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
1D1AE..1D1EA ; Grapheme_Base # So [61] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KORON
1D200..1D241 ; Grapheme_Base # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
1D245 ; Grapheme_Base # So GREEK MUSICAL LEIMMA
1D2C0..1D2D3 ; Grapheme_Base # No [20] KAKTOVIK NUMERAL ZERO..KAKTOVIK NUMERAL NINETEEN
1D2E0..1D2F3 ; Grapheme_Base # No [20] MAYAN NUMERAL ZERO..MAYAN NUMERAL NINETEEN
1D300..1D356 ; Grapheme_Base # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
1D360..1D378 ; Grapheme_Base # No [25] COUNTING ROD UNIT DIGIT ONE..TALLY MARK FIVE
@ -12386,8 +12233,6 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
1DF00..1DF09 ; Grapheme_Base # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0A ; Grapheme_Base # Lo LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
1DF0B..1DF1E ; Grapheme_Base # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
1DF25..1DF2A ; Grapheme_Base # L& [6] LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK..LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
1E030..1E06D ; Grapheme_Base # Lm [62] MODIFIER LETTER CYRILLIC SMALL A..MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
1E100..1E12C ; Grapheme_Base # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W
1E137..1E13D ; Grapheme_Base # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
1E140..1E149 ; Grapheme_Base # Nd [10] NYIAKENG PUACHUE HMONG DIGIT ZERO..NYIAKENG PUACHUE HMONG DIGIT NINE
@ -12397,9 +12242,6 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
1E2C0..1E2EB ; Grapheme_Base # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH
1E2F0..1E2F9 ; Grapheme_Base # Nd [10] WANCHO DIGIT ZERO..WANCHO DIGIT NINE
1E2FF ; Grapheme_Base # Sc WANCHO NGUN SIGN
1E4D0..1E4EA ; Grapheme_Base # Lo [27] NAG MUNDARI LETTER O..NAG MUNDARI LETTER ELL
1E4EB ; Grapheme_Base # Lm NAG MUNDARI SIGN OJOD
1E4F0..1E4F9 ; Grapheme_Base # Nd [10] NAG MUNDARI DIGIT ZERO..NAG MUNDARI DIGIT NINE
1E7E0..1E7E6 ; Grapheme_Base # Lo [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
1E7E8..1E7EB ; Grapheme_Base # Lo [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
1E7ED..1E7EE ; Grapheme_Base # Lo [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
@ -12468,10 +12310,10 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
1F300..1F3FA ; Grapheme_Base # So [251] CYCLONE..AMPHORA
1F3FB..1F3FF ; Grapheme_Base # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
1F400..1F6D7 ; Grapheme_Base # So [728] RAT..ELEVATOR
1F6DC..1F6EC ; Grapheme_Base # So [17] WIRELESS..AIRPLANE ARRIVING
1F6DD..1F6EC ; Grapheme_Base # So [16] PLAYGROUND SLIDE..AIRPLANE ARRIVING
1F6F0..1F6FC ; Grapheme_Base # So [13] SATELLITE..ROLLER SKATE
1F700..1F776 ; Grapheme_Base # So [119] ALCHEMICAL SYMBOL FOR QUINTESSENCE..LUNAR ECLIPSE
1F77B..1F7D9 ; Grapheme_Base # So [95] HAUMEA..NINE POINTED WHITE STAR
1F700..1F773 ; Grapheme_Base # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
1F780..1F7D8 ; Grapheme_Base # So [89] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..NEGATIVE CIRCLED SQUARE
1F7E0..1F7EB ; Grapheme_Base # So [12] LARGE ORANGE CIRCLE..LARGE BROWN SQUARE
1F7F0 ; Grapheme_Base # So HEAVY EQUALS SIGN
1F800..1F80B ; Grapheme_Base # So [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@ -12482,26 +12324,27 @@ FFFC..FFFD ; Grapheme_Base # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEME
1F8B0..1F8B1 ; Grapheme_Base # So [2] ARROW POINTING UPWARDS THEN NORTH WEST..ARROW POINTING RIGHTWARDS THEN CURVING SOUTH WEST
1F900..1FA53 ; Grapheme_Base # So [340] CIRCLED CROSS FORMEE WITH FOUR DOTS..BLACK CHESS KNIGHT-BISHOP
1FA60..1FA6D ; Grapheme_Base # So [14] XIANGQI RED GENERAL..XIANGQI BLACK SOLDIER
1FA70..1FA7C ; Grapheme_Base # So [13] BALLET SHOES..CRUTCH
1FA80..1FA88 ; Grapheme_Base # So [9] YO-YO..FLUTE
1FA90..1FABD ; Grapheme_Base # So [46] RINGED PLANET..WING
1FABF..1FAC5 ; Grapheme_Base # So [7] GOOSE..PERSON WITH CROWN
1FACE..1FADB ; Grapheme_Base # So [14] MOOSE..PEA POD
1FAE0..1FAE8 ; Grapheme_Base # So [9] MELTING FACE..SHAKING FACE
1FAF0..1FAF8 ; Grapheme_Base # So [9] HAND WITH INDEX FINGER AND THUMB CROSSED..RIGHTWARDS PUSHING HAND
1FA70..1FA74 ; Grapheme_Base # So [5] BALLET SHOES..THONG SANDAL
1FA78..1FA7C ; Grapheme_Base # So [5] DROP OF BLOOD..CRUTCH
1FA80..1FA86 ; Grapheme_Base # So [7] YO-YO..NESTING DOLLS
1FA90..1FAAC ; Grapheme_Base # So [29] RINGED PLANET..HAMSA
1FAB0..1FABA ; Grapheme_Base # So [11] FLY..NEST WITH EGGS
1FAC0..1FAC5 ; Grapheme_Base # So [6] ANATOMICAL HEART..PERSON WITH CROWN
1FAD0..1FAD9 ; Grapheme_Base # So [10] BLUEBERRIES..JAR
1FAE0..1FAE7 ; Grapheme_Base # So [8] MELTING FACE..BUBBLES
1FAF0..1FAF6 ; Grapheme_Base # So [7] HAND WITH INDEX FINGER AND THUMB CROSSED..HEART HANDS
1FB00..1FB92 ; Grapheme_Base # So [147] BLOCK SEXTANT-1..UPPER HALF INVERSE MEDIUM SHADE AND LOWER HALF BLOCK
1FB94..1FBCA ; Grapheme_Base # So [55] LEFT HALF INVERSE MEDIUM SHADE AND RIGHT HALF BLOCK..WHITE UP-POINTING CHEVRON
1FBF0..1FBF9 ; Grapheme_Base # Nd [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE
20000..2A6DF ; Grapheme_Base # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B739 ; Grapheme_Base # Lo [4154] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B739
2A700..2B738 ; Grapheme_Base # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; Grapheme_Base # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; Grapheme_Base # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; Grapheme_Base # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; Grapheme_Base # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; Grapheme_Base # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
31350..323AF ; Grapheme_Base # Lo [4192] CJK UNIFIED IDEOGRAPH-31350..CJK UNIFIED IDEOGRAPH-323AF
# Total code points: 146986
# Total code points: 142539
# ================================================
@ -12567,9 +12410,7 @@ ABED ; Grapheme_Link # Mn MEETEI MAYEK APUN IYEK
11C3F ; Grapheme_Link # Mn BHAIKSUKI SIGN VIRAMA
11D44..11D45 ; Grapheme_Link # Mn [2] MASARAM GONDI SIGN HALANTA..MASARAM GONDI VIRAMA
11D97 ; Grapheme_Link # Mn GUNJALA GONDI VIRAMA
11F41 ; Grapheme_Link # Mc KAWI SIGN KILLER
11F42 ; Grapheme_Link # Mn KAWI CONJOINER
# Total code points: 65
# Total code points: 63
# EOF

Просмотреть файл

@ -1,11 +1,11 @@
# SpecialCasing-15.0.0.txt
# Date: 2022-02-02, 23:35:52 GMT
# © 2022 Unicode®, Inc.
# SpecialCasing-14.0.0.txt
# Date: 2021-03-08, 19:35:55 GMT
# © 2021 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see https://www.unicode.org/reports/tr44/
# For documentation, see http://www.unicode.org/reports/tr44/
#
# Special Casing
#

Просмотреть файл

@ -1,5 +1,5 @@
/* Generated by make_unicode.py DO NOT MODIFY */
/* Unicode version: 15.0.0 */
/* Unicode version: 14.0.0 */
/*
* Any copyright is dedicated to the Public Domain.
@ -478,7 +478,7 @@ const uint8_t unicode::index2[] = {
0, 0, 2, 5, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2,
2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 5,
5, 0, 5, 5, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0, 5, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 0, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
@ -504,7 +504,7 @@ const uint8_t unicode::index2[] = {
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 0, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2,
5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 0, 0, 5, 5, 5, 5,
5, 0, 5, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2,
5, 0, 5, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -1529,9 +1529,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x11213 && codePoint <= 0x1122B) { // KHOJKI LETTER NYA .. KHOJKI LETTER LLA
return true;
}
if (codePoint >= 0x1123F && codePoint <= 0x11240) { // KHOJKI LETTER QA .. KHOJKI LETTER SHORT I
return true;
}
if (codePoint >= 0x11280 && codePoint <= 0x11286) { // MULTANI LETTER A .. MULTANI LETTER GA
return true;
}
@ -1718,15 +1715,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x11EE0 && codePoint <= 0x11EF2) { // MAKASAR LETTER KA .. MAKASAR ANGKA
return true;
}
if (codePoint >= 0x11F02 && codePoint <= 0x11F02) { // KAWI SIGN REPHA .. KAWI SIGN REPHA
return true;
}
if (codePoint >= 0x11F04 && codePoint <= 0x11F10) { // KAWI LETTER A .. KAWI LETTER O
return true;
}
if (codePoint >= 0x11F12 && codePoint <= 0x11F33) { // KAWI LETTER KA .. KAWI LETTER JNYA
return true;
}
if (codePoint >= 0x11FB0 && codePoint <= 0x11FB0) { // LISU LETTER YHA .. LISU LETTER YHA
return true;
}
@ -1742,10 +1730,7 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x12F90 && codePoint <= 0x12FF0) { // CYPRO-MINOAN SIGN CM001 .. CYPRO-MINOAN SIGN CM114
return true;
}
if (codePoint >= 0x13000 && codePoint <= 0x1342F) { // EGYPTIAN HIEROGLYPH A001 .. EGYPTIAN HIEROGLYPH V011D
return true;
}
if (codePoint >= 0x13441 && codePoint <= 0x13446) { // EGYPTIAN HIEROGLYPH FULL BLANK .. EGYPTIAN HIEROGLYPH WIDE LOST SIGN
if (codePoint >= 0x13000 && codePoint <= 0x1342E) { // EGYPTIAN HIEROGLYPH A001 .. EGYPTIAN HIEROGLYPH AA032
return true;
}
if (codePoint >= 0x14400 && codePoint <= 0x14646) { // ANATOLIAN HIEROGLYPH A001 .. ANATOLIAN HIEROGLYPH A530
@ -1814,15 +1799,9 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x1B000 && codePoint <= 0x1B122) { // KATAKANA LETTER ARCHAIC E .. KATAKANA LETTER ARCHAIC WU
return true;
}
if (codePoint >= 0x1B132 && codePoint <= 0x1B132) { // HIRAGANA LETTER SMALL KO .. HIRAGANA LETTER SMALL KO
return true;
}
if (codePoint >= 0x1B150 && codePoint <= 0x1B152) { // HIRAGANA LETTER SMALL WI .. HIRAGANA LETTER SMALL WO
return true;
}
if (codePoint >= 0x1B155 && codePoint <= 0x1B155) { // KATAKANA LETTER SMALL KO .. KATAKANA LETTER SMALL KO
return true;
}
if (codePoint >= 0x1B164 && codePoint <= 0x1B167) { // KATAKANA LETTER SMALL WI .. KATAKANA LETTER SMALL N
return true;
}
@ -1934,12 +1913,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x1DF00 && codePoint <= 0x1DF1E) { // LATIN SMALL LETTER FENG DIGRAPH WITH TRILL .. LATIN SMALL LETTER S WITH CURL
return true;
}
if (codePoint >= 0x1DF25 && codePoint <= 0x1DF2A) { // LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK .. LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
return true;
}
if (codePoint >= 0x1E030 && codePoint <= 0x1E06D) { // MODIFIER LETTER CYRILLIC SMALL A .. MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
return true;
}
if (codePoint >= 0x1E100 && codePoint <= 0x1E12C) { // NYIAKENG PUACHUE HMONG LETTER MA .. NYIAKENG PUACHUE HMONG LETTER W
return true;
}
@ -1955,9 +1928,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x1E2C0 && codePoint <= 0x1E2EB) { // WANCHO LETTER AA .. WANCHO LETTER YIH
return true;
}
if (codePoint >= 0x1E4D0 && codePoint <= 0x1E4EB) { // NAG MUNDARI LETTER O .. NAG MUNDARI SIGN OJOD
return true;
}
if (codePoint >= 0x1E7E0 && codePoint <= 0x1E7E6) { // ETHIOPIC SYLLABLE HHYA .. ETHIOPIC SYLLABLE HHYO
return true;
}
@ -2081,7 +2051,7 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x20000 && codePoint <= 0x2A6DF) { // CJK Ideograph Extension B .. CJK Ideograph Extension B
return true;
}
if (codePoint >= 0x2A700 && codePoint <= 0x2B739) { // CJK Ideograph Extension C .. CJK Ideograph Extension C
if (codePoint >= 0x2A700 && codePoint <= 0x2B738) { // CJK Ideograph Extension C .. CJK Ideograph Extension C
return true;
}
if (codePoint >= 0x2B740 && codePoint <= 0x2B81D) { // CJK Ideograph Extension D .. CJK Ideograph Extension D
@ -2099,9 +2069,6 @@ js::unicode::IsIdentifierStartNonBMP(char32_t codePoint)
if (codePoint >= 0x30000 && codePoint <= 0x3134A) { // CJK Ideograph Extension G .. CJK Ideograph Extension G
return true;
}
if (codePoint >= 0x31350 && codePoint <= 0x323AF) { // CJK Ideograph Extension H .. CJK Ideograph Extension H
return true;
}
return false;
}
@ -2336,7 +2303,7 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x10EB0 && codePoint <= 0x10EB1) { // YEZIDI LETTER LAM WITH DOT ABOVE .. YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE
return true;
}
if (codePoint >= 0x10EFD && codePoint <= 0x10F1C) { // ARABIC SMALL LOW WORD SAKTA .. OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
if (codePoint >= 0x10F00 && codePoint <= 0x10F1C) { // OLD SOGDIAN LETTER ALEPH .. OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL
return true;
}
if (codePoint >= 0x10F27 && codePoint <= 0x10F27) { // OLD SOGDIAN LIGATURE AYIN-DALETH .. OLD SOGDIAN LIGATURE AYIN-DALETH
@ -2405,7 +2372,7 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x11213 && codePoint <= 0x11237) { // KHOJKI LETTER NYA .. KHOJKI SIGN SHADDA
return true;
}
if (codePoint >= 0x1123E && codePoint <= 0x11241) { // KHOJKI SIGN SUKUN .. KHOJKI VOWEL SIGN VOCALIC R
if (codePoint >= 0x1123E && codePoint <= 0x1123E) { // KHOJKI SIGN SUKUN .. KHOJKI SIGN SUKUN
return true;
}
if (codePoint >= 0x11280 && codePoint <= 0x11286) { // MULTANI LETTER A .. MULTANI LETTER GA
@ -2648,18 +2615,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x11EE0 && codePoint <= 0x11EF6) { // MAKASAR LETTER KA .. MAKASAR VOWEL SIGN O
return true;
}
if (codePoint >= 0x11F00 && codePoint <= 0x11F10) { // KAWI SIGN CANDRABINDU .. KAWI LETTER O
return true;
}
if (codePoint >= 0x11F12 && codePoint <= 0x11F3A) { // KAWI LETTER KA .. KAWI VOWEL SIGN VOCALIC R
return true;
}
if (codePoint >= 0x11F3E && codePoint <= 0x11F42) { // KAWI VOWEL SIGN E .. KAWI CONJOINER
return true;
}
if (codePoint >= 0x11F50 && codePoint <= 0x11F59) { // KAWI DIGIT ZERO .. KAWI DIGIT NINE
return true;
}
if (codePoint >= 0x11FB0 && codePoint <= 0x11FB0) { // LISU LETTER YHA .. LISU LETTER YHA
return true;
}
@ -2675,10 +2630,7 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x12F90 && codePoint <= 0x12FF0) { // CYPRO-MINOAN SIGN CM001 .. CYPRO-MINOAN SIGN CM114
return true;
}
if (codePoint >= 0x13000 && codePoint <= 0x1342F) { // EGYPTIAN HIEROGLYPH A001 .. EGYPTIAN HIEROGLYPH V011D
return true;
}
if (codePoint >= 0x13440 && codePoint <= 0x13455) { // EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY .. EGYPTIAN HIEROGLYPH MODIFIER DAMAGED
if (codePoint >= 0x13000 && codePoint <= 0x1342E) { // EGYPTIAN HIEROGLYPH A001 .. EGYPTIAN HIEROGLYPH AA032
return true;
}
if (codePoint >= 0x14400 && codePoint <= 0x14646) { // ANATOLIAN HIEROGLYPH A001 .. ANATOLIAN HIEROGLYPH A530
@ -2762,15 +2714,9 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x1B000 && codePoint <= 0x1B122) { // KATAKANA LETTER ARCHAIC E .. KATAKANA LETTER ARCHAIC WU
return true;
}
if (codePoint >= 0x1B132 && codePoint <= 0x1B132) { // HIRAGANA LETTER SMALL KO .. HIRAGANA LETTER SMALL KO
return true;
}
if (codePoint >= 0x1B150 && codePoint <= 0x1B152) { // HIRAGANA LETTER SMALL WI .. HIRAGANA LETTER SMALL WO
return true;
}
if (codePoint >= 0x1B155 && codePoint <= 0x1B155) { // KATAKANA LETTER SMALL KO .. KATAKANA LETTER SMALL KO
return true;
}
if (codePoint >= 0x1B164 && codePoint <= 0x1B167) { // KATAKANA LETTER SMALL WI .. KATAKANA LETTER SMALL N
return true;
}
@ -2930,9 +2876,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x1DF00 && codePoint <= 0x1DF1E) { // LATIN SMALL LETTER FENG DIGRAPH WITH TRILL .. LATIN SMALL LETTER S WITH CURL
return true;
}
if (codePoint >= 0x1DF25 && codePoint <= 0x1DF2A) { // LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK .. LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK
return true;
}
if (codePoint >= 0x1E000 && codePoint <= 0x1E006) { // COMBINING GLAGOLITIC LETTER AZU .. COMBINING GLAGOLITIC LETTER ZHIVETE
return true;
}
@ -2948,12 +2891,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x1E026 && codePoint <= 0x1E02A) { // COMBINING GLAGOLITIC LETTER YO .. COMBINING GLAGOLITIC LETTER FITA
return true;
}
if (codePoint >= 0x1E030 && codePoint <= 0x1E06D) { // MODIFIER LETTER CYRILLIC SMALL A .. MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE
return true;
}
if (codePoint >= 0x1E08F && codePoint <= 0x1E08F) { // COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I .. COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
return true;
}
if (codePoint >= 0x1E100 && codePoint <= 0x1E12C) { // NYIAKENG PUACHUE HMONG LETTER MA .. NYIAKENG PUACHUE HMONG LETTER W
return true;
}
@ -2972,9 +2909,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x1E2C0 && codePoint <= 0x1E2F9) { // WANCHO LETTER AA .. WANCHO DIGIT NINE
return true;
}
if (codePoint >= 0x1E4D0 && codePoint <= 0x1E4F9) { // NAG MUNDARI LETTER O .. NAG MUNDARI DIGIT NINE
return true;
}
if (codePoint >= 0x1E7E0 && codePoint <= 0x1E7E6) { // ETHIOPIC SYLLABLE HHYA .. ETHIOPIC SYLLABLE HHYO
return true;
}
@ -3104,7 +3038,7 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x20000 && codePoint <= 0x2A6DF) { // CJK Ideograph Extension B .. CJK Ideograph Extension B
return true;
}
if (codePoint >= 0x2A700 && codePoint <= 0x2B739) { // CJK Ideograph Extension C .. CJK Ideograph Extension C
if (codePoint >= 0x2A700 && codePoint <= 0x2B738) { // CJK Ideograph Extension C .. CJK Ideograph Extension C
return true;
}
if (codePoint >= 0x2B740 && codePoint <= 0x2B81D) { // CJK Ideograph Extension D .. CJK Ideograph Extension D
@ -3122,9 +3056,6 @@ js::unicode::IsIdentifierPartNonBMP(char32_t codePoint)
if (codePoint >= 0x30000 && codePoint <= 0x3134A) { // CJK Ideograph Extension G .. CJK Ideograph Extension G
return true;
}
if (codePoint >= 0x31350 && codePoint <= 0x323AF) { // CJK Ideograph Extension H .. CJK Ideograph Extension H
return true;
}
if (codePoint >= 0xE0100 && codePoint <= 0xE01EF) { // VARIATION SELECTOR-17 .. VARIATION SELECTOR-256
return true;
}

Просмотреть файл

@ -2975,7 +2975,6 @@
0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
0CF1;KANNADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
0CF2;KANNADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
0CF3;KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT;Mc;0;L;;;;;N;;;;;
0D00;MALAYALAM SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;;
0D01;MALAYALAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
@ -3340,7 +3339,6 @@
0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;;
0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;;
0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;;
0ECE;LAO YAMAKKAN;Mn;0;NSM;;;;;N;;;;;
0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@ -19395,9 +19393,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10EAD;YEZIDI HYPHENATION MARK;Pd;0;R;;;;;N;;;;;
10EB0;YEZIDI LETTER LAM WITH DOT ABOVE;Lo;0;R;;;;;N;;;;;
10EB1;YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE;Lo;0;R;;;;;N;;;;;
10EFD;ARABIC SMALL LOW WORD SAKTA;Mn;220;NSM;;;;;N;;;;;
10EFE;ARABIC SMALL LOW WORD QASR;Mn;220;NSM;;;;;N;;;;;
10EFF;ARABIC SMALL LOW WORD MADDA;Mn;220;NSM;;;;;N;;;;;
10F00;OLD SOGDIAN LETTER ALEPH;Lo;0;R;;;;;N;;;;;
10F01;OLD SOGDIAN LETTER FINAL ALEPH;Lo;0;R;;;;;N;;;;;
10F02;OLD SOGDIAN LETTER BETH;Lo;0;R;;;;;N;;;;;
@ -20063,9 +20058,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1123C;KHOJKI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
1123D;KHOJKI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
1123E;KHOJKI SIGN SUKUN;Mn;0;NSM;;;;;N;;;;;
1123F;KHOJKI LETTER QA;Lo;0;L;;;;;N;;;;;
11240;KHOJKI LETTER SHORT I;Lo;0;L;;;;;N;;;;;
11241;KHOJKI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
11280;MULTANI LETTER A;Lo;0;L;;;;;N;;;;;
11281;MULTANI LETTER I;Lo;0;L;;;;;N;;;;;
11282;MULTANI LETTER U;Lo;0;L;;;;;N;;;;;
@ -21264,16 +21256,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
11AF6;PAU CIN HAU LOW-FALLING TONE LONG FINAL;Lo;0;L;;;;;N;;;;;
11AF7;PAU CIN HAU LOW-FALLING TONE FINAL;Lo;0;L;;;;;N;;;;;
11AF8;PAU CIN HAU GLOTTAL STOP FINAL;Lo;0;L;;;;;N;;;;;
11B00;DEVANAGARI HEAD MARK;Po;0;L;;;;;N;;;;;
11B01;DEVANAGARI HEAD MARK WITH HEADSTROKE;Po;0;L;;;;;N;;;;;
11B02;DEVANAGARI SIGN BHALE;Po;0;L;;;;;N;;;;;
11B03;DEVANAGARI SIGN BHALE WITH HOOK;Po;0;L;;;;;N;;;;;
11B04;DEVANAGARI SIGN EXTENDED BHALE;Po;0;L;;;;;N;;;;;
11B05;DEVANAGARI SIGN EXTENDED BHALE WITH HOOK;Po;0;L;;;;;N;;;;;
11B06;DEVANAGARI SIGN WESTERN FIVE-LIKE BHALE;Po;0;L;;;;;N;;;;;
11B07;DEVANAGARI SIGN WESTERN NINE-LIKE BHALE;Po;0;L;;;;;N;;;;;
11B08;DEVANAGARI SIGN REVERSED NINE-LIKE BHALE;Po;0;L;;;;;N;;;;;
11B09;DEVANAGARI SIGN MINDU;Po;0;L;;;;;N;;;;;
11C00;BHAIKSUKI LETTER A;Lo;0;L;;;;;N;;;;;
11C01;BHAIKSUKI LETTER AA;Lo;0;L;;;;;N;;;;;
11C02;BHAIKSUKI LETTER I;Lo;0;L;;;;;N;;;;;
@ -21602,92 +21584,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
11EF6;MAKASAR VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
11EF7;MAKASAR PASSIMBANG;Po;0;L;;;;;N;;;;;
11EF8;MAKASAR END OF SECTION;Po;0;L;;;;;N;;;;;
11F00;KAWI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
11F01;KAWI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
11F02;KAWI SIGN REPHA;Lo;0;L;;;;;N;;;;;
11F03;KAWI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
11F04;KAWI LETTER A;Lo;0;L;;;;;N;;;;;
11F05;KAWI LETTER AA;Lo;0;L;;;;;N;;;;;
11F06;KAWI LETTER I;Lo;0;L;;;;;N;;;;;
11F07;KAWI LETTER II;Lo;0;L;;;;;N;;;;;
11F08;KAWI LETTER U;Lo;0;L;;;;;N;;;;;
11F09;KAWI LETTER UU;Lo;0;L;;;;;N;;;;;
11F0A;KAWI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
11F0B;KAWI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
11F0C;KAWI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
11F0D;KAWI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
11F0E;KAWI LETTER E;Lo;0;L;;;;;N;;;;;
11F0F;KAWI LETTER AI;Lo;0;L;;;;;N;;;;;
11F10;KAWI LETTER O;Lo;0;L;;;;;N;;;;;
11F12;KAWI LETTER KA;Lo;0;L;;;;;N;;;;;
11F13;KAWI LETTER KHA;Lo;0;L;;;;;N;;;;;
11F14;KAWI LETTER GA;Lo;0;L;;;;;N;;;;;
11F15;KAWI LETTER GHA;Lo;0;L;;;;;N;;;;;
11F16;KAWI LETTER NGA;Lo;0;L;;;;;N;;;;;
11F17;KAWI LETTER CA;Lo;0;L;;;;;N;;;;;
11F18;KAWI LETTER CHA;Lo;0;L;;;;;N;;;;;
11F19;KAWI LETTER JA;Lo;0;L;;;;;N;;;;;
11F1A;KAWI LETTER JHA;Lo;0;L;;;;;N;;;;;
11F1B;KAWI LETTER NYA;Lo;0;L;;;;;N;;;;;
11F1C;KAWI LETTER TTA;Lo;0;L;;;;;N;;;;;
11F1D;KAWI LETTER TTHA;Lo;0;L;;;;;N;;;;;
11F1E;KAWI LETTER DDA;Lo;0;L;;;;;N;;;;;
11F1F;KAWI LETTER DDHA;Lo;0;L;;;;;N;;;;;
11F20;KAWI LETTER NNA;Lo;0;L;;;;;N;;;;;
11F21;KAWI LETTER TA;Lo;0;L;;;;;N;;;;;
11F22;KAWI LETTER THA;Lo;0;L;;;;;N;;;;;
11F23;KAWI LETTER DA;Lo;0;L;;;;;N;;;;;
11F24;KAWI LETTER DHA;Lo;0;L;;;;;N;;;;;
11F25;KAWI LETTER NA;Lo;0;L;;;;;N;;;;;
11F26;KAWI LETTER PA;Lo;0;L;;;;;N;;;;;
11F27;KAWI LETTER PHA;Lo;0;L;;;;;N;;;;;
11F28;KAWI LETTER BA;Lo;0;L;;;;;N;;;;;
11F29;KAWI LETTER BHA;Lo;0;L;;;;;N;;;;;
11F2A;KAWI LETTER MA;Lo;0;L;;;;;N;;;;;
11F2B;KAWI LETTER YA;Lo;0;L;;;;;N;;;;;
11F2C;KAWI LETTER RA;Lo;0;L;;;;;N;;;;;
11F2D;KAWI LETTER LA;Lo;0;L;;;;;N;;;;;
11F2E;KAWI LETTER WA;Lo;0;L;;;;;N;;;;;
11F2F;KAWI LETTER SHA;Lo;0;L;;;;;N;;;;;
11F30;KAWI LETTER SSA;Lo;0;L;;;;;N;;;;;
11F31;KAWI LETTER SA;Lo;0;L;;;;;N;;;;;
11F32;KAWI LETTER HA;Lo;0;L;;;;;N;;;;;
11F33;KAWI LETTER JNYA;Lo;0;L;;;;;N;;;;;
11F34;KAWI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
11F35;KAWI VOWEL SIGN ALTERNATE AA;Mc;0;L;;;;;N;;;;;
11F36;KAWI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
11F37;KAWI VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
11F38;KAWI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
11F39;KAWI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
11F3A;KAWI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
11F3E;KAWI VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
11F3F;KAWI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
11F40;KAWI VOWEL SIGN EU;Mn;0;NSM;;;;;N;;;;;
11F41;KAWI SIGN KILLER;Mc;9;L;;;;;N;;;;;
11F42;KAWI CONJOINER;Mn;9;NSM;;;;;N;;;;;
11F43;KAWI DANDA;Po;0;L;;;;;N;;;;;
11F44;KAWI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
11F45;KAWI PUNCTUATION SECTION MARKER;Po;0;L;;;;;N;;;;;
11F46;KAWI PUNCTUATION ALTERNATE SECTION MARKER;Po;0;L;;;;;N;;;;;
11F47;KAWI PUNCTUATION FLOWER;Po;0;L;;;;;N;;;;;
11F48;KAWI PUNCTUATION SPACE FILLER;Po;0;L;;;;;N;;;;;
11F49;KAWI PUNCTUATION DOT;Po;0;L;;;;;N;;;;;
11F4A;KAWI PUNCTUATION DOUBLE DOT;Po;0;L;;;;;N;;;;;
11F4B;KAWI PUNCTUATION TRIPLE DOT;Po;0;L;;;;;N;;;;;
11F4C;KAWI PUNCTUATION CIRCLE;Po;0;L;;;;;N;;;;;
11F4D;KAWI PUNCTUATION FILLED CIRCLE;Po;0;L;;;;;N;;;;;
11F4E;KAWI PUNCTUATION SPIRAL;Po;0;L;;;;;N;;;;;
11F4F;KAWI PUNCTUATION CLOSING SPIRAL;Po;0;L;;;;;N;;;;;
11F50;KAWI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
11F51;KAWI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
11F52;KAWI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
11F53;KAWI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
11F54;KAWI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
11F55;KAWI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
11F56;KAWI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
11F57;KAWI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
11F58;KAWI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
11F59;KAWI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
11FB0;LISU LETTER YHA;Lo;0;L;;;;;N;;;;;
11FC0;TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH;No;0;L;;;;1/320;N;;;;;
11FC1;TAMIL FRACTION ONE ONE-HUNDRED-AND-SIXTIETH;No;0;L;;;;1/160;N;;;;;
@ -24144,7 +24040,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;;
1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;;
1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;;
1342F;EGYPTIAN HIEROGLYPH V011D;Lo;0;L;;;;;N;;;;;
13430;EGYPTIAN HIEROGLYPH VERTICAL JOINER;Cf;0;L;;;;;N;;;;;
13431;EGYPTIAN HIEROGLYPH HORIZONTAL JOINER;Cf;0;L;;;;;N;;;;;
13432;EGYPTIAN HIEROGLYPH INSERT AT TOP START;Cf;0;L;;;;;N;;;;;
@ -24154,35 +24049,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
13436;EGYPTIAN HIEROGLYPH OVERLAY MIDDLE;Cf;0;L;;;;;N;;;;;
13437;EGYPTIAN HIEROGLYPH BEGIN SEGMENT;Cf;0;L;;;;;N;;;;;
13438;EGYPTIAN HIEROGLYPH END SEGMENT;Cf;0;L;;;;;N;;;;;
13439;EGYPTIAN HIEROGLYPH INSERT AT MIDDLE;Cf;0;L;;;;;N;;;;;
1343A;EGYPTIAN HIEROGLYPH INSERT AT TOP;Cf;0;L;;;;;N;;;;;
1343B;EGYPTIAN HIEROGLYPH INSERT AT BOTTOM;Cf;0;L;;;;;N;;;;;
1343C;EGYPTIAN HIEROGLYPH BEGIN ENCLOSURE;Cf;0;L;;;;;N;;;;;
1343D;EGYPTIAN HIEROGLYPH END ENCLOSURE;Cf;0;L;;;;;N;;;;;
1343E;EGYPTIAN HIEROGLYPH BEGIN WALLED ENCLOSURE;Cf;0;L;;;;;N;;;;;
1343F;EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE;Cf;0;L;;;;;N;;;;;
13440;EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY;Mn;0;NSM;;;;;N;;;;;
13441;EGYPTIAN HIEROGLYPH FULL BLANK;Lo;0;L;;;;;N;;;;;
13442;EGYPTIAN HIEROGLYPH HALF BLANK;Lo;0;L;;;;;N;;;;;
13443;EGYPTIAN HIEROGLYPH LOST SIGN;Lo;0;L;;;;;N;;;;;
13444;EGYPTIAN HIEROGLYPH HALF LOST SIGN;Lo;0;L;;;;;N;;;;;
13445;EGYPTIAN HIEROGLYPH TALL LOST SIGN;Lo;0;L;;;;;N;;;;;
13446;EGYPTIAN HIEROGLYPH WIDE LOST SIGN;Lo;0;L;;;;;N;;;;;
13447;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START;Mn;0;NSM;;;;;N;;;;;
13448;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT BOTTOM START;Mn;0;NSM;;;;;N;;;;;
13449;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT START;Mn;0;NSM;;;;;N;;;;;
1344A;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP END;Mn;0;NSM;;;;;N;;;;;
1344B;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP;Mn;0;NSM;;;;;N;;;;;
1344C;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT BOTTOM START AND TOP END;Mn;0;NSM;;;;;N;;;;;
1344D;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT START AND TOP;Mn;0;NSM;;;;;N;;;;;
1344E;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT BOTTOM END;Mn;0;NSM;;;;;N;;;;;
1344F;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START AND BOTTOM END;Mn;0;NSM;;;;;N;;;;;
13450;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT BOTTOM;Mn;0;NSM;;;;;N;;;;;
13451;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT START AND BOTTOM;Mn;0;NSM;;;;;N;;;;;
13452;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT END;Mn;0;NSM;;;;;N;;;;;
13453;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP AND END;Mn;0;NSM;;;;;N;;;;;
13454;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT BOTTOM AND END;Mn;0;NSM;;;;;N;;;;;
13455;EGYPTIAN HIEROGLYPH MODIFIER DAMAGED;Mn;0;NSM;;;;;N;;;;;
14400;ANATOLIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;;
14401;ANATOLIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;;
14402;ANATOLIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;;
@ -27423,11 +27289,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1B120;KATAKANA LETTER ARCHAIC YI;Lo;0;L;;;;;N;;;;;
1B121;KATAKANA LETTER ARCHAIC YE;Lo;0;L;;;;;N;;;;;
1B122;KATAKANA LETTER ARCHAIC WU;Lo;0;L;;;;;N;;;;;
1B132;HIRAGANA LETTER SMALL KO;Lo;0;L;;;;;N;;;;;
1B150;HIRAGANA LETTER SMALL WI;Lo;0;L;;;;;N;;;;;
1B151;HIRAGANA LETTER SMALL WE;Lo;0;L;;;;;N;;;;;
1B152;HIRAGANA LETTER SMALL WO;Lo;0;L;;;;;N;;;;;
1B155;KATAKANA LETTER SMALL KO;Lo;0;L;;;;;N;;;;;
1B164;KATAKANA LETTER SMALL WI;Lo;0;L;;;;;N;;;;;
1B165;KATAKANA LETTER SMALL WE;Lo;0;L;;;;;N;;;;;
1B166;KATAKANA LETTER SMALL WO;Lo;0;L;;;;;N;;;;;
@ -28709,26 +28573,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1D243;COMBINING GREEK MUSICAL TETRASEME;Mn;230;NSM;;;;;N;;;;;
1D244;COMBINING GREEK MUSICAL PENTASEME;Mn;230;NSM;;;;;N;;;;;
1D245;GREEK MUSICAL LEIMMA;So;0;ON;;;;;N;;;;;
1D2C0;KAKTOVIK NUMERAL ZERO;No;0;L;;;;0;N;;;;;
1D2C1;KAKTOVIK NUMERAL ONE;No;0;L;;;;1;N;;;;;
1D2C2;KAKTOVIK NUMERAL TWO;No;0;L;;;;2;N;;;;;
1D2C3;KAKTOVIK NUMERAL THREE;No;0;L;;;;3;N;;;;;
1D2C4;KAKTOVIK NUMERAL FOUR;No;0;L;;;;4;N;;;;;
1D2C5;KAKTOVIK NUMERAL FIVE;No;0;L;;;;5;N;;;;;
1D2C6;KAKTOVIK NUMERAL SIX;No;0;L;;;;6;N;;;;;
1D2C7;KAKTOVIK NUMERAL SEVEN;No;0;L;;;;7;N;;;;;
1D2C8;KAKTOVIK NUMERAL EIGHT;No;0;L;;;;8;N;;;;;
1D2C9;KAKTOVIK NUMERAL NINE;No;0;L;;;;9;N;;;;;
1D2CA;KAKTOVIK NUMERAL TEN;No;0;L;;;;10;N;;;;;
1D2CB;KAKTOVIK NUMERAL ELEVEN;No;0;L;;;;11;N;;;;;
1D2CC;KAKTOVIK NUMERAL TWELVE;No;0;L;;;;12;N;;;;;
1D2CD;KAKTOVIK NUMERAL THIRTEEN;No;0;L;;;;13;N;;;;;
1D2CE;KAKTOVIK NUMERAL FOURTEEN;No;0;L;;;;14;N;;;;;
1D2CF;KAKTOVIK NUMERAL FIFTEEN;No;0;L;;;;15;N;;;;;
1D2D0;KAKTOVIK NUMERAL SIXTEEN;No;0;L;;;;16;N;;;;;
1D2D1;KAKTOVIK NUMERAL SEVENTEEN;No;0;L;;;;17;N;;;;;
1D2D2;KAKTOVIK NUMERAL EIGHTEEN;No;0;L;;;;18;N;;;;;
1D2D3;KAKTOVIK NUMERAL NINETEEN;No;0;L;;;;19;N;;;;;
1D2E0;MAYAN NUMERAL ZERO;No;0;L;;;;0;N;;;;;
1D2E1;MAYAN NUMERAL ONE;No;0;L;;;;1;N;;;;;
1D2E2;MAYAN NUMERAL TWO;No;0;L;;;;2;N;;;;;
@ -30560,12 +30404,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1DF1C;LATIN SMALL LETTER TESH DIGRAPH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
1DF1D;LATIN SMALL LETTER C WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
1DF1E;LATIN SMALL LETTER S WITH CURL;Ll;0;L;;;;;N;;;;;
1DF25;LATIN SMALL LETTER D WITH MID-HEIGHT LEFT HOOK;Ll;0;L;;;;;N;;;;;
1DF26;LATIN SMALL LETTER L WITH MID-HEIGHT LEFT HOOK;Ll;0;L;;;;;N;;;;;
1DF27;LATIN SMALL LETTER N WITH MID-HEIGHT LEFT HOOK;Ll;0;L;;;;;N;;;;;
1DF28;LATIN SMALL LETTER R WITH MID-HEIGHT LEFT HOOK;Ll;0;L;;;;;N;;;;;
1DF29;LATIN SMALL LETTER S WITH MID-HEIGHT LEFT HOOK;Ll;0;L;;;;;N;;;;;
1DF2A;LATIN SMALL LETTER T WITH MID-HEIGHT LEFT HOOK;Ll;0;L;;;;;N;;;;;
1E000;COMBINING GLAGOLITIC LETTER AZU;Mn;230;NSM;;;;;N;;;;;
1E001;COMBINING GLAGOLITIC LETTER BUKY;Mn;230;NSM;;;;;N;;;;;
1E002;COMBINING GLAGOLITIC LETTER VEDE;Mn;230;NSM;;;;;N;;;;;
@ -30604,69 +30442,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1E028;COMBINING GLAGOLITIC LETTER BIG YUS;Mn;230;NSM;;;;;N;;;;;
1E029;COMBINING GLAGOLITIC LETTER IOTATED BIG YUS;Mn;230;NSM;;;;;N;;;;;
1E02A;COMBINING GLAGOLITIC LETTER FITA;Mn;230;NSM;;;;;N;;;;;
1E030;MODIFIER LETTER CYRILLIC SMALL A;Lm;0;L;<super> 0430;;;;N;;;;;
1E031;MODIFIER LETTER CYRILLIC SMALL BE;Lm;0;L;<super> 0431;;;;N;;;;;
1E032;MODIFIER LETTER CYRILLIC SMALL VE;Lm;0;L;<super> 0432;;;;N;;;;;
1E033;MODIFIER LETTER CYRILLIC SMALL GHE;Lm;0;L;<super> 0433;;;;N;;;;;
1E034;MODIFIER LETTER CYRILLIC SMALL DE;Lm;0;L;<super> 0434;;;;N;;;;;
1E035;MODIFIER LETTER CYRILLIC SMALL IE;Lm;0;L;<super> 0435;;;;N;;;;;
1E036;MODIFIER LETTER CYRILLIC SMALL ZHE;Lm;0;L;<super> 0436;;;;N;;;;;
1E037;MODIFIER LETTER CYRILLIC SMALL ZE;Lm;0;L;<super> 0437;;;;N;;;;;
1E038;MODIFIER LETTER CYRILLIC SMALL I;Lm;0;L;<super> 0438;;;;N;;;;;
1E039;MODIFIER LETTER CYRILLIC SMALL KA;Lm;0;L;<super> 043A;;;;N;;;;;
1E03A;MODIFIER LETTER CYRILLIC SMALL EL;Lm;0;L;<super> 043B;;;;N;;;;;
1E03B;MODIFIER LETTER CYRILLIC SMALL EM;Lm;0;L;<super> 043C;;;;N;;;;;
1E03C;MODIFIER LETTER CYRILLIC SMALL O;Lm;0;L;<super> 043E;;;;N;;;;;
1E03D;MODIFIER LETTER CYRILLIC SMALL PE;Lm;0;L;<super> 043F;;;;N;;;;;
1E03E;MODIFIER LETTER CYRILLIC SMALL ER;Lm;0;L;<super> 0440;;;;N;;;;;
1E03F;MODIFIER LETTER CYRILLIC SMALL ES;Lm;0;L;<super> 0441;;;;N;;;;;
1E040;MODIFIER LETTER CYRILLIC SMALL TE;Lm;0;L;<super> 0442;;;;N;;;;;
1E041;MODIFIER LETTER CYRILLIC SMALL U;Lm;0;L;<super> 0443;;;;N;;;;;
1E042;MODIFIER LETTER CYRILLIC SMALL EF;Lm;0;L;<super> 0444;;;;N;;;;;
1E043;MODIFIER LETTER CYRILLIC SMALL HA;Lm;0;L;<super> 0445;;;;N;;;;;
1E044;MODIFIER LETTER CYRILLIC SMALL TSE;Lm;0;L;<super> 0446;;;;N;;;;;
1E045;MODIFIER LETTER CYRILLIC SMALL CHE;Lm;0;L;<super> 0447;;;;N;;;;;
1E046;MODIFIER LETTER CYRILLIC SMALL SHA;Lm;0;L;<super> 0448;;;;N;;;;;
1E047;MODIFIER LETTER CYRILLIC SMALL YERU;Lm;0;L;<super> 044B;;;;N;;;;;
1E048;MODIFIER LETTER CYRILLIC SMALL E;Lm;0;L;<super> 044D;;;;N;;;;;
1E049;MODIFIER LETTER CYRILLIC SMALL YU;Lm;0;L;<super> 044E;;;;N;;;;;
1E04A;MODIFIER LETTER CYRILLIC SMALL DZZE;Lm;0;L;<super> A689;;;;N;;;;;
1E04B;MODIFIER LETTER CYRILLIC SMALL SCHWA;Lm;0;L;<super> 04D9;;;;N;;;;;
1E04C;MODIFIER LETTER CYRILLIC SMALL BYELORUSSIAN-UKRAINIAN I;Lm;0;L;<super> 0456;;;;N;;;;;
1E04D;MODIFIER LETTER CYRILLIC SMALL JE;Lm;0;L;<super> 0458;;;;N;;;;;
1E04E;MODIFIER LETTER CYRILLIC SMALL BARRED O;Lm;0;L;<super> 04E9;;;;N;;;;;
1E04F;MODIFIER LETTER CYRILLIC SMALL STRAIGHT U;Lm;0;L;<super> 04AF;;;;N;;;;;
1E050;MODIFIER LETTER CYRILLIC SMALL PALOCHKA;Lm;0;L;<super> 04CF;;;;N;;;;;
1E051;CYRILLIC SUBSCRIPT SMALL LETTER A;Lm;0;L;<sub> 0430;;;;N;;;;;
1E052;CYRILLIC SUBSCRIPT SMALL LETTER BE;Lm;0;L;<sub> 0431;;;;N;;;;;
1E053;CYRILLIC SUBSCRIPT SMALL LETTER VE;Lm;0;L;<sub> 0432;;;;N;;;;;
1E054;CYRILLIC SUBSCRIPT SMALL LETTER GHE;Lm;0;L;<sub> 0433;;;;N;;;;;
1E055;CYRILLIC SUBSCRIPT SMALL LETTER DE;Lm;0;L;<sub> 0434;;;;N;;;;;
1E056;CYRILLIC SUBSCRIPT SMALL LETTER IE;Lm;0;L;<sub> 0435;;;;N;;;;;
1E057;CYRILLIC SUBSCRIPT SMALL LETTER ZHE;Lm;0;L;<sub> 0436;;;;N;;;;;
1E058;CYRILLIC SUBSCRIPT SMALL LETTER ZE;Lm;0;L;<sub> 0437;;;;N;;;;;
1E059;CYRILLIC SUBSCRIPT SMALL LETTER I;Lm;0;L;<sub> 0438;;;;N;;;;;
1E05A;CYRILLIC SUBSCRIPT SMALL LETTER KA;Lm;0;L;<sub> 043A;;;;N;;;;;
1E05B;CYRILLIC SUBSCRIPT SMALL LETTER EL;Lm;0;L;<sub> 043B;;;;N;;;;;
1E05C;CYRILLIC SUBSCRIPT SMALL LETTER O;Lm;0;L;<sub> 043E;;;;N;;;;;
1E05D;CYRILLIC SUBSCRIPT SMALL LETTER PE;Lm;0;L;<sub> 043F;;;;N;;;;;
1E05E;CYRILLIC SUBSCRIPT SMALL LETTER ES;Lm;0;L;<sub> 0441;;;;N;;;;;
1E05F;CYRILLIC SUBSCRIPT SMALL LETTER U;Lm;0;L;<sub> 0443;;;;N;;;;;
1E060;CYRILLIC SUBSCRIPT SMALL LETTER EF;Lm;0;L;<sub> 0444;;;;N;;;;;
1E061;CYRILLIC SUBSCRIPT SMALL LETTER HA;Lm;0;L;<sub> 0445;;;;N;;;;;
1E062;CYRILLIC SUBSCRIPT SMALL LETTER TSE;Lm;0;L;<sub> 0446;;;;N;;;;;
1E063;CYRILLIC SUBSCRIPT SMALL LETTER CHE;Lm;0;L;<sub> 0447;;;;N;;;;;
1E064;CYRILLIC SUBSCRIPT SMALL LETTER SHA;Lm;0;L;<sub> 0448;;;;N;;;;;
1E065;CYRILLIC SUBSCRIPT SMALL LETTER HARD SIGN;Lm;0;L;<sub> 044A;;;;N;;;;;
1E066;CYRILLIC SUBSCRIPT SMALL LETTER YERU;Lm;0;L;<sub> 044B;;;;N;;;;;
1E067;CYRILLIC SUBSCRIPT SMALL LETTER GHE WITH UPTURN;Lm;0;L;<sub> 0491;;;;N;;;;;
1E068;CYRILLIC SUBSCRIPT SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Lm;0;L;<sub> 0456;;;;N;;;;;
1E069;CYRILLIC SUBSCRIPT SMALL LETTER DZE;Lm;0;L;<sub> 0455;;;;N;;;;;
1E06A;CYRILLIC SUBSCRIPT SMALL LETTER DZHE;Lm;0;L;<sub> 045F;;;;N;;;;;
1E06B;MODIFIER LETTER CYRILLIC SMALL ES WITH DESCENDER;Lm;0;L;<super> 04AB;;;;N;;;;;
1E06C;MODIFIER LETTER CYRILLIC SMALL YERU WITH BACK YER;Lm;0;L;<super> A651;;;;N;;;;;
1E06D;MODIFIER LETTER CYRILLIC SMALL STRAIGHT U WITH STROKE;Lm;0;L;<super> 04B1;;;;N;;;;;
1E08F;COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Mn;230;NSM;;;;;N;;;;;
1E100;NYIAKENG PUACHUE HMONG LETTER MA;Lo;0;L;;;;;N;;;;;
1E101;NYIAKENG PUACHUE HMONG LETTER TSA;Lo;0;L;;;;;N;;;;;
1E102;NYIAKENG PUACHUE HMONG LETTER NTA;Lo;0;L;;;;;N;;;;;
@ -30828,48 +30603,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1E2F8;WANCHO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
1E2F9;WANCHO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
1E2FF;WANCHO NGUN SIGN;Sc;0;ET;;;;;N;;;;;
1E4D0;NAG MUNDARI LETTER O;Lo;0;L;;;;;N;;;;;
1E4D1;NAG MUNDARI LETTER OP;Lo;0;L;;;;;N;;;;;
1E4D2;NAG MUNDARI LETTER OL;Lo;0;L;;;;;N;;;;;
1E4D3;NAG MUNDARI LETTER OY;Lo;0;L;;;;;N;;;;;
1E4D4;NAG MUNDARI LETTER ONG;Lo;0;L;;;;;N;;;;;
1E4D5;NAG MUNDARI LETTER A;Lo;0;L;;;;;N;;;;;
1E4D6;NAG MUNDARI LETTER AJ;Lo;0;L;;;;;N;;;;;
1E4D7;NAG MUNDARI LETTER AB;Lo;0;L;;;;;N;;;;;
1E4D8;NAG MUNDARI LETTER ANY;Lo;0;L;;;;;N;;;;;
1E4D9;NAG MUNDARI LETTER AH;Lo;0;L;;;;;N;;;;;
1E4DA;NAG MUNDARI LETTER I;Lo;0;L;;;;;N;;;;;
1E4DB;NAG MUNDARI LETTER IS;Lo;0;L;;;;;N;;;;;
1E4DC;NAG MUNDARI LETTER IDD;Lo;0;L;;;;;N;;;;;
1E4DD;NAG MUNDARI LETTER IT;Lo;0;L;;;;;N;;;;;
1E4DE;NAG MUNDARI LETTER IH;Lo;0;L;;;;;N;;;;;
1E4DF;NAG MUNDARI LETTER U;Lo;0;L;;;;;N;;;;;
1E4E0;NAG MUNDARI LETTER UC;Lo;0;L;;;;;N;;;;;
1E4E1;NAG MUNDARI LETTER UD;Lo;0;L;;;;;N;;;;;
1E4E2;NAG MUNDARI LETTER UK;Lo;0;L;;;;;N;;;;;
1E4E3;NAG MUNDARI LETTER UR;Lo;0;L;;;;;N;;;;;
1E4E4;NAG MUNDARI LETTER E;Lo;0;L;;;;;N;;;;;
1E4E5;NAG MUNDARI LETTER ENN;Lo;0;L;;;;;N;;;;;
1E4E6;NAG MUNDARI LETTER EG;Lo;0;L;;;;;N;;;;;
1E4E7;NAG MUNDARI LETTER EM;Lo;0;L;;;;;N;;;;;
1E4E8;NAG MUNDARI LETTER EN;Lo;0;L;;;;;N;;;;;
1E4E9;NAG MUNDARI LETTER ETT;Lo;0;L;;;;;N;;;;;
1E4EA;NAG MUNDARI LETTER ELL;Lo;0;L;;;;;N;;;;;
1E4EB;NAG MUNDARI SIGN OJOD;Lm;0;L;;;;;N;;;;;
1E4EC;NAG MUNDARI SIGN MUHOR;Mn;232;NSM;;;;;N;;;;;
1E4ED;NAG MUNDARI SIGN TOYOR;Mn;232;NSM;;;;;N;;;;;
1E4EE;NAG MUNDARI SIGN IKIR;Mn;220;NSM;;;;;N;;;;;
1E4EF;NAG MUNDARI SIGN SUTUH;Mn;230;NSM;;;;;N;;;;;
1E4F0;NAG MUNDARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
1E4F1;NAG MUNDARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
1E4F2;NAG MUNDARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
1E4F3;NAG MUNDARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
1E4F4;NAG MUNDARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
1E4F5;NAG MUNDARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
1E4F6;NAG MUNDARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
1E4F7;NAG MUNDARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
1E4F8;NAG MUNDARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
1E4F9;NAG MUNDARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
1E7E0;ETHIOPIC SYLLABLE HHYA;Lo;0;L;;;;;N;;;;;
1E7E1;ETHIOPIC SYLLABLE HHYU;Lo;0;L;;;;;N;;;;;
1E7E2;ETHIOPIC SYLLABLE HHYI;Lo;0;L;;;;;N;;;;;
@ -32945,7 +32678,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F6D5;HINDU TEMPLE;So;0;ON;;;;;N;;;;;
1F6D6;HUT;So;0;ON;;;;;N;;;;;
1F6D7;ELEVATOR;So;0;ON;;;;;N;;;;;
1F6DC;WIRELESS;So;0;ON;;;;;N;;;;;
1F6DD;PLAYGROUND SLIDE;So;0;ON;;;;;N;;;;;
1F6DE;WHEEL;So;0;ON;;;;;N;;;;;
1F6DF;RING BUOY;So;0;ON;;;;;N;;;;;
@ -33091,14 +32823,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F771;ALCHEMICAL SYMBOL FOR MONTH;So;0;ON;;;;;N;;;;;
1F772;ALCHEMICAL SYMBOL FOR HALF DRAM;So;0;ON;;;;;N;;;;;
1F773;ALCHEMICAL SYMBOL FOR HALF OUNCE;So;0;ON;;;;;N;;;;;
1F774;LOT OF FORTUNE;So;0;ON;;;;;N;;;;;
1F775;OCCULTATION;So;0;ON;;;;;N;;;;;
1F776;LUNAR ECLIPSE;So;0;ON;;;;;N;;;;;
1F77B;HAUMEA;So;0;ON;;;;;N;;;;;
1F77C;MAKEMAKE;So;0;ON;;;;;N;;;;;
1F77D;GONGGONG;So;0;ON;;;;;N;;;;;
1F77E;QUAOAR;So;0;ON;;;;;N;;;;;
1F77F;ORCUS;So;0;ON;;;;;N;;;;;
1F780;BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
1F781;BLACK UP-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
1F782;BLACK RIGHT-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;;
@ -33188,7 +32912,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F7D6;NEGATIVE CIRCLED TRIANGLE;So;0;ON;;;;;N;;;;;
1F7D7;CIRCLED SQUARE;So;0;ON;;;;;N;;;;;
1F7D8;NEGATIVE CIRCLED SQUARE;So;0;ON;;;;;N;;;;;
1F7D9;NINE POINTED WHITE STAR;So;0;ON;;;;;N;;;;;
1F7E0;LARGE ORANGE CIRCLE;So;0;ON;;;;;N;;;;;
1F7E1;LARGE YELLOW CIRCLE;So;0;ON;;;;;N;;;;;
1F7E2;LARGE GREEN CIRCLE;So;0;ON;;;;;N;;;;;
@ -33711,9 +33434,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FA72;BRIEFS;So;0;ON;;;;;N;;;;;
1FA73;SHORTS;So;0;ON;;;;;N;;;;;
1FA74;THONG SANDAL;So;0;ON;;;;;N;;;;;
1FA75;LIGHT BLUE HEART;So;0;ON;;;;;N;;;;;
1FA76;GREY HEART;So;0;ON;;;;;N;;;;;
1FA77;PINK HEART;So;0;ON;;;;;N;;;;;
1FA78;DROP OF BLOOD;So;0;ON;;;;;N;;;;;
1FA79;ADHESIVE BANDAGE;So;0;ON;;;;;N;;;;;
1FA7A;STETHOSCOPE;So;0;ON;;;;;N;;;;;
@ -33726,8 +33446,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FA84;MAGIC WAND;So;0;ON;;;;;N;;;;;
1FA85;PINATA;So;0;ON;;;;;N;;;;;
1FA86;NESTING DOLLS;So;0;ON;;;;;N;;;;;
1FA87;MARACAS;So;0;ON;;;;;N;;;;;
1FA88;FLUTE;So;0;ON;;;;;N;;;;;
1FA90;RINGED PLANET;So;0;ON;;;;;N;;;;;
1FA91;CHAIR;So;0;ON;;;;;N;;;;;
1FA92;RAZOR;So;0;ON;;;;;N;;;;;
@ -33757,9 +33475,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FAAA;IDENTIFICATION CARD;So;0;ON;;;;;N;;;;;
1FAAB;LOW BATTERY;So;0;ON;;;;;N;;;;;
1FAAC;HAMSA;So;0;ON;;;;;N;;;;;
1FAAD;FOLDING HAND FAN;So;0;ON;;;;;N;;;;;
1FAAE;HAIR PICK;So;0;ON;;;;;N;;;;;
1FAAF;KHANDA;So;0;ON;;;;;N;;;;;
1FAB0;FLY;So;0;ON;;;;;N;;;;;
1FAB1;WORM;So;0;ON;;;;;N;;;;;
1FAB2;BEETLE;So;0;ON;;;;;N;;;;;
@ -33771,18 +33486,12 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FAB8;CORAL;So;0;ON;;;;;N;;;;;
1FAB9;EMPTY NEST;So;0;ON;;;;;N;;;;;
1FABA;NEST WITH EGGS;So;0;ON;;;;;N;;;;;
1FABB;HYACINTH;So;0;ON;;;;;N;;;;;
1FABC;JELLYFISH;So;0;ON;;;;;N;;;;;
1FABD;WING;So;0;ON;;;;;N;;;;;
1FABF;GOOSE;So;0;ON;;;;;N;;;;;
1FAC0;ANATOMICAL HEART;So;0;ON;;;;;N;;;;;
1FAC1;LUNGS;So;0;ON;;;;;N;;;;;
1FAC2;PEOPLE HUGGING;So;0;ON;;;;;N;;;;;
1FAC3;PREGNANT MAN;So;0;ON;;;;;N;;;;;
1FAC4;PREGNANT PERSON;So;0;ON;;;;;N;;;;;
1FAC5;PERSON WITH CROWN;So;0;ON;;;;;N;;;;;
1FACE;MOOSE;So;0;ON;;;;;N;;;;;
1FACF;DONKEY;So;0;ON;;;;;N;;;;;
1FAD0;BLUEBERRIES;So;0;ON;;;;;N;;;;;
1FAD1;BELL PEPPER;So;0;ON;;;;;N;;;;;
1FAD2;OLIVE;So;0;ON;;;;;N;;;;;
@ -33793,8 +33502,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FAD7;POURING LIQUID;So;0;ON;;;;;N;;;;;
1FAD8;BEANS;So;0;ON;;;;;N;;;;;
1FAD9;JAR;So;0;ON;;;;;N;;;;;
1FADA;GINGER ROOT;So;0;ON;;;;;N;;;;;
1FADB;PEA POD;So;0;ON;;;;;N;;;;;
1FAE0;MELTING FACE;So;0;ON;;;;;N;;;;;
1FAE1;SALUTING FACE;So;0;ON;;;;;N;;;;;
1FAE2;FACE WITH OPEN EYES AND HAND OVER MOUTH;So;0;ON;;;;;N;;;;;
@ -33803,7 +33510,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FAE5;DOTTED LINE FACE;So;0;ON;;;;;N;;;;;
1FAE6;BITING LIP;So;0;ON;;;;;N;;;;;
1FAE7;BUBBLES;So;0;ON;;;;;N;;;;;
1FAE8;SHAKING FACE;So;0;ON;;;;;N;;;;;
1FAF0;HAND WITH INDEX FINGER AND THUMB CROSSED;So;0;ON;;;;;N;;;;;
1FAF1;RIGHTWARDS HAND;So;0;ON;;;;;N;;;;;
1FAF2;LEFTWARDS HAND;So;0;ON;;;;;N;;;;;
@ -33811,8 +33517,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FAF4;PALM UP HAND;So;0;ON;;;;;N;;;;;
1FAF5;INDEX POINTING AT THE VIEWER;So;0;ON;;;;;N;;;;;
1FAF6;HEART HANDS;So;0;ON;;;;;N;;;;;
1FAF7;LEFTWARDS PUSHING HAND;So;0;ON;;;;;N;;;;;
1FAF8;RIGHTWARDS PUSHING HAND;So;0;ON;;;;;N;;;;;
1FB00;BLOCK SEXTANT-1;So;0;ON;;;;;N;;;;;
1FB01;BLOCK SEXTANT-2;So;0;ON;;;;;N;;;;;
1FB02;BLOCK SEXTANT-12;So;0;ON;;;;;N;;;;;
@ -34028,7 +33732,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
20000;<CJK Ideograph Extension B, First>;Lo;0;L;;;;;N;;;;;
2A6DF;<CJK Ideograph Extension B, Last>;Lo;0;L;;;;;N;;;;;
2A700;<CJK Ideograph Extension C, First>;Lo;0;L;;;;;N;;;;;
2B739;<CJK Ideograph Extension C, Last>;Lo;0;L;;;;;N;;;;;
2B738;<CJK Ideograph Extension C, Last>;Lo;0;L;;;;;N;;;;;
2B740;<CJK Ideograph Extension D, First>;Lo;0;L;;;;;N;;;;;
2B81D;<CJK Ideograph Extension D, Last>;Lo;0;L;;;;;N;;;;;
2B820;<CJK Ideograph Extension E, First>;Lo;0;L;;;;;N;;;;;
@ -34579,8 +34283,6 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
2FA1D;CJK COMPATIBILITY IDEOGRAPH-2FA1D;Lo;0;L;2A600;;;;N;;;;;
30000;<CJK Ideograph Extension G, First>;Lo;0;L;;;;;N;;;;;
3134A;<CJK Ideograph Extension G, Last>;Lo;0;L;;;;;N;;;;;
31350;<CJK Ideograph Extension H, First>;Lo;0;L;;;;;N;;;;;
323AF;<CJK Ideograph Extension H, Last>;Lo;0;L;;;;;N;;;;;
E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;;
E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;;
E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;;

Просмотреть файл

@ -5,7 +5,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* Generated by make_unicode.py DO NOT MODIFY */
/* Unicode version: 15.0.0 */
/* Unicode version: 14.0.0 */
#ifndef util_UnicodeNonBMP_h
#define util_UnicodeNonBMP_h