diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py
index aeabfcdf6f..0c04fcf5bf 100644
--- a/src/libprs500/ebooks/lrf/html/convert_from.py
+++ b/src/libprs500/ebooks/lrf/html/convert_from.py
@@ -615,14 +615,14 @@ class HTMLConverter(object):
ascii_text = text.encode('ascii', 'ignore') # Needed for TOC entries due to bug in SONY LRF renderer
if path in self.processed_files:
- if path+fragment in self.targets.keys():
- tb = get_target_block(path+fragment, self.targets)
+ if path+fragment in self.targets.keys():
+ tb = get_target_block(path+fragment, self.targets)
else:
tb = self.tops[path]
if link['in toc']:
- add_toc_entry(ascii_text, tb)
+ add_toc_entry(ascii_text, tb)
- jb = JumpButton(tb)
+ jb = JumpButton(tb)
self.book.append(jb)
cb = CharButton(jb, text=text)
para.contents = []
@@ -1079,7 +1079,7 @@ class HTMLConverter(object):
'''
Convert the font propertiess in css to the Xylog equivalents. If the CSS
does not contain a particular font property, the default from self.book.defaultTextSytle
- is used.
+ is used. Assumes 1em = 10pt
@return: dict, key, variant. The dict contains the Xlog equivalents. key indicates
the font type (i.e. bold, bi, normal) and variant is None or 'small-caps'
'''
@@ -1128,7 +1128,7 @@ class HTMLConverter(object):
return key
def font_size(val):
- normal = int(self.current_block.textStyle.attrs['fontsize'])
+ normal = 100
normpts = str(normal/10) + 'pt'
ans = self.unit_convert(val, pts=True, base_length=normpts)
@@ -1233,6 +1233,7 @@ class HTMLConverter(object):
except ValueError:
pass
m = re.search(r"\s*(-*[0-9]*\.?[0-9]*)\s*(%|em|px|mm|cm|in|pt|pc)", val)
+
if m is not None and m.group(1):
unit = float(m.group(1))
if m.group(2) == '%':
@@ -1245,8 +1246,7 @@ class HTMLConverter(object):
elif m.group(2) == 'pt':
result = unit * dpi/72.
elif m.group(2) == 'em':
- normal = float(self.current_block.textStyle.attrs['fontsize'])
- result = unit * normal * (dpi/720.)
+ result = unit * 100 * (dpi/720.)
elif m.group(2) == 'pc':
result = unit * (dpi/72.) * 12
elif m.group(2) == 'mm':
@@ -1255,7 +1255,7 @@ class HTMLConverter(object):
result = unit * 0.40 * (dpi/72.)
if result is not None:
if pts:
- result = int(round(result / dpi * 720))
+ result = int(round(result * (720./dpi)))
else:
result = int(round(result))
return result