#include "gxvalid.h"
#include "gxvcommn.h"
Go to the source code of this file.
|
static void | gxv_prop_zero_advance_validate (FT_UShort gid, GXV_Validator gxvalid) |
|
static void | gxv_prop_property_validate (FT_UShort property, FT_UShort glyph, GXV_Validator gxvalid) |
|
static void | gxv_prop_LookupValue_validate (FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator gxvalid) |
|
static GXV_LookupValueDesc | gxv_prop_LookupFmt4_transit (FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator gxvalid) |
|
| gxv_prop_validate (FT_Bytes table, FT_Face face, FT_Validator ftvalid) |
|
◆ FT_COMPONENT
#define FT_COMPONENT trace_gxvprop |
◆ GXV_PROP_ATTACHING_TO_RIGHT
#define GXV_PROP_ATTACHING_TO_RIGHT 0x0080U |
◆ GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET
#define GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET 0x0F00U |
◆ GXV_PROP_DATA
◆ GXV_PROP_DIRECTIONALITY_CLASS
#define GXV_PROP_DIRECTIONALITY_CLASS 0x001FU |
◆ GXV_PROP_FLOATER
#define GXV_PROP_FLOATER 0x8000U |
◆ GXV_PROP_HEADER_SIZE
#define GXV_PROP_HEADER_SIZE ( 4 + 2 + 2 ) |
◆ GXV_PROP_RESERVED
#define GXV_PROP_RESERVED 0x0060U |
◆ GXV_PROP_SIZE_MIN
◆ GXV_PROP_USE_COMPLEMENTARY_BRACKET
#define GXV_PROP_USE_COMPLEMENTARY_BRACKET 0x1000U |
◆ GXV_prop_Data
◆ GXV_prop_DataRec
◆ gxv_prop_LookupFmt4_transit()
Definition at line 225 of file gxvprop.c.
229 {
234
235
239 limit = lookuptbl_limit;
240
243
245 }
#define FT_NEXT_USHORT(buffer)
#define GXV_LIMIT_CHECK(_count)
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
Referenced by gxv_prop_validate().
◆ gxv_prop_LookupValue_validate()
Definition at line 189 of file gxvprop.c.
192 {
194 }
static void gxv_prop_property_validate(FT_UShort property, FT_UShort glyph, GXV_Validator gxvalid)
Referenced by gxv_prop_validate().
◆ gxv_prop_property_validate()
Definition at line 111 of file gxvprop.c.
114 {
117
119 {
121 char complement;
122
123
126 {
127 GXV_TRACE((
" found zero offset to property\n" ));
129 }
130
132 if ( complement & 0x08 )
133 {
134
135
136
137 complement = (
char)( ( complement & 0x07 ) + 1 );
138
139
140 if ( glyph <= complement )
141 {
142 GXV_TRACE((
" found non-positive glyph complement\n" ));
144 }
145 }
146 else
147 {
148
150 }
151 }
152 else
153 {
155 GXV_TRACE((
"glyph %d cannot have complementary bracketing\n",
156 glyph ));
157 }
158
159
161 {
163 {
164 GXV_TRACE((
" found older version (1.0) in new version table\n" ));
166 }
167 }
168
170 {
171 GXV_TRACE((
" found non-zero bits in reserved bits\n" ));
173 }
174
176 {
177
180 {
181 GXV_TRACE((
" found too old version in directionality class\n" ));
183 }
184 }
185 }
static const WCHAR version[]
#define FT_INVALID_OFFSET
gxv_glyphid_validate(FT_UShort gid, GXV_Validator gxvalid)
#define GXV_PROP_USE_COMPLEMENTARY_BRACKET
#define GXV_PROP_DATA(field)
#define GXV_PROP_DIRECTIONALITY_CLASS
#define GXV_PROP_RESERVED
static void gxv_prop_zero_advance_validate(FT_UShort gid, GXV_Validator gxvalid)
#define GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET
#define GXV_PROP_ATTACHING_TO_RIGHT
Referenced by gxv_prop_LookupValue_validate(), and gxv_prop_validate().
◆ gxv_prop_validate()
Definition at line 257 of file gxvprop.c.
260 {
265
268
272
273
274 gxvalid->
root = ftvalid;
277
278 FT_TRACE3((
"validating `prop' table\n" ));
280
285
288 GXV_TRACE((
" defaultProp 0x%04x\n", defaultProp ));
289
290
291 if (
version != 0x00010000UL &&
294 {
295 GXV_TRACE((
" found unknown version\n" ));
297 }
298
299
300
302 {
303 GXV_TRACE((
" found unknown format\n" ));
305 }
306
308
310 {
311 FT_TRACE3((
"(format 0, no per-glyph properties, "
312 "remaining %d bytes are skipped)",
limit -
p ));
314 }
315
316
318
322
324
327 }
#define FT_TRACE3(varformat)
#define FT_TRACE4(varformat)
#define FT_NEXT_LONG(buffer)
#define FT_INVALID_FORMAT
gxv_LookupTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
@ GXV_LOOKUPVALUE_UNSIGNED
static void gxv_prop_LookupValue_validate(FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator gxvalid)
static GXV_LookupValueDesc gxv_prop_LookupFmt4_transit(FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator gxvalid)
GXV_Lookup_Fmt4_Transit_Func lookupfmt4_trans
GXV_Lookup_Value_Validate_Func lookupval_func
GXV_LookupValue_SignSpec lookupval_sign
◆ gxv_prop_zero_advance_validate()
Definition at line 78 of file gxvprop.c.
80 {
84
85
87
89
91 gid,
95
97
100 {
101 GXV_TRACE((
" found non-zero advance in zero-advance glyph\n" ));
103 }
104
106 }
FT_Load_Glyph(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags)
#define FT_LOAD_IGNORE_TRANSFORM
FT_BEGIN_HEADER typedef signed long FT_Pos
#define FT_INVALID_GLYPH_ID
GLenum GLuint GLint GLenum face
#define GXV_NAME_ENTER(name)
Referenced by gxv_prop_property_validate().