From 6c916d78cc704d6c109774ebb25d40fbfba051a8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 8 Feb 2015 16:05:29 +0530 Subject: [PATCH] Handle first-letter selectors --- src/calibre/ebooks/oeb/stylizer.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/oeb/stylizer.py b/src/calibre/ebooks/oeb/stylizer.py index 977ebaf72c..3b721c7e08 100644 --- a/src/calibre/ebooks/oeb/stylizer.py +++ b/src/calibre/ebooks/oeb/stylizer.py @@ -285,7 +285,7 @@ class Stylizer(object): if fl is not None: fl = fl.group(1) if fl == 'first-letter' and getattr(self.oeb, - 'plumber_output_format', '').lower() == u'mobi': + 'plumber_output_format', '').lower() in {u'mobi', u'docx'}: # Fake first-letter from lxml.builder import ElementMaker E = ElementMaker(namespace=XHTML_NS) @@ -304,6 +304,7 @@ class Stylizer(object): special_text = u''.join(punctuation_chars) + \ (text[0] if text else u'') span = E.span(special_text) + span.set('data-fake-first-letter', '1') span.tail = text[1:] x.text = None x.insert(0, span)