30
30
#include "hb-common.h"
31
31
#include "hb-blob.h"
32
#include "hb-unicode.h"
35
typedef struct _hb_font_callbacks_t hb_font_callbacks_t;
36
typedef struct _hb_unicode_callbacks_t hb_unicode_callbacks_t;
38
41
typedef struct _hb_face_t hb_face_t;
39
typedef struct _hb_font_t hb_font_t;
41
typedef hb_blob_t * (*hb_get_table_func_t) (hb_tag_t tag, void *user_data);
49
hb_font_callbacks_create (void);
52
hb_font_callbacks_reference (hb_font_callbacks_t *fcallbacks);
55
hb_font_callbacks_get_reference_count (hb_font_callbacks_t *fcallbacks);
58
hb_font_callbacks_destroy (hb_font_callbacks_t *fcallbacks);
61
hb_font_callbacks_copy (hb_font_callbacks_t *fcallbacks);
66
hb_font_callbacks_set_glyph_func (hb_font_callbacks_t *fcallbacks,
67
hb_font_get_glyph_func_t glyph_func);
70
hb_font_callbacks_set_contour_point_func (hb_font_callbacks_t *fcallbacks,
71
hb_font_get_contour_point_func_t contour_point_func);
74
hb_font_callbacks_set_glyph_metrics_func (hb_font_callbacks_t *fcallbacks,
75
hb_font_get_glyph_metrics_func_t glyph_metrics_func);
78
hb_font_callbacks_set_kerning_func (hb_font_callbacks_t *fcallbacks,
79
hb_font_get_kerning_func_t kerning_func);
85
* hb_unicode_callbacks_t
88
hb_unicode_callbacks_t *
89
hb_unicode_callbacks_create (void);
91
hb_unicode_callbacks_t *
92
hb_unicode_callbacks_reference (hb_unicode_callbacks_t *ucallbacks);
95
hb_unicode_callbacks_get_reference_count (hb_unicode_callbacks_t *ucallbacks);
98
hb_unicode_callbacks_destroy (hb_unicode_callbacks_t *ucallbacks);
100
hb_unicode_callbacks_t *
101
hb_unicode_callbacks_copy (hb_unicode_callbacks_t *ucallbacks);
106
hb_unicode_callbacks_set_general_category_func (hb_unicode_callbacks_t *ucallbacks,
107
hb_unicode_get_general_category_func_t general_category_func);
110
hb_unicode_callbacks_set_combining_class_func (hb_unicode_callbacks_t *ucallbacks,
111
hb_unicode_get_combining_class_func_t combining_class_func);
114
hb_unicode_callbacks_set_mirroring_char_func (hb_unicode_callbacks_t *ucallbacks,
115
hb_unicode_get_mirroring_char_func_t mirroring_char_func);
118
hb_unicode_callbacks_set_script_func (hb_unicode_callbacks_t *ucallbacks,
119
hb_unicode_get_script_func_t script_func);
122
hb_unicode_callbacks_set_eastasian_width_func (hb_unicode_callbacks_t *ucallbacks,
123
hb_unicode_get_eastasian_width_func_t eastasian_width_func);
133
44
hb_face_create_for_data (hb_blob_t *blob,
134
45
unsigned int index);
47
typedef hb_blob_t * (*hb_get_table_func_t) (hb_tag_t tag, void *user_data);
136
49
/* calls destory() when not needing user_data anymore */
138
51
hb_face_create_for_tables (hb_get_table_func_t get_table,
149
62
hb_face_destroy (hb_face_t *face);
152
hb_face_set_font_callbacks (hb_face_t *face,
153
hb_font_callbacks_t *fcallbacks);
156
hb_face_set_unicode_callbacks (hb_face_t *face,
157
hb_unicode_callbacks_t *ucallbacks);
65
hb_face_set_unicode_funcs (hb_face_t *face,
66
hb_unicode_funcs_t *unicode_funcs);
160
69
hb_face_get_table (hb_face_t *face,
77
typedef struct _hb_font_funcs_t hb_font_funcs_t;
80
hb_font_funcs_create (void);
83
hb_font_funcs_reference (hb_font_funcs_t *ffuncs);
86
hb_font_funcs_get_reference_count (hb_font_funcs_t *ffuncs);
89
hb_font_funcs_destroy (hb_font_funcs_t *ffuncs);
92
hb_font_funcs_copy (hb_font_funcs_t *ffuncs);
95
hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs);
100
hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,
101
hb_font_get_glyph_func_t glyph_func);
104
hb_font_funcs_set_contour_point_func (hb_font_funcs_t *ffuncs,
105
hb_font_get_contour_point_func_t contour_point_func);
108
hb_font_funcs_set_glyph_metrics_func (hb_font_funcs_t *ffuncs,
109
hb_font_get_glyph_metrics_func_t glyph_metrics_func);
112
hb_font_funcs_set_kerning_func (hb_font_funcs_t *ffuncs,
113
hb_font_get_kerning_func_t kerning_func);