lyx_mirror/src/FontEnums.h
Jean-Marc Lasgouttes cfb8b214d1 Treat math style a bit more like other font features
While math style (scriptstyle,...) is not really something that can be
set, it is useful for text subscripts and superscripts and therefore
it makes sense to handle it in some places.

With this change, style is still not a first class feature, but good
enough for now. In particular, it is taken into account in update().
2019-03-22 16:19:05 +01:00

167 lines
2.2 KiB
C++

// -*- C++ -*-
/**
* \file src/FontEnums.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
* \author Jean-Marc Lasgouttes
* \author Angus Leeming
* \author Dekel Tsur
*
* Full author contact details are available in file CREDITS.
*/
#ifndef FONT_ENUMS_H
#define FONT_ENUMS_H
namespace lyx {
/** The value INHERIT_* means that the font attribute is
inherited from the layout. In the case of layout fonts, the
attribute is inherited from the default font.
The value IGNORE_* is used with Font::update() when the
attribute should not be changed.
*/
enum FontFamily {
///
ROMAN_FAMILY = 0,
///
SANS_FAMILY,
///
TYPEWRITER_FAMILY,
///
SYMBOL_FAMILY,
///
CMR_FAMILY,
///
CMSY_FAMILY,
///
CMM_FAMILY,
///
CMEX_FAMILY,
///
MSA_FAMILY,
///
MSB_FAMILY,
///
EUFRAK_FAMILY,
///
RSFS_FAMILY,
///
STMARY_FAMILY,
///
WASY_FAMILY,
///
ESINT_FAMILY,
///
INHERIT_FAMILY,
///
IGNORE_FAMILY,
///
NUM_FAMILIES = INHERIT_FAMILY
};
///
enum FontSeries {
///
MEDIUM_SERIES = 0,
///
BOLD_SERIES,
///
INHERIT_SERIES,
///
IGNORE_SERIES,
///
NUM_SERIES = INHERIT_SERIES
};
///
enum FontShape {
///
UP_SHAPE = 0,
///
ITALIC_SHAPE,
///
SLANTED_SHAPE,
///
SMALLCAPS_SHAPE,
///
INHERIT_SHAPE,
///
IGNORE_SHAPE,
///
NUM_SHAPE = INHERIT_SHAPE
};
///
enum FontSize {
///
FONT_SIZE_TINY = 0,
///
FONT_SIZE_SCRIPT,
///
FONT_SIZE_FOOTNOTE,
///
FONT_SIZE_SMALL,
///
FONT_SIZE_NORMAL,
///
FONT_SIZE_LARGE,
///
FONT_SIZE_LARGER,
///
FONT_SIZE_LARGEST,
///
FONT_SIZE_HUGE,
///
FONT_SIZE_HUGER,
///
FONT_SIZE_INCREASE,
///
FONT_SIZE_DECREASE,
///
FONT_SIZE_INHERIT,
///
FONT_SIZE_IGNORE,
///
NUM_SIZE = FONT_SIZE_INCREASE
};
/// Used for emph, underbar, noun and latex toggles
enum FontState {
///
FONT_OFF,
///
FONT_ON,
///
FONT_TOGGLE,
///
FONT_INHERIT,
///
FONT_IGNORE
};
/// Math styles
enum MathStyle {
///
LM_ST_SCRIPTSCRIPT = 0,
///
LM_ST_SCRIPT,
///
LM_ST_TEXT,
///
LM_ST_DISPLAY,
///
LM_ST_INHERIT,
///
LM_ST_IGNORE,
/// the text and display fonts are the same
NUM_STYLE = LM_ST_DISPLAY
};
} // namespace lyx
#endif