[fa.laser-lovers] Device-independent fonts

laser-lovers@uw-beaver (01/28/85)

From: Lynn Ruggles <ruggles@Coyote>

> perhaps I am confused, but Brian seems to be saying that PostScipt uses
> a size-independent outline description for a character in a particular
> font, and can arbitrarily rotate it before conversion to a bitmap.
> I was under the impression that there was no such size-independent
> representation.  Isn't that what the whole hoopla over bit-tuning is
> all about?
> Or is the outline description some incredibly sophisticated
> representation that takes all into account?

Contrary to popular belief, it is not only possible to use size-independent
outline representation for characters, it happens to be just about the only
way that they are represented in the major typeface creation systems.
(There are currently no actual 'design' systems; there are copying systems
which provide sophisticated means of inputting an already existing design).
Typically, a character design is laid on a digitizing tablet and points on
the edges of the character are indicated with a puck or lightpen. These
points are referred to as control points.  Each of the systems uses some
form of curve which is fit to the specified control points. Although most of
the systems use spline curves, several use arcs of circles. The description
of the character which is saved consists of the control points and some
indication of what sort of line or curve connects the points.  When a
particular font is desired, the program is run with the desired size and
style specified and all sorts of specially designed routines are used to
determine exactly where the bits should be turned on or off.  The
representation is not 'incredibly sophisticated,' it is more the case that
the algorithms used in the programs to generate the fonts are sophisticated.
These algorithms have been specially designed to take into account the
pecularities associated with type designs. For example, they probably all
have some mechanism to ensure that the stem width of all characters in a
font is the same size.  

The whole point of these systems is to store a device- and resolution-
independent representation of the data and the only representation which has
been found to be satisfactory is some combination of points and curves.
Ikarus, developed by Rubow-Weber of Hamburg, Metafont, developed by Don
Knuth at Stanford, LetterIP, developed by Camex for Bitstream (both in
Boston) , and several other systems including PostScript, developed at
Xerox, and the system used by Imagen in-house (on which they have input
Lucida by Bigelow&Holmes), are all set up this way. (I have seen
demonstrations of or have used Ikarus, Metafont and LetterIP, and have
talked to people at both Adobe and Imagen, but have never seen their systems
firsthand.)

Bit tuning is only used as a last resort, and I am not even sure that the
systems themselves provide this feature (or dis-feature as the case may be).
I know that the LetterIP system has been extended with a bit-editor which
runs on a Symbolics LISP machine and which allows a low-resolution font to
be tuned for a particular size or device. The more sophisticated the system,
the more bit-tuning can be done automatically by the algorithms incorporated
in the program. The Ikarus system provides routines which do 'dentation' or
the notching of an edge. If a one pixel-wide stem is too thin, but a two
pixel-wide stem is too wide, the system can produce a stem which is two
pixels wide but has alternate pixels turned off and on along one edge, thus
resulting in a stem which looks like it is one and a half pixels wide.

All of the systems produce bitmaps for use with printers, and the only
difference is that PostScript allows the process to be delayed until a file
is actually sent to the printer, rather than generating the bitmaps ahead of
time. This 'holding-out' allows the system to incorporate a few extra
parameters (such as rotation, stretching, etc.) when it finally does
generate the characters, thus giving it much more flexibility in what can
actually be printed on the page.

> Certainly MetaFont is incapable of producing a uniformly
> great font at 300 dpi resolution, 10 point.

Although I have not tried using Metafont to make a complete font, I have
used it to design individual characters or logos and have seen the results
that other designers have achieved in using the system. Do not judge the
system based on just one example. Certainly one lousy program written in
Pascal does not call for a condemnation of the language (although other
features might). The only complete typeface thus far produced has been the
Computer Modern series and that was produced by a computer scientist, not a
type designer.  Until a type designer has used the system (or tried to use
it and failed) to produce a complete typeface, the system cannot be
evaluated fairly.  There is nothing inherent in the system that precludes it
from being able to produce a great font at 10pt, 300dpi or any other
resolution (although it, as is the case with most other systems, has a
tendency to break down at very low resolutions, a designer could create a
design which takes into account the low resolution problems and the resulting
font could be very satisfactory). 

Lynn Ruggles
Digital Typography Group
Stanford University