-my %oslist = (
- win95 => [qw( arial ariuni verdana times )], # microsoft
- mac10 => [qw( lucida garamond )], # apple
- android => [qw( roboto noto )], # google
- oss => [qw( dvsans c2k unifont )],
-);
-my @ossel = qw( win95 mac10 oss android );
-
-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;
+my $groupinfo = Data('data/unicode-cover');
+
+my @ossel = @{ $groupinfo->{osdefault} };
+my @fontlist = map { $_->{file} }
+ @{ $groupinfo->{fonts} }[ map { @{ $groupinfo->{os}->{$_} } } @ossel ];
+
+my %font;
+for my $fontid (@fontlist) {
+ my $fontmeta = eval { Data("data/font/$fontid") } or next;