New font manager.

I've committed a new font manager to CVS. It is based on the W3C Cascading Style Sheet, Level 1 (CSS1) design. It is still rather basic, but does seem to work for most of the backends. Therefore, FontTools, ttfquery, and ttf_font_manager are no longer needed by matplotlib.

The font manager currently handle only TrueType fonts, but should be generalizable to other font types.

The text object now has a fontproperties attribute which describes the basic aspects of the font, such as family, style, weight and size. This attribute replaces the fontname, fontangle, fontweight, and fontsize attributes.

In future, I would suggest using font name sizes, such as small, medium, and large, to specify font sizes, instead of point sizes. This should make it easier for font sizes to be consistent across backends. It will also make it easier to change all the fonts just by changing the default font size that is associated with the medium font name. The default value for this is 12.

The other interface issue to be aware of is the font family. This is a list of font names in order of decreasing priority. This should make it easier to match similar fonts across the various platforms.

  -- Paul


Paul Barrett, PhD Space Telescope Science Institute
Phone: 410-338-4475 ESS/Science Software Branch
FAX: 410-338-4767 Baltimore, MD 21218