Extended font library

The "exfont" extended font library is an add-on to Allegro which provides some new font types, including truecolor and antialiased fonts. Fonts such as these are often required in games, and go hand in hand with whatever GUI library you are using.


The exfont library is capable of rendering fonts. Its fast C renderers have been written, but still to do is slow C renderers (for drawing partially clipped glyphs and ModeX bitmaps) and assembler optimisation. Also, there are no fonts yet created with exfont.

It is planned to write a creator tool for exfont using LW GUI, and to use an antialiased exfont in the LW GUI test program.


The library uses the standard Allegro text routines (ie. fonts are represented with a FONT structure and drawn with textout). It supports Allegro's 8 bit color and monochrome fonts (although these should be drawn faster, once the assembler optimisers are written). It also supports several new font types: monochrome/antialiased, truecolor, truecolor/antialiased, truecolor/indexed.

The library uses a glyph map, so that more than one character may share the same glyph. It also supports font sizes - it allows you to draw many different sizes of the same font and put them all into the same FONT structure, and it will choose the nearest one to the size the user requested.

Finally, the library draws its fonts on a scanline basis: one line at a time, rather than one character at a time. This should help to improve rendering times. Also, the fonts are stored in a run-length encoded (RLE) format, which should reduce the number of conditionals in the code, further improving performance.

Current Documentation

Current documentation may be viewed through the SourceForge CVS interface.

Library download

The library may only be downloaded through CVS at the moment; this will change once the slow C renderers have been written and there is some way to get a font into Allegro. Visit the SourceForge CVS page to get instructions on downloading with CVS.