X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/6721f1111bc49b8ee5efc0b39d74321c1393cdfb..08817fabd6fb93f65754166fdcaaa75c928d9651:/tools/mkfontinfo diff --git a/tools/mkfontinfo b/tools/mkfontinfo index 0f0857d..a9f0d37 100755 --- a/tools/mkfontinfo +++ b/tools/mkfontinfo @@ -23,9 +23,6 @@ for my $fontfile (glob 'ttfsupport/*'.$incsuffix) { }; } - when (qr{^[a-z]+(?:/|\z)}) { - } - my %charlist; my $chartables = do 'unicode-table.inc.pl' or warn $@ || $!; @@ -38,6 +35,7 @@ if ($chartables) { $includerows ||= m/^[.]/ or next; next if /^[.-]/; next if $_ eq '>' or $_ eq '='; + s/^\\//; # escape push @{ $charlist{table}->{"$tablegroup/$tablename"} }, $_; push @{ $charlist{table}->{$tablegroup} }, $_; } @@ -63,7 +61,25 @@ for my $chars (values %{$_}) { ($_ => scalar grep { $fontcover->{$_} } @{$chars}); } keys %font; $row{-count} = scalar @{$chars}; -# $row{-chars} = [ map { ord } sort @{$chars} ]; + + $row{-query} = eval { + my @query = map { ord } sort @{$chars}; + my $i = 0; + while ($i < @query) { + my $j = $i + 1; + my $v = $query[$i]; + while ($j < @query) { + $v++; + last if $query[$j] != $v; + $j++; + } + if ($j - $i > 2) { + splice(@query, $i, $j - $i, "$query[$i]-$query[$j-1]"); + } + $i++; + } + return join '+', @query; + }; $chars = \%row; }