From 669b71ca16968b0a3780ad994bca335db7bcaa77 Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Wed, 6 Jun 2018 16:05:08 +0100 Subject: [PATCH] Allow to read new format="4.0" as a float --- Lib/mutatorMath/ufo/document.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Lib/mutatorMath/ufo/document.py b/Lib/mutatorMath/ufo/document.py index 623e259e..b5ab6a71 100644 --- a/Lib/mutatorMath/ufo/document.py +++ b/Lib/mutatorMath/ufo/document.py @@ -402,7 +402,7 @@ def __init__(self, documentPath, tree = ET.parse(self.path) self.root = tree.getroot() self.readVersion() - assert self.documentFormatVersion == 3 + assert self.documentFormatVersion >= 3 self.readAxes() self.readWarp() @@ -447,7 +447,12 @@ def readVersion(self): """ ds = self.root.findall("[@format]")[0] - self.documentFormatVersion = int(ds.attrib['format']) + raw_format = ds.attrib['format'] + try: + self.documentFormatVersion = int(raw_format) + except ValueError: + # as of fontTools >= 3.27 'format' is formatted as a float "4.0" + self.documentFormatVersion = float(raw_format) def readWarp(self): """ Read the warp element