- mathed_string_dim(code_, size(), ssym_, ascent_, descent_, width_);
+
+void MathSymbolInset::metrics(MathMetricsInfo const & mi) const
+{
+ mi_ = mi;
+ MathTextCodes c = code();
+ if (sym_->latex_font_id > 0 && math_font_available(c)) {
+ mathed_char_dim(c, mi_, sym_->latex_font_id, ascent_, descent_, width_);
+ if (c == LM_TC_CMEX) {
+ h_ = 4 * descent_ / 5;
+ ascent_ += h_;
+ descent_ -= h_;
+ }
+ } else {
+ if (sym_->id > 0 && sym_->id < 255 && math_font_available(LM_TC_SYMB))
+ mathed_char_dim(code2(), mi_, sym_->id, ascent_, descent_, width_);
+ else
+ mathed_string_dim(LM_TC_TEX, mi_, sym_->name, ascent_, descent_, width_);
+ }
+ if (isRelOp())
+ width_ += mathed_char_width(LM_TC_TEX, mi_, 'I');