aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2017-11-20 23:35:36 +0000
committerPJ Fanning <fanningpj@apache.org>2017-11-20 23:35:36 +0000
commit2d8c9cbc9af1e257d004108a0635d64ac8c939cc (patch)
tree61cb5567c7fc2d3b121ea10dbebfa03f97fb5966 /src/ooxml
parent18f87a1c188477505e333e798cc03da209bc737c (diff)
downloadpoi-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.java33
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