From c1e563f6efd09cd3463f1b92a3022ae288c92087 Mon Sep 17 00:00:00 2001 From: Vinaya Mandke Date: Fri, 4 Apr 2014 15:07:52 +0530 Subject: [PATCH] fdo#76741 [DOCX] Table Alignment and width type There are two issue related to table in the saved(exported) file - the table alignment in saved file is "left" instead of "center" - the table width type in properties is "auto" instead of "dxa" In the issue file alignment was specified in w:tblpXSpec="center" and so were missed at import. Added support to fetch HORI_ORIENT from frame properties if its not set in Table Properties The ::GetTablePageSize returns 0 if the table width is FIXED. Modified it to return the tableWidth in such case. Conflicts: writerfilter/source/dmapper/DomainMapperTableHandler.cxx Reviewed on: https://gerrit.libreoffice.org/8846 Change-Id: I02a3af5e9d8ef3746c4d6bec0a07a24e01cc12a4 --- sw/qa/extras/ooxmlexport/data/fdo76741.docx | Bin 0 -> 18895 bytes sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 25 +++++++++++++++++- sw/source/filter/ww8/wrtww8.cxx | 5 ++++ .../dmapper/DomainMapperTableHandler.cxx | 18 ++++++++++++- 4 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 sw/qa/extras/ooxmlexport/data/fdo76741.docx diff --git a/sw/qa/extras/ooxmlexport/data/fdo76741.docx b/sw/qa/extras/ooxmlexport/data/fdo76741.docx new file mode 100644 index 0000000000000000000000000000000000000000..abe9985a14dfd3c06bab9ad2dc817acee4ed2c49 GIT binary patch literal 18895 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%0D+e(o8Y>Y__l}0WX14?z!EY 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 JBz}GR{{Z9%_euZ& literal 0 HcmV?d00001 diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index d13bb70314fb..413e4fc422ef 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -2360,11 +2360,34 @@ DECLARE_OOXMLEXPORT_TEST(testSegFaultWhileSave, "test_segfault_while_save.docx") DECLARE_OOXMLEXPORT_TEST(fdo69656, "Table_cell_auto_width_fdo69656.docx") { + // Changed the UT to check "dxa" instead of "auto" + // For this particular issue file few cells have width type "auto" + // LO supports VARIABLE and FIXED width type. + // If type is VARIABLE LO calculates width as percent of PageSize + // Else if the width is fixed it uses the width value. + // After changes for fdo76741 the fixed width is exported as "dxa" for DOCX + // Check for the width type of table and its cells. xmlDocPtr pXmlDoc = parseExport(); if (!pXmlDoc) return; - assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tblPr/w:tblW","type","auto"); + assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tblPr/w:tblW","type","dxa"); +} + +DECLARE_OOXMLEXPORT_TEST(testFdo76741, "fdo76741.docx") +{ + + // There are two issue related to table in the saved(exported) file + // - the table alignment in saved file is "left" instead of "center" + // - the table width type in properties is "auto" instead of "dxa" + + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + + if (!pXmlDoc) + return; + assertXPath(pXmlDoc, "//w:jc", "val", "center"); + assertXPath(pXmlDoc, "//w:tblW", "w", "10081"); + assertXPath(pXmlDoc, "//w:tblW", "type", "dxa"); } DECLARE_OOXMLEXPORT_TEST(testFdo73541,"fdo73541.docx") diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx index fdb323c25eb1..c05aa512587d 100644 --- a/sw/source/filter/ww8/wrtww8.cxx +++ b/sw/source/filter/ww8/wrtww8.cxx @@ -2382,6 +2382,11 @@ void AttributeOutputBase::GetTablePageSize( ww8::WW8TableNodeInfoInner * pTableT nPageSize /= 100; } } + else + { + // As the table width is not relative, the TablePageSize equals its width + nPageSize = nTblSz; + } rPageSize = nPageSize; rRelBoxSize = bRelBoxSize; diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index 336514b78438..0292c58fa12e 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -307,6 +307,20 @@ bool lcl_extractTableBorderProperty(PropertyMapPtr pTableProperties, const Prope } +bool lcl_extractHoriOrient(uno::Sequence& rFrameProperties, sal_Int32& nHoriOrient) +{ + // Shifts the frame left by the given value. + for (sal_Int32 i = 0; i < rFrameProperties.getLength(); ++i) + { + if (rFrameProperties[i].Name == "HoriOrient") + { + nHoriOrient = rFrameProperties[i].Value.get(); + return true; + } + } + return false; +} + void lcl_DecrementHoriOrientPosition(uno::Sequence& rFrameProperties, sal_Int32 nAmount) { // Shifts the frame left by the given value. @@ -543,7 +557,9 @@ TableStyleSheetEntry * DomainMapperTableHandler::endTableGetTableStyle(TableInfo } sal_Int32 nHoriOrient = text::HoriOrientation::LEFT_AND_WIDTH; - m_aTableProperties->getValue( TablePropertyMap::HORI_ORIENT, nHoriOrient ) ; + // Fetch Horizontal Orientation in rFrameProperties if not set in m_aTableProperties + if ( !m_aTableProperties->getValue( TablePropertyMap::HORI_ORIENT, nHoriOrient ) ) + lcl_extractHoriOrient( rFrameProperties, nHoriOrient ); m_aTableProperties->Insert( PROP_HORI_ORIENT, uno::makeAny( sal_Int16(nHoriOrient) ) ); //fill default value - if not available const PropertyMap::const_iterator aRepeatIter =