diff options
| author | Sam Varshavchik | 2015-01-20 08:34:36 -0500 | 
|---|---|---|
| committer | Sam Varshavchik | 2015-01-20 08:34:36 -0500 | 
| commit | da75938c6c857fa8a5290850e288fa64052feacb (patch) | |
| tree | 882258ec52c9bd645d5cd3c13040c02514d9d374 /unicode/mkscripts.pl | |
| parent | f9d000cfabe83c219b6a035e0e08fdd2cacebc9e (diff) | |
| download | courier-libs-da75938c6c857fa8a5290850e288fa64052feacb.tar.bz2 | |
unicode: unicode_script() returns an enumerated value instead of a string.
Diffstat (limited to 'unicode/mkscripts.pl')
| -rwxr-xr-x | unicode/mkscripts.pl | 31 | 
1 files changed, 24 insertions, 7 deletions
| diff --git a/unicode/mkscripts.pl b/unicode/mkscripts.pl index c21ed92..d29a04d 100755 --- a/unicode/mkscripts.pl +++ b/unicode/mkscripts.pl @@ -60,17 +60,34 @@ while (defined($_=<F>))      $scriptnames{$s} //= ++$counter; -    push @table, [$f, $l, $scriptnames{$s} . "-1"]; +    push @table, [$f, $l, "unicode_script_" . lc($s)];  } -print "static const char * const scripts[]={\n"; +open(F, "<unicode.h") or die; -foreach (sort { $scriptnames{$a} <=> $scriptnames{$b}} keys %scriptnames) -{ -    print "\t\"$_\",\n"; -} +my @unicode_h=<F>; +close(F); + +my ($f, $l) = grep { $unicode_h[$_] =~ /UNICODE_SCRIPT_T/ } (0..$#unicode_h); + +die unless $f && $l; + +my @repl = map { +    "\tunicode_script_" . lc($_) . ",\n"; +} sort { +    $scriptnames{$a} <=> $scriptnames{$b}; +} keys %scriptnames; + +unshift @repl, "\tunicode_script_unknown,\n"; + +$repl[$#repl] =~ s/,//; + +splice @unicode_h, $f+1, $l-$f-2, @repl; -print "\t\"Unknown\"};\n"; +open(F, ">unicode.h.tmp") or die; +print F join("", @unicode_h); +close(F) or die; +rename("unicode.h.tmp", "unicode.h") or die;  grep { | 
