sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
otvcommn.h File Reference
#include "otvalid.h"
#include <freetype/internal/ftdebug.h>

Go to the source code of this file.

Classes

struct  OTV_ValidatorRec_

Macros

#define FT_INVALID_(_error)
#define OTV_OPTIONAL_TABLE(_table)
#define OTV_OPTIONAL_TABLE32(_table)
#define OTV_OPTIONAL_OFFSET(_offset)
#define OTV_OPTIONAL_OFFSET32(_offset)
#define OTV_LIMIT_CHECK(_count)
#define OTV_SIZE_CHECK(_size)
#define OTV_SIZE_CHECK32(_size)
#define OTV_NAME_(x)
#define OTV_NAME(x)
#define OTV_FUNC_(x)
#define OTV_FUNC(x)
#define OTV_NEST1(x)
#define OTV_NEST2(x, y)
#define OTV_NEST3(x, y, z)
#define OTV_INIT   do { } while ( 0 )
#define OTV_ENTER   do { } while ( 0 )
#define OTV_NAME_ENTER(name)
#define OTV_EXIT   do { } while ( 0 )
#define OTV_TRACE(s)
#define OTV_RUN   otvalid->func[0]
#define ChainPosClassSetFunc   otv_x_Ox
#define ChainPosRuleSetFunc   otv_x_Ox
#define ChainSubClassSetFunc   otv_x_Ox
#define ChainSubRuleSetFunc   otv_x_Ox
#define JstfLangSysFunc   otv_x_Ox
#define JstfMaxFunc   otv_x_Ox
#define LigGlyphFunc   otv_x_Ox
#define LigatureArrayFunc   otv_x_Ox
#define LigatureSetFunc   otv_x_Ox
#define PosClassSetFunc   otv_x_Ox
#define PosRuleSetFunc   otv_x_Ox
#define SubClassSetFunc   otv_x_Ox
#define SubRuleSetFunc   otv_x_Ox
#define AlternateSubstFormat1Func   otv_u_C_x_Ox
#define ChainContextPosFormat1Func   otv_u_C_x_Ox
#define ChainContextSubstFormat1Func   otv_u_C_x_Ox
#define ContextPosFormat1Func   otv_u_C_x_Ox
#define ContextSubstFormat1Func   otv_u_C_x_Ox
#define LigatureSubstFormat1Func   otv_u_C_x_Ox
#define MultipleSubstFormat1Func   otv_u_C_x_Ox
#define AlternateSetFunc   otv_x_ux
#define AttachPointFunc   otv_x_ux
#define ExtenderGlyphFunc   otv_x_ux
#define JstfGPOSModListFunc   otv_x_ux
#define JstfGSUBModListFunc   otv_x_ux
#define SequenceFunc   otv_x_ux
#define PosClassRuleFunc   otv_x_y_ux_sy
#define PosRuleFunc   otv_x_y_ux_sy
#define SubClassRuleFunc   otv_x_y_ux_sy
#define SubRuleFunc   otv_x_y_ux_sy
#define ChainPosClassRuleFunc   otv_x_ux_y_uy_z_uz_p_sp
#define ChainPosRuleFunc   otv_x_ux_y_uy_z_uz_p_sp
#define ChainSubClassRuleFunc   otv_x_ux_y_uy_z_uz_p_sp
#define ChainSubRuleFunc   otv_x_ux_y_uy_z_uz_p_sp
#define ContextPosFormat2Func   otv_u_O_O_x_Onx
#define ContextSubstFormat2Func   otv_u_O_O_x_Onx
#define ContextPosFormat3Func   otv_u_x_y_Ox_sy
#define ContextSubstFormat3Func   otv_u_x_y_Ox_sy
#define ChainContextPosFormat2Func   otv_u_O_O_O_O_x_Onx
#define ChainContextSubstFormat2Func   otv_u_O_O_O_O_x_Onx
#define ChainContextPosFormat3Func   otv_u_x_Ox_y_Oy_z_Oz_p_sp
#define ChainContextSubstFormat3Func   otv_u_x_Ox_y_Oy_z_Oz_p_sp

Typedefs

typedef typedefFT_BEGIN_HEADER struct OTV_ValidatorRec_ * OTV_Validator
typedef void(*) OTV_Validate_Func(FT_Bytes table, OTV_Validator otvalid)
typedef struct OTV_ValidatorRec_ OTV_ValidatorRec

