[fa.laser-lovers] font spacing and scaling

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

From: adobe!taft@Glacier (Ed Taft)

Since a lot of information, misinformation, and speculation has been
flying around concerning character spacing, it's time to set the record
straight about how spacing is actually done in the Apple LaserWriter
and other PostScript printers.

Most of the issues about spacing derive from the methods used to
scale characters to different sizes. Considerable misunderstanding can
arise from confusing "geometric" (or "optical") scaling with
"typographic" scaling. Since PostScript actually supports both, an
explanation is in order.

First, the PostScript imaging model allows for arbitrary linear
transformations to be performed on any part of a page, including
any text that happens to be there. This geometric scaling capability is
absolutely essential in the graphic arts world, CAD/CAM applications,
and many other environments in which components of a page are composed
independently and later incorporated into an overall layout.
Traditionally this has been done by optical means (photographic
reduction and enlargement), which preserves the relative sizes, shapes,
and positions of marks on the page.

Geometric scaling has an important ramification: all font metrics
(widths and spacings) are mapped via the linear transformation. This
is essential, since otherwise the relative positions of elements of a
page would change. In a digital implementation, this implies that
font metrics have fractional components.

Because of this, each character is originally placed on a fractional
pixel position, which must then be rounded to the nearest pixel
(e.g., 1/300 inch on the LaserWriter). As characters become small
relative to the pixel size, this rounding begins to have visible
effects on inter-character spacing. Increasing the resolution (e.g.,
to 1270 or 2540 pixels per inch on the Linotronic 300/P typesetter)
reduces the effects of rounding, resulting in much more accurate
spacing.

Another kind of scaling is "typographic". Various aspects of
typographic scaling have been discussed in laser-lovers on a number of
occasions. Having different "design sizes" for a font is an aspect of
typographic scaling.

As characters become small, type designers would like them to change in
several ways to improve appearance and legibility. Typical changes are
to increase the x-height, open up the counters, and increase the
inter-character spacing relative to the size of the character.

In the old days of hot type, these kinds of design changes from point
size to point size were the rule. But since the advent of phototypesetting,
such changes are the exception. For instance, ITC offers only one
design for a given face (except that some faces have a very large
"display" size). It is intended that the letter shapes be geometrically
scaled and that the relative spacing between characters be increased as
the letters are made smaller.

Both geometric scaling and typographic scaling are useful in their
appropriate contexts. In PostScript, geometric scaling is the default,
because it minimizes the burden on composition programs (only one set
of metrics per face are required for determining placement and
justification of any size of text). However, given designs for fonts
to be used at small sizes, it is quite easy to make inter-character
spacing be a function of both the target point size and the device
resolution. Sumner Stone (Adobe's directory of typography) has done
some of this to illustrate how PostScript users can control typographic
spacing.

The point of all this discussion is that there is no single "correct"
approach to character scaling and spacing. There are several approaches
which are incompatible to some degree and each of which is appropriate
in different contexts. PostScript uses one approach by default, but
provides users the flexibility to employ other approaches.

	Ed Taft
	Adobe Systems, Inc.

Notices:
  PostScript is a trademark of Adobe Systems, Inc.
  LaserWriter is a trademark of Apple Computer, Inc.
  Linotronic 300/P is a trademark of Allied Corp.

laser-lovers@uw-beaver (04/29/85)

From: naiman.pa@Xerox.ARPA

Unfortunately, I am still a little mystified as to the spacing/scaling
issues.  Below are some excerpts from Ed Taft's recent article (denoted
with the '>' at the beginning of the lines) followed by my
comments/impressions/questions.  My major concern here is to
disambiguate scaling and spacing issues and how PostScript handles them.

> Most of the issues about spacing derive from the methods used to scale
> characters to different sizes. Considerable misunderstanding can arise
> from confusing "geometric" (or "optical") scaling with "typographic"
> scaling. Since PostScript actually supports both, an explanation is in
> order.

This implies that PostScript supports both forms of *scaling*.

> Having different "design sizes" for a font is an aspect of typographic
> scaling. As characters become small, type designers would like them to
> change in several ways to improve appearance and legibility. Typical
> changes are to increase the x-height, open up the counters, and increase
> the inter-character spacing relative to the size of the character.

Note that *spacing* is just one of the issues in typographic *scaling*.

> In the old days of hot type, these kinds of design changes from point
> size to point size were the rule. But since the advent of
> phototypesetting, such changes are the exception.

The following is my understanding of the evolution of spacing/scaling as
paraphrased from "Computer-Aided Letter Design", by Kindersley and
Wiseman, in Printing World, October 1979, pp. 12-17.

    In early phototypesetters, the size of the letter image was controlled
    by interchanging several lenses or by employing a zoom lens of variable
    focal length. The adjustment of interletter spacing for special letter
    combinations was much simpler than for metal type.  On the other hand, a
    significant advantage of hot-metal typography was given up: the type
    design could not be varied with the size of the type without preparing a
    new master image.  The cost of additional master-image carriers and the
    inconvenience of interchanging them discouraged their use.  One would
    have thought that some of the restrictions of technique imposed by the
    old methods would be lifted at the first opportunity.

In other words, while the new technology allowed for improved spacing,
it set the quality of the fonts back a ways.  Moral: just because
economic issues constrained the use of true-cut masters in
phototypesetters, does not mean that we should be satisfied today with
geometrically scaled fonts.

> For instance, ITC offers only one design for a given face. It is
> intended that the letter shapes be geometrically scaled and that the
> relative spacing between characters be increased as the letters are made
> smaller.

Note that this only addresses one aspect of scale modification (i.e.,
spacing).  Moreover, just because ITC (and most everyone else) relies on
a single master, does not mean that Adobe (or some other company that
wants to be at the leading edge) should not strive for higher quality
fonts through 'true-cut' masters.

> In PostScript, geometric scaling is the default, because it minimizes
> the burden on composition programs (only one set of metrics per face are
> required for determining placement and justification of any size of
> text). However, given designs for fonts to be used at small sizes, it is
> quite easy to make inter-character spacing be a function of both the
> target point size and the device resolution. Sumner Stone (Adobe's
> directory of typography) has done some of this to illustrate how
> PostScript users can control typographic spacing.

Given designs by whom?  I take it Adobe isn't providing them.  Note that
this is the first time Ed uses the term 'typographic spacing' and that
this is in fact all that PostScript can handle (i.e., typographic
spacing, not typographic scaling).

> The point of all this discussion is that there is no single "correct"
> approach to character scaling and spacing. There are several approaches
> which are incompatible to some degree and each of which is appropriate
> in different contexts. PostScript uses one approach by default, but
> provides users the flexibility to employ other approaches.

This implies that PostScript supports both forms of spacing in addition
to both forms of scaling.

My conclusions from Ed's article are that PostScript supplies a single
master for each font which can be geometrically scaled to various sizes.
Furthermore, as a default, the spacing data are also geometrically
scaled, but could (through user programming) be 'typographically'
scaled.  However, short of designing your own font (or, I suppose
purchasing one from someone else), PostScript does NOT provide any way
to typographically SCALE the master font.  Have I got that right Ed?


Avi Naiman
University of Toronto
avi@toronto.csnet
Summer address:
Naiman.pa@Xerox.Arpa