}
-void mathedSymbolDim(MetricsBase & mb, Dimension & dim, latexkeys const * sym)
+docstring const & mathedSymbol(MetricsBase & mb, latexkeys const * sym)
{
- LASSERT((bool)sym, return);
+ return (mb.font.style() == DISPLAY_STYLE && !sym->dsp_draw.empty()) ?
+ sym->dsp_draw : sym->draw;
+}
+
+
+int mathedSymbolDim(MetricsBase & mb, Dimension & dim, latexkeys const * sym)
+{
+ LASSERT((bool)sym, return 0);
//lyxerr << "metrics: symbol: '" << sym->name
// << "' in font: '" << sym->inset
// << "' drawn as: '" << sym->draw
mb.fontname == "mathit";
std::string const font = italic_upcase_greek ? "cmm" : sym->inset;
Changer dummy = mb.changeFontSet(font);
- mathed_string_dim(mb.font, sym->draw, dim);
+ mathed_string_dim(mb.font, mathedSymbol(mb, sym), dim);
+ return mathed_char_kerning(mb.font, mathedSymbol(mb, sym).back());
}
std::string const font = italic_upcase_greek ? "cmm" : sym->inset;
Changer dummy = pi.base.changeFontSet(font);
- pi.draw(x, y, sym->draw);
+ pi.draw(x, y, mathedSymbol(pi.base, sym));
}