def get_font_family_name(self, name): try: with current_container().open(name) as f: f.seek(0, os.SEEK_END) sz = f.tell() except Exception: sz = 0 key = name, sz if key not in self.font_name_cache: raw = current_container().raw_data(name, decode=False) f = QRawFont(raw, 12) if f.isValid(): ans = f.familyName() + ' ' + f.styleName() else: ans = None self.font_name_cache[key] = ans return self.font_name_cache[key]