From 7e2c35324c54646f53f0fa14b7bce07e1da73c0b Mon Sep 17 00:00:00 2001 From: dante Date: Tue, 3 Nov 2020 18:51:19 +0100 Subject: Evaluate command: tdf#109338 Adds evaluate command. It's visible from UI as a bracket. Example: evaluate { {1} over {%sigma sqrt{2%pi} }func e^-{{(x-%mu)^2} over {2%sigma^2}} } from { -infinity } to { +infinity } = 0 In order to make the mathml part, several changes had to be mad: - Allow mathml to correctly identify the math token for opperators - Allow mathml to correctly identify the math token for fences - Since improvements where made on token recognision, visitors to string can now be lighter ( removing long long switch ) - Improving the import / export to mathm - LO says it mathml 2, but actually is something between 2 and 3 - Allowing mfenced ( mathml 2.0 ) to stayl 3 adding the missing data ( prefix and postfix ) - Be able to know if we are opening or closing brackets - lrline and lrdline commands hidden on UI. - They are they own open close - If prefix and postfix are missing meaning of the expression may change, however that's the user problem. - The problem resides in the fact that MS_VERTLINE is uses for lline and rline. - The problem resides in the fact that MS_DVERTLINE is uses for ldline and rdline. - Changing frac priority from 0 to 5, if not { frac 1 2 frac 1 2 } fails ( found while testing ) - The mathml testing was made with highter standars than qa tests, however there are no guarantees. - Added xml tokens needed for math - Added starmathdatabase. Will grow in the future. The point is avoiding long lists and swtches inside code. Added it command for hidden or implicit product ( like ⁢ in mathml ). Oppens path for tdf#66200. Note that about this issue there is only one line on the parser. The mathml implementation will be made later when LO will allow chars with &charname;. Change-Id: If24b40c2420d39498693944f13a02985f997dd23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105267 Tested-by: Jenkins Reviewed-by: Noel Grandin --- xmloff/source/core/xmltoken.cxx | 2 ++ xmloff/source/token/tokens.txt | 2 ++ 2 files changed, 4 insertions(+) (limited to 'xmloff') diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index 23186f625a75..f8cd9c9315c7 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -1483,6 +1483,8 @@ namespace xmloff::token { TOKEN( "power", XML_POWER ), TOKEN( "precision-as-shown", XML_PRECISION_AS_SHOWN ), TOKEN( "prefix", XML_PREFIX ), + TOKEN( "infix", XML_INFIX ), + TOKEN( "postfix", XML_POSTFIX ), TOKEN( "presentation", XML_PRESENTATION ), TOKEN( "orgchart", XML_PRESENTATION_ORGCHART ), TOKEN( "outline", XML_PRESENTATION_OUTLINE ), diff --git a/xmloff/source/token/tokens.txt b/xmloff/source/token/tokens.txt index a0019db4bf85..c3dcca040340 100644 --- a/xmloff/source/token/tokens.txt +++ b/xmloff/source/token/tokens.txt @@ -1393,6 +1393,8 @@ oblique power precision-as-shown prefix +infix +postfix presentation orgchart outline -- cgit