X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathChar.h;h=6e7ff72c9caf5d98f91b47ebf9eee2bc6654c1aa;hb=cdc847fd304019a19425a0d5d9d42a556a937097;hp=347e8533f6d3d4202b47512687ec7a0f530ccdc0;hpb=00e305c9d9bd8b0ff54b6c58adb6192d5934ed60;p=lyx.git diff --git a/src/mathed/InsetMathChar.h b/src/mathed/InsetMathChar.h index 347e8533f6..6e7ff72c9c 100644 --- a/src/mathed/InsetMathChar.h +++ b/src/mathed/InsetMathChar.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -14,17 +14,17 @@ #include "InsetMath.h" -#include "LyXFont.h" - namespace lyx { +class latexkeys; + /// The base character inset. class InsetMathChar : public InsetMath { public: /// explicit InsetMathChar(char_type c); /// - bool metrics(MetricsInfo & mi, Dimension & dim) const; + void metrics(MetricsInfo & mi, Dimension & dim) const; /// void draw(PainterInfo & pi, int x, int y) const; /// @@ -32,31 +32,48 @@ public: /// void drawT(TextPainter &, int x, int y) const; /// - int kerning() const { return kerning_; } + int kerning(BufferView const *) const { return kerning_; } /// void write(WriteStream & os) const; /// + void validate(LaTeXFeatures & features) const; + /// void normalize(NormalStream & ns) const; /// 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 std::auto_ptr doClone() const; + 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. /// - mutable LyXFont font_cache_; + /// Null if there is no substitute. + latexkeys const * const subst_; }; } // namespace lyx