Kaydet (Commit) 12ea892d authored tarafından Mike Kaganski's avatar Mike Kaganski

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: 's avatarMike Kaganski <mike.kaganski@collabora.com>
üst 8aa125c0
......@@ -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 ";
......
......@@ -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();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment