]> git.lyx.org Git - lyx.git/blobdiff - src/bufferparams.C
* Painter.h:
[lyx.git] / src / bufferparams.C
index d45bbe0c0d4cf770b340a642bb89358c1dd141eb..1af925829e9eb59f279a7c58dab23f7b347b9842 100644 (file)
 
 #include <sstream>
 
-namespace support = lyx::support;
 
-using lyx::docstring;
-using lyx::support::bformat;
-using lyx::support::rtrim;
-using lyx::support::tokenPos;
+namespace lyx {
+
+using support::bformat;
+using support::rtrim;
+using support::tokenPos;
 
 using std::endl;
 using std::string;
@@ -61,7 +61,6 @@ using std::ostringstream;
 using std::pair;
 
 namespace Alert = lyx::frontend::Alert;
-namespace biblio = lyx::biblio;
 
 
 // Local translators
@@ -432,7 +431,7 @@ string const BufferParams::readToken(LyXLex & lex, string const & token)
                if (!getLyXTextClass().isTeXClassAvailable()) {
                        docstring const msg =
                                bformat(_("The document uses a missing "
-                                                      "TeX class \"%1$s\".\n"), lyx::from_utf8(classname));
+                                                      "TeX class \"%1$s\".\n"), from_utf8(classname));
                        Alert::warning(_("Document class not available"),
                                       msg + _("LyX will not be able to produce output."));
                }
@@ -693,8 +692,9 @@ void BufferParams::writeFile(ostream & os) const
                                   << user_defined_bullet(i).getSize() << "\n";
                        }
                        else {
+                               // FIXME UNICODE
                                os << "\\bulletLaTeX " << i << " \""
-                                  << user_defined_bullet(i).getText()
+                                  << lyx::to_ascii(user_defined_bullet(i).getText())
                                   << "\"\n";
                        }
                }
@@ -703,18 +703,15 @@ void BufferParams::writeFile(ostream & os) const
        os << "\\tracking_changes " << convert<string>(trackChanges) << "\n";
        os << "\\output_changes " << convert<string>(outputChanges) << "\n";
 
-       if (trackChanges) {
-               // FIXME: Change tracking (MG)
-               AuthorList::Authors::const_iterator it = pimpl_->authorlist.begin();
-               AuthorList::Authors::const_iterator end = pimpl_->authorlist.end();
-               for (; it != end; ++it) {
-                       os << "\\author " << it->second << "\n";
-               }
+       AuthorList::Authors::const_iterator a_it = pimpl_->authorlist.begin();
+       AuthorList::Authors::const_iterator a_end = pimpl_->authorlist.end();
+       for (; a_it != a_end; ++a_it) {
+               os << "\\author " << a_it->second << "\n";
        }
 }
 
 
-bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
+bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
                              TexRow & texrow) const
 {
        os << "\\documentclass";
@@ -730,10 +727,10 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
        }
 
        // custom, A3, B3 and B4 paper sizes need geometry
-       bool nonstandard_papersize = (papersize == PAPER_B3) ||
-                                    (papersize == PAPER_B4) ||
-                                    (papersize == PAPER_A3) ||
-                                    (papersize == PAPER_CUSTOM);
+       bool nonstandard_papersize = papersize == PAPER_B3 
+               || papersize == PAPER_B4
+               || papersize == PAPER_A3
+               || papersize == PAPER_CUSTOM;
 
        if (!use_geometry) {
                switch (papersize) {
@@ -811,10 +808,11 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
        string strOptions(clsoptions.str());
        if (!strOptions.empty()) {
                strOptions = rtrim(strOptions, ",");
-               os << '[' << strOptions << ']';
+               // FIXME UNICODE
+               os << '[' << from_utf8(strOptions) << ']';
        }
 
-       os << '{' << tclass.latexname() << "}\n";
+       os << '{' << from_ascii(tclass.latexname()) << "}\n";
        texrow.newline();
        // end of \documentclass defs
 
@@ -824,15 +822,15 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                          fontsTypewriter, fontsSC, fontsOSF,
                          fontsSansScale, fontsTypewriterScale);
        if (!fonts.empty()) {
-               os << fonts;
+               os << from_ascii(fonts);
                texrow.newline();
        }
        if (fontsDefaultFamily != "default")
                os << "\\renewcommand{\\familydefault}{\\"
-                  << fontsDefaultFamily << "}\n";
+                  << from_ascii(fontsDefaultFamily) << "}\n";
        // this one is not per buffer
        if (lyxrc.fontenc != "default") {
-               os << "\\usepackage[" << lyxrc.fontenc
+               os << "\\usepackage[" << from_ascii(lyxrc.fontenc)
                   << "]{fontenc}\n";
                texrow.newline();
        }
@@ -847,12 +845,14 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                        features.getEncodingSet(doc_encoding);
 
                os << "\\usepackage[";
-               std::copy(encodings.begin(), encodings.end(),
-                         std::ostream_iterator<string>(os, ","));
-               os << doc_encoding << "]{inputenc}\n";
+               std::set<string>::const_iterator it = encodings.begin();
+               std::set<string>::const_iterator const end = encodings.end();
+               for (; it != end; ++it)
+                       os << from_ascii(*it) << ',';
+               os << from_ascii(doc_encoding) << "]{inputenc}\n";
                texrow.newline();
        } else if (inputenc != "default") {
-               os << "\\usepackage[" << inputenc
+               os << "\\usepackage[" << from_ascii(inputenc)
                   << "]{inputenc}\n";
                texrow.newline();
        }
