* Licence details can be found in the file COPYING.
*
* \author Alejandro Aguilar Sierra
- * \author André Pönitz
+ * \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
#include "MathParser.h"
#include "MathStream.h"
-#include "support/debug.h"
-
-#include "support/docstream.h"
-
#include "frontends/FontLoader.h"
#include "frontends/FontMetrics.h"
#include "frontends/Painter.h"
+#include "support/debug.h"
+#include "support/docstream.h"
+
#include <map>
-#include <sstream>
using namespace std;
};
+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,
+ 0
+};
+
+
double const hline3[] = {
1, 0.1, 0, 0.15, 0,
1, 0.475, 0, 0.525, 0,
// Accents
{"ddot", ddot, 0 },
{"dddot", dddot, 0 },
+ {"ddddot", ddddot, 0 },
{"hat", angle, 3 },
{"grave", slash, 1 },
{"acute", slash, 0 },
{"cdots", hline3, 0 },
{"vdots", hline3, 1 },
{"ddots", dline3, 0 },
+ {"adots", dline3, 1 },
+ {"iddots", dline3, 1 },
{"dotsb", hline3, 0 },
{"dotsc", hline3, 0 },
{"dotsi", hline3, 0 },
};
-std::map<docstring, deco_struct> deco_list;
+map<docstring, deco_struct> deco_list;
// sort the table on startup
class init_deco_table {
deco_struct const * search_deco(docstring const & name)
{
- std::map<docstring, deco_struct>::const_iterator p = deco_list.find(name);
+ map<docstring, deco_struct>::const_iterator p = deco_list.find(name);
return p == deco_list.end() ? 0 : &(p->second);
}
struct fontinfo {
- std::string cmd_;
+ string cmd_;
FontFamily family_;
FontSeries series_;
FontShape shape_;
{"textipa", inh_family, inh_series,
inh_shape, Color_foreground},
+ // mhchem support
+ {"ce", inh_family, inh_series,
+ inh_shape, Color_foreground},
+ {"cf", inh_family, inh_series,
+ inh_shape, Color_foreground},
+
// LyX internal usage
{"lyxtex", inh_family, inh_series,
UP_SHAPE, Color_latex},
{
//lyxerr << "searching font '" << name << "'" << endl;
int const n = sizeof(fontinfos) / sizeof(fontinfo);
- std::string name = to_utf8(name0);
+ string name = to_utf8(name0);
for (int i = 0; i < n; ++i)
if (fontinfos[i].cmd_ == name) {
//lyxerr << "found '" << i << "'" << endl;
}
-void asArray(docstring const & str, MathData & ar)
+void asArray(docstring const & str, MathData & ar, Parse::flags pf)
{
- mathed_parse_cell(ar, str);
+ bool quiet = pf & Parse::QUIET;
+ if ((str.size() == 1 && quiet) || (!mathed_parse_cell(ar, str, pf) && quiet))
+ mathed_parse_cell(ar, str, pf | Parse::VERBATIM);
}