[HarfBuzz] Using FreeType load flags

Jamie Dale jamiedale88+harfbuzz at gmail.com
Fri Aug 28 04:41:11 PDT 2015


Hey all,

I'm currently working on integrating HarfBuzz into an existing
FreeType based text rendering system, however I notice that the
default FreeType wrapper doesn't allow you to control the load flags
used by FT_Load_Glyph, and we need these as we use them to control the
hinting method used by some of our fonts.

I was going to create my own HarfBuzz font wrapper that used our
existing font cache with the correct load flags (this has the added
benefit of avoiding repeated calls to FT_Load_Glyph, as we cache off
some glyph data), however I noticed some comments in hb-ft.cc that
makes me think that it won't quite be that simple.

>
> We don't handle any load_flags.  That definitely has API implications. :(
>
> FreeType works in 26.6 mode.  Clients can decide to use that mode, and everything
> would work fine.  However, we also abuse this API for performing in font-space,
> but don't pass the correct flags to FreeType.  We just abuse the no-hinting
> mode for that, such that no rounding etc happens.  As such, we don't set ppem, and
> pass NO_HINTING around.  This seems to work best, until we go ahead and add a full load_flags API.
>

I was wondering what, if any, issues you might expect to see if I
change the load flags to include hinting methods, and also whether you
had any suggestions for how to work around those issues (ideally
without having to change HarfBuzz itself - we like to keep our third
party dependencies vanilla where possible as it makes them easier to
upgrade in the future).

Thanks,
Jamie.


More information about the HarfBuzz mailing list