Allow runtime switching between sftntly and HarfBuzz

Incorporate a feature flag around PDF document subsetter metadata to
switch between enums indicating HarfBuzz or sftnly subsetters. The
metadata is later passed down to Skia, which will use the appropriate
subsetter. The feature flag, named "HarfBuzz PDF Subsetter," can be
toggled on chrome://flags.

Change the Skia build config to enable HarfBuzz's subsetter, meaning
that both HarfBuzz and sfntly will be available. The addition of
HarfBuzz adds a temporary 24kB to Chrome, with the intention of later
removing the 50kB that comes with sfntly.

Move printing_export.h to a new target to avoid a circular build
dependency. This is also a good first step in reorganizing the
'printing/' directory.

Original CL by Hal Canary [1]


HarfBuzz as a PDF font subsetter through a Finch experiment.

Bug: 931719, 976905
Binary-Size: Increase is temporary and necessary for validating
Change-Id: Ibe67c6c13c5c2379124188a943763076360e9b0a
Reviewed-by: Ben Wagner <>
Reviewed-by: Lei Zhang <>
Reviewed-by: Dominik Röttsches <>
Commit-Queue: Daniel Hosseinian <>
Cr-Commit-Position: refs/heads/master@{#672248}
8 files changed