[subset-cff] Always compact charstrings

Reduces non-preprocessed subsetting memory footprint significantly.
pull/4001/head
Behdad Esfahbod 2 years ago
parent d3ed6eed43
commit 4f013c42f0
  1. 19
      src/hb-subset-cff-common.hh

@ -678,16 +678,21 @@ struct subr_subsetter_t
}
/* Doing this here one by one instead of compacting all at the en
* has massive peak-memory saving. */
if (plan->inprogress_accelerator)
* has massive peak-memory saving.
*
* The compacting both saves memory and makes further operations
* faster.
*/
//if (plan->inprogress_accelerator)
compact_string (parsed_charstrings[i]);
}
// Since parsed strings were loaded from accelerator, we still need
// to compute the subroutine closures which would have normally happened during
// parsing.
//
// Or if we are dropping hinting, redo closure to get actually used subrs.
/* Since parsed strings were loaded from accelerator, we still need
* to compute the subroutine closures which would have normally happened during
* parsing.
*
* Or if we are dropping hinting, redo closure to get actually used subrs.
*/
if ((cff_accelerator ||
(!cff_accelerator && plan->flags & HB_SUBSET_FLAGS_NO_HINTING)) &&
!closure_subroutines(*parsed_global_subrs,

Loading…
Cancel
Save