Lets not add inconsistent names?

This commit is contained in:
rsheeter 2024-11-12 08:54:45 -08:00
parent 081d6a27ab
commit 991e7914e3
7 changed files with 39 additions and 95 deletions

View File

@ -85,6 +85,15 @@ def _add_fvar(font, axes, instances: List[InstanceDescriptor]):
fvar = newTable("fvar")
nameTable = font["name"]
# if there are not currently any mac names don't add them here, that's inconsistent
# https://github.com/fonttools/fonttools/issues/683
macNames = any(nr.platformID == 1 for nr in getattr(nameTable, "names", ()))
# we have all the best ways to express mac names
platforms = ((3, 1, 0x409),)
if macNames:
platforms = ((1, 0, 0),) + platforms
for a in axes.values():
axis = Axis()
axis.axisTag = Tag(a.tag)
@ -95,7 +104,7 @@ def _add_fvar(font, axes, instances: List[InstanceDescriptor]):
a.maximum,
)
axis.axisNameID = nameTable.addMultilingualName(
a.labelNames, font, minNameID=256
a.labelNames, font, minNameID=256, mac=macNames
)
axis.flags = int(a.hidden)
fvar.axes.append(axis)
@ -121,10 +130,12 @@ def _add_fvar(font, axes, instances: List[InstanceDescriptor]):
psname = instance.postScriptFontName
inst = NamedInstance()
inst.subfamilyNameID = nameTable.addMultilingualName(localisedStyleName)
inst.subfamilyNameID = nameTable.addMultilingualName(
localisedStyleName, mac=macNames
)
if psname is not None:
psname = tostr(psname)
inst.postscriptNameID = nameTable.addName(psname)
inst.postscriptNameID = nameTable.addName(psname, platforms=platforms)
inst.coordinates = {
axes[k].tag: axes[k].map_backward(v) for k, v in coordinates.items()
}

View File

@ -408,7 +408,9 @@ def instantiateVariableFont(varfont, location, inplace=False, overlap=True):
if set(excludedUnicodeLangIDs) == set(range(len((varfont["ltag"].tags)))):
del varfont["ltag"]
varfont["name"].names[:] = [
n for n in varfont["name"].names if n.nameID not in exclude
n
for n in varfont["name"].names
if n.nameID < 256 or n.nameID not in exclude
]
if "wght" in location and "OS/2" in varfont:

View File

@ -161,42 +161,42 @@
<!-- Regular -->
<!-- PostScript: TestFamily-Regular -->
<NamedInstance flags="0x0" postscriptNameID="263" subfamilyNameID="262">
<NamedInstance flags="0x0" postscriptNameID="262" subfamilyNameID="2">
<coord axis="wght" value="394.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Semibold -->
<!-- PostScript: TestFamily-Semibold -->
<NamedInstance flags="0x0" postscriptNameID="265" subfamilyNameID="264">
<NamedInstance flags="0x0" postscriptNameID="264" subfamilyNameID="263">
<coord axis="wght" value="600.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Bold -->
<!-- PostScript: TestFamily-Bold -->
<NamedInstance flags="0x0" postscriptNameID="267" subfamilyNameID="266">
<NamedInstance flags="0x0" postscriptNameID="266" subfamilyNameID="265">
<coord axis="wght" value="824.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Black -->
<!-- PostScript: TestFamily-Black -->
<NamedInstance flags="0x0" postscriptNameID="269" subfamilyNameID="268">
<NamedInstance flags="0x0" postscriptNameID="268" subfamilyNameID="267">
<coord axis="wght" value="1000.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Black Medium Contrast -->
<!-- PostScript: TestFamily-BlackMediumContrast -->
<NamedInstance flags="0x0" postscriptNameID="271" subfamilyNameID="270">
<NamedInstance flags="0x0" postscriptNameID="270" subfamilyNameID="269">
<coord axis="wght" value="1000.0"/>
<coord axis="cntr" value="50.0"/>
</NamedInstance>
<!-- Black High Contrast -->
<!-- PostScript: TestFamily-BlackHighContrast -->
<NamedInstance flags="0x0" postscriptNameID="273" subfamilyNameID="272">
<NamedInstance flags="0x0" postscriptNameID="272" subfamilyNameID="271">
<coord axis="wght" value="1000.0"/>
<coord axis="cntr" value="100.0"/>
</NamedInstance>

View File

