[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] broken hinted DejaVuSans et 4
From: |
Werner LEMBERG |
Subject: |
Re: [ft-devel] broken hinted DejaVuSans et 4 |
Date: |
Tue, 13 Sep 2011 19:49:06 +0200 (CEST) |
> CVT values in a TrueType font are normally modified in the `prep'
> table to adapt them to the current device resolution. If the
> resolution changes, the `prep' table is executed again.
>
> However, what happens if there is a WCVTP or WCVTF instruction within
> a glyph's bytecode to modify a CVT entry?
>
> I can imagine three possible solutions. Let's assume that we have
> WCVTP and/or WCVTF commands in glyph A.
>
> 1. WCVTP and WCVTF are allowed and are applied globally. As a
> consequence, rendering glyph A might influence the shape of any
> other glyph.
>
> 2. WCVTP and WCVTF are allowed and are applied locally. All
> modified CVT entries are restored after rendering of glyph A.
>
> 3. WCVTP and WCVTF are ignored if found outside of the `prep' table.
>
> IMHO, option 1 is bad, and that options 2 and 3 are OK. I favour
> option 3 since it is most convenient to implement. Right now,
> FreeType does option 1, and we should change that...
>
> I've just written an email to Greg Hitchcock, asking for
> clarification.
And his answer: Both Apple and MS rasterizers implement option 1!
This means that FreeType is fine and DejaVuSans's hinting at 4ppm is
buggy. :-) Due to the `gasp' table, this is a non-issue anyway.
Werner