Fix for #2694: only warn about not-requested-GDEF if building a VF AND GPOS is requested but GDEF isn't

This commit is contained in:
Just van Rossum 2022-08-15 21:20:13 +02:00
parent 171670a15f
commit 10c92ba338

View File

@ -224,13 +224,13 @@ class Builder(object):
del self.font[tag]
if any(tag in self.font for tag in ("GPOS", "GSUB")) and "OS/2" in self.font:
self.font["OS/2"].usMaxContext = maxCtxFont(self.font)
gdef = self.buildGDEF() # build unconditionally so we can warn below
gdef = self.buildGDEF() if "GDEF" in tables or "GPOS" in tables else None
if "GDEF" in tables:
if gdef:
self.font["GDEF"] = gdef
elif "GDEF" in self.font:
del self.font["GDEF"]
elif gdef:
elif self.varstorebuilder and gdef:
log.warning("GDEF is not requested, but is needed")
if "BASE" in tables:
base = self.buildBASE()