#include "MathSupport.h"
-#include "InsetMath.h"
+#include "InsetMathFont.h"
+#include "InsetMathSymbol.h"
#include "MathData.h"
#include "MathParser.h"
#include "MathStream.h"
};
+double const dbrack[] = {
+ 2, 4,
+ 0.95, 0.05, 0.05, 0.05, 0.05, 0.95, 0.95, 0.95,
+ 2, 2,
+ 0.50, 0.05, 0.50, 0.95,
+ 0
+};
+
+
double const corner[] = {
2, 3,
0.95, 0.05, 0.05, 0.05, 0.05, 0.95,
double const ddot[] = {
- 1, 0.2, 0.5, 0.3, 0.5,
- 1, 0.7, 0.5, 0.8, 0.5,
+ 1, 0.2, 0.5, 0.3, 0.5,
+ 1, 0.7, 0.5, 0.8, 0.5,
0
};
double const dddot[] = {
- 1, 0.1, 0.5, 0.2, 0.5,
+ 1, 0.1, 0.5, 0.2, 0.5,
1, 0.45, 0.5, 0.55, 0.5,
- 1, 0.8, 0.5, 0.9, 0.5,
+ 1, 0.8, 0.5, 0.9, 0.5,
0
};
double const ddddot[] = {
- 1, 0.0, 0.5, 0.1, 0.5,
- 1, 0.3, 0.5, 0.4, 0.5,
- 1, 0.6, 0.5, 0.7, 0.5,
- 1, 0.9, 0.5, 1.0, 0.5,
+ 1, 0.1, 0.5, 0.2, 0.5,
+ 1, 0.45, 0.5, 0.55, 0.5,
+ 1, 0.8, 0.5, 0.9, 0.5,
+ 1, 1.15, 0.5, 1.25, 0.5,
0
};
{"underleftarrow", arrow, 1 },
{"underrightarrow", arrow, 3 },
{"underleftrightarrow", udarrow, 1 },
+ {"undertilde", tilde, 0 },
+ {"utilde", tilde, 0 },
// Delimiters
{"(", parenth, 0 },
{"rbrace", brace, 2 },
{"[", brack, 0 },
{"]", brack, 2 },
+ {"llbracket", dbrack, 0 },
+ {"rrbracket", dbrack, 2 },
{"|", vert, 0 },
{"/", slash, 0 },
{"slash", slash, 0 },
}
+void metricsStrRedBlack(MetricsInfo & mi, Dimension & dim, docstring const & str)
+{
+ FontInfo font = mi.base.font;
+ augmentFont(font, from_ascii("mathnormal"));
+ mathed_string_dim(font, str, dim);
+}
+
+
void drawStrRed(PainterInfo & pi, int x, int y, docstring const & str)
{
FontInfo f = pi.base.font;
+ augmentFont(f, from_ascii("mathnormal"));
f.setColor(Color_latex);
pi.pain.text(x, y, str, f);
}
void drawStrBlack(PainterInfo & pi, int x, int y, docstring const & str)
{
FontInfo f = pi.base.font;
+ augmentFont(f, from_ascii("mathnormal"));
f.setColor(Color_foreground);
pi.pain.text(x, y, str, f);
}
inh_shape, Color_math},
{"mathit", inh_family, inh_series,
ITALIC_SHAPE, Color_math},
+ {"mathscr", RSFS_FAMILY, inh_series,
+ inh_shape, Color_math},
{"cmex", CMEX_FAMILY, inh_series,
inh_shape, Color_math},
{"cmm", CMM_FAMILY, inh_series,
inh_shape, Color_math},
{"msb", MSB_FAMILY, inh_series,
inh_shape, Color_math},
+ {"stmry", STMARY_FAMILY, inh_series,
+ inh_shape, Color_math},
{"wasy", WASY_FAMILY, inh_series,
inh_shape, Color_math},
{"esint", ESINT_FAMILY, inh_series,
}
+bool isAlphaSymbol(MathAtom const & at)
+{
+ if (at->asCharInset() ||
+ (at->asSymbolInset() &&
+ at->asSymbolInset()->isOrdAlpha()))
+ return true;
+
+ if (at->asFontInset()) {
+ MathData const & ar = at->asFontInset()->cell(0);
+ for (size_t i = 0; i < ar.size(); ++i) {
+ if (!(ar[i]->asCharInset() ||
+ (ar[i]->asSymbolInset() &&
+ ar[i]->asSymbolInset()->isOrdAlpha())))
+ return false;
+ }
+ return true;
+ }
+ return false;
+}
+
+
docstring asString(MathData const & ar)
{
odocstringstream os;