changeset 9405:9a8c565adbe1 HEAD

New UnicodeMap.txt has >16bit multi-decomposition keys, support them.
author Timo Sirainen <tss@iki.fi>
date Thu, 01 Oct 2009 16:40:32 -0400
parents 8e8a706d6905
children 2d4d9b0cdcc1
files src/lib/unichar.c src/lib/unicodemap.pl
diffstat 2 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- 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;
 
--- 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";