PDF Output: Dont error out for open type fonts without OS/2 tables

This commit is contained in:
Kovid Goyal 2013-01-22 11:52:23 +05:30
parent d45534ccc8
commit c1729160a3

View File

@ -9,6 +9,7 @@ __docformat__ = 'restructuredtext en'
from future_builtins import map from future_builtins import map
from calibre.utils.fonts.utils import get_all_font_names from calibre.utils.fonts.utils import get_all_font_names
from calibre.utils.fonts.sfnt.container import UnsupportedFont
class FontMetrics(object): class FontMetrics(object):
@ -31,7 +32,10 @@ class FontMetrics(object):
self._advance_widths = hhea.advance_widths self._advance_widths = hhea.advance_widths
self.cmap = self.sfnt[b'cmap'] self.cmap = self.sfnt[b'cmap']
self.units_per_em = self.head.units_per_em self.units_per_em = self.head.units_per_em
try:
self.os2 = self.sfnt[b'OS/2'] self.os2 = self.sfnt[b'OS/2']
except KeyError:
raise UnsupportedFont('This font has no OS/2 table')
self.os2.read_data() self.os2.read_data()
self.post = self.sfnt[b'post'] self.post = self.sfnt[b'post']
self.post.read_data() self.post.read_data()