[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: This is how to intercept GETINFO and why it should be in FreeType
From: |
Werner LEMBERG |
Subject: |
Re: This is how to intercept GETINFO and why it should be in FreeType |
Date: |
Wed, 26 Aug 2020 08:15:54 +0200 (CEST) |
Hello Piotr,
> The way to do it is to first go to ttinterp.c , then at the start of
> the file declare two variables:
>
> char FT_injectedGETINFOhack = 0;
> FT_Long FT_injectedGETINFOhackvalue;
this is an interesting idea, thanks.
> First of all, a commercial font is rendered like this when GETINFO is
> not intercepted: https://i.imgur.com/W9FSEzd.png
>
> Size 18ppem and up is where it gets very controversial in
> rendering. In this case what default v38 FreeType does is end up
> with fractional horizontal stems. Using Visual TrueType reveals
> that the font only does that when fractional widths are used in
> ClearType. However it is very worrying that this is default
> FreeType behavior, and no FT_RENDER_MODE_XXX is documented to use an
> integer width version of subpixel hinting.
I don't fully understand what you are saying. Please elaborate. Is
there a documentation bug in FreeType?
> What happens with the intercepted GETINFO? In the following image I
> use the following settings:
>
> FT_injectedGETINFOhack = 1;
> FT_injectedGETINFOhackvalue = 0x00006C00;
>
> https://i.imgur.com/PuhGJ13.png . Suddenly the problems with
> fractional horizontal stems disappear. This will in fact allow the
> FreeType user to use a custom GETINFO value, and GETINFO (what fonts
> see how the renderer is like) becomes detached from the FreeType
> render mode (what the renderer is actually like), allowing for
> personalized renderer settings.
Please file this report in the bug tracker as a wishlist issue so that
it doesn't get forgotten.
Werner