diff --git a/src/odf/odf2xhtml.py b/src/odf/odf2xhtml.py index 8a55fbd036..28ea9dc838 100644 --- a/src/odf/odf2xhtml.py +++ b/src/odf/odf2xhtml.py @@ -77,6 +77,8 @@ class StyleToCSS: (FONS,u"border-left"): self.c_fo, (FONS,u"border-right"): self.c_fo, (FONS,u"border-top"): self.c_fo, + (FONS,u"break-after"): self.c_break, + (FONS,u"break-before"): self.c_break, (FONS,u"color"): self.c_fo, (FONS,u"font-family"): self.c_fo, (FONS,u"font-size"): self.c_fo, @@ -139,6 +141,13 @@ class StyleToCSS: selector = rule[1] sdict[selector] = val + def c_break(self, ruleset, sdict, rule, val): + property = 'page-' + rule[1] + values = {'auto': 'auto', 'column': 'always', 'page': 'always', + 'even-page': 'left', 'odd-page': 'right', + 'inherit': 'inherit'} + sdict[property] = values.get(val, 'auto') + def c_border_model(self, ruleset, sdict, rule, val): """ Convert to CSS2 border model """ if val == 'collapsing': @@ -1169,6 +1178,9 @@ class ODF2XHTML(handler.ContentHandler): if specialtag is None: specialtag = 'p' self.writedata() + if not self.data: + # Give substance to empty paragraphs, as rendered by OOo + self.writeout(' ') self.closetag(specialtag) self.purgedata()