From 6bce49960c75b6477701e996e4a7ed81f6467e30 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 8 Jan 2013 11:51:02 +0530 Subject: [PATCH] PDF Output: Dont abort when non-sfnt fonts are used, instead draw the text as outlines --- src/calibre/ebooks/pdf/render/engine.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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: