ReactOS 0.4.16-dev-1025-gd3456f5
ftparams.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * ftparams.h
4 *
5 * FreeType API for possible FT_Parameter tags (specification only).
6 *
7 * Copyright (C) 2017-2019 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
9 *
10 * This file is part of the FreeType project, and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
15 *
16 */
17
18
19#ifndef FTPARAMS_H_
20#define FTPARAMS_H_
21
22#include <ft2build.h>
23#include FT_FREETYPE_H
24
25#ifdef FREETYPE_H
26#error "freetype.h of FreeType 1 has been loaded!"
27#error "Please fix the directory search order for header files"
28#error "so that freetype.h of FreeType 2 is found first."
29#endif
30
31
33
34
35 /**************************************************************************
36 *
37 * @section:
38 * parameter_tags
39 *
40 * @title:
41 * Parameter Tags
42 *
43 * @abstract:
44 * Macros for driver property and font loading parameter tags.
45 *
46 * @description:
47 * This section contains macros for the @FT_Parameter structure that are
48 * used with various functions to activate some special functionality or
49 * different behaviour of various components of FreeType.
50 *
51 */
52
53
54 /**************************************************************************
55 *
56 * @enum:
57 * FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
58 *
59 * @description:
60 * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
61 * family names in the 'name' table (introduced in OpenType version 1.4).
62 * Use this for backward compatibility with legacy systems that have a
63 * four-faces-per-family restriction.
64 *
65 * @since:
66 * 2.8
67 *
68 */
69#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY \
70 FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
71
72
73 /* this constant is deprecated */
74#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY \
75 FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY
76
77
78 /**************************************************************************
79 *
80 * @enum:
81 * FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
82 *
83 * @description:
84 * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
85 * subfamily names in the 'name' table (introduced in OpenType version
86 * 1.4). Use this for backward compatibility with legacy systems that
87 * have a four-faces-per-family restriction.
88 *
89 * @since:
90 * 2.8
91 *
92 */
93#define FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY \
94 FT_MAKE_TAG( 'i', 'g', 'p', 's' )
95
96
97 /* this constant is deprecated */
98#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY \
99 FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY
100
101
102 /**************************************************************************
103 *
104 * @enum:
105 * FT_PARAM_TAG_INCREMENTAL
106 *
107 * @description:
108 * An @FT_Parameter tag to be used with @FT_Open_Face to indicate
109 * incremental glyph loading.
110 *
111 */
112#define FT_PARAM_TAG_INCREMENTAL \
113 FT_MAKE_TAG( 'i', 'n', 'c', 'r' )
114
115
116 /**************************************************************************
117 *
118 * @enum:
119 * FT_PARAM_TAG_LCD_FILTER_WEIGHTS
120 *
121 * @description:
122 * An @FT_Parameter tag to be used with @FT_Face_Properties. The
123 * corresponding argument specifies the five LCD filter weights for a
124 * given face (if using @FT_LOAD_TARGET_LCD, for example), overriding the
125 * global default values or the values set up with
126 * @FT_Library_SetLcdFilterWeights.
127 *
128 * @since:
129 * 2.8
130 *
131 */
132#define FT_PARAM_TAG_LCD_FILTER_WEIGHTS \
133 FT_MAKE_TAG( 'l', 'c', 'd', 'f' )
134
135
136 /**************************************************************************
137 *
138 * @enum:
139 * FT_PARAM_TAG_RANDOM_SEED
140 *
141 * @description:
142 * An @FT_Parameter tag to be used with @FT_Face_Properties. The
143 * corresponding 32bit signed integer argument overrides the font
144 * driver's random seed value with a face-specific one; see @random-seed.
145 *
146 * @since:
147 * 2.8
148 *
149 */
150#define FT_PARAM_TAG_RANDOM_SEED \
151 FT_MAKE_TAG( 's', 'e', 'e', 'd' )
152
153
154 /**************************************************************************
155 *
156 * @enum:
157 * FT_PARAM_TAG_STEM_DARKENING
158 *
159 * @description:
160 * An @FT_Parameter tag to be used with @FT_Face_Properties. The
161 * corresponding Boolean argument specifies whether to apply stem
162 * darkening, overriding the global default values or the values set up
163 * with @FT_Property_Set (see @no-stem-darkening).
164 *
165 * This is a passive setting that only takes effect if the font driver or
166 * autohinter honors it, which the CFF, Type~1, and CID drivers always
167 * do, but the autohinter only in 'light' hinting mode (as of version
168 * 2.9).
169 *
170 * @since:
171 * 2.8
172 *
173 */
174#define FT_PARAM_TAG_STEM_DARKENING \
175 FT_MAKE_TAG( 'd', 'a', 'r', 'k' )
176
177
178 /**************************************************************************
179 *
180 * @enum:
181 * FT_PARAM_TAG_UNPATENTED_HINTING
182 *
183 * @description:
184 * Deprecated, no effect.
185 *
186 * Previously: A constant used as the tag of an @FT_Parameter structure
187 * to indicate that unpatented methods only should be used by the
188 * TrueType bytecode interpreter for a typeface opened by @FT_Open_Face.
189 *
190 */
191#define FT_PARAM_TAG_UNPATENTED_HINTING \
192 FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
193
194
195 /* */
196
197
199
200
201#endif /* FTPARAMS_H_ */
202
203
204/* END */
#define FT_END_HEADER
Definition: ftheader.h:54
#define FT_BEGIN_HEADER
Definition: ftheader.h:36