|
|
|
@ -1156,10 +1156,13 @@ struct SubstLookup : Lookup |
|
|
|
|
return_trace (dispatch (c)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
inline hb_closure_context_t::return_t closure (hb_closure_context_t *c) const |
|
|
|
|
inline hb_closure_context_t::return_t closure (hb_closure_context_t *c, unsigned int this_index) const |
|
|
|
|
{ |
|
|
|
|
TRACE_CLOSURE (this); |
|
|
|
|
c->set_recurse_func (dispatch_recurse_func<hb_closure_context_t>); |
|
|
|
|
if (!c->start_lookup (this_index)) |
|
|
|
|
return_trace (HB_VOID); |
|
|
|
|
|
|
|
|
|
c->set_recurse_func (dispatch_closure_recurse_func); |
|
|
|
|
return_trace (dispatch (c)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1258,6 +1261,14 @@ struct SubstLookup : Lookup |
|
|
|
|
template <typename context_t> |
|
|
|
|
static inline typename context_t::return_t dispatch_recurse_func (context_t *c, unsigned int lookup_index); |
|
|
|
|
|
|
|
|
|
static inline hb_closure_context_t::return_t dispatch_closure_recurse_func |
|
|
|
|
(hb_closure_context_t *c, unsigned int lookup_index) |
|
|
|
|
{ |
|
|
|
|
if (!c->start_lookup (lookup_index)) |
|
|
|
|
return HB_VOID; |
|
|
|
|
return dispatch_recurse_func (c, lookup_index); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename context_t> |
|
|
|
|
inline typename context_t::return_t dispatch (context_t *c) const |
|
|
|
|
{ return Lookup::dispatch<SubstLookupSubTable> (c); } |
|
|
|
|