[comp.sys.mac.programmer] Soft Fonts

steele@Apple.COM (Oliver Steele) (08/10/89)

I've found several papers on soft fonts in the stacks lying around my
desk.  One of them is the study showing that soft fonts are more
legible than hard ones.  The papers are listed at the end of this
article; a summary of them follows:

Several of these papers [Schmandt, Negroponte] explain why soft
fonts should be easier to read than monochromatic ones.  Several of
the reasons have to do with NTSC, and don't effect a Mac screen as
much:  the scintillation of single-pixel horizontal lines due to
interlace, and luminance to chrominance crosstalk causing colored
fringes on sharp borders.

One reason that does apply to non-NTSC non-interlaced screens like a
Mac's is that band-limited physical components such as encoders and
distribution amplifiers cause ringing in the signal if the signal is
too sharp [Schmandt].  A softer transition has lower frequencies and
doesn't cause ringing.

Another reason, that isn't mentioned in the papers but seems like it
ought to be true, has to do with how the eye processes contrast
information.  I'm not enough of an expert on this that you should
take my word for it instead of reading up on it yourself, but it seems
to me that the filtering done by the bipolar ganglia is going to
result in *sharper* transitions in the visual cortex deriving from
*softer* transitions in the rods and cones (especially when one pixel
goes to several receptors), and then when contour detection is done on
top of this [Hubel and Weisel; I don't have my references but they're
easy enough to find], the soft transition is a real win.  Is there a
psychophysicist on comp.sys.mac.programmer who can shed more, um,
light on this?

Several of the papers present evidence, mostly anecdotal, that soft
fonts are easier to read than hard ones.  The evidence was enough to
convince me (and when I tried it myself I found soft fonts better,
too; more on this below), but if the authoritative study has been
done, I don't have it.

[Schmandt] claims that text is easier to read if it's from a CRT
hooked to a camera focused on a page of text than from a CRT hooked to
a computer (the camera blurs the horizontal contours because it can't
respond at high frequencies, and a sharp edge has infinitely high
frequencies).  He claims a significantly improved image with two bits
per pixel, and continued legibility gains with up to five or six.
[Warnock] says the soft font is better than the hard one from 4 points
up to 100 (his soft fonts are convolved from a 100pt hard one), and
[Negroponte] explains how making deeper displays gives less acuity but
higher resolution, and claims the soft fonts are easier to read.  None
of these people cites any studies.

The more scientific study is a combination of [Gould&Grischkowsky] and
[Bender&al].  [Gould&Grischkowsky], whom I haven't read, showed that
people read a screen (with hard fonts) about 70% as well as they read
paper.  I don't know what kind of fonts or screen, but this seems to
be pretty well accepted, and I don't think he committed any grevious
errors such as comparing 7x5 cell white-on-black characters to print.
[Bender&al] compared soft fonts to text, and found performance to be
better with soft fonts.  Specifically, he showed 20x24x8 cell
characters on a 1024x768 70Hz screen, with anti-glare, .31mm dot
pitch, 6:1 contrast, and an ambient illumination of 500 Lux, to 18
people aged 19-45, and asked them to proofread articles with 12
spelling errors.  He also asked them to proofread hardcopy from an IBM
5128 Printwheel Printer with a Prestige Elite Printwheel II.  Hardcopy
and soft font trials had the same error rate, but the mean reading
speed for hardcopy was 137.78wpm; for soft fonts, 158.56wpm.  Two
thirds of the subjects said they'd prefer to read the screen rather
than hard copy all day long.

Obviously this looks pretty good, but it doesn't mean much until
somebody does the same study comparing hard fonts to soft fonts, with
both of them presented on the same screen.  However, it does seem
enough to justify such a study.

My informal own try, a couple of months ago at when I was at UNC-CH,
was to super-sample fonts by a factor of 2 or 3 or 4 and compare the
supersampled fonts, convolved with either an absolutely flat filter or
with a triangular one (I wanted this to go *fast*, and this was a
weekend project), with native 9 and 12pt ones.  For instance, I'd
convolve a bitmap from an 18pt font to form 9pt grayscale, and compare
it to 9pt monochrome.

I found the grayscale images *vastly* more legible, especially at 9pt,
and especially for the Laserwriter fonts such as Helvetica and Times.
It was a close call for New York and Geneva, which I guess indicates
how well tuned they are.  The grayscales were also much better for
italics.  At 12pt the difference was not so noticeable.  But after
seeing soft fonts, I would like nothing more than to see them on a
screen all day, instead of these grainy jagged things I'm staring at
now.  There wasn't much improvement from going above a factor of two
(and a 2x2 or 3x3 filter); I'd expect there to be more if I'd used a
real filter.

