ReactOS 0.4.16-dev-2357-g35d0dfe
ftgxval.h File Reference
Include dependency graph for ftgxval.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FT_VALIDATE_feat_INDEX   0
 
#define FT_VALIDATE_mort_INDEX   1
 
#define FT_VALIDATE_morx_INDEX   2
 
#define FT_VALIDATE_bsln_INDEX   3
 
#define FT_VALIDATE_just_INDEX   4
 
#define FT_VALIDATE_kern_INDEX   5
 
#define FT_VALIDATE_opbd_INDEX   6
 
#define FT_VALIDATE_trak_INDEX   7
 
#define FT_VALIDATE_prop_INDEX   8
 
#define FT_VALIDATE_lcar_INDEX   9
 
#define FT_VALIDATE_GX_LAST_INDEX   FT_VALIDATE_lcar_INDEX
 
#define FT_VALIDATE_GX_LENGTH   ( FT_VALIDATE_GX_LAST_INDEX + 1 )
 
#define FT_VALIDATE_GX_START   0x4000
 
#define FT_VALIDATE_GX_BITFIELD(tag)    ( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX )
 
#define FT_VALIDATE_feat   FT_VALIDATE_GX_BITFIELD( feat )
 
#define FT_VALIDATE_mort   FT_VALIDATE_GX_BITFIELD( mort )
 
#define FT_VALIDATE_morx   FT_VALIDATE_GX_BITFIELD( morx )
 
#define FT_VALIDATE_bsln   FT_VALIDATE_GX_BITFIELD( bsln )
 
#define FT_VALIDATE_just   FT_VALIDATE_GX_BITFIELD( just )
 
#define FT_VALIDATE_kern   FT_VALIDATE_GX_BITFIELD( kern )
 
#define FT_VALIDATE_opbd   FT_VALIDATE_GX_BITFIELD( opbd )
 
#define FT_VALIDATE_trak   FT_VALIDATE_GX_BITFIELD( trak )
 
#define FT_VALIDATE_prop   FT_VALIDATE_GX_BITFIELD( prop )
 
#define FT_VALIDATE_lcar   FT_VALIDATE_GX_BITFIELD( lcar )
 
#define FT_VALIDATE_GX
 
#define FT_VALIDATE_MS   ( FT_VALIDATE_GX_START << 0 )
 
#define FT_VALIDATE_APPLE   ( FT_VALIDATE_GX_START << 1 )
 
#define FT_VALIDATE_CKERN   ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
 

Functions

 FT_TrueTypeGX_Validate (FT_Face face, FT_UInt validation_flags, FT_Bytes tables[FT_VALIDATE_GX_LENGTH], FT_UInt table_length)
 
 FT_TrueTypeGX_Free (FT_Face face, FT_Bytes table)
 
 FT_ClassicKern_Validate (FT_Face face, FT_UInt validation_flags, FT_Bytes *ckern_table)
 
 FT_ClassicKern_Free (FT_Face face, FT_Bytes table)
 

Macro Definition Documentation

◆ FT_VALIDATE_APPLE

#define FT_VALIDATE_APPLE   ( FT_VALIDATE_GX_START << 1 )

Definition at line 276 of file ftgxval.h.

◆ FT_VALIDATE_bsln

#define FT_VALIDATE_bsln   FT_VALIDATE_GX_BITFIELD( bsln )

Definition at line 163 of file ftgxval.h.

◆ FT_VALIDATE_bsln_INDEX

#define FT_VALIDATE_bsln_INDEX   3

Definition at line 84 of file ftgxval.h.

◆ FT_VALIDATE_CKERN

#define FT_VALIDATE_CKERN   ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )

Definition at line 278 of file ftgxval.h.

◆ FT_VALIDATE_feat

#define FT_VALIDATE_feat   FT_VALIDATE_GX_BITFIELD( feat )

Definition at line 160 of file ftgxval.h.

