groff: Changing Fonts
5.17.1 Changing Fonts
---------------------
-- Request: .ft [font]
-- Escape: \ff
-- Escape: \f(fn
-- Escape: \f[font]
-- Register: \n[.sty]
The 'ft' request and the '\f' escape change the current font to
FONT (one-character name F, two-character name FN).
If FONT is a style name (as set with the 'sty' request or with the
'styles' command in the 'DESC' file), use it within the current
font family (as set with the 'fam' request, the '\F' escape, or the
'family' command in the 'DESC' file).
It is not possible to switch to a font with the name 'DESC'
(whereas this name could be used as a style name; however, this is
not recommended).
With no argument or using 'P' as an argument, '.ft' switches to the
previous font. Use '\f[]' to do this with the escape. The old
syntax forms '\fP' or '\f[P]' are also supported.
Fonts are generally specified as upper-case strings, which are
usually 1 to 4 characters representing an abbreviation or acronym
of the font name. This is no limitation, just a convention.
The example below produces two identical lines.
eggs, bacon,
.ft B
spam
.ft
and sausage.
eggs, bacon, \fBspam\fP and sausage.
Note that '\f' doesn't produce an input token in 'gtroff'. As a
consequence, it can be used in requests like 'mc' (which expects a
single character as an argument) to change the font on the fly:
.mc \f[I]x\f[]
The current style name is available in the read-only number
register '.sty' (this is a string-valued register); if the current
font isn't a style, the empty string is returned. It is associated
with the current environment.
⇒Font Positions, for an alternative syntax.
-- Request: .ftr f [g]
Translate font F to font G. Whenever a font named F is referred to
in a '\f' escape sequence, in the 'F' and 'S' conditional
operators, or in the 'ft', 'ul', 'bd', 'cs', 'tkf', 'special',
'fspecial', 'fp', or 'sty' requests, font G is used. If G is
missing or equal to F the translation is undone.
Note that it is not possible to chain font translations. Example:
.ftr XXX TR
.ftr XXX YYY
.ft XXX
=> warning: can't find font `XXX'
-- Request: .fzoom f [zoom]
-- Register: \n[.zoom]
Set magnification of font F to factor ZOOM, which must be a
non-negative integer multiple of 1/1000th. This request is useful
to adjust the optical size of a font in relation to the others. In
the example below, font 'CR' is magnified by 10% (the zoom factor
is thus 1.1).
.fam P
.fzoom CR 1100
.ps 12
Palatino and \f[CR]Courier\f[]
A missing or zero value of ZOOM is the same as a value of 1000,
which means no magnification. F must be a real font name, not a
style.
Note that the magnification of a font is completely transparent to
troff; a change of the zoom factor doesn't cause any effect except
that the dimensions of glyphs, (word) spaces, kerns, etc., of the
affected font are adjusted accordingly.
The zoom factor of the current font is available in the read-only
number register '.zoom', in multiples of 1/1000th. It returns zero
if there is no magnification.