Something you can try, if you have a suitable monitor with an easy-to-
reach focus knob, is to try defocusing your monitor a little (this is
hardware anti-aliasing).  If you're like me, you'll find the fuzzy
lines delineating windows a bit irritating, but you'll also find that
text looks much better.  (The key is not to defocus too much.)  One of
my monitors is much more sharply focussed than the others, and I find
that I always drag text windows to the less focussed one when I have
to look at the text for a while.


As far as how to make them, and speed:

[Hersch] discusses how to grid-fit and scan-convert soft fonts from
outlines.  I don't think he gives any indication of performance.

[Naiman&Fournier] gives a beautiful algorithm for convolving large
hard fonts to get smaller soft ones.  I recommend the article highly,
even though I think it's the wrong way to go.  (The right way is to
scan-convert, as long as you've got the outline to begin with.)  On an
HP 9000-320 (a 68020 machine; I don't know what clock rate), he
estimated 100-1000cps without doing any assembly-type optimizations.
The average 256x256 character took 46ms to convert to 16pt (his
algorithm is independent of the convolution filter, and it looks close
to independent of the size of the filter); 69ms/32pt; 139ms/64pt.

One thing to keep in mind about soft fonts is that there are two
reasons to use them.  One is so that the images of the characters look
better, and for that, you just need a deep bitmap of characters which
you can use instead of a shallow one.  You can generate them on the
fly if you're fast enough, and you can cache them if you've got the
memory and you're almost fast enough.

The other win with soft fonts is that you can do subpixel positioning.
On something like a Macintosh, where most text in word-processing
programs has some idea of subpixel position anyway, this would be a
real win.  This is probably uncacheable though:  if you've got 20x24x4
characters with .1pixel positioning resolution, that's 24K per
character; 2.4K if you only need pixel resolution along the vertical
axis.

Disclaimer:  none of this represents Apple, which pays me to do
something completely different and which doesn't know I have any
papers on fonts.

--
Bender, Walter, Ruth Ann Crespo, Peter J. Kennedy, Richard Oakley,
"CRT Typeface Design and Evalution."  I don't know if this was ever
published; Bender was in the Architecture Machine group, and the other
authors were at IBM in Boca Ration, FL.

Gould, J.D. and Grischkowsky, N.  "Doing the Same Work With
Hard Copy and with Cathode-Ray Tube (CRT) Computer Terminals."  Human
Factors, 1984, 26(3), 323-337.  [This is the one I don't have, but is
cited by Bender&al.]

Hersch, Roger D., "Character Generation Under Grid Constraints,"
Computer Graphics, Volume 21, Number 4, July 1987.

Naiman, Avi and Alain Fournier, "Rectangular Convolution for Fast
Filtering of Characters," Computer Graphics, Volume 21, Number 4, July
1987.

Negroponte, Nicholas, "Soft Fonts," unpublished?  Negroponte was head
of ArcMac at the time, which probably makes it late 70s.

Schmandt, Christopher, "Greyscale Fonts Designed from Video Signal
Analysis."  The copy I have is marked "to appear in Proceedings, NCGA
1983"; I don't know if it did.

Warnock, John E., "The Display of Characters Using Gray Level Sample
Arrays", ACM Graphics 1980?
--

 -------------------------------------------------------------------
 Oliver Steele			    {sun,decwrl,amdahl}!apple!steele
 Apple Computer, Inc.				    steele@apple.com

kent@lloyd.camex.uucp (Kent Borg) (08/12/89)

In article <33865@apple.Apple.COM> steele@Apple.COM (Oliver Steele) writes:
>
>I've found several papers on soft fonts in the stacks lying around my
>desk.  One of them is the study showing that soft fonts are more
>legible than hard ones.  The papers are listed at the end of this
>article; a summary of them follows:

[Which I found very interesting.]


Has anybody seen any studies on the value of soft graphics?  My point
when I re-started this tread is that Apple will not be implementing
antialiased fonts, rather they will do the antialiasing in a new
QuickDraw and make all those diagonal lines and circles look better,
*plus* the fonts will be antialiased.

Any of you spent time looking at antialiased graphics?  (I guess we do
on TV all the time...)  Any hard (or soft) data on the value in such a
thing?


Kent Borg
kent@lloyd.uucp
or
...!husc6!lloyd!kent

osborn@ux1.lbl.gov (James R Osborn) (05/20/91)

I ran across a (very old) posting that I saved from a few
years ago by - Oliver Steele - at Apple.  The post was about
Soft Fonts.  For those of you who don't know what these
are, essentially they are antialiased fonts.  They use two
or more bits of screen depth to represent characters which
are claimed to be vastly more legible and comfortable on the
eyes - especially with small sizes (like 9 pt).  Supposedly 
the soft fonts increased reading speed (even over hardcopy)
and reduced fatigue - I believe it.

There were two technologies mentioned for generating these.
First, you could convolve them from bitmaps with higher
resolution.  For example you could take the bitmap for an
18 pt font and apply a process to create a 2 bit deep 9 pt
greyscale soft font from this.  The second approach was to
use a scan conversion algorithm directly with the outline
for the font.

Well, the latter course is preferred because it will generate
more acurate representations of the font, and because it is
probably faster.  Well?  We *HAVE* TrueType now!

Wouldn't it be neat if you had an INIT (ah...ahem...extension)
that would patch into the text rendering routines in the system
and substitute a soft font when drawing to a color screen?
This hypothetical INIT could use TrueType outlines and generate
the soft version on the fly using scan conversion and then
perform the usual CopyBitsing to the screen.

My eyes would thank this INIT if it existed!  Anybody working
on such a beast?  I'd pay money for it...hell I'd even *WORK*
on it, it sounds so neat!

-- James

.------------------------------.--------------------------------------.
| James R. Osborn              | It just goes to show you it's always |
| Lawrence Berkeley Laboratory | something.  Either it's unclear tech |
| osborn@ux1.lbl.gov           | notes or your mac is smoking.  It's  |
| (415) 548-8464               | always something...                  |
'------------------------------'--------------------------------------'

michael@otago.ac.nz (05/20/91)

In article <13376@dog.ee.lbl.gov>, osborn@ux1.lbl.gov (James R Osborn) writes:
> 
> Soft Fonts.  For those of you who don't know what these
> are, essentially they are antialiased fonts.  They use two
> or more bits of screen depth to represent characters which
> are claimed to be vastly more legible and comfortable on the
> eyes - especially with small sizes (like 9 pt).  Supposedly 

I'm not sure about this. The last I heard antialiased fonts tended
to come out looking irritatingly fuzzy on these amazingly crisp,
sharp-edged monitors that we all use :-). The effect was to simulate
the effects of eyestrain without actually having any. However not having
actually tried to use such things I would also be keen to find out
if they really are any better...

