diff options
author | PJ Fanning <fanningpj@apache.org> | 2017-11-20 23:35:36 +0000 |
---|---|---|
committer | PJ Fanning <fanningpj@apache.org> | 2017-11-20 23:35:36 +0000 |
commit | 2d8c9cbc9af1e257d004108a0635d64ac8c939cc (patch) | |
tree | 61cb5567c7fc2d3b121ea10dbebfa03f97fb5966 /src/ooxml | |
parent | 18f87a1c188477505e333e798cc03da209bc737c (diff) | |
download | poi-2d8c9cbc9af1e257d004108a0635d64ac8c939cc.tar.gz poi-2d8c9cbc9af1e257d004108a0635d64ac8c939cc.zip |
[bug-61792] some changes to avoid iterating over chars of Strings
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1815871 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml')
-rw-r--r-- | src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java | 33 |
1 files changed, 12 insertions, 21 deletions
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 ea53360084..6e62e4ae4d 100644 --- a/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java +++ b/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextRun.java @@ -30,6 +30,7 @@ import org.apache.poi.sl.usermodel.PaintStyle; import org.apache.poi.sl.usermodel.PaintStyle.SolidPaint; import org.apache.poi.sl.usermodel.TextRun; import org.apache.poi.util.Beta; +import org.apache.poi.util.LocaleUtil; import org.apache.poi.xslf.model.CharacterPropertyFetcher; import org.apache.poi.xslf.usermodel.XSLFPropertiesDelegate.XSLFFillProperties; import org.apache.xmlbeans.XmlObject; @@ -95,28 +96,18 @@ public class XSLFTextRun implements TextRun { String txt = ((CTRegularTextRun)_r).getT(); - TextCap cap = getTextCap(); - StringBuilder buf = new StringBuilder(); - for(int i = 0; i < txt.length(); i++) { - char c = txt.charAt(i); - if(c == '\t') { - // TODO: finish support for tabs - buf.append(" "); - } else { - switch (cap){ - case ALL: - buf.append(Character.toUpperCase(c)); - break; - case SMALL: - buf.append(Character.toLowerCase(c)); - break; - default: - buf.append(c); - } - } - } + // TODO: finish support for tabs + txt.replace("\t", " "); - return buf.toString(); + switch (getTextCap()) { + case ALL: + txt = txt.toUpperCase(LocaleUtil.getUserLocale()); + break; + case SMALL: + txt = txt.toLowerCase(LocaleUtil.getUserLocale()); + break; + } + return txt; } @Override |