Fix #1886. Handle invalid non-numeric font-size values.

This commit is contained in:
Marshall T. Vandegrift 2009-02-24 23:43:54 -05:00
parent 42a4ed14ca
commit f1ba77d172

View File

@ -37,6 +37,8 @@ class KeyMapper(object):
@staticmethod @staticmethod
def relate(size, base): def relate(size, base):
if size == 0:
return base
size = float(size) size = float(size)
base = float(base) base = float(base)
if abs(size - base) < 0.1: return 0 if abs(size - base) < 0.1: return 0
@ -48,6 +50,7 @@ class KeyMapper(object):
return result return result
def __getitem__(self, ssize): def __getitem__(self, ssize):
ssize = asfloat(ssize, 0)
if ssize in self.cache: if ssize in self.cache:
return self.cache[ssize] return self.cache[ssize]
dsize = self.map(ssize) dsize = self.map(ssize)
@ -66,6 +69,7 @@ class ScaleMapper(object):
self.dscale = float(dbase) / float(sbase) self.dscale = float(dbase) / float(sbase)
def __getitem__(self, ssize): def __getitem__(self, ssize):
ssize = asfloat(ssize, 0)
dsize = ssize * self.dscale dsize = ssize * self.dscale
return dsize return dsize