[cairo] text measuring speed

Bill Spitzak spitzak at d2.com
Fri Jun 17 09:37:34 PDT 2005

Jon Smirl wrote:
> On 6/15/05, Bill Spitzak <spitzak at d2.com> wrote:
>>It seems to me that the way FreeType does the hinting is perhaps
>>desirable and Cairo should copy it.
> This sounds like a really good idea to me if I understand it right.
> Cairo has the same problem with thin lines disappearing as FreeType
> does. Why not generate the scene as vectors, run the autohinter over
> everything, including the Cario generated vectors, then rasterize it
> all. The autohinter will adjust all of the line centers to pixel
> boundaries just like it does for FreeType.
> Wouldn't this fix the gap problem everyone is talking about too? 
> Does it let the app ignore pixelization and assume infinite resolution?

I was talking about applying the CTM to the font outlines *after* the 
hinting. So the exact shape is transformed by the CTM. I think this 
would have some speed and convienence advantages, with the problem that 
hinting is only correct if the CTM is about the same size as the default 
transform for the device.

As for this idea, I think it was discussed and decided that all useful 
transforms could be done by the calling program, as long as it can peek 
at the CTM.

I do feel there is a need for a special "0-linewidth" mode that would 
draw a sort of auto-hinted 1-pixel thick lines (all strokes are adjusted 
so the end points are at the centers of pixels). This would only affect 
the stroke command, fill and glyphs would be unaffected (except the 
fill's antialiased pixels are required to be the same pixels the 
0-linewidth stroke would draw). The main reason for this is that most 
other graphic API's provide this and the lack of it makes porting to 
Cairo difficult, since many programs leave the graphics in this mode at 
all times. Triggering the mode with zero line width would match what all 
other API's do.

More information about the cairo mailing list