X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathBoldSymbol.cpp;h=62f8098fa1c1ecf0ed8d8ff6c83cdb8295a6f234;hb=85e693806e206b24e9fd7d010368fba36a2b9710;hp=3cca1180fb589ad636dbcb4c471c4d0ab6144ff8;hpb=90837aaf6eee523fd594c0ea7f44c053bb49a3cf;p=lyx.git diff --git a/src/mathed/InsetMathBoldSymbol.cpp b/src/mathed/InsetMathBoldSymbol.cpp index 3cca1180fb..62f8098fa1 100644 --- a/src/mathed/InsetMathBoldSymbol.cpp +++ b/src/mathed/InsetMathBoldSymbol.cpp @@ -3,7 +3,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -14,6 +14,7 @@ #include "MathStream.h" #include "MathData.h" +#include "MetricsInfo.h" #include "LaTeXFeatures.h" #include @@ -21,8 +22,8 @@ namespace lyx { -InsetMathBoldSymbol::InsetMathBoldSymbol(Kind kind) - : InsetMathNest(1), kind_(kind) +InsetMathBoldSymbol::InsetMathBoldSymbol(Buffer * buf, Kind kind) + : InsetMathNest(buf, 1), kind_(kind) {} @@ -32,21 +33,36 @@ Inset * InsetMathBoldSymbol::clone() const } +docstring InsetMathBoldSymbol::name() const +{ + switch (kind_) { + case AMS_BOLD: + return from_ascii("boldsymbol"); + case BM_BOLD: + return from_ascii("bm"); + case BM_HEAVY: + return from_ascii("hm"); + } + // avoid compiler warning + return docstring(); +} + + void InsetMathBoldSymbol::metrics(MetricsInfo & mi, Dimension & dim) const { - //FontSetChanger dummy(mi.base, "mathbf"); + Changer dummy = mi.base.changeEnsureMath(); + //Changer dummy = mi.base.changeFontSet("mathbf"); cell(0).metrics(mi, dim); - metricsMarkers(dim); ++dim.wid; // for 'double stroke' } void InsetMathBoldSymbol::draw(PainterInfo & pi, int x, int y) const { - //FontSetChanger dummy(pi.base, "mathbf"); + Changer dummy = pi.base.changeEnsureMath(); + //Changer dummy = pi.base.changeFontSet("mathbf"); + cell(0).draw(pi, x, y); cell(0).draw(pi, x + 1, y); - cell(0).draw(pi, x + 2, y); - drawMarkers(pi, x, y); } @@ -76,13 +92,7 @@ void InsetMathBoldSymbol::validate(LaTeXFeatures & features) const void InsetMathBoldSymbol::write(WriteStream & os) const { - bool brace = os.pendingBrace(); - os.pendingBrace(false); - if (os.latex() && os.textMode()) { - os << "\\ensuremath{"; - os.textMode(false); - brace = true; - } + MathEnsurer ensurer(os); switch (kind_) { case AMS_BOLD: os << "\\boldsymbol{" << cell(0) << "}"; @@ -94,7 +104,18 @@ void InsetMathBoldSymbol::write(WriteStream & os) const os << "\\hm{" << cell(0) << "}"; break; } - os.pendingBrace(brace); +} + + +void InsetMathBoldSymbol::mathmlize(MathStream & os) const +{ + os << "" << cell(0) << ""; +} + + +void InsetMathBoldSymbol::htmlize(HtmlStream & os) const +{ + os << MTag("b") << cell(0) << ETag("b"); }