X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathDelim.cpp;h=809e8a0c13ef53160ee0ac28cbd0c51466af680b;hb=9296344b9a26191a2092d175a51e357ecc35145d;hp=b10d37ad698b81e0048dd5c2961fd5d5c3aadb15;hpb=65a6cc1fc3bc71a53e6f004a9b18e8dd1d32ecf2;p=lyx.git
diff --git a/src/mathed/InsetMathDelim.cpp b/src/mathed/InsetMathDelim.cpp
index b10d37ad69..809e8a0c13 100644
--- a/src/mathed/InsetMathDelim.cpp
+++ b/src/mathed/InsetMathDelim.cpp
@@ -69,21 +69,8 @@ void InsetMathDelim::validate(LaTeXFeatures & features) const
// The delimiters may be used without \left or \right as well.
// Therefore they are listed in lib/symbols, and if they have
// requirements, we need to add them here.
- MathWordList const & words = mathedWordList();
- MathWordList::const_iterator it = words.find(left_);
- if (it != words.end())
- {
- string const req = it->second.requires;
- if (!req.empty())
- features.require(req);
- }
- it = words.find(right_);
- if (it != words.end())
- {
- string const req = it->second.requires;
- if (!req.empty())
- features.require(req);
- }
+ validate_math_word(features, left_);
+ validate_math_word(features, right_);
}
@@ -104,6 +91,7 @@ void InsetMathDelim::normalize(NormalStream & os) const
void InsetMathDelim::metrics(MetricsInfo & mi, Dimension & dim) const
{
+ Changer dummy = mi.base.changeEnsureMath();
Dimension dim0;
cell(0).metrics(mi, dim0);
Dimension t = theFontMetrics(mi.base.font).dimension('I');
@@ -123,14 +111,14 @@ void InsetMathDelim::metrics(MetricsInfo & mi, Dimension & dim) const
void InsetMathDelim::draw(PainterInfo & pi, int x, int y) const
{
+ Changer dummy = pi.base.changeEnsureMath();
Dimension const dim = dimension(*pi.base.bv);
int const b = y - dim.asc;
int const skip = mathed_thinmuskip(pi.base.font);
cell(0).draw(pi, x + dw_ + skip, y);
- mathed_draw_deco(pi, x + skip, b, dw_, dim.height(), left_);
- mathed_draw_deco(pi, x + dim.width() - dw_ - skip,
+ mathed_draw_deco(pi, x + skip / 2, b, dw_, dim.height(), left_);
+ mathed_draw_deco(pi, x + dim.width() - dw_ - skip / 2,
b, dw_, dim.height(), right_);
- setPosCache(pi, x, y);
}
@@ -193,14 +181,21 @@ void InsetMathDelim::mathematica(MathematicaStream & os) const
void InsetMathDelim::mathmlize(MathStream & os) const
{
- os << "" << left_ << ""
- << cell(0) << "" << right_ << "";
+ os << ""
+ << convertDelimToXMLEscape(left_)
+ << "\n"
+ << cell(0)
+ << "\n"
+ << convertDelimToXMLEscape(right_)
+ << "\n";
}
void InsetMathDelim::htmlize(HtmlStream & os) const
{
- os << left_ << cell(0) << right_;
+ os << convertDelimToXMLEscape(left_)
+ << cell(0)
+ << convertDelimToXMLEscape(right_);
}