Incremental Transfer Demo now has the option to retain glyph ID's

I've updated our public incremental transfer demo with a few new
capabilities (https://fonts.gstatic.com/experimental/incxfer_demo):

   - Support for selecting which subsetter to use. Currently you can select
   harfbuzz which does not support GSUB/GPOS, or fontTools which does support
   GSUB/GPOS subsetting. Using fontTools should give the most accurate view of
   what patch sizes would look like in a real implementation.
   - Added the ability to optionally retain glyph id's in the subsets. If
   enabled then glyph id's will be stable between patches.

Some things I've noticed in playing around with the new options:

   - Retain gid's looks like it slightly reduces the overall transfer size
   when GSUB/GPOS are included. My guess is that this is because the patches
   are more efficient if glyph id's are not shifting in each patch. For
   example if you add all of Latin, Cyrillic and Vietnamese patches:
      - With retain gids total transfer size is 45k vs 46k for no retain
      gids.
      - Retain gids costs 29%  more then the optimal size vs 34% more then
      the optimal size for no retain gids.
   - When GSUB/GPOS are not included, then we see the opposite behaviour.
   Here the retain gids ends up transferring more. This makes sense to me
   since retain gids will add some extra data to the font file for the empty
   glyph ids and without GSUB/GPOS there's not as many opportunities to reap
   compression benefits.
   - That said, the above two points represent only two data points so I'd
   take it all with a grain of salt.

Received on Monday, 8 April 2019 20:50:18 UTC