Skip to content

Commit

Permalink
Merge pull request #371 from anthrotype/missing-opentype-name-ids
Browse files Browse the repository at this point in the history
Support openType{SampleText, CompatibleFullName, WWS*FamilyName} nameIDs
  • Loading branch information
anthrotype authored Mar 24, 2020
2 parents c76448f + 5c84068 commit b796cb7
Show file tree
Hide file tree
Showing 11 changed files with 101 additions and 20 deletions.
15 changes: 1 addition & 14 deletions Lib/ufo2ft/fontInfoData.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,19 +201,6 @@ def openTypeNamePreferredSubfamilyNameFallback(info):
return getAttrWithFallback(info, "styleName")


def openTypeNameCompatibleFullNameFallback(info):
"""
Fallback to *styleMapFamilyName styleMapStyleName*.
If *styleMapStyleName* is *regular* this will not add
the style name.
"""
familyName = getAttrWithFallback(info, "styleMapFamilyName")
styleMapStyleName = getAttrWithFallback(info, "styleMapStyleName")
if styleMapStyleName != "regular":
familyName += " " + styleMapStyleName.title()
return familyName


def openTypeNameWWSFamilyNameFallback(info):
# not yet supported
return None
Expand Down Expand Up @@ -388,6 +375,7 @@ def postscriptBlueScaleFallback(info):
openTypeNameLicense=None,
openTypeNameLicenseURL=None,
openTypeNameDescription=None,
openTypeNameCompatibleFullName=None,
openTypeNameSampleText=None,
openTypeNameRecords=[],
openTypeOS2WidthClass=5,
Expand Down Expand Up @@ -459,7 +447,6 @@ def postscriptBlueScaleFallback(info):
openTypeNameUniqueID=openTypeNameUniqueIDFallback,
openTypeNamePreferredFamilyName=openTypeNamePreferredFamilyNameFallback,
openTypeNamePreferredSubfamilyName=openTypeNamePreferredSubfamilyNameFallback,
openTypeNameCompatibleFullName=openTypeNameCompatibleFullNameFallback,
openTypeNameWWSFamilyName=openTypeNameWWSFamilyNameFallback,
openTypeNameWWSSubfamilyName=openTypeNameWWSSubfamilyNameFallback,
openTypeOS2TypoAscender=openTypeOS2TypoAscenderFallback,
Expand Down
4 changes: 4 additions & 0 deletions Lib/ufo2ft/outlineCompiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,10 @@ def setupTable_name(self):
14: getAttrWithFallback(font.info, "openTypeNameLicenseURL"),
16: preferredFamilyName,
17: preferredSubfamilyName,
18: getAttrWithFallback(font.info, "openTypeNameCompatibleFullName"),
19: getAttrWithFallback(font.info, "openTypeNameSampleText"),
21: getAttrWithFallback(font.info, "openTypeNameWWSFamilyName"),
22: getAttrWithFallback(font.info, "openTypeNameWWSSubfamilyName"),
}

# don't add typographic names if they are the same as the legacy ones
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont-CFF.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<cmap>
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont-NoOptimize-CFF.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<cmap>
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont-NoOverlaps-CFF-pathops.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<cmap>
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont-NoOverlaps-CFF.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<cmap>
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont-NoOverlaps-TTF-pathops.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<post>
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont-NoOverlaps-TTF.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<post>
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont-Specialized-CFF.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<cmap>
Expand Down
12 changes: 12 additions & 0 deletions tests/data/TestFont.ttx
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,18 @@
<namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
Regular (Preferred Subfamily Name)
</namerecord>
<namerecord nameID="18" platformID="3" platEncID="1" langID="0x409">
Some Font Regular (Compatible Full Name)
</namerecord>
<namerecord nameID="19" platformID="3" platEncID="1" langID="0x409">
Sample Text for Some Font.
</namerecord>
<namerecord nameID="21" platformID="3" platEncID="1" langID="0x409">
Some Font (WWS Family Name)
</namerecord>
<namerecord nameID="22" platformID="3" platEncID="1" langID="0x409">
Regular (WWS Subfamily Name)
</namerecord>
</name>

<post>
Expand Down
6 changes: 0 additions & 6 deletions tests/fontInfoData_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ class GetAttrWithFallbackTest(object):
"styleMapStyleName": "regular",
"openTypeNamePreferredFamilyName": "Family Name",
"openTypeNamePreferredSubfamilyName": "Style Name",
"openTypeNameCompatibleFullName": "Family Name Style Name",
},
),
# no styleMapStyleName
Expand All @@ -50,7 +49,6 @@ class GetAttrWithFallbackTest(object):
"styleMapStyleName": "regular",
"openTypeNamePreferredFamilyName": "Family Name",
"openTypeNamePreferredSubfamilyName": "Style Name",
"openTypeNameCompatibleFullName": "Style Map Family Name",
},
),
# no styleMapFamilyName, no styleMapStyleName but styleName="Regular"
Expand All @@ -63,7 +61,6 @@ class GetAttrWithFallbackTest(object):
"styleMapStyleName": "regular",
"openTypeNamePreferredFamilyName": "Family Name",
"openTypeNamePreferredSubfamilyName": "Regular",
"openTypeNameCompatibleFullName": "Family Name",
},
),
# no styleMapFamilyName but styleName="Regular"
Expand All @@ -74,7 +71,6 @@ class GetAttrWithFallbackTest(object):
"styleMapStyleName": "regular",
"openTypeNamePreferredFamilyName": "Family Name",
"openTypeNamePreferredSubfamilyName": "Regular",
"openTypeNameCompatibleFullName": "Family Name",
},
),
# no styleMapStyleName but styleName="Regular"
Expand All @@ -85,7 +81,6 @@ class GetAttrWithFallbackTest(object):
"styleMapStyleName": "regular",
"openTypeNamePreferredFamilyName": "Family Name",
"openTypeNamePreferredSubfamilyName": "Regular",
"openTypeNameCompatibleFullName": "Style Map Family Name",
},
),
# no styleMapFamilyName, no styleMapStyleName but styleName="Bold"
Expand All @@ -98,7 +93,6 @@ class GetAttrWithFallbackTest(object):
"styleMapStyleName": "bold",
"openTypeNamePreferredFamilyName": "Family Name",
"openTypeNamePreferredSubfamilyName": "Bold",
"openTypeNameCompatibleFullName": "Family Name Bold",
},
),
],
Expand Down

0 comments on commit b796cb7

Please sign in to comment.