summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh')
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh26
1 files changed, 18 insertions, 8 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
index 91b898b63af..eef8dc5462a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-ot-layout-gsub-table.hh
@@ -47,7 +47,7 @@ struct SingleSubstFormat1
* https://github.com/harfbuzz/harfbuzz/issues/363 */
hb_codepoint_t glyph_id = iter.get_glyph ();
if (c->glyphs->has (glyph_id))
- c->glyphs->add ((glyph_id + deltaGlyphID) & 0xFFFFu);
+ c->out->add ((glyph_id + deltaGlyphID) & 0xFFFFu);
}
}
@@ -132,7 +132,7 @@ struct SingleSubstFormat2
if (unlikely (iter.get_coverage () >= count))
break; /* Work around malicious fonts. https://github.com/harfbuzz/harfbuzz/issues/363 */
if (c->glyphs->has (iter.get_glyph ()))
- c->glyphs->add (substitute[iter.get_coverage ()]);
+ c->out->add (substitute[iter.get_coverage ()]);
}
}
@@ -263,7 +263,7 @@ struct Sequence
TRACE_CLOSURE (this);
unsigned int count = substitute.len;
for (unsigned int i = 0; i < count; i++)
- c->glyphs->add (substitute[i]);
+ c->out->add (substitute[i]);
}
inline void collect_glyphs (hb_collect_glyphs_context_t *c) const
@@ -464,7 +464,7 @@ struct AlternateSubstFormat1
const AlternateSet &alt_set = this+alternateSet[iter.get_coverage ()];
unsigned int count = alt_set.len;
for (unsigned int i = 0; i < count; i++)
- c->glyphs->add (alt_set[i]);
+ c->out->add (alt_set[i]);
}
}
}
@@ -605,7 +605,7 @@ struct Ligature
for (unsigned int i = 1; i < count; i++)
if (!c->glyphs->has (component[i]))
return;
- c->glyphs->add (ligGlyph);
+ c->out->add (ligGlyph);
}
inline void collect_glyphs (hb_collect_glyphs_context_t *c) const
@@ -957,7 +957,7 @@ struct ReverseChainSingleSubstFormat1
if (unlikely (iter.get_coverage () >= count))
break; /* Work around malicious fonts. https://github.com/harfbuzz/harfbuzz/issues/363 */
if (c->glyphs->has (iter.get_glyph ()))
- c->glyphs->add (substitute[iter.get_coverage ()]);
+ c->out->add (substitute[iter.get_coverage ()]);
}
}
@@ -1163,7 +1163,12 @@ struct SubstLookup : Lookup
return_trace (HB_VOID);
c->set_recurse_func (dispatch_closure_recurse_func);
- return_trace (dispatch (c));
+
+ hb_closure_context_t::return_t ret = dispatch (c);
+
+ c->flush ();
+
+ return_trace (ret);
}
inline hb_collect_glyphs_context_t::return_t collect_glyphs (hb_collect_glyphs_context_t *c) const
@@ -1265,7 +1270,12 @@ struct SubstLookup : Lookup
{
if (!c->should_visit_lookup (lookup_index))
return HB_VOID;
- return dispatch_recurse_func (c, lookup_index);
+
+ hb_closure_context_t::return_t ret = dispatch_recurse_func (c, lookup_index);
+
+ c->flush ();
+
+ return ret;
}
template <typename context_t>