X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfont.h;h=17b2359b11a0217262fd774c19e269f87863c828;hb=5091380d6bad1686800e384ed1bbb03836a15aab;hp=28611e542959c8c43975f61d828896d3244615a3;hpb=7ea7dabed1b72cc25dcbdc482ac006f2b61dacfd;p=lyx.git diff --git a/src/lyxfont.h b/src/lyxfont.h index 28611e5429..17b2359b11 100644 --- a/src/lyxfont.h +++ b/src/lyxfont.h @@ -1,11 +1,11 @@ // -*- C++ -*- /* This file is part of * ====================================================== - * + * * LyX, The Document Processor - * + * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2001 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ @@ -59,6 +59,8 @@ public: /// EUFRAK_FAMILY, /// + WASY_FAMILY, + /// INHERIT_FAMILY, /// IGNORE_FAMILY, @@ -125,7 +127,7 @@ public: /// IGNORE_SIZE }; - + /// Used for emph, underbar, noun and latex toggles enum FONT_MISC_STATE { /// @@ -177,28 +179,28 @@ public: /// Decreases font size by one LyXFont & decSize(); - + /// Increases font size by one LyXFont & incSize(); - + /// FONT_FAMILY family() const; - + /// FONT_SERIES series() const; - + /// FONT_SHAPE shape() const; - + /// FONT_SIZE size() const; - + /// FONT_MISC_STATE emph() const; - + /// FONT_MISC_STATE underbar() const; - + /// FONT_MISC_STATE noun() const; @@ -208,7 +210,7 @@ public: /// LColor::color color() const; - /// + /// Language const * language() const; /// @@ -219,7 +221,7 @@ public: /// bool isSymbolFont() const; - + /// LyXFont & setFamily(LyXFont::FONT_FAMILY f); /// @@ -238,21 +240,21 @@ public: LyXFont & setNumber(LyXFont::FONT_MISC_STATE n); /// LyXFont & setColor(LColor::color c); - /// + /// LyXFont & setLanguage(Language const * l); /// Set family after LyX text format LyXFont & setLyXFamily(string const &); - + /// Set series after LyX text format LyXFont & setLyXSeries(string const &); - + /// Set shape after LyX text format LyXFont & setLyXShape(string const &); - + /// Set size after LyX text format LyXFont & setLyXSize(string const &); - + /// Returns misc flag after LyX text format LyXFont::FONT_MISC_STATE setLyXMisc(string const &); @@ -261,7 +263,7 @@ public: /// Returns size of font in LaTeX text notation string const latexSize() const; - + /** Updates font settings according to request. If an attribute is IGNORE, the attribute is left as it is. When toggleall = true, all properties that matches the font in use @@ -274,30 +276,21 @@ public: 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; - + /// Read a font specification from LyXLex. Used for layout files. 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 @@ -326,13 +319,11 @@ public: /// Converts logical attributes to concrete shape attribute LyXFont::FONT_SHAPE realShape() const; -private: - /// + + /** Compaq cxx 6.5 requires that the definition be public so that + it can compile operator==() + */ struct FontBits { - /// - bool operator==(FontBits const & fb1) const; - /// - bool operator!=(FontBits const & fb1) const; /// FONT_FAMILY family; /// @@ -352,19 +343,20 @@ private: /// FONT_MISC_STATE number; }; +private: /// FontBits bits; - + /// Language const * lang; - + /// Sane font static FontBits sane; - + /// All inherit font static FontBits inherit; - + /// All ignore font static FontBits ignore; @@ -382,7 +374,7 @@ LyXFont::FONT_SHAPE LyXFont::shape() const inline -LyXFont::FONT_FAMILY LyXFont::family() const +LyXFont::FONT_FAMILY LyXFont::family() const { return bits.family; } @@ -426,6 +418,7 @@ bool LyXFont::isSymbolFont() const case LyXFont::CMEX_FAMILY: case LyXFont::MSA_FAMILY: case LyXFont::MSB_FAMILY: + case LyXFont::WASY_FAMILY: return true; default: return false; @@ -435,6 +428,14 @@ bool LyXFont::isSymbolFont() const /// std::ostream & operator<<(std::ostream &, LyXFont::FONT_MISC_STATE); +bool operator==(LyXFont::FontBits const & lhs, LyXFont::FontBits const & rhs); + +inline +bool operator!=(LyXFont::FontBits const & lhs, LyXFont::FontBits const & rhs) +{ + return !(lhs == rhs); +} + /// inline bool operator==(LyXFont const & font1, LyXFont const & font2) @@ -449,4 +450,6 @@ bool operator!=(LyXFont const & font1, LyXFont const & font2) { return !(font1 == font2); } + + #endif