[HarfBuzz] How to get hb_face_t and hb_font_t without Freetype?

Eli Zaretskii eliz at gnu.org
Sat May 11 19:38:30 UTC 2019


> Cc: Behdad Esfahbod <behdad at behdad.org>,
>  "harfbuzz at lists.freedesktop.org" <harfbuzz at lists.freedesktop.org>
> From: Jonathan Kew <jfkthame at gmail.com>
> Date: Sat, 11 May 2019 20:11:17 +0100
> 
> > Yes. The font file.  Maybe describe what you are trying to do?
> > 
> 
> If you've got access to the font as a file or as a single buffer in 
> memory, then wrapping the entire thing as a blob and handing it to 
> hb_face_create will be simplest.

Would wrapping in a blob the buffer returned by GetFontData be enough?

> In a case where you don't necessarily have easy access to the complete 
> font file, but have platform APIs that you can use to retrieve specific 
> font tables (like IDWriteFontFace::TryGetFontTable on Windows, or 
> CGFontCopyTableForTag on macOS), that's where you might prefer to use 
> hb_face_create_for_tables (like Firefox does). This expects you to 
> provide a reference_table_func that will return a blob containing the 
> data of any given font table (identified by its 32-bit OpenType table tag).

So there should be a function for each of the OpenType table tag, each
function returning a pointer to the table's data?


More information about the HarfBuzz mailing list