diff --git a/src/hb-ot-layout-gpos-table.hh b/src/hb-ot-layout-gpos-table.hh index 29faa18db..86c0d8d21 100644 --- a/src/hb-ot-layout-gpos-table.hh +++ b/src/hb-ot-layout-gpos-table.hh @@ -503,10 +503,11 @@ struct SinglePos template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - case 2: return c->process (u.format2); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + case 2: return TRACE_RETURN (c->process (u.format2)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -748,10 +749,11 @@ struct PairPos template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - case 2: return c->process (u.format2); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + case 2: return TRACE_RETURN (c->process (u.format2)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -907,9 +909,10 @@ struct CursivePos template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -997,9 +1000,10 @@ struct MarkBasePos template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -1109,9 +1113,10 @@ struct MarkLigPos template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -1219,9 +1224,10 @@ struct MarkMarkPos template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -1277,17 +1283,18 @@ struct PosLookupSubTable template inline typename context_t::return_t process (context_t *c, unsigned int lookup_type) const { + TRACE_PROCESS (this); switch (lookup_type) { - case Single: return u.single.process (c); - case Pair: return u.pair.process (c); - case Cursive: return u.cursive.process (c); - case MarkBase: return u.markBase.process (c); - case MarkLig: return u.markLig.process (c); - case MarkMark: return u.markMark.process (c); - case Context: return u.context.process (c); - case ChainContext: return u.chainContext.process (c); - case Extension: return u.extension.process (c); - default: return c->default_return_value (); + case Single: return TRACE_RETURN (u.single.process (c)); + case Pair: return TRACE_RETURN (u.pair.process (c)); + case Cursive: return TRACE_RETURN (u.cursive.process (c)); + case MarkBase: return TRACE_RETURN (u.markBase.process (c)); + case MarkLig: return TRACE_RETURN (u.markLig.process (c)); + case MarkMark: return TRACE_RETURN (u.markMark.process (c)); + case Context: return TRACE_RETURN (u.context.process (c)); + case ChainContext: return TRACE_RETURN (u.chainContext.process (c)); + case Extension: return TRACE_RETURN (u.extension.process (c)); + default: return TRACE_RETURN (c->default_return_value ()); } } @@ -1337,14 +1344,15 @@ struct PosLookup : Lookup template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); unsigned int lookup_type = get_type (); unsigned int count = get_subtable_count (); for (unsigned int i = 0; i < count; i++) { typename context_t::return_t r = get_subtable (i).process (c, lookup_type); if (c->stop_sublookup_iteration (r)) - return r; + return TRACE_RETURN (r); } - return c->default_return_value (); + return TRACE_RETURN (c->default_return_value ()); } template diff --git a/src/hb-ot-layout-gsub-table.hh b/src/hb-ot-layout-gsub-table.hh index 1a2119df7..201ca2780 100644 --- a/src/hb-ot-layout-gsub-table.hh +++ b/src/hb-ot-layout-gsub-table.hh @@ -193,10 +193,11 @@ struct SingleSubst template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - case 2: return c->process (u.format2); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + case 2: return TRACE_RETURN (c->process (u.format2)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -382,9 +383,10 @@ struct MultipleSubst template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -531,9 +533,10 @@ struct AlternateSubst template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -832,9 +835,10 @@ struct LigatureSubst template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -1010,9 +1014,10 @@ struct ReverseChainSingleSubst template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -1056,16 +1061,17 @@ struct SubstLookupSubTable template inline typename context_t::return_t process (context_t *c, unsigned int lookup_type) const { + TRACE_PROCESS (this); switch (lookup_type) { - case Single: return u.single.process (c); - case Multiple: return u.multiple.process (c); - case Alternate: return u.alternate.process (c); - case Ligature: return u.ligature.process (c); - case Context: return u.context.process (c); - case ChainContext: return u.chainContext.process (c); - case Extension: return u.extension.process (c); - case ReverseChainSingle: return u.reverseChainContextSingle.process (c); - default: return c->default_return_value (); + case Single: return TRACE_RETURN (u.single.process (c)); + case Multiple: return TRACE_RETURN (u.multiple.process (c)); + case Alternate: return TRACE_RETURN (u.alternate.process (c)); + case Ligature: return TRACE_RETURN (u.ligature.process (c)); + case Context: return TRACE_RETURN (u.context.process (c)); + case ChainContext: return TRACE_RETURN (u.chainContext.process (c)); + case Extension: return TRACE_RETURN (u.extension.process (c)); + case ReverseChainSingle: return TRACE_RETURN (u.reverseChainContextSingle.process (c)); + default: return TRACE_RETURN (c->default_return_value ()); } } @@ -1124,14 +1130,15 @@ struct SubstLookup : Lookup template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); unsigned int lookup_type = get_type (); unsigned int count = get_subtable_count (); for (unsigned int i = 0; i < count; i++) { typename context_t::return_t r = get_subtable (i).process (c, lookup_type); if (c->stop_sublookup_iteration (r)) - return r; + return TRACE_RETURN (r); } - return c->default_return_value (); + return TRACE_RETURN (c->default_return_value ()); } template diff --git a/src/hb-ot-layout-gsubgpos-private.hh b/src/hb-ot-layout-gsubgpos-private.hh index 1fbfabd8d..6be9238ca 100644 --- a/src/hb-ot-layout-gsubgpos-private.hh +++ b/src/hb-ot-layout-gsubgpos-private.hh @@ -1213,11 +1213,12 @@ struct Context template inline typename context_t::return_t process (context_t *c) const { + TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - case 2: return c->process (u.format2); - case 3: return c->process (u.format3); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + case 2: return TRACE_RETURN (c->process (u.format2)); + case 3: return TRACE_RETURN (c->process (u.format3)); + default:return TRACE_RETURN (c->default_return_value ()); } } @@ -1716,10 +1717,10 @@ struct ChainContext { TRACE_PROCESS (this); switch (u.format) { - case 1: return c->process (u.format1); - case 2: return c->process (u.format2); - case 3: return c->process (u.format3); - default:return c->default_return_value (); + case 1: return TRACE_RETURN (c->process (u.format1)); + case 2: return TRACE_RETURN (c->process (u.format2)); + case 3: return TRACE_RETURN (c->process (u.format3)); + default:return TRACE_RETURN (c->default_return_value ()); } }