Restore lost de-duplication

This commit is contained in:
Philip Hazel 2022-01-10 11:31:27 +00:00
parent 636569a957
commit ec091e2e44
2 changed files with 416 additions and 431 deletions

View File

@ -41,7 +41,8 @@
#
# Note subsequent changes here:
#
# 27-December_2021: Added support for 4-letter script abbreviations.
# 27-December-2021: Added support for 4-letter script abbreviations.
# xx-January-2022: Further updates for Boolean property support
# -----------------------------------------------------------------------------
@ -119,8 +120,6 @@ for name in bool_properties:
utt_table.append((stdname(abbrev), name, 'PT_BOOL'))
#utt_table += list(zip(std_bool_properties, bool_properties, ['PT_BOOL'] * len(bool_properties)))
# Now add specials and synonyms. Note both the standardized and capitalized
# forms are needed.
@ -133,8 +132,9 @@ utt_table.append(('xsp', 'Xsp', 'PT_SPACE'))
utt_table.append(('xuc', 'Xuc', 'PT_UCNC'))
utt_table.append(('xwd', 'Xwd', 'PT_WORD'))
# Sort the table.
# Remove duplicates from the table and then sort it.
utt_table = list(set(utt_table))
utt_table.sort()
# Output file-specific heading

View File

@ -127,7 +127,6 @@ the "loose matching" rules that Unicode advises and Perl uses. */
#define STRING_cari0 STR_c STR_a STR_r STR_i "\0"
#define STRING_carian0 STR_c STR_a STR_r STR_i STR_a STR_n "\0"
#define STRING_cased0 STR_c STR_a STR_s STR_e STR_d "\0"
#define STRING_cased0 STR_c STR_a STR_s STR_e STR_d "\0"
#define STRING_caseignorable0 STR_c STR_a STR_s STR_e STR_i STR_g STR_n STR_o STR_r STR_a STR_b STR_l STR_e "\0"
#define STRING_caucasianalbanian0 STR_c STR_a STR_u STR_c STR_a STR_s STR_i STR_a STR_n STR_a STR_l STR_b STR_a STR_n STR_i STR_a STR_n "\0"
#define STRING_cc0 STR_c STR_c "\0"
@ -163,7 +162,6 @@ the "loose matching" rules that Unicode advises and Perl uses. */
#define STRING_cyrillic0 STR_c STR_y STR_r STR_i STR_l STR_l STR_i STR_c "\0"
#define STRING_cyrl0 STR_c STR_y STR_r STR_l "\0"
#define STRING_dash0 STR_d STR_a STR_s STR_h "\0"
#define STRING_dash0 STR_d STR_a STR_s STR_h "\0"
#define STRING_defaultignorablecodepoint0 STR_d STR_e STR_f STR_a STR_u STR_l STR_t STR_i STR_g STR_n STR_o STR_r STR_a STR_b STR_l STR_e STR_c STR_o STR_d STR_e STR_p STR_o STR_i STR_n STR_t "\0"
#define STRING_dep0 STR_d STR_e STR_p "\0"
#define STRING_deprecated0 STR_d STR_e STR_p STR_r STR_e STR_c STR_a STR_t STR_e STR_d "\0"
@ -190,7 +188,6 @@ the "loose matching" rules that Unicode advises and Perl uses. */
#define STRING_elymaic0 STR_e STR_l STR_y STR_m STR_a STR_i STR_c "\0"
#define STRING_emod0 STR_e STR_m STR_o STR_d "\0"
#define STRING_emoji0 STR_e STR_m STR_o STR_j STR_i "\0"
#define STRING_emoji0 STR_e STR_m STR_o STR_j STR_i "\0"
#define STRING_emojicomponent0 STR_e STR_m STR_o STR_j STR_i STR_c STR_o STR_m STR_p STR_o STR_n STR_e STR_n STR_t "\0"
#define STRING_emojimodifier0 STR_e STR_m STR_o STR_j STR_i STR_m STR_o STR_d STR_i STR_f STR_i STR_e STR_r "\0"
#define STRING_emojimodifierbase0 STR_e STR_m STR_o STR_j STR_i STR_m STR_o STR_d STR_i STR_f STR_i STR_e STR_r STR_b STR_a STR_s STR_e "\0"
@ -324,7 +321,6 @@ the "loose matching" rules that Unicode advises and Perl uses. */
#define STRING_marchen0 STR_m STR_a STR_r STR_c STR_h STR_e STR_n "\0"
#define STRING_masaramgondi0 STR_m STR_a STR_s STR_a STR_r STR_a STR_m STR_g STR_o STR_n STR_d STR_i "\0"
#define STRING_math0 STR_m STR_a STR_t STR_h "\0"
#define STRING_math0 STR_m STR_a STR_t STR_h "\0"
#define STRING_mc0 STR_m STR_c "\0"
#define STRING_me0 STR_m STR_e "\0"
#define STRING_medefaidrin0 STR_m STR_e STR_d STR_e STR_f STR_a STR_i STR_d STR_r STR_i STR_n "\0"
@ -422,7 +418,6 @@ the "loose matching" rules that Unicode advises and Perl uses. */
#define STRING_qmark0 STR_q STR_m STR_a STR_r STR_k "\0"
#define STRING_quotationmark0 STR_q STR_u STR_o STR_t STR_a STR_t STR_i STR_o STR_n STR_m STR_a STR_r STR_k "\0"
#define STRING_radical0 STR_r STR_a STR_d STR_i STR_c STR_a STR_l "\0"
#define STRING_radical0 STR_r STR_a STR_d STR_i STR_c STR_a STR_l "\0"
#define STRING_regionalindicator0 STR_r STR_e STR_g STR_i STR_o STR_n STR_a STR_l STR_i STR_n STR_d STR_i STR_c STR_a STR_t STR_o STR_r "\0"
#define STRING_rejang0 STR_r STR_e STR_j STR_a STR_n STR_g "\0"
#define STRING_ri0 STR_r STR_i "\0"
@ -620,7 +615,6 @@ const char PRIV(utt_names)[] =
STRING_cari0
STRING_carian0
STRING_cased0
STRING_cased0
STRING_caseignorable0
STRING_caucasianalbanian0
STRING_cc0
@ -656,7 +650,6 @@ const char PRIV(utt_names)[] =
STRING_cyrillic0
STRING_cyrl0
STRING_dash0
STRING_dash0
STRING_defaultignorablecodepoint0
STRING_dep0
STRING_deprecated0
@ -683,7 +676,6 @@ const char PRIV(utt_names)[] =
STRING_elymaic0
STRING_emod0
STRING_emoji0
STRING_emoji0
STRING_emojicomponent0
STRING_emojimodifier0
STRING_emojimodifierbase0
@ -817,7 +809,6 @@ const char PRIV(utt_names)[] =
STRING_marchen0
STRING_masaramgondi0
STRING_math0
STRING_math0
STRING_mc0
STRING_me0
STRING_medefaidrin0
@ -915,7 +906,6 @@ const char PRIV(utt_names)[] =
STRING_qmark0
STRING_quotationmark0
STRING_radical0
STRING_radical0
STRING_regionalindicator0
STRING_rejang0
STRING_ri0
@ -1113,423 +1103,418 @@ const ucp_type_table PRIV(utt)[] = {
{ 509, PT_SC, ucp_Carian },
{ 514, PT_SC, ucp_Carian },
{ 521, PT_BOOL, ucp_Cased },
{ 527, PT_BOOL, ucp_Cased },
{ 533, PT_BOOL, ucp_Case_Ignorable },
{ 547, PT_SC, ucp_Caucasian_Albanian },
{ 565, PT_PC, ucp_Cc },
{ 568, PT_PC, ucp_Cf },
{ 571, PT_SCX, ucp_Chakma },
{ 578, PT_SC, ucp_Cham },
{ 583, PT_BOOL, ucp_Changes_When_Casefolded },
{ 605, PT_BOOL, ucp_Changes_When_Casemapped },
{ 627, PT_BOOL, ucp_Changes_When_Lowercased },
{ 649, PT_BOOL, ucp_Changes_When_Titlecased },
{ 671, PT_BOOL, ucp_Changes_When_Uppercased },
{ 693, PT_SC, ucp_Cherokee },
{ 698, PT_SC, ucp_Cherokee },
{ 707, PT_SC, ucp_Chorasmian },
{ 718, PT_SC, ucp_Chorasmian },
{ 723, PT_BOOL, ucp_Case_Ignorable },
{ 726, PT_PC, ucp_Cn },
{ 729, PT_PC, ucp_Co },
{ 732, PT_SC, ucp_Common },
{ 739, PT_SCX, ucp_Coptic },
{ 744, PT_SCX, ucp_Coptic },
{ 751, PT_SCX, ucp_Cypro_Minoan },
{ 756, PT_SCX, ucp_Cypriot },
{ 761, PT_PC, ucp_Cs },
{ 764, PT_SC, ucp_Cuneiform },
{ 774, PT_BOOL, ucp_Changes_When_Casefolded },
{ 779, PT_BOOL, ucp_Changes_When_Casemapped },
{ 784, PT_BOOL, ucp_Changes_When_Lowercased },
{ 788, PT_BOOL, ucp_Changes_When_Titlecased },
{ 792, PT_BOOL, ucp_Changes_When_Uppercased },
{ 796, PT_SCX, ucp_Cypriot },
{ 804, PT_SCX, ucp_Cypro_Minoan },
{ 816, PT_SCX, ucp_Cyrillic },
{ 825, PT_SCX, ucp_Cyrillic },
{ 830, PT_BOOL, ucp_Dash },
{ 835, PT_BOOL, ucp_Dash },
{ 840, PT_BOOL, ucp_Default_Ignorable_Code_Point },
{ 866, PT_BOOL, ucp_Deprecated },
{ 870, PT_BOOL, ucp_Deprecated },
{ 881, PT_SC, ucp_Deseret },
{ 889, PT_SCX, ucp_Devanagari },
{ 894, PT_SCX, ucp_Devanagari },
{ 905, PT_BOOL, ucp_Default_Ignorable_Code_Point },
{ 908, PT_BOOL, ucp_Diacritic },
{ 912, PT_BOOL, ucp_Diacritic },
{ 922, PT_SC, ucp_Dives_Akuru },
{ 927, PT_SC, ucp_Dives_Akuru },
{ 938, PT_SCX, ucp_Dogra },
{ 943, PT_SCX, ucp_Dogra },
{ 949, PT_SC, ucp_Deseret },
{ 954, PT_SCX, ucp_Duployan },
{ 959, PT_SCX, ucp_Duployan },
{ 968, PT_BOOL, ucp_Emoji_Modifier_Base },
{ 974, PT_BOOL, ucp_Emoji_Component },
{ 980, PT_SC, ucp_Egyptian_Hieroglyphs },
{ 985, PT_SC, ucp_Egyptian_Hieroglyphs },
{ 1005, PT_SC, ucp_Elbasan },
{ 1010, PT_SC, ucp_Elbasan },
{ 1018, PT_SC, ucp_Elymaic },
{ 1023, PT_SC, ucp_Elymaic },
{ 1031, PT_BOOL, ucp_Emoji_Modifier },
{ 1036, PT_BOOL, ucp_Emoji },
{ 1042, PT_BOOL, ucp_Emoji },
{ 1048, PT_BOOL, ucp_Emoji_Component },
{ 1063, PT_BOOL, ucp_Emoji_Modifier },
{ 1077, PT_BOOL, ucp_Emoji_Modifier_Base },
{ 1095, PT_BOOL, ucp_Emoji_Presentation },
{ 1113, PT_BOOL, ucp_Emoji_Presentation },
{ 1119, PT_SC, ucp_Ethiopic },
{ 1124, PT_SC, ucp_Ethiopic },
{ 1133, PT_BOOL, ucp_Extender },
{ 1137, PT_BOOL, ucp_Extended_Pictographic },
{ 1158, PT_BOOL, ucp_Extender },
{ 1167, PT_BOOL, ucp_Extended_Pictographic },
{ 1175, PT_SCX, ucp_Georgian },
{ 1180, PT_SCX, ucp_Georgian },
{ 1189, PT_SCX, ucp_Glagolitic },
{ 1194, PT_SCX, ucp_Glagolitic },
{ 1205, PT_SCX, ucp_Gunjala_Gondi },
{ 1210, PT_SCX, ucp_Masaram_Gondi },
{ 1215, PT_SC, ucp_Gothic },
{ 1220, PT_SC, ucp_Gothic },
{ 1227, PT_SCX, ucp_Grantha },
{ 1232, PT_SCX, ucp_Grantha },
{ 1240, PT_BOOL, ucp_Grapheme_Base },
{ 1253, PT_BOOL, ucp_Grapheme_Extend },
{ 1268, PT_BOOL, ucp_Grapheme_Link },
{ 1281, PT_BOOL, ucp_Grapheme_Base },
{ 1288, PT_SCX, ucp_Greek },
{ 1294, PT_SCX, ucp_Greek },
{ 1299, PT_BOOL, ucp_Grapheme_Extend },
{ 1305, PT_BOOL, ucp_Grapheme_Link },
{ 1312, PT_SCX, ucp_Gujarati },
{ 1321, PT_SCX, ucp_Gujarati },
{ 1326, PT_SCX, ucp_Gunjala_Gondi },
{ 1339, PT_SCX, ucp_Gurmukhi },
{ 1348, PT_SCX, ucp_Gurmukhi },
{ 1353, PT_SCX, ucp_Han },
{ 1357, PT_SCX, ucp_Hangul },
{ 1362, PT_SCX, ucp_Hangul },
{ 1369, PT_SCX, ucp_Han },
{ 1374, PT_SCX, ucp_Hanifi_Rohingya },
{ 1389, PT_SCX, ucp_Hanunoo },
{ 1394, PT_SCX, ucp_Hanunoo },
{ 1402, PT_SC, ucp_Hatran },
{ 1407, PT_SC, ucp_Hatran },
{ 1414, PT_SC, ucp_Hebrew },
{ 1419, PT_SC, ucp_Hebrew },
{ 1426, PT_BOOL, ucp_Hex_Digit },
{ 1430, PT_BOOL, ucp_Hex_Digit },
{ 1439, PT_SCX, ucp_Hiragana },
{ 1444, PT_SCX, ucp_Hiragana },
{ 1453, PT_SC, ucp_Anatolian_Hieroglyphs },
{ 1458, PT_SC, ucp_Pahawh_Hmong },
{ 1463, PT_SC, ucp_Nyiakeng_Puachue_Hmong },
{ 1468, PT_SC, ucp_Old_Hungarian },
{ 1473, PT_BOOL, ucp_ID_Continue },
{ 1477, PT_BOOL, ucp_ID_Continue },
{ 1488, PT_BOOL, ucp_Ideographic },
{ 1493, PT_BOOL, ucp_Ideographic },
{ 1505, PT_BOOL, ucp_ID_Start },
{ 1509, PT_BOOL, ucp_IDS_Binary_Operator },
{ 1514, PT_BOOL, ucp_IDS_Binary_Operator },
{ 1532, PT_BOOL, ucp_IDS_Trinary_Operator },
{ 1537, PT_BOOL, ucp_ID_Start },
{ 1545, PT_BOOL, ucp_IDS_Trinary_Operator },
{ 1564, PT_SC, ucp_Imperial_Aramaic },
{ 1580, PT_SC, ucp_Inherited },
{ 1590, PT_SC, ucp_Inscriptional_Pahlavi },
{ 1611, PT_SC, ucp_Inscriptional_Parthian },
{ 1633, PT_SC, ucp_Old_Italic },
{ 1638, PT_SCX, ucp_Javanese },
{ 1643, PT_SCX, ucp_Javanese },
{ 1652, PT_BOOL, ucp_Join_Control },
{ 1658, PT_BOOL, ucp_Join_Control },
{ 1670, PT_SCX, ucp_Kaithi },
{ 1677, PT_SCX, ucp_Kayah_Li },
{ 1682, PT_SCX, ucp_Katakana },
{ 1687, PT_SCX, ucp_Kannada },
{ 1695, PT_SCX, ucp_Katakana },
{ 1704, PT_SCX, ucp_Kayah_Li },
{ 1712, PT_SC, ucp_Kharoshthi },
{ 1717, PT_SC, ucp_Kharoshthi },
{ 1728, PT_SC, ucp_Khitan_Small_Script },
{ 1746, PT_SC, ucp_Khmer },
{ 1752, PT_SC, ucp_Khmer },
{ 1757, PT_SCX, ucp_Khojki },
{ 1762, PT_SCX, ucp_Khojki },
{ 1769, PT_SCX, ucp_Khudawadi },
{ 1779, PT_SC, ucp_Khitan_Small_Script },
{ 1784, PT_SCX, ucp_Kannada },
{ 1789, PT_SCX, ucp_Kaithi },
{ 1794, PT_GC, ucp_L },
{ 1796, PT_LAMP, 0 },
{ 1799, PT_SC, ucp_Tai_Tham },
{ 1804, PT_SC, ucp_Lao },
{ 1808, PT_SC, ucp_Lao },
{ 1813, PT_SCX, ucp_Latin },
{ 1819, PT_SCX, ucp_Latin },
{ 1824, PT_LAMP, 0 },
{ 1827, PT_SC, ucp_Lepcha },
{ 1832, PT_SC, ucp_Lepcha },
{ 1839, PT_SCX, ucp_Limbu },
{ 1844, PT_SCX, ucp_Limbu },
{ 1850, PT_SCX, ucp_Linear_A },
{ 1855, PT_SCX, ucp_Linear_B },
{ 1860, PT_SCX, ucp_Linear_A },
{ 1868, PT_SCX, ucp_Linear_B },
{ 1876, PT_SC, ucp_Lisu },
{ 1881, PT_PC, ucp_Ll },
{ 1884, PT_PC, ucp_Lm },
{ 1887, PT_PC, ucp_Lo },
{ 1890, PT_BOOL, ucp_Logical_Order_Exception },
{ 1894, PT_BOOL, ucp_Logical_Order_Exception },
{ 1916, PT_BOOL, ucp_Lowercase },
{ 1922, PT_BOOL, ucp_Lowercase },
{ 1932, PT_PC, ucp_Lt },
{ 1935, PT_PC, ucp_Lu },
{ 1938, PT_SC, ucp_Lycian },
{ 1943, PT_SC, ucp_Lycian },
{ 1950, PT_SC, ucp_Lydian },
{ 1955, PT_SC, ucp_Lydian },
{ 1962, PT_GC, ucp_M },
{ 1964, PT_SCX, ucp_Mahajani },
{ 1973, PT_SCX, ucp_Mahajani },
{ 1978, PT_SC, ucp_Makasar },
{ 1983, PT_SC, ucp_Makasar },
{ 1991, PT_SCX, ucp_Malayalam },
{ 2001, PT_SCX, ucp_Mandaic },
{ 2006, PT_SCX, ucp_Mandaic },
{ 2014, PT_SCX, ucp_Manichaean },
{ 2019, PT_SCX, ucp_Manichaean },
{ 2030, PT_SC, ucp_Marchen },
{ 2035, PT_SC, ucp_Marchen },
{ 2043, PT_SCX, ucp_Masaram_Gondi },
{ 2056, PT_BOOL, ucp_Math },
{ 2061, PT_BOOL, ucp_Math },
{ 2066, PT_PC, ucp_Mc },
{ 2069, PT_PC, ucp_Me },
{ 2072, PT_SC, ucp_Medefaidrin },
{ 2084, PT_SC, ucp_Medefaidrin },
{ 2089, PT_SC, ucp_Meetei_Mayek },
{ 2101, PT_SC, ucp_Mende_Kikakui },
{ 2106, PT_SC, ucp_Mende_Kikakui },
{ 2119, PT_SC, ucp_Meroitic_Cursive },
{ 2124, PT_SC, ucp_Meroitic_Hieroglyphs },
{ 2129, PT_SC, ucp_Meroitic_Cursive },
{ 2145, PT_SC, ucp_Meroitic_Hieroglyphs },
{ 2165, PT_SC, ucp_Miao },
{ 2170, PT_SCX, ucp_Malayalam },
{ 2175, PT_PC, ucp_Mn },
{ 2178, PT_SCX, ucp_Modi },
{ 2183, PT_SCX, ucp_Mongolian },
{ 2188, PT_SCX, ucp_Mongolian },
{ 2198, PT_SC, ucp_Mro },
{ 2202, PT_SC, ucp_Mro },
{ 2207, PT_SC, ucp_Meetei_Mayek },
{ 2212, PT_SCX, ucp_Multani },
{ 2217, PT_SCX, ucp_Multani },
{ 2225, PT_SCX, ucp_Myanmar },
{ 2233, PT_SCX, ucp_Myanmar },
{ 2238, PT_GC, ucp_N },
{ 2240, PT_SC, ucp_Nabataean },
{ 2250, PT_SCX, ucp_Nandinagari },
{ 2255, PT_SCX, ucp_Nandinagari },
{ 2267, PT_SC, ucp_Old_North_Arabian },
{ 2272, PT_SC, ucp_Nabataean },
{ 2277, PT_BOOL, ucp_Noncharacter_Code_Point },
{ 2283, PT_PC, ucp_Nd },
{ 2286, PT_SC, ucp_Newa },
{ 2291, PT_SC, ucp_New_Tai_Lue },
{ 2301, PT_SCX, ucp_Nko },
{ 2305, PT_SCX, ucp_Nko },
{ 2310, PT_PC, ucp_Nl },
{ 2313, PT_PC, ucp_No },
{ 2316, PT_BOOL, ucp_Noncharacter_Code_Point },
{ 2338, PT_SC, ucp_Nushu },
{ 2343, PT_SC, ucp_Nushu },
{ 2349, PT_SC, ucp_Nyiakeng_Puachue_Hmong },
{ 2370, PT_SC, ucp_Ogham },
{ 2375, PT_SC, ucp_Ogham },
{ 2381, PT_SC, ucp_Ol_Chiki },
{ 2389, PT_SC, ucp_Ol_Chiki },
{ 2394, PT_SC, ucp_Old_Hungarian },
{ 2407, PT_SC, ucp_Old_Italic },
{ 2417, PT_SC, ucp_Old_North_Arabian },
{ 2433, PT_SCX, ucp_Old_Permic },
{ 2443, PT_SC, ucp_Old_Persian },
{ 2454, PT_SC, ucp_Old_Sogdian },
{ 2465, PT_SC, ucp_Old_South_Arabian },
{ 2481, PT_SC, ucp_Old_Turkic },
{ 2491, PT_SCX, ucp_Old_Uyghur },
{ 2501, PT_SCX, ucp_Oriya },
{ 2507, PT_SC, ucp_Old_Turkic },
{ 2512, PT_SCX, ucp_Oriya },
{ 2517, PT_SC, ucp_Osage },
{ 2523, PT_SC, ucp_Osage },
{ 2528, PT_SC, ucp_Osmanya },
{ 2533, PT_SC, ucp_Osmanya },
{ 2541, PT_SCX, ucp_Old_Uyghur },
{ 2546, PT_GC, ucp_P },
{ 2548, PT_SC, ucp_Pahawh_Hmong },
{ 2560, PT_SC, ucp_Palmyrene },
{ 2565, PT_SC, ucp_Palmyrene },
{ 2575, PT_BOOL, ucp_Pattern_Syntax },
{ 2582, PT_BOOL, ucp_Pattern_Syntax },
{ 2596, PT_BOOL, ucp_Pattern_White_Space },
{ 2614, PT_BOOL, ucp_Pattern_White_Space },
{ 2620, PT_SC, ucp_Pau_Cin_Hau },
{ 2625, PT_SC, ucp_Pau_Cin_Hau },
{ 2635, PT_PC, ucp_Pc },
{ 2638, PT_BOOL, ucp_Prepended_Concatenation_Mark },
{ 2642, PT_PC, ucp_Pd },
{ 2645, PT_PC, ucp_Pe },
{ 2648, PT_SCX, ucp_Old_Permic },
{ 2653, PT_PC, ucp_Pf },
{ 2656, PT_SCX, ucp_Phags_Pa },
{ 2661, PT_SCX, ucp_Phags_Pa },
{ 2669, PT_SC, ucp_Inscriptional_Pahlavi },
{ 2674, PT_SCX, ucp_Psalter_Pahlavi },
{ 2679, PT_SC, ucp_Phoenician },
{ 2684, PT_SC, ucp_Phoenician },
{ 2695, PT_PC, ucp_Pi },
{ 2698, PT_SC, ucp_Miao },
{ 2703, PT_PC, ucp_Po },
{ 2706, PT_BOOL, ucp_Prepended_Concatenation_Mark },
{ 2733, PT_SC, ucp_Inscriptional_Parthian },
{ 2738, PT_PC, ucp_Ps },
{ 2741, PT_SCX, ucp_Psalter_Pahlavi },
{ 2756, PT_SCX, ucp_Coptic },
{ 2761, PT_SC, ucp_Inherited },
{ 2766, PT_BOOL, ucp_Quotation_Mark },
{ 2772, PT_BOOL, ucp_Quotation_Mark },
{ 2786, PT_BOOL, ucp_Radical },
{ 2794, PT_BOOL, ucp_Radical },
{ 2802, PT_BOOL, ucp_Regional_Indicator },
{ 2820, PT_SC, ucp_Rejang },
{ 2827, PT_BOOL, ucp_Regional_Indicator },
{ 2830, PT_SC, ucp_Rejang },
{ 2835, PT_SCX, ucp_Hanifi_Rohingya },
{ 2840, PT_SC, ucp_Runic },
{ 2846, PT_SC, ucp_Runic },
{ 2851, PT_GC, ucp_S },
{ 2853, PT_SC, ucp_Samaritan },
{ 2863, PT_SC, ucp_Samaritan },
{ 2868, PT_SC, ucp_Old_South_Arabian },
{ 2873, PT_SC, ucp_Saurashtra },
{ 2878, PT_SC, ucp_Saurashtra },
{ 2889, PT_PC, ucp_Sc },
{ 2892, PT_BOOL, ucp_Soft_Dotted },
{ 2895, PT_BOOL, ucp_Sentence_Terminal },
{ 2912, PT_SC, ucp_SignWriting },
{ 2917, PT_SCX, ucp_Sharada },
{ 2925, PT_SC, ucp_Shavian },
{ 2933, PT_SC, ucp_Shavian },
{ 2938, PT_SCX, ucp_Sharada },
{ 2943, PT_SC, ucp_Siddham },
{ 2948, PT_SC, ucp_Siddham },
{ 2956, PT_SC, ucp_SignWriting },
{ 2968, PT_SCX, ucp_Khudawadi },
{ 2973, PT_SCX, ucp_Sinhala },
{ 2978, PT_SCX, ucp_Sinhala },
{ 2986, PT_PC, ucp_Sk },
{ 2989, PT_PC, ucp_Sm },
{ 2992, PT_PC, ucp_So },
{ 2995, PT_BOOL, ucp_Soft_Dotted },
{ 3006, PT_SCX, ucp_Sogdian },
{ 3011, PT_SCX, ucp_Sogdian },
{ 3019, PT_SC, ucp_Old_Sogdian },
{ 3024, PT_SC, ucp_Sora_Sompeng },
{ 3029, PT_SC, ucp_Sora_Sompeng },
{ 3041, PT_SC, ucp_Soyombo },
{ 3046, PT_SC, ucp_Soyombo },
{ 3054, PT_BOOL, ucp_White_Space },
{ 3060, PT_BOOL, ucp_Sentence_Terminal },
{ 3066, PT_SC, ucp_Sundanese },
{ 3071, PT_SC, ucp_Sundanese },
{ 3081, PT_SCX, ucp_Syloti_Nagri },
{ 3086, PT_SCX, ucp_Syloti_Nagri },
{ 3098, PT_SCX, ucp_Syriac },
{ 3103, PT_SCX, ucp_Syriac },
{ 3110, PT_SCX, ucp_Tagalog },
{ 3118, PT_SCX, ucp_Tagbanwa },
{ 3123, PT_SCX, ucp_Tagbanwa },
{ 3132, PT_SCX, ucp_Tai_Le },
{ 3138, PT_SC, ucp_Tai_Tham },
{ 3146, PT_SC, ucp_Tai_Viet },
{ 3154, PT_SCX, ucp_Takri },
{ 3159, PT_SCX, ucp_Takri },
{ 3165, PT_SCX, ucp_Tai_Le },
{ 3170, PT_SC, ucp_New_Tai_Lue },
{ 3175, PT_SCX, ucp_Tamil },
{ 3181, PT_SCX, ucp_Tamil },
{ 3186, PT_SC, ucp_Tangut },
{ 3191, PT_SC, ucp_Tangsa },
{ 3198, PT_SC, ucp_Tangut },
{ 3205, PT_SC, ucp_Tai_Viet },
{ 3210, PT_SCX, ucp_Telugu },
{ 3215, PT_SCX, ucp_Telugu },
{ 3222, PT_BOOL, ucp_Terminal_Punctuation },
{ 3227, PT_BOOL, ucp_Terminal_Punctuation },
{ 3247, PT_SC, ucp_Tifinagh },
{ 3252, PT_SCX, ucp_Tagalog },
{ 3257, PT_SCX, ucp_Thaana },
{ 3262, PT_SCX, ucp_Thaana },
{ 3269, PT_SC, ucp_Thai },
{ 3274, PT_SC, ucp_Tibetan },
{ 3282, PT_SC, ucp_Tibetan },
{ 3287, PT_SC, ucp_Tifinagh },
{ 3296, PT_SCX, ucp_Tirhuta },
{ 3301, PT_SCX, ucp_Tirhuta },
{ 3309, PT_SC, ucp_Tangsa },
{ 3314, PT_SC, ucp_Toto },
{ 3319, PT_SC, ucp_Ugaritic },
{ 3324, PT_SC, ucp_Ugaritic },
{ 3333, PT_BOOL, ucp_Unified_Ideograph },
{ 3339, PT_BOOL, ucp_Unified_Ideograph },
{ 3356, PT_SC, ucp_Unknown },
{ 3364, PT_BOOL, ucp_Uppercase },
{ 3370, PT_BOOL, ucp_Uppercase },
{ 3380, PT_SC, ucp_Vai },
{ 3384, PT_SC, ucp_Vai },
{ 3389, PT_BOOL, ucp_Variation_Selector },
{ 3407, PT_SC, ucp_Vithkuqi },
{ 3412, PT_SC, ucp_Vithkuqi },
{ 3421, PT_BOOL, ucp_Variation_Selector },
{ 3424, PT_SC, ucp_Wancho },
{ 3431, PT_SC, ucp_Warang_Citi },
{ 3436, PT_SC, ucp_Warang_Citi },
{ 3447, PT_SC, ucp_Wancho },
{ 3452, PT_BOOL, ucp_White_Space },
{ 3463, PT_BOOL, ucp_White_Space },
{ 3470, PT_ALNUM, 0 },
{ 3474, PT_BOOL, ucp_XID_Continue },
{ 3479, PT_BOOL, ucp_XID_Continue },
{ 3491, PT_BOOL, ucp_XID_Start },
{ 3496, PT_BOOL, ucp_XID_Start },
{ 3505, PT_SC, ucp_Old_Persian },
{ 3510, PT_PXSPACE, 0 },
{ 3514, PT_SPACE, 0 },
{ 3518, PT_SC, ucp_Cuneiform },
{ 3523, PT_UCNC, 0 },
{ 3527, PT_WORD, 0 },
{ 3531, PT_SCX, ucp_Yezidi },
{ 3536, PT_SCX, ucp_Yezidi },
{ 3543, PT_SCX, ucp_Yi },
{ 3546, PT_SCX, ucp_Yi },
{ 3551, PT_GC, ucp_Z },
{ 3553, PT_SC, ucp_Zanabazar_Square },
{ 3569, PT_SC, ucp_Zanabazar_Square },
{ 3574, PT_SC, ucp_Inherited },
{ 3579, PT_PC, ucp_Zl },
{ 3582, PT_PC, ucp_Zp },
{ 3585, PT_PC, ucp_Zs },
{ 3588, PT_SC, ucp_Common },
{ 3593, PT_SC, ucp_Unknown }
{ 527, PT_BOOL, ucp_Case_Ignorable },
{ 541, PT_SC, ucp_Caucasian_Albanian },
{ 559, PT_PC, ucp_Cc },
{ 562, PT_PC, ucp_Cf },
{ 565, PT_SCX, ucp_Chakma },
{ 572, PT_SC, ucp_Cham },
{ 577, PT_BOOL, ucp_Changes_When_Casefolded },
{ 599, PT_BOOL, ucp_Changes_When_Casemapped },
{ 621, PT_BOOL, ucp_Changes_When_Lowercased },
{ 643, PT_BOOL, ucp_Changes_When_Titlecased },
{ 665, PT_BOOL, ucp_Changes_When_Uppercased },
{ 687, PT_SC, ucp_Cherokee },
{ 692, PT_SC, ucp_Cherokee },
{ 701, PT_SC, ucp_Chorasmian },
{ 712, PT_SC, ucp_Chorasmian },
{ 717, PT_BOOL, ucp_Case_Ignorable },
{ 720, PT_PC, ucp_Cn },
{ 723, PT_PC, ucp_Co },
{ 726, PT_SC, ucp_Common },
{ 733, PT_SCX, ucp_Coptic },
{ 738, PT_SCX, ucp_Coptic },
{ 745, PT_SCX, ucp_Cypro_Minoan },
{ 750, PT_SCX, ucp_Cypriot },
{ 755, PT_PC, ucp_Cs },
{ 758, PT_SC, ucp_Cuneiform },
{ 768, PT_BOOL, ucp_Changes_When_Casefolded },
{ 773, PT_BOOL, ucp_Changes_When_Casemapped },
{ 778, PT_BOOL, ucp_Changes_When_Lowercased },
{ 782, PT_BOOL, ucp_Changes_When_Titlecased },
{ 786, PT_BOOL, ucp_Changes_When_Uppercased },
{ 790, PT_SCX, ucp_Cypriot },
{ 798, PT_SCX, ucp_Cypro_Minoan },
{ 810, PT_SCX, ucp_Cyrillic },
{ 819, PT_SCX, ucp_Cyrillic },
{ 824, PT_BOOL, ucp_Dash },
{ 829, PT_BOOL, ucp_Default_Ignorable_Code_Point },
{ 855, PT_BOOL, ucp_Deprecated },
{ 859, PT_BOOL, ucp_Deprecated },
{ 870, PT_SC, ucp_Deseret },
{ 878, PT_SCX, ucp_Devanagari },
{ 883, PT_SCX, ucp_Devanagari },
{ 894, PT_BOOL, ucp_Default_Ignorable_Code_Point },
{ 897, PT_BOOL, ucp_Diacritic },
{ 901, PT_BOOL, ucp_Diacritic },
{ 911, PT_SC, ucp_Dives_Akuru },
{ 916, PT_SC, ucp_Dives_Akuru },
{ 927, PT_SCX, ucp_Dogra },
{ 932, PT_SCX, ucp_Dogra },
{ 938, PT_SC, ucp_Deseret },
{ 943, PT_SCX, ucp_Duployan },
{ 948, PT_SCX, ucp_Duployan },
{ 957, PT_BOOL, ucp_Emoji_Modifier_Base },
{ 963, PT_BOOL, ucp_Emoji_Component },
{ 969, PT_SC, ucp_Egyptian_Hieroglyphs },
{ 974, PT_SC, ucp_Egyptian_Hieroglyphs },
{ 994, PT_SC, ucp_Elbasan },
{ 999, PT_SC, ucp_Elbasan },
{ 1007, PT_SC, ucp_Elymaic },
{ 1012, PT_SC, ucp_Elymaic },
{ 1020, PT_BOOL, ucp_Emoji_Modifier },
{ 1025, PT_BOOL, ucp_Emoji },
{ 1031, PT_BOOL, ucp_Emoji_Component },
{ 1046, PT_BOOL, ucp_Emoji_Modifier },
{ 1060, PT_BOOL, ucp_Emoji_Modifier_Base },
{ 1078, PT_BOOL, ucp_Emoji_Presentation },
{ 1096, PT_BOOL, ucp_Emoji_Presentation },
{ 1102, PT_SC, ucp_Ethiopic },
{ 1107, PT_SC, ucp_Ethiopic },
{ 1116, PT_BOOL, ucp_Extender },
{ 1120, PT_BOOL, ucp_Extended_Pictographic },
{ 1141, PT_BOOL, ucp_Extender },
{ 1150, PT_BOOL, ucp_Extended_Pictographic },
{ 1158, PT_SCX, ucp_Georgian },
{ 1163, PT_SCX, ucp_Georgian },
{ 1172, PT_SCX, ucp_Glagolitic },
{ 1177, PT_SCX, ucp_Glagolitic },
{ 1188, PT_SCX, ucp_Gunjala_Gondi },
{ 1193, PT_SCX, ucp_Masaram_Gondi },
{ 1198, PT_SC, ucp_Gothic },
{ 1203, PT_SC, ucp_Gothic },
{ 1210, PT_SCX, ucp_Grantha },
{ 1215, PT_SCX, ucp_Grantha },
{ 1223, PT_BOOL, ucp_Grapheme_Base },
{ 1236, PT_BOOL, ucp_Grapheme_Extend },
{ 1251, PT_BOOL, ucp_Grapheme_Link },
{ 1264, PT_BOOL, ucp_Grapheme_Base },
{ 1271, PT_SCX, ucp_Greek },
{ 1277, PT_SCX, ucp_Greek },
{ 1282, PT_BOOL, ucp_Grapheme_Extend },
{ 1288, PT_BOOL, ucp_Grapheme_Link },
{ 1295, PT_SCX, ucp_Gujarati },
{ 1304, PT_SCX, ucp_Gujarati },
{ 1309, PT_SCX, ucp_Gunjala_Gondi },
{ 1322, PT_SCX, ucp_Gurmukhi },
{ 1331, PT_SCX, ucp_Gurmukhi },
{ 1336, PT_SCX, ucp_Han },
{ 1340, PT_SCX, ucp_Hangul },
{ 1345, PT_SCX, ucp_Hangul },
{ 1352, PT_SCX, ucp_Han },
{ 1357, PT_SCX, ucp_Hanifi_Rohingya },
{ 1372, PT_SCX, ucp_Hanunoo },
{ 1377, PT_SCX, ucp_Hanunoo },
{ 1385, PT_SC, ucp_Hatran },
{ 1390, PT_SC, ucp_Hatran },
{ 1397, PT_SC, ucp_Hebrew },
{ 1402, PT_SC, ucp_Hebrew },
{ 1409, PT_BOOL, ucp_Hex_Digit },
{ 1413, PT_BOOL, ucp_Hex_Digit },
{ 1422, PT_SCX, ucp_Hiragana },
{ 1427, PT_SCX, ucp_Hiragana },
{ 1436, PT_SC, ucp_Anatolian_Hieroglyphs },
{ 1441, PT_SC, ucp_Pahawh_Hmong },
{ 1446, PT_SC, ucp_Nyiakeng_Puachue_Hmong },
{ 1451, PT_SC, ucp_Old_Hungarian },
{ 1456, PT_BOOL, ucp_ID_Continue },
{ 1460, PT_BOOL, ucp_ID_Continue },
{ 1471, PT_BOOL, ucp_Ideographic },
{ 1476, PT_BOOL, ucp_Ideographic },
{ 1488, PT_BOOL, ucp_ID_Start },
{ 1492, PT_BOOL, ucp_IDS_Binary_Operator },
{ 1497, PT_BOOL, ucp_IDS_Binary_Operator },
{ 1515, PT_BOOL, ucp_IDS_Trinary_Operator },
{ 1520, PT_BOOL, ucp_ID_Start },
{ 1528, PT_BOOL, ucp_IDS_Trinary_Operator },
{ 1547, PT_SC, ucp_Imperial_Aramaic },
{ 1563, PT_SC, ucp_Inherited },
{ 1573, PT_SC, ucp_Inscriptional_Pahlavi },
{ 1594, PT_SC, ucp_Inscriptional_Parthian },
{ 1616, PT_SC, ucp_Old_Italic },
{ 1621, PT_SCX, ucp_Javanese },
{ 1626, PT_SCX, ucp_Javanese },
{ 1635, PT_BOOL, ucp_Join_Control },
{ 1641, PT_BOOL, ucp_Join_Control },
{ 1653, PT_SCX, ucp_Kaithi },
{ 1660, PT_SCX, ucp_Kayah_Li },
{ 1665, PT_SCX, ucp_Katakana },
{ 1670, PT_SCX, ucp_Kannada },
{ 1678, PT_SCX, ucp_Katakana },
{ 1687, PT_SCX, ucp_Kayah_Li },
{ 1695, PT_SC, ucp_Kharoshthi },
{ 1700, PT_SC, ucp_Kharoshthi },
{ 1711, PT_SC, ucp_Khitan_Small_Script },
{ 1729, PT_SC, ucp_Khmer },
{ 1735, PT_SC, ucp_Khmer },
{ 1740, PT_SCX, ucp_Khojki },
{ 1745, PT_SCX, ucp_Khojki },
{ 1752, PT_SCX, ucp_Khudawadi },
{ 1762, PT_SC, ucp_Khitan_Small_Script },
{ 1767, PT_SCX, ucp_Kannada },
{ 1772, PT_SCX, ucp_Kaithi },
{ 1777, PT_GC, ucp_L },
{ 1779, PT_LAMP, 0 },
{ 1782, PT_SC, ucp_Tai_Tham },
{ 1787, PT_SC, ucp_Lao },
{ 1791, PT_SC, ucp_Lao },
{ 1796, PT_SCX, ucp_Latin },
{ 1802, PT_SCX, ucp_Latin },
{ 1807, PT_LAMP, 0 },
{ 1810, PT_SC, ucp_Lepcha },
{ 1815, PT_SC, ucp_Lepcha },
{ 1822, PT_SCX, ucp_Limbu },
{ 1827, PT_SCX, ucp_Limbu },
{ 1833, PT_SCX, ucp_Linear_A },
{ 1838, PT_SCX, ucp_Linear_B },
{ 1843, PT_SCX, ucp_Linear_A },
{ 1851, PT_SCX, ucp_Linear_B },
{ 1859, PT_SC, ucp_Lisu },
{ 1864, PT_PC, ucp_Ll },
{ 1867, PT_PC, ucp_Lm },
{ 1870, PT_PC, ucp_Lo },
{ 1873, PT_BOOL, ucp_Logical_Order_Exception },
{ 1877, PT_BOOL, ucp_Logical_Order_Exception },
{ 1899, PT_BOOL, ucp_Lowercase },
{ 1905, PT_BOOL, ucp_Lowercase },
{ 1915, PT_PC, ucp_Lt },
{ 1918, PT_PC, ucp_Lu },
{ 1921, PT_SC, ucp_Lycian },
{ 1926, PT_SC, ucp_Lycian },
{ 1933, PT_SC, ucp_Lydian },
{ 1938, PT_SC, ucp_Lydian },
{ 1945, PT_GC, ucp_M },
{ 1947, PT_SCX, ucp_Mahajani },
{ 1956, PT_SCX, ucp_Mahajani },
{ 1961, PT_SC, ucp_Makasar },
{ 1966, PT_SC, ucp_Makasar },
{ 1974, PT_SCX, ucp_Malayalam },
{ 1984, PT_SCX, ucp_Mandaic },
{ 1989, PT_SCX, ucp_Mandaic },
{ 1997, PT_SCX, ucp_Manichaean },
{ 2002, PT_SCX, ucp_Manichaean },
{ 2013, PT_SC, ucp_Marchen },
{ 2018, PT_SC, ucp_Marchen },
{ 2026, PT_SCX, ucp_Masaram_Gondi },
{ 2039, PT_BOOL, ucp_Math },
{ 2044, PT_PC, ucp_Mc },
{ 2047, PT_PC, ucp_Me },
{ 2050, PT_SC, ucp_Medefaidrin },
{ 2062, PT_SC, ucp_Medefaidrin },
{ 2067, PT_SC, ucp_Meetei_Mayek },
{ 2079, PT_SC, ucp_Mende_Kikakui },
{ 2084, PT_SC, ucp_Mende_Kikakui },
{ 2097, PT_SC, ucp_Meroitic_Cursive },
{ 2102, PT_SC, ucp_Meroitic_Hieroglyphs },
{ 2107, PT_SC, ucp_Meroitic_Cursive },
{ 2123, PT_SC, ucp_Meroitic_Hieroglyphs },
{ 2143, PT_SC, ucp_Miao },
{ 2148, PT_SCX, ucp_Malayalam },
{ 2153, PT_PC, ucp_Mn },
{ 2156, PT_SCX, ucp_Modi },
{ 2161, PT_SCX, ucp_Mongolian },
{ 2166, PT_SCX, ucp_Mongolian },
{ 2176, PT_SC, ucp_Mro },
{ 2180, PT_SC, ucp_Mro },
{ 2185, PT_SC, ucp_Meetei_Mayek },
{ 2190, PT_SCX, ucp_Multani },
{ 2195, PT_SCX, ucp_Multani },
{ 2203, PT_SCX, ucp_Myanmar },
{ 2211, PT_SCX, ucp_Myanmar },
{ 2216, PT_GC, ucp_N },
{ 2218, PT_SC, ucp_Nabataean },
{ 2228, PT_SCX, ucp_Nandinagari },
{ 2233, PT_SCX, ucp_Nandinagari },
{ 2245, PT_SC, ucp_Old_North_Arabian },
{ 2250, PT_SC, ucp_Nabataean },
{ 2255, PT_BOOL, ucp_Noncharacter_Code_Point },
{ 2261, PT_PC, ucp_Nd },
{ 2264, PT_SC, ucp_Newa },
{ 2269, PT_SC, ucp_New_Tai_Lue },
{ 2279, PT_SCX, ucp_Nko },
{ 2283, PT_SCX, ucp_Nko },
{ 2288, PT_PC, ucp_Nl },
{ 2291, PT_PC, ucp_No },
{ 2294, PT_BOOL, ucp_Noncharacter_Code_Point },
{ 2316, PT_SC, ucp_Nushu },
{ 2321, PT_SC, ucp_Nushu },
{ 2327, PT_SC, ucp_Nyiakeng_Puachue_Hmong },
{ 2348, PT_SC, ucp_Ogham },
{ 2353, PT_SC, ucp_Ogham },
{ 2359, PT_SC, ucp_Ol_Chiki },
{ 2367, PT_SC, ucp_Ol_Chiki },
{ 2372, PT_SC, ucp_Old_Hungarian },
{ 2385, PT_SC, ucp_Old_Italic },
{ 2395, PT_SC, ucp_Old_North_Arabian },
{ 2411, PT_SCX, ucp_Old_Permic },
{ 2421, PT_SC, ucp_Old_Persian },
{ 2432, PT_SC, ucp_Old_Sogdian },
{ 2443, PT_SC, ucp_Old_South_Arabian },
{ 2459, PT_SC, ucp_Old_Turkic },
{ 2469, PT_SCX, ucp_Old_Uyghur },
{ 2479, PT_SCX, ucp_Oriya },
{ 2485, PT_SC, ucp_Old_Turkic },
{ 2490, PT_SCX, ucp_Oriya },
{ 2495, PT_SC, ucp_Osage },
{ 2501, PT_SC, ucp_Osage },
{ 2506, PT_SC, ucp_Osmanya },
{ 2511, PT_SC, ucp_Osmanya },
{ 2519, PT_SCX, ucp_Old_Uyghur },
{ 2524, PT_GC, ucp_P },
{ 2526, PT_SC, ucp_Pahawh_Hmong },
{ 2538, PT_SC, ucp_Palmyrene },
{ 2543, PT_SC, ucp_Palmyrene },
{ 2553, PT_BOOL, ucp_Pattern_Syntax },
{ 2560, PT_BOOL, ucp_Pattern_Syntax },
{ 2574, PT_BOOL, ucp_Pattern_White_Space },
{ 2592, PT_BOOL, ucp_Pattern_White_Space },
{ 2598, PT_SC, ucp_Pau_Cin_Hau },
{ 2603, PT_SC, ucp_Pau_Cin_Hau },
{ 2613, PT_PC, ucp_Pc },
{ 2616, PT_BOOL, ucp_Prepended_Concatenation_Mark },
{ 2620, PT_PC, ucp_Pd },
{ 2623, PT_PC, ucp_Pe },
{ 2626, PT_SCX, ucp_Old_Permic },
{ 2631, PT_PC, ucp_Pf },
{ 2634, PT_SCX, ucp_Phags_Pa },
{ 2639, PT_SCX, ucp_Phags_Pa },
{ 2647, PT_SC, ucp_Inscriptional_Pahlavi },
{ 2652, PT_SCX, ucp_Psalter_Pahlavi },
{ 2657, PT_SC, ucp_Phoenician },
{ 2662, PT_SC, ucp_Phoenician },
{ 2673, PT_PC, ucp_Pi },
{ 2676, PT_SC, ucp_Miao },
{ 2681, PT_PC, ucp_Po },
{ 2684, PT_BOOL, ucp_Prepended_Concatenation_Mark },
{ 2711, PT_SC, ucp_Inscriptional_Parthian },
{ 2716, PT_PC, ucp_Ps },
{ 2719, PT_SCX, ucp_Psalter_Pahlavi },
{ 2734, PT_SCX, ucp_Coptic },
{ 2739, PT_SC, ucp_Inherited },
{ 2744, PT_BOOL, ucp_Quotation_Mark },
{ 2750, PT_BOOL, ucp_Quotation_Mark },
{ 2764, PT_BOOL, ucp_Radical },
{ 2772, PT_BOOL, ucp_Regional_Indicator },
{ 2790, PT_SC, ucp_Rejang },
{ 2797, PT_BOOL, ucp_Regional_Indicator },
{ 2800, PT_SC, ucp_Rejang },
{ 2805, PT_SCX, ucp_Hanifi_Rohingya },
{ 2810, PT_SC, ucp_Runic },
{ 2816, PT_SC, ucp_Runic },
{ 2821, PT_GC, ucp_S },
{ 2823, PT_SC, ucp_Samaritan },
{ 2833, PT_SC, ucp_Samaritan },
{ 2838, PT_SC, ucp_Old_South_Arabian },
{ 2843, PT_SC, ucp_Saurashtra },
{ 2848, PT_SC, ucp_Saurashtra },
{ 2859, PT_PC, ucp_Sc },
{ 2862, PT_BOOL, ucp_Soft_Dotted },
{ 2865, PT_BOOL, ucp_Sentence_Terminal },
{ 2882, PT_SC, ucp_SignWriting },
{ 2887, PT_SCX, ucp_Sharada },
{ 2895, PT_SC, ucp_Shavian },
{ 2903, PT_SC, ucp_Shavian },
{ 2908, PT_SCX, ucp_Sharada },
{ 2913, PT_SC, ucp_Siddham },
{ 2918, PT_SC, ucp_Siddham },
{ 2926, PT_SC, ucp_SignWriting },
{ 2938, PT_SCX, ucp_Khudawadi },
{ 2943, PT_SCX, ucp_Sinhala },
{ 2948, PT_SCX, ucp_Sinhala },
{ 2956, PT_PC, ucp_Sk },
{ 2959, PT_PC, ucp_Sm },
{ 2962, PT_PC, ucp_So },
{ 2965, PT_BOOL, ucp_Soft_Dotted },
{ 2976, PT_SCX, ucp_Sogdian },
{ 2981, PT_SCX, ucp_Sogdian },
{ 2989, PT_SC, ucp_Old_Sogdian },
{ 2994, PT_SC, ucp_Sora_Sompeng },
{ 2999, PT_SC, ucp_Sora_Sompeng },
{ 3011, PT_SC, ucp_Soyombo },
{ 3016, PT_SC, ucp_Soyombo },
{ 3024, PT_BOOL, ucp_White_Space },
{ 3030, PT_BOOL, ucp_Sentence_Terminal },
{ 3036, PT_SC, ucp_Sundanese },
{ 3041, PT_SC, ucp_Sundanese },
{ 3051, PT_SCX, ucp_Syloti_Nagri },
{ 3056, PT_SCX, ucp_Syloti_Nagri },
{ 3068, PT_SCX, ucp_Syriac },
{ 3073, PT_SCX, ucp_Syriac },
{ 3080, PT_SCX, ucp_Tagalog },
{ 3088, PT_SCX, ucp_Tagbanwa },
{ 3093, PT_SCX, ucp_Tagbanwa },
{ 3102, PT_SCX, ucp_Tai_Le },
{ 3108, PT_SC, ucp_Tai_Tham },
{ 3116, PT_SC, ucp_Tai_Viet },
{ 3124, PT_SCX, ucp_Takri },
{ 3129, PT_SCX, ucp_Takri },
{ 3135, PT_SCX, ucp_Tai_Le },
{ 3140, PT_SC, ucp_New_Tai_Lue },
{ 3145, PT_SCX, ucp_Tamil },
{ 3151, PT_SCX, ucp_Tamil },
{ 3156, PT_SC, ucp_Tangut },
{ 3161, PT_SC, ucp_Tangsa },
{ 3168, PT_SC, ucp_Tangut },
{ 3175, PT_SC, ucp_Tai_Viet },
{ 3180, PT_SCX, ucp_Telugu },
{ 3185, PT_SCX, ucp_Telugu },
{ 3192, PT_BOOL, ucp_Terminal_Punctuation },
{ 3197, PT_BOOL, ucp_Terminal_Punctuation },
{ 3217, PT_SC, ucp_Tifinagh },
{ 3222, PT_SCX, ucp_Tagalog },
{ 3227, PT_SCX, ucp_Thaana },
{ 3232, PT_SCX, ucp_Thaana },
{ 3239, PT_SC, ucp_Thai },
{ 3244, PT_SC, ucp_Tibetan },
{ 3252, PT_SC, ucp_Tibetan },
{ 3257, PT_SC, ucp_Tifinagh },
{ 3266, PT_SCX, ucp_Tirhuta },
{ 3271, PT_SCX, ucp_Tirhuta },
{ 3279, PT_SC, ucp_Tangsa },
{ 3284, PT_SC, ucp_Toto },
{ 3289, PT_SC, ucp_Ugaritic },
{ 3294, PT_SC, ucp_Ugaritic },
{ 3303, PT_BOOL, ucp_Unified_Ideograph },
{ 3309, PT_BOOL, ucp_Unified_Ideograph },
{ 3326, PT_SC, ucp_Unknown },
{ 3334, PT_BOOL, ucp_Uppercase },
{ 3340, PT_BOOL, ucp_Uppercase },
{ 3350, PT_SC, ucp_Vai },
{ 3354, PT_SC, ucp_Vai },
{ 3359, PT_BOOL, ucp_Variation_Selector },
{ 3377, PT_SC, ucp_Vithkuqi },
{ 3382, PT_SC, ucp_Vithkuqi },
{ 3391, PT_BOOL, ucp_Variation_Selector },
{ 3394, PT_SC, ucp_Wancho },
{ 3401, PT_SC, ucp_Warang_Citi },
{ 3406, PT_SC, ucp_Warang_Citi },
{ 3417, PT_SC, ucp_Wancho },
{ 3422, PT_BOOL, ucp_White_Space },
{ 3433, PT_BOOL, ucp_White_Space },
{ 3440, PT_ALNUM, 0 },
{ 3444, PT_BOOL, ucp_XID_Continue },
{ 3449, PT_BOOL, ucp_XID_Continue },
{ 3461, PT_BOOL, ucp_XID_Start },
{ 3466, PT_BOOL, ucp_XID_Start },
{ 3475, PT_SC, ucp_Old_Persian },
{ 3480, PT_PXSPACE, 0 },
{ 3484, PT_SPACE, 0 },
{ 3488, PT_SC, ucp_Cuneiform },
{ 3493, PT_UCNC, 0 },
{ 3497, PT_WORD, 0 },
{ 3501, PT_SCX, ucp_Yezidi },
{ 3506, PT_SCX, ucp_Yezidi },
{ 3513, PT_SCX, ucp_Yi },
{ 3516, PT_SCX, ucp_Yi },
{ 3521, PT_GC, ucp_Z },
{ 3523, PT_SC, ucp_Zanabazar_Square },
{ 3539, PT_SC, ucp_Zanabazar_Square },
{ 3544, PT_SC, ucp_Inherited },
{ 3549, PT_PC, ucp_Zl },
{ 3552, PT_PC, ucp_Zp },
{ 3555, PT_PC, ucp_Zs },
{ 3558, PT_SC, ucp_Common },
{ 3563, PT_SC, ucp_Unknown }
};
const size_t PRIV(utt_size) = sizeof(PRIV(utt)) / sizeof(ucp_type_table);