Conversion pipeline: Fix regression that broke handling of <font> tags with a size attribute

This commit is contained in:
Kovid Goyal 2010-06-04 10:03:07 -06:00
parent 2d1e741bd9
commit 38fce89f95

View File

@ -201,6 +201,7 @@ class CSSFlattener(object):
tag = barename(node.tag) tag = barename(node.tag)
style = stylizer.style(node) style = stylizer.style(node)
cssdict = style.cssdict() cssdict = style.cssdict()
font_size = style['font-size']
if 'align' in node.attrib: if 'align' in node.attrib:
cssdict['text-align'] = node.attrib['align'] cssdict['text-align'] = node.attrib['align']
del node.attrib['align'] del node.attrib['align']
@ -219,13 +220,16 @@ class CSSFlattener(object):
esize = 1 esize = 1
if esize > 7: if esize > 7:
esize = 7 esize = 7
cssdict['font-size'] = fnums[esize] font_size = fnums[esize]
else: else:
try: try:
cssdict['font-size'] = fnums[force_int(size)] font_size = fnums[force_int(size)]
except: except:
cssdict['font-size'] = fnums[3] font_size = fnums[3]
cssdict['font-size'] = '%.1fpt'%font_size
del node.attrib['size'] del node.attrib['size']
if 'face' in node.attrib:
del node.attrib['face']
if 'color' in node.attrib: if 'color' in node.attrib:
cssdict['color'] = node.attrib['color'] cssdict['color'] = node.attrib['color']
del node.attrib['color'] del node.attrib['color']
@ -244,7 +248,7 @@ class CSSFlattener(object):
cssdict['font-size'] = '%0.5fem'%(fsize/psize) cssdict['font-size'] = '%0.5fem'%(fsize/psize)
psize = fsize psize = fsize
elif 'font-size' in cssdict or tag == 'body': elif 'font-size' in cssdict or tag == 'body':
fsize = self.fmap[style['font-size']] fsize = self.fmap[font_size]
cssdict['font-size'] = "%0.5fem" % (fsize / psize) cssdict['font-size'] = "%0.5fem" % (fsize / psize)
psize = fsize psize = fsize
if cssdict: if cssdict: