diff --git a/src/calibre/ebooks/rtf/rtfml.py b/src/calibre/ebooks/rtf/rtfml.py index 3869c05152..590beb85de 100644 --- a/src/calibre/ebooks/rtf/rtfml.py +++ b/src/calibre/ebooks/rtf/rtfml.py @@ -191,6 +191,10 @@ class RTFMLizer(object): def dump_text(self, elem, stylizer, tag_stack=[]): if not isinstance(elem.tag, basestring) \ or namespace(elem.tag) != XHTML_NS: + p = elem.getparent() + if isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ + and elem.tail: + return elem.tail return u'' text = u'' diff --git a/src/calibre/ebooks/txt/txtml.py b/src/calibre/ebooks/txt/txtml.py index bb730c0720..d71212fa8e 100644 --- a/src/calibre/ebooks/txt/txtml.py +++ b/src/calibre/ebooks/txt/txtml.py @@ -155,6 +155,10 @@ class TXTMLizer(object): if not isinstance(elem.tag, basestring) \ or namespace(elem.tag) != XHTML_NS: + p = elem.getparent() + if isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ + and elem.tail: + return [elem.tail] return [''] text = ['']