Thanks Hilmar. See below: On Mon, Aug 11, 2014 at 5:40 PM, Hilmar Preusse <hill...@web.de> wrote: > > static hb_bool_t > hb_shape_plan_matches (const hb_shape_plan_t *shape_plan, > const hb_shape_plan_proposal_t *proposal) > { > return hb_segment_properties_equal (&shape_plan->props, > &proposal->props) && > hb_shape_plan_user_features_match (shape_plan, proposal) && > ((shape_plan->default_shaper_list && proposal->shaper_list == > NULL) || > (shape_plan->shaper_func == proposal->shaper_func)); > } >
Before the return, add something like this: printf("DEBUG props %d features %d default_shaper %d shaper_list %d plan func %p proposal func %p\n", hb_segment_properties_equal (&shape_plan->props, &proposal->props), hb_shape_plan_user_features_match (shape_plan, proposal), shape_plan->default_shaper_list, proposal->shaper_list == NULL, shape_plan->shaper_func, proposal->shaper_func);