X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfont.h;h=28611e542959c8c43975f61d828896d3244615a3;hb=9dafe9b9a5cb12e19e0f3a1a9669d81dc140b0e3;hp=07a0348d80e4ac14af04e85d8a1c6b3d557fe572;hpb=ff367a38b1815c6ee5d85f9ab1b1dee80b3a3fd2;p=lyx.git diff --git a/src/lyxfont.h b/src/lyxfont.h index 07a0348d80..28611e5429 100644 --- a/src/lyxfont.h +++ b/src/lyxfont.h @@ -5,7 +5,7 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. + * Copyright 1995-2001 The LyX Team. * * ====================================================== */ @@ -19,24 +19,12 @@ #include #include "LString.h" -#include "language.h" #include "LColor.h" -// It might happen that locale.h defines ON and OFF. This is not good -// for us, since we use these names below. But of course this is due -// to some old compilers. Than is broken when it comes to C++ scoping. -#include "gettext.h" // so that we are sure tht it won't be included -// later. -#ifdef ON -#undef ON -#endif - -#ifdef OFF -#undef OFF -#endif - class LyXLex; class BufferParams; +class Language; + /// class LyXFont { @@ -57,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 }; /// @@ -198,9 +202,6 @@ public: /// FONT_MISC_STATE noun() const; - /// - FONT_MISC_STATE latex() const; - /// FONT_MISC_STATE number() const; @@ -215,6 +216,9 @@ public: /// bool isVisibleRightToLeft() const; + + /// + bool isSymbolFont() const; /// LyXFont & setFamily(LyXFont::FONT_FAMILY f); @@ -231,8 +235,6 @@ public: /// LyXFont & setNoun(LyXFont::FONT_MISC_STATE n); /// - LyXFont & setLatex(LyXFont::FONT_MISC_STATE l); - /// LyXFont & setNumber(LyXFont::FONT_MISC_STATE n); /// LyXFont & setColor(LColor::color c); @@ -269,7 +271,7 @@ 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, + void update(LyXFont const & newfont, Language const * default_lang, bool toggleall = false); @@ -278,8 +280,11 @@ public: 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; @@ -287,7 +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 @@ -314,9 +324,6 @@ public: friend bool operator==(LyXFont const & font1, LyXFont const & font2); - /// compares two fonts, ignoring the setting of the Latex part. - bool equalExceptLatex(LyXFont const &) const; - /// Converts logical attributes to concrete shape attribute LyXFont::FONT_SHAPE realShape() const; private: @@ -343,8 +350,6 @@ private: /// FONT_MISC_STATE noun; /// - FONT_MISC_STATE latex; - /// FONT_MISC_STATE number; }; @@ -376,6 +381,27 @@ LyXFont::FONT_SHAPE LyXFont::shape() const } +inline +LyXFont::FONT_FAMILY LyXFont::family() const +{ + return bits.family; +} + + +inline +LyXFont::FONT_SERIES LyXFont::series() const +{ + return bits.series; +} + + +inline +LyXFont::FONT_SIZE LyXFont::size() const +{ + return bits.size; +} + + inline LyXFont::FONT_MISC_STATE LyXFont::emph() const { @@ -383,6 +409,29 @@ LyXFont::FONT_MISC_STATE LyXFont::emph() const } +inline +LyXFont::FONT_MISC_STATE LyXFont::noun() const +{ + return bits.noun; +} + + +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);