#include "TexRow.h"
#include "support/docstring.h"
-#include "support/RefChanger.h"
#include "support/textutils.h"
#include <algorithm>
WriteStream::WriteStream(otexrowstream & os, bool fragile, bool latex,
OutputType output, Encoding const * encoding)
- : os_(os), fragile_(fragile), firstitem_(false), latex_(latex),
- output_(output), 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)
+ : os_(os), fragile_(fragile), latex_(latex),
+ output_(output), encoding_(encoding)
{}
Changer WriteStream::changeRowEntry(TexRow::RowEntry entry)
{
- return make_change(row_entry_, entry);
+ return changeVar(row_entry_, entry);
}
//////////////////////////////////////////////////////////////////////
-MathStream::MathStream(odocstream & os, std::string xmlns)
- : os_(os), tab_(0), line_(0), in_text_(false), xmlns_(xmlns)
+MathStream::MathStream(odocstream & os, std::string const & xmlns, bool xmlMode)
+ : os_(os), tab_(0), line_(0), in_text_(false), xmlns_(xmlns), xml_mode_(xmlMode)
{}
}
-docstring convertDelimToXMLEscape(docstring const & name)
+docstring convertDelimToXMLEscape(docstring const & name, bool xmlmode)
{
+ // For the basic symbols, no difference between XML and HTML.
if (name.size() == 1) {
char_type const c = name[0];
if (c == '<')
MathWordList const & words = mathedWordList();
MathWordList::const_iterator it = words.find(name);
if (it != words.end()) {
- docstring const escape = it->second.xmlname;
+ // Only difference between XML and HTML, based on the contents read by MathFactory.
+ docstring const escape = xmlmode ? it->second.xmlname : it->second.htmlname;
return escape;
}
LYXERR0("Unable to find `" << name <<"' in the mathWordList.");