]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.cpp
more const correctness
[lyx.git] / src / BufferParams.cpp
index 9d121cb4f410dc3a322521ee58024de9e085558f..373eee5dd0d0d98359ab47944e18cb75d341a46d 100644 (file)
@@ -388,6 +388,7 @@ BufferParams::BufferParams()
        fonts_math[1] = "auto";
        fonts_default_family = "default";
        useNonTeXFonts = false;
+       use_microtype = false;
        fonts_expert_sc = false;
        fonts_old_figures = false;
        fonts_sans_scale[0] = 100;
@@ -771,6 +772,8 @@ string BufferParams::readToken(Lexer & lex, string const & token,
                lex >> fonts_typewriter_scale[1];
        } else if (token == "\\font_cjk") {
                lex >> fonts_cjk;
+       } else if (token == "\\use_microtype") {
+               lex >> use_microtype;
        } else if (token == "\\paragraph_separation") {
                string parsep;
                lex >> parsep;
@@ -1139,6 +1142,7 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const
        if (!fonts_cjk.empty()) {
                os << "\\font_cjk " << fonts_cjk << '\n';
        }
+       os << "\\use_microtype " << convert<string>(use_microtype) << '\n';
        os << "\\graphics " << graphics_driver << '\n';
        os << "\\default_output_format " << default_output_format << '\n';
        os << "\\output_sync " << output_sync << '\n';
@@ -1411,6 +1415,9 @@ void BufferParams::validate(LaTeXFeatures & features) const
 
        if (useNonTeXFonts && fontsMath() != "auto")
                features.require("unicode-math");
+       
+       if (use_microtype)
+               features.require("microtype");
 
        if (!language->requires().empty())
                features.require(language->requires());
@@ -2198,7 +2205,7 @@ bool BufferParams::hasClassDefaults() const
 
 DocumentClass const & BufferParams::documentClass() const
 {
-       return *doc_class_.get();
+       return *doc_class_;
 }
 
 
@@ -2966,8 +2973,8 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
        // XeTeX/LuaTeX: (see also #9740)
        // With Unicode fonts we use utf8-plain without encoding package.
        // With TeX fonts, we cannot use utf8-plain, but "inputenc" fails.
-       // XeTeX must use ASCII encoding, for LuaTeX, we load
-       // "luainputenc" (see below).
+       // XeTeX must use ASCII encoding (see Buffer.cpp),
+       //  for LuaTeX, we load "luainputenc" (see below).
        if (useNonTeXFonts || features.runparams().flavor == OutputParams::XETEX)
                return;