1 #ifndef HB_FONT_PRIVATE
2 #define HB_FONT_PRIVATE
3 struct hb_font_funcs_t
{
4 atomic_int32_t ref_cnt
;
7 /*Don't access these directly. Call hb_font_get_*() instead. */
9 hb_font_get_glyph_func_t glyph
;
10 hb_font_get_glyph_h_advance_func_t glyph_h_advance
;
11 hb_font_get_glyph_v_advance_func_t glyph_v_advance
;
12 hb_font_get_glyph_h_origin_func_t glyph_h_origin
;
13 hb_font_get_glyph_v_origin_func_t glyph_v_origin
;
14 hb_font_get_glyph_h_kerning_func_t glyph_h_kerning
;
15 hb_font_get_glyph_v_kerning_func_t glyph_v_kerning
;
16 hb_font_get_glyph_extents_func_t glyph_extents
;
17 hb_font_get_glyph_contour_point_func_t glyph_contour_point
;
18 hb_font_get_glyph_name_func_t glyph_name
;
19 hb_font_get_glyph_from_name_func_t glyph_from_name
;
24 void *glyph_h_advance
;
25 void *glyph_v_advance
;
28 void *glyph_h_kerning
;
29 void *glyph_v_kerning
;
31 void *glyph_contour_point
;
33 void *glyph_from_name
;
37 hb_destroy_func_t glyph
;
38 hb_destroy_func_t glyph_h_advance
;
39 hb_destroy_func_t glyph_v_advance
;
40 hb_destroy_func_t glyph_h_origin
;
41 hb_destroy_func_t glyph_v_origin
;
42 hb_destroy_func_t glyph_h_kerning
;
43 hb_destroy_func_t glyph_v_kerning
;
44 hb_destroy_func_t glyph_extents
;
45 hb_destroy_func_t glyph_contour_point
;
46 hb_destroy_func_t glyph_name
;
47 hb_destroy_func_t glyph_from_name
;
52 atomic_int32_t ref_cnt
;
60 hb_font_funcs_t
*klass
;
62 hb_destroy_func_t destroy
;
63 struct hb_shaper_data_t shaper_data
;
66 void hb_font_get_glyph_advance_for_direction(hb_font_t
* font
,
68 hb_direction_t direction
,
71 void hb_font_subtract_glyph_origin_for_direction(hb_font_t
* font
,
73 hb_direction_t direction
,
78 struct hb_graphite2_shaper_font_data_t
;
79 struct hb_graphite2_shaper_font_data_t
80 *hb_graphite2_shaper_font_data_create(hb_font_t
* font
);
81 void hb_graphite2_shaper_font_data_destroy(struct
82 hb_graphite2_shaper_font_data_t
86 struct hb_ot_shaper_font_data_t
;
87 struct hb_ot_shaper_font_data_t
*hb_ot_shaper_font_data_create(hb_font_t
*
89 void hb_ot_shaper_font_data_destroy(struct hb_ot_shaper_font_data_t
*data
);
91 struct hb_fallback_shaper_font_data_t
;
92 struct hb_fallback_shaper_font_data_t
93 *hb_fallback_shaper_font_data_create(hb_font_t
* font
);
94 void hb_fallback_shaper_font_data_destroy(struct hb_fallback_shaper_font_data_t