From f9f3e57cf8cb720f04c5e7134a7f123df09123d7 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 18 Feb 2020 11:26:21 +0100 Subject: [PATCH] unicode: Generate the NLS files for normalization forms. Signed-off-by: Alexandre Julliard --- dlls/kernel32/tests/locale.c | 4 +- loader/wine.inf.in | 5 + nls/Makefile.in | 7 +- nls/normidna.nls | Bin 0 -> 82058 bytes nls/normnfc.nls | Bin 0 -> 57630 bytes nls/normnfd.nls | Bin 0 -> 50942 bytes nls/normnfkc.nls | Bin 0 -> 79052 bytes nls/normnfkd.nls | Bin 0 -> 72684 bytes tools/make_unicode | 378 ++++++++++++++++++++++++++++++++++- 9 files changed, 383 insertions(+), 11 deletions(-) create mode 100644 nls/normidna.nls create mode 100644 nls/normnfc.nls create mode 100644 nls/normnfd.nls create mode 100644 nls/normnfkc.nls create mode 100644 nls/normnfkd.nls diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 097cd1fcb4d..397dd0eeb1f 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -4220,11 +4220,11 @@ static void test_GetCPInfo(void) case NormalizationKC: case NormalizationKD: case 13: /* IDN */ - todo_wine ok( !status, "%u: failed %x\n", i, status ); + ok( !status, "%u: failed %x\n", i, status ); if (status) break; ok( size > 0x8000 && size <= 0x30000 , "wrong size %lx\n", size ); ret = UnmapViewOfFile( ptr ); - ok( ret, "UnmapViewOfFile failed err %u\n", GetLastError() ); + todo_wine ok( ret, "UnmapViewOfFile failed err %u\n", GetLastError() ); break; default: ok( status == STATUS_OBJECT_NAME_NOT_FOUND, "%u: failed %x\n", i, status ); diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 3a73f1fd046..f83309a9514 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -3948,6 +3948,11 @@ c_936.nls c_949.nls c_950.nls l_intl.nls +normidna.nls +normnfc.nls +normnfd.nls +normnfkc.nls +normnfkd.nls [WineSourceDirs] NlsFiles=nls diff --git a/nls/Makefile.in b/nls/Makefile.in index aa20e9bffbd..f3e517a48ef 100644 --- a/nls/Makefile.in +++ b/nls/Makefile.in @@ -64,4 +64,9 @@ SOURCES = \ c_936.nls \ c_949.nls \ c_950.nls \ - l_intl.nls + l_intl.nls \ + normidna.nls \ + normnfc.nls \ + normnfd.nls \ + normnfkc.nls \ + normnfkd.nls diff --git a/nls/normidna.nls b/nls/normidna.nls new file mode 100644 index 0000000000000000000000000000000000000000..f6f4f551c0490ffd7023a0c317178a5884b2d80a GIT binary patch literal 82058 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 o@Iz;WONa1tnvj@6{XS9JjCKv$qU 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 literal 0 HcmV?d00001 diff --git a/nls/normnfc.nls b/nls/normnfc.nls new file mode 100644 index 0000000000000000000000000000000000000000..c3c9fb09f4582417343cd406e2b3383581753bc7 GIT binary patch literal 57630 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 C8LHR- literal 0 HcmV?d00001 diff --git a/nls/normnfd.nls b/nls/normnfd.nls new file mode 100644 index 0000000000000000000000000000000000000000..013980e02f125474971d84a17321883bf27e4709 GIT binary patch literal 50942 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 f#kN1R?fDvDf|4yO< literal 0 HcmV?d00001 diff --git a/nls/normnfkc.nls b/nls/normnfkc.nls new file mode 100644 index 0000000000000000000000000000000000000000..dc44b8539d128bb2c153390142423cdb40eeef05 GIT binary patch literal 79052 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 literal 0 HcmV?d00001 diff --git a/nls/normnfkd.nls b/nls/normnfkd.nls new file mode 100644 index 0000000000000000000000000000000000000000..0dd33edf8abffbf92bfdd9c0103e4cc5efa829ad GIT binary patch literal 72684 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 Vm$&twxDoM<+g!JI*xqgX{{!Svd9eTh literal 0 HcmV?d00001 diff --git a/tools/make_unicode b/tools/make_unicode index 7b6fad57026..e5a35188331 100755 --- a/tools/make_unicode +++ b/tools/make_unicode @@ -22,8 +22,10 @@ use strict; # base URLs for www.unicode.org files +my $UNIVERSION = "12.1.0"; my $MAPPINGS = "http://www.unicode.org/Public/MAPPINGS"; -my $UNIDATA = "http://www.unicode.org/Public/12.1.0/ucd/UCD.zip"; +my $UNIDATA = "http://www.unicode.org/Public/$UNIVERSION/ucd/UCD.zip"; +my $IDNADATA = "https://www.unicode.org/Public/idna/$UNIVERSION"; my $REPORTS = "http://www.unicode.org/reports"; my $RFCS = "http://www.rfc-editor.org/rfc"; my $MSDATA = "https://download.microsoft.com/download/C/F/7/CF713A5E-9FBC-4FD6-9246-275F65C0E498"; @@ -408,6 +410,8 @@ my @decomp_table = (); my @combining_class_table = (); my @decomp_compat_table = (); my @comp_exclusions = (); +my @idna_decomp_table = (); +my @idna_disallowed = (); my $default_char; my $default_wchar; @@ -494,8 +498,13 @@ sub get_composition($$) return () if $comp_exclusions[$ch]; # composition exclusion return () if $combining_class_table[$ch]; # non-starter return () if $combining_class_table[$ret[0]]; # first char is non-starter - return () if $compat && !defined $decomp_table[$ret[0]] && - defined $decomp_compat_table[$ret[0]]; # first char has compat decomposition + return () if $compat == 1 && !defined $decomp_table[$ret[0]] && + defined $decomp_compat_table[$ret[0]]; # first char has compat decomposition + return () if $compat == 2 && !defined $decomp_table[$ret[0]] && + defined $idna_decomp_table[$ret[0]]; # first char has IDNA decomposition + return () if $compat == 2 && defined $idna_decomp_table[$ret[0]] && + defined $idna_decomp_table[$idna_decomp_table[$ret[0]]->[0]]; # first char's decomposition has IDNA decomposition + return () if $compat == 2 && defined $idna_decomp_table[$ret[1]]; # second char has IDNA decomposition return @ret; } @@ -515,6 +524,44 @@ sub build_decompositions(@) return @dst; } +################################################################ +# compose Hangul sequences +sub compose_hangul(@) +{ + my $SBASE = 0xac00; + my $LBASE = 0x1100; + my $VBASE = 0x1161; + my $TBASE = 0x11a7; + my $LCOUNT = 19; + my $VCOUNT = 21; + my $TCOUNT = 28; + my $NCOUNT = $VCOUNT * $TCOUNT; + my $SCOUNT = $LCOUNT * $NCOUNT; + + my @seq = @_; + my @ret; + my $i; + + for ($i = 0; $i < @seq; $i++) + { + my $ch = $seq[$i]; + if ($ch >= $LBASE && $ch < $LBASE + $LCOUNT && $i < @seq - 1 && + $seq[$i+1] >= $VBASE && $seq[$i+1] < $VBASE + $VCOUNT) + { + $ch = $SBASE + (($seq[$i] - $LBASE) * $VCOUNT + ($seq[$i+1] - $VBASE)) * $TCOUNT; + $i++; + } + if ($ch >= $SBASE && $ch < $SBASE + $SCOUNT && !(($ch - $SBASE) % $TCOUNT) && $i < @seq - 1 && + $seq[$i+1] > $TBASE && $seq[$i+1] < $TBASE + $TCOUNT) + { + $ch += $seq[$i+1] - $TBASE; + $i++; + } + push @ret, $ch; + } + return @ret; +} + ################################################################ # read in the Unicode database files sub load_data() @@ -556,10 +603,7 @@ sub load_data() { $digitmap_table[$src] = ord $dig; } - if ($comb ne "") - { - $combining_class_table[$src] = $comb; - } + $combining_class_table[$src] = ($cat ne "Co") ? $comb : 0x100; # Private Use # copy the category and direction for everything between First/Last pairs if ($name =~ /, First>/) { $start = $src; } @@ -569,6 +613,7 @@ sub load_data() { $category_table[$start] = $category_table[$src]; $direction_table[$start] = $direction_table[$src]; + $combining_class_table[$start] = $combining_class_table[$src]; $start++; } } @@ -667,6 +712,50 @@ sub load_data() } } close $EXCL; + + # load the IDNA mappings + + @idna_decomp_table = @decomp_compat_table; + my $IDNA = open_data_file( $IDNADATA, "IdnaMappingTable.txt" ); + while (<$IDNA>) + { + s/\#.*//; # remove comments + next if /^\s*$/; + my ($char, $type, $mapping) = split /;/; + my ($ch1, $ch2); + if ($char =~ /([0-9a-fA-F]+)\.\.([0-9a-fA-F]+)/) + { + $ch1 = hex $1; + $ch2 = hex $2; + } + elsif ($char =~ /([0-9a-fA-F]+)/) + { + $ch1 = $ch2 = hex $1; + } + + if ($type =~ /mapped/ || $type =~ /deviation/) + { + $mapping =~ s/^\s*(([0-9a-fA-F]+\s+)+)\s*$/$1/; + my @seq = map { hex $_; } split /\s+/, $mapping; + foreach my $i ($ch1 .. $ch2) { $idna_decomp_table[$i] = @seq ? \@seq : [ 0 ]; } + } + elsif ($type =~ /valid/) + { + } + elsif ($type =~ /ignored/) + { + foreach my $i ($ch1 .. $ch2) { $idna_decomp_table[$i] = [ 0 ]; } + } + elsif ($type =~ /disallowed/) + { + foreach my $i ($ch1 .. $ch2) + { + $idna_decomp_table[$i] = undef; + $idna_disallowed[$i] = 1; + } + } + } + close $IDNA; } @@ -2190,6 +2279,274 @@ sub dump_decompose_table($$) save_file($filename); } +sub rol($$) +{ + my ($byte, $count) = @_; + return (($byte << $count) | ($byte >> (8 - $count))) & 0xff; +} + +################################################################ +# compress the character properties table +sub compress_char_props_table($@) +{ + my $rows = shift; + my @table = @_; + my $len = @table / $rows; + my $pos = 0; + my @array = (0) x $rows; + my %sequences; + + # add some predefined sequences + foreach my $i (0, 0xfb .. 0xff) { $sequences{pack "L*", (rol($i,5)) x $len} = $i; } + + # try to merge table rows + for (my $row = 0; $row < $rows; $row++) + { + my @table_row = map { defined $_ ? $_ : 0x7f; } @table[($row * $len)..(($row + 1) * $len - 1)]; + my $rowtxt = pack "L*", @table_row; + if (defined($sequences{$rowtxt})) + { + # reuse an existing row + $array[$row] = $sequences{$rowtxt}; + } + else + { + # create a new row + $sequences{$rowtxt} = $array[$row] = ++$pos; + push @array, @table_row; + } + } + return @array; +} + +################################################################ +# dump a normalization table in binary format +sub dump_norm_table($) +{ + my $filename = shift; + + my %forms = ( "nfc" => 1, "nfd" => 2, "nfkc" => 5, "nfkd" => 6, "idna" => 13 ); + my %decomp = ( "nfc" => \@decomp_table, + "nfd" => \@decomp_table, + "nfkc" => \@decomp_compat_table, + "nfkd" => \@decomp_compat_table , + "idna" => \@idna_decomp_table ); + + open OUTPUT,">$filename.new" or die "Cannot create $filename"; + print "Building $filename\n"; + + my $type = $filename; + $type =~ s!.*/norm(\w+)\.nls!$1!; + + my $compose = $forms{$type} & 1; + my $compat = !!($forms{$type} & 4) + ($type eq "idna"); + + my @version = split /\./, $UNIVERSION; + + # combining classes + + my @classes; + my @class_values; + + foreach my $c (grep defined, @combining_class_table) + { + $classes[$c] = 1 if $c < 0x100; + } + for (my $i = 0; $i < @classes; $i++) + { + next unless defined $classes[$i]; + $classes[$i] = @class_values; + push @class_values, $i; + } + push @class_values, 0 if (@class_values % 2); + die "too many classes" if @class_values >= 0x40; + + # character properties + + my @char_props; + my @decomposed; + my @comp_hash_table; + my $comp_hash_size = $compose ? 254 : 0; + + for (my $i = 0; $i <= $MAX_CHAR; $i++) + { + next unless defined $combining_class_table[$i]; + if (defined $decomp{$type}->[$i]) + { + my @dec = get_decomposition( $i, $decomp{$type} ); + if ($compose && (my @comp = get_composition( $i, $compat ))) + { + my $hash = ($comp[0] + 95 * $comp[1]) % $comp_hash_size; + push @{$comp_hash_table[$hash]}, to_utf16( @comp, $i ); + + my $val = 0; + foreach my $d (@dec) + { + $val = $combining_class_table[$d]; + last if $val; + } + $char_props[$i] = $classes[$val]; + } + else + { + $char_props[$i] = 0xbf; + } + @dec = compose_hangul( @dec ) if $compose; + @dec = to_utf16( @dec ); + push @dec, 0 if @dec >= 7; + $decomposed[$i] = \@dec; + } + else + { + if ($combining_class_table[$i] == 0x100) + { + $char_props[$i] = 0x7f; + } + elsif ($combining_class_table[$i]) + { + $char_props[$i] = $classes[$combining_class_table[$i]] | 0x80; + } + elsif ($type eq "idna" && defined $idna_disallowed[$i]) + { + $char_props[$i] = 0xff; + } + else + { + $char_props[$i] = 0; + } + } + } + + if ($compose) + { + for (my $i = 0; $i <= $MAX_CHAR; $i++) + { + my @comp = get_composition( $i, $compat ); + next unless @comp; + if ($combining_class_table[$comp[1]]) + { + $char_props[$comp[0]] |= 0x40 unless $char_props[$comp[0]] & 0x80; + $char_props[$comp[1]] |= 0x40; + } + else + { + $char_props[$comp[0]] = ($char_props[$comp[0]] & ~0x40) | 0x80; + $char_props[$comp[1]] |= 0xc0; + } + } + } + + # surrogates + foreach my $i (0xd800..0xdbff) { $char_props[$i] = 0xdf; } + foreach my $i (0xdc00..0xdfff) { $char_props[$i] = 0x9f; } + + # Hangul + if ($type eq "nfc") { foreach my $i (0x1100..0x117f) { $char_props[$i] = 0xff; } } + elsif ($compose) { foreach my $i (0x1100..0x11ff) { $char_props[$i] = 0xff; } } + foreach my $i (0xac00..0xd7ff) { $char_props[$i] = 0xff; } + + # invalid chars + if ($type eq "idna") { foreach my $i (0x00..0x1f, 0x7f) { $char_props[$i] = 0xff; } } + foreach my $i (0xfdd0..0xfdef) { $char_props[$i] = 0xff; } + foreach my $i (0x00..0x10) + { + $char_props[($i << 16) | 0xfffe] = 0xff; + $char_props[($i << 16) | 0xffff] = 0xff; + } + + # decomposition hash table + + my @decomp_hash_table; + my @decomp_hash_index; + my @decomp_hash_data; + my $decomp_hash_size = 944; + + # build string of character data, reusing substrings when possible + my $decomp_char_data = ""; + foreach my $i (sort { @{$b} <=> @{$a} } grep defined, @decomposed) + { + my $str = pack "U*", @{$i}; + $decomp_char_data .= $str if index( $decomp_char_data, $str) == -1; + } + for (my $i = 0; $i < @decomposed; $i++) + { + next unless defined $decomposed[$i]; + my $pos = index( $decomp_char_data, pack( "U*", @{$decomposed[$i]} )); + die "sequence not found" if $pos == -1; + my $len = @{$decomposed[$i]}; + $len = 7 if $len > 7; + my $hash = $i % $decomp_hash_size; + push @{$decomp_hash_table[$hash]}, [ $i, ($len << 13) | $pos ]; + } + for (my $i = 0; $i < $decomp_hash_size; $i++) + { + $decomp_hash_index[$i] = @decomp_hash_data / 2; + next unless defined $decomp_hash_table[$i]; + if (@{$decomp_hash_table[$i]} == 1) + { + my $entry = $decomp_hash_table[$i]->[0]; + if ($char_props[$entry->[0]] == 0xbf) + { + $decomp_hash_index[$i] = $entry->[1]; + next; + } + } + foreach my $entry (@{$decomp_hash_table[$i]}) + { + push @decomp_hash_data, $entry->[0] & 0xffff, $entry->[1]; + } + } + push @decomp_hash_data, 0, 0; + + # composition hash table + + my @comp_hash_index; + my @comp_hash_data; + if (@comp_hash_table) + { + for (my $i = 0; $i < $comp_hash_size; $i++) + { + $comp_hash_index[$i] = @comp_hash_data; + push @comp_hash_data, @{$comp_hash_table[$i]} if defined $comp_hash_table[$i]; + } + $comp_hash_index[$comp_hash_size] = @comp_hash_data; + push @comp_hash_data, 0, 0, 0; + } + + my $level1 = ($MAX_CHAR + 1) / 128; + my @rows = compress_char_props_table( $level1, @char_props[0..$MAX_CHAR] ); + + my @header = ( $version[0], $version[1], $version[2], 0, $forms{$type}, $compat ? 18 : 3, + 0, $decomp_hash_size, $comp_hash_size, 0 ); + my @tables = (0) x 8; + + $tables[0] = 16 + @header + @tables; + $tables[1] = $tables[0] + @class_values / 2; + $tables[2] = $tables[1] + $level1 / 2; + $tables[3] = $tables[2] + (@rows - $level1) / 2; + $tables[4] = $tables[3] + @decomp_hash_index; + $tables[5] = $tables[4] + @decomp_hash_data; + $tables[6] = $tables[5] + length $decomp_char_data; + $tables[7] = $tables[6] + @comp_hash_index; + + print OUTPUT pack "S<16", unpack "U*", "norm$type.nlp"; + print OUTPUT pack "S<*", @header; + print OUTPUT pack "S<*", @tables; + print OUTPUT pack "C*", @class_values; + + print OUTPUT pack "C*", @rows[0..$level1-1]; + print OUTPUT pack "C*", @rows[$level1..$#rows]; + print OUTPUT pack "S<*", @decomp_hash_index; + print OUTPUT pack "S<*", @decomp_hash_data; + print OUTPUT pack "S<*", unpack "U*", $decomp_char_data; + print OUTPUT pack "S<*", @comp_hash_index; + print OUTPUT pack "S<*", @comp_hash_data; + + close OUTPUT; + save_file($filename); +} + + ################################################################ # dump the combining class table sub dump_combining_class($) @@ -2203,7 +2560,7 @@ sub dump_combining_class($) print OUTPUT "/* DO NOT EDIT!! */\n\n"; print OUTPUT "#include \"windef.h\"\n\n"; - dump_three_level_mapping( "combining_class_table", 0, 16, @combining_class_table ); + dump_three_level_mapping( "combining_class_table", 0, 16, map { defined $_ ? $_ & 0xff : 0; } @combining_class_table ); close OUTPUT; save_file($filename); } @@ -2395,6 +2752,11 @@ dump_vertical( "dlls/gdi32/vertical.c" ); dump_vertical( "dlls/wineps.drv/vertical.c" ); dump_nameprep( "dlls/kernel32/nameprep.c" ); dump_intl_nls("nls/l_intl.nls"); +dump_norm_table( "nls/normnfc.nls" ); +dump_norm_table( "nls/normnfd.nls" ); +dump_norm_table( "nls/normnfkc.nls" ); +dump_norm_table( "nls/normnfkd.nls" ); +dump_norm_table( "nls/normidna.nls" ); foreach my $file (@allfiles) { dump_msdata_codepage( $file ); } dump_eucjp_codepage();