Merge pull request #1788 from fonttools/remove-gvar-zero-workaround
Remove workaround (#1381)
This commit is contained in:
commit
696719ba27
@ -325,7 +325,6 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
|
|||||||
|
|
||||||
for glyph in font.getGlyphOrder():
|
for glyph in font.getGlyphOrder():
|
||||||
log.debug("building gvar for glyph '%s'", glyph)
|
log.debug("building gvar for glyph '%s'", glyph)
|
||||||
isComposite = glyf[glyph].isComposite()
|
|
||||||
|
|
||||||
allData = [
|
allData = [
|
||||||
m.glyf._getCoordinatesAndControls(glyph, m.hMetrics, m.vMetrics)
|
m.glyf._getCoordinatesAndControls(glyph, m.hMetrics, m.vMetrics)
|
||||||
@ -363,7 +362,7 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
|
|||||||
endPts = control.endPts
|
endPts = control.endPts
|
||||||
|
|
||||||
for i, (delta, support) in enumerate(zip(deltas[1:], supports[1:])):
|
for i, (delta, support) in enumerate(zip(deltas[1:], supports[1:])):
|
||||||
if all(v == 0 for v in delta.array) and not isComposite:
|
if all(v == 0 for v in delta.array):
|
||||||
continue
|
continue
|
||||||
var = TupleVariation(support, delta)
|
var = TupleVariation(support, delta)
|
||||||
if optimize:
|
if optimize:
|
||||||
@ -372,16 +371,6 @@ def _add_gvar(font, masterModel, master_ttfs, tolerance=0.5, optimize=True):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if None in delta_opt:
|
if None in delta_opt:
|
||||||
"""In composite glyphs, there should be one 0 entry
|
|
||||||
to make sure the gvar entry is written to the font.
|
|
||||||
|
|
||||||
This is to work around an issue with macOS 10.14 and can be
|
|
||||||
removed once the behaviour of macOS is changed.
|
|
||||||
|
|
||||||
https://github.com/fonttools/fonttools/issues/1381
|
|
||||||
"""
|
|
||||||
if all(d is None for d in delta_opt):
|
|
||||||
delta_opt = [(0, 0)] + [None] * (len(delta_opt) - 1)
|
|
||||||
# Use "optimized" version only if smaller...
|
# Use "optimized" version only if smaller...
|
||||||
var_opt = TupleVariation(support, delta_opt)
|
var_opt = TupleVariation(support, delta_opt)
|
||||||
|
|
||||||
|
@ -176,17 +176,6 @@
|
|||||||
<delta pt="35" x="0" y="0"/>
|
<delta pt="35" x="0" y="0"/>
|
||||||
</tuple>
|
</tuple>
|
||||||
</glyphVariations>
|
</glyphVariations>
|
||||||
<glyphVariations glyph="odieresis">
|
|
||||||
<tuple>
|
|
||||||
<coord axis="slnt" value="-1.0"/>
|
|
||||||
<delta pt="0" x="0" y="0"/>
|
|
||||||
<delta pt="1" x="0" y="0"/>
|
|
||||||
<delta pt="2" x="0" y="0"/>
|
|
||||||
<delta pt="3" x="0" y="0"/>
|
|
||||||
<delta pt="4" x="0" y="0"/>
|
|
||||||
<delta pt="5" x="0" y="0"/>
|
|
||||||
</tuple>
|
|
||||||
</glyphVariations>
|
|
||||||
<glyphVariations glyph="uni0308">
|
<glyphVariations glyph="uni0308">
|
||||||
<tuple>
|
<tuple>
|
||||||
<coord axis="slnt" value="-1.0"/>
|
<coord axis="slnt" value="-1.0"/>
|
||||||
|
@ -339,10 +339,7 @@ class BuildTest(unittest.TestCase):
|
|||||||
|
|
||||||
def test_varlib_gvar_explicit_delta(self):
|
def test_varlib_gvar_explicit_delta(self):
|
||||||
"""The variable font contains a composite glyph odieresis which does not
|
"""The variable font contains a composite glyph odieresis which does not
|
||||||
need a gvar entry, because all its deltas are 0, but it must be added
|
need a gvar entry.
|
||||||
anyway to work around an issue with macOS 10.14.
|
|
||||||
|
|
||||||
https://github.com/fonttools/fonttools/issues/1381
|
|
||||||
"""
|
"""
|
||||||
test_name = "BuildGvarCompositeExplicitDelta"
|
test_name = "BuildGvarCompositeExplicitDelta"
|
||||||
self._run_varlib_build_test(
|
self._run_varlib_build_test(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user