[instancer] update maxp table

This commit is contained in:
Qunxin Liu 2023-01-18 13:33:34 -08:00
parent 94c390d078
commit 0de7f83a9f
2 changed files with 14 additions and 0 deletions

View File

@ -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;

View File

@ -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;