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
100 GXV_TRACE((
" found non-zero advance in zero-advance glyph\n" ));
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" ));
238 limit = lookuptbl_limit;
273 valid->
root = ftvalid;
277 FT_TRACE3((
"validating `prop' table\n" ));
285 GXV_TRACE((
" version 0x%08x\n", version ));
286 GXV_TRACE((
" format 0x%04x\n", format ));
287 GXV_TRACE((
" defaultProp 0x%04x\n", defaultProp ));
290 if ( version != 0x00010000UL &&
291 version != 0x00020000UL &&
292 version != 0x00030000UL )
294 GXV_TRACE((
" found unknown version\n" ));
302 GXV_TRACE((
" found unknown format\n" ));
310 FT_TRACE3((
"(format 0, no per-glyph properties, "
311 "remaining %d bytes are skipped)", limit - p ));
struct GXV_prop_DataRec_ * GXV_prop_Data
GLenum GLsizei GLenum GLenum const GLvoid * table
static GXV_LookupValueDesc gxv_prop_LookupFmt4_transit(FT_UShort relative_gindex, GXV_LookupValueCPtr base_value_p, FT_Bytes lookuptbl_limit, GXV_Validator valid)
FT_BEGIN_HEADER typedef signed long FT_Pos
#define FT_INVALID_FORMAT
#define GXV_NAME_ENTER(name)
#define GXV_PROP_COMPLEMENTARY_BRACKET_OFFSET
#define GXV_PROP_USE_COMPLEMENTARY_BRACKET
#define GXV_PROP_DATA(field)
static void gxv_prop_property_validate(FT_UShort property, FT_UShort glyph, GXV_Validator valid)
static void gxv_prop_zero_advance_validate(FT_UShort gid, GXV_Validator valid)
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
gxv_prop_validate(FT_Bytes table, FT_Face face, FT_Validator valid)
#define GXV_PROP_RESERVED
typedefFT_BEGIN_HEADER struct FT_ValidatorRec_ volatile * FT_Validator
#define GXV_PROP_DIRECTIONALITY_CLASS
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum format
static void gxv_prop_LookupValue_validate(FT_UShort glyph, GXV_LookupValueCPtr value_p, GXV_Validator valid)
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
EGLSurface EGLint void ** value
#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
gxv_glyphid_validate(FT_UShort gid, GXV_Validator valid)
#define GXV_PROP_ATTACHING_TO_RIGHT
#define GXV_LIMIT_CHECK(_count)