diff options
author | PJ Fanning <fanningpj@apache.org> | 2017-11-20 23:58:13 +0000 |
---|---|---|
committer | PJ Fanning <fanningpj@apache.org> | 2017-11-20 23:58:13 +0000 |
commit | bb40ff4fd3061cb227218a762850543a1bf1ebb2 (patch) | |
tree | 6ec93c0614e5aa72be2b686aac3224dc30900290 /src | |
parent | 2d8c9cbc9af1e257d004108a0635d64ac8c939cc (diff) | |
download | poi-bb40ff4fd3061cb227218a762850543a1bf1ebb2.tar.gz poi-bb40ff4fd3061cb227218a762850543a1bf1ebb2.zip |
[bug-61792] basic test
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1815873 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
3 files changed, 26 insertions, 1 deletions
diff --git a/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java b/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java index 1b086430cd..c0c7eb21fd 100644 --- a/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java +++ b/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java @@ -378,6 +378,10 @@ public class DrawTextParagraph implements Drawable { Slide<?,?> slide = (Slide<?,?>)graphics.getRenderingHint(Drawable.CURRENT_SLIDE); return (slide == null) ? "" : Integer.toString(slide.getSlideNumber()); } + return getRenderableText(tr); + } + + String getRenderableText(TextRun tr) { String txt = tr.getRawText(); txt.replace("\t", tab2space(tr)).replace("\u000b", "\n"); diff --git a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java index 6e62e4ae4d..3f686ecec5 100644 --- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java +++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java @@ -94,8 +94,10 @@ public class XSLFTextRun implements TextRun { return "\n"; } + return getRenderableText(((CTRegularTextRun)_r).getT()); + } - String txt = ((CTRegularTextRun)_r).getT(); + String getRenderableText(String txt){ // TODO: finish support for tabs txt.replace("\t", " "); diff --git a/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java b/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java index de6085433f..1640d499e8 100644 --- a/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java +++ b/src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFTextRun.java @@ -77,4 +77,23 @@ public class TestXSLFTextRun { ppt.close(); } + + @Test + public void testUnicodeSurrogates() throws Exception { + final String unicodeSurrogates = "\uD835\uDF4A\uD835\uDF4B\uD835\uDF4C\uD835\uDF4D\uD835\uDF4E" + + "\uD835\uDF4F\uD835\uDF50\uD835\uDF51\uD835\uDF52\uD835\uDF53\uD835\uDF54\uD835" + + "\uDF55\uD835\uDF56\uD835\uDF57\uD835\uDF58\uD835\uDF59\uD835\uDF5A\uD835\uDF5B" + + "\uD835\uDF5C\uD835\uDF5D\uD835\uDF5E\uD835\uDF5F\uD835\uDF60\uD835\uDF61\uD835" + + "\uDF62\uD835\uDF63\uD835\uDF64\uD835\uDF65\uD835\uDF66\uD835\uDF67\uD835\uDF68" + + "\uD835\uDF69\uD835\uDF6A\uD835\uDF6B\uD835\uDF6C\uD835\uDF6D\uD835\uDF6E\uD835" + + "\uDF6F\uD835\uDF70\uD835\uDF71\uD835\uDF72\uD835\uDF73\uD835\uDF74\uD835\uDF75" + + "\uD835\uDF76\uD835\uDF77\uD835\uDF78\uD835\uDF79\uD835\uDF7A"; + + try (XMLSlideShow ppt = new XMLSlideShow()) { + XSLFSlide slide = ppt.createSlide(); + XSLFTextShape sh = slide.createAutoShape(); + XSLFTextRun r = sh.addNewTextParagraph().addNewTextRun(); + assertEquals(unicodeSurrogates, r.getRenderableText(unicodeSurrogates)); + } + } } |