@@ -867,10 +867,10 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                case PAPER_CUSTOM:
                        if (!paperwidth.empty())
                                os << ",paperwidth="
-                                  << paperwidth;
+                                  << from_ascii(paperwidth);
                        if (!paperheight.empty())
                                os << ",paperheight="
-                                  << paperheight;
+                                  << from_ascii(paperheight);
                        break;
                case PAPER_USLETTER:
                        os << ",letterpaper";
@@ -931,19 +931,19 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                        }
                }
                if (!topmargin.empty())
-                       os << ",tmargin=" << topmargin;
+                       os << ",tmargin=" << from_ascii(topmargin);
                if (!bottommargin.empty())
-                       os << ",bmargin=" << bottommargin;
+                       os << ",bmargin=" << from_ascii(bottommargin);
                if (!leftmargin.empty())
-                       os << ",lmargin=" << leftmargin;
+                       os << ",lmargin=" << from_ascii(leftmargin);
                if (!rightmargin.empty())
-                       os << ",rmargin=" << rightmargin;
+                       os << ",rmargin=" << from_ascii(rightmargin);
                if (!headheight.empty())
-                       os << ",headheight=" << headheight;
+                       os << ",headheight=" << from_ascii(headheight);
                if (!headsep.empty())
-                       os << ",headsep=" << headsep;
+                       os << ",headsep=" << from_ascii(headsep);
                if (!footskip.empty())
-                       os << ",footskip=" << footskip;
+                       os << ",footskip=" << from_ascii(footskip);
                os << "}\n";
                texrow.newline();
        }
@@ -954,7 +954,7 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                        os << "\\usepackage{fancyhdr}\n";
                        texrow.newline();
                }
-               os << "\\pagestyle{" << pagestyle << "}\n";
+               os << "\\pagestyle{" << from_ascii(pagestyle) << "}\n";
                texrow.newline();
        }
 
@@ -987,7 +987,7 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                        break;
                case VSpace::LENGTH:
                        os << "\\setlength\\parskip{"
-                          << getDefSkip().length().asLatexString()
+                          << from_utf8(getDefSkip().length().asLatexString())
                           << "}\n";
                        break;
                default: // should never happen // Then delete it.
@@ -1002,9 +1002,9 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
 
        // If we use jurabib, we have to call babel here.
        if (use_babel && features.isRequired("jurabib")) {
-               os << babelCall(language_options.str())
+               os << from_ascii(babelCall(language_options.str()))
                   << '\n'
-                  << features.getBabelOptions();
+                  << from_ascii(features.getBabelOptions());
                texrow.newline();
        }
 
@@ -1066,8 +1066,9 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                                bullets_def += 'v';
                                break;
                        }
+                       // FIXME UNICODE
                        bullets_def += '{' +
-                               user_defined_bullet(i).getText()
+                               lyx::to_ascii(user_defined_bullet(i).getText())
                                + "}\n";
                }
        }
@@ -1101,7 +1102,8 @@ bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
                texrow.newline();
        }
 
-       os << lyxpreamble;
+       // FIXME UNICODE
+       os << from_utf8(lyxpreamble);
        return use_babel;
 }
 
@@ -1231,7 +1233,7 @@ void BufferParams::readBulletsLaTeX(LyXLex & lex)
        if (!lex.next()) return;
        int const index = lex.getInteger();
        lex.next(true);
-       string const temp_str = lex.getString();
+       docstring const temp_str = lex.getDocString();
 
        user_defined_bullet(index).setText(temp_str);
        temp_bullet(index).setText(temp_str);
@@ -1439,3 +1441,6 @@ string const BufferParams::loadFonts(LaTeXFeatures & features, string const & rm
 
        return os.str();
 }
+
+
+} // namespace lyx