Draining the font swamp

Matt Zimmerman 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
research here.

We seem to have:

- Loads of fonts, in various formats (TrueType, Type-1/PostScript, PCF
  bitmap, Metafont, others?) supporting various character sets, of varying
  quality

- 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
  fonts.

- 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

-- 
 - mdz



More information about the ubuntu-devel mailing list