From a2ff670c43b285fa3431f313704f73de5e5dbc42 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 6 Feb 2023 12:06:14 -0700 Subject: [PATCH] [VarComposite] Adjust for RESET_UNSPECIFIED_AXES semantic change https://github.com/harfbuzz/boring-expansion-spec/issues/81 --- Lib/fontTools/ttLib/ttGlyphSet.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Lib/fontTools/ttLib/ttGlyphSet.py b/Lib/fontTools/ttLib/ttGlyphSet.py index 12afd4cae..fa7fbd4f2 100644 --- a/Lib/fontTools/ttLib/ttGlyphSet.py +++ b/Lib/fontTools/ttLib/ttGlyphSet.py @@ -19,6 +19,11 @@ class _TTGlyphSet(Mapping): def __init__(self, font, location, glyphsMapping): self.font = font + self.defaultLocationNormalized = ( + {axis.axisTag: 0 for axis in self.font["fvar"].axes} + if "fvar" in self.font + else {} + ) self.location = location if location is not None else {} self.rawLocation = {} # VarComponent-only location self.originalLocation = location if location is not None else {} @@ -45,10 +50,10 @@ class _TTGlyphSet(Mapping): self.rawLocationStack.append(self.rawLocation) if reset: self.location = self.originalLocation.copy() - self.rawLocation = {} + self.rawLocation = self.defaultLocationNormalized.copy() else: self.location = self.location.copy() - self.rawLocation = self.rawLocation.copy() + self.rawLocation = {} self.location.update(location) self.rawLocation.update(location)