Let us begin with the font formats.
Type 1 files are conceptually
simpler. The manual is
a readable 100-page booklet,
the "black book". Compare this
500+ undecypherable error-filled spec
must be downloaded and printed.
If you are not a computer scientist
with at least a B average from MIT,
you can forget about
understanding the truetype specs.
The type 1 people put the absolute minimum
in a font: name information, character width
information, an encoding vector (the
encoding vector says in
what numerical position we must place the
letter "a", for example), and the character
outlines in the form of cubic Bezier curves.
Some hinting is provided, but the format
is light, with hints taking up one or two lines
of code per character. (Hinting provides
information that some output devices such as screen
renderers could use to make certain places
of the character outlines align with pixels.)
Because of this simplicity, it was easy, early on,
to develop editors and tools for the
type 1 format. There are human-readable forms of type 1
fonts, and somehow, the fonts feel like
the cars from the fifties and sixties---in
case of a problem, they can easily be fixed
by the driver or any random mechanic,
unlike the modern day machines with their
electronic ignitions and remote control starters.
Professional designers often alter an
existing font (I hate to say "always", although
that is not far from the truth) for a particular
contract. Type 1 permits easy adaptation,
from a simple change of font name to a replacement of an outline.
The cubic Bezier curves, with two intermediate
control points, allow for easy font editing, as
local changes do not cause extensive ripple effects
that need additional fixing.
Making renderers for laser printers and screen
is easy because type 1
is integrated with the postscript language,
for which renderers and printing engines are
easily available. This coupling of type 1 and postscript
was essential in the early development.
it was a stroke of genius.