aboutsummaryrefslogtreecommitdiffstats
path: root/poi-scratchpad
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2022-08-28 14:16:01 +0000
committerPJ Fanning <fanningpj@apache.org>2022-08-28 14:16:01 +0000
commit913d1eecf52382f706d5903b2fbd0ae9c8770494 (patch)
tree5315db4ecafbb785de58796ab75ed33433377de8 /poi-scratchpad
parent25f00ba7c2db9bd897cffa67d12b1cfa31583516 (diff)
downloadpoi-913d1eecf52382f706d5903b2fbd0ae9c8770494.tar.gz
poi-913d1eecf52382f706d5903b2fbd0ae9c8770494.zip
[bug-63576] support capitalized text in WordExtractor (HWPF)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1903738 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poi-scratchpad')
-rw-r--r--poi-scratchpad/src/main/java/org/apache/poi/hwpf/converter/AbstractWordConverter.java5
-rw-r--r--poi-scratchpad/src/test/java/org/apache/poi/hwpf/extractor/TestWordExtractor.java8
2 files changed, 13 insertions, 0 deletions
diff --git a/poi-scratchpad/src/main/java/org/apache/poi/hwpf/converter/AbstractWordConverter.java b/poi-scratchpad/src/main/java/org/apache/poi/hwpf/converter/AbstractWordConverter.java
index 01c4bed4fe..d6f410d286 100644
--- a/poi-scratchpad/src/main/java/org/apache/poi/hwpf/converter/AbstractWordConverter.java
+++ b/poi-scratchpad/src/main/java/org/apache/poi/hwpf/converter/AbstractWordConverter.java
@@ -52,6 +52,7 @@ import org.apache.poi.hwpf.usermodel.TableRow;
import org.apache.poi.poifs.filesystem.Entry;
import org.apache.poi.util.Beta;
import org.apache.poi.util.Internal;
+import org.apache.poi.util.LocaleUtil;
import org.apache.poi.util.StringUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -445,6 +446,10 @@ public abstract class AbstractWordConverter {
continue;
}
+ if (characterRun.isCapitalized() || characterRun.isSmallCaps()) {
+ text = text.toUpperCase(LocaleUtil.getUserLocale());
+ }
+
if (characterRun.isSpecialCharacter()) {
if (text.charAt(0) == SPECCHAR_AUTONUMBERED_FOOTNOTE_REFERENCE
&& (wordDocument instanceof HWPFDocument)) {
diff --git a/poi-scratchpad/src/test/java/org/apache/poi/hwpf/extractor/TestWordExtractor.java b/poi-scratchpad/src/test/java/org/apache/poi/hwpf/extractor/TestWordExtractor.java
index 2e67e0ff03..4ef67c44c8 100644
--- a/poi-scratchpad/src/test/java/org/apache/poi/hwpf/extractor/TestWordExtractor.java
+++ b/poi-scratchpad/src/test/java/org/apache/poi/hwpf/extractor/TestWordExtractor.java
@@ -402,6 +402,14 @@ public final class TestWordExtractor {
}
}
+ @Test
+ void testCapitalized() throws Exception {
+ try (WordExtractor wExt = openExtractor("capitalized.doc")) {
+ String text = wExt.getText().trim();
+ assertEquals("The following word is: CAPITALIZED.", text);
+ }
+ }
+
private WordExtractor openExtractor(String fileName) throws IOException {
try (InputStream is = docTests.openResourceAsStream(fileName)) {
return new WordExtractor(is);