[instancer] update maxp table

pull/4052/head
Qunxin Liu 2 years ago
parent 94c390d078
commit 0de7f83a9f
  1. 13
      src/hb-ot-maxp-table.hh
  2. 1
      src/hb-subset.cc

@ -109,11 +109,24 @@ struct maxp
if (c->plan->flags & HB_SUBSET_FLAGS_NO_HINTING)
drop_hint_fields (dest_v1);
if (c->plan->normalized_coords)
instancing_update_fields (c->plan->head_maxp_info, dest_v1);
}
return_trace (true);
}
void instancing_update_fields (head_maxp_info_t& maxp_info, maxpV1Tail* dest_v1) const
{
dest_v1->maxPoints = maxp_info.maxPoints;
dest_v1->maxContours = maxp_info.maxContours;
dest_v1->maxCompositePoints = maxp_info.maxCompositePoints;
dest_v1->maxCompositeContours = maxp_info.maxCompositeContours;
dest_v1->maxComponentElements = maxp_info.maxComponentElements;
dest_v1->maxComponentDepth = maxp_info.maxComponentDepth;
}
static void drop_hint_fields (maxpV1Tail* dest_v1)
{
dest_v1->maxZones = 1;

@ -413,6 +413,7 @@ _dependencies_satisfied (hb_subset_plan_t *plan, hb_tag_t tag,
{
case HB_OT_TAG_hmtx:
case HB_OT_TAG_vmtx:
case HB_OT_TAG_maxp:
return !plan->normalized_coords || !pending_subset_tags.has (HB_OT_TAG_glyf);
default:
return true;

Loading…
Cancel
Save