[Libreoffice-commits] core.git: starmath/source sw/qa

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sat Aug 11 18:49:23 UTC 2018


 starmath/source/mathtype.cxx                 |   50 ++++++++-------------------
 sw/qa/extras/ooxmlimport/data/tdf119200.docx |binary
 sw/qa/extras/ooxmlimport/ooxmlimport2.cxx    |   13 +++++++
 3 files changed, 29 insertions(+), 34 deletions(-)

New commits:
commit 12ea892df9ca1691c406b4c98f996456e3b69307
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Fri Aug 10 16:59:31 2018 +0300
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Sat Aug 11 20:49:02 2018 +0200

    tdf#119197: import some symbols as symbols, not as Math functions
    
    ... to avoid broken formulas due to missing arguments
    
    Change-Id: If86737450a16a257528cfb9d5f52915ec930f6a8
    Reviewed-on: https://gerrit.libreoffice.org/58835
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/starmath/source/mathtype.cxx b/starmath/source/mathtype.cxx
index 14f6ce75e016..9bd8c4e69ed7 100644
--- a/starmath/source/mathtype.cxx
+++ b/starmath/source/mathtype.cxx
@@ -311,14 +311,12 @@ bool MathType::LookupChar(sal_Unicode nChar,OUStringBuffer &rRet,sal_uInt8 nVers
         case 0x2207:
             pC = " nabla ";
             break;
-        case 0x2208:
-            pC = " in ";
+        case 0x2208: // in
+        case 0x2209: // notin
+            rRet.append(" func ").append(OUStringLiteral1(nChar)).append(" ");
             break;
-        case 0x2209:
-            pC = " notin ";
-            break;
-        case 0x220d:
-            pC = " owns ";
+        case 0x220d: // owns
+            rRet.append(" func ").append(OUStringLiteral1(0x220b)).append(" ");
             break;
         case 0x220f:
             pC = " prod ";
@@ -421,33 +419,17 @@ bool MathType::LookupChar(sal_Unicode nChar,OUStringBuffer &rRet,sal_uInt8 nVers
             pC = " nsucc ";
             break;
 
-        case 0x2282:
-            pC = " subset ";
-            break;
-        case 0x2283:
-            pC = " supset ";
-            break;
-        case 0x2284:
-            pC = " nsubset ";
-            break;
-        case 0x2285:
-            pC = " nsupset ";
-            break;
-        case 0x2286:
-            pC = " subseteq ";
-            break;
-        case 0x2287:
-            pC = " supseteq ";
-            break;
-        case 0x2288:
-            pC = " nsubseteq ";
-            break;
-        case 0x2289:
-            pC = " nsupseteq ";
-            break;
-        case 0x22b2:
-        case 0x22b3:
-            rRet.append(" ").append(OUStringLiteral1(nChar)).append(" ");
+        case 0x2282: // subset
+        case 0x2283: // supset
+        case 0x2284: // nsubset
+        case 0x2285: // nsupset
+        case 0x2286: // subseteq
+        case 0x2287: // supseteq
+        case 0x2288: // nsubseteq
+        case 0x2289: // nsupseteq
+        case 0x22b2: // NORMAL SUBGROUP OF
+        case 0x22b3: // CONTAINS AS NORMAL SUBGROUP
+            rRet.append(" func ").append(OUStringLiteral1(nChar)).append(" ");
             break;
         case 0x22a5:
             pC = " ortho ";
diff --git a/sw/qa/extras/ooxmlimport/data/tdf119200.docx b/sw/qa/extras/ooxmlimport/data/tdf119200.docx
new file mode 100644
index 000000000000..eafe186fd27e
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf119200.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
index 7b34c98c3dd3..7f548f47e65d 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
@@ -210,6 +210,19 @@ DECLARE_OOXMLIMPORT_TEST(testTdf116486, "tdf116486.docx")
     CPPUNIT_ASSERT_EQUAL(OUString("4006"), aTop);
 }
 
+DECLARE_OOXMLIMPORT_TEST(testTdf119200, "tdf119200.docx")
+{
+    auto xPara = getParagraph(1);
+    // Check that we import MathType functional symbols as symbols, not functions with missing args
+    CPPUNIT_ASSERT_EQUAL(OUString(u" size 12{ func \u2208 } {}"), getFormula(getRun(xPara, 1)));
+    CPPUNIT_ASSERT_EQUAL(OUString(u" size 12{ func \u2209 } {}"), getFormula(getRun(xPara, 2)));
+    CPPUNIT_ASSERT_EQUAL(OUString(u" size 12{ func \u2282 } {}"), getFormula(getRun(xPara, 3)));
+    CPPUNIT_ASSERT_EQUAL(OUString(u" size 12{ func \u2283 } {}"), getFormula(getRun(xPara, 4)));
+    CPPUNIT_ASSERT_EQUAL(OUString(u" size 12{ func \u2284 } {}"), getFormula(getRun(xPara, 5)));
+    CPPUNIT_ASSERT_EQUAL(OUString(u" size 12{ func \u2286 } {}"), getFormula(getRun(xPara, 6)));
+    CPPUNIT_ASSERT_EQUAL(OUString(u" size 12{ func \u2287 } {}"), getFormula(getRun(xPara, 7)));
+}
+
 // tests should only be added to ooxmlIMPORT *if* they fail round-tripping in ooxmlEXPORT
 
 CPPUNIT_PLUGIN_IMPLEMENT();


More information about the Libreoffice-commits mailing list