◆ FT_VALIDATE_feat_INDEX

#define FT_VALIDATE_feat_INDEX   0

Definition at line 81 of file ftgxval.h.

◆ FT_VALIDATE_GX

#define FT_VALIDATE_GX
Value:
#define FT_VALIDATE_kern
Definition: ftgxval.h:165
#define FT_VALIDATE_opbd
Definition: ftgxval.h:166
#define FT_VALIDATE_feat
Definition: ftgxval.h:160
#define FT_VALIDATE_bsln
Definition: ftgxval.h:163
#define FT_VALIDATE_prop
Definition: ftgxval.h:168
#define FT_VALIDATE_just
Definition: ftgxval.h:164
#define FT_VALIDATE_trak
Definition: ftgxval.h:167
#define FT_VALIDATE_morx
Definition: ftgxval.h:162
#define FT_VALIDATE_mort
Definition: ftgxval.h:161
#define FT_VALIDATE_lcar
Definition: ftgxval.h:169

Definition at line 171 of file ftgxval.h.

◆ FT_VALIDATE_GX_BITFIELD

#define FT_VALIDATE_GX_BITFIELD (   tag)     ( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX )

Definition at line 110 of file ftgxval.h.

◆ FT_VALIDATE_GX_LAST_INDEX

#define FT_VALIDATE_GX_LAST_INDEX   FT_VALIDATE_lcar_INDEX

Definition at line 91 of file ftgxval.h.

◆ FT_VALIDATE_GX_LENGTH

#define FT_VALIDATE_GX_LENGTH   ( FT_VALIDATE_GX_LAST_INDEX + 1 )

Definition at line 103 of file ftgxval.h.

◆ FT_VALIDATE_GX_START

#define FT_VALIDATE_GX_START   0x4000

Definition at line 109 of file ftgxval.h.

◆ FT_VALIDATE_just

#define FT_VALIDATE_just   FT_VALIDATE_GX_BITFIELD( just )

Definition at line 164 of file ftgxval.h.

◆ FT_VALIDATE_just_INDEX

#define FT_VALIDATE_just_INDEX   4

Definition at line 85 of file ftgxval.h.

◆ FT_VALIDATE_kern

#define FT_VALIDATE_kern   FT_VALIDATE_GX_BITFIELD( kern )

Definition at line 165 of file ftgxval.h.

◆ FT_VALIDATE_kern_INDEX

#define FT_VALIDATE_kern_INDEX   5

Definition at line 86 of file ftgxval.h.

◆ FT_VALIDATE_lcar

#define FT_VALIDATE_lcar   FT_VALIDATE_GX_BITFIELD( lcar )

Definition at line 169 of file ftgxval.h.

◆ FT_VALIDATE_lcar_INDEX

#define FT_VALIDATE_lcar_INDEX   9

Definition at line 90 of file ftgxval.h.

◆ FT_VALIDATE_mort

#define FT_VALIDATE_mort   FT_VALIDATE_GX_BITFIELD( mort )

Definition at line 161 of file ftgxval.h.

◆ FT_VALIDATE_mort_INDEX

#define FT_VALIDATE_mort_INDEX   1

Definition at line 82 of file ftgxval.h.

◆ FT_VALIDATE_morx

#define FT_VALIDATE_morx   FT_VALIDATE_GX_BITFIELD( morx )

Definition at line 162 of file ftgxval.h.

◆ FT_VALIDATE_morx_INDEX

#define FT_VALIDATE_morx_INDEX   2

Definition at line 83 of file ftgxval.h.

◆ FT_VALIDATE_MS

#define FT_VALIDATE_MS   ( FT_VALIDATE_GX_START << 0 )

Definition at line 275 of file ftgxval.h.

◆ FT_VALIDATE_opbd

#define FT_VALIDATE_opbd   FT_VALIDATE_GX_BITFIELD( opbd )

Definition at line 166 of file ftgxval.h.

