Do bidi synonyms properly
This commit is contained in:
parent
194a15315a
commit
1d432ee3cf
|
@ -109,10 +109,11 @@ utt_table += list(zip(std_category_names, category_names, ['PT_PC'] * len(catego
|
||||||
utt_table += list(zip(std_general_category_names, general_category_names, ['PT_GC'] * len(general_category_names)))
|
utt_table += list(zip(std_general_category_names, general_category_names, ['PT_GC'] * len(general_category_names)))
|
||||||
utt_table += list(zip(std_bidiclass_names, bidiclass_names, ['PT_BIDICL'] * len(bidiclass_names)))
|
utt_table += list(zip(std_bidiclass_names, bidiclass_names, ['PT_BIDICL'] * len(bidiclass_names)))
|
||||||
|
|
||||||
# Now add our own specials. Note both the standardized and capitalized forms
|
# Now add our own specials and synonyms. Note both the standardized and
|
||||||
# are needed.
|
# capitalized forms are needed.
|
||||||
|
|
||||||
utt_table.append(('any', 'Any', 'PT_ANY'))
|
utt_table.append(('any', 'Any', 'PT_ANY'))
|
||||||
|
utt_table.append(('bidic', 'BidiC', 'PT_BIDICO'))
|
||||||
utt_table.append(('bidicontrol', 'Bidi_Control', 'PT_BIDICO'))
|
utt_table.append(('bidicontrol', 'Bidi_Control', 'PT_BIDICO'))
|
||||||
utt_table.append(('l&', 'L&', 'PT_LAMP'))
|
utt_table.append(('l&', 'L&', 'PT_LAMP'))
|
||||||
utt_table.append(('lc', 'LC', 'PT_LAMP'))
|
utt_table.append(('lc', 'LC', 'PT_LAMP'))
|
||||||
|
|
|
@ -690,15 +690,6 @@ static uint32_t chartypeoffset[] = {
|
||||||
OP_STAR - OP_STAR, OP_STARI - OP_STAR,
|
OP_STAR - OP_STAR, OP_STARI - OP_STAR,
|
||||||
OP_NOTSTAR - OP_STAR, OP_NOTSTARI - OP_STAR };
|
OP_NOTSTAR - OP_STAR, OP_NOTSTARI - OP_STAR };
|
||||||
|
|
||||||
/* Table of synonyms for Unicode properties. Each pair has the synonym first,
|
|
||||||
followed by the name that's in the UCD table (lower case, no hyphens,
|
|
||||||
underscores, or spaces). */
|
|
||||||
|
|
||||||
static const char *prop_synonyms[] = {
|
|
||||||
"bc", "bidiclass",
|
|
||||||
"bidic", "bidicontrol"
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Tables of names of POSIX character classes and their lengths. The names are
|
/* Tables of names of POSIX character classes and their lengths. The names are
|
||||||
now all in a single string, to reduce the number of relocations when a shared
|
now all in a single string, to reduce the number of relocations when a shared
|
||||||
library is dynamically loaded. The list of lengths is terminated by a zero
|
library is dynamically loaded. The list of lengths is terminated by a zero
|
||||||
|
@ -2131,35 +2122,6 @@ if (c == CHAR_LEFT_CURLY_BRACKET)
|
||||||
}
|
}
|
||||||
if (c != CHAR_RIGHT_CURLY_BRACKET) goto ERROR_RETURN;
|
if (c != CHAR_RIGHT_CURLY_BRACKET) goto ERROR_RETURN;
|
||||||
name[i] = 0;
|
name[i] = 0;
|
||||||
|
|
||||||
/* Implement a general synonym feature for class names. */
|
|
||||||
|
|
||||||
if (vptr != NULL) *vptr = 0; /* Terminate class name */
|
|
||||||
|
|
||||||
bot = 0;
|
|
||||||
top = sizeof(prop_synonyms)/sizeof(char *);
|
|
||||||
|
|
||||||
while (top != bot)
|
|
||||||
{
|
|
||||||
size_t mid = ((top + bot)/2) & (size_t)(~2+1); /* Mask off bottom bit */
|
|
||||||
int cf = PRIV(strcmp_c8)(name, prop_synonyms[mid]);
|
|
||||||
if (cf == 0)
|
|
||||||
{
|
|
||||||
const char *s = prop_synonyms[mid+1];
|
|
||||||
size_t slen = strlen(s);
|
|
||||||
if (vptr != NULL)
|
|
||||||
{
|
|
||||||
size_t vlen = name + i - vptr;
|
|
||||||
memmove(name + slen + 1, vptr + 1, (vlen + 1) * sizeof(PCRE2_UCHAR));
|
|
||||||
vptr = name + slen;
|
|
||||||
i = slen + vlen + 1;
|
|
||||||
}
|
|
||||||
for (size_t k = 0; k <= slen; k++) name[k] = s[k];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cf > 0) bot = mid + 2; else top = mid;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If { doesn't follow \p or \P there is just one following character, which
|
/* If { doesn't follow \p or \P there is just one following character, which
|
||||||
|
@ -2175,17 +2137,22 @@ else goto ERROR_RETURN;
|
||||||
*ptrptr = ptr;
|
*ptrptr = ptr;
|
||||||
|
|
||||||
/* If the property contains ':' or '=' we have class name and value separately
|
/* If the property contains ':' or '=' we have class name and value separately
|
||||||
specified. The only case currently supported is Bidi_Class, for which the
|
specified. The only case currently supported is Bidi_Class (synonym BC), for
|
||||||
property names are "bidi<name>". */
|
which the property names are "bidi<name>". */
|
||||||
|
|
||||||
if (vptr != NULL)
|
if (vptr != NULL)
|
||||||
{
|
{
|
||||||
if (PRIV(strcmp_c8)(name, "bidiclass") != 0)
|
*vptr = 0; /* Terminate property name */
|
||||||
|
if (PRIV(strcmp_c8)(name, "bidiclass") != 0 &&
|
||||||
|
PRIV(strcmp_c8)(name, "bc") != 0)
|
||||||
{
|
{
|
||||||
*errorcodeptr = ERR47;
|
*errorcodeptr = ERR47;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
memmove(name + 4, vptr + 1, (name + i - vptr)*sizeof(PCRE2_UCHAR));
|
memmove(name + 4, vptr + 1, (name + i - vptr)*sizeof(PCRE2_UCHAR));
|
||||||
|
name[1] = 'i'; /* Can't use PRIV(strcpy)() because it adds 0 */
|
||||||
|
name[2] = 'd';
|
||||||
|
name[3] = 'i';
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search for a recognized property name using binary chop. */
|
/* Search for a recognized property name using binary chop. */
|
||||||
|
|
|
@ -259,6 +259,7 @@ that Unicode advises and Perl uses. */
|
||||||
#define STRING_bidian0 STR_b STR_i STR_d STR_i STR_a STR_n "\0"
|
#define STRING_bidian0 STR_b STR_i STR_d STR_i STR_a STR_n "\0"
|
||||||
#define STRING_bidib0 STR_b STR_i STR_d STR_i STR_b "\0"
|
#define STRING_bidib0 STR_b STR_i STR_d STR_i STR_b "\0"
|
||||||
#define STRING_bidibn0 STR_b STR_i STR_d STR_i STR_b STR_n "\0"
|
#define STRING_bidibn0 STR_b STR_i STR_d STR_i STR_b STR_n "\0"
|
||||||
|
#define STRING_bidic0 STR_b STR_i STR_d STR_i STR_c "\0"
|
||||||
#define STRING_bidicontrol0 STR_b STR_i STR_d STR_i STR_c STR_o STR_n STR_t STR_r STR_o STR_l "\0"
|
#define STRING_bidicontrol0 STR_b STR_i STR_d STR_i STR_c STR_o STR_n STR_t STR_r STR_o STR_l "\0"
|
||||||
#define STRING_bidics0 STR_b STR_i STR_d STR_i STR_c STR_s "\0"
|
#define STRING_bidics0 STR_b STR_i STR_d STR_i STR_c STR_s "\0"
|
||||||
#define STRING_bidien0 STR_b STR_i STR_d STR_i STR_e STR_n "\0"
|
#define STRING_bidien0 STR_b STR_i STR_d STR_i STR_e STR_n "\0"
|
||||||
|
@ -492,6 +493,7 @@ const char PRIV(utt_names)[] =
|
||||||
STRING_bidian0
|
STRING_bidian0
|
||||||
STRING_bidib0
|
STRING_bidib0
|
||||||
STRING_bidibn0
|
STRING_bidibn0
|
||||||
|
STRING_bidic0
|
||||||
STRING_bidicontrol0
|
STRING_bidicontrol0
|
||||||
STRING_bidics0
|
STRING_bidics0
|
||||||
STRING_bidien0
|
STRING_bidien0
|
||||||
|
@ -726,219 +728,220 @@ const ucp_type_table PRIV(utt)[] = {
|
||||||
{ 122, PT_BIDICL, ucp_bidiB },
|
{ 122, PT_BIDICL, ucp_bidiB },
|
||||||
{ 128, PT_BIDICL, ucp_bidiBN },
|
{ 128, PT_BIDICL, ucp_bidiBN },
|
||||||
{ 135, PT_BIDICO, 0 },
|
{ 135, PT_BIDICO, 0 },
|
||||||
{ 147, PT_BIDICL, ucp_bidiCS },
|
{ 141, PT_BIDICO, 0 },
|
||||||
{ 154, PT_BIDICL, ucp_bidiEN },
|
{ 153, PT_BIDICL, ucp_bidiCS },
|
||||||
{ 161, PT_BIDICL, ucp_bidiES },
|
{ 160, PT_BIDICL, ucp_bidiEN },
|
||||||
{ 168, PT_BIDICL, ucp_bidiET },
|
{ 167, PT_BIDICL, ucp_bidiES },
|
||||||
{ 175, PT_BIDICL, ucp_bidiFSI },
|
{ 174, PT_BIDICL, ucp_bidiET },
|
||||||
{ 183, PT_BIDICL, ucp_bidiL },
|
{ 181, PT_BIDICL, ucp_bidiFSI },
|
||||||
{ 189, PT_BIDICL, ucp_bidiLRE },
|
{ 189, PT_BIDICL, ucp_bidiL },
|
||||||
{ 197, PT_BIDICL, ucp_bidiLRI },
|
{ 195, PT_BIDICL, ucp_bidiLRE },
|
||||||
{ 205, PT_BIDICL, ucp_bidiLRO },
|
{ 203, PT_BIDICL, ucp_bidiLRI },
|
||||||
{ 213, PT_BIDICL, ucp_bidiNSM },
|
{ 211, PT_BIDICL, ucp_bidiLRO },
|
||||||
{ 221, PT_BIDICL, ucp_bidiON },
|
{ 219, PT_BIDICL, ucp_bidiNSM },
|
||||||
{ 228, PT_BIDICL, ucp_bidiPDF },
|
{ 227, PT_BIDICL, ucp_bidiON },
|
||||||
{ 236, PT_BIDICL, ucp_bidiPDI },
|
{ 234, PT_BIDICL, ucp_bidiPDF },
|
||||||
{ 244, PT_BIDICL, ucp_bidiR },
|
{ 242, PT_BIDICL, ucp_bidiPDI },
|
||||||
{ 250, PT_BIDICL, ucp_bidiRLE },
|
{ 250, PT_BIDICL, ucp_bidiR },
|
||||||
{ 258, PT_BIDICL, ucp_bidiRLI },
|
{ 256, PT_BIDICL, ucp_bidiRLE },
|
||||||
{ 266, PT_BIDICL, ucp_bidiRLO },
|
{ 264, PT_BIDICL, ucp_bidiRLI },
|
||||||
{ 274, PT_BIDICL, ucp_bidiS },
|
{ 272, PT_BIDICL, ucp_bidiRLO },
|
||||||
{ 280, PT_BIDICL, ucp_bidiWS },
|
{ 280, PT_BIDICL, ucp_bidiS },
|
||||||
{ 287, PT_SC, ucp_Bopomofo },
|
{ 286, PT_BIDICL, ucp_bidiWS },
|
||||||
{ 296, PT_SC, ucp_Brahmi },
|
{ 293, PT_SC, ucp_Bopomofo },
|
||||||
{ 303, PT_SC, ucp_Braille },
|
{ 302, PT_SC, ucp_Brahmi },
|
||||||
{ 311, PT_SC, ucp_Buginese },
|
{ 309, PT_SC, ucp_Braille },
|
||||||
{ 320, PT_SC, ucp_Buhid },
|
{ 317, PT_SC, ucp_Buginese },
|
||||||
{ 326, PT_GC, ucp_C },
|
{ 326, PT_SC, ucp_Buhid },
|
||||||
{ 328, PT_SC, ucp_Canadian_Aboriginal },
|
{ 332, PT_GC, ucp_C },
|
||||||
{ 347, PT_SC, ucp_Carian },
|
{ 334, PT_SC, ucp_Canadian_Aboriginal },
|
||||||
{ 354, PT_SC, ucp_Caucasian_Albanian },
|
{ 353, PT_SC, ucp_Carian },
|
||||||
{ 372, PT_PC, ucp_Cc },
|
{ 360, PT_SC, ucp_Caucasian_Albanian },
|
||||||
{ 375, PT_PC, ucp_Cf },
|
{ 378, PT_PC, ucp_Cc },
|
||||||
{ 378, PT_SC, ucp_Chakma },
|
{ 381, PT_PC, ucp_Cf },
|
||||||
{ 385, PT_SC, ucp_Cham },
|
{ 384, PT_SC, ucp_Chakma },
|
||||||
{ 390, PT_SC, ucp_Cherokee },
|
{ 391, PT_SC, ucp_Cham },
|
||||||
{ 399, PT_SC, ucp_Chorasmian },
|
{ 396, PT_SC, ucp_Cherokee },
|
||||||
{ 410, PT_PC, ucp_Cn },
|
{ 405, PT_SC, ucp_Chorasmian },
|
||||||
{ 413, PT_PC, ucp_Co },
|
{ 416, PT_PC, ucp_Cn },
|
||||||
{ 416, PT_SC, ucp_Common },
|
{ 419, PT_PC, ucp_Co },
|
||||||
{ 423, PT_SC, ucp_Coptic },
|
{ 422, PT_SC, ucp_Common },
|
||||||
{ 430, PT_PC, ucp_Cs },
|
{ 429, PT_SC, ucp_Coptic },
|
||||||
{ 433, PT_SC, ucp_Cuneiform },
|
{ 436, PT_PC, ucp_Cs },
|
||||||
{ 443, PT_SC, ucp_Cypriot },
|
{ 439, PT_SC, ucp_Cuneiform },
|
||||||
{ 451, PT_SC, ucp_Cypro_Minoan },
|
{ 449, PT_SC, ucp_Cypriot },
|
||||||
{ 463, PT_SC, ucp_Cyrillic },
|
{ 457, PT_SC, ucp_Cypro_Minoan },
|
||||||
{ 472, PT_SC, ucp_Deseret },
|
{ 469, PT_SC, ucp_Cyrillic },
|
||||||
{ 480, PT_SC, ucp_Devanagari },
|
{ 478, PT_SC, ucp_Deseret },
|
||||||
{ 491, PT_SC, ucp_Dives_Akuru },
|
{ 486, PT_SC, ucp_Devanagari },
|
||||||
{ 502, PT_SC, ucp_Dogra },
|
{ 497, PT_SC, ucp_Dives_Akuru },
|
||||||
{ 508, PT_SC, ucp_Duployan },
|
{ 508, PT_SC, ucp_Dogra },
|
||||||
{ 517, PT_SC, ucp_Egyptian_Hieroglyphs },
|
{ 514, PT_SC, ucp_Duployan },
|
||||||
{ 537, PT_SC, ucp_Elbasan },
|
{ 523, PT_SC, ucp_Egyptian_Hieroglyphs },
|
||||||
{ 545, PT_SC, ucp_Elymaic },
|
{ 543, PT_SC, ucp_Elbasan },
|
||||||
{ 553, PT_SC, ucp_Ethiopic },
|
{ 551, PT_SC, ucp_Elymaic },
|
||||||
{ 562, PT_SC, ucp_Georgian },
|
{ 559, PT_SC, ucp_Ethiopic },
|
||||||
{ 571, PT_SC, ucp_Glagolitic },
|
{ 568, PT_SC, ucp_Georgian },
|
||||||
{ 582, PT_SC, ucp_Gothic },
|
{ 577, PT_SC, ucp_Glagolitic },
|
||||||
{ 589, PT_SC, ucp_Grantha },
|
{ 588, PT_SC, ucp_Gothic },
|
||||||
{ 597, PT_SC, ucp_Greek },
|
{ 595, PT_SC, ucp_Grantha },
|
||||||
{ 603, PT_SC, ucp_Gujarati },
|
{ 603, PT_SC, ucp_Greek },
|
||||||
{ 612, PT_SC, ucp_Gunjala_Gondi },
|
{ 609, PT_SC, ucp_Gujarati },
|
||||||
{ 625, PT_SC, ucp_Gurmukhi },
|
{ 618, PT_SC, ucp_Gunjala_Gondi },
|
||||||
{ 634, PT_SC, ucp_Han },
|
{ 631, PT_SC, ucp_Gurmukhi },
|
||||||
{ 638, PT_SC, ucp_Hangul },
|
{ 640, PT_SC, ucp_Han },
|
||||||
{ 645, PT_SC, ucp_Hanifi_Rohingya },
|
{ 644, PT_SC, ucp_Hangul },
|
||||||
{ 660, PT_SC, ucp_Hanunoo },
|
{ 651, PT_SC, ucp_Hanifi_Rohingya },
|
||||||
{ 668, PT_SC, ucp_Hatran },
|
{ 666, PT_SC, ucp_Hanunoo },
|
||||||
{ 675, PT_SC, ucp_Hebrew },
|
{ 674, PT_SC, ucp_Hatran },
|
||||||
{ 682, PT_SC, ucp_Hiragana },
|
{ 681, PT_SC, ucp_Hebrew },
|
||||||
{ 691, PT_SC, ucp_Imperial_Aramaic },
|
{ 688, PT_SC, ucp_Hiragana },
|
||||||
{ 707, PT_SC, ucp_Inherited },
|
{ 697, PT_SC, ucp_Imperial_Aramaic },
|
||||||
{ 717, PT_SC, ucp_Inscriptional_Pahlavi },
|
{ 713, PT_SC, ucp_Inherited },
|
||||||
{ 738, PT_SC, ucp_Inscriptional_Parthian },
|
{ 723, PT_SC, ucp_Inscriptional_Pahlavi },
|
||||||
{ 760, PT_SC, ucp_Javanese },
|
{ 744, PT_SC, ucp_Inscriptional_Parthian },
|
||||||
{ 769, PT_SC, ucp_Kaithi },
|
{ 766, PT_SC, ucp_Javanese },
|
||||||
{ 776, PT_SC, ucp_Kannada },
|
{ 775, PT_SC, ucp_Kaithi },
|
||||||
{ 784, PT_SC, ucp_Katakana },
|
{ 782, PT_SC, ucp_Kannada },
|
||||||
{ 793, PT_SC, ucp_Kayah_Li },
|
{ 790, PT_SC, ucp_Katakana },
|
||||||
{ 801, PT_SC, ucp_Kharoshthi },
|
{ 799, PT_SC, ucp_Kayah_Li },
|
||||||
{ 812, PT_SC, ucp_Khitan_Small_Script },
|
{ 807, PT_SC, ucp_Kharoshthi },
|
||||||
{ 830, PT_SC, ucp_Khmer },
|
{ 818, PT_SC, ucp_Khitan_Small_Script },
|
||||||
{ 836, PT_SC, ucp_Khojki },
|
{ 836, PT_SC, ucp_Khmer },
|
||||||
{ 843, PT_SC, ucp_Khudawadi },
|
{ 842, PT_SC, ucp_Khojki },
|
||||||
{ 853, PT_GC, ucp_L },
|
{ 849, PT_SC, ucp_Khudawadi },
|
||||||
{ 855, PT_LAMP, 0 },
|
{ 859, PT_GC, ucp_L },
|
||||||
{ 858, PT_SC, ucp_Lao },
|
{ 861, PT_LAMP, 0 },
|
||||||
{ 862, PT_SC, ucp_Latin },
|
{ 864, PT_SC, ucp_Lao },
|
||||||
{ 868, PT_LAMP, 0 },
|
{ 868, PT_SC, ucp_Latin },
|
||||||
{ 871, PT_SC, ucp_Lepcha },
|
{ 874, PT_LAMP, 0 },
|
||||||
{ 878, PT_SC, ucp_Limbu },
|
{ 877, PT_SC, ucp_Lepcha },
|
||||||
{ 884, PT_SC, ucp_Linear_A },
|
{ 884, PT_SC, ucp_Limbu },
|
||||||
{ 892, PT_SC, ucp_Linear_B },
|
{ 890, PT_SC, ucp_Linear_A },
|
||||||
{ 900, PT_SC, ucp_Lisu },
|
{ 898, PT_SC, ucp_Linear_B },
|
||||||
{ 905, PT_PC, ucp_Ll },
|
{ 906, PT_SC, ucp_Lisu },
|
||||||
{ 908, PT_PC, ucp_Lm },
|
{ 911, PT_PC, ucp_Ll },
|
||||||
{ 911, PT_PC, ucp_Lo },
|
{ 914, PT_PC, ucp_Lm },
|
||||||
{ 914, PT_PC, ucp_Lt },
|
{ 917, PT_PC, ucp_Lo },
|
||||||
{ 917, PT_PC, ucp_Lu },
|
{ 920, PT_PC, ucp_Lt },
|
||||||
{ 920, PT_SC, ucp_Lycian },
|
{ 923, PT_PC, ucp_Lu },
|
||||||
{ 927, PT_SC, ucp_Lydian },
|
{ 926, PT_SC, ucp_Lycian },
|
||||||
{ 934, PT_GC, ucp_M },
|
{ 933, PT_SC, ucp_Lydian },
|
||||||
{ 936, PT_SC, ucp_Mahajani },
|
{ 940, PT_GC, ucp_M },
|
||||||
{ 945, PT_SC, ucp_Makasar },
|
{ 942, PT_SC, ucp_Mahajani },
|
||||||
{ 953, PT_SC, ucp_Malayalam },
|
{ 951, PT_SC, ucp_Makasar },
|
||||||
{ 963, PT_SC, ucp_Mandaic },
|
{ 959, PT_SC, ucp_Malayalam },
|
||||||
{ 971, PT_SC, ucp_Manichaean },
|
{ 969, PT_SC, ucp_Mandaic },
|
||||||
{ 982, PT_SC, ucp_Marchen },
|
{ 977, PT_SC, ucp_Manichaean },
|
||||||
{ 990, PT_SC, ucp_Masaram_Gondi },
|
{ 988, PT_SC, ucp_Marchen },
|
||||||
{ 1003, PT_PC, ucp_Mc },
|
{ 996, PT_SC, ucp_Masaram_Gondi },
|
||||||
{ 1006, PT_PC, ucp_Me },
|
{ 1009, PT_PC, ucp_Mc },
|
||||||
{ 1009, PT_SC, ucp_Medefaidrin },
|
{ 1012, PT_PC, ucp_Me },
|
||||||
{ 1021, PT_SC, ucp_Meetei_Mayek },
|
{ 1015, PT_SC, ucp_Medefaidrin },
|
||||||
{ 1033, PT_SC, ucp_Mende_Kikakui },
|
{ 1027, PT_SC, ucp_Meetei_Mayek },
|
||||||
{ 1046, PT_SC, ucp_Meroitic_Cursive },
|
{ 1039, PT_SC, ucp_Mende_Kikakui },
|
||||||
{ 1062, PT_SC, ucp_Meroitic_Hieroglyphs },
|
{ 1052, PT_SC, ucp_Meroitic_Cursive },
|
||||||
{ 1082, PT_SC, ucp_Miao },
|
{ 1068, PT_SC, ucp_Meroitic_Hieroglyphs },
|
||||||
{ 1087, PT_PC, ucp_Mn },
|
{ 1088, PT_SC, ucp_Miao },
|
||||||
{ 1090, PT_SC, ucp_Modi },
|
{ 1093, PT_PC, ucp_Mn },
|
||||||
{ 1095, PT_SC, ucp_Mongolian },
|
{ 1096, PT_SC, ucp_Modi },
|
||||||
{ 1105, PT_SC, ucp_Mro },
|
{ 1101, PT_SC, ucp_Mongolian },
|
||||||
{ 1109, PT_SC, ucp_Multani },
|
{ 1111, PT_SC, ucp_Mro },
|
||||||
{ 1117, PT_SC, ucp_Myanmar },
|
{ 1115, PT_SC, ucp_Multani },
|
||||||
{ 1125, PT_GC, ucp_N },
|
{ 1123, PT_SC, ucp_Myanmar },
|
||||||
{ 1127, PT_SC, ucp_Nabataean },
|
{ 1131, PT_GC, ucp_N },
|
||||||
{ 1137, PT_SC, ucp_Nandinagari },
|
{ 1133, PT_SC, ucp_Nabataean },
|
||||||
{ 1149, PT_PC, ucp_Nd },
|
{ 1143, PT_SC, ucp_Nandinagari },
|
||||||
{ 1152, PT_SC, ucp_Newa },
|
{ 1155, PT_PC, ucp_Nd },
|
||||||
{ 1157, PT_SC, ucp_New_Tai_Lue },
|
{ 1158, PT_SC, ucp_Newa },
|
||||||
{ 1167, PT_SC, ucp_Nko },
|
{ 1163, PT_SC, ucp_New_Tai_Lue },
|
||||||
{ 1171, PT_PC, ucp_Nl },
|
{ 1173, PT_SC, ucp_Nko },
|
||||||
{ 1174, PT_PC, ucp_No },
|
{ 1177, PT_PC, ucp_Nl },
|
||||||
{ 1177, PT_SC, ucp_Nushu },
|
{ 1180, PT_PC, ucp_No },
|
||||||
{ 1183, PT_SC, ucp_Nyiakeng_Puachue_Hmong },
|
{ 1183, PT_SC, ucp_Nushu },
|
||||||
{ 1204, PT_SC, ucp_Ogham },
|
{ 1189, PT_SC, ucp_Nyiakeng_Puachue_Hmong },
|
||||||
{ 1210, PT_SC, ucp_Ol_Chiki },
|
{ 1210, PT_SC, ucp_Ogham },
|
||||||
{ 1218, PT_SC, ucp_Old_Hungarian },
|
{ 1216, PT_SC, ucp_Ol_Chiki },
|
||||||
{ 1231, PT_SC, ucp_Old_Italic },
|
{ 1224, PT_SC, ucp_Old_Hungarian },
|
||||||
{ 1241, PT_SC, ucp_Old_North_Arabian },
|
{ 1237, PT_SC, ucp_Old_Italic },
|
||||||
{ 1257, PT_SC, ucp_Old_Permic },
|
{ 1247, PT_SC, ucp_Old_North_Arabian },
|
||||||
{ 1267, PT_SC, ucp_Old_Persian },
|
{ 1263, PT_SC, ucp_Old_Permic },
|
||||||
{ 1278, PT_SC, ucp_Old_Sogdian },
|
{ 1273, PT_SC, ucp_Old_Persian },
|
||||||
{ 1289, PT_SC, ucp_Old_South_Arabian },
|
{ 1284, PT_SC, ucp_Old_Sogdian },
|
||||||
{ 1305, PT_SC, ucp_Old_Turkic },
|
{ 1295, PT_SC, ucp_Old_South_Arabian },
|
||||||
{ 1315, PT_SC, ucp_Old_Uyghur },
|
{ 1311, PT_SC, ucp_Old_Turkic },
|
||||||
{ 1325, PT_SC, ucp_Oriya },
|
{ 1321, PT_SC, ucp_Old_Uyghur },
|
||||||
{ 1331, PT_SC, ucp_Osage },
|
{ 1331, PT_SC, ucp_Oriya },
|
||||||
{ 1337, PT_SC, ucp_Osmanya },
|
{ 1337, PT_SC, ucp_Osage },
|
||||||
{ 1345, PT_GC, ucp_P },
|
{ 1343, PT_SC, ucp_Osmanya },
|
||||||
{ 1347, PT_SC, ucp_Pahawh_Hmong },
|
{ 1351, PT_GC, ucp_P },
|
||||||
{ 1359, PT_SC, ucp_Palmyrene },
|
{ 1353, PT_SC, ucp_Pahawh_Hmong },
|
||||||
{ 1369, PT_SC, ucp_Pau_Cin_Hau },
|
{ 1365, PT_SC, ucp_Palmyrene },
|
||||||
{ 1379, PT_PC, ucp_Pc },
|
{ 1375, PT_SC, ucp_Pau_Cin_Hau },
|
||||||
{ 1382, PT_PC, ucp_Pd },
|
{ 1385, PT_PC, ucp_Pc },
|
||||||
{ 1385, PT_PC, ucp_Pe },
|
{ 1388, PT_PC, ucp_Pd },
|
||||||
{ 1388, PT_PC, ucp_Pf },
|
{ 1391, PT_PC, ucp_Pe },
|
||||||
{ 1391, PT_SC, ucp_Phags_Pa },
|
{ 1394, PT_PC, ucp_Pf },
|
||||||
{ 1399, PT_SC, ucp_Phoenician },
|
{ 1397, PT_SC, ucp_Phags_Pa },
|
||||||
{ 1410, PT_PC, ucp_Pi },
|
{ 1405, PT_SC, ucp_Phoenician },
|
||||||
{ 1413, PT_PC, ucp_Po },
|
{ 1416, PT_PC, ucp_Pi },
|
||||||
{ 1416, PT_PC, ucp_Ps },
|
{ 1419, PT_PC, ucp_Po },
|
||||||
{ 1419, PT_SC, ucp_Psalter_Pahlavi },
|
{ 1422, PT_PC, ucp_Ps },
|
||||||
{ 1434, PT_SC, ucp_Rejang },
|
{ 1425, PT_SC, ucp_Psalter_Pahlavi },
|
||||||
{ 1441, PT_SC, ucp_Runic },
|
{ 1440, PT_SC, ucp_Rejang },
|
||||||
{ 1447, PT_GC, ucp_S },
|
{ 1447, PT_SC, ucp_Runic },
|
||||||
{ 1449, PT_SC, ucp_Samaritan },
|
{ 1453, PT_GC, ucp_S },
|
||||||
{ 1459, PT_SC, ucp_Saurashtra },
|
{ 1455, PT_SC, ucp_Samaritan },
|
||||||
{ 1470, PT_PC, ucp_Sc },
|
{ 1465, PT_SC, ucp_Saurashtra },
|
||||||
{ 1473, PT_SC, ucp_Sharada },
|
{ 1476, PT_PC, ucp_Sc },
|
||||||
{ 1481, PT_SC, ucp_Shavian },
|
{ 1479, PT_SC, ucp_Sharada },
|
||||||
{ 1489, PT_SC, ucp_Siddham },
|
{ 1487, PT_SC, ucp_Shavian },
|
||||||
{ 1497, PT_SC, ucp_SignWriting },
|
{ 1495, PT_SC, ucp_Siddham },
|
||||||
{ 1509, PT_SC, ucp_Sinhala },
|
{ 1503, PT_SC, ucp_SignWriting },
|
||||||
{ 1517, PT_PC, ucp_Sk },
|
{ 1515, PT_SC, ucp_Sinhala },
|
||||||
{ 1520, PT_PC, ucp_Sm },
|
{ 1523, PT_PC, ucp_Sk },
|
||||||
{ 1523, PT_PC, ucp_So },
|
{ 1526, PT_PC, ucp_Sm },
|
||||||
{ 1526, PT_SC, ucp_Sogdian },
|
{ 1529, PT_PC, ucp_So },
|
||||||
{ 1534, PT_SC, ucp_Sora_Sompeng },
|
{ 1532, PT_SC, ucp_Sogdian },
|
||||||
{ 1546, PT_SC, ucp_Soyombo },
|
{ 1540, PT_SC, ucp_Sora_Sompeng },
|
||||||
{ 1554, PT_SC, ucp_Sundanese },
|
{ 1552, PT_SC, ucp_Soyombo },
|
||||||
{ 1564, PT_SC, ucp_Syloti_Nagri },
|
{ 1560, PT_SC, ucp_Sundanese },
|
||||||
{ 1576, PT_SC, ucp_Syriac },
|
{ 1570, PT_SC, ucp_Syloti_Nagri },
|
||||||
{ 1583, PT_SC, ucp_Tagalog },
|
{ 1582, PT_SC, ucp_Syriac },
|
||||||
{ 1591, PT_SC, ucp_Tagbanwa },
|
{ 1589, PT_SC, ucp_Tagalog },
|
||||||
{ 1600, PT_SC, ucp_Tai_Le },
|
{ 1597, PT_SC, ucp_Tagbanwa },
|
||||||
{ 1606, PT_SC, ucp_Tai_Tham },
|
{ 1606, PT_SC, ucp_Tai_Le },
|
||||||
{ 1614, PT_SC, ucp_Tai_Viet },
|
{ 1612, PT_SC, ucp_Tai_Tham },
|
||||||
{ 1622, PT_SC, ucp_Takri },
|
{ 1620, PT_SC, ucp_Tai_Viet },
|
||||||
{ 1628, PT_SC, ucp_Tamil },
|
{ 1628, PT_SC, ucp_Takri },
|
||||||
{ 1634, PT_SC, ucp_Tangsa },
|
{ 1634, PT_SC, ucp_Tamil },
|
||||||
{ 1641, PT_SC, ucp_Tangut },
|
{ 1640, PT_SC, ucp_Tangsa },
|
||||||
{ 1648, PT_SC, ucp_Telugu },
|
{ 1647, PT_SC, ucp_Tangut },
|
||||||
{ 1655, PT_SC, ucp_Thaana },
|
{ 1654, PT_SC, ucp_Telugu },
|
||||||
{ 1662, PT_SC, ucp_Thai },
|
{ 1661, PT_SC, ucp_Thaana },
|
||||||
{ 1667, PT_SC, ucp_Tibetan },
|
{ 1668, PT_SC, ucp_Thai },
|
||||||
{ 1675, PT_SC, ucp_Tifinagh },
|
{ 1673, PT_SC, ucp_Tibetan },
|
||||||
{ 1684, PT_SC, ucp_Tirhuta },
|
{ 1681, PT_SC, ucp_Tifinagh },
|
||||||
{ 1692, PT_SC, ucp_Toto },
|
{ 1690, PT_SC, ucp_Tirhuta },
|
||||||
{ 1697, PT_SC, ucp_Ugaritic },
|
{ 1698, PT_SC, ucp_Toto },
|
||||||
{ 1706, PT_SC, ucp_Unknown },
|
{ 1703, PT_SC, ucp_Ugaritic },
|
||||||
{ 1714, PT_SC, ucp_Vai },
|
{ 1712, PT_SC, ucp_Unknown },
|
||||||
{ 1718, PT_SC, ucp_Vithkuqi },
|
{ 1720, PT_SC, ucp_Vai },
|
||||||
{ 1727, PT_SC, ucp_Wancho },
|
{ 1724, PT_SC, ucp_Vithkuqi },
|
||||||
{ 1734, PT_SC, ucp_Warang_Citi },
|
{ 1733, PT_SC, ucp_Wancho },
|
||||||
{ 1745, PT_ALNUM, 0 },
|
{ 1740, PT_SC, ucp_Warang_Citi },
|
||||||
{ 1749, PT_PXSPACE, 0 },
|
{ 1751, PT_ALNUM, 0 },
|
||||||
{ 1753, PT_SPACE, 0 },
|
{ 1755, PT_PXSPACE, 0 },
|
||||||
{ 1757, PT_UCNC, 0 },
|
{ 1759, PT_SPACE, 0 },
|
||||||
{ 1761, PT_WORD, 0 },
|
{ 1763, PT_UCNC, 0 },
|
||||||
{ 1765, PT_SC, ucp_Yezidi },
|
{ 1767, PT_WORD, 0 },
|
||||||
{ 1772, PT_SC, ucp_Yi },
|
{ 1771, PT_SC, ucp_Yezidi },
|
||||||
{ 1775, PT_GC, ucp_Z },
|
{ 1778, PT_SC, ucp_Yi },
|
||||||
{ 1777, PT_SC, ucp_Zanabazar_Square },
|
{ 1781, PT_GC, ucp_Z },
|
||||||
{ 1793, PT_PC, ucp_Zl },
|
{ 1783, PT_SC, ucp_Zanabazar_Square },
|
||||||
{ 1796, PT_PC, ucp_Zp },
|
{ 1799, PT_PC, ucp_Zl },
|
||||||
{ 1799, PT_PC, ucp_Zs }
|
{ 1802, PT_PC, ucp_Zp },
|
||||||
|
{ 1805, PT_PC, ucp_Zs }
|
||||||
};
|
};
|
||||||
|
|
||||||
const size_t PRIV(utt_size) = sizeof(PRIV(utt)) / sizeof(ucp_type_table);
|
const size_t PRIV(utt_size) = sizeof(PRIV(utt)) / sizeof(ucp_type_table);
|
||||||
|
|
Loading…
Reference in New Issue