From b22887c6b6c95e28380b64bb89e77b01e9d2e587 Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Thu, 2 Mar 2023 20:42:37 +0000 Subject: [PATCH] Add debug info to MTI feature builds --- Lib/fontTools/mtiLib/__init__.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Lib/fontTools/mtiLib/__init__.py b/Lib/fontTools/mtiLib/__init__.py index 97b91ea1c..2ec710131 100644 --- a/Lib/fontTools/mtiLib/__init__.py +++ b/Lib/fontTools/mtiLib/__init__.py @@ -12,6 +12,8 @@ from fontTools.ttLib.tables import otTables as ot from fontTools.ttLib.tables.otBase import ValueRecord, valueRecordFormatDict from fontTools.otlLib import builder as otl from contextlib import contextmanager +from fontTools.ttLib import newTable +from fontTools.feaLib.lookupDebugInfo import LOOKUP_DEBUG_INFO_KEY from operator import setitem import logging @@ -1036,7 +1038,13 @@ def parseGSUBGPOS(lines, font, tableTag): self.LookupList.LookupCount = len(self.LookupList.Lookup) if lookupMap is not None: lookupMap.applyDeferredMappings() - if featureMap is not None: + if "Debg" not in font: + font["Debg"] = newTable("Debg") + font["Debg"].data = {} + debug = font["Debg"].data.setdefault(LOOKUP_DEBUG_INFO_KEY, {}).setdefault(tableTag, {}) + for name, lookup in lookupMap.items(): + debug[str(lookup)] = ["", name, ""] + featureMap.applyDeferredMappings() container.table = self return container