grotty (1) Linux Manual Page
NAME
grotty – groff driver for typewriter-like devices
SYNOPSIS
[ -bBcdfhioruUv ] [ -F dir ] [file …]
DESCRIPTION
grotty translates the output of GNU troff into a form suitable for typewriter-like devices. Normally grotty should be invoked by using the groff command with a -Tascii, -Tlatin1 or -Tutf8 option on ASCII based systems, and with -Tcp1047 and -Tutf8 on EBCDIC based hosts. If no files are given, grotty reads the standard input. A filename of – also causes grotty to read the standard input. Output is written to the standard output.
By default, grotty emits SGR escape sequences (from ISO 6429, also called ANSI color escapes) to change text attributes (bold, italic, colors). This makes it possible to have eight different background and foreground colors; additionally, bold and italic attributes can be used at the same time (by using the BI font).
The following colors are defined in tty.tmac: black, white, red, green, blue, yellow, magenta, cyan. Unknown colors are mapped to the default color (which is dependent on the settings of the terminal; in most cases, this is black for the foreground and white for the background).
Use the -c switch to revert to the old behaviour, printing a bold character c with the sequence “c BACKSPACE c” and an italic character c by the sequence “_ BACKSPACE c“. At the same time, color output is disabled. The same effect can be achieved by setting either the GROFF_NO_SGR environment variable or using the ‘sgr’ X command (see below).
(Debian-specific: The old behaviour is the default when using the man and mdoc macro packages, because most pagers either fail to cope with SGR escape sequences or need special options to do so. SGR output can be re-enabled permanently by editing /etc/groff/man.local and /etc/groff/mdoc.local, or temporarily by setting the GROFF_SGR environment variable to something non-empty.)
For SGR support, it is necessary to use the -R option of less(1) to disable the interpretation of grotty‘s old output format. Consequently, all programs which use less as the pager program have to pass this option to it. For man(1) in particular, either add -R to the PAGER environment variable, e.g.
-
PAGER=/usr/bin/less -R
export PAGER
or use the -P option of man to set the pager executable and its options, or modify the configuration file of man in a similar fashion. Note that with some man(1) versions, you have to use the MANPAGER environment variable instead.
grotty‘s old output format can be displayed on a terminal by piping through ul(1). Pagers such as more(1) or less(1) are also able to display these sequences. Use either -B or -U when piping into less(1); use -b when piping into more(1). There is no need to filter the output through col(1) since grotty never outputs reverse line feeds.
The font description file may contain a command
-
internalnamen
where n is a decimal integer. If the 01 bit in n is set, then the font is treated as an italic font; if the 02 bit is set, then it is treated as a bold font. The code field in the font description field gives the code which is used to output the character. This code can also be used in the \N escape sequence in troff.
If the DESC file contains the keyword unicode, grotty emits Unicode characters in UTF-8 encoding. Otherwise, it emits characters in a single-byte encoding depending on the data in the font description files. See the groff_font(5) man page for more details.
OPTIONS
Whitespace is permitted between a command-line option and its argument.
-b- Suppress the use of overstriking for bold characters. Ignored if
-cisn’t used. -B- Use only overstriking for bold-italic characters. Ignored if
-cisn’t used. -c- Use
grotty‘s old output format (see above). This also disables color output. (Debian-specific: This option is enabled by default when using themanandmdocmacro packages. It can be disabled by default permanently by editing /etc/groff/man.local and /etc/groff/mdoc.local, or temporarily by setting the GROFF_SGR environment variable to something non-empty.) -d- Ignore all
\Dcommands. Without thisgrottyrenders\D’l…’commands that have at least one zero argument (and so are either horizontal or vertical) using–,|, and+characters. In a similar way,grottyhandles\D’p…’commands which consist entirely of horizontal and vertical lines. -f- Use form feeds in the output. A form feed is output at the end of each page that has no output on its last line.
-Fdir- Prepend directory dir/devname to the search path for font and device description files; name is the name of the device, usually
ascii,latin1,utf8, orcp1047. -h- Use horizontal tabs in the output. Tabs are assumed to be set every 8 columns.
-i- Use escape sequences to set the italic text attribute instead of the underline attribute for italic fonts (‘I’ and ‘BI’). Note that most terminals (including xterm) don’t support this. Ignored if
-cis active. -o- Suppress overstriking (other than for bold or underlined characters in case the old output format has been activated with
-c). -r- Use escape sequences to set the reverse text attribute instead of the underline attribute for italic fonts (‘I’ and ‘BI’). Ignored if
-cis active. -u- Suppress the use of underlining for italic characters. Ignored if
-cisn’t used. -U- Use only underlining for bold-italic characters. Ignored if
-cisn’t used. -v- Print the version number.
USAGE
grotty understands a single X command produced using the \X escape sequence.
\X’tty: sgrn‘- If n is non-zero or missing, enable SGR output (this is the default), otherwise use the old drawing scheme for bold and underline.
ENVIRONMENT
- GROFF_NO_SGR
- If set, the old drawing scheme for bold and underline (using the backspace character) is active. Colors are disabled.
- GROFF_FONT_PATH
- A list of directories in which to search for the devname directory in addition to the default ones. See
troff(1) andgroff_font(5) for more details.
FILES
- /usr/share/groff/1.22.4/font/devascii/DESC
- Device description file for the
asciidevice. - /usr/share/groff/1.22.4/font/devascii/F
- Font description file for font F of the
asciidevice. - /usr/share/groff/1.22.4/font/devlatin1/DESC
- Device description file for the
latin1device. - /usr/share/groff/1.22.4/font/devlatin1/F
- Font description file for font F of the
latin1device. - /usr/share/groff/1.22.4/font/devutf8/DESC
- Device description file for the
utf8device. - /usr/share/groff/1.22.4/font/devutf8/F
- Font description file for font F of the
utf8device. - /usr/share/groff/1.22.4/font/devcp1047/DESC
- Device description file for the
cp1047device. - /usr/share/groff/1.22.4/font/devcp1047/F
- Font description file for font F of the
cp1047device. - /usr/share/groff/1.22.4/tmac/tty.tmac
- Macros for use with
grotty. - /usr/share/groff/1.22.4/tmac/tty-char.tmac
- Additional character definitions for use with
grotty.
Note that on EBCDIC hosts, only files for the cp1047 device is installed.
BUGS
grotty is intended only for simple documents.
There is no support for fractional horizontal or vertical motions.
There is no support for \D commands other than horizontal and vertical lines.
Characters above the first line (i.e. with a vertical position of~0) cannot be printed.
Color handling differs from grops(1). \M doesn’t set the fill color for closed graphic objects (which grotty doesn’t support anyway) but changes the background color of the character cell, affecting all subsequent operations.
SEE ALSO
groff(1), troff(1), groff_out(5), groff_font(5), groff_char(7), ul(1), more(1), man(1), less(1)
