[subset] Only run the repacker for GSUB/GPOS.
This commit is contained in:
parent
aaa7873d42
commit
dd8e5d0e1b
|
@ -69,8 +69,12 @@ _plan_estimate_subset_table_size (hb_subset_plan_t *plan, unsigned table_len)
|
||||||
* Repack the serialization buffer if any offset overflows exist.
|
* Repack the serialization buffer if any offset overflows exist.
|
||||||
*/
|
*/
|
||||||
static hb_blob_t*
|
static hb_blob_t*
|
||||||
_repack (const hb_serialize_context_t& c)
|
_repack (hb_tag_t tag, const hb_serialize_context_t& c)
|
||||||
{
|
{
|
||||||
|
if (tag != HB_OT_TAG_GPOS
|
||||||
|
&& tag != HB_OT_TAG_GSUB)
|
||||||
|
return c.copy_blob ();
|
||||||
|
|
||||||
if (!c.offset_overflow)
|
if (!c.offset_overflow)
|
||||||
return c.copy_blob ();
|
return c.copy_blob ();
|
||||||
|
|
||||||
|
@ -90,7 +94,6 @@ _repack (const hb_serialize_context_t& c)
|
||||||
return repacked.copy_blob ();
|
return repacked.copy_blob ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<typename TableType>
|
template<typename TableType>
|
||||||
static bool
|
static bool
|
||||||
_subset (hb_subset_plan_t *plan)
|
_subset (hb_subset_plan_t *plan)
|
||||||
|
@ -138,7 +141,7 @@ _subset (hb_subset_plan_t *plan)
|
||||||
{
|
{
|
||||||
if (needed)
|
if (needed)
|
||||||
{
|
{
|
||||||
hb_blob_t *dest_blob = _repack (serializer);
|
hb_blob_t *dest_blob = _repack (tag, serializer);
|
||||||
if (!dest_blob) return false;
|
if (!dest_blob) return false;
|
||||||
DEBUG_MSG (SUBSET, nullptr, "OT::%c%c%c%c final subset table size: %u bytes.", HB_UNTAG (tag), dest_blob->length);
|
DEBUG_MSG (SUBSET, nullptr, "OT::%c%c%c%c final subset table size: %u bytes.", HB_UNTAG (tag), dest_blob->length);
|
||||||
result = c.plan->add_table (tag, dest_blob);
|
result = c.plan->add_table (tag, dest_blob);
|
||||||
|
|
Loading…
Reference in New Issue