Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
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 |