diff --git a/src/hb-subset.cc b/src/hb-subset.cc index adc7c51d0..2bed35868 100644 --- a/src/hb-subset.cc +++ b/src/hb-subset.cc @@ -51,6 +51,9 @@ _plan_estimate_subset_table_size (hb_subset_plan_t *plan, unsigned int src_glyphs = plan->source->get_num_glyphs (); unsigned int dst_glyphs = plan->glyphset->get_population (); + if (unlikely (!src_glyphs)) + return 512 + table_len; + return 512 + (unsigned int) (table_len * sqrt ((double) dst_glyphs / src_glyphs)); }