diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-06-24 09:08:56 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2015-07-07 20:32:01 +0000 |
commit | 8b7ec09054f3186ec9d6cb49a1314143cb89da78 (patch) | |
tree | aa089dff7d3a5b971483b2a54dfacaaa636198e5 | |
parent | 220e2f9eed294fa161190eb957511e796d3a96c2 (diff) |
tdf#89698 DOCX import: inline picture should have no spacing
Commit 3d7e168a2a43c2414b0633379102ddb29437e75b (n#783638 DOCX import of
wp:inline's distT/B/L/R attributes, 2012-10-11) was about a picture that
had non-zero spacing in LO, but zero in Word. The hope was that the
problem is just that the value is not imported.
Then commit a88ac708403c03d0f950f09ec29c0d5a1e5a85b4 (fdo#63685
wp:inline's distT/B/L/R is in EMU's, not twips, 2013-04-19) was about a
picture that had so large spacing that the picture become invisible.
Fixing the unit of the spacing value made the picture visible again.
What was missed is that this value is just stored in the doc model, but
layout in Word doesn't use it at all till the anchoring is as-char.
Given that in LO as-char anchoring supports real spacing, just don't
import these values to have the same layout. That's what the WW8 import
does, too.
(cherry picked from commit 9781a8786da5c32e2250cbe1ae97bd10f84f39bb)
Change-Id: I1244269e06c5d190e8340349ddc12ae7b0572a4d
Reviewed-on: https://gerrit.libreoffice.org/16786
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r-- | sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 4 | ||||
-rw-r--r-- | writerfilter/source/dmapper/GraphicImport.cxx | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 99417ce9a0cb..beab2d1cb449 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -1267,8 +1267,8 @@ DECLARE_OOXMLIMPORT_TEST(testConditionalstylesTbllook, "conditionalstyles-tblloo DECLARE_OOXMLIMPORT_TEST(testFdo63685, "fdo63685.docx") { - // Was 85697, i.e. original 114120 was converted to mm100 from twips, not from EMUs. - CPPUNIT_ASSERT_EQUAL(sal_Int32(318), getProperty<sal_Int32>(getShape(1), "TopMargin")); + // An inline image's wrapping should be always zero, even if the doc model has a non-zero value. + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty<sal_Int32>(getShape(1), "TopMargin")); } DECLARE_OOXMLIMPORT_TEST(testN592908_Frame, "n592908-frame.docx") diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 58517994644a..e2a23720983f 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -858,16 +858,16 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue) } break; case NS_ooxml::LN_CT_Inline_distT: - m_pImpl->nTopMargin = oox::drawingml::convertEmuToHmm(nIntValue); + m_pImpl->nTopMargin = 0; break; case NS_ooxml::LN_CT_Inline_distB: - m_pImpl->nBottomMargin = oox::drawingml::convertEmuToHmm(nIntValue); + m_pImpl->nBottomMargin = 0; break; case NS_ooxml::LN_CT_Inline_distL: - m_pImpl->nLeftMargin = oox::drawingml::convertEmuToHmm(nIntValue); + m_pImpl->nLeftMargin = 0; break; case NS_ooxml::LN_CT_Inline_distR: - m_pImpl->nRightMargin = oox::drawingml::convertEmuToHmm(nIntValue); + m_pImpl->nRightMargin = 0; break; case NS_ooxml::LN_CT_GraphicalObjectData_uri: rValue.getString(); |