[subset] Correct OffsetTo serialization in GPOS to use serialize_serialize ().

This commit is contained in:
Garret Rieger 2021-06-11 13:40:39 -07:00
parent 5ba46ed067
commit 8443cc85cb
1 changed files with 11 additions and 19 deletions

View File

@ -823,8 +823,7 @@ struct SinglePosFormat1
| hb_map_retains_sorting (hb_first)
;
// TODO(garretrieger): serialize_subset this.
coverage.serialize (c, this).serialize (c, glyphs);
coverage.serialize_serialize (c, glyphs);
}
bool subset (hb_subset_context_t *c) const
@ -942,7 +941,7 @@ struct SinglePosFormat2
| hb_map_retains_sorting (hb_first)
;
coverage.serialize (c, this).serialize (c, glyphs);
coverage.serialize_serialize (c, glyphs);
}
bool subset (hb_subset_context_t *c) const
@ -1404,8 +1403,7 @@ struct PairPosFormat1
| hb_sink (new_coverage)
;
out->coverage.serialize (c->serializer, out)
.serialize (c->serializer, new_coverage.iter ());
out->coverage.serialize_serialize (c->serializer, new_coverage.iter ());
return_trace (bool (new_coverage));
}
@ -1618,7 +1616,7 @@ struct PairPosFormat2
| hb_map_retains_sorting (glyph_map)
;
out->coverage.serialize (c->serializer, out).serialize (c->serializer, it);
out->coverage.serialize_serialize (c->serializer, it);
return_trace (out->class1Count && out->class2Count && bool (it));
}
@ -1911,7 +1909,7 @@ struct CursivePosFormat1
| hb_map_retains_sorting (hb_first)
;
coverage.serialize (c->serializer, this).serialize (c->serializer, glyphs);
coverage.serialize_serialize (c->serializer, glyphs);
}
bool subset (hb_subset_context_t *c) const
@ -2118,8 +2116,7 @@ struct MarkBasePosFormat1
| hb_sink (new_coverage)
;
if (!out->markCoverage.serialize (c->serializer, out)
.serialize (c->serializer, new_coverage.iter ()))
if (!out->markCoverage.serialize_serialize (c->serializer, new_coverage.iter ()))
return_trace (false);
out->markArray.serialize_subset (c, markArray, this,
@ -2139,8 +2136,7 @@ struct MarkBasePosFormat1
| hb_sink (new_coverage)
;
if (!out->baseCoverage.serialize (c->serializer, out)
.serialize (c->serializer, new_coverage.iter ()))
if (!out->baseCoverage.serialize_serialize (c->serializer, new_coverage.iter ()))
return_trace (false);
hb_sorted_vector_t<unsigned> base_indexes;
@ -2377,8 +2373,7 @@ struct MarkLigPosFormat1
| hb_map_retains_sorting (glyph_map)
;
if (!out->markCoverage.serialize (c->serializer, out)
.serialize (c->serializer, new_mark_coverage))
if (!out->markCoverage.serialize_serialize (c->serializer, new_mark_coverage))
return_trace (false);
out->markArray.serialize_subset (c, markArray, this,
@ -2391,8 +2386,7 @@ struct MarkLigPosFormat1
| hb_map_retains_sorting (glyph_map)
;
if (!out->ligatureCoverage.serialize (c->serializer, out)
.serialize (c->serializer, new_ligature_coverage))
if (!out->ligatureCoverage.serialize_serialize (c->serializer, new_ligature_coverage))
return_trace (false);
out->ligatureArray.serialize_subset (c, ligatureArray, this,
@ -2581,8 +2575,7 @@ struct MarkMarkPosFormat1
| hb_sink (new_coverage)
;
if (!out->mark1Coverage.serialize (c->serializer, out)
.serialize (c->serializer, new_coverage.iter ()))
if (!out->mark1Coverage.serialize_serialize (c->serializer, new_coverage.iter ()))
return_trace (false);
out->mark1Array.serialize_subset (c, mark1Array, this,
@ -2602,8 +2595,7 @@ struct MarkMarkPosFormat1
| hb_sink (new_coverage)
;
if (!out->mark2Coverage.serialize (c->serializer, out)
.serialize (c->serializer, new_coverage.iter ()))
if (!out->mark2Coverage.serialize_serialize (c->serializer, new_coverage.iter ()))
return_trace (false);
hb_sorted_vector_t<unsigned> mark2_indexes;