From 8e17851d87712c08ed4133a3408f42637c2de7a0 Mon Sep 17 00:00:00 2001 From: Asger Ottar Alstrup Date: Thu, 19 Oct 2006 19:28:27 +0000 Subject: [PATCH] - UTF-8 works on Windows as well - We even spit out the right usepackage chant git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15385 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/bufferparams.C | 44 ++++++++++++++++++++++++------------------- src/output_latex.C | 14 ++++++++------ src/paragraph_pimpl.C | 4 ++-- 3 files changed, 35 insertions(+), 27 deletions(-) diff --git a/src/bufferparams.C b/src/bufferparams.C index fa34a76207..a43365cc07 100644 --- a/src/bufferparams.C +++ b/src/bufferparams.C @@ -839,26 +839,32 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features, texrow.newline(); } - if (inputenc == "auto") { - string const doc_encoding = - language->encoding()->latexName(); - - // Create a list with all the input encodings used - // in the document - std::set encodings = - features.getEncodingSet(doc_encoding); - - os << "\\usepackage["; - std::set::const_iterator it = encodings.begin(); - std::set::const_iterator const end = encodings.end(); - for (; it != end; ++it) - os << lyx::from_ascii(*it) << ','; - os << lyx::from_ascii(doc_encoding) << "]{inputenc}\n"; - texrow.newline(); - } else if (inputenc != "default") { - os << "\\usepackage[" << lyx::from_ascii(inputenc) - << "]{inputenc}\n"; + // TODO: Some people want to support more encodings than UTF-8. They can have a field day around here + if (true) { + os << "\\usepackage[utf8]{inputenc}\n"; texrow.newline(); + } else { + if (inputenc == "auto") { + string const doc_encoding = + language->encoding()->latexName(); + + // Create a list with all the input encodings used + // in the document + std::set encodings = + features.getEncodingSet(doc_encoding); + + os << "\\usepackage["; + std::set::const_iterator it = encodings.begin(); + std::set::const_iterator const end = encodings.end(); + for (; it != end; ++it) + os << lyx::from_ascii(*it) << ','; + os << lyx::from_ascii(doc_encoding) << "]{inputenc}\n"; + texrow.newline(); + } else if (inputenc != "default") { + os << "\\usepackage[" << lyx::from_ascii(inputenc) + << "]{inputenc}\n"; + texrow.newline(); + } } if (use_geometry || nonstandard_papersize) { diff --git a/src/output_latex.C b/src/output_latex.C index 0cde7bef10..d739f86176 100644 --- a/src/output_latex.C +++ b/src/output_latex.C @@ -292,12 +292,14 @@ TeXOnePar(Buffer const & buf, } } - if (bparams.inputenc == "auto" && - language->encoding() != previous_language->encoding()) { - os << "\\inputencoding{" - << lyx::from_ascii(language->encoding()->latexName()) - << "}\n"; - texrow.newline(); + if (false) { + if (bparams.inputenc == "auto" && + language->encoding() != previous_language->encoding()) { + os << "\\inputencoding{" + << lyx::from_ascii(language->encoding()->latexName()) + << "}\n"; + texrow.newline(); + } } // In an an inset with unlimited length (all in one row), diff --git a/src/paragraph_pimpl.C b/src/paragraph_pimpl.C index 4291cd8850..b9e7339cd5 100644 --- a/src/paragraph_pimpl.C +++ b/src/paragraph_pimpl.C @@ -666,7 +666,7 @@ void Paragraph::Pimpl::simpleTeXSpecialChars(Buffer const & buf, // I assume this is hack treating typewriter as verbatim if (font.family() == LyXFont::TYPEWRITER_FAMILY) { if (c != '\0') { - os << c; + os.put(c); } break; } @@ -691,7 +691,7 @@ void Paragraph::Pimpl::simpleTeXSpecialChars(Buffer const & buf, } if (pnr == phrases_nr && c != '\0') { - os << c; + os.put(c); } break; }