ReactOS  0.4.14-dev-390-g34947ad
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 2017-2018 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  * @constant:
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
62  * 1.4). Use this for backward compatibility with legacy systems that
63  * have a 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  * @constant:
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  * @constant:
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  * @constant:
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
125  * the 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  * @constant:
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
145  * @random-seed.
146  *
147  * @since:
148  * 2.8
149  *
150  */
151 #define FT_PARAM_TAG_RANDOM_SEED \
152  FT_MAKE_TAG( 's', 'e', 'e', 'd' )
153 
154 
155  /**************************************************************************
156  *
157  * @constant:
158  * FT_PARAM_TAG_STEM_DARKENING
159  *
160  * @description:
161  * An @FT_Parameter tag to be used with @FT_Face_Properties. The
162  * corresponding Boolean argument specifies whether to apply stem
163  * darkening, overriding the global default values or the values set up
164  * with @FT_Property_Set (see @no-stem-darkening).
165  *
166  * This is a passive setting that only takes effect if the font driver
167  * or autohinter honors it, which the CFF, Type~1, and CID drivers
168  * always do, but the autohinter only in `light' hinting mode (as of
169  * version 2.9).
170  *
171  * @since:
172  * 2.8
173  *
174  */
175 #define FT_PARAM_TAG_STEM_DARKENING \
176  FT_MAKE_TAG( 'd', 'a', 'r', 'k' )
177 
178 
179  /***************************************************************************
180  *
181  * @constant:
182  * FT_PARAM_TAG_UNPATENTED_HINTING
183  *
184  * @description:
185  * Deprecated, no effect.
186  *
187  * Previously: A constant used as the tag of an @FT_Parameter structure to
188  * indicate that unpatented methods only should be used by the TrueType
189  * bytecode interpreter for a typeface opened by @FT_Open_Face.
190  *
191  */
192 #define FT_PARAM_TAG_UNPATENTED_HINTING \
193  FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
194 
195 
196  /* */
197 
198 
200 
201 
202 #endif /* FTPARAMS_H_ */
203 
204 
205 /* END */
#define FT_END_HEADER
Definition: ftheader.h:54
#define FT_BEGIN_HEADER
Definition: ftheader.h:36