diff --git a/src/libprs500/ebooks/lrf/html/convert_from.py b/src/libprs500/ebooks/lrf/html/convert_from.py index 5db6a286ff..9ba7608104 100644 --- a/src/libprs500/ebooks/lrf/html/convert_from.py +++ b/src/libprs500/ebooks/lrf/html/convert_from.py @@ -229,15 +229,19 @@ class Span(_Span): normal_font_size = attrs['fontsize'] variant = attrs.pop('fontvariant', None) if variant == 'small-caps': - tokens = [ i.upper() for i in src.split()] - spans = [] - for i in tokens: - f, r = i[0], i[1:]+' ' - spans.append(f) - spans.append(_Span(r, fontsize=normal_font_size-30)) - src = _Span(fontsize=normal_font_size) - for i in spans: - src.append(i) + dump = _Span(fontsize=normal_font_size-30) + temp = [] + for c in src: + if c.isupper(): + if temp: + dump.append(''.join(temp)) + temp = [] + dump.append(_Span(c, fontsize=normal_font_size)) + else: + temp.append(c.upper()) + src = dump + if temp: + src.append(''.join(temp)) family, key = attrs['fontfacename'] if fonts[family].has_key(key): diff --git a/src/libprs500/ebooks/lrf/html/demo/demo.html b/src/libprs500/ebooks/lrf/html/demo/demo.html index c73228ef88..c1264d93c9 100644 --- a/src/libprs500/ebooks/lrf/html/demo/demo.html +++ b/src/libprs500/ebooks/lrf/html/demo/demo.html @@ -167,7 +167,7 @@
This is an example of small-caps. +
This is an Example of small-caps. It can also be used to highlight the start of a paragraph very effectively.