gfx/thebes/gfxFontConstants.h

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/thebes/gfxFontConstants.h	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,199 @@
     1.4 +/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
     1.5 + * This Source Code Form is subject to the terms of the Mozilla Public
     1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.8 +
     1.9 +/* font constants shared by both thebes and layout */
    1.10 +
    1.11 +#ifndef GFX_FONT_CONSTANTS_H
    1.12 +#define GFX_FONT_CONSTANTS_H
    1.13 +
    1.14 +/*
    1.15 + * This file is separate from gfxFont.h so that layout can include it
    1.16 + * without bringing in gfxFont.h and everything it includes.
    1.17 + */
    1.18 +
    1.19 +#define NS_FONT_STYLE_NORMAL            0
    1.20 +#define NS_FONT_STYLE_ITALIC            1
    1.21 +#define NS_FONT_STYLE_OBLIQUE           2
    1.22 +
    1.23 +#define NS_FONT_WEIGHT_NORMAL           400
    1.24 +#define NS_FONT_WEIGHT_BOLD             700
    1.25 +
    1.26 +#define NS_FONT_STRETCH_ULTRA_CONDENSED (-4)
    1.27 +#define NS_FONT_STRETCH_EXTRA_CONDENSED (-3)
    1.28 +#define NS_FONT_STRETCH_CONDENSED       (-2)
    1.29 +#define NS_FONT_STRETCH_SEMI_CONDENSED  (-1)
    1.30 +#define NS_FONT_STRETCH_NORMAL          0
    1.31 +#define NS_FONT_STRETCH_SEMI_EXPANDED   1
    1.32 +#define NS_FONT_STRETCH_EXPANDED        2
    1.33 +#define NS_FONT_STRETCH_EXTRA_EXPANDED  3
    1.34 +#define NS_FONT_STRETCH_ULTRA_EXPANDED  4
    1.35 +
    1.36 +#define NS_FONT_SMOOTHING_AUTO          0
    1.37 +#define NS_FONT_SMOOTHING_GRAYSCALE     1
    1.38 +
    1.39 +#define NS_FONT_KERNING_AUTO                        0
    1.40 +#define NS_FONT_KERNING_NONE                        1
    1.41 +#define NS_FONT_KERNING_NORMAL                      2
    1.42 +
    1.43 +#define NS_FONT_SYNTHESIS_WEIGHT                    0x1
    1.44 +#define NS_FONT_SYNTHESIS_STYLE                     0x2
    1.45 +
    1.46 +enum {
    1.47 +    eFeatureAlternates_historical,
    1.48 +    eFeatureAlternates_stylistic,
    1.49 +    eFeatureAlternates_styleset,
    1.50 +    eFeatureAlternates_character_variant,
    1.51 +    eFeatureAlternates_swash,
    1.52 +    eFeatureAlternates_ornaments,
    1.53 +    eFeatureAlternates_annotation,
    1.54 +
    1.55 +    eFeatureAlternates_numFeatures
    1.56 +};
    1.57 +
    1.58 +// alternates - simple enumerated values
    1.59 +#define NS_FONT_VARIANT_ALTERNATES_HISTORICAL        (1 << eFeatureAlternates_historical)
    1.60 +
    1.61 +// alternates - values that use functional syntax
    1.62 +#define NS_FONT_VARIANT_ALTERNATES_STYLISTIC         (1 << eFeatureAlternates_stylistic)
    1.63 +#define NS_FONT_VARIANT_ALTERNATES_STYLESET          (1 << eFeatureAlternates_styleset)
    1.64 +#define NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT (1 << eFeatureAlternates_character_variant)
    1.65 +#define NS_FONT_VARIANT_ALTERNATES_SWASH             (1 << eFeatureAlternates_swash)
    1.66 +#define NS_FONT_VARIANT_ALTERNATES_ORNAMENTS         (1 << eFeatureAlternates_ornaments)
    1.67 +#define NS_FONT_VARIANT_ALTERNATES_ANNOTATION        (1 << eFeatureAlternates_annotation)
    1.68 +
    1.69 +#define NS_FONT_VARIANT_ALTERNATES_ENUMERATED_MASK \
    1.70 +    NS_FONT_VARIANT_ALTERNATES_HISTORICAL
    1.71 +
    1.72 +#define NS_FONT_VARIANT_ALTERNATES_FUNCTIONAL_MASK ( \
    1.73 +    NS_FONT_VARIANT_ALTERNATES_STYLISTIC | \
    1.74 +    NS_FONT_VARIANT_ALTERNATES_STYLESET | \
    1.75 +    NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT | \
    1.76 +    NS_FONT_VARIANT_ALTERNATES_SWASH | \
    1.77 +    NS_FONT_VARIANT_ALTERNATES_ORNAMENTS | \
    1.78 +    NS_FONT_VARIANT_ALTERNATES_ANNOTATION )
    1.79 +
    1.80 +#define NS_FONT_VARIANT_CAPS_NORMAL                 0
    1.81 +#define NS_FONT_VARIANT_CAPS_SMALLCAPS              1
    1.82 +#define NS_FONT_VARIANT_CAPS_ALLSMALL               2
    1.83 +#define NS_FONT_VARIANT_CAPS_PETITECAPS             3
    1.84 +#define NS_FONT_VARIANT_CAPS_ALLPETITE              4
    1.85 +#define NS_FONT_VARIANT_CAPS_TITLING                5
    1.86 +#define NS_FONT_VARIANT_CAPS_UNICASE                6
    1.87 +
    1.88 +enum {
    1.89 +    eFeatureEastAsian_jis78,
    1.90 +    eFeatureEastAsian_jis83,
    1.91 +    eFeatureEastAsian_jis90,
    1.92 +    eFeatureEastAsian_jis04,
    1.93 +    eFeatureEastAsian_simplified,
    1.94 +    eFeatureEastAsian_traditional,
    1.95 +    eFeatureEastAsian_full_width,
    1.96 +    eFeatureEastAsian_prop_width,
    1.97 +    eFeatureEastAsian_ruby,
    1.98 +
    1.99 +    eFeatureEastAsian_numFeatures
   1.100 +};
   1.101 +
   1.102 +#define NS_FONT_VARIANT_EAST_ASIAN_JIS78        (1 << eFeatureEastAsian_jis78)
   1.103 +#define NS_FONT_VARIANT_EAST_ASIAN_JIS83        (1 << eFeatureEastAsian_jis83)
   1.104 +#define NS_FONT_VARIANT_EAST_ASIAN_JIS90        (1 << eFeatureEastAsian_jis90)
   1.105 +#define NS_FONT_VARIANT_EAST_ASIAN_JIS04        (1 << eFeatureEastAsian_jis04)
   1.106 +#define NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED   (1 << eFeatureEastAsian_simplified)
   1.107 +#define NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL  (1 << eFeatureEastAsian_traditional)
   1.108 +#define NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH   (1 << eFeatureEastAsian_full_width)
   1.109 +#define NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH   (1 << eFeatureEastAsian_prop_width)
   1.110 +#define NS_FONT_VARIANT_EAST_ASIAN_RUBY         (1 << eFeatureEastAsian_ruby)
   1.111 +
   1.112 +#define NS_FONT_VARIANT_EAST_ASIAN_VARIANT_MASK ( \
   1.113 +    NS_FONT_VARIANT_EAST_ASIAN_JIS78 | \
   1.114 +    NS_FONT_VARIANT_EAST_ASIAN_JIS83 | \
   1.115 +    NS_FONT_VARIANT_EAST_ASIAN_JIS90 | \
   1.116 +    NS_FONT_VARIANT_EAST_ASIAN_JIS04 | \
   1.117 +    NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED | \
   1.118 +    NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL )
   1.119 +
   1.120 +#define NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK ( \
   1.121 +    NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH | \
   1.122 +    NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH )
   1.123 +
   1.124 +enum {
   1.125 +    eFeatureLigatures_none,
   1.126 +    eFeatureLigatures_common,
   1.127 +    eFeatureLigatures_no_common,
   1.128 +    eFeatureLigatures_discretionary,
   1.129 +    eFeatureLigatures_no_discretionary,
   1.130 +    eFeatureLigatures_historical,
   1.131 +    eFeatureLigatures_no_historical,
   1.132 +    eFeatureLigatures_contextual,
   1.133 +    eFeatureLigatures_no_contextual,
   1.134 +
   1.135 +    eFeatureLigatures_numFeatures
   1.136 +};
   1.137 +
   1.138 +#define NS_FONT_VARIANT_LIGATURES_NONE              (1 << eFeatureLigatures_none)
   1.139 +#define NS_FONT_VARIANT_LIGATURES_COMMON            (1 << eFeatureLigatures_common)
   1.140 +#define NS_FONT_VARIANT_LIGATURES_NO_COMMON         (1 << eFeatureLigatures_no_common)
   1.141 +#define NS_FONT_VARIANT_LIGATURES_DISCRETIONARY     (1 << eFeatureLigatures_discretionary)
   1.142 +#define NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY  (1 << eFeatureLigatures_no_discretionary)
   1.143 +#define NS_FONT_VARIANT_LIGATURES_HISTORICAL        (1 << eFeatureLigatures_historical)
   1.144 +#define NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL     (1 << eFeatureLigatures_no_historical)
   1.145 +#define NS_FONT_VARIANT_LIGATURES_CONTEXTUAL        (1 << eFeatureLigatures_contextual)
   1.146 +#define NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL     (1 << eFeatureLigatures_no_contextual)
   1.147 +
   1.148 +#define NS_FONT_VARIANT_LIGATURES_COMMON_MASK ( \
   1.149 +    NS_FONT_VARIANT_LIGATURES_COMMON | \
   1.150 +    NS_FONT_VARIANT_LIGATURES_NO_COMMON )
   1.151 +
   1.152 +#define NS_FONT_VARIANT_LIGATURES_DISCRETIONARY_MASK ( \
   1.153 +    NS_FONT_VARIANT_LIGATURES_DISCRETIONARY | \
   1.154 +    NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY )
   1.155 +
   1.156 +#define NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK ( \
   1.157 +    NS_FONT_VARIANT_LIGATURES_HISTORICAL | \
   1.158 +    NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL )
   1.159 +
   1.160 +#define NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK \
   1.161 +    NS_FONT_VARIANT_LIGATURES_CONTEXTUAL | \
   1.162 +    NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL
   1.163 +
   1.164 +enum {
   1.165 +    eFeatureNumeric_lining,
   1.166 +    eFeatureNumeric_oldstyle,
   1.167 +    eFeatureNumeric_proportional,
   1.168 +    eFeatureNumeric_tabular,
   1.169 +    eFeatureNumeric_diagonal_fractions,
   1.170 +    eFeatureNumeric_stacked_fractions,
   1.171 +    eFeatureNumeric_slashedzero,
   1.172 +    eFeatureNumeric_ordinal,
   1.173 +
   1.174 +    eFeatureNumeric_numFeatures
   1.175 +};
   1.176 +
   1.177 +#define NS_FONT_VARIANT_NUMERIC_LINING              (1 << eFeatureNumeric_lining)
   1.178 +#define NS_FONT_VARIANT_NUMERIC_OLDSTYLE            (1 << eFeatureNumeric_oldstyle)
   1.179 +#define NS_FONT_VARIANT_NUMERIC_PROPORTIONAL        (1 << eFeatureNumeric_proportional)
   1.180 +#define NS_FONT_VARIANT_NUMERIC_TABULAR             (1 << eFeatureNumeric_tabular)
   1.181 +#define NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS  (1 << eFeatureNumeric_diagonal_fractions)
   1.182 +#define NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS   (1 << eFeatureNumeric_stacked_fractions)
   1.183 +#define NS_FONT_VARIANT_NUMERIC_SLASHZERO           (1 << eFeatureNumeric_slashedzero)
   1.184 +#define NS_FONT_VARIANT_NUMERIC_ORDINAL             (1 << eFeatureNumeric_ordinal)
   1.185 +
   1.186 +#define NS_FONT_VARIANT_NUMERIC_FIGURE_MASK \
   1.187 +    NS_FONT_VARIANT_NUMERIC_LINING | \
   1.188 +    NS_FONT_VARIANT_NUMERIC_OLDSTYLE
   1.189 +
   1.190 +#define NS_FONT_VARIANT_NUMERIC_SPACING_MASK \
   1.191 +    NS_FONT_VARIANT_NUMERIC_PROPORTIONAL | \
   1.192 +    NS_FONT_VARIANT_NUMERIC_TABULAR
   1.193 +
   1.194 +#define NS_FONT_VARIANT_NUMERIC_FRACTION_MASK \
   1.195 +    NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS | \
   1.196 +    NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS
   1.197 +
   1.198 +#define NS_FONT_VARIANT_POSITION_NORMAL             0
   1.199 +#define NS_FONT_VARIANT_POSITION_SUPER              1
   1.200 +#define NS_FONT_VARIANT_POSITION_SUB                2
   1.201 +
   1.202 +#endif

mercurial