The best way for a user to select a font is to show it to him.
For this reason font sites commonly provide bitmap preview images or so-called specimen files (typically in PDF form) that showcase the font capabilities.
Packagekit should do the same.
The image should be a pangram
in the main unicode blocks the font supports
The specimen may include unicode coverage info, glyph table, etc
For more info ask on fedora-fonts-list at redhat.com
Thinking about it some more a complete glyph table is probably too much, and a bitmap preview won't work too well depending on the target system dpi, to the best thing is probably a pdf with the embedded glyphs necessary for a few pangrams, and a list of unicode blocks/scripts with complete coverage
Eugeniy Meshcheryakov has a written a little tool to generate complete PDF glyphs tables with embedded fonts, it can probably serve as inspiration to do the same for pangrams
Sounds like fun. I can do everything up to generating the PDF. What should we do with it then?
Thinking about it a bit more, PDF with embedded glyphs would probably run afoul of no-embedding restrictions in some font licenses (including GPL fonts), so a SVG pangram preview is probably a better solution.
I think that if you can generate the preview stuff, Richard just has to define where to install it on the filesystem and how to name it so packagekit can scrape it and display it in its GUI (like it does for desktop icons for example)
If there's any embedding restrictions, the font is useless in Fedora. That happens every time you print anything.
We never embed full fonts though. Neither do we embed OpenType tables, etc. We subset, and the subset is as useful as the outlines ending up in a SVG. I don't think there's any problem there.
Can we dump the file in /usr/share/fonts/preview/? I would prefer a svg from a programming point of view.
(In reply to comment #6)
> Can we dump the file in /usr/share/fonts/preview/? I would prefer a svg from a
> programming point of view.
We can. Actually it occurred to me that I need to fix more infrastructure for this to work... Namely, this one: