Draining the font swamp
mdz at ubuntu.com
Sat May 19 12:34:50 BST 2007
There has been some confusion and dissatisfaction over the treatment of
fonts in Ubuntu for a some time now, and no common understanding of how to
improve the situation. I spent a little time thinking about this today, and
would like to present some questions whose answers I hope will help us to
make some progress.
Please correct me where I've misunderstood, as I've only done some cursory
We seem to have:
- Loads of fonts, in various formats (TrueType, Type-1/PostScript, PCF
bitmap, Metafont, others?) supporting various character sets, of varying
- fontconfig, a font management framework which seems to be used by of the
applications we care about in one way or another. It catalogues the fonts
on the system and is independent of any window system, font rasterizer,
etc. It just knows about fonts and provides an API to find a font based
on complicated matching criteria.
- DeFoMa, which attempts to allow packages to register fonts with whatever
font management frameworks might exist.
- TeX. Enough said.
- freetype, a font rasterization engine which also has some font management
capabilities, also used by most applications we care about. Knows how to
take fonts and strings and create bitmaps.
- Xfont, which provides font services (including selection and rendering)
through the X server. This is basically obsolete in favour of client-side
- Xft, a font API for X applications which uses freetype and supports
Xrender or plain X drawing to put text on a display.
I don't know:
- Exactly which pieces are used by GTK, Qt, XUL, etc. and how applications
using those APIs ask for a font specification
- Which applications ask for which font specifications, and where that's
configured (sometimes in the application itself, as in Firefox)
- Which fonts are any good, and for which languages (no easy answer here)
- Which criteria are important for selecting which font to use in which
context (language, character set, ...)
- Whether fontconfig requires adjustments in order to respect those criteria
- Whether we still need all these horrible bitmap fonts
- Whether we still need server-side fonts for anything
- Whether we need DeFoMa
More information about the ubuntu-devel