🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.postscript
Article #626

Re: Why are postscript fonts so tight?

#626
From: Dick Dunn
Date: Wed, 28 Jun 1989 22:58
51 lines
3237 bytes
In article <2285@basser.oz>, jaa@basser.oz (James Ashton) writes in
response to a question about why fonts look so "tight" on a PostScript
printer:

> The main reason is that PostScript does no kerning.  Each character has
> a width and is printed using its width all the time in ignorance of
> the adjoining characters.  Characters like `r' (and `j') are a problem
> with this system because they are lop sided.  Obviously their widths
> have been slightly reduced so that in general they will look alright.

This is true to the extent that if you print a sequence of characters with
the "natural" widths, there is no adjustment based on context.  This is
necessary in some sense to maintain useful width properties--for example,
the "stringwidth" of (a) plus the stringwidth of (bc) is the stringwidth of
(abc).  The font tuning is intended to give the best average appearance of
characters--that is, the width of a character is set so that on average it
looks reasonable.  In some combinations it will look too tight; in others
it will look too open.  It's the best that can be done for simple programs
making simple assumptions about character widths.

> ...A final note for the pedants lurking in
> netland:  it's not really PostScript that is at fault here, only its
> font dictionaries and associated machinery.  It would be quite possible
> to implement kerning in PostScript with sufficient printer resources.

I don't see that PostScript is at fault at all.  It provides a font
mechanism with certain useful guaranteed properties.  The property of
concern here is that the width of a character (actually the escapement--
the distance the "current position" moves upon displaying the character) is
independent of the context in which it is displayed.  It's a very useful
property.

You can't expect the PostScript character output process to do the kerning
for you.  Think about whether "(a) show (b) show (c) show" should produce
the same output as "(abc) show".  Then think about what happens to the
current position in between the characters in the first case.

On the other hand, Adobe *does* provide the information you need to do pair
kerning:  The .afm files now (as of 2.0 font metrics) have a section of
kerning pairs and amounts.  That's as much as can be reasonably expected;
the information is there and the rest is up to the program which prepares
the PostScript file.
_ _ _ _ _

Incidentally, one other possible reason for characters mushing together is
that some write-white printers produce characters which are rather bolder
than they really should be, although this doesn't alter the character
widths.
-- 
Dick Dunn      UUCP: {ncar,nbires}!ico!rcd           (303)449-2870
   ...If you plant ice, you're gonna harvest wind.
Technical Details
Message-ID: <15886@vail.ICO.ISC.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!bionet!ames!ncar!ico!vail!rcd
References: <1974@bunyip.cc.uq.OZ> <2285@basser.oz>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!apple!bionet!ames!ncar!ico!vail!rcd
From: rcd@ico.ISC.COM (Dick Dunn)
Newsgroups: comp.lang.postscript
Subject: Re: Why are postscript fonts so tight?
Summary: Adobe provides pair-kerning data
Message-ID: <15886@vail.ICO.ISC.COM>
Date: 28 Jun 89 22:58:39 GMT
References: <1974@bunyip.cc.uq.OZ> <2285@basser.oz>
Organization: Interactive Systems Corp, Boulder, CO
Lines: 51