X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathStream.cpp;h=cf3fb51f1f0ba484be79ef9dc7567570b20c3afd;hb=a48581f48c93b3981ffd3e058f57e3ed95b53641;hp=e91db433f96c9eb8f4d95a306f76642274ec7553;hpb=d2d243d77f41b65baea72b4a58ecf4a8cfcb71b9;p=lyx.git diff --git a/src/mathed/MathStream.cpp b/src/mathed/MathStream.cpp index e91db433f9..cf3fb51f1f 100644 --- a/src/mathed/MathStream.cpp +++ b/src/mathed/MathStream.cpp @@ -12,9 +12,12 @@ #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" @@ -124,20 +127,11 @@ WriteStream & operator<<(WriteStream & ws, docstring const & s) 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) {} @@ -704,4 +698,25 @@ OctaveStream & operator<<(OctaveStream & os, string const & s) } +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