+ if (isRelOp())
+ x += mathed_char_width(LM_TC_TEX, mi_, 'I') / 2;
+ MathTextCodes Code = code();
+ if (sym_->latex_font_id > 0 && math_font_available(Code))
+ drawChar(pain, Code, mi_, x, y - h_, sym_->latex_font_id);
+ else if (sym_->id > 0 && sym_->id < 255 && math_font_available(LM_TC_SYMB))
+ drawChar(pain, code2(), mi_, x, y, sym_->id);
+ else
+ drawStr(pain, LM_TC_TEX, mi_, x, y, sym_->name);
+}
+
+
+bool MathSymbolInset::isRelOp() const
+{
+ return sym_->type == "mathrel";
+}
+
+
+bool MathSymbolInset::isScriptable() const
+{
+ return mi_.style == LM_ST_DISPLAY && sym_->token == LM_TK_CMEX;
+}
+
+
+bool MathSymbolInset::takesLimits() const
+{
+ return sym_->token == LM_TK_CMEX;
+}
+
+
+void MathSymbolInset::normalize(NormalStream & os) const
+{
+ os << "[symbol " << name() << "]";
+}