X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_charinset.C;h=89c3378a783825e587fcec70345a392fb9037a62;hb=dff2911bda426ad439e6475f62183cedd7044801;hp=898868b9a3edca89ff0ddf6b61107e9516ab7572;hpb=0cf717d0c8ba3d766acb45c3adfcc0de1f3b79db;p=features.git diff --git a/src/mathed/math_charinset.C b/src/mathed/math_charinset.C index 898868b9a3..89c3378a78 100644 --- a/src/mathed/math_charinset.C +++ b/src/mathed/math_charinset.C @@ -13,21 +13,6 @@ #include "debug.h" -namespace { - -char const * math_font_name[] = { - "mathrm", - "mathcal", - "mathbf", - "mathsf", - "mathtt", - "mathit", - "textrm" -}; - -} - - MathCharInset::MathCharInset(char c) : char_(c), code_(nativeCode(c)) { @@ -59,47 +44,45 @@ MathInset * MathCharInset::clone() const int MathCharInset::ascent() const { - return mathed_char_ascent(code_, size(), char_); + return mathed_char_ascent(code_, mi_, char_); } int MathCharInset::descent() const { - return mathed_char_descent(code_, size(), char_); + return mathed_char_descent(code_, mi_, char_); } int MathCharInset::width() const { - return mathed_char_width(code_, size(), char_); + return mathed_char_width(code_, mi_, char_); } -void MathCharInset::metrics(MathStyles st) const +void MathCharInset::metrics(MathMetricsInfo const & mi) const { - size_ = st; + mi_ = mi; } void MathCharInset::draw(Painter & pain, int x, int y) const { - xo(x); - yo(y); //lyxerr << "drawing '" << char_ << "' code: " << code_ << endl; - drawChar(pain, code_, size_, x, y, char_); + drawChar(pain, code_, mi_, x, y, char_); } void MathCharInset::writeHeader(std::ostream & os) const { - if (code_ >= LM_TC_RM && code_ <= LM_TC_TEXTRM) - os << '\\' << math_font_name[code_ - LM_TC_RM] << '{'; + if (math_font_name(code_)) + os << '\\' << math_font_name(code_) << '{'; } void MathCharInset::writeTrailer(std::ostream & os) const { - if (code_ >= LM_TC_RM && code_ <= LM_TC_TEXTRM) + if (math_font_name(code_)) os << '}'; } @@ -110,17 +93,17 @@ void MathCharInset::writeRaw(std::ostream & os) const } -void MathCharInset::write(std::ostream & os, bool) const +void MathCharInset::write(MathWriteInfo & os) const { - writeHeader(os); - writeRaw(os); - writeTrailer(os); + writeHeader(os.os); + writeRaw(os.os); + writeTrailer(os.os); } void MathCharInset::writeNormal(std::ostream & os) const { - os << char_; + os << "[char " << char_ << " " << "mathalpha" << "]"; }