]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.h
More requires --> required, for C++2a.
[lyx.git] / src / BufferParams.h
index aa8385582f42e5b6b047664ef1d54729d8d7f04b..c66dd6185a3c38c60eb104ce79bcad2e346bbb6c 100644 (file)
@@ -283,16 +283,26 @@ public:
        bool useNonTeXFonts;
        /// use expert Small Caps
        bool fonts_expert_sc;
-       /// use Old Style Figures
-       bool fonts_old_figures;
+       /// use Old Style Figures (rm)
+       bool fonts_roman_osf;
+       /// use Old Style Figures (sf)
+       bool fonts_sans_osf;
+       /// use Old Style Figures (tt)
+       bool fonts_typewriter_osf;
+       /// the options for the roman font
+       std::string font_roman_opts;
        /// the scale factor of the sf font: [0] for TeX fonts, [1] for non-TeX fonts
        int fonts_sans_scale[2];
        /// the scale factor of the sf font
        int fontsSansScale() const { return fonts_sans_scale[useNonTeXFonts]; }
+       // the options for the sans font
+       std::string font_sans_opts;
        /// the scale factor of the tt font: [0] for TeX fonts, [1] for non-TeX fonts
        int fonts_typewriter_scale[2];
        /// the scale factor of the tt font
        int fontsTypewriterScale() const { return fonts_typewriter_scale[useNonTeXFonts]; }
+       // the options for the typewriter font
+       std::string font_typewriter_opts;
        /// the font used by the CJK command
        std::string fonts_cjk;
        /// use LaTeX microtype package
@@ -424,7 +434,11 @@ public:
         */
        bool output_changes;
        ///
+       bool change_bars;
+       ///
        bool compressed;
+       ///
+       bool postpone_fragile_content;
 
        /// the author list for the document
        AuthorList & authors();
@@ -456,7 +470,8 @@ public:
                XDVI
        };
        ///
-       std::string paperSizeName(PapersizePurpose purpose) const;
+       std::string paperSizeName(PapersizePurpose purpose,
+                                 std::string const & psize = std::string()) const;
        /// set up if and how babel is called
        std::string babelCall(std::string const & lang_opts, bool const langoptions) const;
        /// return supported drivers for specific packages
@@ -509,6 +524,10 @@ public:
        void setBibEncoding(std::string const & s) { bib_encoding = s; }
        /// Get the bib file encoding (for biblatex)
        std::string const & bibEncoding() const { return bib_encoding; }
+       /// Set encoding for individual bib file (for biblatex)
+       void setBibFileEncoding(std::string const & file, std::string const & enc);
+       ///
+       std::string const bibFileEncoding(std::string const & file) const;
 
        /// options for pdf output
        PDFOptions & pdfoptions();
@@ -546,6 +565,10 @@ public:
        bool use_refstyle;
        /// use minted? or listings?
        bool use_minted;
+       //output line numbering
+       bool use_lineno;
+       //optional params for lineno package
+       std::string lineno_opts;
 
        /// Return true if language could be set to lang,
        /// otherwise return false and do not change language
@@ -586,11 +609,10 @@ private:
        CiteEngineType cite_engine_type_;
        /// the default BibTeX style file for the document
        std::string biblio_style;
-       /// The encoding of the bib files, for Biblatex
-       /// (only one supported currently)
-       // FIXME: biblatex 3.12 introduces per-file
-       // encoding options. Update once that's spread.
+       /// The main encoding of the bib files, for Biblatex
        std::string bib_encoding;
+       /// Individual file encodings, for Biblatex
+       std::map<std::string, std::string> bib_encodings;
        /// Split bibliography?
        bool use_bibtopic;
        ///