From 61814d41f54fecd429c0db6000aaca90d72e3a37 Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Fri, 20 Nov 2020 10:01:39 +0000 Subject: [PATCH] Allow UFO files to be used in varLib.interpolatable The joys of well-defined interfaces. --- Lib/fontTools/varLib/interpolatable.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Lib/fontTools/varLib/interpolatable.py b/Lib/fontTools/varLib/interpolatable.py index 0aa941c92..339d5b4c2 100644 --- a/Lib/fontTools/varLib/interpolatable.py +++ b/Lib/fontTools/varLib/interpolatable.py @@ -186,7 +186,7 @@ def main(args=None): description=main.__doc__, ) parser.add_argument('inputs', metavar='FILE', type=str, nargs='+', - help="Input TTF files") + help="Input TTF/UFO files") args = parser.parse_args(args) glyphs = None @@ -197,8 +197,14 @@ def main(args=None): from os.path import basename names = [basename(filename).rsplit('.', 1)[0] for filename in args.inputs] - from fontTools.ttLib import TTFont - fonts = [TTFont(filename) for filename in args.inputs] + fonts = [] + 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] test(glyphsets, glyphs=glyphs, names=names)