freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Freetype] Re: Arial ttf - bad rendering of some glyphs


From: David Turner
Subject: [Freetype] Re: Arial ttf - bad rendering of some glyphs
Date: Thu, 12 Jul 2001 23:58:06 +0200

Hello,

> "Pedriana, Paul" a écrit :
> 
>         >>Windows disables font smoothing <14pt, so it's
>         >>hard to compare FreeType with AA and Windows's
>         >>TT rasterizer generating Black&White pixmaps.
> 
> I don't think it is doing this exactly so on my machine. Here is a picture
> of Windows' Wordpad on my Windows 2000 machine with the letter 'z'
> drawn in Times Roman normal, bold, italic, and bold-italic at successive
> integral point sizes from 5-26.
> 
>      [Image]
> 
> The 5 and 6 point sizes are being anti-aliased, 7-13 are not, and 14+ are.
> When antialiasing is turned off, none of the letters are anti-aliased.
>
Because Windows uses a table embedded in the font, named "gasp", that
gives thresholds where anti-aliasing and smoothing should be toggled.

Use of this table is patented by Mircrosoft, by the way !!
(but you can still use one that is outside the font without trouble).
 
> Also, I don't see any missing diagonal in these Zs, but maybe I don't
> have it set up properly to show this error.
> 
> 
Because the two diagonals simply overlap in vector space (due to bad
hinting), the analytical algorithm in FT2 will compute an area of 0 for
these pixels, hence they disappear.

Windows (as well as FreeType 1) use a different algorithm that performs
drop-out control _before_ a simple 2x2 filtering (well, the
real implementation is really more tricky than that, but you get the
idea :o), which is why you'll see the diagonals with them..

And in case you would ask, it's really difficult to add drop-out
control to an analytical algorithm, and I don't think that going
back to 5 levels of gray would be beneficial (it make the text
even more "fuzzy" at small sizes).


Cheers,

- David



reply via email to

[Prev in Thread] Current Thread [Next in Thread]