Michael(tm) Hamel, Computing Services Centre, University of Otago, New Zealand

SNEEM (n.)                         
Particular kind of frozen smile bestowed on a small child by a parent

CXT105@psuvm.psu.edu (Christopher Tate) (05/20/91)

The new edition of "Computer Graphics: Principles and Practice" by Foley,
van Dam, Feiner, & Hughes talks a little about antialiased text and its
uses and implementation.  For example, IBM has developed the YODA display,
which uses antialiasing in its text display.

The general conclusion is that antialiased text looks very good, especially
at small point sizes (where standard monochrome scan converters have a hard
time making the text look good).  Unfortunately, there are only a couple of
ways to do antialiased text:  you can store the various font sizes the way
the Mac handles bitmap fonts, or you can generate the antialiasing on the
fly from something like the TrueType representation.  Both of these methods
have serious drawbacks -- the former takes a tremendous amount of storage
space for any large number of different point sizes, and the latter takes
a very long time to render, unless you play special tricks with the scan
converter and base character representation.  The special tricks tend to
involve things like changing the fundamental character definition so that
each character is represented as a union of rectangles, rather than a
spline contour (which is how TrueType and PostScript represent fonts).

The phrase that the book uses for the process of scaling/scan converting/
antialiasing the text on the fly from spline-based contour descriptions
is "computationally impractical."  :-)  Looks like a patch to TrueType
that does this would have its work cut out for it.....

-------
Christopher Tate                 |
                                 |   Sorry; it's classified.  I could tell
    cxt105@psuvm.psu.edu         |    you, but then I'd have to kill you.
    cxt105@psuvm.bitnet          |

tisu@quads.uchicago.edu (Seth Tisue) (05/30/91)

In article <1991May21.003213.29203@athena.mit.edu> fleabag@athena.mit.edu (jeff bellsey) writes:

>yes, just check out the photoshop splash screen. there are two versions,
>one grey-scale, the other b/w.  the grey-scale splash screen uses these
>anti-aliased fonts, and boy is it disconcerting!  it ends up looking
>blurry rather than jaggy, and just plain hurts to look at.

The same is true of the splash screen for NCSA Telnet.  For me, the effect
is that my brain thinks my eyes have suddenly gone out of focus, and spends
a fraction of a second trying to refocus them, and fails... it's
definitely an uncomfortable feeling.

(This is for a large type size though, I'd have to see what a small one
would look like.)

-- 
---- Seth Tisue                     USMail: c/o Plaster Cramp Press  
---- (tisu@midway.uchicago.edu)                       P.O. Box 5975
"Please to be restful.  It is only a few           Chicago IL 60680
crazies who have from the crazy place outbroken."    --------------