@ -443,63 +443,6 @@
<namerecord nameID="257" platformID="0" platEncID="4" langID="0x0">
کنتراست
</namerecord>
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
Weight
</namerecord>
<namerecord nameID="257" platformID="1" platEncID="0" langID="0x0" unicode="True">
Contrast
</namerecord>
<namerecord nameID="258" platformID="1" platEncID="0" langID="0x0" unicode="True">
ExtraLight
</namerecord>
<namerecord nameID="259" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-ExtraLight
</namerecord>
<namerecord nameID="260" platformID="1" platEncID="0" langID="0x0" unicode="True">
Light
</namerecord>
<namerecord nameID="261" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-Light
</namerecord>
<namerecord nameID="262" platformID="1" platEncID="0" langID="0x0" unicode="True">
Regular
</namerecord>
<namerecord nameID="263" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-Regular
</namerecord>
<namerecord nameID="264" platformID="1" platEncID="0" langID="0x0" unicode="True">
Semibold
</namerecord>
<namerecord nameID="265" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-Semibold
</namerecord>
<namerecord nameID="266" platformID="1" platEncID="0" langID="0x0" unicode="True">
Bold
</namerecord>
<namerecord nameID="267" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-Bold
</namerecord>
<namerecord nameID="268" platformID="1" platEncID="0" langID="0x0" unicode="True">
Black
</namerecord>
<namerecord nameID="269" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-Black
</namerecord>
<namerecord nameID="270" platformID="1" platEncID="0" langID="0x0" unicode="True">
Black Medium Contrast
</namerecord>
<namerecord nameID="271" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-BlackMediumContrast
</namerecord>
<namerecord nameID="272" platformID="1" platEncID="0" langID="0x0" unicode="True">
Black High Contrast
</namerecord>
<namerecord nameID="273" platformID="1" platEncID="0" langID="0x0" unicode="True">
TestFamily-BlackHighContrast
</namerecord>
<namerecord nameID="257" platformID="1" platEncID="0" langID="0x2" unicode="True">
Kontrast
</namerecord>
<namerecord nameID="257" platformID="3" platEncID="1" langID="0x407">
Kontrast
</namerecord>
@ -546,39 +489,36 @@
TestFamily-Light
</namerecord>
<namerecord nameID="262" platformID="3" platEncID="1" langID="0x409">
Regular
</namerecord>
<namerecord nameID="263" platformID="3" platEncID="1" langID="0x409">
TestFamily-Regular
</namerecord>
<namerecord nameID="264" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="263" platformID="3" platEncID="1" langID="0x409">
Semibold
</namerecord>
<namerecord nameID="265" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="264" platformID="3" platEncID="1" langID="0x409">
TestFamily-Semibold
</namerecord>
<namerecord nameID="266" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="265" platformID="3" platEncID="1" langID="0x409">
Bold
</namerecord>
<namerecord nameID="267" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="266" platformID="3" platEncID="1" langID="0x409">
TestFamily-Bold
</namerecord>
<namerecord nameID="268" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="267" platformID="3" platEncID="1" langID="0x409">
Black
</namerecord>
<namerecord nameID="269" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="268" platformID="3" platEncID="1" langID="0x409">
TestFamily-Black
</namerecord>
<namerecord nameID="270" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="269" platformID="3" platEncID="1" langID="0x409">
Black Medium Contrast
</namerecord>
<namerecord nameID="271" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="270" platformID="3" platEncID="1" langID="0x409">
TestFamily-BlackMediumContrast
</namerecord>
<namerecord nameID="272" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="271" platformID="3" platEncID="1" langID="0x409">
Black High Contrast
</namerecord>
<namerecord nameID="273" platformID="3" platEncID="1" langID="0x409">
<namerecord nameID="272" platformID="3" platEncID="1" langID="0x409">
TestFamily-BlackHighContrast
</namerecord>
</name>
@ -807,42 +747,42 @@
<!-- Regular -->
<!-- PostScript: TestFamily-Regular -->
<NamedInstance flags="0x0" postscriptNameID="263" subfamilyNameID="262">
<NamedInstance flags="0x0" postscriptNameID="262" subfamilyNameID="2">
<coord axis="wght" value="394.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Semibold -->
<!-- PostScript: TestFamily-Semibold -->
<NamedInstance flags="0x0" postscriptNameID="265" subfamilyNameID="264">
<NamedInstance flags="0x0" postscriptNameID="264" subfamilyNameID="263">
<coord axis="wght" value="600.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Bold -->
<!-- PostScript: TestFamily-Bold -->
<NamedInstance flags="0x0" postscriptNameID="267" subfamilyNameID="266">
<NamedInstance flags="0x0" postscriptNameID="266" subfamilyNameID="265">
<coord axis="wght" value="824.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Black -->
<!-- PostScript: TestFamily-Black -->
<NamedInstance flags="0x0" postscriptNameID="269" subfamilyNameID="268">
<NamedInstance flags="0x0" postscriptNameID="268" subfamilyNameID="267">
<coord axis="wght" value="1000.0"/>
<coord axis="cntr" value="0.0"/>
</NamedInstance>
<!-- Black Medium Contrast -->
<!-- PostScript: TestFamily-BlackMediumContrast -->
<NamedInstance flags="0x0" postscriptNameID="271" subfamilyNameID="270">
<NamedInstance flags="0x0" postscriptNameID="270" subfamilyNameID="269">
<coord axis="wght" value="1000.0"/>
<coord axis="cntr" value="50.0"/>
</NamedInstance>
<!-- Black High Contrast -->
<!-- PostScript: TestFamily-BlackHighContrast -->
<NamedInstance flags="0x0" postscriptNameID="273" subfamilyNameID="272">
<NamedInstance flags="0x0" postscriptNameID="272" subfamilyNameID="271">
<coord axis="wght" value="1000.0"/>
<coord axis="cntr" value="100.0"/>
</NamedInstance>

View File

@ -228,9 +228,6 @@
</glyf>
<name>
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
Weight
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Test Family
</namerecord>

View File

@ -68,9 +68,6 @@
</gvar>
<name>
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
Weight
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Test Family
</namerecord>

View File

@ -236,9 +236,6 @@
</glyf>
<name>
<namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
Weight
</namerecord>
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
Layer Font
</namerecord>