]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathSpecialChar.cpp
Assure correct spacing of colored items in mathed
[lyx.git] / src / mathed / InsetMathSpecialChar.cpp
index 94d0514b9e9f9d5d1feae13c20be23434b772cd7..701bcc86862d37d1406ae7958dbcbb51f4fcd3d2 100644 (file)
@@ -40,7 +40,7 @@ InsetMathSpecialChar::InsetMathSpecialChar(docstring const & name)
                else if (name == "textbackslash")
                        char_ = '\\';
                else
-                       LASSERT(false, /**/);
+                       LASSERT(false, char_ = '?');
        } else
                char_ = name.at(0);
 }
@@ -56,12 +56,12 @@ Inset * InsetMathSpecialChar::clone() const
 void InsetMathSpecialChar::metrics(MetricsInfo & mi, Dimension & dim) const
 {
        if (mi.base.fontname == "mathnormal") {
-               ShapeChanger dummy(mi.base.font, UP_SHAPE);
+               Changer dummy = mi.base.font.changeShape(UP_SHAPE);;
                dim = theFontMetrics(mi.base.font).dimension(char_);
        } else {
                frontend::FontMetrics const & fm = theFontMetrics(mi.base.font);
                dim = fm.dimension(char_);
-               kerning_ = fm.rbearing(char_) - dim.wid;
+               kerning_ = mathed_char_kerning(mi.base.font, char_);
        }
 }
 
@@ -69,7 +69,7 @@ void InsetMathSpecialChar::metrics(MetricsInfo & mi, Dimension & dim) const
 void InsetMathSpecialChar::draw(PainterInfo & pi, int x, int y) const
 {
        if (pi.base.fontname == "mathnormal") {
-               ShapeChanger dummy(pi.base.font, UP_SHAPE);
+               Changer dummy = pi.base.font.changeShape(UP_SHAPE);
                pi.draw(x, y, char_);
        } else {
                pi.draw(x, y, char_);