From 28245afe1e48767d590f80704c3fa96316fe360b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Br=CC=8Cezina?= Date: Wed, 24 Oct 2018 18:46:45 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20normalization=20error=20when=20condition?= =?UTF-8?q?=E2=80=99s=20minimum/maximum=20are=20missing=20in=20designspace?= =?UTF-8?q?,=20update=20test=20too?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #1346 --- Lib/fontTools/varLib/__init__.py | 12 +++++++++--- Tests/varLib/data/FeatureVars.designspace | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Lib/fontTools/varLib/__init__.py b/Lib/fontTools/varLib/__init__.py index 437324e03..a240d3193 100644 --- a/Lib/fontTools/varLib/__init__.py +++ b/Lib/fontTools/varLib/__init__.py @@ -389,7 +389,7 @@ def _merge_TTHinting(font, model, master_ttfs, tolerance=0.5): # cvt table all_cvs = [Vector(m["cvt "].values) for m in master_ttfs if "cvt " in m] - + if len(all_cvs) == 0: # There is no cvt table to make a cvar table from, we're done here. return @@ -587,8 +587,14 @@ def _add_GSUB_feature_variations(font, axes, internal_axis_supports, rules): space = {} for condition in conditions: axis_name = condition["name"] - minimum = normalize(axis_name, condition["minimum"]) - maximum = normalize(axis_name, condition["maximum"]) + if condition["minimum"]: + minimum = normalize(axis_name, condition["minimum"]) + else: + minimum = -1.0 + if condition["maximum"]: + maximum = normalize(axis_name, condition["maximum"]) + else: + maximum = 1.0 tag = axis_tags[axis_name] space[tag] = (minimum, maximum) region.append(space) diff --git a/Tests/varLib/data/FeatureVars.designspace b/Tests/varLib/data/FeatureVars.designspace index d641ba21a..9c958a5ac 100644 --- a/Tests/varLib/data/FeatureVars.designspace +++ b/Tests/varLib/data/FeatureVars.designspace @@ -9,7 +9,7 @@ - +