39#define FT_COMPONENT trace_gxvprop
50#define GXV_PROP_HEADER_SIZE ( 4 + 2 + 2 )
51#define GXV_PROP_SIZE_MIN GXV_PROP_HEADER_SIZE
59#define GXV_PROP_DATA( field ) GXV_TABLE_DATA( prop, field )
61#define GXV_PROP_FLOATER 0x8000U
62#define GXV_PROP_USE_COMPLEMENTARY_BRACKET 0x1000U
63#define GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET 0x0F00U
64#define GXV_PROP_ATTACHING_TO_RIGHT 0x0080U
65#define GXV_PROP_RESERVED 0x0060U
66#define GXV_PROP_DIRECTIONALITY_CLASS 0x001FU
101 GXV_TRACE((
" found non-zero advance in zero-advance glyph\n" ));
127 GXV_TRACE((
" found zero offset to property\n" ));
132 if ( complement & 0x08 )
137 complement = (
char)( ( complement & 0x07 ) + 1 );
140 if ( glyph <= complement )
142 GXV_TRACE((
" found non-positive glyph complement\n" ));
155 GXV_TRACE((
"glyph %d cannot have complementary bracketing\n",
164 GXV_TRACE((
" found older version (1.0) in new version table\n" ));
171 GXV_TRACE((
" found non-zero bits in reserved bits\n" ));
181 GXV_TRACE((
" found too old version in directionality class\n" ));
239 limit = lookuptbl_limit;
274 gxvalid->
root = ftvalid;
278 FT_TRACE3((
"validating `prop' table\n" ));
288 GXV_TRACE((
" defaultProp 0x%04x\n", defaultProp ));
291 if (
version != 0x00010000UL &&
295 GXV_TRACE((
" found unknown version\n" ));
303 GXV_TRACE((
" found unknown format\n" ));
311 FT_TRACE3((
"(format 0, no per-glyph properties, "
312 "remaining %d bytes are skipped)",
limit -
p ));
static const WCHAR version[]
FT_Load_Glyph(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags)
#define FT_LOAD_IGNORE_TRANSFORM
#define FT_TRACE3(varformat)
#define FT_TRACE4(varformat)
FT_BEGIN_HEADER typedef signed long FT_Pos
#define FT_NEXT_USHORT(buffer)
#define FT_NEXT_LONG(buffer)
#define FT_INVALID_FORMAT
#define FT_INVALID_OFFSET
typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile * FT_Validator
#define FT_INVALID_GLYPH_ID
GLenum GLuint GLint GLenum face
gxv_LookupTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator gxvalid)
gxv_glyphid_validate(FT_UShort gid, GXV_Validator gxvalid)
#define GXV_NAME_ENTER(name)
@ GXV_LOOKUPVALUE_UNSIGNED
#define GXV_LIMIT_CHECK(_count)
struct GXV_prop_DataRec_ GXV_prop_DataRec
static void gxv_prop_property_validate(FT_UShort property, FT_UShort glyph, GXV_Validator gxvalid)
gxv_prop_validate(FT_Bytes table, FT_Face face, FT_Validator ftvalid)
static void gxv_prop_LookupValue_validate(FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator gxvalid)
struct GXV_prop_DataRec_ * GXV_prop_Data
#define GXV_PROP_USE_COMPLEMENTARY_BRACKET
#define GXV_PROP_DATA(field)
#define GXV_PROP_DIRECTIONALITY_CLASS
#define GXV_PROP_RESERVED
static GXV_LookupValueDesc gxv_prop_LookupFmt4_transit(FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator gxvalid)
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
GXV_Lookup_Fmt4_Transit_Func lookupfmt4_trans
GXV_Lookup_Value_Validate_Func lookupval_func
GXV_LookupValue_SignSpec lookupval_sign
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList