1 #ifndef HB_SHAPER_PRIVATE_H
2 #define HB_SHAPER_PRIVATE_H
3 //Means: succeeded, but don't need to keep any data.
4 #define HB_SHAPER_DATA_SUCCEEDED ((void*)+1)
5 //Means: tried but failed to create.
6 #define HB_SHAPER_DATA_INVALID ((void*)-1)
8 typedef hb_bool_t
hb_shape_func_t(hb_shape_plan_t
*shape_plan
,
11 const hb_feature_t
*features
,
12 unsigned num_features
);
14 hb_shape_func_t hb_graphite2_shape
;
17 hb_shape_func_t hb_ot_shape
;
19 hb_shape_func_t hb_fallback_shape
;
21 struct hb_shaper_pair_t
{
23 hb_shape_func_t
*func
;
26 //For embedding in face / font / ...
27 struct hb_shaper_data_t
{
37 #define HB_SHAPERS_COUNT (sizeof(struct hb_shaper_data_t)/sizeof(void *))
38 #define HB_SHAPER_DATA_IS_INVALID(data) ((void*)(data) == HB_SHAPER_DATA_INVALID)
40 struct hb_shaper_pair_t
*