* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
* \author Jean-Marc Lasgouttes
* \author Angus Leeming
* \author Dekel Tsur
#ifndef FONT_H
#define FONT_H
-#ifdef TEX2LYX
-#include "tex2lyx/Font.h"
-#else
-
-#include "ColorCode.h"
#include "FontInfo.h"
-#include "support/docstream.h"
+#include "support/strfwd.h"
namespace lyx {
-class Lexer;
class BufferParams;
class Language;
class LaTeXFeatures;
class OutputParams;
+class otexstream;
///
class Font {
public:
///
- Font(FontInfo = sane_font, Language const * l = 0);
+ explicit Font(FontInfo = sane_font, Language const * l = nullptr);
///
FontInfo & fontInfo() { return bits_; }
///
void setLanguage(Language const * l);
- /// Returns misc flag after LyX text format
- FontState setLyXMisc(std::string const &);
-
-
/// Returns size of font in LaTeX text notation
std::string const latexSize() const;
to this font. Returns number of chars written. Base is the
font state active now.
*/
- int latexWriteStartChanges(odocstream &, BufferParams const & bparams,
+ int latexWriteStartChanges(otexstream &, BufferParams const & bparams,
OutputParams const & runparams,
Font const & base,
- Font const & prev) const;
+ Font const & prev,
+ bool non_inherit_inset = false,
+ bool needs_cprotection = false) const;
/** Writes the tail of the LaTeX needed to change to this font.
Returns number of chars written. Base is the font state we want
to achieve.
*/
- int latexWriteEndChanges(odocstream &, BufferParams const & bparams,
+ int latexWriteEndChanges(otexstream &, BufferParams const & bparams,
OutputParams const & runparams,
Font const & base,
Font const & next,
- bool const & closeLanguage = true) const;
+ bool & needPar,
+ bool closeLanguage = true) const;
/// Build GUI description of font state
- docstring const stateText(BufferParams * params) const;
+ docstring const stateText(BufferParams * params = nullptr, bool const terse = false) const;
///
void validate(LaTeXFeatures & features) const;
FontInfo bits_;
///
Language const * lang_;
-
/// Did latexWriteStartChanges open an encoding environment?
mutable bool open_encoding_;
};
+///
+std::ostream & operator<<(std::ostream & os, FontInfo const & f);
+
///
inline
return !(font1 == font2);
}
-/** Returns the current freefont, encoded as a std::string to be passed to the
- * frontends. Implemented in Text3.cpp.
- */
-std::string const freefont2string();
-
-
-/// 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 &);
-
-/// Read a font specification from Lexer. Used for layout files.
-FontInfo lyxRead(Lexer &);
-
} // namespace lyx
-#endif // TEX2LYX
#endif