From 0d449056ef9ace3ef737e4b9aba8d3994615dc18 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Thu, 19 Oct 2006 21:00:33 +0000 Subject: [PATCH] Output docbook as utf8. Probably quite a bit more work needed, but then help form a docbook person is needed. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15387 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BufferView.C | 2 +- src/buffer.C | 39 ++++++++++++++++---------------- src/buffer.h | 3 ++- src/frontends/Application.C | 2 +- src/frontends/NoGuiFontLoader.h | 4 ++-- src/frontends/NoGuiFontMetrics.h | 14 ++++++------ src/frontends/gtk/GView.C | 8 +++---- src/insets/insetbase.C | 4 ++-- src/insets/insetbase.h | 2 +- src/insets/insetbox.C | 2 +- src/insets/insetbox.h | 2 +- src/insets/insetbranch.C | 2 +- src/insets/insetbranch.h | 2 +- src/insets/insetcaption.C | 2 +- src/insets/insetcaption.h | 2 +- src/insets/insetcharstyle.C | 7 +++--- src/insets/insetcharstyle.h | 2 +- src/insets/insetcite.C | 7 ++++-- src/insets/insetcite.h | 2 +- src/insets/insetcommand.C | 3 ++- src/insets/insetcommand.h | 2 +- src/insets/insetert.C | 2 +- src/insets/insetert.h | 2 +- src/insets/insetexternal.C | 28 +++++++++++------------ src/insets/insetexternal.h | 2 +- src/insets/insetfloat.C | 7 +++--- src/insets/insetfloat.h | 2 +- src/insets/insetfloatlist.h | 2 +- src/insets/insetfoot.C | 2 +- src/insets/insetfoot.h | 2 +- src/insets/insetgraphics.C | 20 ++++++++++++---- src/insets/insetgraphics.h | 2 +- src/insets/insethfill.C | 2 +- src/insets/insethfill.h | 2 +- src/insets/insetinclude.C | 7 +++--- src/insets/insetinclude.h | 2 +- src/insets/insetindex.C | 7 ++++-- src/insets/insetindex.h | 2 +- src/insets/insetlabel.C | 7 ++++-- src/insets/insetlabel.h | 2 +- src/insets/insetlatexaccent.C | 5 ++-- src/insets/insetlatexaccent.h | 2 +- src/insets/insetline.C | 2 +- src/insets/insetline.h | 2 +- src/insets/insetmarginal.C | 2 +- src/insets/insetmarginal.h | 2 +- src/insets/insetnewline.C | 2 +- src/insets/insetnewline.h | 2 +- src/insets/insetnote.C | 14 +++++------- src/insets/insetnote.h | 2 +- src/insets/insetoptarg.C | 2 +- src/insets/insetoptarg.h | 2 +- src/insets/insetpagebreak.C | 2 +- src/insets/insetpagebreak.h | 2 +- src/insets/insetquotes.C | 2 +- src/insets/insetquotes.h | 2 +- src/insets/insetref.C | 18 +++++++++++---- src/insets/insetref.h | 2 +- src/insets/insetspace.C | 3 ++- src/insets/insetspace.h | 2 +- src/insets/insetspecialchar.C | 2 +- src/insets/insetspecialchar.h | 2 +- src/insets/insettabular.C | 2 +- src/insets/insettabular.h | 2 +- src/insets/insettext.C | 6 ++--- src/insets/insettext.h | 2 +- src/insets/insettoc.C | 2 +- src/insets/insettoc.h | 2 +- src/insets/inseturl.C | 10 +++++--- src/insets/inseturl.h | 2 +- src/insets/insetvspace.C | 2 +- src/insets/insetvspace.h | 2 +- src/insets/insetwrap.C | 7 +++--- src/insets/insetwrap.h | 2 +- src/lyxfunc.C | 3 +-- src/mathed/InsetFormulaMacro.h | 2 +- src/mathed/InsetMath.C | 4 ++-- src/mathed/InsetMathHull.C | 7 +++--- src/mathed/InsetMathHull.h | 2 +- src/mathed/InsetMathRef.C | 15 ++++++++---- src/mathed/InsetMathRef.h | 2 +- src/mathed/MathMLStream.C | 3 ++- src/mathed/MathMLStream.h | 1 + src/output_docbook.C | 12 ++++++---- src/output_docbook.h | 3 ++- src/paragraph.C | 13 ++++++----- src/paragraph.h | 4 ++-- src/sgml.C | 29 ++++++++++++------------ src/sgml.h | 9 ++++---- src/support/docstream.h | 8 +++++++ src/tabular.C | 4 ++-- src/tabular.h | 4 ++-- 92 files changed, 256 insertions(+), 201 deletions(-) diff --git a/src/BufferView.C b/src/BufferView.C index 2d1846ab94..9d34691649 100644 --- a/src/BufferView.C +++ b/src/BufferView.C @@ -1113,7 +1113,7 @@ bool BufferView::workAreaDispatch(FuncRequest const & cmd0) } -void BufferView::scroll(int lines) +void BufferView::scroll(int /*lines*/) { // if (!buffer_) // return; diff --git a/src/buffer.C b/src/buffer.C index efcb980715..bacd13e81c 100644 --- a/src/buffer.C +++ b/src/buffer.C @@ -67,16 +67,15 @@ #include "support/lyxalgo.h" #include "support/filetools.h" #include "support/fs_extras.h" -#include -#include -#include -namespace io = boost::iostreams; #include "support/lyxlib.h" #include "support/os.h" #include "support/path.h" #include "support/textutils.h" #include "support/convert.h" +#include +#include +#include #include #include #include @@ -94,6 +93,7 @@ namespace io = boost::iostreams; using lyx::docstring; +using lyx::odocfstream; using lyx::odocstream; using lyx::pos_type; using lyx::pit_type; @@ -126,6 +126,7 @@ using lyx::support::trim; namespace Alert = lyx::frontend::Alert; namespace os = lyx::support::os; namespace fs = boost::filesystem; +namespace io = boost::iostreams; using std::endl; using std::for_each; @@ -991,7 +992,8 @@ void Buffer::makeDocBookFile(string const & fname, { lyxerr[Debug::LATEX] << "makeDocBookFile..." << endl; - ofstream ofs; + //ofstream ofs; + odocfstream ofs; if (!openFileWrite(ofs, fname)) return; @@ -1003,7 +1005,7 @@ void Buffer::makeDocBookFile(string const & fname, } -void Buffer::writeDocBookSource(ostream & os, string const & fname, +void Buffer::writeDocBookSource(odocstream & os, string const & fname, OutputParams const & runparams, bool const only_body) { @@ -1013,16 +1015,18 @@ void Buffer::writeDocBookSource(ostream & os, string const & fname, texrow().reset(); LyXTextClass const & tclass = params().getLyXTextClass(); - string const & top_element = tclass.latexname(); + string const top_element = tclass.latexname(); if (!only_body) { if (runparams.flavor == OutputParams::XML) - os << "encoding()->name() << "\"?>\n"; + os << "\n"; - os << "\n\n"; } @@ -1608,15 +1612,13 @@ void Buffer::getSourceCode(odocstream & os, lyx::pit_type par_begin, lyx::pit_ty // No side effect of file copying and image conversion runparams.dryrun = true; + /* Support for docbook temprarily commented out. */ if (full_source) { os << "% Preview source code\n\n"; if (isLatex()) writeLaTeXSource(os, filePath(), runparams, true, true); else { - // FIXME UNICODE - ostringstream oss; - writeDocBookSource(oss, fileName(), runparams, false); - os << lyx::from_utf8(oss.str()); + writeDocBookSource(os, fileName(), runparams, false); } } else { runparams.par_begin = par_begin; @@ -1631,10 +1633,7 @@ void Buffer::getSourceCode(odocstream & os, lyx::pit_type par_begin, lyx::pit_ty latexParagraphs(*this, paragraphs(), os, texrow(), runparams); } else { // DocBook - // FIXME UNICODE - ostringstream oss; - docbookParagraphs(paragraphs(), *this, oss, runparams); - os << lyx::from_utf8(oss.str()); + docbookParagraphs(paragraphs(), *this, os, runparams); } } } diff --git a/src/buffer.h b/src/buffer.h index bbb28b15c2..bf579e67e9 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -21,6 +21,7 @@ #include "support/limited_stack.h" #include "support/types.h" #include "support/docstring.h" +#include "support/docstream.h" #include #include @@ -156,7 +157,7 @@ public: OutputParams const & runparams_in, bool only_body = false); /// - void writeDocBookSource(std::ostream & os, std::string const & filename, + void writeDocBookSource(lyx::odocstream & os, std::string const & filename, OutputParams const & runparams_in, bool only_body = false); /// returns the main language for the buffer (document) diff --git a/src/frontends/Application.C b/src/frontends/Application.C index a7189c22a7..b259a957f6 100644 --- a/src/frontends/Application.C +++ b/src/frontends/Application.C @@ -75,7 +75,7 @@ LyXView & Application::createView(unsigned int width, } -int Application::start(std::string const & batch) +int Application::start(std::string const & /*batch*/) { return exec(); } diff --git a/src/frontends/NoGuiFontLoader.h b/src/frontends/NoGuiFontLoader.h index 15b9522a0d..36f6f7d78e 100644 --- a/src/frontends/NoGuiFontLoader.h +++ b/src/frontends/NoGuiFontLoader.h @@ -32,10 +32,10 @@ public: virtual void update() {}; /// Is the given font available ? - virtual bool available(LyXFont const & f) { return false; }; + virtual bool available(LyXFont const &) { return false; }; /// Get the Font metrics for this LyXFont - virtual FontMetrics const & metrics(LyXFont const & f) { return metrics_; } + virtual FontMetrics const & metrics(LyXFont const &) { return metrics_; } private: /// diff --git a/src/frontends/NoGuiFontMetrics.h b/src/frontends/NoGuiFontMetrics.h index fe618a7e30..4293273c41 100644 --- a/src/frontends/NoGuiFontMetrics.h +++ b/src/frontends/NoGuiFontMetrics.h @@ -31,15 +31,15 @@ public: virtual int maxDescent() const { return 1; } - virtual int ascent(lyx::char_type c) const { return 1; } + virtual int ascent(lyx::char_type) const { return 1; } - int descent(lyx::char_type c) const { return 1; } + int descent(lyx::char_type) const { return 1; } - virtual int lbearing(lyx::char_type c) const { return 1; } + virtual int lbearing(lyx::char_type) const { return 1; } - virtual int rbearing(lyx::char_type c) const { return 1; } + virtual int rbearing(lyx::char_type) const { return 1; } - virtual int width(lyx::char_type const * s, size_t n) const { return n; } + virtual int width(lyx::char_type const *, size_t n) const { return n; } virtual int signedWidth(lyx::docstring const & s) const { @@ -49,12 +49,12 @@ public: return FontMetrics::width(s); } - virtual void rectText(lyx::docstring const & str, + virtual void rectText(lyx::docstring const &, int & width, int & ascent, int & descent) const {}; - virtual void buttonText(lyx::docstring const & str, + virtual void buttonText(lyx::docstring const &, int & width, int & ascent, int & descent) const {}; diff --git a/src/frontends/gtk/GView.C b/src/frontends/gtk/GView.C index b16c0c853a..00e2cd529d 100644 --- a/src/frontends/gtk/GView.C +++ b/src/frontends/gtk/GView.C @@ -138,10 +138,10 @@ void GView::init() } -void GView::setGeometry(unsigned int width, - unsigned int height, - int posx, int posy, - bool maximize) +void GView::setGeometry(unsigned int /*width*/, + unsigned int /*height*/, + int /*posx*/, int /*posy*/, + bool /*maximize*/) { // FIXME: do something here... } diff --git a/src/insets/insetbase.C b/src/insets/insetbase.C index 4a9de2f6e7..212934e80b 100644 --- a/src/insets/insetbase.C +++ b/src/insets/insetbase.C @@ -231,7 +231,7 @@ int InsetBase::plaintext(Buffer const &, int InsetBase::docbook(Buffer const &, - std::ostream &, OutputParams const &) const + lyx::odocstream &, OutputParams const &) const { return 0; } @@ -272,7 +272,7 @@ void InsetBase::markErased(bool) {} -void InsetBase::cursorPos(BufferView const & bv, CursorSlice const &, +void InsetBase::cursorPos(BufferView const & /*bv*/, CursorSlice const &, bool, int & x, int & y) const { lyxerr << "InsetBase::cursorPos called directly" << std::endl; diff --git a/src/insets/insetbase.h b/src/insets/insetbase.h index 4f20e90216..434bed5805 100644 --- a/src/insets/insetbase.h +++ b/src/insets/insetbase.h @@ -189,7 +189,7 @@ public: virtual int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// docbook output - virtual int docbook(Buffer const &, std::ostream & os, + virtual int docbook(Buffer const &, lyx::odocstream & os, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetbox.C b/src/insets/insetbox.C index 88a4716cf6..3595606508 100644 --- a/src/insets/insetbox.C +++ b/src/insets/insetbox.C @@ -383,7 +383,7 @@ int InsetBox::latex(Buffer const & buf, odocstream & os, } -int InsetBox::docbook(Buffer const & buf, std::ostream & os, +int InsetBox::docbook(Buffer const & buf, lyx::odocstream & os, OutputParams const & runparams) const { return InsetText::docbook(buf, os, runparams); diff --git a/src/insets/insetbox.h b/src/insets/insetbox.h index f3c77eacf4..0ebeb669c7 100644 --- a/src/insets/insetbox.h +++ b/src/insets/insetbox.h @@ -85,7 +85,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// int plaintext(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetbranch.C b/src/insets/insetbranch.C index e215b444e8..ef9875585d 100644 --- a/src/insets/insetbranch.C +++ b/src/insets/insetbranch.C @@ -229,7 +229,7 @@ int InsetBranch::latex(Buffer const & buf, odocstream & os, } -int InsetBranch::docbook(Buffer const & buf, std::ostream & os, +int InsetBranch::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { return isBranchSelected(buf) ? diff --git a/src/insets/insetbranch.h b/src/insets/insetbranch.h index c811790ccf..f497defeaf 100644 --- a/src/insets/insetbranch.h +++ b/src/insets/insetbranch.h @@ -56,7 +56,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// int plaintext(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetcaption.C b/src/insets/insetcaption.C index 791e4566a4..bc6945ebae 100644 --- a/src/insets/insetcaption.C +++ b/src/insets/insetcaption.C @@ -199,7 +199,7 @@ int InsetCaption::plaintext(Buffer const & /*buf*/, odocstream & /*os*/, } -int InsetCaption::docbook(Buffer const & buf, ostream & os, +int InsetCaption::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { int ret; diff --git a/src/insets/insetcaption.h b/src/insets/insetcaption.h index ed4607d235..b324d9f7f4 100644 --- a/src/insets/insetcaption.h +++ b/src/insets/insetcaption.h @@ -54,7 +54,7 @@ public: int plaintext(Buffer const & buf, lyx::odocstream & os, OutputParams const & runparams) const; /// - int docbook(Buffer const & buf, std::ostream & os, + int docbook(Buffer const & buf, lyx::odocstream & os, OutputParams const & runparams) const; /// void setCount(int c) { counter_ = c; } diff --git a/src/insets/insetcharstyle.C b/src/insets/insetcharstyle.C index 1f5a0520b1..c308ada16f 100644 --- a/src/insets/insetcharstyle.C +++ b/src/insets/insetcharstyle.C @@ -300,7 +300,7 @@ int InsetCharStyle::latex(Buffer const & buf, odocstream & os, } -int InsetCharStyle::docbook(Buffer const & buf, ostream & os, +int InsetCharStyle::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { ParagraphList::const_iterator beg = paragraphs().begin(); @@ -308,8 +308,9 @@ int InsetCharStyle::docbook(Buffer const & buf, ostream & os, ParagraphList::const_iterator end = paragraphs().end(); if (!undefined()) - sgml::openTag(os, params_.latexname, - par->getID(buf, runparams) + params_.latexparam); + // FIXME UNICODE + sgml::openTag(os, params_.latexname, + par->getID(buf, runparams) + params_.latexparam); for (; par != end; ++par) { par->simpleDocBookOnePar(buf, os, runparams, diff --git a/src/insets/insetcharstyle.h b/src/insets/insetcharstyle.h index 8fa1e9b58c..7667398801 100644 --- a/src/insets/insetcharstyle.h +++ b/src/insets/insetcharstyle.h @@ -76,7 +76,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// int plaintext(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetcite.C b/src/insets/insetcite.C index 7ec2e87b48..2c3fe4ee0b 100644 --- a/src/insets/insetcite.C +++ b/src/insets/insetcite.C @@ -392,9 +392,12 @@ string const cleanupWhitespace(string const & citelist) // end anon namyspace } -int InsetCitation::docbook(Buffer const &, ostream & os, OutputParams const &) const +int InsetCitation::docbook(Buffer const &, odocstream & os, OutputParams const &) const { - os << "" << cleanupWhitespace(getContents()) << ""; + // FIXME UNICODE + os << "" + << lyx::from_ascii(cleanupWhitespace(getContents())) + << ""; return 0; } diff --git a/src/insets/insetcite.h b/src/insets/insetcite.h index 34d43d4c1e..03d64f6709 100644 --- a/src/insets/insetcite.h +++ b/src/insets/insetcite.h @@ -36,7 +36,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetcommand.C b/src/insets/insetcommand.C index 764b63d90d..812202d52b 100644 --- a/src/insets/insetcommand.C +++ b/src/insets/insetcommand.C @@ -22,6 +22,7 @@ #include +using lyx::odocstream; using lyx::odocstream; @@ -87,7 +88,7 @@ int InsetCommand::plaintext(Buffer const &, odocstream &, } -int InsetCommand::docbook(Buffer const &, ostream &, +int InsetCommand::docbook(Buffer const &, odocstream &, OutputParams const &) const { return 0; diff --git a/src/insets/insetcommand.h b/src/insets/insetcommand.h index af224f7846..5cc5f68de1 100644 --- a/src/insets/insetcommand.h +++ b/src/insets/insetcommand.h @@ -54,7 +54,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - virtual int docbook(Buffer const &, std::ostream &, + virtual int docbook(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// InsetBase::Code lyxCode() const { return InsetBase::NO_CODE; } diff --git a/src/insets/insetert.C b/src/insets/insetert.C index 2bc7bc89b4..1af624cacf 100644 --- a/src/insets/insetert.C +++ b/src/insets/insetert.C @@ -178,7 +178,7 @@ int InsetERT::plaintext(Buffer const &, odocstream &, } -int InsetERT::docbook(Buffer const &, ostream & os, +int InsetERT::docbook(Buffer const &, odocstream & os, OutputParams const &) const { ParagraphList::const_iterator par = paragraphs().begin(); diff --git a/src/insets/insetert.h b/src/insets/insetert.h index 3a93e067db..06b5bfe809 100644 --- a/src/insets/insetert.h +++ b/src/insets/insetert.h @@ -55,7 +55,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// void validate(LaTeXFeatures &) const {} diff --git a/src/insets/insetexternal.C b/src/insets/insetexternal.C index 51fd1a8916..f5a54647fe 100644 --- a/src/insets/insetexternal.C +++ b/src/insets/insetexternal.C @@ -706,17 +706,21 @@ int InsetExternal::latex(Buffer const & buf, odocstream & os, external::Template::Formats::const_iterator cit = et.formats.find("PDFLaTeX"); - if (cit != et.formats.end()) + + if (cit != et.formats.end()) { return external::writeExternal(params_, "PDFLaTeX", - buf, os, - *(runparams.exportdata), - external_in_tmpdir, - runparams.inComment); + buf, os, + *(runparams.exportdata), + external_in_tmpdir, + runparams.inComment); + } + } + return external::writeExternal(params_, "LaTeX", buf, os, - *(runparams.exportdata), - external_in_tmpdir, - runparams.inComment); + *(runparams.exportdata), + external_in_tmpdir, + runparams.inComment); } @@ -729,16 +733,12 @@ int InsetExternal::plaintext(Buffer const & buf, odocstream & os, } -int InsetExternal::docbook(Buffer const & buf, ostream & os, +int InsetExternal::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { - lyx::odocstringstream oss; - int const retval = external::writeExternal(params_, "DocBook", buf, oss, + return external::writeExternal(params_, "DocBook", buf, os, *(runparams.exportdata), false, runparams.inComment); - // FIXME UNICODE - os << lyx::to_utf8(oss.str()); - return retval; } diff --git a/src/insets/insetexternal.h b/src/insets/insetexternal.h index fefcc2a840..fd9764d79f 100644 --- a/src/insets/insetexternal.h +++ b/src/insets/insetexternal.h @@ -129,7 +129,7 @@ public: virtual int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - virtual int docbook(Buffer const &, std::ostream &, + virtual int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// Update needed features for this inset. diff --git a/src/insets/insetfloat.C b/src/insets/insetfloat.C index 5af4753fea..a6bd6012a9 100644 --- a/src/insets/insetfloat.C +++ b/src/insets/insetfloat.C @@ -329,12 +329,13 @@ int InsetFloat::latex(Buffer const & buf, odocstream & os, } -int InsetFloat::docbook(Buffer const & buf, ostream & os, +int InsetFloat::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { - os << '<' << params_.type << '>'; + // FIXME UNICODE + os << '<' << lyx::from_ascii(params_.type) << '>'; int const i = InsetText::docbook(buf, os, runparams); - os << "'; + os << "'; return i; } diff --git a/src/insets/insetfloat.h b/src/insets/insetfloat.h index 10774bb296..6d732bff82 100644 --- a/src/insets/insetfloat.h +++ b/src/insets/insetfloat.h @@ -57,7 +57,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// virtual lyx::docstring const editMessage() const; diff --git a/src/insets/insetfloatlist.h b/src/insets/insetfloatlist.h index 9392089e0d..0ab9ce4187 100644 --- a/src/insets/insetfloatlist.h +++ b/src/insets/insetfloatlist.h @@ -39,7 +39,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const { return 0; } /// int plaintext(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetfoot.C b/src/insets/insetfoot.C index 43bad6df97..a4841709c2 100644 --- a/src/insets/insetfoot.C +++ b/src/insets/insetfoot.C @@ -80,7 +80,7 @@ int InsetFoot::latex(Buffer const & buf, odocstream & os, } -int InsetFoot::docbook(Buffer const & buf, ostream & os, +int InsetFoot::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { os << ""; diff --git a/src/insets/insetfoot.h b/src/insets/insetfoot.h index 2d35572338..6b0fdcf09b 100644 --- a/src/insets/insetfoot.h +++ b/src/insets/insetfoot.h @@ -28,7 +28,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// virtual lyx::docstring const editMessage() const; diff --git a/src/insets/insetgraphics.C b/src/insets/insetgraphics.C index 12a810ae9d..02bd2d3035 100644 --- a/src/insets/insetgraphics.C +++ b/src/insets/insetgraphics.C @@ -91,6 +91,8 @@ using lyx::odocstream; namespace support = lyx::support; +using lyx::odocstream; + using lyx::support::absolutePath; using lyx::support::bformat; using lyx::support::changeExtension; @@ -826,14 +828,22 @@ int InsetGraphics::plaintext(Buffer const &, odocstream & os, namespace { -int writeImageObject(char * format, ostream& os, OutputParams const & runparams, - string const graphic_label, string const attributes) +int writeImageObject(char * format, odocstream & os, OutputParams const & runparams, + string const graphic_label, string const attributes) { if (runparams.flavor != OutputParams::XML) { - os << "" ; } @@ -853,7 +863,7 @@ int writeImageObject(char * format, ostream& os, OutputParams const & runparams, // For explanation on inserting graphics into DocBook checkout: // http://en.tldp.org/LDP/LDP-Author-Guide/html/inserting-pictures.html // See also the docbook guide at http://www.docbook.org/ -int InsetGraphics::docbook(Buffer const &, ostream & os, +int InsetGraphics::docbook(Buffer const &, odocstream & os, OutputParams const & runparams) const { // In DocBook v5.0, the graphic tag will be eliminated from DocBook, will diff --git a/src/insets/insetgraphics.h b/src/insets/insetgraphics.h index 3d3a89ea6f..962a866aaa 100644 --- a/src/insets/insetgraphics.h +++ b/src/insets/insetgraphics.h @@ -49,7 +49,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /** Tell LyX what the latex features you need i.e. what latex packages diff --git a/src/insets/insethfill.C b/src/insets/insethfill.C index 96d05c336a..159d6c81f1 100644 --- a/src/insets/insethfill.C +++ b/src/insets/insethfill.C @@ -62,7 +62,7 @@ int InsetHFill::plaintext(Buffer const &, odocstream & os, } -int InsetHFill::docbook(Buffer const &, std::ostream & os, +int InsetHFill::docbook(Buffer const &, odocstream & os, OutputParams const &) const { os << '\n'; diff --git a/src/insets/insethfill.h b/src/insets/insethfill.h index 309d4975f8..15a5a1f908 100644 --- a/src/insets/insethfill.h +++ b/src/insets/insethfill.h @@ -32,7 +32,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// void write(Buffer const & buf, std::ostream & os) const; diff --git a/src/insets/insetinclude.C b/src/insets/insetinclude.C index 682f78b303..451e0af66b 100644 --- a/src/insets/insetinclude.C +++ b/src/insets/insetinclude.C @@ -488,7 +488,7 @@ int InsetInclude::plaintext(Buffer const & buffer, odocstream & os, } -int InsetInclude::docbook(Buffer const & buffer, ostream & os, +int InsetInclude::docbook(Buffer const & buffer, odocstream & os, OutputParams const & runparams) const { string incfile(params_.getContents()); @@ -524,12 +524,13 @@ int InsetInclude::docbook(Buffer const & buffer, ostream & os, runparams.exportdata->addExternalFile("docbook-xml", writefile, exportfile); + // FIXME UNICODE if (isVerbatim(params_)) { os << ""; } else - os << '&' << include_label << ';'; + os << '&' << lyx::from_ascii(include_label) << ';'; return 0; } diff --git a/src/insets/insetinclude.h b/src/insets/insetinclude.h index cf0a660643..26f84b6589 100644 --- a/src/insets/insetinclude.h +++ b/src/insets/insetinclude.h @@ -81,7 +81,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// void validate(LaTeXFeatures &) const; diff --git a/src/insets/insetindex.C b/src/insets/insetindex.C index e9c0e6ac23..7190d23b76 100644 --- a/src/insets/insetindex.C +++ b/src/insets/insetindex.C @@ -21,6 +21,7 @@ #include "support/std_ostream.h" using lyx::docstring; +using lyx::odocstream; using std::string; using std::ostream; @@ -42,10 +43,12 @@ docstring const InsetIndex::getScreenLabel(Buffer const &) const } -int InsetIndex::docbook(Buffer const &, ostream & os, +int InsetIndex::docbook(Buffer const &, odocstream & os, OutputParams const &) const { - os << "" << sgml::escapeString(getContents()) + // FIXME UNICODE + os << "" + << lyx::from_ascii(sgml::escapeString(getContents())) << ""; return 0; } diff --git a/src/insets/insetindex.h b/src/insets/insetindex.h index 1a6c22cced..f3c4eb2fb6 100644 --- a/src/insets/insetindex.h +++ b/src/insets/insetindex.h @@ -30,7 +30,7 @@ public: /// InsetBase::Code lyxCode() const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; private: virtual std::auto_ptr doClone() const { diff --git a/src/insets/insetlabel.C b/src/insets/insetlabel.C index 98110bdc14..d782c23590 100644 --- a/src/insets/insetlabel.C +++ b/src/insets/insetlabel.C @@ -102,9 +102,12 @@ int InsetLabel::plaintext(Buffer const &, odocstream & os, } -int InsetLabel::docbook(Buffer const & buf, ostream & os, +int InsetLabel::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { - os << ""; + // FIXME UNICODE + os << ""; return 0; } diff --git a/src/insets/insetlabel.h b/src/insets/insetlabel.h index a67e2f7c29..65e46f8d26 100644 --- a/src/insets/insetlabel.h +++ b/src/insets/insetlabel.h @@ -33,7 +33,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; protected: virtual void doDispatch(LCursor & cur, FuncRequest & cmd); diff --git a/src/insets/insetlatexaccent.C b/src/insets/insetlatexaccent.C index 720c858fc4..eac7ed28e2 100644 --- a/src/insets/insetlatexaccent.C +++ b/src/insets/insetlatexaccent.C @@ -588,10 +588,11 @@ int InsetLatexAccent::plaintext(Buffer const &, odocstream & os, } -int InsetLatexAccent::docbook(Buffer const &, ostream & os, +int InsetLatexAccent::docbook(Buffer const &, odocstream & os, OutputParams const &) const { - os << contents; + // FIXME UNICODE + os << lyx::from_ascii(contents); return 0; } diff --git a/src/insets/insetlatexaccent.h b/src/insets/insetlatexaccent.h index a96358dfb5..d36108f385 100644 --- a/src/insets/insetlatexaccent.h +++ b/src/insets/insetlatexaccent.h @@ -49,7 +49,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetline.C b/src/insets/insetline.C index f6390c91b6..0afc21d6b4 100644 --- a/src/insets/insetline.C +++ b/src/insets/insetline.C @@ -73,7 +73,7 @@ int InsetLine::plaintext(Buffer const &, odocstream & os, } -int InsetLine::docbook(Buffer const &, std::ostream & os, +int InsetLine::docbook(Buffer const &, odocstream & os, OutputParams const &) const { os << '\n'; diff --git a/src/insets/insetline.h b/src/insets/insetline.h index 5950b47d98..867d77221f 100644 --- a/src/insets/insetline.h +++ b/src/insets/insetline.h @@ -32,7 +32,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; void read(Buffer const &, LyXLex & lex); diff --git a/src/insets/insetmarginal.C b/src/insets/insetmarginal.C index b106cc152d..544abd93a9 100644 --- a/src/insets/insetmarginal.C +++ b/src/insets/insetmarginal.C @@ -63,7 +63,7 @@ int InsetMarginal::latex(Buffer const & buf, odocstream & os, return i + 2; } -int InsetMarginal::docbook(Buffer const & buf, ostream & os, +int InsetMarginal::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { os << ""; diff --git a/src/insets/insetmarginal.h b/src/insets/insetmarginal.h index 68d595d9d6..e25dd0f28a 100644 --- a/src/insets/insetmarginal.h +++ b/src/insets/insetmarginal.h @@ -29,7 +29,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const & runparams) const; /// virtual lyx::docstring const editMessage() const; diff --git a/src/insets/insetnewline.C b/src/insets/insetnewline.C index 6057da5080..820d2ee0fc 100644 --- a/src/insets/insetnewline.C +++ b/src/insets/insetnewline.C @@ -67,7 +67,7 @@ int InsetNewline::plaintext(Buffer const &, odocstream & os, } -int InsetNewline::docbook(Buffer const &, std::ostream & os, +int InsetNewline::docbook(Buffer const &, odocstream & os, OutputParams const &) const { os << '\n'; diff --git a/src/insets/insetnewline.h b/src/insets/insetnewline.h index 2a17ae4d0f..bdd01a59c0 100644 --- a/src/insets/insetnewline.h +++ b/src/insets/insetnewline.h @@ -32,7 +32,7 @@ public: virtual int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; - virtual int docbook(Buffer const &, std::ostream &, + virtual int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; virtual void read(Buffer const &, LyXLex & lex); diff --git a/src/insets/insetnote.C b/src/insets/insetnote.C index decb4785a2..8ebae0d764 100644 --- a/src/insets/insetnote.C +++ b/src/insets/insetnote.C @@ -296,30 +296,28 @@ int InsetNote::latex(Buffer const & buf, odocstream & os, } -int InsetNote::docbook(Buffer const & buf, std::ostream & os, +int InsetNote::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams_in) const { if (params_.type == InsetNoteParams::Note) return 0; OutputParams runparams(runparams_in); - ostringstream ss; if (params_.type == InsetNoteParams::Comment) { - ss << "\n"; + os << "\n"; runparams.inComment = true; // Ignore files that are exported inside a comment runparams.exportdata.reset(new ExportData); } - InsetText::docbook(buf, ss, runparams); + int const n = InsetText::docbook(buf, os, runparams); if (params_.type == InsetNoteParams::Comment) - ss << "\n\n"; + os << "\n\n"; - string const str = ss.str(); - os << str; // Return how many newlines we issued. - return int(lyx::count(str.begin(), str.end(),'\n')); + //return int(lyx::count(str.begin(), str.end(), '\n')); + return n + 1 + 2; } diff --git a/src/insets/insetnote.h b/src/insets/insetnote.h index 3b4d739a85..b8c16efa9e 100644 --- a/src/insets/insetnote.h +++ b/src/insets/insetnote.h @@ -60,7 +60,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// int plaintext(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetoptarg.C b/src/insets/insetoptarg.C index e78ce9076c..2bb2f937a4 100644 --- a/src/insets/insetoptarg.C +++ b/src/insets/insetoptarg.C @@ -73,7 +73,7 @@ int InsetOptArg::latex(Buffer const &, odocstream &, return 0; } -int InsetOptArg::docbook(Buffer const &, ostream &, +int InsetOptArg::docbook(Buffer const &, odocstream &, OutputParams const &) const { return 0; diff --git a/src/insets/insetoptarg.h b/src/insets/insetoptarg.h index 09f7f70f3c..7505a92951 100644 --- a/src/insets/insetoptarg.h +++ b/src/insets/insetoptarg.h @@ -33,7 +33,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// Standard DocBook output -- short-circuited - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// Standard plain text output -- short-circuited diff --git a/src/insets/insetpagebreak.C b/src/insets/insetpagebreak.C index e63e8039f1..f8f7f0458a 100644 --- a/src/insets/insetpagebreak.C +++ b/src/insets/insetpagebreak.C @@ -92,7 +92,7 @@ int InsetPagebreak::plaintext(Buffer const &, odocstream & os, } -int InsetPagebreak::docbook(Buffer const &, std::ostream & os, +int InsetPagebreak::docbook(Buffer const &, odocstream & os, OutputParams const &) const { os << '\n'; diff --git a/src/insets/insetpagebreak.h b/src/insets/insetpagebreak.h index 9e3f627482..83372ef635 100644 --- a/src/insets/insetpagebreak.h +++ b/src/insets/insetpagebreak.h @@ -32,7 +32,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; void read(Buffer const &, LyXLex & lex); diff --git a/src/insets/insetquotes.C b/src/insets/insetquotes.C index c18861011e..01b2feec4c 100644 --- a/src/insets/insetquotes.C +++ b/src/insets/insetquotes.C @@ -310,7 +310,7 @@ int InsetQuotes::plaintext(Buffer const &, odocstream & os, } -int InsetQuotes::docbook(Buffer const &, ostream & os, +int InsetQuotes::docbook(Buffer const &, odocstream & os, OutputParams const &) const { if (times_ == DoubleQ) { diff --git a/src/insets/insetquotes.h b/src/insets/insetquotes.h index bc39895d08..b219f7e428 100644 --- a/src/insets/insetquotes.h +++ b/src/insets/insetquotes.h @@ -90,7 +90,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC diff --git a/src/insets/insetref.C b/src/insets/insetref.C index 5ae1406d10..4d7c472028 100644 --- a/src/insets/insetref.C +++ b/src/insets/insetref.C @@ -105,16 +105,24 @@ int InsetRef::plaintext(Buffer const &, odocstream & os, } -int InsetRef::docbook(Buffer const & buf, ostream & os, +int InsetRef::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { + // FIXME UNICODE if (getOptions().empty() && runparams.flavor == OutputParams::XML) { - os << ""; + os << ""; } else if (getOptions().empty()) { - os << ""; + os << ""; } else { - os << "" << getOptions() << ""; + os << "" + << lyx::from_ascii(getOptions()) + << ""; } return 0; diff --git a/src/insets/insetref.h b/src/insets/insetref.h index cbeba3fbc1..0c0a0c138e 100644 --- a/src/insets/insetref.h +++ b/src/insets/insetref.h @@ -50,7 +50,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetspace.C b/src/insets/insetspace.C index e41017b33c..e439a7f33c 100644 --- a/src/insets/insetspace.C +++ b/src/insets/insetspace.C @@ -24,6 +24,7 @@ #include "frontends/FontMetrics.h" #include "frontends/Painter.h" +using lyx::odocstream; using lyx::odocstream; @@ -216,7 +217,7 @@ int InsetSpace::plaintext(Buffer const &, odocstream & os, } -int InsetSpace::docbook(Buffer const &, ostream & os, +int InsetSpace::docbook(Buffer const &, odocstream & os, OutputParams const &) const { switch (kind_) { diff --git a/src/insets/insetspace.h b/src/insets/insetspace.h index 4dd793e643..acb8e79bd0 100644 --- a/src/insets/insetspace.h +++ b/src/insets/insetspace.h @@ -67,7 +67,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetspecialchar.C b/src/insets/insetspecialchar.C index 853fdfaec1..af4f8176b0 100644 --- a/src/insets/insetspecialchar.C +++ b/src/insets/insetspecialchar.C @@ -210,7 +210,7 @@ int InsetSpecialChar::plaintext(Buffer const &, odocstream & os, } -int InsetSpecialChar::docbook(Buffer const &, ostream & os, +int InsetSpecialChar::docbook(Buffer const &, odocstream & os, OutputParams const &) const { switch (kind_) { diff --git a/src/insets/insetspecialchar.h b/src/insets/insetspecialchar.h index 2b4ef0e7db..0d444fbeff 100644 --- a/src/insets/insetspecialchar.h +++ b/src/insets/insetspecialchar.h @@ -59,7 +59,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insettabular.C b/src/insets/insettabular.C index a3c5c67a5a..eb8d3d79bb 100644 --- a/src/insets/insettabular.C +++ b/src/insets/insettabular.C @@ -1070,7 +1070,7 @@ int InsetTabular::plaintext(Buffer const & buf, odocstream & os, } -int InsetTabular::docbook(Buffer const & buf, ostream & os, +int InsetTabular::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { int ret = 0; diff --git a/src/insets/insettabular.h b/src/insets/insettabular.h index 4d9971ec6b..6e6dbc1f11 100644 --- a/src/insets/insettabular.h +++ b/src/insets/insettabular.h @@ -90,7 +90,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// void validate(LaTeXFeatures & features) const; diff --git a/src/insets/insettext.C b/src/insets/insettext.C index 36b7b036e7..27eec9ce79 100644 --- a/src/insets/insettext.C +++ b/src/insets/insettext.C @@ -299,7 +299,7 @@ int InsetText::plaintext(Buffer const & buf, odocstream & os, } -int InsetText::docbook(Buffer const & buf, ostream & os, +int InsetText::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { docbookParagraphs(paragraphs(), buf, os, runparams); @@ -314,7 +314,7 @@ void InsetText::validate(LaTeXFeatures & features) const } -void InsetText::cursorPos(BufferView const & bv, +void InsetText::cursorPos(BufferView const & /*bv*/, CursorSlice const & sl, bool boundary, int & x, int & y) const { x = text_.cursorX(sl, boundary) + border_; @@ -328,7 +328,7 @@ bool InsetText::showInsetDialog(BufferView *) const } -void InsetText::markNew(bool track_changes) +void InsetText::markNew(bool /*track_changes*/) { ParagraphList::iterator pit = paragraphs().begin(); ParagraphList::iterator end = paragraphs().end(); diff --git a/src/insets/insettext.h b/src/insets/insettext.h index 6eef99eac4..1676cfdeec 100644 --- a/src/insets/insettext.h +++ b/src/insets/insettext.h @@ -69,7 +69,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// void validate(LaTeXFeatures & features) const; diff --git a/src/insets/insettoc.C b/src/insets/insettoc.C index 0a454b4e6a..8a0471e410 100644 --- a/src/insets/insettoc.C +++ b/src/insets/insettoc.C @@ -67,7 +67,7 @@ int InsetTOC::plaintext(Buffer const & buffer, odocstream & os, } -int InsetTOC::docbook(Buffer const &, ostream & os, +int InsetTOC::docbook(Buffer const &, odocstream & os, OutputParams const &) const { if (getCmdName() == "tableofcontents") diff --git a/src/insets/insettoc.h b/src/insets/insettoc.h index 126f10ef81..0ef06b3e73 100644 --- a/src/insets/insettoc.h +++ b/src/insets/insettoc.h @@ -32,7 +32,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; private: virtual std::auto_ptr doClone() const; diff --git a/src/insets/inseturl.C b/src/insets/inseturl.C index b6d87341e6..564e61a3ab 100644 --- a/src/insets/inseturl.C +++ b/src/insets/inseturl.C @@ -84,11 +84,15 @@ int InsetUrl::plaintext(Buffer const &, odocstream & os, } -int InsetUrl::docbook(Buffer const &, ostream & os, +int InsetUrl::docbook(Buffer const &, odocstream & os, OutputParams const &) const { - os << "" << getOptions() << ""; + // FIXME UNICODE + os << "" + << lyx::from_ascii(getOptions()) + << ""; return 0; } diff --git a/src/insets/inseturl.h b/src/insets/inseturl.h index 014b7c9c20..791badccb0 100644 --- a/src/insets/inseturl.h +++ b/src/insets/inseturl.h @@ -41,7 +41,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/insets/insetvspace.C b/src/insets/insetvspace.C index 7aca1a8221..94b90cf409 100644 --- a/src/insets/insetvspace.C +++ b/src/insets/insetvspace.C @@ -219,7 +219,7 @@ int InsetVSpace::plaintext(Buffer const &, odocstream & os, } -int InsetVSpace::docbook(Buffer const &, std::ostream & os, +int InsetVSpace::docbook(Buffer const &, odocstream & os, OutputParams const &) const { os << '\n'; diff --git a/src/insets/insetvspace.h b/src/insets/insetvspace.h index ecfe67cc4d..29b4bd9262 100644 --- a/src/insets/insetvspace.h +++ b/src/insets/insetvspace.h @@ -36,7 +36,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// void read(Buffer const &, LyXLex & lex); diff --git a/src/insets/insetwrap.C b/src/insets/insetwrap.C index 06d4bca32c..fe8abfe996 100644 --- a/src/insets/insetwrap.C +++ b/src/insets/insetwrap.C @@ -192,12 +192,13 @@ int InsetWrap::latex(Buffer const & buf, odocstream & os, } -int InsetWrap::docbook(Buffer const & buf, ostream & os, +int InsetWrap::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { - os << '<' << params_.type << '>'; + // FIXME UNICODE + os << '<' << lyx::from_ascii(params_.type) << '>'; int const i = InsetText::docbook(buf, os, runparams); - os << "'; + os << "'; return i; } diff --git a/src/insets/insetwrap.h b/src/insets/insetwrap.h index 516c6ba27e..96f371cd64 100644 --- a/src/insets/insetwrap.h +++ b/src/insets/insetwrap.h @@ -53,7 +53,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// virtual lyx::docstring const editMessage() const; diff --git a/src/lyxfunc.C b/src/lyxfunc.C index d5a084ad13..bfc4667d3f 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -256,8 +256,7 @@ void LyXFunc::processKeySym(LyXKeySymPtr keysym, key_modifier::state state) return; } - Encoding const * encoding = view()->cursor().getEncoding(); - + //Encoding const * encoding = view()->cursor().getEncoding(); //encoded_last_key = keysym->getISOEncoded(encoding ? encoding->name() : ""); size_t encoded_last_key = keysym->getUCSEncoded(); diff --git a/src/mathed/InsetFormulaMacro.h b/src/mathed/InsetFormulaMacro.h index b32ac58234..3f34c667d2 100644 --- a/src/mathed/InsetFormulaMacro.h +++ b/src/mathed/InsetFormulaMacro.h @@ -47,7 +47,7 @@ public: int latex(Buffer const &, lyx::odocstream & os, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// diff --git a/src/mathed/InsetMath.C b/src/mathed/InsetMath.C index 967904dc87..0d8aee7e40 100644 --- a/src/mathed/InsetMath.C +++ b/src/mathed/InsetMath.C @@ -117,8 +117,8 @@ void InsetMath::mathematica(MathematicaStream & os) const void InsetMath::mathmlize(MathMLStream & os) const { - NormalStream ns(os.os()); - normalize(ns); + NormalStream ns(os.os()); + normalize(ns); } diff --git a/src/mathed/InsetMathHull.C b/src/mathed/InsetMathHull.C index d8666be8bb..c739b22132 100644 --- a/src/mathed/InsetMathHull.C +++ b/src/mathed/InsetMathHull.C @@ -63,6 +63,7 @@ using lyx::docstring; using lyx::odocstream; using lyx::odocstringstream; + using lyx::cap::grabAndEraseSelection; using lyx::support::bformat; using lyx::support::subst; @@ -1452,11 +1453,10 @@ int InsetMathHull::plaintext(Buffer const &, odocstream & os, } -int InsetMathHull::docbook(Buffer const & buf, ostream & os, +int InsetMathHull::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { - odocstringstream oss; - MathMLStream ms(oss); + MathMLStream ms(os); int res = 0; string name; if (getType() == hullSimple) @@ -1501,7 +1501,6 @@ int InsetMathHull::docbook(Buffer const & buf, ostream & os, ms << "\">"; ms << ETag(name.c_str()); - os << lyx::to_utf8(oss.str()); return ms.line() + res; } diff --git a/src/mathed/InsetMathHull.h b/src/mathed/InsetMathHull.h index c67fe8aebf..44d9cd502e 100644 --- a/src/mathed/InsetMathHull.h +++ b/src/mathed/InsetMathHull.h @@ -103,7 +103,7 @@ public: int plaintext(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// - int docbook(Buffer const &, std::ostream &, + int docbook(Buffer const &, lyx::odocstream &, OutputParams const &) const; /// the string that is passed to the TOC virtual int textString(Buffer const &, lyx::odocstream &, diff --git a/src/mathed/InsetMathRef.C b/src/mathed/InsetMathRef.C index e36839981f..f292cf090d 100644 --- a/src/mathed/InsetMathRef.C +++ b/src/mathed/InsetMathRef.C @@ -27,6 +27,7 @@ #include "sgml.h" using lyx::docstring; +using lyx::odocstream; using std::string; using std::auto_ptr; @@ -156,17 +157,23 @@ int RefInset::plaintext(lyx::odocstream & os, OutputParams const &) const } -int RefInset::docbook(Buffer const & buf, std::ostream & os, OutputParams const & runparams) const +int RefInset::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { if (cell(1).empty()) { - os << ""; else os << "\">"; } else { - os << "" << asString(cell(1)) << ""; + // FIXME UNICODE + os << "" + << lyx::from_ascii(asString(cell(1))) + << ""; } return 0; diff --git a/src/mathed/InsetMathRef.h b/src/mathed/InsetMathRef.h index aa23efe093..c308495b85 100644 --- a/src/mathed/InsetMathRef.h +++ b/src/mathed/InsetMathRef.h @@ -37,7 +37,7 @@ public: /// plain text output in ucs4 encoding int plaintext(lyx::odocstream &, OutputParams const &) const; /// docbook output - int docbook(Buffer const & buf, std::ostream & os, OutputParams const &) const; + int docbook(Buffer const & buf, lyx::odocstream & os, OutputParams const &) const; struct ref_type_info { /// diff --git a/src/mathed/MathMLStream.C b/src/mathed/MathMLStream.C index d320e81d9f..9371307775 100644 --- a/src/mathed/MathMLStream.C +++ b/src/mathed/MathMLStream.C @@ -16,8 +16,9 @@ #include "MathExtern.h" #include "support/lyxalgo.h" -using std::strlen; +using lyx::odocstream; +using std::strlen; using lyx::odocstream; diff --git a/src/mathed/MathMLStream.h b/src/mathed/MathMLStream.h index 0b967d9706..0d47d28371 100644 --- a/src/mathed/MathMLStream.h +++ b/src/mathed/MathMLStream.h @@ -18,6 +18,7 @@ #include "metricsinfo.h" +#include "support/docstream.h" #include "support/docstream.h" diff --git a/src/output_docbook.C b/src/output_docbook.C index a54fc303f6..16ef71411c 100644 --- a/src/output_docbook.C +++ b/src/output_docbook.C @@ -36,6 +36,7 @@ #endif using lyx::pos_type; +using lyx::odocstream; using lyx::support::subst; using std::endl; @@ -98,7 +99,7 @@ ParagraphList::const_iterator searchEnvironment(ParagraphList::const_iterator co ParagraphList::const_iterator makeParagraph(Buffer const & buf, - ostream & os, + odocstream & os, OutputParams const & runparams, ParagraphList const & paragraphs, ParagraphList::const_iterator const & pbegin, @@ -121,7 +122,7 @@ ParagraphList::const_iterator makeParagraph(Buffer const & buf, ParagraphList::const_iterator makeEnvironment(Buffer const & buf, - ostream & os, + odocstream & os, OutputParams const & runparams, ParagraphList const & paragraphs, ParagraphList::const_iterator const & pbegin, @@ -218,7 +219,7 @@ ParagraphList::const_iterator makeEnvironment(Buffer const & buf, ParagraphList::const_iterator makeCommand(Buffer const & buf, - ostream & os, + odocstream & os, OutputParams const & runparams, ParagraphList const & paragraphs, ParagraphList::const_iterator const & pbegin, @@ -234,7 +235,8 @@ ParagraphList::const_iterator makeCommand(Buffer const & buf, // Label around sectioning number: if (!bstyle->labeltag().empty()) { sgml::openTag(os, bstyle->labeltag()); - os << expandLabel(buf, bstyle, false); + // FIXME UNICODE + os << lyx::from_ascii(expandLabel(buf, bstyle, false)); sgml::closeTag(os, bstyle->labeltag()); } @@ -280,7 +282,7 @@ ParagraphList::const_iterator makeCommand(Buffer const & buf, void docbookParagraphs(ParagraphList const & paragraphs, Buffer const & buf, - ostream & os, + odocstream & os, OutputParams const & runparams) { ParagraphList::const_iterator par = paragraphs.begin(); diff --git a/src/output_docbook.h b/src/output_docbook.h index 45949f809c..dd6090fe2a 100644 --- a/src/output_docbook.h +++ b/src/output_docbook.h @@ -14,6 +14,7 @@ #define OUTPUT_DOCBOOK_H #include "ParagraphList_fwd.h" +#include "support/docstream.h" #include @@ -23,6 +24,6 @@ class OutputParams; /// void docbookParagraphs(ParagraphList const & subset, Buffer const & buf, - std::ostream & os, + lyx::odocstream & os, OutputParams const & runparams); #endif diff --git a/src/paragraph.C b/src/paragraph.C index 6adfb9cecd..e4664a1fec 100644 --- a/src/paragraph.C +++ b/src/paragraph.C @@ -1160,7 +1160,7 @@ string Paragraph::getID(Buffer const & buf, OutputParams const & runparams) cons } -pos_type Paragraph::getFirstWord(Buffer const & buf, ostream & os, OutputParams const & runparams) const +pos_type Paragraph::getFirstWord(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { pos_type i; for (i = 0; i < size(); ++i) { @@ -1176,8 +1176,8 @@ pos_type Paragraph::getFirstWord(Buffer const & buf, ostream & os, OutputParams // FIXME UNICODE // sgml::escapeChar takes a char, not lyx::char_type boost::tie(ws, str) = sgml::escapeChar(c); - - os << str; + // FIXME UNICODE + os << lyx::from_ascii(str); } } return i; @@ -1202,7 +1202,7 @@ bool Paragraph::onlyText(Buffer const & buf, LyXFont const & outerfont, pos_type void Paragraph::simpleDocBookOnePar(Buffer const & buf, - ostream & os, + odocstream & os, OutputParams const & runparams, LyXFont const & outerfont, pos_type initial) const @@ -1243,9 +1243,10 @@ void Paragraph::simpleDocBookOnePar(Buffer const & buf, boost::tie(ws, str) = sgml::escapeChar(c); if (style->pass_thru) - os << c; + os.put(c); else - os << str; + // FIXME UNICODE + os << lyx::from_ascii(str); } font_old = font; } diff --git a/src/paragraph.h b/src/paragraph.h index a661950e4e..142c8e49dd 100644 --- a/src/paragraph.h +++ b/src/paragraph.h @@ -143,7 +143,7 @@ public: // Get the first word of a paragraph, return the position where it left lyx::pos_type getFirstWord(Buffer const & buf, - std::ostream & os, + lyx::odocstream & os, OutputParams const & runparams) const; /// Checks if the paragraph contains only text and no inset or font change. @@ -152,7 +152,7 @@ public: /// Writes to stream the docbook representation void simpleDocBookOnePar(Buffer const & buf, - std::ostream &, + lyx::odocstream &, OutputParams const & runparams, LyXFont const & outerfont, lyx::pos_type initial = 0) const; diff --git a/src/sgml.C b/src/sgml.C index 6e3f732ef7..35d5de1998 100644 --- a/src/sgml.C +++ b/src/sgml.C @@ -29,6 +29,7 @@ #include #include +using lyx::odocstream; using lyx::support::subst; using std::make_pair; @@ -38,9 +39,7 @@ using std::ostringstream; using std::pair; using std::string; -namespace sgml { - -pair escapeChar(char c) +pair sgml::escapeChar(char c) { string str; @@ -100,7 +99,7 @@ pair escapeChar(char c) } -string escapeString(string const & raw) +string sgml::escapeString(string const & raw) { ostringstream bin; @@ -114,14 +113,14 @@ string escapeString(string const & raw) } -string const uniqueID(string const label) +string const sgml::uniqueID(string const label) { static unsigned int seed = 1000; return label + convert(++seed); } -string cleanID(Buffer const & buf, OutputParams const & runparams, std::string const & orig) +string sgml::cleanID(Buffer const & buf, OutputParams const & runparams, std::string const & orig) { // The standard DocBook SGML declaration only allows letters, // digits, '-' and '.' in a name. @@ -184,29 +183,31 @@ string cleanID(Buffer const & buf, OutputParams const & runparams, std::string c } -void openTag(ostream & os, string const & name, string const & attribute) +void sgml::openTag(odocstream & os, string const & name, string const & attribute) { + // FIXME UNICODE // This should be fixed in layout files later. string param = subst(attribute, "<", "\""); param = subst(param, ">", "\""); if (!name.empty() && name != "!-- --") { - os << '<' << name; + os << '<' << lyx::from_ascii(name); if (!param.empty()) - os << " " << param; + os << ' ' << lyx::from_ascii(param); os << '>'; } } -void closeTag(ostream & os, string const & name) +void sgml::closeTag(odocstream & os, string const & name) { + // FIXME UNICODE if (!name.empty() && name != "!-- --") - os << "'; + os << "'; } -void openTag(Buffer const & buf, ostream & os, OutputParams const & runparams, Paragraph const & par) +void sgml::openTag(Buffer const & buf, odocstream & os, OutputParams const & runparams, Paragraph const & par) { LyXLayout_ptr const & style = par.layout(); string const & name = style->latexname(); @@ -240,10 +241,8 @@ void openTag(Buffer const & buf, ostream & os, OutputParams const & runparams, P } -void closeTag(ostream & os, Paragraph const & par) +void sgml::closeTag(odocstream & os, Paragraph const & par) { LyXLayout_ptr const & style = par.layout(); closeTag(os, style->latexname()); } - -} // namespace sgml diff --git a/src/sgml.h b/src/sgml.h index dfb3c65660..cb9a063b5a 100644 --- a/src/sgml.h +++ b/src/sgml.h @@ -14,6 +14,7 @@ #define SGML_H #include "support/types.h" +#include "support/docstream.h" #include #include @@ -43,17 +44,17 @@ std::string cleanID(Buffer const & buf, OutputParams const & runparams, std::string const uniqueID(std::string const label); /// Opens tag -void openTag(std::ostream & os, std::string const & name, +void openTag(lyx::odocstream & os, std::string const & name, std::string const & attribute = std::string()); /// Open tag -void openTag(Buffer const & buf, std::ostream & os, +void openTag(Buffer const & buf, lyx::odocstream & os, OutputParams const & runparams, Paragraph const & par); /// Close tag -void closeTag(std::ostream & os, std::string const & name); +void closeTag(lyx::odocstream & os, std::string const & name); /// Close tag -void closeTag(std::ostream & os, Paragraph const & par); +void closeTag(lyx::odocstream & os, Paragraph const & par); } #endif // SGML_H diff --git a/src/support/docstream.h b/src/support/docstream.h index 4552a2f68f..c1f4f1ad8b 100644 --- a/src/support/docstream.h +++ b/src/support/docstream.h @@ -62,5 +62,13 @@ typedef std::basic_istringstream idocstringstream; /// UCS4 output stringstream typedef std::basic_ostringstream odocstringstream; +inline +odocstream & operator<<(odocstream & os, char c) +{ + os.put(c); + return os; +} + } + #endif diff --git a/src/tabular.C b/src/tabular.C index 9a25921ee9..614c0a3372 100644 --- a/src/tabular.C +++ b/src/tabular.C @@ -2306,7 +2306,7 @@ int LyXTabular::latex(Buffer const & buf, odocstream & os, } -int LyXTabular::docbookRow(Buffer const & buf, ostream & os, row_type row, +int LyXTabular::docbookRow(Buffer const & buf, odocstream & os, row_type row, OutputParams const & runparams) const { int ret = 0; @@ -2358,7 +2358,7 @@ int LyXTabular::docbookRow(Buffer const & buf, ostream & os, row_type row, } -int LyXTabular::docbook(Buffer const & buf, ostream & os, +int LyXTabular::docbook(Buffer const & buf, odocstream & os, OutputParams const & runparams) const { int ret = 0; diff --git a/src/tabular.h b/src/tabular.h index b1be68f7ff..6241916e4c 100644 --- a/src/tabular.h +++ b/src/tabular.h @@ -313,7 +313,7 @@ public: int latex(Buffer const &, lyx::odocstream &, OutputParams const &) const; // - int docbook(Buffer const & buf, std::ostream & os, + int docbook(Buffer const & buf, lyx::odocstream & os, OutputParams const &) const; /// int plaintext(Buffer const &, lyx::odocstream &, @@ -617,7 +617,7 @@ public: std::vector const &, bool onlydata) const; /// auxiliary function for docbook - int docbookRow(Buffer const & buf, std::ostream & os, row_type, + int docbookRow(Buffer const & buf, lyx::odocstream & os, row_type, OutputParams const &) const; private: -- 2.39.5