X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeXFonts.h;h=8aae4ae31c670291af0698a3a22e2dc77290add2;hb=75f628aec062fe13349048ac8fc081e912e21d0c;hp=7087649a4dcfc8c8b217fc6a5cb2c2486b1331f9;hpb=dcd0586b75321545bc5536d5d4ea33991f3a9a11;p=lyx.git diff --git a/src/LaTeXFonts.h b/src/LaTeXFonts.h index 7087649a4d..8aae4ae31c 100644 --- a/src/LaTeXFonts.h +++ b/src/LaTeXFonts.h @@ -27,84 +27,91 @@ class LaTeXFont { public: /// TeX font // FIXME Add fontenc tag to classes which is used if no font is specified? - LaTeXFont() : osfdefault_(false), switchdefault_(false) { fontenc_.push_back("T1"); } + LaTeXFont() : osfdefault_(false), switchdefault_(false), moreopts_(false), + osffontonly_(false) { fontenc_.push_back("T1"); } /// The font name - docstring const & name() { return name_; } + docstring const & name() const { return name_; } /// The name to appear in the document dialog - docstring const & guiname() { return guiname_; } + docstring const & guiname() const { return guiname_; } /// Font family (rm, sf, tt) - docstring const & family() { return family_; } + docstring const & family() const { return family_; } /// The package that provides this font - docstring const & package() { return package_; } + docstring const & package() const { return package_; } /// Does this provide a specific font encoding? bool hasFontenc(std::string const &) const; /// The font encoding(s) std::vector const & fontencs() const { return fontenc_; } /// Alternative font if package() is not available - std::vector const & altfonts() { return altfonts_; } + std::vector const & altfonts() const { return altfonts_; } /// A font that provides all families - docstring const & completefont() { return completefont_; } + docstring const & completefont() const { return completefont_; } /// A font specifically needed for OT1 font encoding - docstring const & ot1font() { return ot1font_; } + docstring const & ot1font() const { return ot1font_; } /// A font that provides Old Style Figures for this type face - docstring const & osffont() { return osffont_; } - /// A package option needed to load this font - docstring const & packageoption() { return packageoption_; } + docstring const & osffont() const { return osffont_; } /// A package option for Old Style Figures - docstring const & osfoption() { return osfoption_; } + docstring const & osfoption() const { return osfoption_; } /// A package option for true SmallCaps - docstring const & scoption() { return scoption_; } + docstring const & scoption() const { return scoption_; } /// A package option for both Old Style Figures and SmallCaps - docstring const & osfscoption() { return osfscoption_; } + docstring const & osfscoption() const { return osfscoption_; } /// A package option for font scaling - docstring const & scaleoption() { return scaleoption_; } + docstring const & scaleoption() const { return scaleoption_; } + /// A macro for font scaling + docstring const & scalecmd() const { return scalecmd_; } + /// Does this provide additional options? + bool providesMoreOptions(bool ot1, bool complete, bool nomath) const; /// Alternative requirement to test for - docstring const & requires() { return requires_; } + docstring const & required() const { return required_; } /// Does this font provide a given \p feature bool provides(std::string const & name, bool ot1, - bool complete, bool nomath); + bool complete, bool nomath) const; /// Issue the familydefault switch bool switchdefault() const { return switchdefault_; } /// Does the font provide Old Style Figures as default? bool osfDefault() const { return osfdefault_; } + /// Does OSF font replace (rather than complement) the non-OSF one? + bool osfFontOnly() const { return osffontonly_; } /// Is this font available? - bool available(bool ot1, bool nomath); + bool available(bool ot1, bool nomath) const; /// Does this font provide an alternative without math? - bool providesNoMath(bool ot1, bool complete); + bool providesNoMath(bool ot1, bool complete) const; /// Does this font provide Old Style Figures? - bool providesOSF(bool ot1, bool complete, bool nomath); + bool providesOSF(bool ot1, bool complete, bool nomath) const; /// Does this font provide optional true SmallCaps? - bool providesSC(bool ot1, bool complete, bool nomath); + bool providesSC(bool ot1, bool complete, bool nomath) const; /** does this font provide OSF and Small Caps only via * a single, undifferentiated expert option? */ - bool hasMonolithicExpertSet(bool ot1, bool complete, bool nomath); + bool hasMonolithicExpertSet(bool ot1, bool complete, bool nomath) const; /// Does this font provide scaling? - bool providesScale(bool ot1, bool complete, bool nomath); + bool providesScale(bool ot1, bool complete, bool nomath) const; /// Return the LaTeX Code std::string const getLaTeXCode(bool dryrun, bool ot1, bool complete, bool sc, bool osf, bool nomath, - int const & scale = 100); + std::string const & extraopts = std::string(), + int scale = 100) const; /// Return the actually used font - docstring const getUsedFont(bool ot1, bool complete, bool nomath); + docstring const getUsedFont(bool ot1, bool complete, bool nomath, bool osf) const; /// Return the actually used package - docstring const getUsedPackage(bool ot1, bool complete, bool nomath); + docstring const getUsedPackage(bool ot1, bool complete, bool nomath) const; /// bool read(Lexer & lex); /// bool readFont(Lexer & lex); private: /// Return the preferred available package - std::string const getAvailablePackage(bool dryrun); + std::string const getAvailablePackage(bool dryrun) const; /// Return the package options std::string const getPackageOptions(bool ot1, bool complete, bool sc, bool osf, int scale, - bool nomath); + std::string const & extraopts, + bool nomath) const; /// Return an alternative font - LaTeXFont altFont(docstring const & name); + LaTeXFont altFont(docstring const & name) const; /// docstring name_; /// @@ -126,7 +133,7 @@ private: /// docstring osffont_; /// - docstring packageoption_; + docstring packageoptions_; /// docstring osfoption_; /// @@ -136,15 +143,21 @@ private: /// docstring scaleoption_; /// + docstring scalecmd_; + /// std::vector provides_; /// - docstring requires_; + docstring required_; /// docstring preamble_; /// bool osfdefault_; /// bool switchdefault_; + /// + bool moreopts_; + /// + bool osffontonly_; };