Bug 1354876 - Add variables for represents 'normal' value for font-variant-{alternates, east-asian, numeric, ligatures}. r?heycam
draft
Bug 1354876 - Add variables for represents 'normal' value for font-variant-{alternates, east-asian, numeric, ligatures}. r?heycam
MozReview-Commit-ID: 2ofk4h8fN6Z
--- a/gfx/src/nsFont.h
+++ b/gfx/src/nsFont.h
@@ -50,29 +50,29 @@ struct nsFont {
uint8_t style = NS_FONT_STYLE_NORMAL;
// Force this font to not be considered a 'generic' font, even if
// the name is the same as a CSS generic font family.
bool systemFont = false;
// Variant subproperties
uint8_t variantCaps = NS_FONT_VARIANT_CAPS_NORMAL;
- uint8_t variantNumeric = 0;
+ uint8_t variantNumeric = NS_FONT_VARIANT_NUMERIC_NORMAL;
uint8_t variantPosition = NS_FONT_VARIANT_POSITION_NORMAL;
uint8_t variantWidth = NS_FONT_VARIANT_WIDTH_NORMAL;
- uint16_t variantLigatures = 0;
- uint16_t variantEastAsian = 0;
+ uint16_t variantLigatures = NS_FONT_VARIANT_LIGATURES_NORMAL;
+ uint16_t variantEastAsian = NS_FONT_VARIANT_EAST_ASIAN_NORMAL;
// Some font-variant-alternates property values require
// font-specific settings defined via @font-feature-values rules.
// These are resolved *after* font matching occurs.
// -- bitmask for both enumerated and functional propvals
- uint16_t variantAlternates = 0;
+ uint16_t variantAlternates = NS_FONT_VARIANT_ALTERNATES_NORMAL;
// Smoothing - controls subpixel-antialiasing (currently OSX only)
uint8_t smoothing = NS_FONT_SMOOTHING_AUTO;
// The weight of the font; see gfxFontConstants.h.
uint16_t weight = NS_FONT_WEIGHT_NORMAL;
// The stretch of the font (the sum of various NS_FONT_STRETCH_*
--- a/gfx/thebes/gfxFontConstants.h
+++ b/gfx/thebes/gfxFontConstants.h
@@ -42,16 +42,17 @@
#define NS_FONT_SYNTHESIS_STYLE 0x2
#define NS_FONT_DISPLAY_AUTO 0
#define NS_FONT_DISPLAY_BLOCK 1
#define NS_FONT_DISPLAY_SWAP 2
#define NS_FONT_DISPLAY_FALLBACK 3
#define NS_FONT_DISPLAY_OPTIONAL 4
+#define NS_FONT_VARIANT_ALTERNATES_NORMAL 0
// alternates - simple enumerated values
#define NS_FONT_VARIANT_ALTERNATES_HISTORICAL (1 << 0)
// alternates - values that use functional syntax
#define NS_FONT_VARIANT_ALTERNATES_STYLISTIC (1 << 1)
#define NS_FONT_VARIANT_ALTERNATES_STYLESET (1 << 2)
#define NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT (1 << 3)
#define NS_FONT_VARIANT_ALTERNATES_SWASH (1 << 4)
@@ -73,16 +74,17 @@
#define NS_FONT_VARIANT_CAPS_NORMAL 0
#define NS_FONT_VARIANT_CAPS_SMALLCAPS 1
#define NS_FONT_VARIANT_CAPS_ALLSMALL 2
#define NS_FONT_VARIANT_CAPS_PETITECAPS 3
#define NS_FONT_VARIANT_CAPS_ALLPETITE 4
#define NS_FONT_VARIANT_CAPS_TITLING 5
#define NS_FONT_VARIANT_CAPS_UNICASE 6
+#define NS_FONT_VARIANT_EAST_ASIAN_NORMAL 0
#define NS_FONT_VARIANT_EAST_ASIAN_JIS78 (1 << 0)
#define NS_FONT_VARIANT_EAST_ASIAN_JIS83 (1 << 1)
#define NS_FONT_VARIANT_EAST_ASIAN_JIS90 (1 << 2)
#define NS_FONT_VARIANT_EAST_ASIAN_JIS04 (1 << 3)
#define NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED (1 << 4)
#define NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL (1 << 5)
#define NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH (1 << 6)
#define NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH (1 << 7)
@@ -96,16 +98,17 @@
NS_FONT_VARIANT_EAST_ASIAN_JIS04 | \
NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED | \
NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL )
#define NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK ( \
NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH | \
NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH )
+#define NS_FONT_VARIANT_LIGATURES_NORMAL 0
#define NS_FONT_VARIANT_LIGATURES_NONE (1 << 0)
#define NS_FONT_VARIANT_LIGATURES_COMMON (1 << 1)
#define NS_FONT_VARIANT_LIGATURES_NO_COMMON (1 << 2)
#define NS_FONT_VARIANT_LIGATURES_DISCRETIONARY (1 << 3)
#define NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY (1 << 4)
#define NS_FONT_VARIANT_LIGATURES_HISTORICAL (1 << 5)
#define NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL (1 << 6)
#define NS_FONT_VARIANT_LIGATURES_CONTEXTUAL (1 << 7)
@@ -123,16 +126,17 @@
#define NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK ( \
NS_FONT_VARIANT_LIGATURES_HISTORICAL | \
NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL )
#define NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK \
NS_FONT_VARIANT_LIGATURES_CONTEXTUAL | \
NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL
+#define NS_FONT_VARIANT_NUMERIC_NORMAL 0
#define NS_FONT_VARIANT_NUMERIC_LINING (1 << 0)
#define NS_FONT_VARIANT_NUMERIC_OLDSTYLE (1 << 1)
#define NS_FONT_VARIANT_NUMERIC_PROPORTIONAL (1 << 2)
#define NS_FONT_VARIANT_NUMERIC_TABULAR (1 << 3)
#define NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS (1 << 4)
#define NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS (1 << 5)
#define NS_FONT_VARIANT_NUMERIC_SLASHZERO (1 << 6)
#define NS_FONT_VARIANT_NUMERIC_ORDINAL (1 << 7)