38 #define FT_COMPONENT trace_gxvprop 49 #define GXV_PROP_HEADER_SIZE ( 4 + 2 + 2 ) 50 #define GXV_PROP_SIZE_MIN GXV_PROP_HEADER_SIZE 52 typedef struct GXV_prop_DataRec_
58 #define GXV_PROP_DATA( field ) GXV_TABLE_DATA( prop, field ) 60 #define GXV_PROP_FLOATER 0x8000U 61 #define GXV_PROP_USE_COMPLEMENTARY_BRACKET 0x1000U 62 #define GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET 0x0F00U 63 #define GXV_PROP_ATTACHING_TO_RIGHT 0x0080U 64 #define GXV_PROP_RESERVED 0x0060U 65 #define GXV_PROP_DIRECTIONALITY_CLASS 0x001FU 77 gxv_prop_zero_advance_validate(
FT_UShort gid,
100 GXV_TRACE((
" found non-zero advance in zero-advance glyph\n" ));
110 gxv_prop_property_validate(
FT_UShort property,
115 gxv_prop_zero_advance_validate( glyph, valid );
126 GXV_TRACE((
" found zero offset to property\n" ));
130 complement = (char)( offset >> 8 );
131 if ( complement & 0x08 )
136 complement = (char)( ( complement & 0x07 ) + 1 );
139 if ( glyph <= complement )
141 GXV_TRACE((
" found non-positive glyph complement\n" ));
154 GXV_TRACE((
"glyph %d cannot have complementary bracketing\n",
163 GXV_TRACE((
" found older version (1.0) in new version table\n" ));
170 GXV_TRACE((
" found non-zero bits in reserved bits\n" ));
180 GXV_TRACE((
" found too old version in directionality class\n" ));
188 gxv_prop_LookupValue_validate(
FT_UShort glyph,
192 gxv_prop_property_validate( value_p->
u, glyph, valid );
224 gxv_prop_LookupFmt4_transit(
FT_UShort relative_gindex,
238 limit = lookuptbl_limit;
273 valid->
root = ftvalid;
277 FT_TRACE3((
"validating `prop' table\n" ));
287 GXV_TRACE((
" defaultProp 0x%04x\n", defaultProp ));
290 if (
version != 0x00010000UL &&
294 GXV_TRACE((
" found unknown version\n" ));
302 GXV_TRACE((
" found unknown format\n" ));
306 gxv_prop_property_validate( defaultProp, 0, valid );
310 FT_TRACE3((
"(format 0, no per-glyph properties, " 311 "remaining %d bytes are skipped)",
limit -
p ));
struct GXV_prop_DataRec_ * GXV_prop_Data
FT_BEGIN_HEADER typedef signed long FT_Pos
#define FT_INVALID_FORMAT
#define GXV_NAME_ENTER(name)
#define GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET
gxv_prop_validate(FT_Bytes table, FT_Face face, FT_Validator ftvalid)
#define GXV_PROP_USE_COMPLEMENTARY_BRACKET
#define GXV_PROP_DATA(field)
GLenum GLuint GLint GLenum face
FT_Load_Glyph(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags)
#define FT_TRACE4(varformat)
struct GXV_prop_DataRec_ GXV_prop_DataRec
#define GXV_PROP_RESERVED
typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile * FT_Validator
#define GXV_PROP_DIRECTIONALITY_CLASS
GLsizei const GLfloat * value
gxv_LookupTable_validate(FT_Bytes table, FT_Bytes limit, GXV_Validator valid)
#define FT_NEXT_USHORT(buffer)
#define FT_TRACE3(varformat)
#define FT_INVALID_OFFSET
#define FT_NEXT_ULONG(buffer)
GXV_Lookup_Fmt4_Transit_Func lookupfmt4_trans
#define FT_INVALID_GLYPH_ID
GXV_Lookup_Value_Validate_Func lookupval_func
GXV_LookupValue_SignSpec lookupval_sign
#define FT_LOAD_IGNORE_TRANSFORM
GLenum GLsizei GLenum GLenum const GLvoid * table
gxv_glyphid_validate(FT_UShort gid, GXV_Validator valid)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
#define GXV_PROP_ATTACHING_TO_RIGHT
#define GXV_LIMIT_CHECK(_count)