[Libreoffice-commits] core.git: starmath/qa starmath/source
Takeshi Abe
tabe at fixedpoint.jp
Sat Nov 19 07:51:21 UTC 2016
starmath/qa/extras/data/tdf103500.mml | 41 ++++++++++++++++++++++++++++++++++
starmath/qa/extras/mmlimport-test.cxx | 9 +++++++
starmath/source/node.cxx | 6 ++++
3 files changed, 55 insertions(+), 1 deletion(-)
New commits:
commit f533b3f39956fe8028c1f7f7cc3c37b0feed8b57
Author: Takeshi Abe <tabe at fixedpoint.jp>
Date: Fri Nov 18 17:10:44 2016 +0900
tdf#103500 Import stretchy integral symbol from MathML
as "intd".
Change-Id: Ic8a4feef7a3a19c8ed5bca2f09f80901e2b6d343
Reviewed-on: https://gerrit.libreoffice.org/30953
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Takeshi Abe <tabe at fixedpoint.jp>
diff --git a/starmath/qa/extras/data/tdf103500.mml b/starmath/qa/extras/data/tdf103500.mml
new file mode 100644
index 0000000..7c49669
--- /dev/null
+++ b/starmath/qa/extras/data/tdf103500.mml
@@ -0,0 +1,41 @@
+<math xmlns="http://www.w3.org/1998/Math/MathML">
+ <mrow>
+ <mrow>
+ <munderover>
+ <mo stretchy="false">∫</mo>
+ <mi>a</mi>
+ <mi>b</mi>
+ </munderover>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mi>x</mi>
+ </mfrac>
+ <mspace width="0.5em"/>
+ <mstyle mathvariant="normal">
+ <mi mathvariant="normal">d</mi>
+ </mstyle>
+ <mi>x</mi>
+ </mrow>
+ </mrow>
+ <mo stretchy="false">=</mo>
+ <mrow>
+ <munderover>
+ <mo stretchy="true">∫</mo>
+ <mi>a</mi>
+ <mi>b</mi>
+ </munderover>
+ <mrow>
+ <mfrac>
+ <mn>1</mn>
+ <mi>y</mi>
+ </mfrac>
+ <mspace width="0.5em"/>
+ <mstyle mathvariant="normal">
+ <mi mathvariant="normal">d</mi>
+ </mstyle>
+ <mi>y</mi>
+ </mrow>
+ </mrow>
+ </mrow>
+</math>
diff --git a/starmath/qa/extras/mmlimport-test.cxx b/starmath/qa/extras/mmlimport-test.cxx
index 9bbc08a..3db697f 100644
--- a/starmath/qa/extras/mmlimport-test.cxx
+++ b/starmath/qa/extras/mmlimport-test.cxx
@@ -34,6 +34,7 @@ public:
void testMaction();
void testMspace();
void testtdf99556();
+ void testTdf103500();
CPPUNIT_TEST_SUITE(Test);
CPPUNIT_TEST(testSimple);
@@ -41,6 +42,7 @@ public:
CPPUNIT_TEST(testMaction);
CPPUNIT_TEST(testMspace);
CPPUNIT_TEST(testtdf99556);
+ CPPUNIT_TEST(testTdf103500);
CPPUNIT_TEST_SUITE_END();
private:
@@ -120,6 +122,13 @@ void Test::testtdf99556()
CPPUNIT_ASSERT_EQUAL_MESSAGE("loaded text", sExpected, mxDocShell->GetText());
}
+void Test::testTdf103500()
+{
+ loadURL(m_directories.getURLFromSrc("starmath/qa/extras/data/tdf103500.mml"));
+ CPPUNIT_ASSERT_EQUAL(OUString("{{ int csub a csup b {1 over x ` d x}} = {intd csub a csup b {1 over y ` d y}}}"),
+ mxDocShell->GetText());
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
diff --git a/starmath/source/node.cxx b/starmath/source/node.cxx
index 3db53a9..fe84e55 100644
--- a/starmath/source/node.cxx
+++ b/starmath/source/node.cxx
@@ -2447,7 +2447,11 @@ void SmMathSymbolNode::Arrange(OutputDevice &rDev, const SmFormat &rFormat)
void SmMathSymbolNode::CreateTextFromNode(OUString &rText)
{
OUString sStr;
- MathType::LookupChar(GetToken().cMathChar, sStr, 3);
+ sal_Unicode cChar = GetToken().cMathChar;
+ if (cChar == MS_INT && GetScaleMode() == SCALE_HEIGHT)
+ sStr = "intd ";
+ else
+ MathType::LookupChar(cChar, sStr, 3);
rText += sStr;
}
More information about the Libreoffice-commits
mailing list