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'.