diff --git a/Lib/fontTools/mtiLib/__init__.py b/Lib/fontTools/mtiLib/__init__.py index 13b308e51..dbedf275e 100644 --- a/Lib/fontTools/mtiLib/__init__.py +++ b/Lib/fontTools/mtiLib/__init__.py @@ -13,8 +13,9 @@ 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 fontTools.feaLib.lookupDebugInfo import LOOKUP_DEBUG_ENV_VAR, LOOKUP_DEBUG_INFO_KEY from operator import setitem +import os import logging @@ -1038,16 +1039,17 @@ def parseGSUBGPOS(lines, font, tableTag): self.LookupList.LookupCount = len(self.LookupList.Lookup) if lookupMap is not None: lookupMap.applyDeferredMappings() - 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, ""] + if os.environ.get(LOOKUP_DEBUG_ENV_VAR): + 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 diff --git a/Tests/mtiLib/mti_test.py b/Tests/mtiLib/mti_test.py index 1c9d7338a..f9008b060 100644 --- a/Tests/mtiLib/mti_test.py +++ b/Tests/mtiLib/mti_test.py @@ -1,5 +1,6 @@ from fontTools.misc.xmlWriter import XMLWriter from fontTools.ttLib import TTFont +from fontTools.feaLib.lookupDebugInfo import LOOKUP_DEBUG_ENV_VAR from fontTools import mtiLib import difflib from io import StringIO @@ -8,6 +9,11 @@ import sys import pytest +@pytest.fixture(autouse=True) +def set_lookup_debug_env_var(monkeypatch): + monkeypatch.setenv(LOOKUP_DEBUG_ENV_VAR, "1") + + class MtiTest: GLYPH_ORDER = [