[comp.fonts] Outline fonts at low resolution

elwell@tut.cis.ohio-state.edu (Clayton Elwell) (04/11/88)

There are several important issues within the general one of font
representation.  Several people have said things about outline fonts
and Adobe PostScript fonts in particular.  I've been working with
PostScript and Metafont for a while now, and I'd like to throw out
for your amusement some of the pbservations I have been able to make.

One basic issue is whether to store character images as bitmaps or as
algorithms by which those bitmaps can be derived.  This is a tradeoff.

On the one hand, using simple bitmaps gives you the ultimate control
over the appearance of the printed page.  It is relatively fast (given
a good high-speed communications channel) and the amount of space
required to store the character images will expand to fill all
available space on the host.  Also, bitmaps that look pretty good with
one marking engine will often look awful on another one that uses a
different imaging technology.  These are problems, but a printer
controller that accepts just bitmaps is very easy to implement.

On the other hand, using algorithmic fonts (such as PostScript or
Metafont) lets you store one representation that can take several
parameters (such as character size, printer resolution and technology,
and so forth) and derive the bitmaps "on the fly."  This requires a
lot more intelligence in the printer (or whatever is constructing the
page images), but saves on space, and can in fact save time if the
communication channel has finite bandwidth :-).

The simplest kind of algorithm is a simple outline that is scaled to
the approriate size.  This works reasonably well at high resolutions,
but fails at lower resolutions (such as 300 dpi) because of the lack
of resolution and positioning accuracy.  This most often manifests as
uneven widths of hairlines and other small features.  Anyone who has
used Fontographer(tm) on a Mac has encountered this problem.
On high resolution devices, though, smaller type can often look too
light, since these small features can get "washed out."

Metafont is in some senses the opposite extreme, since a given font
description can be arbitrarily parameterized.  This can require great
amounts of computing "horsepower," however flexible it may be.

What I have done in experiments, and what Adobe seems to do for their
PostScript typefaces, is to use outlines that are "adjusted" before a
character is imaged.  This involves such things as rounding hairlines
and strokes to an integral number of pixels, so as to preserve the
even texture of the text.  This is not easy, and to some extent
involves trial and error for each typeface, although automated tools
can help some here.  The end results seem pretty reasoanble.

Until we all have 2000+ dpi printers on our desks, there's going to be
a certain amount of messing about with the physical characteristics of
the printer.

-- 
Clayton M. Elwell <elwell@tut.cis.ohio-state.edu>
-=-
"You can't just take my dreams away, not with me watching"
	-- Holly Near