]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathChar.h
Fix bug #3294
[lyx.git] / src / mathed / InsetMathChar.h
index 6dba328c4e3deac9c4aec64a589ad29c72840447..6e7ff72c9caf5d98f91b47ebf9eee2bc6654c1aa 100644 (file)
@@ -16,6 +16,8 @@
 
 namespace lyx {
 
+class latexkeys;
+
 /// The base character inset.
 class InsetMathChar : public InsetMath {
 public:
@@ -42,21 +44,36 @@ public:
        void octave(OctaveStream & os) const;
        ///
        void mathmlize(MathStream & ms) const;
+       ///
+       void htmlize(HtmlStream & ms) const;
        /// identifies Charinsets
        InsetMathChar const * asCharInset() const { return this; }
        ///
        char_type getChar() const { return char_; }
        ///
-       bool isRelOp() const;
+       MathClass mathClass() const;
        ///
        InsetCode lyxCode() const { return MATH_CHAR_CODE; }
 
 private:
        virtual Inset * clone() const;
        /// the character
-       char_type char_;
+       char_type const char_;
        /// cached kerning for superscript
        mutable int kerning_;
+       /// Inset to substitute char for, for on-screen display in math mode, as
+       /// performed by LaTeX (#9893):
+       /// * -> \ast (U+2217)
+       /// - -> \lyxminus (U+2212)
+       /// : -> \ordinarycolon (U+2236)
+       ///
+       /// For cosmetic reasons, +, >, <, and = are also substituted to force the
+       /// use of CM fonts for uniformity. If CM fonts are replaced with unicode
+       /// math fonts, this should be removed, and substitutions of "'", ",", and
+       /// ";" added.
+       ///
+       /// Null if there is no substitute.
+       latexkeys const * const subst_;
 };
 
 } // namespace lyx