Artificial Fonts
----------------
There are a number of requests for artificially creating fonts.
These are largely vestiges of the days when output devices did not have
a wide variety of fonts, and when `nroff' and `troff' were separate
programs. These are no longer necessary in GNU `troff'. Nevertheless,
they are supported.
- Request: .ul [lines]
The `ul' request normally underlines subsequent lines if a tty
output device is used. Otherwise, the lines are printed in italics
(only the term `underlined' is used in the following). The single
argument is the number of input lines to be underlined; with no
argument, the next line is underlined. If LINES is zero or
negative, stop the effects of `ul' (if it was active). Requests
and empty lines do not count for computing the number of underlined
input lines, even if they produce some output like `tl'. Lines
inserted by macros (e.g. invoked by a trap) do count.
At the beginning of `ul', the current font is stored and the
underline font is activated. Within the span of a `ul' request,
it is possible to change fonts, but after the last line affected by
`ul' the saved font is restored.
This command is associated with the current environment. The
underline font can be changed with the `uf' request.
Note:Troff and Nroff Mode, for a discussion how underlining is
implemented in for tty output devices, and which problems can
arise.
The `ul' request does not underline spaces.
- Request: .cu [lines]
The `cu' request is similar to `ul' but underlines spaces as well
(if a tty output device is used).
- Request: .uf font
Set the underline font (globally) used by `ul' and `cu'. By
default, this is the font at position 2. FONT can be either a
non-negative font position or the name of a font.
- Request: .bd font [offset]
- Request: .bd font1 font2 [offset]
- Register: \n[.b]
Artificially create a bold font by printing each character twice,
slightly offset.
Two syntax forms are available.
* Imitate a bold font unconditionally. The first argument
specifies the font to embolden, and the second is the number
of basic units, minus one, by which the two characters is
offset. If the second argument is missing, emboldening is
turned off.
FONT can be either a non-negative font position or the name
of a font.
OFFSET is available in the `.b' read-only register if a
special font is active; in the `bd' request, its default unit
is `u'.
* Imitate a bold form conditionally. Embolden FONT1 by OFFSET
only if font FONT2 is the current font. This command can be
issued repeatedly to set up different emboldening values for
different current fonts. If the second argument is missing,
emboldening is turned off for this particular current font.
This affects special fonts only (either set up with the
`special' command in font files or with the `fspecial'
request).
- Request: .cs font [width [em-size]]
Switch to and from constant character space mode. If activated,
the width of every character is WIDTH/36 ems. The em size is
given absolutely by EM-SIZE; if this argument is missing, the em
value is taken from the current font size (as set with the `ps'
request) when the font is effectively in use. Without second and
third argument, constant character space mode is deactivated.
Default unit for EM-SIZE is `z'; WIDTH is an integer.