freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] ttfautohint: How to install


From: vernon adams
Subject: Re: [ft-devel] ttfautohint: How to install
Date: Wed, 29 Jun 2011 23:36:40 +0100

On 25 Jun 2011, at 06:56, Werner LEMBERG wrote:

> Please try the current git snapshot and play with the options
> --hinting-range-min and --hinting-range-max.
> 
> Currently, the default value for hinting-range-max is 1000; this means
> that the autohinter tests all ppem values up to 1000 to find hinting
> sets.  However, the larger the ppem, the larger the blue zones.  And
> by design, the autohinter ignores blue zones which are larger than 3/4
> pixels.
> 
> If you limit hinting-range-max to a value where the blue zones are
> still handled, the generated bytecode uses this hinting set for all
> larger sizes also.  Finding a good value for hinting-range-max has to
> be done with trial and error, but a waterfall already indicates bad
> sizes, so hinting-range-max must be less than that).

hmm i have tested varying min-range & max-range -  by shifting ranges i can get 
the 'egging issue' to move up/down a ppem size, so the issue persists but just 
at  different ppem's.

> 
> The adverse effects of having a very small value for hinting-range-max
> must be analyzed also; it essentially means that some horizontal
> segments which at larger ppem values no longer align are still treated
> as edges.  Maybe it helps if I introduce options to manipulate the
> `gasp' table, making it possible to set an upper limit for applying
> hints.
> 

From my experience i doubt that the gasp table will hold any magic bullets, 
especially under DirectWrite.


> Finally, I don't know yet whether it makes sense to directly
> manipulate the 3/4 pixels limit (perhaps by deactivating this
> threshold completely).  This needs further testing.

Worth a try.


I have opened up a ttfautohint version of Ubuntu Font in FontLab, where i can 
use a 'gridfit' mode (just as in FontForge) but i can also add Visual TrueType 
commands and see the resulting effect on the pixels. So i tested the 'o' glyph.

It seems to me that the egging issue is caused by the top curves of the 'o' 
snapping to the top edge of the pixel that corresponds to that alignment zone, 
if i force these curves to snap to the bottom edge of the alignment zone pixel 
then the egging is fixed!  Of course then i need all pixels in the alignment 
zone to snap to the bottom of the pixel to get uniform x-height throughout all 
glyphs.

Could there be a way to force pixel snapping to the bottom of pixel in some 
alignment zones like this with ttfautohint?

many thanks

-vernon





reply via email to

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