#include "MathStream.h"
+#include "MathFactory.h"
#include "MathData.h"
#include "MathExtern.h"
+#include "TexRow.h"
+
#include "support/docstring.h"
#include "support/RefChanger.h"
#include "support/textutils.h"
WriteStream::WriteStream(otexrowstream & os, bool fragile, bool latex,
OutputType output, Encoding const * encoding)
- : WriteStream(os)
-{
- fragile_ = fragile;
- latex_ = latex;
- output_ = output;
- encoding_ = encoding;
-}
-
-
-WriteStream::WriteStream(otexrowstream & os)
- : os_(os), fragile_(false), firstitem_(false), latex_(false),
- output_(wsDefault), pendingspace_(false), pendingbrace_(false),
- textmode_(false), locked_(0), ascii_(0), canbreakline_(true),
- line_(0), encoding_(0), row_entry_(TexRow::row_none)
+ : os_(os), fragile_(fragile), firstitem_(false), latex_(latex),
+ output_(output), insidemacro_(false), pendingspace_(false),
+ pendingbrace_(false), textmode_(false), locked_(0), ascii_(0),
+ canbreakline_(true), mathsout_(false), ulemcmd_(NONE), line_(0),
+ encoding_(encoding), row_entry_(TexRow::row_none)
{}
docstring MathStream::deferred() const
-{
+{
return deferred_.str();
}
docstring HtmlStream::deferred() const
-{
+{
return deferred_.str();
}
}
+docstring convertDelimToXMLEscape(docstring const & name)
+{
+ if (name.size() == 1) {
+ char_type const c = name[0];
+ if (c == '<')
+ return from_ascii("<");
+ else if (c == '>')
+ return from_ascii(">");
+ else
+ return name;
+ }
+ MathWordList const & words = mathedWordList();
+ MathWordList::const_iterator it = words.find(name);
+ if (it != words.end()) {
+ docstring const escape = it->second.xmlname;
+ return escape;
+ }
+ LYXERR0("Unable to find `" << name <<"' in the mathWordList.");
+ return name;
+}
+
} // namespace lyx