gfx/thebes/gfxFontConstants.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
michael@0 2 * This Source Code Form is subject to the terms of the Mozilla Public
michael@0 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 5
michael@0 6 /* font constants shared by both thebes and layout */
michael@0 7
michael@0 8 #ifndef GFX_FONT_CONSTANTS_H
michael@0 9 #define GFX_FONT_CONSTANTS_H
michael@0 10
michael@0 11 /*
michael@0 12 * This file is separate from gfxFont.h so that layout can include it
michael@0 13 * without bringing in gfxFont.h and everything it includes.
michael@0 14 */
michael@0 15
michael@0 16 #define NS_FONT_STYLE_NORMAL 0
michael@0 17 #define NS_FONT_STYLE_ITALIC 1
michael@0 18 #define NS_FONT_STYLE_OBLIQUE 2
michael@0 19
michael@0 20 #define NS_FONT_WEIGHT_NORMAL 400
michael@0 21 #define NS_FONT_WEIGHT_BOLD 700
michael@0 22
michael@0 23 #define NS_FONT_STRETCH_ULTRA_CONDENSED (-4)
michael@0 24 #define NS_FONT_STRETCH_EXTRA_CONDENSED (-3)
michael@0 25 #define NS_FONT_STRETCH_CONDENSED (-2)
michael@0 26 #define NS_FONT_STRETCH_SEMI_CONDENSED (-1)
michael@0 27 #define NS_FONT_STRETCH_NORMAL 0
michael@0 28 #define NS_FONT_STRETCH_SEMI_EXPANDED 1
michael@0 29 #define NS_FONT_STRETCH_EXPANDED 2
michael@0 30 #define NS_FONT_STRETCH_EXTRA_EXPANDED 3
michael@0 31 #define NS_FONT_STRETCH_ULTRA_EXPANDED 4
michael@0 32
michael@0 33 #define NS_FONT_SMOOTHING_AUTO 0
michael@0 34 #define NS_FONT_SMOOTHING_GRAYSCALE 1
michael@0 35
michael@0 36 #define NS_FONT_KERNING_AUTO 0
michael@0 37 #define NS_FONT_KERNING_NONE 1
michael@0 38 #define NS_FONT_KERNING_NORMAL 2
michael@0 39
michael@0 40 #define NS_FONT_SYNTHESIS_WEIGHT 0x1
michael@0 41 #define NS_FONT_SYNTHESIS_STYLE 0x2
michael@0 42
michael@0 43 enum {
michael@0 44 eFeatureAlternates_historical,
michael@0 45 eFeatureAlternates_stylistic,
michael@0 46 eFeatureAlternates_styleset,
michael@0 47 eFeatureAlternates_character_variant,
michael@0 48 eFeatureAlternates_swash,
michael@0 49 eFeatureAlternates_ornaments,
michael@0 50 eFeatureAlternates_annotation,
michael@0 51
michael@0 52 eFeatureAlternates_numFeatures
michael@0 53 };
michael@0 54
michael@0 55 // alternates - simple enumerated values
michael@0 56 #define NS_FONT_VARIANT_ALTERNATES_HISTORICAL (1 << eFeatureAlternates_historical)
michael@0 57
michael@0 58 // alternates - values that use functional syntax
michael@0 59 #define NS_FONT_VARIANT_ALTERNATES_STYLISTIC (1 << eFeatureAlternates_stylistic)
michael@0 60 #define NS_FONT_VARIANT_ALTERNATES_STYLESET (1 << eFeatureAlternates_styleset)
michael@0 61 #define NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT (1 << eFeatureAlternates_character_variant)
michael@0 62 #define NS_FONT_VARIANT_ALTERNATES_SWASH (1 << eFeatureAlternates_swash)
michael@0 63 #define NS_FONT_VARIANT_ALTERNATES_ORNAMENTS (1 << eFeatureAlternates_ornaments)
michael@0 64 #define NS_FONT_VARIANT_ALTERNATES_ANNOTATION (1 << eFeatureAlternates_annotation)
michael@0 65
michael@0 66 #define NS_FONT_VARIANT_ALTERNATES_ENUMERATED_MASK \
michael@0 67 NS_FONT_VARIANT_ALTERNATES_HISTORICAL
michael@0 68
michael@0 69 #define NS_FONT_VARIANT_ALTERNATES_FUNCTIONAL_MASK ( \
michael@0 70 NS_FONT_VARIANT_ALTERNATES_STYLISTIC | \
michael@0 71 NS_FONT_VARIANT_ALTERNATES_STYLESET | \
michael@0 72 NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT | \
michael@0 73 NS_FONT_VARIANT_ALTERNATES_SWASH | \
michael@0 74 NS_FONT_VARIANT_ALTERNATES_ORNAMENTS | \
michael@0 75 NS_FONT_VARIANT_ALTERNATES_ANNOTATION )
michael@0 76
michael@0 77 #define NS_FONT_VARIANT_CAPS_NORMAL 0
michael@0 78 #define NS_FONT_VARIANT_CAPS_SMALLCAPS 1
michael@0 79 #define NS_FONT_VARIANT_CAPS_ALLSMALL 2
michael@0 80 #define NS_FONT_VARIANT_CAPS_PETITECAPS 3
michael@0 81 #define NS_FONT_VARIANT_CAPS_ALLPETITE 4
michael@0 82 #define NS_FONT_VARIANT_CAPS_TITLING 5
michael@0 83 #define NS_FONT_VARIANT_CAPS_UNICASE 6
michael@0 84
michael@0 85 enum {
michael@0 86 eFeatureEastAsian_jis78,
michael@0 87 eFeatureEastAsian_jis83,
michael@0 88 eFeatureEastAsian_jis90,
michael@0 89 eFeatureEastAsian_jis04,
michael@0 90 eFeatureEastAsian_simplified,
michael@0 91 eFeatureEastAsian_traditional,
michael@0 92 eFeatureEastAsian_full_width,
michael@0 93 eFeatureEastAsian_prop_width,
michael@0 94 eFeatureEastAsian_ruby,
michael@0 95
michael@0 96 eFeatureEastAsian_numFeatures
michael@0 97 };
michael@0 98
michael@0 99 #define NS_FONT_VARIANT_EAST_ASIAN_JIS78 (1 << eFeatureEastAsian_jis78)
michael@0 100 #define NS_FONT_VARIANT_EAST_ASIAN_JIS83 (1 << eFeatureEastAsian_jis83)
michael@0 101 #define NS_FONT_VARIANT_EAST_ASIAN_JIS90 (1 << eFeatureEastAsian_jis90)
michael@0 102 #define NS_FONT_VARIANT_EAST_ASIAN_JIS04 (1 << eFeatureEastAsian_jis04)
michael@0 103 #define NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED (1 << eFeatureEastAsian_simplified)
michael@0 104 #define NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL (1 << eFeatureEastAsian_traditional)
michael@0 105 #define NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH (1 << eFeatureEastAsian_full_width)
michael@0 106 #define NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH (1 << eFeatureEastAsian_prop_width)
michael@0 107 #define NS_FONT_VARIANT_EAST_ASIAN_RUBY (1 << eFeatureEastAsian_ruby)
michael@0 108
michael@0 109 #define NS_FONT_VARIANT_EAST_ASIAN_VARIANT_MASK ( \
michael@0 110 NS_FONT_VARIANT_EAST_ASIAN_JIS78 | \
michael@0 111 NS_FONT_VARIANT_EAST_ASIAN_JIS83 | \
michael@0 112 NS_FONT_VARIANT_EAST_ASIAN_JIS90 | \
michael@0 113 NS_FONT_VARIANT_EAST_ASIAN_JIS04 | \
michael@0 114 NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED | \
michael@0 115 NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL )
michael@0 116
michael@0 117 #define NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK ( \
michael@0 118 NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH | \
michael@0 119 NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH )
michael@0 120
michael@0 121 enum {
michael@0 122 eFeatureLigatures_none,
michael@0 123 eFeatureLigatures_common,
michael@0 124 eFeatureLigatures_no_common,
michael@0 125 eFeatureLigatures_discretionary,
michael@0 126 eFeatureLigatures_no_discretionary,
michael@0 127 eFeatureLigatures_historical,
michael@0 128 eFeatureLigatures_no_historical,
michael@0 129 eFeatureLigatures_contextual,
michael@0 130 eFeatureLigatures_no_contextual,
michael@0 131
michael@0 132 eFeatureLigatures_numFeatures
michael@0 133 };
michael@0 134
michael@0 135 #define NS_FONT_VARIANT_LIGATURES_NONE (1 << eFeatureLigatures_none)
michael@0 136 #define NS_FONT_VARIANT_LIGATURES_COMMON (1 << eFeatureLigatures_common)
michael@0 137 #define NS_FONT_VARIANT_LIGATURES_NO_COMMON (1 << eFeatureLigatures_no_common)
michael@0 138 #define NS_FONT_VARIANT_LIGATURES_DISCRETIONARY (1 << eFeatureLigatures_discretionary)
michael@0 139 #define NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY (1 << eFeatureLigatures_no_discretionary)
michael@0 140 #define NS_FONT_VARIANT_LIGATURES_HISTORICAL (1 << eFeatureLigatures_historical)
michael@0 141 #define NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL (1 << eFeatureLigatures_no_historical)
michael@0 142 #define NS_FONT_VARIANT_LIGATURES_CONTEXTUAL (1 << eFeatureLigatures_contextual)
michael@0 143 #define NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL (1 << eFeatureLigatures_no_contextual)
michael@0 144
michael@0 145 #define NS_FONT_VARIANT_LIGATURES_COMMON_MASK ( \
michael@0 146 NS_FONT_VARIANT_LIGATURES_COMMON | \
michael@0 147 NS_FONT_VARIANT_LIGATURES_NO_COMMON )
michael@0 148
michael@0 149 #define NS_FONT_VARIANT_LIGATURES_DISCRETIONARY_MASK ( \
michael@0 150 NS_FONT_VARIANT_LIGATURES_DISCRETIONARY | \
michael@0 151 NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY )
michael@0 152
michael@0 153 #define NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK ( \
michael@0 154 NS_FONT_VARIANT_LIGATURES_HISTORICAL | \
michael@0 155 NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL )
michael@0 156
michael@0 157 #define NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK \
michael@0 158 NS_FONT_VARIANT_LIGATURES_CONTEXTUAL | \
michael@0 159 NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL
michael@0 160
michael@0 161 enum {
michael@0 162 eFeatureNumeric_lining,
michael@0 163 eFeatureNumeric_oldstyle,
michael@0 164 eFeatureNumeric_proportional,
michael@0 165 eFeatureNumeric_tabular,
michael@0 166 eFeatureNumeric_diagonal_fractions,
michael@0 167 eFeatureNumeric_stacked_fractions,
michael@0 168 eFeatureNumeric_slashedzero,
michael@0 169 eFeatureNumeric_ordinal,
michael@0 170
michael@0 171 eFeatureNumeric_numFeatures
michael@0 172 };
michael@0 173
michael@0 174 #define NS_FONT_VARIANT_NUMERIC_LINING (1 << eFeatureNumeric_lining)
michael@0 175 #define NS_FONT_VARIANT_NUMERIC_OLDSTYLE (1 << eFeatureNumeric_oldstyle)
michael@0 176 #define NS_FONT_VARIANT_NUMERIC_PROPORTIONAL (1 << eFeatureNumeric_proportional)
michael@0 177 #define NS_FONT_VARIANT_NUMERIC_TABULAR (1 << eFeatureNumeric_tabular)
michael@0 178 #define NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS (1 << eFeatureNumeric_diagonal_fractions)
michael@0 179 #define NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS (1 << eFeatureNumeric_stacked_fractions)
michael@0 180 #define NS_FONT_VARIANT_NUMERIC_SLASHZERO (1 << eFeatureNumeric_slashedzero)
michael@0 181 #define NS_FONT_VARIANT_NUMERIC_ORDINAL (1 << eFeatureNumeric_ordinal)
michael@0 182
michael@0 183 #define NS_FONT_VARIANT_NUMERIC_FIGURE_MASK \
michael@0 184 NS_FONT_VARIANT_NUMERIC_LINING | \
michael@0 185 NS_FONT_VARIANT_NUMERIC_OLDSTYLE
michael@0 186
michael@0 187 #define NS_FONT_VARIANT_NUMERIC_SPACING_MASK \
michael@0 188 NS_FONT_VARIANT_NUMERIC_PROPORTIONAL | \
michael@0 189 NS_FONT_VARIANT_NUMERIC_TABULAR
michael@0 190
michael@0 191 #define NS_FONT_VARIANT_NUMERIC_FRACTION_MASK \
michael@0 192 NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS | \
michael@0 193 NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS
michael@0 194
michael@0 195 #define NS_FONT_VARIANT_POSITION_NORMAL 0
michael@0 196 #define NS_FONT_VARIANT_POSITION_SUPER 1
michael@0 197 #define NS_FONT_VARIANT_POSITION_SUB 2
michael@0 198
michael@0 199 #endif

mercurial