From 3108e52a90b04aab1d58d31d3e7cea7b9c29ede8 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 22 Aug 2022 16:00:08 -0600 Subject: [PATCH] [instancer] Remove redundant checks --- Lib/fontTools/varLib/instancer/__init__.py | 28 ++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Lib/fontTools/varLib/instancer/__init__.py b/Lib/fontTools/varLib/instancer/__init__.py index e3b50e283..d36cf7fbd 100644 --- a/Lib/fontTools/varLib/instancer/__init__.py +++ b/Lib/fontTools/varLib/instancer/__init__.py @@ -871,16 +871,24 @@ def instantiateAvar(varfont, axisLimits): ) newMapping = {} for fromCoord, toCoord in mapping.items(): - - if fromCoord < axisRange.minimum or fromCoord > axisRange.maximum: - continue - fromCoord = normalizeValue( - fromCoord, (axisRange.minimum, 0, axisRange.maximum) - ) - - assert mappedMin <= toCoord <= mappedMax - toCoord = normalizeValue(toCoord, (mappedMin, 0, mappedMax)) - + if fromCoord < 0: + if fromCoord < axisRange.minimum: + continue + else: + fromCoord /= abs(axisRange.minimum) + elif fromCoord > 0: + if fromCoord > axisRange.maximum: + continue + else: + fromCoord /= axisRange.maximum + if toCoord < 0: + assert mappedMin != 0 + assert toCoord >= mappedMin + toCoord /= abs(mappedMin) + elif toCoord > 0: + assert mappedMax != 0 + assert toCoord <= mappedMax + toCoord /= mappedMax fromCoord = floatToFixedToFloat(fromCoord, 14) toCoord = floatToFixedToFloat(toCoord, 14) newMapping[fromCoord] = toCoord