]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfont.h
rename Inset to InsetOld
[lyx.git] / src / lyxfont.h
index 28611e542959c8c43975f61d828896d3244615a3..07d71d280413ae5f9780a7f02e726be5ecc643ea 100644 (file)
@@ -1,21 +1,17 @@
 // -*- 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.
  *
  * ====================================================== */
 
 #ifndef LYXFONT_H
 #define LYXFONT_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
 #include <iosfwd>
 
 #include "LString.h"
@@ -59,6 +55,8 @@ public:
                ///
                EUFRAK_FAMILY,
                ///
+               WASY_FAMILY,
+               ///
                INHERIT_FAMILY,
                ///
                IGNORE_FAMILY,
@@ -125,7 +123,7 @@ public:
                ///
                IGNORE_SIZE
        };
+
        /// Used for emph, underbar, noun and latex toggles
        enum FONT_MISC_STATE {
                ///
@@ -177,28 +175,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 +206,7 @@ public:
        ///
        LColor::color color() const;
 
-       ///
+       ///
        Language const * language() const;
 
        ///
@@ -219,7 +217,7 @@ public:
 
        ///
        bool isSymbolFont() const;
-       
+
        ///
        LyXFont & setFamily(LyXFont::FONT_FAMILY f);
        ///
@@ -238,21 +236,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 +259,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 +272,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 +315,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 +339,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 +370,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 +414,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 +424,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 +446,5 @@ bool operator!=(LyXFont const & font1, LyXFont const & font2)
 {
        return !(font1 == font2);
 }
+
 #endif