From 41ff9511cc26f517618f6a5e7b413c6e12d225fc Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Thu, 20 Oct 2022 16:44:02 +0100 Subject: [PATCH 1/2] otlLib: sort names after building STAT, set AxisValueCount=0 --- Lib/fontTools/otlLib/builder.py | 3 +++ Tests/feaLib/data/STAT_test.ttx | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Lib/fontTools/otlLib/builder.py b/Lib/fontTools/otlLib/builder.py index 37dc1fc4d..b4ab36842 100644 --- a/Lib/fontTools/otlLib/builder.py +++ b/Lib/fontTools/otlLib/builder.py @@ -2781,6 +2781,7 @@ def buildStatTable( locations, axes, nameTable, windowsNames=windowsNames, macNames=macNames ) axisValues = multiAxisValues + axisValues + nameTable.names.sort() # Store AxisRecords axisRecordArray = ot.AxisRecordArray() @@ -2790,6 +2791,8 @@ def buildStatTable( statTable.DesignAxisRecord = axisRecordArray statTable.DesignAxisCount = len(axisRecords) + statTable.AxisValueCount = 0 + statTable.AxisValueArray = None if axisValues: # Store AxisValueRecords axisValueArray = ot.AxisValueArray() diff --git a/Tests/feaLib/data/STAT_test.ttx b/Tests/feaLib/data/STAT_test.ttx index d1b2b6970..bab9b8eac 100644 --- a/Tests/feaLib/data/STAT_test.ttx +++ b/Tests/feaLib/data/STAT_test.ttx @@ -8,9 +8,6 @@ Roman - - ローマン - Optical Size @@ -68,6 +65,9 @@ Caption + + ローマン + From c41cda33c191295ffc2aeb60a892ef588e23bac5 Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Thu, 20 Oct 2022 16:45:44 +0100 Subject: [PATCH 2/2] featureVars: set FeatureCount/LangSysCount, even if 0 --- Lib/fontTools/varLib/featureVars.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Lib/fontTools/varLib/featureVars.py b/Lib/fontTools/varLib/featureVars.py index ad47ab8ea..d5735776e 100644 --- a/Lib/fontTools/varLib/featureVars.py +++ b/Lib/fontTools/varLib/featureVars.py @@ -337,6 +337,7 @@ def addFeatureVariationsRaw(font, table, conditionalSubstitutions, featureTag='r langSystems = [lsr.LangSys for lsr in scriptRecord.Script.LangSysRecord] for langSys in [scriptRecord.Script.DefaultLangSys] + langSystems: langSys.FeatureIndex.append(varFeatureIndex) + langSys.FeatureCount = len(langSys.FeatureIndex) varFeatureIndices = [varFeatureIndex] @@ -383,6 +384,7 @@ def buildGSUB(): srec.Script = ot.Script() srec.Script.DefaultLangSys = None srec.Script.LangSysRecord = [] + srec.Script.LangSysCount = 0 langrec = ot.LangSysRecord() langrec.LangSys = ot.LangSys()