aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2014-03-28 14:41:53 -0700
committerBehdad Esfahbod <behdad@behdad.org>2014-03-28 14:41:53 -0700
commit82c54638e32a5b7c0f7ad3ac3dafacf7fa27dad4 (patch)
treea8c73ca889595801c5e7ea5ede14debfb1f6ab8d
parent0d5fcf498c27bc77ff6203469cc7d622a41dcebb (diff)
downloadfonttools-82c54638e32a5b7c0f7ad3ac3dafacf7fa27dad4.tar.gz
[merge] Install merged dict on object
-rw-r--r--Lib/fontTools/merge.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/Lib/fontTools/merge.py b/Lib/fontTools/merge.py
index c5b683e8..8e212ec1 100644
--- a/Lib/fontTools/merge.py
+++ b/Lib/fontTools/merge.py
@@ -91,6 +91,7 @@ def mergeObjects(lst):
assert all(type(item) == clazz for item in lst), lst
logic = clazz.mergeMap
returnTable = clazz()
+ returnDict = {}
allKeys = set.union(set(), *(vars(table).keys() for table in lst))
for key in allKeys:
@@ -106,7 +107,9 @@ def mergeObjects(lst):
continue
value = mergeLogic(getattr(table, key, NotImplemented) for table in lst)
if value is not NotImplemented:
- setattr(returnTable, key, value)
+ returnDict[key] = value
+
+ returnTable.__dict__ = returnDict
return returnTable