27#if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28#error "Include <hb.h> instead."
230 unsigned int unicode_stride,
232 unsigned int glyph_stride,
297 unsigned glyph_stride,
299 unsigned advance_stride,
463 char *
name,
unsigned int size,
484 const char *
name,
int len,
525 unsigned int palette_index,
841 unsigned int unicode_stride,
843 unsigned int glyph_stride);
856 unsigned glyph_stride,
858 unsigned advance_stride);
863 unsigned glyph_stride,
865 unsigned advance_stride);
893 char *
name,
unsigned int size);
896 const char *
name,
int len,
908 unsigned int palette_index,
934 unsigned glyph_stride,
936 unsigned advance_stride);
975 char *
s,
unsigned int size);
979 const char *
s,
int len,
1071 unsigned int x_ppem,
1072 unsigned int y_ppem);
1076 unsigned int *x_ppem,
1077 unsigned int *y_ppem);
1091 float x_embolden,
float y_embolden,
1096 float *x_embolden,
float *y_embolden,
1108 unsigned int variations_length);
1117 const float *coords,
1118 unsigned int coords_length);
1122 unsigned int *length);
1127 unsigned int coords_length);
1131 unsigned int *length);
1142#define HB_FONT_NO_VAR_NAMED_INSTANCE 0xFFFFFFFF
1146 unsigned int instance_index);
void(* hb_destroy_func_t)(void *user_data)
HB_BEGIN_DECLS typedef int hb_bool_t
struct hb_font_t hb_font_t
struct hb_draw_funcs_t hb_draw_funcs_t
struct hb_face_t hb_face_t
HB_EXTERN void hb_font_make_immutable(hb_font_t *font)
HB_EXTERN hb_font_t * hb_font_create_sub_font(hb_font_t *parent)
HB_EXTERN hb_face_t * hb_font_get_face(hb_font_t *font)
HB_EXTERN void hb_font_get_ppem(hb_font_t *font, unsigned int *x_ppem, unsigned int *y_ppem)
HB_EXTERN void hb_font_set_ppem(hb_font_t *font, unsigned int x_ppem, unsigned int y_ppem)
HB_EXTERN void hb_font_funcs_make_immutable(hb_font_funcs_t *ffuncs)
hb_font_get_glyph_advance_func_t hb_font_get_glyph_v_advance_func_t
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_EXTERN void hb_font_set_funcs(hb_font_t *font, hb_font_funcs_t *klass, void *font_data, hb_destroy_func_t destroy)
hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t
HB_EXTERN 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_EXTERN void hb_font_funcs_set_draw_glyph_func(hb_font_funcs_t *ffuncs, hb_font_draw_glyph_func_t func, void *user_data, hb_destroy_func_t destroy)
HB_EXTERN void hb_font_get_extents_for_direction(hb_font_t *font, hb_direction_t direction, hb_font_extents_t *extents)
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_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_EXTERN 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_EXTERN void hb_font_get_glyph_advances_for_direction(hb_font_t *font, hb_direction_t direction, unsigned int count, const hb_codepoint_t *first_glyph, unsigned glyph_stride, hb_position_t *first_advance, unsigned advance_stride)
struct hb_font_extents_t hb_font_extents_t
HB_EXTERN 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)
HB_EXTERN 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)
HB_EXTERN 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)
HB_EXTERN 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)
HB_EXTERN void hb_font_funcs_destroy(hb_font_funcs_t *ffuncs)
HB_EXTERN hb_font_t * hb_font_get_parent(hb_font_t *font)
HB_EXTERN 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_EXTERN float hb_font_get_ptem(hb_font_t *font)
HB_EXTERN 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)
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 void hb_font_set_var_named_instance(hb_font_t *font, unsigned int instance_index)
HB_EXTERN void hb_font_set_variation(hb_font_t *font, hb_tag_t tag, float value)
HB_EXTERN 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_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_EXTERN void hb_font_funcs_set_nominal_glyphs_func(hb_font_funcs_t *ffuncs, hb_font_get_nominal_glyphs_func_t func, void *user_data, hb_destroy_func_t destroy)
unsigned int(* hb_font_get_nominal_glyphs_func_t)(hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_unicode, unsigned int unicode_stride, hb_codepoint_t *first_glyph, unsigned int glyph_stride, void *user_data)
HB_EXTERN void hb_font_set_variations(hb_font_t *font, const hb_variation_t *variations, unsigned int variations_length)
hb_bool_t(* hb_font_get_font_extents_func_t)(hb_font_t *font, void *font_data, hb_font_extents_t *extents, void *user_data)
HB_EXTERN void hb_font_funcs_set_variation_glyph_func(hb_font_funcs_t *ffuncs, hb_font_get_variation_glyph_func_t func, void *user_data, hb_destroy_func_t destroy)
HB_EXTERN 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)
HB_EXTERN unsigned int hb_font_get_var_named_instance(hb_font_t *font)
HB_EXTERN void hb_font_funcs_set_paint_glyph_func(hb_font_funcs_t *ffuncs, hb_font_paint_glyph_func_t func, void *user_data, hb_destroy_func_t destroy)
HB_EXTERN hb_position_t hb_font_get_glyph_v_advance(hb_font_t *font, hb_codepoint_t glyph)
HB_EXTERN 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)
HB_EXTERN void hb_font_set_face(hb_font_t *font, hb_face_t *face)
HB_EXTERN void hb_font_funcs_set_glyph_v_advances_func(hb_font_funcs_t *ffuncs, hb_font_get_glyph_v_advances_func_t func, void *user_data, hb_destroy_func_t destroy)
HB_EXTERN hb_bool_t hb_font_get_v_extents(hb_font_t *font, hb_font_extents_t *extents)
HB_EXTERN void hb_font_draw_glyph(hb_font_t *font, hb_codepoint_t glyph, hb_draw_funcs_t *dfuncs, void *draw_data)
HB_EXTERN hb_bool_t hb_font_get_glyph_extents(hb_font_t *font, hb_codepoint_t glyph, hb_glyph_extents_t *extents)
HB_EXTERN 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_EXTERN void hb_font_get_glyph_h_advances(hb_font_t *font, unsigned int count, const hb_codepoint_t *first_glyph, unsigned glyph_stride, hb_position_t *first_advance, unsigned advance_stride)
HB_EXTERN hb_font_funcs_t * hb_font_funcs_create(void)
HB_EXTERN void hb_font_get_synthetic_bold(hb_font_t *font, float *x_embolden, float *y_embolden, hb_bool_t *in_place)
HB_EXTERN void hb_font_get_glyph_v_advances(hb_font_t *font, unsigned int count, const hb_codepoint_t *first_glyph, unsigned glyph_stride, hb_position_t *first_advance, unsigned advance_stride)
HB_EXTERN hb_font_t * hb_font_get_empty(void)
HB_EXTERN void hb_font_paint_glyph(hb_font_t *font, hb_codepoint_t glyph, hb_paint_funcs_t *pfuncs, void *paint_data, unsigned int palette_index, hb_color_t foreground)
HB_EXTERN void hb_font_destroy(hb_font_t *font)
HB_EXTERN hb_bool_t hb_font_get_glyph_from_name(hb_font_t *font, const char *name, int len, hb_codepoint_t *glyph)
hb_font_get_font_extents_func_t hb_font_get_font_h_extents_func_t
HB_EXTERN hb_bool_t hb_font_get_variation_glyph(hb_font_t *font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph)
HB_EXTERN void hb_font_set_scale(hb_font_t *font, int x_scale, int y_scale)
hb_bool_t(* hb_font_get_variation_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_EXTERN hb_bool_t hb_font_get_nominal_glyph(hb_font_t *font, hb_codepoint_t unicode, hb_codepoint_t *glyph)
HB_EXTERN void hb_font_set_funcs_data(hb_font_t *font, void *font_data, hb_destroy_func_t destroy)
HB_EXTERN void hb_font_set_synthetic_bold(hb_font_t *font, float x_embolden, float y_embolden, hb_bool_t in_place)
HB_EXTERN 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)
HB_EXTERN hb_bool_t hb_font_get_glyph(hb_font_t *font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph)
typedefHB_BEGIN_DECLS struct hb_font_funcs_t hb_font_funcs_t
HB_EXTERN void hb_font_funcs_set_font_h_extents_func(hb_font_funcs_t *ffuncs, hb_font_get_font_h_extents_func_t func, void *user_data, hb_destroy_func_t destroy)
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_EXTERN 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_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 const float * hb_font_get_var_coords_design(hb_font_t *font, unsigned int *length)
HB_EXTERN hb_font_funcs_t * hb_font_funcs_reference(hb_font_funcs_t *ffuncs)
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)
HB_EXTERN hb_bool_t hb_font_funcs_is_immutable(hb_font_funcs_t *ffuncs)
HB_EXTERN hb_font_funcs_t * hb_font_funcs_get_empty(void)
HB_EXTERN void hb_font_set_var_coords_design(hb_font_t *font, const float *coords, unsigned int coords_length)
HB_EXTERN hb_bool_t hb_font_glyph_from_string(hb_font_t *font, const char *s, 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_codepoint_t *glyph, void *user_data)
void(* hb_font_paint_glyph_func_t)(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_paint_funcs_t *paint_funcs, void *paint_data, unsigned int palette_index, hb_color_t foreground, void *user_data)
HB_EXTERN void * hb_font_funcs_get_user_data(const hb_font_funcs_t *ffuncs, hb_user_data_key_t *key)
HB_EXTERN 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)
HB_EXTERN 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)
void(* hb_font_draw_glyph_func_t)(hb_font_t *font, void *font_data, hb_codepoint_t glyph, hb_draw_funcs_t *draw_funcs, void *draw_data, void *user_data)
HB_EXTERN 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)
HB_EXTERN const int * hb_font_get_var_coords_normalized(hb_font_t *font, unsigned int *length)
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 void hb_font_set_var_coords_normalized(hb_font_t *font, const int *coords, unsigned int coords_length)
void(* hb_font_get_glyph_advances_func_t)(hb_font_t *font, void *font_data, unsigned int count, const hb_codepoint_t *first_glyph, unsigned glyph_stride, hb_position_t *first_advance, unsigned advance_stride, void *user_data)
HB_EXTERN float hb_font_get_synthetic_slant(hb_font_t *font)
HB_EXTERN void hb_font_glyph_to_string(hb_font_t *font, hb_codepoint_t glyph, char *s, unsigned int size)
HB_EXTERN hb_bool_t hb_font_is_immutable(hb_font_t *font)
HB_EXTERN void hb_font_get_scale(hb_font_t *font, int *x_scale, int *y_scale)
HB_EXTERN void hb_font_set_parent(hb_font_t *font, hb_font_t *parent)
HB_EXTERN hb_bool_t hb_font_get_glyph_name(hb_font_t *font, hb_codepoint_t glyph, char *name, unsigned int size)
hb_font_get_glyph_advance_func_t hb_font_get_glyph_h_advance_func_t
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_EXTERN hb_font_t * hb_font_create(hb_face_t *face)
HB_EXTERN void * hb_font_get_user_data(const hb_font_t *font, hb_user_data_key_t *key)
hb_font_get_font_extents_func_t hb_font_get_font_v_extents_func_t
HB_EXTERN hb_bool_t hb_font_get_h_extents(hb_font_t *font, hb_font_extents_t *extents)
HB_EXTERN void hb_font_funcs_set_nominal_glyph_func(hb_font_funcs_t *ffuncs, hb_font_get_nominal_glyph_func_t func, void *user_data, hb_destroy_func_t destroy)
hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t
hb_bool_t(* hb_font_get_nominal_glyph_func_t)(hb_font_t *font, void *font_data, hb_codepoint_t unicode, hb_codepoint_t *glyph, void *user_data)
hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t
HB_EXTERN 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)
hb_font_get_glyph_advances_func_t hb_font_get_glyph_h_advances_func_t
HB_EXTERN void hb_font_set_synthetic_slant(hb_font_t *font, float slant)
HB_EXTERN void hb_font_funcs_set_glyph_h_advances_func(hb_font_funcs_t *ffuncs, hb_font_get_glyph_h_advances_func_t func, void *user_data, hb_destroy_func_t destroy)
HB_EXTERN hb_position_t hb_font_get_glyph_h_advance(hb_font_t *font, hb_codepoint_t glyph)
HB_EXTERN 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)
HB_EXTERN void hb_font_changed(hb_font_t *font)
hb_font_get_glyph_advances_func_t hb_font_get_glyph_v_advances_func_t
HB_EXTERN void hb_font_funcs_set_font_v_extents_func(hb_font_funcs_t *ffuncs, hb_font_get_font_v_extents_func_t func, void *user_data, hb_destroy_func_t destroy)
HB_EXTERN void hb_font_set_ptem(hb_font_t *font, float ptem)
HB_EXTERN hb_font_t * hb_font_reference(hb_font_t *font)
HB_EXTERN unsigned int hb_font_get_serial(hb_font_t *font)
typedefHB_BEGIN_DECLS struct hb_paint_funcs_t hb_paint_funcs_t
CURL_EXTERN CURLMcode curl_socket_t s