]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathXArrow.cpp
typo
[lyx.git] / src / mathed / InsetMathXArrow.cpp
index 37445da1d80b1605e1a9a53fa8fc6373bd330e57..a9ed6b0004393db8a6120147abd0082794271cd7 100644 (file)
@@ -10,8 +10,6 @@
 
 #include <config.h>
 
-#include "support/lassert.h"
-
 #include "InsetMathXArrow.h"
 
 #include "MathData.h"
@@ -21,6 +19,8 @@
 #include "LaTeXFeatures.h"
 #include "MetricsInfo.h"
 
+#include "support/debug.h"
+#include "support/lassert.h"
 
 #include <algorithm>
 
@@ -68,7 +68,7 @@ void InsetMathXArrow::draw(PainterInfo & pi, int x, int y) const
 }
 
 
-void InsetMathXArrow::write(WriteStream & os) const
+void InsetMathXArrow::write(TeXMathStream & os) const
 {
        MathEnsurer ensurer(os);
        os << '\\' << name_;
@@ -84,44 +84,82 @@ void InsetMathXArrow::normalize(NormalStream & os) const
 }
 
 
-void InsetMathXArrow::mathmlize(MathStream & ms) const
+void InsetMathXArrow::mathmlize(MathMLStream & ms) const
 {
        char const * arrow;
 
-       if (name_ == "xleftarrow")
-               arrow = "&larr;";
-       else if (name_ == "xrightarrow")
-               arrow = "&rarr;";
-       else if (name_ == "xhookleftarrow")
-               arrow = "&larrhk;";
-       else if (name_ == "xhookrightarrow")
-               arrow = "&rarrhk;";
-       else if (name_ == "xLeftarrow")
-               arrow = "&lArr;";
-       else if (name_ == "xRightarrow")
-               arrow = "&rArr;";
-       else if (name_ == "xleftrightarrow")
-               arrow = "&leftrightarrow;";
-       else if (name_ == "xLeftrightarrow")
-               arrow = "&Leftrightarrow;";
-       else if (name_ == "xleftharpoondown")
-               arrow = "&leftharpoondown;";
-       else if (name_ == "xleftharpoonup")
-               arrow = "&leftharpoonup;";
-       else if (name_ == "xleftrightharpoons")
-               arrow = "&leftrightharpoons;";
-       else if (name_ == "xrightharpoondown")
-               arrow = "&rightharpoondown;";
-       else if (name_ == "xrightharpoonup")
-               arrow = "&rightharpoonup;";
-       else if (name_ == "xrightleftharpoons")
-               arrow = "&rightleftharpoons;";
-       else if (name_ == "xmapsto")
-               arrow = "&mapsto;";
-       else {
-               lyxerr << "mathmlize conversion for '" << name_ << "' not implemented" << endl;
-               LASSERT(false, arrow = "&rarr;");
+       if (!ms.xmlMode()) { // Use HTML entities.
+               if (name_ == "xleftarrow")
+                       arrow = "&larr;";
+               else if (name_ == "xrightarrow")
+                       arrow = "&rarr;";
+               else if (name_ == "xhookleftarrow")
+                       arrow = "&larrhk;";
+               else if (name_ == "xhookrightarrow")
+                       arrow = "&rarrhk;";
+               else if (name_ == "xLeftarrow")
+                       arrow = "&lArr;";
+               else if (name_ == "xRightarrow")
+                       arrow = "&rArr;";
+               else if (name_ == "xleftrightarrow")
+                       arrow = "&leftrightarrow;";
+               else if (name_ == "xLeftrightarrow")
+                       arrow = "&Leftrightarrow;";
+               else if (name_ == "xleftharpoondown")
+                       arrow = "&leftharpoondown;";
+               else if (name_ == "xleftharpoonup")
+                       arrow = "&leftharpoonup;";
+               else if (name_ == "xleftrightharpoons")
+                       arrow = "&leftrightharpoons;";
+               else if (name_ == "xrightharpoondown")
+                       arrow = "&rightharpoondown;";
+               else if (name_ == "xrightharpoonup")
+                       arrow = "&rightharpoonup;";
+               else if (name_ == "xrightleftharpoons")
+                       arrow = "&rightleftharpoons;";
+               else if (name_ == "xmapsto")
+                       arrow = "&mapsto;";
+               else {
+                       lyxerr << "mathmlize conversion for '" << name_ << "' not implemented" << endl;
+                       LASSERT(false, arrow = "&rarr;");
+               }
+       } else { // Use XML entities.
+               if (name_ == "xleftarrow")
+                       arrow = "&#x2190;";
+               else if (name_ == "xrightarrow")
+                       arrow = "&#x2192;";
+               else if (name_ == "xhookleftarrow")
+                       arrow = "&#x21a9;";
+               else if (name_ == "xhookrightarrow")
+                       arrow = "&#x21aa;";
+               else if (name_ == "xLeftarrow")
+                       arrow = "&#x21d0;";
+               else if (name_ == "xRightarrow")
+                       arrow = "&#x21d2;";
+               else if (name_ == "xleftrightarrow")
+                       arrow = "&#x2194;";
+               else if (name_ == "xLeftrightarrow")
+                       arrow = "&#x21d4;";
+               else if (name_ == "xleftharpoondown")
+                       arrow = "&#x21bd;";
+               else if (name_ == "xleftharpoonup")
+                       arrow = "&#x21bc;";
+               else if (name_ == "xleftrightharpoons")
+                       arrow = "&#x21cb;";
+               else if (name_ == "xrightharpoondown")
+                       arrow = "&#x21c1;";
+               else if (name_ == "xrightharpoonup")
+                       arrow = "&#x21c0;";
+               else if (name_ == "xrightleftharpoons")
+                       arrow = "&#x21cc;";
+               else if (name_ == "xmapsto")
+                       arrow = "&#x21a6;";
+               else {
+                       lyxerr << "mathmlize XML conversion for '" << name_ << "' not implemented" << endl;
+                       LASSERT(false, arrow = "&#x2192;");
+               }
        }
+
        ms << "<" << from_ascii(ms.namespacedTag("munderover")) << " accent='false' accentunder='false'>"
           << arrow << cell(1) << cell(0)
           << "</" << from_ascii(ms.namespacedTag("munderover"))<< ">";