# HG changeset patch # User Timo Sirainen # Date 1254429632 14400 # Node ID 9a8c565adbe159fc706367d84ce339467933235f # Parent 8e8a706d69053001da9085a7b1492e030c5f49fc New UnicodeMap.txt has >16bit multi-decomposition keys, support them. diff -r 8e8a706d6905 -r 9a8c565adbe1 src/lib/unichar.c --- a/src/lib/unichar.c Wed Sep 30 18:36:50 2009 -0400 +++ b/src/lib/unichar.c Thu Oct 01 16:40:32 2009 -0400 @@ -250,7 +250,7 @@ if (chr > 0xffff) return FALSE; - if (!uint16_find(multidecomp_keys, N_ELEMENTS(multidecomp_keys), + if (!uint32_find(multidecomp_keys, N_ELEMENTS(multidecomp_keys), chr, &idx)) return FALSE; diff -r 8e8a706d6905 -r 9a8c565adbe1 src/lib/unicodemap.pl --- a/src/lib/unicodemap.pl Wed Sep 30 18:36:50 2009 -0400 +++ b/src/lib/unicodemap.pl Thu Oct 01 16:40:32 2009 -0400 @@ -32,7 +32,7 @@ # unicharacter decomposition. use separate lists for this my $value = eval("0x$1"); if ($value > 0xffff) { - print STDERR "We've assumed decomposition codes are max. 16bit\n"; + print STDERR "Error: We've assumed decomposition codes are max. 16bit\n"; exit; } if ($code <= 0xffff) { @@ -44,8 +44,8 @@ } } else { # multicharacter decomposition. - if ($code > 0xffff) { - print STDERR "We've assumed multi-decomposition key codes are max. 16bit\n"; + if ($code > 0xffffffff) { + print STDERR "Error: We've assumed multi-decomposition key codes are max. 32bit\n"; exit; } @@ -55,7 +55,7 @@ foreach my $dcode (split(" ", $decomp_codes)) { my $value = eval("0x$dcode"); if ($value > 0xffff) { - print STDERR "We've assumed decomposition codes are max. 16bit\n"; + print STDERR "Error: We've assumed decomposition codes are max. 16bit\n"; exit; } push @multidecomp_values, $value; @@ -121,7 +121,7 @@ print_list(\@uni32_decomp_values); print "\n};\n"; -print "static const uint16_t multidecomp_keys[] = {\n\t"; +print "static const uint32_t multidecomp_keys[] = {\n\t"; print_list(\@multidecomp_keys); print "\n};\n";