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.87 A
roff
formatter can change typefaces at any point in the text.
The basic faces are a set of styles combining upright and slanted
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.88 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;89 instead it works with a font description
file that characterizes it, including its glyph repertoire and the
metrics (dimensions) of each glyph.90 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 is given 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 is initially ‘T’. Typically, abstract styles are arranged in the first four mounting positions in the order shown above. 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).
• Selecting Fonts | ||
• Font Families | ||
• Font Positions | ||
• Using Symbols | ||
• Character Classes | ||
• Special Fonts | ||
• Artificial Fonts | ||
• Ligatures and Kerning | ||
• Italic Corrections | ||
• Dummy Characters |
Next: Manipulating Type Size and Vertical Spacing, Previous: Page Control, Up: GNU troff Reference [Contents][Index]