You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2017/07/03 16:09:18 UTC

[tika] branch master updated: TIKA-2410 -- turn off bold/italic on \plain

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/master by this push:
     new 91d0af2  TIKA-2410 -- turn off bold/italic on \plain
91d0af2 is described below

commit 91d0af282a5349bc5c7dd122f85401796c7b0e6e
Author: tballison <ta...@mitre.org>
AuthorDate: Mon Jul 3 12:09:09 2017 -0400

    TIKA-2410 -- turn off bold/italic on \plain
---
 .../java/org/apache/tika/parser/rtf/TextExtractor.java  | 13 +++++++++++++
 .../java/org/apache/tika/parser/rtf/RTFParserTest.java  |  8 ++++++++
 .../test/resources/test-documents/testRTFBoldPlain.rtf  | 17 +++++++++++++++++
 3 files changed, 38 insertions(+)

diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java b/tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java
index b07a3a0..a0dac99 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/rtf/TextExtractor.java
@@ -1139,6 +1139,19 @@ final class TextExtractor {
             if (inList()) { // && (groupStates.size() == 1 || groupStates.peekLast().list < 0))
                 pendingListEnd();
             }
+        } else if (equals("plain")) {
+            if (groupState.italic || groupState.bold) {
+                // Reset styles
+                pushText();
+                if (groupState.italic) {
+                    end("i");
+                    groupState.italic = false;
+                }
+                if (groupState.bold) {
+                    end("b");
+                    groupState.bold = false;
+                }
+            }
         } else if (equals("par")) {
             if (!ignored) {
                 endParagraph(true);
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java
index 481326d..f856e04 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/rtf/RTFParserTest.java
@@ -539,6 +539,14 @@ public class RTFParserTest extends TikaTest {
         assertContains("TikaMemoryLimitException", metadataList.get(0).get(TikaCoreProperties.TIKA_META_EXCEPTION_EMBEDDED_STREAM));
     }
 
+    @Test
+    public void testBoldPlain() throws Exception {
+        //TIKA-2410 -- bold should be turned off by "plain"
+        XMLResult r = getXML("testRTFBoldPlain.rtf");
+        assertContains("<b>Hank</b>", r.xml);
+        assertNotContained("<b>Anna Smith", r.xml);
+    }
+
     private Result getResult(String filename) throws Exception {
         File file = getResourceAsFile("/test-documents/" + filename);
 
diff --git a/tika-parsers/src/test/resources/test-documents/testRTFBoldPlain.rtf b/tika-parsers/src/test/resources/test-documents/testRTFBoldPlain.rtf
new file mode 100644
index 0000000..a2c2677
--- /dev/null
+++ b/tika-parsers/src/test/resources/test-documents/testRTFBoldPlain.rtf
@@ -0,0 +1,17 @@
+{\rtf1\sste17000\ansi\deflang1033\ftnbj\uc1\deff0
+{\fonttbl{\f0 \fswiss Arial;}{\f1 \fswiss \fcharset0 Arial;}}
+{\colortbl ;\red0\green0\blue0 ;\red255\green255\blue255 ;\red64\green0\blue64 ;\red15\green15\blue15 ;\red223\green223\blue223 ;\red191\green191\blue191 ;\red207\green207\blue207 ;}
+{\stylesheet{\f0\fs20\cf1\cb2\chcbpat2 Normal;}{\cs1\cf1\cb2\chcbpat2 Default Paragraph Font;}}
+{\*\revtbl{Unknown;}}
+\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\headery720\footery720\nogrowautofit\deftab720\formshade\fet4\aendnotes\aftnnrlc\pgbrdrhead\pgbrdrfoot
+\sectd\pgwsxn12240\pghsxn15840\marglsxn1440\margrsxn1440\margtsxn1440\margbsxn1440\headery720\footery720\sbkpage\pgncont\pgndec
+\plain\plain\f0\fs20
+{\header\qc\plain\f0\fs20\plain\f0\fs20\lang1033\hich\f0\dbch\f0\loch\f0\fs20\b Animal Hospital\plain\f0\fs20\par
+(555) 555-1212\par
+\par
+\ql\plain\f0\fs20\plain\f0\fs20 Anna Smith {\field\fldlock{\*\fldinst MERGEFIELD D}{\fldrslt}}    \tab\tab\tab\tab\b Hank\plain\f0\fs20   (44598-55) \tab 10 Yrs. 8 Mos. \ql\par
+(555) 555-1212\tab\tab\tab      \tab\tab 7 pounds  Neutered Male    \par
+\tab\tab\tab\tab\tab\tab Canine / Retriever/Golden  \par
+\par
+\plain\f0\fs20}
+}

-- 
To stop receiving notification emails like this one, please contact
['"commits@tika.apache.org" <co...@tika.apache.org>'].