-my @ossel = qw( win95 oss android );
-
-my $tables = do 'unicode-table.inc.pl' or die $@ || $!;
-my (%font, @fontlist);
-for my $os (@ossel) {
- my $osfonts = $oslist{$os};
- for my $fontid (@{$osfonts}) {
- push @fontlist, $fontid;
- my ($fontmeta, @fontrange) = do "ttfsupport/$fontid.inc.pl";
- $fontmeta or next;
- $font{$fontid} = {
- -id => $fontmeta->{id} || $fontid,
- -name => $fontmeta->{name},
- map { (chr $_ => 1) } @fontrange
- };
- }
-}
-
-# parse input
-
-my @chars;
-
-for ($ENV{PATH_INFO} || $get{q} || ()) {
- s{^/}{};
- when ('') {
- next;
- }
- when (qr{/}) {
- push @{ $get{'@g'} }, $_;
- }
- default {
- die "unknown parameter: $_\n";
- }
-}
-
-$get{'@g'} //= ['latin/sample'];
-
-for (map { split / / } @{ $get{'@g'} }) {
- my ($tablegroup, $tablename) = split m{/}, $_, 2;
- my $table = $tables->{$tablegroup}->{$tablename};
+my @ossel = qw( win95 mac10 oss android );
+my @fontlist = map { @{ $oslist{$_} } } @ossel;
+
+my $cover = do 'unicode-cover.inc.pl' or die $@ || $!;
+
+my @rows = (
+ 'block/Latin-1 Supplement',
+ 'block/Latin Extended-A',
+ 'block/Latin Extended Additional',
+ 'block/Latin Extended-B',
+ 'script/Latin',
+ 'script/Greek',
+ 'script/Cyrillic',
+ 'script/Arabic',
+ 'script/Hebrew',
+ 'script/Devanagari',
+ 'script/Thai',
+ 'script/Hangul',
+ 'table/japanese',
+ 'script/Han',
+ 'table/ipa',
+ 'table/punctuation',
+ 'block/Dingbats',
+ 'table/symbols',
+ 'table/math',
+ 'table/arrows/single',
+ 'table/lines/single',
+ 'table/block',
+ 'table/lines',
+ 'table/html',
+);