#include "debug.h"
+using std::string;
using std::auto_ptr;
{}
-auto_ptr<InsetBase> MathSymbolInset::clone() const
+auto_ptr<InsetBase> MathSymbolInset::doClone() const
{
return auto_ptr<InsetBase>(new MathSymbolInset(*this));
}
// correct height for broken cmex and wasy font
#if defined(__APPLE__) && defined(__GNUC__)
if (sym_->inset == "cmex") {
- h_ = 4 * dim_.des / 5;
- dim_.asc += 0*h_;
- dim_.des -= h_;
- h_ = dim_.asc;
+ h_ = 4 * dim.des / 5;
+ dim.asc += 0*h_;
+ dim.des -= h_;
+ h_ = dim.asc;
} else if (sym_->inset == "wasy") {
h_ = 4 * dim.des / 5;
dim.asc += h_;
if (mi.base.style == LM_ST_DISPLAY)
if (sym_->inset == "cmex" || sym_->extra == "funclim")
scriptable_ = true;
+
+ width_ = dim.wid;
}
x += static_cast<int>(0.0833*em+0.5);
FontSetChanger dummy(pi.base, sym_->inset.c_str());
- drawStr(pi, pi.base.font, x, y - h_, sym_->draw);
+ pi.draw(x, y - h_, sym_->draw);
}
void MathSymbolInset::validate(LaTeXFeatures & features) const
{
- if (sym_->inset == "msa" || sym_->inset == "msb")
- features.require("amssymb");
+ if (!sym_->requires.empty())
+ features.require(sym_->requires);
}
}
-bool MathSymbolInset::match(MathAtom const & at) const
-{
- MathSymbolInset const * q = at->asSymbolInset();
- return q && name() == q->name();
-}
-
-
void MathSymbolInset::mathmlize(MathMLStream & os) const
{
char const * type = MathMLtype(sym_->extra);