As a text rendering system, Pango cannot work without fonts.
Pango is quite flexible in the fonts it can use. It can
render a multi-lingual string by switching between different
fonts, or by using a single font that contains all the
needed glyphs. Most Pango shapers accept fonts in several
different encodings when looking for a font with which
to render a given script. In general, Pango does its best
to take advantage of all the fonts you have available on
Types of fonts
- Bitmap Fonts
Under the X windowing system, bitmap fonts are still the most
widely used technology. Bitmap fonts are straightforward to
produce, do not require sophisticated rendering technology, and
can actually achieve very good results as long as a wide range of
sizes are not needed. On the other hand, bitmap fonts are not
suitable for art, word-processing, or publishing applications
because of the fixed sizes, and do not lend themselves to
anti-aliasing or font-smoothing techniques. The X BDF file
format also does not have all font metrics needed for high
quality rendering of internationalized text.
- Type1 fonts
The Type1 format, from Adobe, was the first widely used
scaleable font format. The main disadvantages of the
format is that it is very difficult to create a high-quality
renderer for screen resolutions, the metrics, character
mappings, and glyphs tend to be spread over multiple files
in an inconvenient fashion, and finally, the metrics
information included with a normal Type1 font is not
sufficient for all scripts.
- TrueType fonts
The TrueType format, which was create about 10 years ago as a
collaboration between Apple and Microsoft. In many ways it is
similar to Type1, except that rendering well-hinted TrueType
fonts acceptably at screen resolutions is much easier.
The FreeType project
has created an open-source library to render TrueType fonts,
which does an excellent job and has been built into recent
versions of XFree86.
Recently, the possiblity has appeared that the hinting
TrueType outlines may be convered by a patent from Apple,
which has chilled their acceptance in the free software
community. (The FreeType project is looking at creating a new
renderers that use other techniques to produce acceptable
screen results. Version 2 of FreeType will be able to render
both TrueType and Type1 fonts.)
- OpenType fonts
The OpenType format, is the result of a colloboration between
Microsoft and Adobe to create a font format with features for
advanced typography and internationalization. (It competes
with Apple's Quickdraw GX font technology). The basic
structure of an OpenType font is the same as for a TrueType
font but it can contain either TrueType or Type1 outlines.
A number of of additional tables have been added for
the purposes of advanced typography and internationalization.
So far, there are few freely available (or otherwise
available) OpenType fonts, and very little software can
take advantage of such fonts. However, it is a quite nice
(if rather complicated) technology and hopefully this
situation will improve in the future. The development
releases of FreeType 2 already contain some support for
advanced features of OpenType.
The most extensive collection of free bitmap fonts available
is likely the intlfonts
collection created by the Mule project. The
collection includes fonts for all the wide range of languages
that Mule (and recent versions of Emacs) can handle.
In the category of "marginally free fonts", Microsoft has made
various TrueType fonts available for download.
These are high quality fonts and contain Roman, Greek, and
Cyrillic glyphs. These fonts can be downloaded and used,
but not redistributed.
Various attempts are underway to create fonts that cover wide
portions of Unicode.
The XFree86 project has extended
many of the standard X fonts to include larger portions
of the Unicode character repertoire. These fonts are
distributed with XFree86 starting with version 4.0.
Several new fonts are also included; in particular it
include the ClearlyU fonts (see below) and a set of
Lucidux Type1 fonts donated Bigelow and Holmes.
Fonts in XFree86.
font, created by Mark Leisher, is an attractive font that
covers most of Unicode other than the CJK characters. It is notable
for its inclusion of the Arabic presentation forms
The purpose of the GNU
Unifont font is to create a single font (8x8 and 8x16) to
cover all of Unicode. Because of the fixed character cell
size, this font is only really suitable for rendering
European and East-Asian scripts. However, it is one of the
most complete fonts out there.