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

source code of include/freetype2/freetype/ftparams.h