mirror of
https://github.com/bellard/quickjs.git
synced 2025-05-29 01:49:18 +08:00
added missing 'Unknown' unicode Script
This commit is contained in:
parent
dfc254af51
commit
fc524f75ee
@ -3130,6 +3130,7 @@ typedef enum {
|
|||||||
} UnicodeScriptEnum;
|
} UnicodeScriptEnum;
|
||||||
|
|
||||||
static const char unicode_script_name_table[] =
|
static const char unicode_script_name_table[] =
|
||||||
|
"Unknown,Zzzz" "\0"
|
||||||
"Adlam,Adlm" "\0"
|
"Adlam,Adlm" "\0"
|
||||||
"Ahom,Ahom" "\0"
|
"Ahom,Ahom" "\0"
|
||||||
"Anatolian_Hieroglyphs,Hluw" "\0"
|
"Anatolian_Hieroglyphs,Hluw" "\0"
|
||||||
|
20
libunicode.c
20
libunicode.c
@ -1285,8 +1285,6 @@ int unicode_script(CharRange *cr,
|
|||||||
script_idx = unicode_find_name(unicode_script_name_table, script_name);
|
script_idx = unicode_find_name(unicode_script_name_table, script_name);
|
||||||
if (script_idx < 0)
|
if (script_idx < 0)
|
||||||
return -2;
|
return -2;
|
||||||
/* Note: we remove the "Unknown" Script */
|
|
||||||
script_idx += UNICODE_SCRIPT_Unknown + 1;
|
|
||||||
|
|
||||||
is_common = (script_idx == UNICODE_SCRIPT_Common ||
|
is_common = (script_idx == UNICODE_SCRIPT_Common ||
|
||||||
script_idx == UNICODE_SCRIPT_Inherited);
|
script_idx == UNICODE_SCRIPT_Inherited);
|
||||||
@ -1316,17 +1314,21 @@ int unicode_script(CharRange *cr,
|
|||||||
n |= *p++;
|
n |= *p++;
|
||||||
n += 96 + (1 << 12);
|
n += 96 + (1 << 12);
|
||||||
}
|
}
|
||||||
if (type == 0)
|
|
||||||
v = 0;
|
|
||||||
else
|
|
||||||
v = *p++;
|
|
||||||
c1 = c + n + 1;
|
c1 = c + n + 1;
|
||||||
if (v == script_idx) {
|
if (type != 0) {
|
||||||
if (cr_add_interval(cr1, c, c1))
|
v = *p++;
|
||||||
goto fail;
|
if (v == script_idx || script_idx == UNICODE_SCRIPT_Unknown) {
|
||||||
|
if (cr_add_interval(cr1, c, c1))
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
c = c1;
|
c = c1;
|
||||||
}
|
}
|
||||||
|
if (script_idx == UNICODE_SCRIPT_Unknown) {
|
||||||
|
/* Unknown is all the characters outside scripts */
|
||||||
|
if (cr_invert(cr1))
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
if (is_ext) {
|
if (is_ext) {
|
||||||
/* add the script extensions */
|
/* add the script extensions */
|
||||||
|
@ -2087,10 +2087,9 @@ void build_script_table(FILE *f)
|
|||||||
fprintf(f, " UNICODE_SCRIPT_COUNT,\n");
|
fprintf(f, " UNICODE_SCRIPT_COUNT,\n");
|
||||||
fprintf(f, "} UnicodeScriptEnum;\n\n");
|
fprintf(f, "} UnicodeScriptEnum;\n\n");
|
||||||
|
|
||||||
i = 1;
|
|
||||||
dump_name_table(f, "unicode_script_name_table",
|
dump_name_table(f, "unicode_script_name_table",
|
||||||
unicode_script_name + i, SCRIPT_COUNT - i,
|
unicode_script_name, SCRIPT_COUNT,
|
||||||
unicode_script_short_name + i);
|
unicode_script_short_name);
|
||||||
|
|
||||||
dbuf_init(dbuf);
|
dbuf_init(dbuf);
|
||||||
#ifdef DUMP_TABLE_SIZE
|
#ifdef DUMP_TABLE_SIZE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user