////////////////////////////////////////////////////////////////
XHTMLStream::XHTMLStream(odocstream & os)
- :os_(os)
+ : os_(os), nextraw_(false)
{}
XHTMLStream & XHTMLStream::operator<<(docstring const & d)
{
clearTagDeque();
- os_ << html::htmlize(d);
+ if (nextraw_) {
+ os_ << d;
+ nextraw_ = false;
+ } else
+ os_ << html::htmlize(d);
return *this;
}
XHTMLStream & XHTMLStream::operator<<(const char * s)
{
clearTagDeque();
- os_ << html::htmlize(from_ascii(s));
+ docstring const d = from_ascii(s);
+ if (nextraw_) {
+ os_ << d;
+ nextraw_ = false;
+ } else
+ os_ << html::htmlize(d);
return *this;
}
XHTMLStream & XHTMLStream::operator<<(char_type c)
{
clearTagDeque();
- os_ << html::escapeChar(c);
+ if (nextraw_) {
+ os_ << c;
+ nextraw_ = false;
+ } else
+ os_ << html::escapeChar(c);
+ return *this;
+}
+
+
+XHTMLStream & XHTMLStream::operator<<(NextRaw const &)
+{
+ nextraw_ = true;
return *this;
}
xs.cr();
}
if (!deferred.empty()) {
- xs << deferred;
+ xs << XHTMLStream::NextRaw() << deferred;
xs.cr();
}
}
}
if (labelfirst)
openItemTag(xs, style);
- else
- // FIXME This should probalby be put into the layout file rather
- // than hardcoded.
- xs << StartTag("span", "class='" + to_utf8(style.name()) + "_inneritem'");
}
par->simpleLyXHTMLOnePar(buf, xs, runparams,
text.outerFont(distance(begin, par)), sep);
- if (!isNormalEnv(style) && !labelfirst)
- xs << EndTag("span");
++par;
// We may not want to close the tag yet, in particular,
// if we're not at the end...