summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2023-06-12 22:13:10 +0300
committerRasmus Andersson <rasmus@notion.se>2023-06-12 22:13:10 +0300
commit7429e38d2ebb2bf965522445cc74e9b447ec8cb1 (patch)
tree5115fc8697e7e4343145a18faf3cae07d3d23886 /misc
parentc5359ee0389d3d4e31b8434c879022fdf3afb050 (diff)
downloadinter-7429e38d2ebb2bf965522445cc74e9b447ec8cb1.tar.xz
use unique name ID 25 for variable fonts, re #577
Diffstat (limited to 'misc')
-rw-r--r--misc/tools/bake-vf.py21
-rw-r--r--misc/tools/gen-var-designspace.py12
2 files changed, 22 insertions, 11 deletions
diff --git a/misc/tools/bake-vf.py b/misc/tools/bake-vf.py
index 8128d9220..bb621580f 100644
--- a/misc/tools/bake-vf.py
+++ b/misc/tools/bake-vf.py
@@ -238,10 +238,11 @@ def setFamilyName(font, nextFamilyName):
old, new = renameRecord(rec, prevFamilyNames, nextFamilyName)
# print(" %r: '%s' -> '%s'" % (rec, old, new))
- # HACK! FIXME!
# add name ID 25 "Variations PostScript Name Prefix" if not found
if not found_VAR_PS_NAME_PREFIX and nextFamilyName.find('Variable') != -1:
varPSNamePrefix = remove_whitespace(nextFamilyName)
+ if font_is_italic(font):
+ varPSNamePrefix += 'Italic'
nameTable.setName(varPSNamePrefix, VAR_PS_NAME_PREFIX, 1, 0, 0) # mac
nameTable.setName(varPSNamePrefix, VAR_PS_NAME_PREFIX, 3, 1, 0x409) # windows
@@ -252,17 +253,17 @@ def gen_stat(ttfont):
buildStatTable(ttfont, STAT_AXES, locations=locations)
-def fixup_fvar(ttfont):
- fvar = ttfont['fvar']
- for a in fvar.axes:
- if a.axisTag == "wght":
- a.defaultValue = 400
- break
+# def fixup_fvar(ttfont):
+# fvar = ttfont['fvar']
+# for a in fvar.axes:
+# if a.axisTag == "wght":
+# a.defaultValue = 400
+# break
-def fixup_os2(ttfont):
- os2 = ttfont['OS/2']
- os2.usWeightClass = 400
+# def fixup_os2(ttfont):
+# os2 = ttfont['OS/2']
+# os2.usWeightClass = 400
def main():
diff --git a/misc/tools/gen-var-designspace.py b/misc/tools/gen-var-designspace.py
index f91d24eec..5fc9cc322 100644
--- a/misc/tools/gen-var-designspace.py
+++ b/misc/tools/gen-var-designspace.py
@@ -20,7 +20,17 @@ def fixup_names(instance_or_source):
def fixup_instance(designspace, instance):
fixup_names(instance)
- instance.postScriptFontName = 'InterVariable-' + remove_whitespace(instance.styleName)
+ # note: these must match name ID 25 "Variations PostScript Name Prefix"
+ # which in turn must be unique for the roman vs italic fonts.
+ # If you change this, also update bake-vf.py to match.
+ # See https://github.com/rsms/inter/issues/577
+ isItalic = "Italic" in instance.styleName
+ psStyle = remove_whitespace(instance.styleName)
+ if isItalic:
+ instance.postScriptFontName = 'InterVariableItalic-' + psStyle.replace('Italic','')
+ else:
+ instance.postScriptFontName = 'InterVariable-' + psStyle
+
instance.styleMapFamilyName = instance.styleMapFamilyName.replace(' Display', '')
# remove WWSFamilyName and WWSSubfamilyName properties