Next: Manipulating Type Size and Vertical Spacing, Previous: Page Control, Up: GNU troff Reference [Contents][Index]
In digital typography, a font is a collection of characters in a
specific typeface that a device can render as glyphs at a desired
size.164 A
roff formatter can change typefaces at any point in the text.
The basic faces are a set of
styles
combining
upright
and
slanted
(italic or oblique)
shapes with normal and heavy stroke weights: ‘R’, ‘I’,
‘B’, and ‘BI’—these stand for roman,
italic, bold, and bold-italic. For
linguistic text, GNU troff groups typefaces into families
containing each of these styles.165 A text
font is thus often a family combined with a style, but it need not
be: consider the ps and pdf devices’ ZCMI (Zapf
Chancery Medium italic)—often, no other style of Zapf Chancery Medium
is provided. On typesetters, at least one special font is
available, comprising unstyled glyphs for mathematical operators
and other purposes.
Like the AT&T troff formatter, GNU troff does
not itself load or manipulate a digital font
file;166 instead it works with a font description
file that characterizes it, including its glyph repertoire and the
metrics (dimensions) of each glyph.167 This information permits the formatter to
accurately place glyphs with respect to each other. Before using a font
description, the formatter associates it with a mounting position,
a place in an ordered list of available typefaces.
So that a document need not be strongly coupled
to a specific font family,
in
GNU troff an output device can associate a style in the abstract sense
with a mounting position.
Thus the default family can be combined with a style dynamically,
producing a
resolved font name.
A user-specified font name that combines family and style,
or refers to a font that is not a member of a family,
is already “resolved”.
Fonts often have trademarked names,
and even Free Software fonts can require renaming upon modification.
groff
maintains a convention that a device’s serif font family
bears the name
‘T’
(“Times”),
its sans-serif family
‘H’
(“Helvetica”),
and its monospaced family
‘C’
(“Courier”).
Historical inertia has driven
groff’s
font identifiers to short uppercase abbreviations of font names,
as with
‘TR’,
‘TI’,
‘TB’,
‘TBI’,
and a special font
‘S’.
The default family used with abstract styles can be changed at any time; initially, it is ‘T’. Typically, device description files arrange abstract styles in the first four mounting positions in the order shown above. 168 The default mounting position, and therefore style, is always ‘1’ (‘R’). By issuing appropriate formatter instructions, you can override these defaults before your document writes its first glyph.
Terminals cannot change font families and lack special fonts. They support style changes by overstriking, or by altering ISO 6429/ECMA-48 graphic renditions (character cell attributes).
Next: Manipulating Type Size and Vertical Spacing, Previous: Page Control, Up: GNU troff Reference [Contents][Index]