Lines Matching refs:ft_font
87 hb_ft_font_t *ft_font = (hb_ft_font_t *) calloc (1, sizeof (hb_ft_font_t)); in _hb_ft_font_create() local
89 if (unlikely (!ft_font)) in _hb_ft_font_create()
92 ft_font->lock.init (); in _hb_ft_font_create()
93 ft_font->ft_face = ft_face; in _hb_ft_font_create()
94 ft_font->symbol = symbol; in _hb_ft_font_create()
95 ft_font->unref = unref; in _hb_ft_font_create()
97 ft_font->load_flags = FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING; in _hb_ft_font_create()
99 ft_font->cached_x_scale.set (0); in _hb_ft_font_create()
100 ft_font->advance_cache.init (); in _hb_ft_font_create()
102 return ft_font; in _hb_ft_font_create()
114 hb_ft_font_t *ft_font = (hb_ft_font_t *) data; in _hb_ft_font_destroy() local
116 ft_font->advance_cache.fini (); in _hb_ft_font_destroy()
118 if (ft_font->unref) in _hb_ft_font_destroy()
119 _hb_ft_face_destroy (ft_font->ft_face); in _hb_ft_font_destroy()
121 ft_font->lock.fini (); in _hb_ft_font_destroy()
123 free (ft_font); in _hb_ft_font_destroy()
144 hb_ft_font_t *ft_font = (hb_ft_font_t *) font->user_data; in hb_ft_font_set_load_flags() local
146 ft_font->load_flags = load_flags; in hb_ft_font_set_load_flags()
164 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font->user_data; in hb_ft_font_get_load_flags() local
166 return ft_font->load_flags; in hb_ft_font_get_load_flags()
175 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font->user_data; in hb_ft_font_get_face() local
177 return ft_font->ft_face; in hb_ft_font_get_face()
189 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_nominal_glyph() local
190 hb_lock_t lock (ft_font->lock); in hb_ft_get_nominal_glyph()
191 unsigned int g = FT_Get_Char_Index (ft_font->ft_face, unicode); in hb_ft_get_nominal_glyph()
195 if (unlikely (ft_font->symbol) && unicode <= 0x00FFu) in hb_ft_get_nominal_glyph()
202 g = FT_Get_Char_Index (ft_font->ft_face, 0xF000u + unicode); in hb_ft_get_nominal_glyph()
224 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_nominal_glyphs() local
225 hb_lock_t lock (ft_font->lock); in hb_ft_get_nominal_glyphs()
228 done < count && (*first_glyph = FT_Get_Char_Index (ft_font->ft_face, *first_unicode)); in hb_ft_get_nominal_glyphs()
248 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_variation_glyph() local
249 hb_lock_t lock (ft_font->lock); in hb_ft_get_variation_glyph()
250 unsigned int g = FT_Face_GetCharVariantIndex (ft_font->ft_face, unicode, variation_selector); in hb_ft_get_variation_glyph()
268 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_glyph_h_advances() local
269 hb_lock_t lock (ft_font->lock); in hb_ft_get_glyph_h_advances()
270 FT_Face ft_face = ft_font->ft_face; in hb_ft_get_glyph_h_advances()
271 int load_flags = ft_font->load_flags; in hb_ft_get_glyph_h_advances()
274 if (font->x_scale != ft_font->cached_x_scale.get ()) in hb_ft_get_glyph_h_advances()
276 ft_font->advance_cache.clear (); in hb_ft_get_glyph_h_advances()
277 ft_font->cached_x_scale.set (font->x_scale); in hb_ft_get_glyph_h_advances()
286 if (ft_font->advance_cache.get (glyph, &cv)) in hb_ft_get_glyph_h_advances()
291 ft_font->advance_cache.set (glyph, v); in hb_ft_get_glyph_h_advances()
306 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_glyph_v_advance() local
307 hb_lock_t lock (ft_font->lock); in hb_ft_get_glyph_v_advance()
310 …if (unlikely (FT_Get_Advance (ft_font->ft_face, glyph, ft_font->load_flags | FT_LOAD_VERTICAL_LAYO… in hb_ft_get_glyph_v_advance()
329 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_glyph_v_origin() local
330 hb_lock_t lock (ft_font->lock); in hb_ft_get_glyph_v_origin()
331 FT_Face ft_face = ft_font->ft_face; in hb_ft_get_glyph_v_origin()
333 if (unlikely (FT_Load_Glyph (ft_face, glyph, ft_font->load_flags))) in hb_ft_get_glyph_v_origin()
356 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_glyph_extents() local
357 hb_lock_t lock (ft_font->lock); in hb_ft_get_glyph_extents()
358 FT_Face ft_face = ft_font->ft_face; in hb_ft_get_glyph_extents()
360 if (unlikely (FT_Load_Glyph (ft_face, glyph, ft_font->load_flags))) in hb_ft_get_glyph_extents()
389 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_glyph_contour_point() local
390 hb_lock_t lock (ft_font->lock); in hb_ft_get_glyph_contour_point()
391 FT_Face ft_face = ft_font->ft_face; in hb_ft_get_glyph_contour_point()
393 if (unlikely (FT_Load_Glyph (ft_face, glyph, ft_font->load_flags))) in hb_ft_get_glyph_contour_point()
415 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_glyph_name() local
416 hb_lock_t lock (ft_font->lock); in hb_ft_get_glyph_name()
417 FT_Face ft_face = ft_font->ft_face; in hb_ft_get_glyph_name()
433 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_glyph_from_name() local
434 hb_lock_t lock (ft_font->lock); in hb_ft_get_glyph_from_name()
435 FT_Face ft_face = ft_font->ft_face; in hb_ft_get_glyph_from_name()
466 const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; in hb_ft_get_font_h_extents() local
467 hb_lock_t lock (ft_font->lock); in hb_ft_get_font_h_extents()
468 FT_Face ft_face = ft_font->ft_face; in hb_ft_get_font_h_extents()
684 hb_ft_font_t *ft_font = (hb_ft_font_t *) font->user_data; in hb_ft_font_changed() local
685 FT_Face ft_face = ft_font->ft_face; in hb_ft_font_changed()