Merge pull request #1857 from anthrotype/add-required-empty-gvar

[varLib] revert to always build gvar, even if empty
This commit is contained in:
Cosimo Lupo 2020-03-13 15:38:54 +00:00 committed by GitHub
commit 8d25dbcc30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 10 deletions

View File

@ -234,13 +234,11 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
log.info("Generating gvar") log.info("Generating gvar")
assert "gvar" not in font assert "gvar" not in font
gvar = font["gvar"] = newTable('gvar')
glyf = font['glyf'] glyf = font['glyf']
# use hhea.ascent of base master as default vertical origin when vmtx is missing # use hhea.ascent of base master as default vertical origin when vmtx is missing
baseAscent = font['hhea'].ascent baseAscent = font['hhea'].ascent
variations = {}
for glyph in font.getGlyphOrder(): for glyph in font.getGlyphOrder():
isComposite = glyf[glyph].isComposite() isComposite = glyf[glyph].isComposite()
@ -260,6 +258,7 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
del allControls del allControls
# Update gvar # Update gvar
gvar.variations[glyph] = []
deltas = model.getDeltas(allCoords) deltas = model.getDeltas(allCoords)
supports = model.supports supports = model.supports
assert len(deltas) == len(supports) assert len(deltas) == len(supports)
@ -298,13 +297,7 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
if optimized_len < unoptimized_len: if optimized_len < unoptimized_len:
var = var_opt var = var_opt
variations.setdefault(glyph, []).append(var) gvar.variations[glyph].append(var)
if variations:
gvar = font["gvar"] = newTable('gvar')
gvar.version = 1
gvar.reserved = 0
gvar.variations = {g: variations.get(g, []) for g in font.getGlyphOrder()}
def _remove_TTHinting(font): def _remove_TTHinting(font):

View File

@ -62,6 +62,11 @@
</Axis> </Axis>
</fvar> </fvar>
<gvar>
<version value="1"/>
<reserved value="0"/>
</gvar>
<name> <name>
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True"> <namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
Weight Weight