| Top | Description |  |  |  |  | 
void hb_font_add_glyph_origin_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y); hb_font_t * hb_font_create (hb_face_t *face); hb_font_t * hb_font_create_sub_font (hb_font_t *parent); void hb_font_destroy (hb_font_t *font); hb_font_funcs_t * hb_font_funcs_create (void); void hb_font_funcs_destroy (hb_font_funcs_t *ffuncs); hb_font_funcs_t * hb_font_funcs_get_empty (void); void * hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs,hb_user_data_key_t *key); hb_bool_t hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs); void hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs); hb_font_funcs_t * hb_font_funcs_reference (hb_font_funcs_t *ffuncs); void hb_font_funcs_set_glyph_contour_point_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_contour_point_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_extents_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_extents_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_from_name_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_h_advance_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_h_advance_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_h_kerning_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_h_origin_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_h_origin_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_name_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_name_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_v_advance_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_v_advance_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_v_kerning_func_t func,void *user_data,hb_destroy_func_t destroy); void hb_font_funcs_set_glyph_v_origin_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_v_origin_func_t func,void *user_data,hb_destroy_func_t destroy); hb_bool_t hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,hb_user_data_key_t *key,void *data,hb_destroy_func_t destroy,hb_bool_t replace); typedef hb_font_funcs_t; hb_font_t * hb_font_get_empty (void); hb_face_t * hb_font_get_face (hb_font_t *font); hb_bool_t hb_font_get_glyph (hb_font_t *font,hb_codepoint_t unicode,hb_codepoint_t variation_selector,hb_codepoint_t *glyph); void hb_font_get_glyph_advance_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y); hb_position_t (*hb_font_get_glyph_advance_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,void *user_data); hb_bool_t hb_font_get_glyph_contour_point (hb_font_t *font,hb_codepoint_t glyph,unsigned int point_index,hb_position_t *x,hb_position_t *y); hb_bool_t hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,hb_codepoint_t glyph,unsigned int point_index,hb_direction_t direction,hb_position_t *x,hb_position_t *y); hb_bool_t (*hb_font_get_glyph_contour_point_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,unsigned int point_index,hb_position_t *x,hb_position_t *y,void *user_data); hb_bool_t hb_font_get_glyph_extents (hb_font_t *font,hb_codepoint_t glyph,hb_glyph_extents_t *extents); hb_bool_t hb_font_get_glyph_extents_for_origin (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_glyph_extents_t *extents); hb_bool_t (*hb_font_get_glyph_extents_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,hb_glyph_extents_t *extents,void *user_data); hb_bool_t hb_font_get_glyph_from_name (hb_font_t *font,const char *name,int len,hb_codepoint_t *glyph); hb_bool_t (*hb_font_get_glyph_from_name_func_t) (hb_font_t *font,void *font_data,const char *name,int len); hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t unicode,hb_codepoint_t variation_selector,hb_codepoint_t *glyph,void *user_data); hb_position_t hb_font_get_glyph_h_advance (hb_font_t *font,hb_codepoint_t glyph); typedef hb_font_get_glyph_h_advance_func_t; hb_position_t hb_font_get_glyph_h_kerning (hb_font_t *font,hb_codepoint_t left_glyph,hb_codepoint_t right_glyph); typedef hb_font_get_glyph_h_kerning_func_t; hb_bool_t hb_font_get_glyph_h_origin (hb_font_t *font,hb_codepoint_t glyph,hb_position_t *x,hb_position_t *y); typedef hb_font_get_glyph_h_origin_func_t; void hb_font_get_glyph_kerning_for_direction (hb_font_t *font,hb_codepoint_t first_glyph,hb_codepoint_t second_glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y); hb_position_t (*hb_font_get_glyph_kerning_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t first_glyph,hb_codepoint_t second_glyph,void *user_data); hb_bool_t hb_font_get_glyph_name (hb_font_t *font,hb_codepoint_t glyph,char *name,unsigned int size); hb_bool_t (*hb_font_get_glyph_name_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,char *name,unsigned int size,void *user_data); void hb_font_get_glyph_origin_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y); hb_bool_t (*hb_font_get_glyph_origin_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,hb_position_t *x,hb_position_t *y,void *user_data); hb_position_t hb_font_get_glyph_v_advance (hb_font_t *font,hb_codepoint_t glyph); typedef hb_font_get_glyph_v_advance_func_t; hb_position_t hb_font_get_glyph_v_kerning (hb_font_t *font,hb_codepoint_t top_glyph,hb_codepoint_t bottom_glyph); typedef hb_font_get_glyph_v_kerning_func_t; hb_bool_t hb_font_get_glyph_v_origin (hb_font_t *font,hb_codepoint_t glyph,hb_position_t *x,hb_position_t *y); typedef hb_font_get_glyph_v_origin_func_t; hb_font_t * hb_font_get_parent (hb_font_t *font); void hb_font_get_ppem (hb_font_t *font,unsigned int *x_ppem,unsigned int *y_ppem); void hb_font_get_scale (hb_font_t *font,int *x_scale,int *y_scale); void * hb_font_get_user_data (hb_font_t *font,hb_user_data_key_t *key); hb_bool_t hb_font_glyph_from_string (hb_font_t *font,const char *s,int len,hb_codepoint_t *glyph); void hb_font_glyph_to_string (hb_font_t *font,hb_codepoint_t glyph,char *s,unsigned int size); hb_bool_t hb_font_is_immutable (hb_font_t *font); void hb_font_make_immutable (hb_font_t *font); hb_font_t * hb_font_reference (hb_font_t *font); void hb_font_set_funcs (hb_font_t *font,hb_font_funcs_t *klass,void *font_data,hb_destroy_func_t destroy); void hb_font_set_funcs_data (hb_font_t *font,void *font_data,hb_destroy_func_t destroy); void hb_font_set_ppem (hb_font_t *font,unsigned int x_ppem,unsigned int y_ppem); void hb_font_set_scale (hb_font_t *font,int x_scale,int y_scale); hb_bool_t hb_font_set_user_data (hb_font_t *font,hb_user_data_key_t *key,void *data,hb_destroy_func_t destroy,hb_bool_t replace); void hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y); typedef hb_font_t; hb_blob_t * (*hb_reference_table_func_t) (hb_face_t *face,hb_tag_t tag,void *user_data);
void hb_font_add_glyph_origin_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
hb_font_t *         hb_font_create_sub_font             (hb_font_t *parent);
| 
 | parent font. | 
