From 0b5a923ef8b8c338252e16e085ef96abd757774a Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 24 Oct 2017 17:27:03 -0400 Subject: [PATCH] [varLib.mutator] Fix mutating of ValueRecord objects Part of fixing https://github.com/fonttools/fonttools/pull/1079#issuecomment-338710803 --- Lib/fontTools/varLib/merger.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Lib/fontTools/varLib/merger.py b/Lib/fontTools/varLib/merger.py index 28fa9c313..6272c4590 100644 --- a/Lib/fontTools/varLib/merger.py +++ b/Lib/fontTools/varLib/merger.py @@ -740,6 +740,12 @@ def merge(merger, self, lst): @MutatorMerger.merger(otBase.ValueRecord) def merge(merger, self, lst): + + # All other structs are merged with self pointing to a copy of base font, + # except for ValueRecords which are sometimes created later and initialized + # to have 0/None members. Hence the copy. + self.__dict__ = lst[0].__dict__.copy() + instancer = merger.instancer # TODO Handle differing valueformats for name, tableName in [('XAdvance','XAdvDevice'),