Functions

 otv_Coverage_validate (FT_Bytes table, OTV_Validator otvalid, FT_Int expected_count)
 otv_Coverage_get_first (FT_Bytes table)
 otv_Coverage_get_last (FT_Bytes table)
 otv_Coverage_get_count (FT_Bytes table)
 otv_ClassDef_validate (FT_Bytes table, OTV_Validator otvalid)
 otv_Device_validate (FT_Bytes table, OTV_Validator otvalid)
 otv_Lookup_validate (FT_Bytes table, OTV_Validator otvalid)
 otv_LookupList_validate (FT_Bytes table, OTV_Validator otvalid)
 otv_Feature_validate (FT_Bytes table, OTV_Validator otvalid)
 otv_FeatureList_validate (FT_Bytes table, FT_Bytes lookups, OTV_Validator otvalid)
 otv_LangSys_validate (FT_Bytes table, OTV_Validator otvalid)
 otv_Script_validate (FT_Bytes table, OTV_Validator otvalid)
 otv_ScriptList_validate (FT_Bytes table, FT_Bytes features, OTV_Validator otvalid)
 otv_x_Ox (FT_Bytes table, OTV_Validator otvalid)
 otv_u_C_x_Ox (FT_Bytes table, OTV_Validator otvalid)
 otv_x_ux (FT_Bytes table, OTV_Validator otvalid)
 otv_x_y_ux_sy (FT_Bytes table, OTV_Validator otvalid)
 otv_x_ux_y_uy_z_uz_p_sp (FT_Bytes table, OTV_Validator otvalid)
 otv_u_O_O_x_Onx (FT_Bytes table, OTV_Validator otvalid)
 otv_u_x_y_Ox_sy (FT_Bytes table, OTV_Validator otvalid)
 otv_u_O_O_O_O_x_Onx (FT_Bytes table, OTV_Validator otvalid)
 otv_u_x_Ox_y_Oy_z_Oz_p_sp (FT_Bytes table, OTV_Validator otvalid)
 otv_GSUBGPOS_get_Lookup_count (FT_Bytes table)
 otv_GSUBGPOS_have_MarkAttachmentType_flag (FT_Bytes table)

Macro Definition Documentation

◆ AlternateSetFunc

#define AlternateSetFunc   otv_x_ux

Definition at line 401 of file otvcommn.h.

◆ AlternateSubstFormat1Func

#define AlternateSubstFormat1Func   otv_u_C_x_Ox

Definition at line 389 of file otvcommn.h.

◆ AttachPointFunc

#define AttachPointFunc   otv_x_ux

Definition at line 402 of file otvcommn.h.

◆ ChainContextPosFormat1Func

#define ChainContextPosFormat1Func   otv_u_C_x_Ox

Definition at line 390 of file otvcommn.h.

◆ ChainContextPosFormat2Func

#define ChainContextPosFormat2Func   otv_u_O_O_O_O_x_Onx

Definition at line 444 of file otvcommn.h.

◆ ChainContextPosFormat3Func

#define ChainContextPosFormat3Func   otv_u_x_Ox_y_Oy_z_Oz_p_sp

Definition at line 451 of file otvcommn.h.

◆ ChainContextSubstFormat1Func

#define ChainContextSubstFormat1Func   otv_u_C_x_Ox

Definition at line 391 of file otvcommn.h.

◆ ChainContextSubstFormat2Func

#define ChainContextSubstFormat2Func   otv_u_O_O_O_O_x_Onx

Definition at line 445 of file otvcommn.h.

◆ ChainContextSubstFormat3Func

#define ChainContextSubstFormat3Func   otv_u_x_Ox_y_Oy_z_Oz_p_sp

Definition at line 452 of file otvcommn.h.

◆ ChainPosClassRuleFunc

#define ChainPosClassRuleFunc   otv_x_ux_y_uy_z_uz_p_sp

Definition at line 421 of file otvcommn.h.

◆ ChainPosClassSetFunc

#define ChainPosClassSetFunc   otv_x_Ox

Definition at line 371 of file otvcommn.h.

◆ ChainPosRuleFunc

#define ChainPosRuleFunc   otv_x_ux_y_uy_z_uz_p_sp

Definition at line 422 of file otvcommn.h.

◆ ChainPosRuleSetFunc

#define ChainPosRuleSetFunc   otv_x_Ox

Definition at line 372 of file otvcommn.h.

◆ ChainSubClassRuleFunc

#define ChainSubClassRuleFunc   otv_x_ux_y_uy_z_uz_p_sp

Definition at line 423 of file otvcommn.h.

◆ ChainSubClassSetFunc

#define ChainSubClassSetFunc   otv_x_Ox

