mfmodes.conf.5
mfmodes.conf - PPR's MetaFont modes identification file
This file is used by ppad when setting the default filter options. One of
the default options is mfmode=. The mfmode= option is used by the DVI filter
to select an appropriate MetaFont mode for a given printer.
Before consulting this file, ppad reads the printer's PPD file and extracts
the values from the following lines:
*Product:
*ModelName:
*NickName:
*DefaultResolution:
The extracted values are then compared to values on lines in the mfmodes.conf
file. Each line in the mfmodes.conf file has the following format:
product:modelname:nickname:resolution:mfmode
The file is read top to bottom until a match is found or the end is reached.
The information from the PPD file is compared to the first four fields of each
line. A ``*'' may be used as a wildcard in any or all of the first four fields.
When a match is found, the value from the fifth field is used as the value for
the default filter option ``mfmode=''.
The *Product: line from the PPD file generally identifies the manufacturer and
model line of which the printer is a part. Since all printers which use one
product string generally use the same print mechanism, this parameter alone is
usually enough to make selection of the correct MetaFont mode possible. For
this reason, most entries in the mfmodes.conf file will have the product
field filled in but the modelname, nickname, and resolution fields will
all be ``*''.
For example, the following line:
LaserJet 4:*:*:*:ljfour
will match if the ``*Product:'' line from the PPD file has a value of "(LaserJet
4)". The fact that fields two through four contain astrisks indicates that any
value is acceptable for product, modelname, and resolution.
The GhostScript interpreter has a product string of ``Ghostscript'' or "Alladin
GhostScript". Therefor, the printer must be identified by means of its PPD
files ``*ModelName:'' line. Here are some reasonable configuration lines for
printers driven by Ghostscript:
*:Dot Matrix 24 pin Ghostscript:*:*:NEChi
*:HP LaserJet III Ghostscript:*:*:CanonCX
*:HP DeskJet 500 Ghostscript:*:*:HPDeskJet
The ``*NickName:'' parameter in a PPD file starts out identical to the
``*ModelName:'' line. You might change it if you make a special hacked-up copy of
the PPD file for a particular printer. For example, you might change it to
``David's HP DeskJet 500 Ghostscript''.
There are valid reasons for using a modified PPD file, but why changes to the
PPD file should dictate a different MetaFont mode is hard to say. (Changes to
the ``*DefaultResolution:'' line are covered by the next section.) Unless you
know a good reason not to, you should always put a ``*'' in this field.
Generally, you can just put ``*'' in the resolution field. There are however
two possible reasons for filling in the value from the PPD file's
``*DefaultResolution:'' line.
One is if the printer's resolution can be changed. A change in resolution
requires a change in the MetaFont mode. You might have several different PPD
files for the same make and model of printer, one for each resolution. Here is
a (fictitous) example:
*:HP LaserJet III Ghostscript:*:300dpi:CanonCX
*:HP LaserJet III Ghostscript 150DPI:*:150dpi:ljlo
The other reason for putting a value other than ``*'' in the resolution field
is if the line is one at the end of the file which is intened to to be a best
guess for printers which have not matched any of the lines above. These are
some reasonable last resort lines:
*:*:*:300dpi:CanonCX
*:*:*:600dpi:ljfour
*:*:*:360dpi:NEChi
The MetaFont mode names in the mfmodes.conf file that comes with PPR are
taken from the modes.mf file maintained by Karl Berry. A recent version
of his modes.mf file is distributed with the PPR source code, in the
misc directory. His file defines a number of aliases for each mode. When
adding entries to PPR's mfmodes.conf file you should try not to use two
different names that both refer to the same mode in modes.mf because that
would result in the generation of duplicate sets of identical pk font files.
The mfmodes.conf file supplied with PPR always uses the first alias from
Karl Berry's modes.mf file.
ppad(8), ``PPR, a PostScript Print Spooler'', ftp://ftp.tug.org/tex/modes.mf.
PPR was written at Trinity College during 1993--1997.
David Chappell, Trinity College Computing Center, Hartford, Connecticut.