[subset] Make sure GDEF is processed before GSUB and GPOS

See https://github.com/fonttools/fonttools/pull/3114#pullrequestreview-1437266522
This commit is contained in:
Khaled Hosny 2023-05-22 23:22:44 +03:00
parent a537f97b44
commit 7089635305

View File

@ -3496,7 +3496,7 @@ class Subsetter(object):
log.info("%s pruned", tag)
def _sort_tables(self, font):
tagOrder = ["fvar", "avar", "gvar", "name", "glyf"]
tagOrder = ["GDEF", "GPOS", "GSUB", "fvar", "avar", "gvar", "name", "glyf"]
tagOrder = {t: i + 1 for i, t in enumerate(tagOrder)}
tags = sorted(font.keys(), key=lambda tag: tagOrder.get(tag, 0))
return [t for t in tags if t != "GlyphOrder"]