groff: DESC File Format
8.2.1 'DESC' File Format
------------------------
The 'DESC' file can contain the following types of line. Except for the
'charset' keyword, which must come last (if at all), the order of the
lines is not important. Later entries in the file, however, override
previous values.
'charset'
This line and everything following in the file are ignored. It is
allowed for the sake of backwards compatibility.
'family FAM'
The default font family is FAM.
'fonts N F1 F2 F3 ... FN'
Fonts F1 ... FN are mounted in the font positions M+1, ..., M+N
where M is the number of styles. This command may extend over more
than one line. A font name of 0 means no font is mounted on the
corresponding font position.
'hor N'
The horizontal resolution is N machine units. All horizontal
quantities are rounded to be multiples of this value.
'image_generator STRING'
Needed for 'grohtml' only. It specifies the program to generate
PNG images from POSTSCRIPT input. Under GNU/Linux this is usually
'gs' but under other systems (notably cygwin) it might be set to
another name.
'paperlength N'
The physical vertical dimension of the output medium in machine
units. This isn't used by 'troff' itself but by output devices.
Deprecated. Use 'papersize' instead.
'papersize STRING ...'
Select a paper size. Valid values for STRING are the ISO paper
types 'A0'-'A7', 'B0'-'B7', 'C0'-'C7', 'D0'-'D7', 'DL', and the US
paper types 'letter', 'legal', 'tabloid', 'ledger', 'statement',
'executive', 'com10', and 'monarch'. Case is not significant for
STRING if it holds predefined paper types. Alternatively, STRING
can be a file name (e.g. '/etc/papersize'); if the file can be
opened, 'groff' reads the first line and tests for the above paper
sizes. Finally, STRING can be a custom paper size in the format
'LENGTH,WIDTH' (no spaces before and after the comma). Both LENGTH
and WIDTH must have a unit appended; valid values are 'i' for
inches, 'c' for centimeters, 'p' for points, and 'P' for picas.
Example: '12c,235p'. An argument that starts with a digit is
always treated as a custom paper format. 'papersize' sets both the
vertical and horizontal dimension of the output medium.
More than one argument can be specified; 'groff' scans from left to
right and uses the first valid paper specification.
'paperwidth N'
The physical horizontal dimension of the output medium in machine
units. This isn't used by 'troff' itself but by output devices.
Deprecated. Use 'papersize' instead.
'pass_filenames'
Tell 'gtroff' to emit the name of the source file currently being
processed. This is achieved by the intermediate output command
'F'. Currently, this is only used by the 'grohtml' output device.
'postpro PROGRAM'
Call PROGRAM as a postprocessor. For example, the line
postpro grodvi
in the file 'devdvi/DESC' makes 'groff' call 'grodvi' if option
'-Tdvi' is given (and '-Z' isn't used).
'prepro PROGRAM'
Call PROGRAM as a preprocessor. Currently, this keyword is used by
'groff' with option '-Thtml' or '-Txhtml' only.
'print PROGRAM'
Use PROGRAM as a spooler program for printing. If omitted, the
'-l' and '-L' options of 'groff' are ignored.
'res N'
There are N machine units per inch.
'sizes S1 S2 ... SN 0'
This means that the device has fonts at S1, S2, ... SN scaled
points. The list of sizes must be terminated by 0 (this is digit
zero). Each SI can also be a range of sizes M-N. The list can
extend over more than one line.
'sizescale N'
The scale factor for point sizes. By default this has a value
of 1. One scaled point is equal to one point/N. The arguments to
the 'unitwidth' and 'sizes' commands are given in scaled points.
⇒Fractional Type Sizes, for more information.
'styles S1 S2 ... SM'
The first M font positions are associated with styles S1 ... SM.
'tcommand'
This means that the postprocessor can handle the 't' and 'u'
intermediate output commands.
'unicode'
Indicate that the output device supports the complete Unicode
repertoire. Useful only for devices that produce _character
entities_ instead of glyphs.
If 'unicode' is present, no 'charset' section is required in the
font description files since the Unicode handling built into
'groff' is used. However, if there are entries in a 'charset'
section, they either override the default mappings for those
particular characters or add new mappings (normally for composite
characters).
This is used for '-Tutf8', '-Thtml', and '-Txhtml'.
'unitwidth N'
Quantities in the font files are given in machine units for fonts
whose point size is N scaled points.
'unscaled_charwidths'
Make the font handling module always return unscaled character
widths. Needed for the 'grohtml' device.
'use_charnames_in_special'
This command indicates that 'gtroff' should encode special
characters inside special commands. Currently, this is only used
by the 'grohtml' output device. ⇒Postprocessor Access.
'vert N'
The vertical resolution is N machine units. All vertical
quantities are rounded to be multiples of this value.
The 'res', 'unitwidth', 'fonts', and 'sizes' lines are mandatory.
Other commands are ignored by 'gtroff' but may be used by postprocessors
to store arbitrary information about the device in the 'DESC' file.
Here a list of obsolete keywords that are recognized by 'groff' but
completely ignored: 'spare1', 'spare2', 'biggestfont'.