From: Marc Foley Date: Mon, 10 Oct 2022 14:25:16 +0000 (+0100) Subject: fix_stat do not drop nameids <= 25 X-Git-Tag: v0.3.8^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f87630a7b1017765ae5371fc14a080e37e14e6d7;p=thirdparty%2Fgoogle%2Ffonts.git fix_stat do not drop nameids <= 25 --- diff --git a/Lib/axisregistry/__init__.py b/Lib/axisregistry/__init__.py index 162240c88a..7617da0554 100644 --- a/Lib/axisregistry/__init__.py +++ b/Lib/axisregistry/__init__.py @@ -179,17 +179,21 @@ def build_stat(ttFont, sibling_ttFonts=[]): fvar_instance_nameids = set(i.subfamilyNameID for i in fvar.instances) fvar_axis_nameids = set(a.axisNameID for a in fvar.axes) fvar_nameids = fvar_axis_nameids | fvar_instance_nameids + # These NameIDs are required for applications to work correctly so + # they cannot be deleted. + # https://learn.microsoft.com/en-us/typography/opentype/spec/name + keep_nameids = set(range(26)) | fvar_nameids if "STAT" in ttFont: stat = ttFont["STAT"] if stat.table.AxisValueCount > 0: axis_values = stat.table.AxisValueArray.AxisValue for ax in axis_values: - if ax.ValueNameID not in fvar_nameids: + if ax.ValueNameID not in keep_nameids: nametable.removeNames(nameID=ax.ValueNameID) if stat.table.DesignAxisCount > 0: axes = stat.table.DesignAxisRecord.Axis for ax in axes: - if ax.AxisNameID not in fvar_nameids: + if ax.AxisNameID not in keep_nameids: nametable.removeNames(nameID=ax.AxisNameID) del ttFont["STAT"] diff --git a/tests/data/OpenSansCondensed-Italic[wght]_STAT.ttx b/tests/data/OpenSansCondensed-Italic[wght]_STAT.ttx index bd39b5cc82..d0e9f35ca3 100644 --- a/tests/data/OpenSansCondensed-Italic[wght]_STAT.ttx +++ b/tests/data/OpenSansCondensed-Italic[wght]_STAT.ttx @@ -88,7 +88,7 @@ - + @@ -105,4 +105,4 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/tests/data/OpenSansCondensed[wght]_STAT.ttx b/tests/data/OpenSansCondensed[wght]_STAT.ttx index 503f3a4d34..db4d34c738 100644 --- a/tests/data/OpenSansCondensed[wght]_STAT.ttx +++ b/tests/data/OpenSansCondensed[wght]_STAT.ttx @@ -51,7 +51,7 @@ - + @@ -106,4 +106,4 @@ - \ No newline at end of file + \ No newline at end of file