diff --git a/src/calibre/ebooks/pdf/render/engine.py b/src/calibre/ebooks/pdf/render/engine.py index 149d75d1f0..136e622500 100644 --- a/src/calibre/ebooks/pdf/render/engine.py +++ b/src/calibre/ebooks/pdf/render/engine.py @@ -240,14 +240,17 @@ class PdfEngine(QPaintEngine): @store_error def drawTextItem(self, point, text_item): # super(PdfEngine, self).drawTextItem(point, text_item) - self.apply_graphics_state() gi = self.qt_hack.get_glyphs(point, text_item) if not gi.indices: sip.delete(gi) return name = hash(bytes(gi.name)) if name not in self.fonts: - self.fonts[name] = self.create_sfnt(text_item) + try: + self.fonts[name] = self.create_sfnt(text_item) + except UnsupportedFont: + return super(PdfEngine, self).drawTextItem(point, text_item) + self.apply_graphics_state() metrics = self.fonts[name] for glyph_id in gi.indices: try: