class LaTeXFont {
public:
/// TeX font
- LaTeXFont() : switchdefault_(false) {}
+ LaTeXFont() : osfdefault_(false), switchdefault_(false) {}
/// The font name
docstring const & name() { return name_; }
/// The name to appear in the document dialog
/// Alternative requirement to test for
docstring const & requires() { return requires_; }
/// Does this font provide a given \p feature
- bool provides(std::string const & name, bool ot1, bool complete);
+ bool provides(std::string const & name, bool ot1,
+ bool complete, bool nomath);
/// Issue the familydefault switch
bool switchdefault() const { return switchdefault_; }
/// Does the font provide Old Style Figures as default?
bool osfDefault() const { return osfdefault_; }
/// Is this font available?
- bool available(bool ot1);
+ bool available(bool ot1, bool nomath);
+ /// Does this font provide an alternative without math?
+ bool providesNoMath(bool ot1, bool complete);
/// Does this font provide Old Style Figures?
- bool providesOSF(bool ot1, bool complete);
+ bool providesOSF(bool ot1, bool complete, bool nomath);
/// Does this font provide optional true SmallCaps?
- bool providesSC(bool ot1, bool complete);
+ bool providesSC(bool ot1, bool complete, bool nomath);
+ /** does this font provide OSF and Small Caps only via
+ * a single, undifferentiated expert option?
+ */
+ bool hasMonolithicExpertSet(bool ot1, bool complete, bool nomath);
/// Does this font provide scaling?
- bool providesScale(bool ot1, bool complete);
+ bool providesScale(bool ot1, bool complete, bool nomath);
/// Return the LaTeX Code
std::string const getLaTeXCode(bool dryrun, bool ot1, bool complete,
- bool sc, bool osf,
+ bool sc, bool osf, bool nomath,
int const & scale = 100);
/// Return the actually used font
- docstring const getUsedFont(bool ot1, bool complete);
+ docstring const getUsedFont(bool ot1, bool complete, bool nomath);
+ /// Return the actually used package
+ docstring const getUsedPackage(bool ot1, bool complete, bool nomath);
///
bool read(Lexer & lex);
///
bool readFont(Lexer & lex);
private:
- /// Return the preferred available package
+ /// Return the preferred available package
std::string const getAvailablePackage(bool dryrun);
/// Return the package options
std::string const getPackageOptions(bool ot1,
bool complete,
bool sc,
bool osf,
- int scale);
+ int scale,
+ bool nomath);
/// Return an alternative font
LaTeXFont altFont(docstring const & name);
///
///
docstring completefont_;
///
+ docstring nomathfont_;
+ ///
docstring ot1font_;
///
docstring osffont_;
///
docstring requires_;
///
+ docstring preamble_;
+ ///
bool osfdefault_;
///
bool switchdefault_;
};
-
-
+
+
/** The list of available LaTeX fonts
*/
class LaTeXFonts {