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 | |
31 | FT_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 | |
197 | FT_END_HEADER |
198 | |
199 | |
200 | #endif /* FTPARAMS_H_ */ |
201 | |
202 | |
203 | /* END */ |
204 | |