Definition at line 373 of file otvcommn.h.

◆ ChainSubRuleFunc

#define ChainSubRuleFunc   otv_x_ux_y_uy_z_uz_p_sp

Definition at line 424 of file otvcommn.h.

◆ ChainSubRuleSetFunc

#define ChainSubRuleSetFunc   otv_x_Ox

Definition at line 374 of file otvcommn.h.

◆ ContextPosFormat1Func

#define ContextPosFormat1Func   otv_u_C_x_Ox

Definition at line 392 of file otvcommn.h.

◆ ContextPosFormat2Func

#define ContextPosFormat2Func   otv_u_O_O_x_Onx

Definition at line 430 of file otvcommn.h.

◆ ContextPosFormat3Func

#define ContextPosFormat3Func   otv_u_x_y_Ox_sy

Definition at line 437 of file otvcommn.h.

◆ ContextSubstFormat1Func

#define ContextSubstFormat1Func   otv_u_C_x_Ox

Definition at line 393 of file otvcommn.h.

◆ ContextSubstFormat2Func

#define ContextSubstFormat2Func   otv_u_O_O_x_Onx

Definition at line 431 of file otvcommn.h.

◆ ContextSubstFormat3Func

#define ContextSubstFormat3Func   otv_u_x_y_Ox_sy

Definition at line 438 of file otvcommn.h.

◆ ExtenderGlyphFunc

#define ExtenderGlyphFunc   otv_x_ux

Definition at line 403 of file otvcommn.h.

◆ FT_INVALID_

#define FT_INVALID_ ( _error)
Value:
ft_validator_error( otvalid->root, FT_THROW( _error ) )

Definition at line 73 of file otvcommn.h.

◆ JstfGPOSModListFunc

#define JstfGPOSModListFunc   otv_x_ux

Definition at line 404 of file otvcommn.h.

◆ JstfGSUBModListFunc

#define JstfGSUBModListFunc   otv_x_ux

Definition at line 405 of file otvcommn.h.

◆ JstfLangSysFunc

#define JstfLangSysFunc   otv_x_Ox

Definition at line 375 of file otvcommn.h.

◆ JstfMaxFunc

#define JstfMaxFunc   otv_x_Ox

Definition at line 376 of file otvcommn.h.

◆ LigatureArrayFunc

#define LigatureArrayFunc   otv_x_Ox

Definition at line 378 of file otvcommn.h.

◆ LigatureSetFunc

#define LigatureSetFunc   otv_x_Ox

Definition at line 379 of file otvcommn.h.

◆ LigatureSubstFormat1Func

#define LigatureSubstFormat1Func   otv_u_C_x_Ox

Definition at line 394 of file otvcommn.h.

◆ LigGlyphFunc

#define LigGlyphFunc   otv_x_Ox

Definition at line 377 of file otvcommn.h.

◆ MultipleSubstFormat1Func

#define MultipleSubstFormat1Func   otv_u_C_x_Ox

Definition at line 395 of file otvcommn.h.

◆ OTV_ENTER

#define OTV_ENTER   do { } while ( 0 )

Definition at line 231 of file otvcommn.h.

◆ OTV_EXIT

#define OTV_EXIT   do { } while ( 0 )

Definition at line 233 of file otvcommn.h.

◆ OTV_FUNC

#define OTV_FUNC ( x)
Value:
OTV_FUNC_(x)

Definition at line 151 of file otvcommn.h.

◆ OTV_FUNC_

#define OTV_FUNC_ ( x)
Value:
x##Func

Definition at line 150 of file otvcommn.h.

◆ OTV_INIT

#define OTV_INIT   do { } while ( 0 )

Definition at line 230 of file otvcommn.h.

◆ OTV_LIMIT_CHECK

#define OTV_LIMIT_CHECK ( _count)
Value:
FT_BEGIN_STMNT \
if ( p + (_count) > otvalid->root->limit ) \
FT_INVALID_TOO_SHORT; \
FT_END_STMNT

Definition at line 94 of file otvcommn.h.

◆ OTV_NAME

#define OTV_NAME ( x)
Value:
OTV_NAME_(x)

Definition at line 148 of file otvcommn.h.

◆ OTV_NAME_

#define OTV_NAME_ ( x)
Value:
#x

Definition at line 147 of file otvcommn.h.

◆ OTV_NAME_ENTER

#define OTV_NAME_ENTER ( name)
Value:
do { } while ( 0 )

Definition at line 232 of file otvcommn.h.

◆ OTV_NEST1

