freetype-devel
[Top][All Lists]
Advanced

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

[ft-devel] ttfautohint: Milestone reached!


From: Werner LEMBERG
Subject: [ft-devel] ttfautohint: Milestone reached!
Date: Mon, 13 Jun 2011 22:34:39 +0200 (CEST)

Finally, with the last changes to the git repository, the ttfautohint
library produces identical results to the autohinter if only hinting
in the y direction gets applied!  You can do a direct comparison with
the ftgrid program (from the current git); press the `f' key to switch
between native ttf hinting and forced autohinting, and press `H' while
in forced autohinting mode to switch off horizontal autohinting.  Note
that `identical' means that there can still be some minor rounding
differences; in some cases this can even mean that you get a full
pixel difference in height.

One major problem still remains which I have to resolve in the next
days: Composite glyphs are rendered incorrectly.  After some thinking
I believe now that I have to unfold all composites, replacing them
with simple glyphs: In most cases the autohinter scales glyphs
globally in the vertical direction to bring the blue zone of the top
of small letters to a favourable position.  It also scales composites
and composite offsets, and this is something which is not possible
with TrueType instructions.

Another issue is that I've only written code similar to the latin
autohinter; the usefulness of autohinting for CJK glyphs is far more
restricted IMHO, and it is a future project to investigate whether it
makes sense to make ttfautohint support this.

Some other clean-up is necessary also to make the library
distributable; this should be finished in the next few days also.

As an example, I've taken the font 

  http://vernon-adams-webfonts.googlecode.com/hg/bevan/FINAL/Bevan.ttf

and used the `hint' ttfautohint demo program to create the attached
Bevan-TA.ttf font.

Comments are highly welcomed.

Enjoy!


    Werner

Attachment: Bevan-TA.ttf
Description: Binary data


reply via email to

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