Outline and bitmap fonts compared

In principle, given adequate resolution, the screen preview
quality of documents set in bitmap fonts, and set in outline
fonts, should be comparable, since the outline fonts have to
be rasterized dynamically anyway for use on a printer or a
display screen.

Sadly, this is not the case with versions of Adobe Acrobat
Reader, acroread, and Exchange, acroexch
(version 5.x or earlier); they do a poor job of
downsampling high-resolution bitmap fonts to low-resolution
screen fonts. This is particularly inexcusable, inasmuch as
the co-founder, and CEO, of Adobe Systems, is the author of
one of the earliest publications on the use of gray levels
for font display: [
John E. Warnock, The display of characters using
gray level sample arrays, Computer Graphics,
14 (3), 302--307, July, 1980.
]

By contrast, Paul Vojta's excellent xdvi TeX DVI
file viewer for the X Window System does a fine job of
subsampling laserprinter fonts (typically 300dpi or
600dpi) down to screen resolutions that are integer
divisors of the original font resolution, provided
that the display is capable of more than two intensity
levels (i.e., color or gray-scale).

In mid-2003, Adobe released Acrobat 6 for Microsoft
Windows and Apple MacOS (but alas, not for any Unix
platform), and that version of Reader now does a much
better job with bitmap fonts.

Also, recent research from the University of Nottingham
Electronic Publishing Research Group has developed a
plugin for Acrobat Reader, and font substitution tools
that may make it possible to convert some existing PDF
files produced with (La)TeX + dvips + (bitmap fonts) + (a
PostScript-to-PDF conversion tool) to PDF files with
outline fonts:

The rest of this document shows how you can make an
experiment to see the differences for yourself on your own
screen.

Preparation for the experiment

To view on your screen the samples given below, you need to
have a Portable Document Format (PDF) file viewer, often
either Acrobat Reader or Acrobat Exchange, installed on your
system. The former is free, and available from Adobe
Systems for
download
in versions for popular operating systems. The latter was
formerly a standalone product, but is now included in the
Adobe
Acrobat Pro
release.

Finally, there is another PostScript-to-PDF converter,
PStill
(pronounced ``p-still'') which runs on Unix and Microsoft
Windows systems.

If you don't have a PDF viewer installed, you may still be
able to download the sample PostScript files, and view them
on your screen with a PostScript previewer. On UNIX
systems, these have names like gs,
ghostview, gv, showps (SGI),
xpsview (SGI), and pageview (Sun).

Besides having a PDF viewer installed, you should have
informed your Web browser how to invoke the viewer.
First(ly), on UNIX systems, there should be an entry in the
browser's mime.types file to relate a
.pdf file extension to an application type, like
this:

application/pdf pdf

Second(ly), there must also be an entry in the browser's
mailcap file that tells it what program to run to
handle the PDF file, like this one for Adobe Acrobat Reader:

application/pdf; acroread -tempFile %s

If you cannot modify these system-wide browser files, then
put those entries in private $HOME/.mime.types
and $HOME/.mailcap files, and then once they are
working properly, show your system manager why they should
be moved to the system-wide files.

Recent versions of acroread can be configured as
netscape plugins, as documented in the
INSTGUID.TXT file in the Acrobat Reader
distribution. This will result in the PDF display
appearing in the netscape window, rather than in
a separate window. In such a case, you must not
include the above line in the mailcap file.

The outline fonts are Bigelow & Holmes LucidaBright,
LucidaBright-Demi, LucidaBright-Italic, LucidaBright-Oblique,
LucidaNewMath-AltItalic, LucidaNewMath-Arrows,
LucidaNewMath-Symbol, LucidaSans, LucidaSans-Demi, and
LucidaSans-Typewriter from
Y&Y
.
The Lucida family is well known through its use for the
last several years in
Scientific American
.
It was initially designed expressly for high legibility on
low-resolution printing devices, and consequently, its
lower-case letters are somewhat larger than in other
fonts. This makes it a good choice for screen display as
well. It also means that the quality of the bitmap
fonts used in this experiment is about as good as
possible; results with other fonts may be significantly
worse.

The bitmap forms were generated by Paul Vojta's
gsftopk utility, which rasterizes Type 1 font
outlines to any requested resolution, without making
device-specific adjustments like Metafont is capable of.

When you view these files, be sure to make side-by-side
comparisons between them by launching multiple browser
windows, and experimenting with the PDF viewer
magnification option.

Current TeX DVI drivers that provide PostScript output use
a mapping file, psfonts.map, to relate TeX font
names to physical file names found in the font search
path. Typical entries in this file look like this:

The first entry on each line is the TeX Font Metric
(.tfm) file base name. The second entry is the
PostScript font name. The remaining entries may be a
quoted string containing driver-specific PostScript code
for modifying the font, or a left-angle-bracket-prefixed
PostScript font file name, generally ending in
.pfa (PostScript Font ASCII) or .pfb
(PostScript Font Binary).

The presence of this last item tells the DVI driver that
the font must be included in the output PostScript
file. Otherwise, the font is assumed to be
printer-resident (or else, to be supplied later by the
printer driver, although that practice is uncommon on UNIX
systems, and also, makes the PostScript file useless
elsewhere).

Normally, psfonts.map does not contain entries
for the standard Computer Modern family, because (a) not
all sites have outline versions installed, (b) unless
outline font subsetting is supported by the DVI driver,
the output PostScript files may be considerably larger
than with bitmap fonts, and (c) outline fonts must be
rasterized in the printer. Points (b) and (c) both
contribute to increased print times.

Modern TeX installations include a MakeTeXPK
script, or its equivalent, that DVI drivers invoke to
create a missing font on-the-fly. That script examines
the psfonts.map to see if the requested font is
specified there. If so, it invokes a font rasterizer,
such as gsftopk or ps2pk, to produce a
standard TeX PK-format bitmap font. Otherwise, it invokes
Metafont to generate a GF-format bitmap font, and then
runs gftopk to convert that to a more compact
PK-format bitmap font.

Thus, to make your TeX DVI driver use outline fonts instead
of bitmap fonts, you need to make sure that psfonts.map
lists all of the fonts that you want to use in outline form.

At my site, we normally want to use bitmap fonts for fast
compact PostScript output on local printers, but for use
in PostScript files for the World Wide Web, or in PDF
files, we want outline fonts. The normal DVI drivers
default to using bitmap fonts. Outline fonts are provided
by scripts dvialw-type1 and dvips-type1.
They simply redefine the search path used by the DVI
driver to find psfonts.map, so that a directory
containing an extended psfonts.map file is placed
before the directory that has the normal one, then invoke
the DVI driver. In particular, the extended mapping file
has entries for all of the members of the Computer Modern
font family, which is the one that TeX uses by default.

There are two available sets of Computer Modern outline
fonts, the BaKoMa family, and the BlueSky Research/AMS
family, both available in the Comprehensive TeX Archive
Network (CTAN) under the directory
/tex-archive/fonts/cm/ps-type1. Visit
the TUG CTAN server
for a list of mirror sites to find one near you. Both font
sets carry license restrictions that govern their use;
make sure to read them!