From 2b746d6e503f9c40cd796f57a291cfaa5e64c60c Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Mon, 25 Mar 2019 13:41:41 +0000 Subject: [PATCH] instancer: unpack axis (start, peak, end) tuple instead of indexing at PEAK_COORD_INDEX Makes it more readable --- Lib/fontTools/varLib/instancer.py | 16 +++++++--------- Tests/varLib/instancer_test.py | 4 ++-- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Lib/fontTools/varLib/instancer.py b/Lib/fontTools/varLib/instancer.py index 28a9ca467..469cfd3f9 100644 --- a/Lib/fontTools/varLib/instancer.py +++ b/Lib/fontTools/varLib/instancer.py @@ -28,8 +28,6 @@ import re log = logging.getLogger("fontTools.varlib.instancer") -PEAK_COORD_INDEX = 1 - def instantiateTupleVariationStore(variations, location): newVariations = [] @@ -175,11 +173,11 @@ def instantiateItemVariationStore(varfont, tableName, location): regionInfluenceMap = {} pinnedAxes = set(location.keys()) for regionIndex, region in enumerate(table.VarStore.VarRegionList.Region): - # collect set of axisTags which have influence: peakCoord != 0 + # collect set of axisTags which have influence: peak != 0 regionAxes = set( - key - for key, value in region.get_support(fvar.axes).items() - if value[PEAK_COORD_INDEX] != 0 + axis + for axis, (start, peak, end) in region.get_support(fvar.axes).items() + if peak != 0 ) pinnedRegionAxes = regionAxes & pinnedAxes if not pinnedRegionAxes: @@ -193,9 +191,9 @@ def instantiateItemVariationStore(varfont, tableName, location): else: # This region will be retained but the deltas have to be adjusted. pinnedSupport = { - key: value - for key, value in region.get_support(fvar.axes).items() - if key in pinnedRegionAxes + axis: support + for axis, support in region.get_support(fvar.axes).items() + if axis in pinnedRegionAxes } pinnedScalar = supportScalar(location, pinnedSupport) regionInfluenceMap.update({regionIndex: pinnedScalar}) diff --git a/Tests/varLib/instancer_test.py b/Tests/varLib/instancer_test.py index 682ccf2a8..f0868adcc 100644 --- a/Tests/varLib/instancer_test.py +++ b/Tests/varLib/instancer_test.py @@ -165,9 +165,9 @@ class InstantiateMvarTest(object): pinned_axes = location.keys() fvar = varfont["fvar"] assert all( - support[instancer.PEAK_COORD_INDEX] == 0 + peak == 0 for region in mvar.VarStore.VarRegionList.Region - for axis, support in region.get_support(fvar.axes).items() + for axis, (start, peak, end) in region.get_support(fvar.axes).items() if axis in pinned_axes )