diff --git a/Lib/fontTools/ttLib/sfnt.py b/Lib/fontTools/ttLib/sfnt.py index 7999b7708..1c11de729 100644 --- a/Lib/fontTools/ttLib/sfnt.py +++ b/Lib/fontTools/ttLib/sfnt.py @@ -135,18 +135,14 @@ class SFNTReader(object): obj = cls.__new__(cls) for k, v in self.__dict__.items(): if k == "file": - try: - obj.file = deepcopy(v, memo) - except TypeError: - f = self.file - pos = f.tell() - f.seek(0) - buf = BytesIO(f.read()) - f.seek(pos) - buf.seek(pos) - if hasattr(f, "name"): - buf.name = f.name - obj.file = buf + pos = v.tell() + v.seek(0) + buf = BytesIO(v.read()) + v.seek(pos) + buf.seek(pos) + if hasattr(v, "name"): + buf.name = v.name + obj.file = buf else: obj.__dict__[k] = deepcopy(v, memo) return obj