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