hb_destroy_func_t destroy)
{
hb_font_t *font;
+ hb_face_t *face;
- font = hb_font_create (hb_ft_face_create_cached (ft_face));
+ face = hb_ft_face_create (ft_face, destroy);
+ font = hb_font_create (face);
+ hb_face_destroy (face);
hb_font_set_funcs (font,
hb_ft_get_font_funcs (),
- ft_face, destroy);
+ ft_face, NULL);
hb_font_set_scale (font,
((uint64_t) ft_face->size->metrics.x_scale * (uint64_t) ft_face->units_per_EM) >> 16,
((uint64_t) ft_face->size->metrics.y_scale * (uint64_t) ft_face->units_per_EM) >> 16);