tdf#146690: pptx export: fix endParaRPr size value for empty paragraphs
Fixes paragraphs made from a single new line, not getting the correct sz(text size) value in EndParagraphRunProperties on pptx export Change-Id: I31ebb5735ad392e081aa2f43b0b60a845e4de9c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128265 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
This commit is contained in:
committed by
Andras Timar
parent
2b80f5a164
commit
c92aa69bc6
BIN
Binary file not shown.
@@ -395,6 +395,27 @@ CPPUNIT_TEST_FIXTURE(Test, testReferToTheme)
|
||||
"75000");
|
||||
assertXPath(pXmlDoc, "//p:sp[3]/p:txBody/a:p/a:r/a:rPr/a:solidFill/a:schemeClr/a:lumOff", 0);
|
||||
}
|
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testTdf146690_endParagraphRunPropertiesNewLinesTextSize)
|
||||
{
|
||||
// Given a PPTX file that contains references to a theme:
|
||||
OUString aURL
|
||||
= m_directories.getURLFromSrc(DATA_DIRECTORY) + "endParaRPr-newline-textsize.pptx";
|
||||
|
||||
// When saving that document:
|
||||
loadAndSave(aURL, "Impress Office Open XML");
|
||||
|
||||
std::unique_ptr<SvStream> pStream = parseExportStream(getTempFile(), "ppt/slides/slide1.xml");
|
||||
xmlDocUniquePtr pXmlDoc = parseXmlStream(pStream.get());
|
||||
// Then make sure the shape text color is a scheme color:
|
||||
// Without the accompanying fix in place, this test would have failed with:
|
||||
// - Expected: 500
|
||||
// - Actual : 1800
|
||||
// i.e. the endParaRPr 'size' wasn't exported correctly
|
||||
assertXPath(pXmlDoc, "//p:sp[1]/p:txBody/a:p[1]/a:endParaRPr", "sz", "500");
|
||||
assertXPath(pXmlDoc, "//p:sp[1]/p:txBody/a:p[2]/a:endParaRPr", "sz", "500");
|
||||
assertXPath(pXmlDoc, "//p:sp[1]/p:txBody/a:p[3]/a:endParaRPr", "sz", "500");
|
||||
}
|
||||
}
|
||||
|
||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||
|
||||
@@ -3142,7 +3142,11 @@ void DrawingML::WriteParagraph( const Reference< XTextContent >& rParagraph,
|
||||
Reference< XPropertySet > xFirstRunPropSet (run, UNO_QUERY);
|
||||
Reference< XPropertySetInfo > xFirstRunPropSetInfo = xFirstRunPropSet->getPropertySetInfo();
|
||||
if( xFirstRunPropSetInfo->hasPropertyByName("CharHeight") )
|
||||
{
|
||||
fFirstCharHeight = xFirstRunPropSet->getPropertyValue("CharHeight").get<float>();
|
||||
rnCharHeight = 100 * fFirstCharHeight;
|
||||
rbOverridingCharHeight = true;
|
||||
}
|
||||
WriteParagraphProperties(rParagraph, fFirstCharHeight, XML_pPr);
|
||||
bPropertiesWritten = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user