Adding upstream version 0.5.3
This commit is contained in:
56
libwc/map/mk_ucs_isdigit_map.pl
Normal file
56
libwc/map/mk_ucs_isdigit_map.pl
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
open(MAP, "> ucs_isdigit.map");
|
||||
print MAP <<EOF;
|
||||
/*
|
||||
File generated from UnicodeData-4.1.0.txt.
|
||||
*/
|
||||
|
||||
EOF
|
||||
|
||||
for (<DATA>) {
|
||||
chop;
|
||||
($name, $class) = split;
|
||||
|
||||
@cp = ();
|
||||
|
||||
open(UCD, "< private/UnicodeData-4.1.0.txt");
|
||||
while(<UCD>) {
|
||||
chop;
|
||||
@entry = split(';');
|
||||
last if $entry[0] =~ m/.{5,}/;
|
||||
if ($entry[2] eq $class) {
|
||||
push (@cp, $entry[0]);
|
||||
}
|
||||
}
|
||||
close UCD;
|
||||
|
||||
@bs = ();
|
||||
$last = -1;
|
||||
$seq = -1;
|
||||
for my $e (@cp) {
|
||||
if (++$last != hex $e) {
|
||||
$seq = $e;
|
||||
$last = hex $e;
|
||||
push (@bs, $seq);
|
||||
}
|
||||
$end{$seq} = $e;
|
||||
}
|
||||
$nobs = @bs;
|
||||
|
||||
print MAP <<EOF;
|
||||
|
||||
#define N_ucs_${name}_map ${nobs}
|
||||
|
||||
static wc_map ucs_${name}_map[ N_ucs_${name}_map ] = {
|
||||
EOF
|
||||
|
||||
for (@bs) {
|
||||
print MAP " { 0x$_, 0x$end{$_} },\n";
|
||||
}
|
||||
print MAP <<EOF
|
||||
};
|
||||
EOF
|
||||
}
|
||||
|
||||
__END__
|
||||
isdigit Nd
|
Reference in New Issue
Block a user