From c1729160a34acf453f9439683dcfdf587f0aad4b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 22 Jan 2013 11:52:23 +0530 Subject: [PATCH] PDF Output: Dont error out for open type fonts without OS/2 tables --- src/calibre/utils/fonts/sfnt/metrics.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/utils/fonts/sfnt/metrics.py b/src/calibre/utils/fonts/sfnt/metrics.py index 4f86948ff2..4843893fc3 100644 --- a/src/calibre/utils/fonts/sfnt/metrics.py +++ b/src/calibre/utils/fonts/sfnt/metrics.py @@ -9,6 +9,7 @@ __docformat__ = 'restructuredtext en' from future_builtins import map from calibre.utils.fonts.utils import get_all_font_names +from calibre.utils.fonts.sfnt.container import UnsupportedFont class FontMetrics(object): @@ -31,7 +32,10 @@ class FontMetrics(object): self._advance_widths = hhea.advance_widths self.cmap = self.sfnt[b'cmap'] self.units_per_em = self.head.units_per_em - self.os2 = self.sfnt[b'OS/2'] + try: + self.os2 = self.sfnt[b'OS/2'] + except KeyError: + raise UnsupportedFont('This font has no OS/2 table') self.os2.read_data() self.post = self.sfnt[b'post'] self.post.read_data()