path: root/sw
diff options
authorJustin Luth <>2021-05-28 11:38:12 +0200
committerMiklos Vajna <>2021-06-01 14:57:02 +0200
commit29bd00f7628e7a54e69cabcc7e2a1792c24aa55c (patch)
tree651fce1cf6de72e5e753e1d6204dae4e20440097 /sw
parentde68b6ecaacee80b87f8884d24c45bf9a610f2a0 (diff)
tdf#142404 DOCX c15: TabOverMargin no longer true in 2013+
When compatibilityMode is 15, TabOverMargin no longer seems to apply. This is a dramatic visual change in docx that I didn't find any documentation about, but the visual change is obvious enough proof. LibreOffice started saving DOCX as c15 mode in 7.0. [P.S. related TabOverflow also seems to be false with c15, but it acts differently than what LO's tabOverflow code does. That was discussed in a different patch and seems to be a dead end, so I'm ignoring that aspect. Way too many complications and effects on LO native mode.] Change-Id: I5a0a6d695d6825444cf6a362a81803f306e6c6e3 Reviewed-on: Tested-by: Jenkins Reviewed-by: Justin Luth <> Reviewed-by: Miklos Vajna <>
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/extras/ooxmlexport/data/tdf142404_tabOverMarginC15.docxbin0 -> 9218 bytes
2 files changed, 8 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf142404_tabOverMarginC15.docx b/sw/qa/extras/ooxmlexport/data/tdf142404_tabOverMarginC15.docx
new file mode 100644
index 000000000000..60af474b5c7d
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf142404_tabOverMarginC15.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx
index c0bca8ebfb7b..045102438c90 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx
@@ -218,6 +218,14 @@ DECLARE_OOXMLEXPORT_TEST(testTdf142404_tabSpacing, "tdf142404_tabSpacing.docx")
CPPUNIT_ASSERT_EQUAL_MESSAGE("too big for one page", 2, getPages());
+DECLARE_OOXMLEXPORT_TEST(testTdf142404_tabOverMarginC15, "tdf142404_tabOverMarginC15.docx")
+ // TabOverMargin no longer applies to compatibilityMode 15 DOCX files. In Word 2016 this is 3pg.
+ // One page long if tabOverMargin is true. Two pages long if tabOverflow is true.
+ // Really should be 3 pages long, when tabOverflow is also false, but inadequate implementation.
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("too big for one page", 2, getPages());
DECLARE_OOXMLEXPORT_TEST(testTdf139580, "tdf139580.odt")
// Without the fix in place, this test would have crashed at export time