From 0afea67e9943ee566eb52d7d0f95de5f8a358152 Mon Sep 17 00:00:00 2001 From: James Godfrey-Kittle Date: Wed, 2 Sep 2015 11:07:28 -0700 Subject: Don't use RGlyph.getParent. Apparently this method returns a different font than we expect in decomposeGlyph, probably due to the glyph copying we do when mixing masters. The easiest thing to do is just not trust or use the method. --- scripts/lib/fontbuild/Build.py | 4 ++-- scripts/lib/fontbuild/decomposeGlyph.py | 4 ++-- scripts/lib/fontbuild/mix.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/lib/fontbuild/Build.py b/scripts/lib/fontbuild/Build.py index 490fe45..d1e870a 100644 --- a/scripts/lib/fontbuild/Build.py +++ b/scripts/lib/fontbuild/Build.py @@ -150,7 +150,7 @@ class FontProject: swapContours(f, gname.replace(swap,""), gname) for gname in self.predecompose: if f.has_key(gname): - decomposeGlyph(f[gname]) + decomposeGlyph(f, gname) log(">> Generating glyphs") generateGlyphs(f, self.diacriticList, self.adobeGlyphList) @@ -159,7 +159,7 @@ class FontProject: log(">> Decomposing") for gname in self.decompose: if f.has_key(gname): - decomposeGlyph(f[gname]) + decomposeGlyph(f, gname) setNamesRF(f, n, foundry=self.config.get('main', 'foundry'), version=self.config.get('main', 'version')) diff --git a/scripts/lib/fontbuild/decomposeGlyph.py b/scripts/lib/fontbuild/decomposeGlyph.py index 2d7537c..b3db2d6 100644 --- a/scripts/lib/fontbuild/decomposeGlyph.py +++ b/scripts/lib/fontbuild/decomposeGlyph.py @@ -1,7 +1,7 @@ -def decomposeGlyph(glyph): +def decomposeGlyph(font, glyphName): """Moves the components of a glyph to its outline.""" - font = glyph.getParent() + glyph = font[glyphName] for component in glyph.components: componentGlyph = font[component.baseGlyph] for contour in componentGlyph: diff --git a/scripts/lib/fontbuild/mix.py b/scripts/lib/fontbuild/mix.py index 443dfeb..519b50d 100644 --- a/scripts/lib/fontbuild/mix.py +++ b/scripts/lib/fontbuild/mix.py @@ -249,7 +249,7 @@ class Master: size = len(g) csize = len(g.components) if (size > 0 and csize > 0): - decomposeGlyph(g) + decomposeGlyph(self.font, g.name) if overlayPath != None: overlayFont = OpenFont(overlayPath) -- cgit v1.2.3