#include "Color.h"
#include "ColorCode.h"
#include "FontEnums.h"
+
+#include "support/Changer.h"
#include "support/strfwd.h"
+
namespace lyx {
class Lexer;
if (noun_ == FONT_ON)
return SMALLCAPS_SHAPE;
if (emph_ == FONT_ON)
- return (shape_ == UP_SHAPE) ? ITALIC_SHAPE : UP_SHAPE;
+ return (shape_ == ITALIC_SHAPE) ? UP_SHAPE : ITALIC_SHAPE;
return shape_;
}
case CMEX_FAMILY:
case MSA_FAMILY:
case MSB_FAMILY:
+ case STMARY_FAMILY:
case WASY_FAMILY:
case ESINT_FAMILY:
return true;
}
}
+ /// Temporarily replace the color with \param color.
+ Changer changeColor(ColorCode const color, bool cond = true);
+ /// Temporarily replace the shape with \param shape.
+ Changer changeShape(FontShape const shape, bool cond = true);
+ /// Temporarily replace the FontInfo with \param font, and optionally
+ /// \param realize the \param font against the current FontInfo.
+ Changer change(FontInfo font, bool realize = false, bool cond = true);
+
private:
friend bool operator==(FontInfo const & lhs, FontInfo const & rhs);
/// Read a font specification from Lexer. Used for layout files.
FontInfo lyxRead(Lexer &, FontInfo const & fi = sane_font);
+/// Write a font specification. Used for layout files.
+void lyxWrite(std::ostream &, FontInfo const &, std::string const &, int);
+
} // namespace lyx
#endif