This is a summary of the helpful replies on how to modify `dvips &
mf' to automatically generate the proper TeX fonts for a printer with
a resolution that is not in the default list.
**********************************************************Quote:> I have a new LaserJet 4 MP and I set the
> default resolution to 600 DPI. I now routinely get the following
> messages from `mf' whenever I print a file:
> I don't know the mode for 600
* Special thanks to the repondants to my original request
* for information:
*
* &
**********************************************************
There are four differnt steps that have to be accomplished.
The steps are all described in documents in the dvips and mf
distributions but putting the pieces together took a few
tries so I thought that I would summarize them for the group.
You will need root privileges to change the system files.
1) First you have to add a printer description to Metafont.
On NeXT you have them in a file /usr/lib/mf/inputs/next.mf.
Values for your printer you may find in a file modes.mf, which
you will find on CTAN. Get from there also
'metafont-for-beginners' writeup which goes through details of
a process of "dumping" new bases and installing them.
Note: the mode file (modes-2.1.mf) that I found in CTAN had a
format that was different from the one on my system. I put
the parameters from the CTAN file into my format. The
resulting entry in /usr/lib/mf/inputs/next.mf is:
mode_def ljfour = % 600dpi HP LaserJet 4
proofing:=0; % no, we're not making proofs
fontmaking:=1; % yes, we are making a font
tracingtitles:=0; % no, don't show titles in the log
pixels_per_inch:=600; % obtained from CTAN modes.mf
blacker:=.25; % OLD style -- don't use mode_param
fillin:=0;
o_correction:=1;
enddef;
laserjetfour := ljfour;
2) The new `modes' must be used to create a plain.base file
for mf. The description for this process is in the dvips
INSTALLATION file: "To make a proper plain.base, assuming the
local mode definitions are contained in local.mf (on the NeXT,
next.mf; on the Amiga, amiga.mf), type the following command
(assuming csh under UNIX):
localhost> inimf "plain; input local; dump"
(I used the next.mf file, of course.) Now, copy the plain.base file
from the current directory to where the base files are stored on
your system."
3) plain.base has to be moved (or copied) to the directory
/usr/lib/mf/bases and as indicated in the 'metafont-for-beginners'
writeup mentioned above: "watch out during updates!
If {\tt mf.base} is a {\em hard link\/}
to {\tt plain.base}, then replacing {\tt plain.base} with its
new version severs the link: {\tt mf} will still load {\tt mf.base},
but it will be the old version! The proper procedure is to remove
the old {\tt mf.base}, and relink. On {\sc unix}:
\begin{verbatim}
rm mf.base
ln plain.base mf.base
\end{verbatim}
On most {\sc unix\/} systems, {\tt ln -f} will automatically remove
the second file (if present) --- in this case, mf.base --- before
linking." (Not mine, the link was cut and the old mf.base was
sitting there.)
4) Assuming that you called the new mode something like 'ljfour'
(note that I also made the alias laserjetfour := ljfour;) now you
need to edit the MakeTeXPK script to include the following lines
inside the if/elseif construction:
elif test $BDPI = 600
then
MODE=ljfour
Note that you should change the script in the /usr/bin directory
or where ever you system has its executables.
5) Try it. I used the test.tex file from the dvips source
distribution. This is a nice, single-page, robust test of dvips and
forces the automatic font generation ... dvips -D600 test
Good luck and thanks,
Dave Morrissey
[ Prof. D.J. Morrissey....................voice: 1-517-333-6321 ]
[ Department of Chemistry and...............FAX: 1-517-353-5967 ]
[ National Superconducting Cyclotron Lab........................]
[ Michigan State University, East Lansing, MI, 48824............]