| Returns : | . [transfer full] | 
Since 1.0
void                hb_font_funcs_destroy               (hb_font_funcs_t *ffuncs);
| 
 | font functions. | 
Since 1.0
hb_font_funcs_t *   hb_font_funcs_get_empty             (void);
| Returns : | . [transfer full] | 
Since 1.0
void * hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs,hb_user_data_key_t *key);
| 
 | font functions. | 
| Returns : | . [transfer none] | 
Since 1.0
hb_bool_t           hb_font_funcs_is_immutable          (hb_font_funcs_t *ffuncs);
| 
 | font functions. | 
Since 1.0
void                hb_font_funcs_make_immutable        (hb_font_funcs_t *ffuncs);
| 
 | font functions. | 
Since 1.0
hb_font_funcs_t *   hb_font_funcs_reference             (hb_font_funcs_t *ffuncs);
| 
 | font functions. | 
Since 1.0
void hb_font_funcs_set_glyph_contour_point_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_contour_point_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_funcs_set_glyph_extents_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_extents_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_from_name_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
Since 1.0
void hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
Since 1.0
void hb_font_funcs_set_glyph_h_advance_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_h_advance_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_h_kerning_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_funcs_set_glyph_h_origin_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_h_origin_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_funcs_set_glyph_name_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_name_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
Since 1.0
void hb_font_funcs_set_glyph_v_advance_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_v_advance_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_v_kerning_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_funcs_set_glyph_v_origin_func (hb_font_funcs_t *ffuncs,hb_font_get_glyph_v_origin_func_t func,void *user_data,hb_destroy_func_t destroy);
| 
 | font functions. | 
| 
 | . [closure user_data][destroy destroy][scope notified] | 
Since 1.0
hb_bool_t hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,hb_user_data_key_t *key,void *data,hb_destroy_func_t destroy,hb_bool_t replace);
| 
 | font functions. | 
Since 1.0
hb_face_t *         hb_font_get_face                    (hb_font_t *font);
| 
 | a font. | 
| Returns : | . [transfer none] | 
Since 1.0
hb_bool_t hb_font_get_glyph (hb_font_t *font,hb_codepoint_t unicode,hb_codepoint_t variation_selector,hb_codepoint_t *glyph);
| 
 | a font. | 
| 
 | . [out] | 
Since 1.0
void hb_font_get_glyph_advance_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
hb_position_t (*hb_font_get_glyph_advance_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,void *user_data);
hb_bool_t hb_font_get_glyph_contour_point (hb_font_t *font,hb_codepoint_t glyph,unsigned int point_index,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
hb_bool_t hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,hb_codepoint_t glyph,unsigned int point_index,hb_direction_t direction,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
hb_bool_t (*hb_font_get_glyph_contour_point_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,unsigned int point_index,hb_position_t *x,hb_position_t *y,void *user_data);
hb_bool_t hb_font_get_glyph_extents (hb_font_t *font,hb_codepoint_t glyph,hb_glyph_extents_t *extents);
| 
 | a font. | 
| 
 | . [out] | 
Since 1.0
hb_bool_t hb_font_get_glyph_extents_for_origin (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_glyph_extents_t *extents);
| 
 | a font. | 
| 
 | . [out] | 
Since 1.0
hb_bool_t (*hb_font_get_glyph_extents_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,hb_glyph_extents_t *extents,void *user_data);
hb_bool_t hb_font_get_glyph_from_name (hb_font_t *font,const char *name,int len,hb_codepoint_t *glyph);
| 
 | a font. | 
| 
 | . [array length=len] | 
| 
 | . [out] | 
Since 1.0
hb_bool_t (*hb_font_get_glyph_from_name_func_t) (hb_font_t *font,void *font_data,const char *name,int len);
hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t unicode,hb_codepoint_t variation_selector,hb_codepoint_t *glyph,void *user_data);
hb_position_t hb_font_get_glyph_h_advance (hb_font_t *font,hb_codepoint_t glyph);
| 
 | a font. | 
