X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontInfo.h;h=7e2db94de06c102fbf33fa11e0ca27a6af00ebf1;hb=0a7705a6736a85c3c751f7b4e9998833cdb71fc9;hp=10d72354efeae4717d1a723c7922957895500a7a;hpb=381b86788d382ffe26a1f24427a668b9ee1d061e;p=lyx.git diff --git a/src/FontInfo.h b/src/FontInfo.h index 10d72354ef..7e2db94de0 100644 --- a/src/FontInfo.h +++ b/src/FontInfo.h @@ -15,16 +15,15 @@ #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 { @@ -42,11 +41,14 @@ public: FontState emph, FontState underbar, FontState strikeout, + FontState uuline, + FontState uwave, FontState noun, FontState number) : family_(family), series_(series), shape_(shape), size_(size), color_(color), background_(background), paint_color_(), emph_(emph), - underbar_(underbar), strikeout_(strikeout), noun_(noun), number_(number) + underbar_(underbar), strikeout_(strikeout), uuline_(uuline), + uwave_(uwave), noun_(noun), number_(number) {} /// Decreases font size by one @@ -70,6 +72,10 @@ public: void setUnderbar(FontState u) { underbar_ = u; } FontState strikeout() const { return strikeout_; } void setStrikeout(FontState s) { strikeout_ = s; } + FontState uuline() const { return uuline_; } + void setUuline(FontState s) { uuline_ = s; } + FontState uwave() const { return uwave_; } + void setUwave(FontState s) { uwave_ = s; } FontState noun() const { return noun_; } void setNoun(FontState n) { noun_ = n; } FontState number() const { return number_; } @@ -98,6 +104,9 @@ public: /// 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 @@ -150,6 +159,10 @@ private: /// FontState strikeout_; /// + FontState uuline_; + /// + FontState uwave_; + /// FontState noun_; /// FontState number_; @@ -167,6 +180,8 @@ inline bool operator==(FontInfo const & lhs, FontInfo const & rhs) && lhs.emph_ == rhs.emph_ && lhs.underbar_ == rhs.underbar_ && lhs.strikeout_ == rhs.strikeout_ + && lhs.uuline_ == rhs.uuline_ + && lhs.uwave_ == rhs.uwave_ && lhs.noun_ == rhs.noun_ && lhs.number_ == rhs.number_; } @@ -184,7 +199,27 @@ extern FontInfo const inherit_font; /// 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); + } // namespace lyx -#endif // TEX2LYX_FONT_H #endif