20#include FT_TRUETYPE_TABLES_H
21#include FT_TRUETYPE_TAGS_H
22#include FT_OPENTYPE_VALIDATE_H
23#include FT_INTERNAL_OBJECTS_H
24#include FT_SERVICE_OPENTYPE_VALIDATE_H
38#define FT_COMPONENT trace_otvmodule
83 FT_ULong len_base, len_gdef, len_gpos, len_gsub, len_jstf;
89 base = gdef = gpos = gsub = jstf = math =
NULL;
90 len_base = len_gdef = len_gpos = len_gsub = len_jstf = len_math = 0;
96 if (
face->num_glyphs > 0xFFFFL )
98 FT_TRACE1((
"otv_validate: Invalid glyphs index (0x0000FFFF - 0x%08x) ",
100 FT_TRACE1((
"are not handled by OpenType tables\n" ));
257 const char* service_id )
#define FT_CALLBACK_TABLE_DEF
#define FT_TRACE1(varformat)
#define FT_ALLOC(ptr, size)
void(* FT_Module_Destructor)(FT_Module module)
FT_Error(* FT_Module_Constructor)(FT_Module module)
FT_Module_Interface(* FT_Module_Requester)(FT_Module module, const char *name)
struct FT_ModuleRec_ FT_ModuleRec
#define FT_FACE_MEMORY(x)
ft_service_list_lookup(FT_ServiceDesc service_descriptors, const char *service_id)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
ft_validator_init(FT_Validator valid, const FT_Byte *base, const FT_Byte *limit, FT_ValidationLevel level)
GLenum GLuint GLint GLenum face
static char memory[1024 *256]
otv_GPOS_validate(FT_Bytes table, FT_UInt glyph_count, FT_Validator valid)
otv_GDEF_validate(FT_Bytes table, FT_Bytes gsub, FT_Bytes gpos, FT_UInt glyph_count, FT_Validator valid)
otv_MATH_validate(FT_Bytes table, FT_UInt glyph_count, FT_Validator ftvalid)
otv_GSUB_validate(FT_Bytes table, FT_UInt glyph_count, FT_Validator valid)
otv_JSTF_validate(FT_Bytes table, FT_Bytes gsub, FT_Bytes gpos, FT_UInt glyph_count, FT_Validator valid)
FT_BEGIN_HEADER otv_BASE_validate(FT_Bytes table, FT_Validator valid)
FT_CALLBACK_TABLE_DEF const FT_Module_Class otv_module_class
static const FT_Service_OTvalidateRec otvalid_interface
static FT_Error otv_load_table(FT_Face face, FT_Tag tag, FT_Byte *volatile *table, FT_ULong *table_len)
static const FT_ServiceDescRec otvalid_services[]
static FT_Error otv_validate(FT_Face volatile face, FT_UInt ot_flags, FT_Bytes *ot_base, FT_Bytes *ot_gdef, FT_Bytes *ot_gpos, FT_Bytes *ot_gsub, FT_Bytes *ot_jstf)
static FT_Pointer otvalid_get_service(FT_Module module, const char *service_id)
#define FT_SERVICE_ID_OPENTYPE_VALIDATE
FT_Load_Sfnt_Table(FT_Face face, FT_ULong tag, FT_Long offset, FT_Byte *buffer, FT_ULong *length)