Since 1.0
typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_h_advance_func_t;
hb_position_t hb_font_get_glyph_h_kerning (hb_font_t *font,hb_codepoint_t left_glyph,hb_codepoint_t right_glyph);
| 
 | a font. | 
Since 1.0
typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t;
hb_bool_t hb_font_get_glyph_h_origin (hb_font_t *font,hb_codepoint_t glyph,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t;
void hb_font_get_glyph_kerning_for_direction (hb_font_t *font,hb_codepoint_t first_glyph,hb_codepoint_t second_glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
hb_position_t (*hb_font_get_glyph_kerning_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t first_glyph,hb_codepoint_t second_glyph,void *user_data);
hb_bool_t hb_font_get_glyph_name (hb_font_t *font,hb_codepoint_t glyph,char *name,unsigned int size);
| 
 | a font. | 
| 
 | . [array length=size] | 
Since 1.0
hb_bool_t (*hb_font_get_glyph_name_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,char *name,unsigned int size,void *user_data);
void hb_font_get_glyph_origin_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
hb_bool_t (*hb_font_get_glyph_origin_func_t) (hb_font_t *font,void *font_data,hb_codepoint_t glyph,hb_position_t *x,hb_position_t *y,void *user_data);
hb_position_t hb_font_get_glyph_v_advance (hb_font_t *font,hb_codepoint_t glyph);
| 
 | a font. | 
Since 1.0
typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_v_advance_func_t;
hb_position_t hb_font_get_glyph_v_kerning (hb_font_t *font,hb_codepoint_t top_glyph,hb_codepoint_t bottom_glyph);
| 
 | a font. | 
Since 1.0
typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t;
hb_bool_t hb_font_get_glyph_v_origin (hb_font_t *font,hb_codepoint_t glyph,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t;
hb_font_t *         hb_font_get_parent                  (hb_font_t *font);
| 
 | a font. | 
| Returns : | . [transfer none] | 
Since 1.0
void hb_font_get_ppem (hb_font_t *font,unsigned int *x_ppem,unsigned int *y_ppem);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
void hb_font_get_scale (hb_font_t *font,int *x_scale,int *y_scale);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0
void * hb_font_get_user_data (hb_font_t *font,hb_user_data_key_t *key);
| 
 | a font. | 
| Returns : | . [transfer none] | 
Since 1.0
hb_bool_t hb_font_glyph_from_string (hb_font_t *font,const char *s,int len,hb_codepoint_t *glyph);
| 
 | a font. | 
| 
 | . [array length=len] | 
| 
 | . [out] | 
Since 1.0
void hb_font_glyph_to_string (hb_font_t *font,hb_codepoint_t glyph,char *s,unsigned int size);
| 
 | a font. | 
| 
 | . [array length=size] | 
Since 1.0
hb_font_t *         hb_font_reference                   (hb_font_t *font);
| 
 | a font. | 
| Returns : | . [transfer full] | 
Since 1.0
void hb_font_set_funcs (hb_font_t *font,hb_font_funcs_t *klass,void *font_data,hb_destroy_func_t destroy);
| 
 | a font. | 
| 
 | . [closure font_data][destroy destroy][scope notified] | 
Since 1.0
void hb_font_set_funcs_data (hb_font_t *font,void *font_data,hb_destroy_func_t destroy);
| 
 | a font. | 
| 
 | . [destroy destroy][scope notified] | 
Since 1.0
void hb_font_set_ppem (hb_font_t *font,unsigned int x_ppem,unsigned int y_ppem);
| 
 | a font. | 
Since 1.0
void hb_font_set_scale (hb_font_t *font,int x_scale,int y_scale);
| 
 | a font. | 
Since 1.0
hb_bool_t hb_font_set_user_data (hb_font_t *font,hb_user_data_key_t *key,void *data,hb_destroy_func_t destroy,hb_bool_t replace);
| 
 | a font. | 
Since 1.0
void hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,hb_codepoint_t glyph,hb_direction_t direction,hb_position_t *x,hb_position_t *y);
| 
 | a font. | 
| 
 | . [out] | 
| 
 | . [out] | 
Since 1.0