Next: Generation of AFM Information
Up: Missing or Invalid AFM
Previous: Missing or Invalid AFM
Contents
Index
Remarks on AFM Files
Information in AFM files is only relevant for placing character glyphs but not
for rasterizing. The metric values are based on the same coordinate system as
used in Type 1 font files, the so called charspace coordinate system.
One unit is
when a font is not scaled or scaled to 1 bp,
respectively.
Information in AFM files can divided into several groups:
- Global Font Information: This information is generally not needed
to place characters. Furthermore, most of this information is also
contained in a Type 1 font file itself. This area is thus of marginal
importance for t1lib.
- Character Width's and Bounding Boxes: These both are crucial for
accurately placing the character glyphs. Fortunately, these are dimensions
are exactly defined by the character outlines themselves. It is thus
possible to compute them spending some computational effort.
- Ligature Information: For æsthetic reasons, certain character
groups are often replaced by ligatures and a font file may define several
ligatures. It is however not intuitively clear what character groups should
be replaced by what ligatures.15 Fortunately, ligatures are not crucially needed for quality typesetting.
- Pair Kerning Information: This information is quite important for
æsthetic reasons but it is entirely independent from the outline
descriptions and can thus not be extracted from a font file.
- Track Kerning Information: This information gives hints of how to
typeset text generally closer or wider at varying point sizes.
t1lib does not use track kerning
information and I personally do not consider using track kerning a good
typographical style.
- Composite Character Data: This is needed to construct characters
from two single characters. Typical examples are accented
characters. t1lib currently does not deal with composite
characters. Most of the composite characters needed are already existent
internally.
To come to a conclusion, for our purposes it is sufficient to generate the
characters' widths and their bounding boxes and we have all information we
need to construct string glyphs.
Next: Generation of AFM Information
Up: Missing or Invalid AFM
Previous: Missing or Invalid AFM
Contents
Index
2004-10-04