typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t;
typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t;
+typedef 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);
+typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t;
+
typedef hb_bool_t (*hb_font_get_glyph_extents_func_t) (hb_font_t *font, void *font_data,
hb_codepoint_t glyph,
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 1.2.3
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 1.2.3
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 1.8.6
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 1.8.6
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
void *user_data, hb_destroy_func_t destroy);
/**
+ * hb_font_funcs_set_glyph_h_kerning_func:
+ * @ffuncs: font functions.
+ * @func: (closure user_data) (destroy destroy) (scope notified):
+ * @user_data:
+ * @destroy:
+ *
+ *
+ *
+ * Since: 0.9.2
+ **/
+HB_EXTERN 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);
+
+/**
* hb_font_funcs_set_glyph_extents_func:
* @ffuncs: font functions.
* @func: (closure user_data) (destroy destroy) (scope notified):
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
* @user_data:
* @destroy:
*
- *
+ *
*
* Since: 0.9.2
**/
hb_codepoint_t unicode, hb_codepoint_t variation_selector,
hb_codepoint_t *glyph);
+HB_EXTERN unsigned int
+hb_font_get_nominal_glyphs (hb_font_t *font,
+ unsigned int count,
+ const hb_codepoint_t *first_unicode,
+ unsigned int unicode_stride,
+ hb_codepoint_t *first_glyph,
+ unsigned int glyph_stride);
+
HB_EXTERN hb_position_t
hb_font_get_glyph_h_advance (hb_font_t *font,
hb_codepoint_t glyph);
hb_codepoint_t glyph,
hb_position_t *x, hb_position_t *y);
+HB_EXTERN hb_position_t
+hb_font_get_glyph_h_kerning (hb_font_t *font,
+ hb_codepoint_t left_glyph, hb_codepoint_t right_glyph);
+
HB_EXTERN hb_bool_t
hb_font_get_glyph_extents (hb_font_t *font,
hb_codepoint_t glyph,
hb_direction_t direction,
hb_position_t *x, hb_position_t *y);
+HB_EXTERN 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_EXTERN hb_bool_t
hb_font_get_glyph_extents_for_origin (hb_font_t *font,
hb_codepoint_t glyph,
/* Be *very* careful with this function! */
HB_EXTERN void
hb_font_set_funcs_data (hb_font_t *font,
- void *font_data,
- hb_destroy_func_t destroy);
+ void *font_data,
+ hb_destroy_func_t destroy);
HB_EXTERN void
hb_font_get_var_coords_normalized (hb_font_t *font,
unsigned int *length);
+HB_EXTERN void
+hb_font_set_var_named_instance (hb_font_t *font,
+ unsigned instance_index);
+
HB_END_DECLS
#endif /* HB_FONT_H */