1
1
mirror of https://github.com/rsms/inter.git synced 2024-11-30 11:26:32 +03:00

change fontbuild rename command to apply Google Fonts standard style names with --google-style flag (replaces flag --compact-style)

This commit is contained in:
Rasmus Andersson 2019-10-23 18:44:33 -07:00
parent 51781961e3
commit 0ea8167779
2 changed files with 14 additions and 7 deletions

View File

@ -22,7 +22,7 @@ from glyphsLib.interpolation import apply_instance_data
from fontbuildlib import FontBuilder
from fontbuildlib.util import mkdirs, loadTTFont
from fontbuildlib.info import setFontInfo, updateFontVersion
from fontbuildlib.name import setFamilyName, removeWhitespaceFromStyles
from fontbuildlib.name import setFamilyName, renameStylesGoogleFonts
log = logging.getLogger(__name__)
@ -581,10 +581,13 @@ class Main(object):
a('-o', '--output', metavar='<file>',
help='Output font file. Defaults to input file (overwrite.)')
a('--family', metavar='<name>',
help='Rename family to <name>')
a('--compact-style', action='store_true',
help='Rename style names to CamelCase. e.g. "Extra Bold Italic" -> "ExtraBoldItalic"')
a('--google-style', action='store_true',
help='Rename style names to Google Fonts standards.')
a('input', metavar='<file>',
help='Input font file')
@ -600,9 +603,9 @@ class Main(object):
editCount += 1
setFamilyName(font, args.family)
if args.compact_style:
if args.google_style:
editCount += 1
removeWhitespaceFromStyles(font)
renameStylesGoogleFonts(font)
if editCount == 0:
print("no rename options provided", file=sys.stderr)

View File

@ -53,7 +53,7 @@ def getFamilyName(font):
return r.toUnicode()
def removeWhitespaceFromStyles(font):
def renameStylesGoogleFonts(font):
familyName = getFamilyName(font)
# collect subfamily (style) name IDs for variable font's named instances
@ -75,7 +75,11 @@ def removeWhitespaceFromStyles(font):
s = removeWhitespace(s)
rec.string = s
if rid in (SUBFAMILY_NAME,) or rid in vfInstanceSubfamilyNameIds:
rec.string = removeWhitespace(rec.toUnicode())
s = removeWhitespace(rec.toUnicode())
if s != "Italic" and s.endswith("Italic"):
# fixup "ExtraBoldItalic" -> "ExtraBold Italic"
s = s[:len(s) - len("Italic")] + " Italic"
rec.string = s
# else: ignore standard names unrelated to style