#ifndef FONT_PROPERTIES_H
#define FONT_PROPERTIES_H
-#ifdef TEX2LYX
-#include "tex2lyx/Font.h"
-#else
-
#include "Color.h"
#include "ColorCode.h"
#include "FontEnums.h"
+#include "support/strfwd.h"
namespace lyx {
+class Lexer;
+
///
class FontInfo
{
/// Increases font size by one
FontInfo & incSize();
- /// Accessor methods.
- ///@{
+ /// \name Accessor methods
+ //@{
FontFamily family() const { return family_; }
void setFamily(FontFamily f) { family_ = f; }
FontSeries series() const { return series_; }
void setColor(ColorCode c) { color_ = c; }
ColorCode background() const { return background_; }
void setBackground(ColorCode b) { background_ = b; }
- ///@}
+ //@}
///
void update(FontInfo const & newfont, bool toggleall);
/// Sets the color which is used during painting
void setPaintColor(Color c) { paint_color_ = c; }
+ ///
+ docstring asCSS() const;
+
/// Converts logical attributes to concrete shape attribute
/// Try hard to inline this as it shows up with 4.6 % in the profiler.
FontShape realShape() const
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;
/// All ignore font.
extern FontInfo const ignore_font;
+/// Set family after LyX text format
+void setLyXFamily(std::string const &, FontInfo &);
+
+/// Set series after LyX text format
+void setLyXSeries(std::string const &, FontInfo &);
+
+/// Set shape after LyX text format
+void setLyXShape(std::string const &, FontInfo &);
+
+/// Set size after LyX text format
+void setLyXSize(std::string const &, FontInfo &);
+
+/// Sets color after LyX text format
+void setLyXColor(std::string const &, FontInfo &);
+
+/// Returns misc flag after LyX text format
+FontState setLyXMisc(std::string const &);
+
+/// 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 // TEX2LYX_FONT_H
#endif