From 023da81731e46f230fd453a3395974c3df68691e Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sun, 23 Jul 2023 09:41:29 -0600 Subject: [PATCH] [varLib.avarPlanner] Add --plot --- Lib/fontTools/varLib/avarPlanner.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Lib/fontTools/varLib/avarPlanner.py b/Lib/fontTools/varLib/avarPlanner.py index 8b844c356..dd645793e 100644 --- a/Lib/fontTools/varLib/avarPlanner.py +++ b/Lib/fontTools/varLib/avarPlanner.py @@ -115,12 +115,6 @@ def planWeightAxis( outNormalized[bias + 1] = bias + 1 outNormalized[+1] = +1 - # from matplotlib import pyplot - # pyplot.plot( - # sorted(outNormalized), [outNormalized[k] for k in sorted(outNormalized)] - # ) - # pyplot.show() - log.info("Planned mapping:\n%s", pformat(out)) log.info("Planned normalized mapping:\n%s", pformat(outNormalized)) return out, outNormalized @@ -142,6 +136,9 @@ def main(args=None): description="Plan `avar` table for variable font", ) parser.add_argument("font", metavar="font.ttf", help="Font file.") + parser.add_argument( + "-p", "--plot", action="store_true", help="Plot the resulting mapping." + ) logging_group = parser.add_mutually_exclusive_group(required=False) logging_group.add_argument( @@ -172,17 +169,25 @@ def main(args=None): else: existingMapping = None - _, mapping = planWeightAxis( + out, outNormalized = planWeightAxis( font, wghtAxis.minValue, wghtAxis.defaultValue, wghtAxis.maxValue ) + if options.plot: + from matplotlib import pyplot + + pyplot.plot( + sorted(outNormalized), [outNormalized[k] for k in sorted(outNormalized)] + ) + pyplot.show() + if existingMapping is not None: log.info("Existing weight mapping:\n%s", pformat(existingMapping)) if "avar" not in font: font["avar"] = newTable("avar") avar = font["avar"] - avar.segments["wght"] = mapping + avar.segments["wght"] = outNormalized outfile = makeOutputFileName(options.font, overWrite=True, suffix=".avar") log.info("Saving %s", outfile)