[glyf] Handle case of missing fvar table

This commit is contained in:
Behdad Esfahbod 2023-01-17 12:12:53 -07:00
parent 621767dbee
commit 1d39fa03ab
2 changed files with 3 additions and 2 deletions

View File

@ -209,6 +209,7 @@ ttLib.getTableClass("glyf").mergeMap = {
"tableTag": equal,
"glyphs": sumDicts,
"glyphOrder": sumLists,
"axisTags": equal,
}

View File

@ -87,7 +87,7 @@ class table__g_l_y_f(DefaultTable.DefaultTable):
padding = 1
def decompile(self, data, ttFont):
self.axisTags = [axis.axisTag for axis in ttFont["fvar"].axes]
self.axisTags = [axis.axisTag for axis in ttFont["fvar"].axes] if "fvar" in ttFont else []
loca = ttFont["loca"]
pos = int(loca[0])
nextPos = 0
@ -125,7 +125,7 @@ class table__g_l_y_f(DefaultTable.DefaultTable):
glyph.expand(self)
def compile(self, ttFont):
self.axisTags = [axis.axisTag for axis in ttFont["fvar"].axes]
self.axisTags = [axis.axisTag for axis in ttFont["fvar"].axes] if "fvar" in ttFont else []
if not hasattr(self, "glyphOrder"):
self.glyphOrder = ttFont.getGlyphOrder()
padding = self.padding