Allow UFO files to be used in varLib.interpolatable

The joys of well-defined interfaces.
This commit is contained in:
Simon Cozens 2020-11-20 10:01:39 +00:00
parent ae07ce6e55
commit 61814d41f5

View File

@ -186,7 +186,7 @@ def main(args=None):
description=main.__doc__, description=main.__doc__,
) )
parser.add_argument('inputs', metavar='FILE', type=str, nargs='+', parser.add_argument('inputs', metavar='FILE', type=str, nargs='+',
help="Input TTF files") help="Input TTF/UFO files")
args = parser.parse_args(args) args = parser.parse_args(args)
glyphs = None glyphs = None
@ -197,8 +197,14 @@ def main(args=None):
from os.path import basename from os.path import basename
names = [basename(filename).rsplit('.', 1)[0] for filename in args.inputs] names = [basename(filename).rsplit('.', 1)[0] for filename in args.inputs]
from fontTools.ttLib import TTFont fonts = []
fonts = [TTFont(filename) for filename in args.inputs] for filename in args.inputs:
if filename.endswith(".ufo"):
from fontTools.ufoLib import UFOReader
fonts.append(UFOReader(filename))
else:
from fontTools.ttLib import TTFont
fonts.append(TTFont(filename))
glyphsets = [font.getGlyphSet() for font in fonts] glyphsets = [font.getGlyphSet() for font in fonts]
test(glyphsets, glyphs=glyphs, names=names) test(glyphsets, glyphs=glyphs, names=names)