6.1.2.4 Device Control Commands

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 nameline break

The ‘F’ stands for Filename.

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 sline break

The ‘f’ stands for font.

Mount font position n (a non-negative integer) with font named s (a text word). See Font Positions.

xH nline break

The ‘H’ stands for Height.

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

The ‘i’ stands for init.

Initialize device. This is the third command of the prologue.

xp‹line break

The ‘p’ stands for pause.

Parsed but ignored. The AT&T troff manual documents this command as

pause device, can be restarted

but GNU troff output drivers do nothing with this command.

xr n h vline break

The ‘r’ stands for resolution.

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 nline break

The ‘S’ stands for Slant.

Set slant to n (an integer in basic units ‘u’).

xs‹line break

The ‘s’ stands for stop.

Terminates the processing of the current file; issued as the last command of any intermediate troff output.

xt‹line break

The ‘t’ stands for trailer.

Generate trailer information, if any. In GNU troff, this is ignored.

xT xxxline break

The ‘T’ stands for Typesetter.

Set the name of the output driver to xxx, a sequence of non-whitespace characters terminated by whitespace. The possible names correspond to those of groff’s -T option. This is the first command of the prologue.

xu nline break

The ‘u’ stands for underline.

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 anythingline break

The ‘x’ stands for X-escape.

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.