freetype
[Top][All Lists]
Advanced

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

Re: [ft] Bytecode hinter producing bad results, seems to be a regression


From: Vinnie
Subject: Re: [ft] Bytecode hinter producing bad results, seems to be a regression
Date: Sat, 1 Jan 2011 12:20:06 -0800 (PST)

> The function FT_Get_Gasp tells you,
> for a given ppem, whether you should
> render a glyph as monochrome
> (i.e., black-white) or with anti-aliasing.

ppem? is that what I understand to be the "font height"? Pixels per EM unit? By 
monochrome I assume you mean, two intensity levels (on or off). As in, an old 
school bitmap font (like Apple II+).

All of my font-drawing is anti-aliased, I'm the middle man passing the 
grid-fitted control points over to another third party library that I'm using.

Why would I ever want to render a glyph as monochrome (two-color) only?

> TrueType hinting doesn't work like this.  For
> monochrome rendering, the hinting engine also
> specifies how to rasterize the glyphs
> (selecting a drop-out mode, for example).

From how I interpret those words, I think monochrome rendering is not a 
use-case for me.

> > I'm not using FreeType to render...just to extract
> outlines.
> 
> This is tricky...

Can you elaborate? Or tell me anything I should know about that is non-obvious 
or non-intuitive?

I'm actually getting really good results with the auto hinter. I can see very 
clearly that it is working, and I painstakingly analyzed the output of each 
glyph to make sure that things are right. Here's a screenshot:

This is using the auto-hinter, with FreeType providing the outlines and my 3rd 
party library (Juce) rasterizing the vector data:
http://rawmaterialsoftware.com/download/file.php?id=186

Here is the same output, only with the autohinter turned off.
http://rawmaterialsoftware.com/download/file.php?id=185

Here's an animation for comparison
http://rawmaterialsoftware.com/download/file.php?id=184

> > And by the way, the autohinting module works pretty
> damn good!
> 
> Then use it!

Okay well just to make sure I did things right, I loaded up Adobe Kaiti Std 
Regular (a thin serif font) and performed the comparisons. First thing I 
noticed, is the Adobe font is a hefty 16.5 megabytes, while my Neue Helvetica 
is a wimpy 127 kilobytes.

I tried bytecode hinting with the Adobe font and WHOA! amazing outlines! So I 
guess that my problem is not that FreeType wasn't using my bytecodes, its just 
that my Helvetica didn't have them.

My intuition and eyesight tells me that a font with hints is going to look 
better with the bytecode hinting than with the auto-hinter. This is definitely 
the case with this beefy Adobe font.

I wish there was a flag to FT_Open_Face that says "hey use the bytecode hinter 
if the font has those hints, or else use the auto-hinter."

So now I am going to trying grasping for the Gasp / Grasp whateveritis table 
and see if I can get some mileage. My goal is to use bytecodes if they are 
there, else use the autohinter.

Thanks





reply via email to

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