+$charlist{fonts} = \@fontlist;
+
+my %osfonts = (
+ win95 => [qw( arial arialuni lucidau verdana times courier )], # microsoft
+ mac10 => [qw( helvetica lucida times garamond palatino )], # apple
+ android => [qw( roboto noto )], # google
+ oss => [qw( dvsans c2k unifont opensans )],
+);
+my %fontnum = map { ($fontlist[$_]->{file} => $_) } 0 .. $#fontlist;
+while (my ($os, $fontids) = each %osfonts) {
+ $charlist{os}->{$os} = [ map { $fontnum{$_} // () } @{$fontids} ];
+}
+$charlist{osdefault} = [qw( win95 mac10 oss android )];
+