From 7fc2e37e419d299e152314af77263fe91707703f Mon Sep 17 00:00:00 2001 From: Simon Cozens Date: Mon, 15 Mar 2021 12:00:31 +0000 Subject: [PATCH] Try harder to get a name from file being merged --- Lib/fontTools/varLib/errors.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Lib/fontTools/varLib/errors.py b/Lib/fontTools/varLib/errors.py index 128629bfc..b5680ec18 100644 --- a/Lib/fontTools/varLib/errors.py +++ b/Lib/fontTools/varLib/errors.py @@ -32,11 +32,18 @@ class VarLibMergeError(VarLibError): self.merger = merger self.args = args + def _master_name(self, ttf, ix): + if "name" in ttf: + return ttf["name"].getDebugName(1) + " " + ttf["name"].getDebugName(2) + elif hasattr(ttf.reader, "file") and hasattr(ttf.reader.file, "name"): + return ttf.reader.file.name + else: + return "master number %i" % ix + def __str__(self): cause, stack = self.args[0], self.args[1:] fontnames = [ - ttf["name"].getDebugName(1) + " " + ttf["name"].getDebugName(2) - for ttf in self.merger.ttfs + self._master_name(ttf, ix) for ix, ttf in enumerate(self.merger.ttfs) ] context = "".join(reversed(stack)) details = ""