From 5cebd90e8ea0b21bbac73a82709028eb056f8a6b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 24 Sep 2007 22:11:48 +0000 Subject: [PATCH] Fix #219 --- src/libprs500/ebooks/lrf/objects.py | 2 +- src/libprs500/gui2/lrf_renderer/document.py | 5 ++++- src/libprs500/gui2/lrf_renderer/text.py | 11 +++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/libprs500/ebooks/lrf/objects.py b/src/libprs500/ebooks/lrf/objects.py index b8793bbdf5..186c7f3cd7 100644 --- a/src/libprs500/ebooks/lrf/objects.py +++ b/src/libprs500/ebooks/lrf/objects.py @@ -985,7 +985,7 @@ class Font(LRFStream): (self.id, self.fontfilename, self.fontfacename, self.file) return s -class ObjectInfo(LRFObject): +class ObjectInfo(LRFStream): pass diff --git a/src/libprs500/gui2/lrf_renderer/document.py b/src/libprs500/gui2/lrf_renderer/document.py index fe36fd1c18..5a1077f383 100644 --- a/src/libprs500/gui2/lrf_renderer/document.py +++ b/src/libprs500/gui2/lrf_renderer/document.py @@ -128,7 +128,10 @@ class _Canvas(QGraphicsRectItem): else: y += line.height if not block.has_content: - y += block.bs.footskip + try: + y += block.bs.footskip + except AttributeError: # makelrf generates BlockStyles without footskip + pass block_consumed = True break else: diff --git a/src/libprs500/gui2/lrf_renderer/text.py b/src/libprs500/gui2/lrf_renderer/text.py index b191bda3c2..97065ef032 100644 --- a/src/libprs500/gui2/lrf_renderer/text.py +++ b/src/libprs500/gui2/lrf_renderer/text.py @@ -75,10 +75,13 @@ class FontLoader(object): def font(self, text_style): device_font = text_style.fontfacename in FONT_MAP - if device_font: - face = self.font_map[text_style.fontfacename] - else: - face = self.face_map[text_style.fontfacename] + try: + if device_font: + face = self.font_map[text_style.fontfacename] + else: + face = self.face_map[text_style.fontfacename] + except KeyError: # Bad fontfacename field in LRF + face = self.font_map['Dutch801 Rm BT Roman'] sz = text_style.fontsize wt = text_style.fontweight