From 813aff5702466970be7b7a6a9d1240045008bb37 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 9 Nov 2016 20:25:57 +0530 Subject: [PATCH] Add a warning to the conversion log when trying to embed fonts with non-standard weights --- src/calibre/ebooks/oeb/transforms/embed_fonts.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/oeb/transforms/embed_fonts.py b/src/calibre/ebooks/oeb/transforms/embed_fonts.py index 1d2b36851a..ca9fbe6c07 100644 --- a/src/calibre/ebooks/oeb/transforms/embed_fonts.py +++ b/src/calibre/ebooks/oeb/transforms/embed_fonts.py @@ -85,6 +85,7 @@ class EmbedFonts(object): self.parser = cssutils.CSSParser(loglevel=logging.CRITICAL, log=logging.getLogger('calibre.css')) self.warned = set() self.warned2 = set() + self.warned3 = set() for item in oeb.spine: if not hasattr(item.data, 'xpath'): @@ -231,4 +232,11 @@ class EmbedFonts(object): sheet = self.parser.parseString(css, validate=False) page_sheet.data.insertRule(sheet.cssRules[0], len(page_sheet.data.cssRules)) return find_font_face_rules(sheet, self.oeb)[0] - + else: + try: + w = int(f['weight']) + except Exception: + w = 200 + if w % 100 and ((ff, w) not in self.warned3): + self.warned3.add((ff, w)) + self.log.warn('The font %s has a non-standard weight: %s, it will not be embedded' % (ff, w))