43 {
46
47#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
49#endif
50
51
52 if ( !
ft_strcmp( property_name,
"darkening-parameters" ) )
53 {
56
57#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
59
60
61 if ( value_is_string )
62 {
63 const char*
s = (
const char*)
value;
64 char* ep;
66
67
68
69 for (
i = 0;
i < 7;
i++ )
70 {
72 if ( *ep !=
',' ||
s == ep )
74
76 }
77
79 if ( !( *ep ==
'\0' || *ep ==
' ' ) ||
s == ep )
81
82 darken_params = dp;
83 }
84 else
85#endif
87
88 x1 = darken_params[0];
89 y1 = darken_params[1];
90 x2 = darken_params[2];
91 y2 = darken_params[3];
92 x3 = darken_params[4];
93 y3 = darken_params[5];
94 x4 = darken_params[6];
95 y4 = darken_params[7];
96
97 if (
x1 < 0 ||
x2 < 0 || x3 < 0 || x4 < 0 ||
98 y1 < 0 ||
y2 < 0 || y3 < 0 || y4 < 0 ||
99 x1 >
x2 ||
x2 > x3 || x3 > x4 ||
100 y1 > 500 ||
y2 > 500 || y3 > 500 || y4 > 500 )
101 return FT_THROW( Invalid_Argument );
102
107 driver->darken_params[4] = x3;
108 driver->darken_params[5] = y3;
109 driver->darken_params[6] = x4;
110 driver->darken_params[7] = y4;
111
113 }
114
115 else if ( !
ft_strcmp( property_name,
"hinting-engine" ) )
116 {
117#if defined( CFF_CONFIG_OPTION_OLD_ENGINE ) || \
118 defined( T1_CONFIG_OPTION_OLD_ENGINE )
120#endif
121
122
123#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
124 if ( value_is_string )
125 {
126 const char*
s = (
const char*)
value;
127
128
131
136#endif
137
138#ifdef T1_CONFIG_OPTION_OLD_ENGINE
143#endif
144
145 else
146 return FT_THROW( Invalid_Argument );
147 }
148 else
149#endif
150 {
152
153
158#endif
159#ifdef T1_CONFIG_OPTION_OLD_ENGINE
163#endif
164 )
165 driver->hinting_engine = *hinting_engine;
166 else
168
170 }
171 }
172
173 else if ( !
ft_strcmp( property_name,
"no-stem-darkening" ) )
174 {
175#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
176 if ( value_is_string )
177 {
178 const char*
s = (
const char*)
value;
180
181
182 if ( !nsd )
184 else
186 }
187 else
188#endif
189 {
191
192
193 driver->no_stem_darkening = *no_stem_darkening;
194 }
195
197 }
198
199 else if ( !
ft_strcmp( property_name,
"random-seed" ) )
200 {
201 FT_Int32 random_seed;
202
203
204#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
205 if ( value_is_string )
206 {
207 const char*
s = (
const char*)
value;
208
209
211 }
212 else
213#endif
214 random_seed = *(FT_Int32*)
value;
215
216 if ( random_seed < 0 )
217 random_seed = 0;
218
219 driver->random_seed = random_seed;
220
222 }
223
224 FT_TRACE0((
"ps_property_set: missing property `%s'\n",
225 property_name ));
226 return FT_THROW( Missing_Property );
227 }
static LPCWSTR LPCWSTR module_name
#define CFF_CONFIG_OPTION_OLD_ENGINE
#define FT_HINTING_FREETYPE
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2