Cosimo Lupo 2b50b94ed7
instancer: support partial instancing HVAR
We don't actually apply deltas to hmtx since these have already been applied
from the gvar deltas when we call glyf.setCoordinates method using the glyf
phantom points.

We simply call instantiateItemVariationStore on HVAR.VarStore to remove
regions and scale remaining deltas, but ignore the return value.
We only run VarStore.optimize() if the HVAR originally has an AdvWidthMap,
if it does not then it uses a direct implicit GID->VariationIndex mapping
for advance widths deltas, and we keep the VariationIndex unchanged by
not optimizing VarStore.

If all axes in fvar are being instanced, then we simply delete HVAR
(just like varLib.mutator currently does).

VVAR is not supported yet because we do not set the 3rd and 4th phantom points
from gvar to the vmtx table yet (this should be done in glyf.setCoordinates).

Also, supporting CFF2 would need more work, in that HVAR there is required
and we need to apply the deltas to hmtx/vmtx in here.
2019-04-29 12:51:33 +02:00
..
2019-04-16 18:04:17 -04:00
2019-04-26 09:33:52 -07:00
2018-09-27 17:41:09 -04:00