See the difference!
First, just to motivate what follows, download and compare the
following two PDF files, both created from the same TeX input using
tex and dvips to create a PostScript file and then
Adobe Acrobat Distiller (TM) to convert from PostScript to PDF(*).
The first uses fonts bitmapped at 600 dpi (the default configuration
of dvips), the second uses scalable fonts.
Zoom in on a word and you can see what's happening: the 600dpi version
does not have the "infinite resolution" that the scalable version does
(guess what: it only has 600dpi). This makes no difference when
printing to a device with 600dpi resolution, but a helluvalot of
difference when viewing on screen with some other incommensurate
resolution.
Using Computer Modern Type 1 Fonts with Dvips
In a nutshell, the issue is that by default dvips assumes that you are
sending your output to a 600dpi printer and creates a PostScript file
with embedded Computer Modern fonts bitmapped at this resolution.
There are two ways to make dvips use scalable fonts instead:
- Tell it not to use the default:
$ dvips -P pdf file.dvi
the -P pdf command line switch tells dvips to produce output
for the "printer" called "pdf". In practice, this means dvips will
use a different configuration file, in this case
/usr/share/texmf/dvips/config/config.pdf
which is set up to produce output with scalable fonts.
- Change the default. This means altering the default configuration
file
/usr/share/texmf/dvips/config/config.ps
so that dvips produces output with scalable fonts even without the
"-P" command line switch. This requires only a couple of steps:
- Symlink the font maps into the right directory:
# cd /usr/share/texmf/dvips/config
# ln -s ../bluesky/psfonts.amz ../bluesky/psfonts.cmz .
(N.B. there is a necessary floating period at the end of the last line
above.)
- Add these font maps to the list of Type 1 fonts that dvips will
use: edit the file /usr/share/texmf/dvips/config/config.ps
and add the two lines below the three comments
% This shows how to add your own map file.
% Remove the comment and adjust the name:
% p +myfonts.map
p +psfonts.amz
p +psfonts.cmz
Note that dvips was already using Type 1 for all the fonts
listed in the file /usr/share/texmf/dvips/config/psfonts.map.
Notes
(*) The intermediate .dvi and .ps steps could be
skipped by using a program such as pdftex to go directly from .tex
source to .pdf. Doing this avoids the whole problem, since dvips is
no longer involved in the process and pdftex uses scalable fonts by
default. However, if you have PostScript figures embedded in your
text, sometimes the easiest thing to do is to go through an
intermediate PostScript phase on your way to .pdf (although the
figures could be converted to .pdf using e.g. ps2pdf, and then
embedded in the text). Note also that ps2pdf is not an adequate
substitute for Adobe Distiller if you are trying to use scalable
fonts; quoting from the manpage
The one current great shortcoming of ps2pdf is that except
for the fourteen built-in PDF fonts, it converts all fonts
in the PostScript file to bitmap fonts in the PDF file,
and scrambles the character codes so that the output is
not searchable. (Normally it produces 720dpi bitmaps, but
you can change this using Ghostscript's -r option.) We
intend to mostly fix this by the end of 1998.
Resources