freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] A review of ttfauthint by designer of Siri


From: Werner LEMBERG
Subject: Re: [ft-devel] A review of ttfauthint by designer of Siri
Date: Fri, 10 Feb 2012 10:54:08 +0100 (CET)

> Is it actually possible to specify the x-height threshold
> independently of the total height threshold?  I never could seem to
> find that in the code!

It's a two-step approach (all line numbers from aflatin.c refer to the
current git):

  1. Determine the x-height scaling factor using the threshold given
     in line 573:

       fitted = ( scaled + 40 ) & ~63;

     Then scale all blue zones accordingly.

  2. Align the blue zones to the grid.  This essentially happens in
     line 688:

       blue->ref.fit = FT_PIX_ROUND( blue->ref.cur );

In other words, x-height and the full height of a font in the output
device space are dependent on each other due to the scaling, but the
FT_PIX_ROUND can certainly be adjusted.

> David addresses the "e" issue at the bottom of this page:
> http://www.freetype.org/autohinting/alignment.html

This almost reminds me to the famous

  I have discovered a truly marvelous proof of this, which this margin
  is too narrow to contain

:-)

> "Distortion measurement" and "outline optimization" is what's
> needed.  Not sure if this is easier, but I've thought that the
> easiest way conceptually would be to force at least 1 pixel between
> any two horizontal stems when available.

Yes, something like this.

>> The unwanted conversion of `i' to `l' is a bug, I think (at least at
>> this size).  Alas, I don't know yet how to fix it.
>
> I'm pretty sure that (at least some of) the issues with the main
> body of i and j touching the dot will go away if the x-height can be
> made lower, in cases where this happens.

Definitely.  However, this code must be still written...


    Werner



reply via email to

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