font: save queried character numbers in include
[sheet.git] / tools / mkfontinfo
index 0f0857d73f06a27bdec2d5f937d916121021da9e..a6dc15a8756773279dcfaf3cf9e844dcfc42ff8e 100755 (executable)
@@ -63,7 +63,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;
 }