X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.C;h=d7e58ef4d7cf6d3351cf5dc8703ae7b0a827fe94;hb=ba62665f966508db5a4de6864f4aa7374c5a5356;hp=959d087b79e8184aa0e00207a26f790a3f47b985;hpb=b7f2544bc3feb497832c0fce6287f2a886e428d0;p=lyx.git diff --git a/src/bufferparams.C b/src/bufferparams.C index 959d087b79..d7e58ef4d7 100644 --- a/src/bufferparams.C +++ b/src/bufferparams.C @@ -236,9 +236,18 @@ SpaceTranslator const & spacetranslator() return translator; } -// ends annonym namespace + +textclass_type defaultTextclass() +{ + // Initialize textclass to point to article. if `first' is + // true in the returned pair, then `second' is the textclass + // number; if it is false, second is 0. In both cases, second + // is what we want. + return textclasslist.numberOfClass("article").second; } +} // anon namespace + class BufferParams::Impl { @@ -282,12 +291,7 @@ void BufferParams::MemoryTraits::destroy(BufferParams::Impl * ptr) BufferParams::BufferParams() - : // Initialize textclass to point to article. if `first' is - // true in the returned pair, then `second' is the textclass - // number; if it is false, second is 0. In both cases, second - // is what we want. - textclass(textclasslist.numberOfClass("article").second), - pimpl_(new Impl) + : textclass(defaultTextclass()), pimpl_(new Impl) { paragraph_separation = PARSEP_INDENT; quotes_language = InsetQuotes::EnglishQ; @@ -422,7 +426,7 @@ string const BufferParams::readToken(LyXLex & lex, string const & token) if (pp.first) { textclass = pp.second; } else { - textclass = 0; + textclass = defaultTextclass(); return classname; } } @@ -825,7 +829,7 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features, // font selection must be done before loading fontenc.sty string const fonts = - loadFonts(features, fontsRoman, fontsSans, + loadFonts(fontsRoman, fontsSans, fontsTypewriter, fontsSC, fontsOSF, fontsSansScale, fontsTypewriterScale); if (!fonts.empty()) { @@ -872,7 +876,8 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features, os << "]{inputenc}\n"; texrow.newline(); } - } else if (inputenc != "default" && inputenc != "tis620-0") { + } else if (inputenc != "default" && inputenc != "tis620-0" && + inputenc != "ascii") { os << "\\usepackage[" << from_ascii(inputenc) << "]{inputenc}\n"; texrow.newline(); @@ -1327,7 +1332,7 @@ string const BufferParams::babelCall(string const & lang_opts) const } -string const BufferParams::loadFonts(LaTeXFeatures & features, string const & rm, +string const BufferParams::loadFonts(string const & rm, string const & sf, string const & tt, bool const & sc, bool const & osf, int const & sfscale, int const & ttscale) const @@ -1371,9 +1376,9 @@ string const BufferParams::loadFonts(LaTeXFeatures & features, string const & rm // Times else if (rm == "times") { // try to load the best available package - if (features.isAvailable("mathptmx")) + if (LaTeXFeatures::isAvailable("mathptmx")) os << "\\usepackage{mathptmx}\n"; - else if (features.isAvailable("mathptm")) + else if (LaTeXFeatures::isAvailable("mathptm")) os << "\\usepackage{mathptm}\n"; else os << "\\usepackage{times}\n"; @@ -1381,7 +1386,7 @@ string const BufferParams::loadFonts(LaTeXFeatures & features, string const & rm // Palatino else if (rm == "palatino") { // try to load the best available package - if (features.isAvailable("mathpazo")) { + if (LaTeXFeatures::isAvailable("mathpazo")) { os << "\\usepackage"; if (osf || sc) { os << '['; @@ -1394,7 +1399,7 @@ string const BufferParams::loadFonts(LaTeXFeatures & features, string const & rm } os << "{mathpazo}\n"; } - else if (features.isAvailable("mathpple")) + else if (LaTeXFeatures::isAvailable("mathpple")) os << "\\usepackage{mathpple}\n"; else os << "\\usepackage{palatino}\n"; @@ -1403,7 +1408,7 @@ string const BufferParams::loadFonts(LaTeXFeatures & features, string const & rm else if (rm == "utopia") { // fourier supersedes utopia.sty, but does // not work with OT1 encoding. - if (features.isAvailable("fourier") + if (LaTeXFeatures::isAvailable("fourier") && lyxrc.fontenc != "default") { os << "\\usepackage"; if (osf || sc) { @@ -1466,20 +1471,14 @@ 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 = (inputenc == "default") ? - encodings.getFromLyXName("iso8859-1") : + Encoding const * const enc = encodings.getFromLaTeXName(inputenc); if (enc) return *enc; - if (inputenc == "default") - lyxerr << "Could not find iso8859-1 encoding for inputenc " - "value `default'. Using inputenc `auto' instead." - << endl; - else - lyxerr << "Unknown inputenc value `" << inputenc - << "'. Using `auto' instead." << endl; + lyxerr << "Unknown inputenc value `" << inputenc + << "'. Using `auto' instead." << endl; return *(language->encoding()); }