[HarfBuzz] I got hb/ft working but I don't know how

Khaled Hosny khaledhosny at eglug.org
Tue Oct 1 09:26:40 PDT 2013


On Tue, Oct 01, 2013 at 05:00:44PM +0200, Eduardo Castineyra wrote:
> Hi,
> 
> I just coded my first working Windows example with harfbuzz (code
> attached). I got my first thai characters to be shaped into glyphs
> (at least I got the same output as hb-shape). But I don't really
> feel like I understood anything:
> 
> 1) What is a blob and how come I didn't need to know what it is?

A blobs is what HarfBuzz uses to pass OpenType tables around. If you are
using hb-ft, then you won’t be using them directly.

> 2) I created a hb_ft_font and passed it to the shaper but, shouldn't
> I also call hb_ft_font_set_funcs in order to use hb-ft as font
> instance?

hb_ft_font_create() does that.

> 3) How does harfbuzz manage to get the GSUB/GPOS tables of the fonts
> if everything I provided was a FT_Face? I don't see anything related
> to those tables in hb-ft, and AFAIK FT2 does not provide tools to
> extract those tables. Is it opening the font file by itself?

FreeType does provide API to get raw font tables, namely
FT_Load_Sfnt_Table().

> 4) What is get_ft_library for? Should I be calling it instead of
> FT_Init_FreeType?

get_ft_library() is not public, so I guess you don’t need to (can’t
even?) use it.

Regards,
Khaled



More information about the HarfBuzz mailing list