You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2021/04/22 22:09:14 UTC
svn commit: r1889111 - in /poi: site/src/documentation/content/xdocs/
trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/model/
trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/
trunk/poi/src/main/java/org/apache/poi/sl/image/ trunk/test-data/slideshow/
Author: kiwiwings
Date: Thu Apr 22 22:09:14 2021
New Revision: 1889111
URL: http://svn.apache.org/viewvc?rev=1889111&view=rev
Log:
#65228 - the method getCap() does not work correctly in xslf.usermodel.XSLFTextRun
Added:
poi/trunk/test-data/slideshow/bug65228.pptx (with props)
Modified:
poi/site/src/documentation/content/xdocs/changes.xml
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java
poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderEMF.java
Modified: poi/site/src/documentation/content/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/poi/site/src/documentation/content/xdocs/changes.xml?rev=1889111&r1=1889110&r2=1889111&view=diff
==============================================================================
--- poi/site/src/documentation/content/xdocs/changes.xml (original)
+++ poi/site/src/documentation/content/xdocs/changes.xml Thu Apr 22 22:09:14 2021
@@ -93,6 +93,7 @@
<action type="add" fixes-bug="github-228" context="XDDF">Manipulate individual data point properties</action>
<action type="add" fixes-bug="65192" context="HSSF">Allow change of EncryptionMode</action>
<action type="add" fixes-bug="65206" context="POI_Overall">Migrate ant / maven to gradle build</action>
+ <action type="fix" fixes-bug="65228" context="XSLF">the method getCap() does not work correctly in xslf.usermodel.XSLFTextRun</action>
</actions>
</release>
Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java?rev=1889111&r1=1889110&r2=1889111&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/model/CharacterPropertyFetcher.java Thu Apr 22 22:09:14 2021
@@ -65,6 +65,7 @@ public final class CharacterPropertyFetc
if (!(sheet instanceof XSLFSlideMaster)) {
fetchRunProp();
+ fetchParagraphDefaultRunProp();
fetchShapeProp(shape);
fetchThemeProp(shape);
}
@@ -78,6 +79,15 @@ public final class CharacterPropertyFetc
fetchProp(run.getRPr(false));
}
+ private void fetchParagraphDefaultRunProp() {
+ if (!isSet()) {
+ CTTextParagraphProperties pr = run.getParagraph().getXmlObject().getPPr();
+ if (pr != null) {
+ fetchProp(pr.getDefRPr());
+ }
+ }
+ }
+
private void fetchShapeProp(XSLFShape shape) {
if (!isSet()) {
shape.fetchShapeProperty(this);
Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java?rev=1889111&r1=1889110&r2=1889111&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xslf/TestXSLFBugs.java Thu Apr 22 22:09:14 2021
@@ -77,25 +77,7 @@ import org.apache.poi.sl.usermodel.TextS
import org.apache.poi.sl.usermodel.VerticalAlignment;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.NullPrintStream;
-import org.apache.poi.xslf.usermodel.XMLSlideShow;
-import org.apache.poi.xslf.usermodel.XSLFAutoShape;
-import org.apache.poi.xslf.usermodel.XSLFGroupShape;
-import org.apache.poi.xslf.usermodel.XSLFHyperlink;
-import org.apache.poi.xslf.usermodel.XSLFNotes;
-import org.apache.poi.xslf.usermodel.XSLFObjectShape;
-import org.apache.poi.xslf.usermodel.XSLFPictureData;
-import org.apache.poi.xslf.usermodel.XSLFPictureShape;
-import org.apache.poi.xslf.usermodel.XSLFRelation;
-import org.apache.poi.xslf.usermodel.XSLFShape;
-import org.apache.poi.xslf.usermodel.XSLFSlide;
-import org.apache.poi.xslf.usermodel.XSLFSlideLayout;
-import org.apache.poi.xslf.usermodel.XSLFSlideMaster;
-import org.apache.poi.xslf.usermodel.XSLFTable;
-import org.apache.poi.xslf.usermodel.XSLFTableCell;
-import org.apache.poi.xslf.usermodel.XSLFTableRow;
-import org.apache.poi.xslf.usermodel.XSLFTextBox;
-import org.apache.poi.xslf.usermodel.XSLFTextParagraph;
-import org.apache.poi.xslf.usermodel.XSLFTextRun;
+import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.xslf.util.DummyGraphics2d;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
@@ -1080,4 +1062,18 @@ class TestXSLFBugs {
}
}
+ @Test
+ public void bug65228() throws IOException {
+ try (XMLSlideShow ppt = openSampleDocument("bug65228.pptx")) {
+ TextRun.TextCap act = ppt.getSlides().stream()
+ .flatMap(s -> s.getShapes().stream())
+ .filter(s -> "März 2021\u2026".equals(s.getShapeName()))
+ .map(XSLFTextShape.class::cast)
+ .flatMap(s -> s.getTextParagraphs().stream())
+ .flatMap(s -> s.getTextRuns().stream())
+ .map(XSLFTextRun::getTextCap)
+ .findFirst().orElse(null);
+ assertEquals(TextRun.TextCap.ALL, act);
+ }
+ }
}
Modified: poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderEMF.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderEMF.java?rev=1889111&r1=1889110&r2=1889111&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderEMF.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/sl/image/ImageHeaderEMF.java Thu Apr 22 22:09:14 2021
@@ -50,7 +50,7 @@ public class ImageHeaderEMF {
int top = LittleEndian.getInt(data, offset); offset += 4;
int right = LittleEndian.getInt(data, offset); offset += 4;
int bottom = LittleEndian.getInt(data, offset); offset += 4;
- deviceBounds = new Rectangle(left, top, right-left, bottom-top);
+ deviceBounds = new Rectangle(left, top, right-left == -1 ? 0 : right-left, bottom-top == -1 ? 0 : bottom-top);
// ignore frame bounds
offset += 16;
String signature = new String(data, offset, EMF_SIGNATURE.length(), LocaleUtil.CHARSET_1252);
Added: poi/trunk/test-data/slideshow/bug65228.pptx
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/slideshow/bug65228.pptx?rev=1889111&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/slideshow/bug65228.pptx
------------------------------------------------------------------------------
--- svn:mime-type (added)
+++ svn:mime-type Thu Apr 22 22:09:14 2021
@@ -0,0 +1 @@
+application/vnd.openxmlformats-officedocument.presentationml.presentation
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org