◆ FT_VALIDATE_opbd_INDEX

#define FT_VALIDATE_opbd_INDEX   6

Definition at line 87 of file ftgxval.h.

◆ FT_VALIDATE_prop

#define FT_VALIDATE_prop   FT_VALIDATE_GX_BITFIELD( prop )

Definition at line 168 of file ftgxval.h.

◆ FT_VALIDATE_prop_INDEX

#define FT_VALIDATE_prop_INDEX   8

Definition at line 89 of file ftgxval.h.

◆ FT_VALIDATE_trak

#define FT_VALIDATE_trak   FT_VALIDATE_GX_BITFIELD( trak )

Definition at line 167 of file ftgxval.h.

◆ FT_VALIDATE_trak_INDEX

#define FT_VALIDATE_trak_INDEX   7

Definition at line 88 of file ftgxval.h.

Function Documentation

◆ FT_ClassicKern_Free()

FT_ClassicKern_Free ( FT_Face  face,
FT_Bytes  table 
)

Definition at line 125 of file ftgxval.c.

127 {
129
130
131 if ( !face )
132 return;
133
135
136
137 FT_FREE( table );
138 }
#define FT_FREE(ptr)
Definition: ftmemory.h:337
#define FT_FACE_MEMORY(x)
Definition: ftobjs.h:603
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition: ftsystem.h:64
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
static char memory[1024 *256]
Definition: process.c:122

◆ FT_ClassicKern_Validate()

FT_ClassicKern_Validate ( FT_Face  face,
FT_UInt  validation_flags,
FT_Bytes ckern_table 
)

Definition at line 90 of file ftgxval.c.

93 {
94 FT_Service_CKERNvalidate service;
96
97
98 if ( !face )
99 {
100 error = FT_THROW( Invalid_Face_Handle );
101 goto Exit;
102 }
103
104 if ( !ckern_table )
105 {
106 error = FT_THROW( Invalid_Argument );
107 goto Exit;
108 }
109
110 FT_FACE_FIND_GLOBAL_SERVICE( face, service, CLASSICKERN_VALIDATE );
111
112 if ( service )
113 error = service->validate( face,
114 validation_flags,
115 ckern_table );
116 else
117 error = FT_THROW( Unimplemented_Feature );
118
119 Exit:
120 return error;
121 }
#define FT_THROW(e)
Definition: ftdebug.h:243
#define FT_FACE_FIND_GLOBAL_SERVICE(face, ptr, id)
Definition: ftserv.h:128
int FT_Error
Definition: fttypes.h:299
#define error(str)
Definition: mkdosfs.c:1605
static void Exit(void)
Definition: sock.c:1330

◆ FT_TrueTypeGX_Free()

FT_TrueTypeGX_Free ( FT_Face  face,
FT_Bytes  table 
)

Definition at line 74 of file ftgxval.c.

76 {
78
79
80 if ( !face )
81 return;
82
84
85 FT_FREE( table );
86 }

◆ FT_TrueTypeGX_Validate()

FT_TrueTypeGX_Validate ( FT_Face  face,
FT_UInt  validation_flags,
FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],
FT_UInt  table_length 
)

Definition at line 37 of file ftgxval.c.

41 {
42 FT_Service_GXvalidate service;
44
45
46 if ( !face )
47 {
48 error = FT_THROW( Invalid_Face_Handle );
49 goto Exit;
50 }
51
52 if ( !tables )
53 {
54 error = FT_THROW( Invalid_Argument );
55 goto Exit;
56 }
57
58 FT_FACE_FIND_GLOBAL_SERVICE( face, service, GX_VALIDATE );
59
60 if ( service )
61 error = service->validate( face,
62 validation_flags,
63 tables,
64 table_length );
65 else
66 error = FT_THROW( Unimplemented_Feature );
67
68 Exit:
69 return error;
70 }
struct nls_table * tables
Definition: nls_base.c:22