From: pcg@aber.ac.uk (Piercarlo Grandi)
Newsgroups: comp.fonts,gnu.misc.discuss
Subject: Re: "Hinting" using antialiasing? A GNUish alternative...
Date: 22 Dec 92 18:35:41 GMT
Reply-To: pcg@aber.ac.uk (Piercarlo Grandi)
Organization: Prifysgol Cymru, Aberystwyth

On 17 Dec 92 19:32:08 GMT, uad1077@dircon.co.uk (Ian Kemmish) said:

uad1077> The grid-fitting in TrueType operates purely on the geometry of
uad1077> the outline and doesn't care (and can't find out) how many
uad1077> colours your `pixels' can represent.

Yea, that's what I'd call a problem. Given that color screens are
fuzzier than mono screens, and that for some silly reason color screens
are prevalent, it seems strnage not to make use of the ability to
antialias. I see that antialiasing is even more sensible on a grayscale
screen, as its very crispness makes text even more readable.

uad1077> You may be being misled by thinking in terms of supersampling
uad1077> as the only way of achieving anti-aliased output from
uad1077> scan-conversion,

No, no, I was thinking of that as *a* way, and a cheap one too. My
posting was about *two* independent observations:

1) How strange that antialiasing is so unpopular, when it is so nice,
and can be so effectively done by shrinking printer resolution bitmaps
onto the screen.

2) Storing "ideal" character shapes as (approximate) high resolution
bitmaps, and then shrinking them to lower solution ones, with some
opportune optically wise filtering algorithm, looks like a faster and
otherwise equivalent technology to storing "ideal" character shapes as
(approximate) outlines to be fleshed out, with correction by hints.

The link between shrinking and antiliasing is that shrinking from a
bitmap to a pixmap gives excellent results even with fairly simple
algorithms and is probably way less computationally expensive than
outlining to a pixmap.

uad1077> and further, thinking that you then have to apply the hints on
uad1077> the granularity of the supersampled grod, not the original (or
uad1077> final, depending on your viewpoint!) grid.  Neither of these is
uad1077> necessarily true.

Agreed; in effect I did not quite intend to say this. What I wanted to
mean is that probably shrinking can be done with some algorithm that
gives the same results as hinting; hinting after all is just a way to
compensate for the lack of detail in the final low resolution bitmap by
using optical tricks.

uad1077> The only real survey I saw done on anti-aliased text (John
uad1077> Amanatides?  I'm not sure - I'll go and check)

Yes please! A reference I got by e-mail (thanks!) is to the work on this
done for a troff preview by a person at AT&T. Appanrelty he found out
that given the way the eye perceives grids it is possible to build a
filter that shrinks to a bitmap that looks optically closer to the effect
of the original than more trivial ones (e.g. averaging), and gives much
the same effect as hints. I'm going to pursue that reference.

uad1077> showed that prolonged viewing of anti-aliased text induced more
uad1077> eyestrain than decently tuned bilevel text.

Ah, this is another matter entirely. If so, it's unfortunate.

However I am surprised; I would be less surprised if the comparison was
between bitmap fonts on a B&W screen and pixmap/antialiased fonts on a
color screen, as color screens are noticeably fuzzier than bitmap
screens. 

uad1077> I can generate anti-aliased PostScript output (by
uad1077> super-sampling) and look at it on the Sun screen, and while I
uad1077> can recognise words at only a few pixels tall, I certainly
uad1077> wouldn't like to debug with that text - I'd rather spend a bit
uad1077> more on a half-decent size screen and use good 15-pixel bilevel
uad1077> text.

To me it is interesting to compare, given the same hw, two sw solutions
(outlining+hinting vs. large bitmaps+shrinking), rather than assuming
that it is possible to get better hw for one and not for the other.

If one can afford a crystal clear > 17" screen with a 120 DPI resolution
and hand tuned fonts for outlining+hinting, and not for
bitmaps+shrinking, then too bad for the latter.

But if we are comparing two identical sets of hw, then maybe starting
with 600DPI bitmaps, and either antialiasing them to 100DPI for
previewing or filtering them to 300DPI for printing might be a better
(faster, less proprietary, maybe even better looking results for both
bitmap and pixmap case) than outlining+hinting.
--
Piercarlo Grandi, Dept of CS, PC/UW@Aberystwyth <pcg@aber.ac.uk>
  E l'italiano cantava, cantava. E le sue disperate invocazioni giunsero
  alle orecchie del suo divino protettore, il dio della barzelletta