From f1ba77d1725212864d14091eab0e9e741fa7d9e2 Mon Sep 17 00:00:00 2001 From: "Marshall T. Vandegrift" Date: Tue, 24 Feb 2009 23:43:54 -0500 Subject: [PATCH] Fix #1886. Handle invalid non-numeric font-size values. --- src/calibre/ebooks/oeb/transforms/flatcss.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/calibre/ebooks/oeb/transforms/flatcss.py b/src/calibre/ebooks/oeb/transforms/flatcss.py index ee7d7fa0b2..63466ac551 100644 --- a/src/calibre/ebooks/oeb/transforms/flatcss.py +++ b/src/calibre/ebooks/oeb/transforms/flatcss.py @@ -37,6 +37,8 @@ class KeyMapper(object): @staticmethod def relate(size, base): + if size == 0: + return base size = float(size) base = float(base) if abs(size - base) < 0.1: return 0 @@ -48,6 +50,7 @@ class KeyMapper(object): return result def __getitem__(self, ssize): + ssize = asfloat(ssize, 0) if ssize in self.cache: return self.cache[ssize] dsize = self.map(ssize) @@ -66,6 +69,7 @@ class ScaleMapper(object): self.dscale = float(dbase) / float(sbase) def __getitem__(self, ssize): + ssize = asfloat(ssize, 0) dsize = ssize * self.dscale return dsize