summaryrefslogtreecommitdiff
path: root/misc/tools/postprocess_instance_ufo.py
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2023-06-08 20:10:47 +0300
committerRasmus Andersson <rasmus@notion.se>2023-06-08 20:10:47 +0300
commitd88ab4204a4fc8af6e04913274be1907d7f29248 (patch)
tree64097fb6dde83ff1cb077d4ce294a4591cfe9b26 /misc/tools/postprocess_instance_ufo.py
parent9e6dd3d7fb7793e2194483064d2488ea44ca1893 (diff)
downloadinter-d88ab4204a4fc8af6e04913274be1907d7f29248.tar.xz
fixes name table entries for static files, re issue #519
Diffstat (limited to 'misc/tools/postprocess_instance_ufo.py')
-rw-r--r--misc/tools/postprocess_instance_ufo.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/misc/tools/postprocess_instance_ufo.py b/misc/tools/postprocess_instance_ufo.py
index b391503e9..8c2c5c528 100644
--- a/misc/tools/postprocess_instance_ufo.py
+++ b/misc/tools/postprocess_instance_ufo.py
@@ -1,7 +1,14 @@
-import sys
+import sys, re
import defcon
+WHITESPACE_RE = re.compile(r'\s+')
+
+
+def rmspace(s):
+ return WHITESPACE_RE.sub('', s)
+
+
# See https://github.com/rsms/inter/issues/508
# TODO: Remove when https://github.com/googlefonts/glyphsLib/issues/821 is fixed
def fix_fractional_advance_width(ufo):
@@ -19,6 +26,20 @@ def main(argv):
ufo_file = argv[1]
ufo = defcon.Font(ufo_file)
fix_fractional_advance_width(ufo)
+
+ # fix legacy names to make style linking work in MS Windows
+ familyName = ufo.info.familyName # e.g. "Inter Display"
+ styleName = ufo.info.styleName # e.g. "ExtraBold"
+ ufo.info.openTypeNamePreferredFamilyName = familyName
+ ufo.info.openTypeNamePreferredSubfamilyName = styleName
+
+ ufo.info.familyName = familyName + ' ' + styleName
+ ufo.info.styleName = 'Regular' if styleName.find('Italic') == -1 else 'Italic'
+
+ # must also set these explicitly to avoid PostScript names like "Inter-ThinRegular":
+ # "postscriptFontName" maps to name ID 6 "postscriptName"
+ ufo.info.postscriptFontName = rmspace(familyName) + '-' + rmspace(styleName)
+
ufo.save(ufo_file)