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;
 | 
			
		||||
 | 
			
		||||
static const char unicode_script_name_table[] =
 | 
			
		||||
    "Unknown,Zzzz"                "\0"
 | 
			
		||||
    "Adlam,Adlm"                  "\0"
 | 
			
		||||
    "Ahom,Ahom"                   "\0"
 | 
			
		||||
    "Anatolian_Hieroglyphs,Hluw"  "\0"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										16
									
								
								libunicode.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								libunicode.c
									
									
									
									
									
								
							@ -1285,8 +1285,6 @@ int unicode_script(CharRange *cr,
 | 
			
		||||
    script_idx = unicode_find_name(unicode_script_name_table, script_name);
 | 
			
		||||
    if (script_idx < 0)
 | 
			
		||||
        return -2;
 | 
			
		||||
    /* Note: we remove the "Unknown" Script */
 | 
			
		||||
    script_idx += UNICODE_SCRIPT_Unknown + 1;
 | 
			
		||||
 | 
			
		||||
    is_common = (script_idx == UNICODE_SCRIPT_Common ||
 | 
			
		||||
                 script_idx == UNICODE_SCRIPT_Inherited);
 | 
			
		||||
@ -1316,17 +1314,21 @@ int unicode_script(CharRange *cr,
 | 
			
		||||
            n |= *p++;
 | 
			
		||||
            n += 96 + (1 << 12);
 | 
			
		||||
        }
 | 
			
		||||
        if (type == 0)
 | 
			
		||||
            v = 0;
 | 
			
		||||
        else
 | 
			
		||||
            v = *p++;
 | 
			
		||||
        c1 = c + n + 1;
 | 
			
		||||
        if (v == script_idx) {
 | 
			
		||||
        if (type != 0) {
 | 
			
		||||
            v = *p++;
 | 
			
		||||
            if (v == script_idx || script_idx == UNICODE_SCRIPT_Unknown) {
 | 
			
		||||
                if (cr_add_interval(cr1, c, c1))
 | 
			
		||||
                    goto fail;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        c = c1;
 | 
			
		||||
    }
 | 
			
		||||
    if (script_idx == UNICODE_SCRIPT_Unknown) {
 | 
			
		||||
        /* Unknown is all the characters outside scripts */
 | 
			
		||||
        if (cr_invert(cr1))
 | 
			
		||||
            goto fail;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (is_ext) {
 | 
			
		||||
        /* add the script extensions */
 | 
			
		||||
 | 
			
		||||
@ -2087,10 +2087,9 @@ void build_script_table(FILE *f)
 | 
			
		||||
    fprintf(f, "    UNICODE_SCRIPT_COUNT,\n");
 | 
			
		||||
    fprintf(f, "} UnicodeScriptEnum;\n\n");
 | 
			
		||||
 | 
			
		||||
    i = 1;
 | 
			
		||||
    dump_name_table(f, "unicode_script_name_table",
 | 
			
		||||
                    unicode_script_name + i, SCRIPT_COUNT - i,
 | 
			
		||||
                    unicode_script_short_name + i);
 | 
			
		||||
                    unicode_script_name, SCRIPT_COUNT,
 | 
			
		||||
                    unicode_script_short_name);
 | 
			
		||||
 | 
			
		||||
    dbuf_init(dbuf);
 | 
			
		||||
#ifdef DUMP_TABLE_SIZE
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user