[varLib.avarPlanner] A couple of error messages

This commit is contained in:
Behdad Esfahbod 2023-07-23 10:04:28 -06:00
parent 3662efc1e9
commit 1a36440d3d

View File

@ -62,7 +62,8 @@ def planWeightAxis(
if "avar" in font: if "avar" in font:
log.debug("Checking that font doesn't have weight mapping already.") log.debug("Checking that font doesn't have weight mapping already.")
existingMapping = font["avar"].segments["wght"] existingMapping = font["avar"].segments["wght"]
assert not existingMapping or existingMapping == {-1: -1, 0: 0, +1: +1} if existingMapping and existingMapping != {-1: -1, 0: 0, +1: +1}:
log.error("Font already has a `avar` weight mapping. Remove it.")
out = {} out = {}
outNormalized = {} outNormalized = {}
@ -160,6 +161,9 @@ def main(args=None):
) )
font = TTFont(options.font) font = TTFont(options.font)
if not "fvar" in font:
log.error("Not a variable font.")
sys.exit(1)
fvar = font["fvar"] fvar = font["fvar"]
wghtAxis = slntAxis = None wghtAxis = slntAxis = None
for axis in fvar.axes: for axis in fvar.axes:
@ -170,10 +174,12 @@ def main(args=None):
if "avar" in font: if "avar" in font:
existingMapping = font["avar"].segments["wght"] existingMapping = font["avar"].segments["wght"]
if wghtAxis:
font["avar"].segments["wght"] = {} font["avar"].segments["wght"] = {}
else: else:
existingMapping = None existingMapping = None
if wghtAxis:
out, outNormalized = planWeightAxis( out, outNormalized = planWeightAxis(
font, wghtAxis.minValue, wghtAxis.defaultValue, wghtAxis.maxValue font, wghtAxis.minValue, wghtAxis.defaultValue, wghtAxis.maxValue
) )
@ -192,6 +198,7 @@ def main(args=None):
if "avar" not in font: if "avar" not in font:
font["avar"] = newTable("avar") font["avar"] = newTable("avar")
avar = font["avar"] avar = font["avar"]
if wghtAxis:
avar.segments["wght"] = outNormalized avar.segments["wght"] = outNormalized
designspaceSnippet = ( designspaceSnippet = (