Each device control command starts with the letter ‘x’, followed by
a space character (optional or arbitrary space or tab in gtroff)
and a subcommand letter or word; each argument (if any) must be preceded
by a syntactical space. All ‘x’ commands are terminated by a
syntactical line break; no device control command can be followed by
another command on the same line (except a comment).
The subcommand is basically a single letter, but to increase
readability, it can be written as a word, i.e., an arbitrary sequence of
characters terminated by the next tab, space, or newline character. All
characters of the subcommand word but the first are simply ignored. For
example, gtroff outputs the initialization command ‘x i’
as ‘x init’ and the resolution command ‘x r’ as
‘x res’.
In the following, the syntax element <line break> means a syntactical line break (see Separation).
xF name<line break>Use name as the intended name for the current file in error
reports. This is useful for remembering the original file name when
gtroff uses an internal piping mechanism. The input file is not
changed by this command. This command is a gtroff extension.
xf n s<line break>Mount font position n (a non-negative integer) with font
named s (a text word). See Font Positions.
xH n<line break>Set glyph height to n (a positive integer in scaled points
‘z’). AT&T troff uses the unit points (‘p’)
instead. See Output Language Compatibility.
xi<line break>Initialize device. This is the third command of the prologue.
xp<line break>Parsed but ignored. The original UNIX troff manual writes
pause device, can be restarted
xr n h v<line break>Resolution is n, while h is the minimal horizontal
motion, and v the minimal vertical motion possible with this
device; all arguments are positive integers in basic units ‘u’ per
inch. This is the second command of the prologue.
xS n<line break>Set slant to n (an integer in basic units ‘u’).
xs<line break>Terminates the processing of the current file; issued as the last
command of any intermediate troff output.
xt<line break>Generate trailer information, if any. In gtroff, this is actually
just ignored.
xT xxx<line break>Set name of device to word xxx, a sequence of characters ended by
the next white space character. The possible device names coincide with
those from the groff -T option. This is the first
command of the prologue.
xu n<line break>Configure underlining of spaces. If n is 1, start
underlining of spaces; if n is 0, stop underlining of spaces.
This is needed for the cu request in nroff mode and is ignored
otherwise. This command is a gtroff extension.
xX anything<line break>Send string anything uninterpreted to the device. If the line
following this command starts with a ‘+’ character this line is
interpreted as a continuation line in the following sense. The ‘+’
is ignored, but a newline character is sent instead to the device, the
rest of the line is sent uninterpreted. The same applies to all
following lines until the first character of a line is not a ‘+’
character. This command is generated by the gtroff escape
sequence \X. The line-continuing feature is a gtroff
extension.