commit be44cb851650e680200cb667c3d51987f7078d37
Author: Thibaut Cuvelier <tcuvel...@lyx.org>
Date:   Sun Oct 8 02:12:35 2023 +0200

    MathML: don't output delimiters in InsetMathBinom and InsetMathDelim if the 
delimiter is a space.
---
 src/mathed/InsetMathDelim.cpp |   22 +++++++++++++---------
 src/mathed/InsetMathFrac.cpp  |   21 +++++++++++++--------
 2 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/src/mathed/InsetMathDelim.cpp b/src/mathed/InsetMathDelim.cpp
index 486ed97..18f3ffb 100644
--- a/src/mathed/InsetMathDelim.cpp
+++ b/src/mathed/InsetMathDelim.cpp
@@ -181,15 +181,19 @@ void InsetMathDelim::mathematica(MathematicaStream & os) 
const
 
 void InsetMathDelim::mathmlize(MathMLStream & ms) const
 {
-       ms << MTag("mrow")
-          << MTagInline("mo", "form='prefix' fence='true' stretchy='true' 
symmetric='true'")
-          << convertDelimToXMLEscape(left_)
-          << ETagInline("mo")
-          << cell(0)
-          << MTagInline("mo", "form='postfix' fence='true' stretchy='true' 
symmetric='true'")
-          << convertDelimToXMLEscape(right_)
-          << ETagInline("mo")
-          << ETag("mrow");
+       if (left_.empty() || (left_.size() == 1 && left_[0] == ' ')) {
+               ms << MTag("mrow")
+                  << MTagInline("mo", "form='prefix' fence='true' 
stretchy='true' symmetric='true'")
+                  << convertDelimToXMLEscape(left_)
+                  << ETagInline("mo");
+       }
+       ms << cell(0);
+       if (right_.empty() || (right_.size() == 1 && right_[0] == ' ')) {
+               ms << MTagInline("mo", "form='postfix' fence='true' 
stretchy='true' symmetric='true'")
+                  << convertDelimToXMLEscape(right_)
+                  << ETagInline("mo")
+                  << ETag("mrow");
+       }
 }
 
 
diff --git a/src/mathed/InsetMathFrac.cpp b/src/mathed/InsetMathFrac.cpp
index f6f2f95..5bed1a1 100644
--- a/src/mathed/InsetMathFrac.cpp
+++ b/src/mathed/InsetMathFrac.cpp
@@ -768,15 +768,20 @@ void InsetMathBinom::mathmlize(MathMLStream & ms) const
                rdelim = ']';
                break;
        }
-       ms << MTagInline("mo", "fence='true' stretchy='true' form='prefix'")
-          << ldelim
-          << ETagInline("mo")
-          << MTagInline("mfrac", "linethickness='0'")
+
+       if (ldelim != ' ') {
+               ms << MTagInline("mo", "fence='true' stretchy='true' 
form='prefix'")
+                  << ldelim
+                  << ETagInline("mo");
+       }
+       ms << MTagInline("mfrac", "linethickness='0'")
           << cell(0) << cell(1)
-       << ETagInline("mfrac")
-          << MTagInline("mo", "fence='true' stretchy='true' form='postfix'")
-          << rdelim
-          << ETagInline("mo");
+       << ETagInline("mfrac");
+       if (rdelim != ' ') {
+               ms << MTagInline("mo", "fence='true' stretchy='true' 
form='postfix'")
+                  << rdelim
+                  << ETagInline("mo");
+       }
 }
 
 
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to