X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfont.h;h=28611e542959c8c43975f61d828896d3244615a3;hb=9dafe9b9a5cb12e19e0f3a1a9669d81dc140b0e3;hp=f5fcab9b8c142c1e0f044fbf221717ec2c2d576a;hpb=54e7ddb5d9a348ae9cfc60f399e9c0c2658ab4c5;p=lyx.git diff --git a/src/lyxfont.h b/src/lyxfont.h index f5fcab9b8c..28611e5429 100644 --- a/src/lyxfont.h +++ b/src/lyxfont.h @@ -20,10 +20,10 @@ #include "LString.h" #include "LColor.h" -#include "language.h" class LyXLex; class BufferParams; +class Language; /// @@ -45,9 +45,25 @@ public: /// SYMBOL_FAMILY, /// + CMR_FAMILY, + /// + CMSY_FAMILY, + /// + CMM_FAMILY, + /// + CMEX_FAMILY, + /// + MSA_FAMILY, + /// + MSB_FAMILY, + /// + EUFRAK_FAMILY, + /// INHERIT_FAMILY, /// - IGNORE_FAMILY + IGNORE_FAMILY, + /// + NUM_FAMILIES = INHERIT_FAMILY }; /// @@ -200,6 +216,9 @@ public: /// bool isVisibleRightToLeft() const; + + /// + bool isSymbolFont() const; /// LyXFont & setFamily(LyXFont::FONT_FAMILY f); @@ -252,15 +271,20 @@ public: a INHERIT_FAMILY was asked for. This is necessary for the toggle-user-defined-style button on the toolbar. */ - void update(LyXFont const & newfont, bool toggleall = false); + void update(LyXFont const & newfont, + Language const * default_lang, + bool toggleall = false); /** Reduce font to fall back to template where possible. Equal fields are reduced to INHERIT */ void reduce(LyXFont const & tmplt); /// Realize font from a template (INHERIT are realized) +#ifndef INHERIT_LANGUAGE + LyXFont & realize(LyXFont const & tmplt); +#else LyXFont & realize(LyXFont const & tmplt, Language const * language); - +#endif /// Is a given font fully resolved? bool resolved() const; @@ -268,8 +292,12 @@ public: LyXFont & lyxRead(LyXLex &); /// Writes the changes from this font to orgfont in .lyx format in file +#ifndef INHERIT_LANGUAGE + void lyxWriteChanges(LyXFont const & orgfont, std::ostream &) const; +#else void lyxWriteChanges(LyXFont const & orgfont, Language const * doclang, std::ostream &) const; +#endif /** Writes the head of the LaTeX needed to change to this font. Writes to string, the head of the LaTeX needed to change @@ -353,12 +381,6 @@ LyXFont::FONT_SHAPE LyXFont::shape() const } -inline -LyXFont::LyXFont() - : bits(sane), lang(default_language) -{} - - inline LyXFont::FONT_FAMILY LyXFont::family() const { @@ -394,6 +416,22 @@ LyXFont::FONT_MISC_STATE LyXFont::noun() const } +inline +bool LyXFont::isSymbolFont() const +{ + switch (family()) { + case LyXFont::SYMBOL_FAMILY: + case LyXFont::CMSY_FAMILY: + case LyXFont::CMM_FAMILY: + case LyXFont::CMEX_FAMILY: + case LyXFont::MSA_FAMILY: + case LyXFont::MSB_FAMILY: + return true; + default: + return false; + } +} + /// std::ostream & operator<<(std::ostream &, LyXFont::FONT_MISC_STATE);