#define OTV_NEST1 ( x)
Value:
FT_BEGIN_STMNT \
otvalid->nesting_level = 0; \
otvalid->func[0] = OTV_FUNC( x ); \
FT_END_STMNT

Definition at line 209 of file otvcommn.h.

◆ OTV_NEST2

#define OTV_NEST2 ( x,
y )
Value:
FT_BEGIN_STMNT \
otvalid->nesting_level = 0; \
otvalid->func[0] = OTV_FUNC( x ); \
otvalid->func[1] = OTV_FUNC( y ); \
FT_END_STMNT

Definition at line 215 of file otvcommn.h.

◆ OTV_NEST3

#define OTV_NEST3 ( x,
y,
z )
Value:
FT_BEGIN_STMNT \
otvalid->nesting_level = 0; \
otvalid->func[0] = OTV_FUNC( x ); \
otvalid->func[1] = OTV_FUNC( y ); \
otvalid->func[2] = OTV_FUNC( z ); \
FT_END_STMNT

Definition at line 222 of file otvcommn.h.

◆ OTV_OPTIONAL_OFFSET

#define OTV_OPTIONAL_OFFSET ( _offset)
Value:
FT_BEGIN_STMNT \
_offset ## _p = p; \
_offset = FT_NEXT_USHORT( p ); \
FT_END_STMNT

Definition at line 82 of file otvcommn.h.

◆ OTV_OPTIONAL_OFFSET32

#define OTV_OPTIONAL_OFFSET32 ( _offset)
Value:
FT_BEGIN_STMNT \
_offset ## _p = p; \
_offset = FT_NEXT_ULONG( p ); \
FT_END_STMNT

Definition at line 88 of file otvcommn.h.

◆ OTV_OPTIONAL_TABLE

#define OTV_OPTIONAL_TABLE ( _table)
Value:
FT_UShort _table; \
FT_Bytes _table ## _p

Definition at line 76 of file otvcommn.h.

◆ OTV_OPTIONAL_TABLE32

#define OTV_OPTIONAL_TABLE32 ( _table)
Value:
FT_ULong _table; \
FT_Bytes _table ## _p

Definition at line 79 of file otvcommn.h.

◆ OTV_RUN

#define OTV_RUN   otvalid->func[0]

Definition at line 240 of file otvcommn.h.

◆ OTV_SIZE_CHECK

