X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.C;h=dff424a9af00d7cb4d0b5cae3fedd22f7e08c9f9;hb=89b422b320a352e503c0625820da1073805d74a9;hp=856fa185eee872db815f24d2f5adcaa5021c188b;hpb=3d10165536ede2f20d690cd99990f440618525ac;p=lyx.git diff --git a/src/bufferparams.C b/src/bufferparams.C index 856fa185ee..dff424a9af 100644 --- a/src/bufferparams.C +++ b/src/bufferparams.C @@ -261,7 +261,8 @@ BufferParams::Impl::Impl() : defskip(VSpace::MEDSKIP) { // set initial author - authorlist.record(Author(lyxrc.user_name, lyxrc.user_email)); + // FIXME UNICODE + authorlist.record(Author(from_utf8(lyxrc.user_name), from_utf8(lyxrc.user_email))); } @@ -850,14 +851,28 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features, 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 << from_ascii(*it) << ','; - os << from_ascii(doc_encoding) << "]{inputenc}\n"; - texrow.newline(); - } else if (inputenc != "default") { + // thailatex does not use the inputenc package, but sets up + // babel directly for tis620-0 encoding, therefore we must + // not request inputenc for tis620-0 encoding + if (!encodings.empty() || doc_encoding != "tis620-0") { + os << "\\usepackage["; + std::set::const_iterator it = encodings.begin(); + std::set::const_iterator const end = encodings.end(); + if (it != end) { + os << from_ascii(*it); + ++it; + } + for (; it != end; ++it) + os << ',' << from_ascii(*it); + if (doc_encoding != "tis620-0") { + if (!encodings.empty()) + os << ','; + os << from_ascii(doc_encoding); + } + os << "]{inputenc}\n"; + texrow.newline(); + } + } else if (inputenc != "default" && inputenc != "tis620-0") { os << "\\usepackage[" << from_ascii(inputenc) << "]{inputenc}\n"; texrow.newline(); @@ -983,26 +998,26 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features, if (paragraph_separation) { switch (getDefSkip().kind()) { case VSpace::SMALLSKIP: - os << "\\setlength\\parskip{\\smallskipamount}\n"; + os << "\\setlength{\\parskip}{\\smallskipamount}\n"; break; case VSpace::MEDSKIP: - os << "\\setlength\\parskip{\\medskipamount}\n"; + os << "\\setlength{\\parskip}{\\medskipamount}\n"; break; case VSpace::BIGSKIP: - os << "\\setlength\\parskip{\\bigskipamount}\n"; + os << "\\setlength{\\parskip}{\\bigskipamount}\n"; break; case VSpace::LENGTH: - os << "\\setlength\\parskip{" + os << "\\setlength{\\parskip}{" << from_utf8(getDefSkip().length().asLatexString()) << "}\n"; break; default: // should never happen // Then delete it. - os << "\\setlength\\parskip{\\medskipamount}\n"; + os << "\\setlength{\\parskip}{\\medskipamount}\n"; break; } texrow.newline(); - os << "\\setlength\\parindent{0pt}\n"; + os << "\\setlength{\\parindent}{0pt}\n"; texrow.newline(); } @@ -1451,9 +1466,10 @@ string const BufferParams::loadFonts(LaTeXFeatures & features, string const & rm Encoding const & BufferParams::encoding() const { - if (inputenc == "auto") + if (inputenc == "auto" || inputenc == "default") return *(language->encoding()); - Encoding const * const enc = encodings.getFromLaTeXName(inputenc); + Encoding const * const enc = + encodings.getFromLaTeXName(inputenc); if (enc) return *enc; lyxerr << "Unknown inputenc value `" << inputenc