#define OTV_SIZE_CHECK ( _size)
Value:
FT_BEGIN_STMNT \
if ( _size > 0 && _size < table_size ) \
{ \
if ( otvalid->root->level == FT_VALIDATE_PARANOID ) \
FT_INVALID_OFFSET; \
else \
{ \
\
FT_Byte* pp = (FT_Byte*)_size ## _p; \
\
\
FT_TRACE3(( "\n" )); \
FT_TRACE3(( "Invalid offset to optional table `%s'" \
" set to zero.\n", \
#_size )); \
FT_TRACE3(( "\n" )); \
\
_size = pp[0] = pp[1] = 0; \
} \
} \
FT_END_STMNT

Definition at line 100 of file otvcommn.h.

◆ OTV_SIZE_CHECK32

#define OTV_SIZE_CHECK32 ( _size)
Value:
FT_BEGIN_STMNT \
if ( _size > 0 && _size < table_size ) \
{ \
if ( otvalid->root->level == FT_VALIDATE_PARANOID ) \
FT_INVALID_OFFSET; \
else \
{ \
\
FT_Byte* pp = (FT_Byte*)_size ## _p; \
\
\
FT_TRACE3(( "\n" )); \
FT_TRACE3(( "Invalid offset to optional table `%s'" \
" set to zero.\n", \
#_size )); \
FT_TRACE3(( "\n" )); \
\
_size = pp[0] = pp[1] = pp[2] = pp[3] = 0; \
} \
} \
FT_END_STMNT

Definition at line 123 of file otvcommn.h.

◆ OTV_TRACE

#define OTV_TRACE ( s)
Value:
do { } while ( 0 )

Definition at line 235 of file otvcommn.h.

◆ PosClassRuleFunc

#define PosClassRuleFunc   otv_x_y_ux_sy

Definition at line 412 of file otvcommn.h.

◆ PosClassSetFunc

#define PosClassSetFunc   otv_x_Ox

Definition at line 380 of file otvcommn.h.

◆ PosRuleFunc

#define PosRuleFunc   otv_x_y_ux_sy

Definition at line 413 of file otvcommn.h.

◆ PosRuleSetFunc

#define PosRuleSetFunc   otv_x_Ox

Definition at line 381 of file otvcommn.h.

◆ SequenceFunc

#define SequenceFunc   otv_x_ux

Definition at line 406 of file otvcommn.h.

◆ SubClassRuleFunc

#define SubClassRuleFunc   otv_x_y_ux_sy

Definition at line 414 of file otvcommn.h.

◆ SubClassSetFunc

#define SubClassSetFunc   otv_x_Ox

Definition at line 382 of file otvcommn.h.

◆ SubRuleFunc

#define SubRuleFunc   otv_x_y_ux_sy

Definition at line 415 of file otvcommn.h.

◆ SubRuleSetFunc

#define SubRuleSetFunc   otv_x_Ox

Definition at line 383 of file otvcommn.h.

Typedef Documentation

◆ OTV_Validate_Func

typedef void(*) OTV_Validate_Func(FT_Bytes table, OTV_Validator otvalid)

Definition at line 44 of file otvcommn.h.

◆ OTV_Validator

typedef typedefFT_BEGIN_HEADER struct OTV_ValidatorRec_* OTV_Validator

Definition at line 42 of file otvcommn.h.

Function Documentation

◆ otv_ClassDef_validate()

otv_ClassDef_validate ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 224 of file otvcommn.c.

◆ otv_Coverage_get_count()

otv_Coverage_get_count ( FT_Bytes table)

Definition at line 178 of file otvcommn.c.

◆ otv_Coverage_get_first()

otv_Coverage_get_first ( FT_Bytes table)

Definition at line 134 of file otvcommn.c.

◆ otv_Coverage_get_last()

otv_Coverage_get_last ( FT_Bytes table)

Definition at line 146 of file otvcommn.c.

◆ otv_Coverage_validate()

otv_Coverage_validate ( FT_Bytes table,
OTV_Validator otvalid,
FT_Int expected_count )

Definition at line 41 of file otvcommn.c.

◆ otv_Device_validate()

otv_Device_validate ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 310 of file otvcommn.c.

◆ otv_Feature_validate()

otv_Feature_validate ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 440 of file otvcommn.c.

◆ otv_FeatureList_validate()

otv_FeatureList_validate ( FT_Bytes table,
FT_Bytes lookups,
OTV_Validator otvalid )

Definition at line 476 of file otvcommn.c.

◆ otv_GSUBGPOS_get_Lookup_count()

otv_GSUBGPOS_get_Lookup_count ( FT_Bytes table)

Definition at line 1050 of file otvcommn.c.

◆ otv_GSUBGPOS_have_MarkAttachmentType_flag()

otv_GSUBGPOS_have_MarkAttachmentType_flag ( FT_Bytes table)

Definition at line 1060 of file otvcommn.c.

◆ otv_LangSys_validate()

otv_LangSys_validate ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 520 of file otvcommn.c.

◆ otv_Lookup_validate()

otv_Lookup_validate ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 356 of file otvcommn.c.

◆ otv_LookupList_validate()

otv_LookupList_validate ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 396 of file otvcommn.c.

◆ otv_Script_validate()

otv_Script_validate ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 561 of file otvcommn.c.

◆ otv_ScriptList_validate()

otv_ScriptList_validate ( FT_Bytes table,
FT_Bytes features,
OTV_Validator otvalid )

Definition at line 597 of file otvcommn.c.

◆ otv_u_C_x_Ox()

otv_u_C_x_Ox ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 685 of file otvcommn.c.

◆ otv_u_O_O_O_O_x_Onx()

otv_u_O_O_O_O_x_Onx ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 937 of file otvcommn.c.

◆ otv_u_O_O_x_Onx()

otv_u_O_O_x_Onx ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 852 of file otvcommn.c.

◆ otv_u_x_Ox_y_Oy_z_Oz_p_sp()

otv_u_x_Ox_y_Oy_z_Oz_p_sp ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 990 of file otvcommn.c.

◆ otv_u_x_y_Ox_sy()

otv_u_x_y_Ox_sy ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 898 of file otvcommn.c.

◆ otv_x_Ox()

otv_x_Ox ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 655 of file otvcommn.c.

◆ otv_x_ux()

otv_x_ux ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 722 of file otvcommn.c.

◆ otv_x_ux_y_uy_z_uz_p_sp()

otv_x_ux_y_uy_z_uz_p_sp ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 796 of file otvcommn.c.

◆ otv_x_y_ux_sy()

otv_x_y_ux_sy ( FT_Bytes table,
OTV_Validator otvalid )

Definition at line 755 of file otvcommn.c.