ReactOS 0.4.16-dev-297-gc569aee
ftgxval.h File Reference
#include <ft2build.h>
Include dependency graph for ftgxval.h:

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 279 of file ftgxval.h.

◆ FT_VALIDATE_bsln

#define FT_VALIDATE_bsln   FT_VALIDATE_GX_BITFIELD( bsln )

Definition at line 164 of file ftgxval.h.

◆ FT_VALIDATE_bsln_INDEX

#define FT_VALIDATE_bsln_INDEX   3

Definition at line 85 of file ftgxval.h.

◆ FT_VALIDATE_CKERN

#define FT_VALIDATE_CKERN   ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )

Definition at line 281 of file ftgxval.h.

◆ FT_VALIDATE_feat

#define FT_VALIDATE_feat   FT_VALIDATE_GX_BITFIELD( feat )

Definition at line 161 of file ftgxval.h.

◆ FT_VALIDATE_feat_INDEX

#define FT_VALIDATE_feat_INDEX   0

Definition at line 82 of file ftgxval.h.

◆ FT_VALIDATE_GX

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

Definition at line 172 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 111 of file ftgxval.h.

◆ FT_VALIDATE_GX_LAST_INDEX

#define FT_VALIDATE_GX_LAST_INDEX   FT_VALIDATE_lcar_INDEX

Definition at line 92 of file ftgxval.h.

◆ FT_VALIDATE_GX_LENGTH

#define FT_VALIDATE_GX_LENGTH   ( FT_VALIDATE_GX_LAST_INDEX + 1 )

Definition at line 104 of file ftgxval.h.

◆ FT_VALIDATE_GX_START

#define FT_VALIDATE_GX_START   0x4000

Definition at line 110 of file ftgxval.h.

◆ FT_VALIDATE_just

#define FT_VALIDATE_just   FT_VALIDATE_GX_BITFIELD( just )

Definition at line 165 of file ftgxval.h.

◆ FT_VALIDATE_just_INDEX

#define FT_VALIDATE_just_INDEX   4

Definition at line 86 of file ftgxval.h.

◆ FT_VALIDATE_kern

#define FT_VALIDATE_kern   FT_VALIDATE_GX_BITFIELD( kern )

Definition at line 166 of file ftgxval.h.

◆ FT_VALIDATE_kern_INDEX

#define FT_VALIDATE_kern_INDEX   5

Definition at line 87 of file ftgxval.h.

◆ FT_VALIDATE_lcar

#define FT_VALIDATE_lcar   FT_VALIDATE_GX_BITFIELD( lcar )

Definition at line 170 of file ftgxval.h.

◆ FT_VALIDATE_lcar_INDEX

#define FT_VALIDATE_lcar_INDEX   9

Definition at line 91 of file ftgxval.h.

◆ FT_VALIDATE_mort

#define FT_VALIDATE_mort   FT_VALIDATE_GX_BITFIELD( mort )

Definition at line 162 of file ftgxval.h.

◆ FT_VALIDATE_mort_INDEX

#define FT_VALIDATE_mort_INDEX   1

Definition at line 83 of file ftgxval.h.

◆ FT_VALIDATE_morx

#define FT_VALIDATE_morx   FT_VALIDATE_GX_BITFIELD( morx )

Definition at line 163 of file ftgxval.h.

◆ FT_VALIDATE_morx_INDEX

#define FT_VALIDATE_morx_INDEX   2

Definition at line 84 of file ftgxval.h.

◆ FT_VALIDATE_MS

#define FT_VALIDATE_MS   ( FT_VALIDATE_GX_START << 0 )

Definition at line 278 of file ftgxval.h.

◆ FT_VALIDATE_opbd

#define FT_VALIDATE_opbd   FT_VALIDATE_GX_BITFIELD( opbd )

Definition at line 167 of file ftgxval.h.

◆ FT_VALIDATE_opbd_INDEX

#define FT_VALIDATE_opbd_INDEX   6

Definition at line 88 of file ftgxval.h.

◆ FT_VALIDATE_prop

#define FT_VALIDATE_prop   FT_VALIDATE_GX_BITFIELD( prop )

Definition at line 169 of file ftgxval.h.

◆ FT_VALIDATE_prop_INDEX

#define FT_VALIDATE_prop_INDEX   8

Definition at line 90 of file ftgxval.h.

◆ FT_VALIDATE_trak

#define FT_VALIDATE_trak   FT_VALIDATE_GX_BITFIELD( trak )

Definition at line 168 of file ftgxval.h.

◆ FT_VALIDATE_trak_INDEX

#define FT_VALIDATE_trak_INDEX   7

Definition at line 89 of file ftgxval.h.

Function Documentation

◆ FT_ClassicKern_Free()

FT_ClassicKern_Free ( FT_Face  face,
FT_Bytes  table 
)

Definition at line 126 of file ftgxval.c.

128 {
130
131
132 if ( !face )
133 return;
134
136
137
138 FT_FREE( table );
139 }
#define FT_FREE(ptr)
Definition: ftmemory.h:329
#define FT_FACE_MEMORY(x)
Definition: ftobjs.h:636
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
Definition: ftsystem.h:66
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
static char memory[1024 *256]
Definition: process.c:116

◆ FT_ClassicKern_Validate()

FT_ClassicKern_Validate ( FT_Face  face,
FT_UInt  validation_flags,
FT_Bytes ckern_table 
)

Definition at line 91 of file ftgxval.c.

94 {
95 FT_Service_CKERNvalidate service;
97
98
99 if ( !face )
100 {
101 error = FT_THROW( Invalid_Face_Handle );
102 goto Exit;
103 }
104
105 if ( !ckern_table )
106 {
107 error = FT_THROW( Invalid_Argument );
108 goto Exit;
109 }
110
111 FT_FACE_FIND_GLOBAL_SERVICE( face, service, CLASSICKERN_VALIDATE );
112
113 if ( service )
114 error = service->validate( face,
115 validation_flags,
116 ckern_table );
117 else
118 error = FT_THROW( Unimplemented_Feature );
119
120 Exit:
121 return error;
122 }
#define FT_THROW(e)
Definition: ftdebug.h:213
#define FT_FACE_FIND_GLOBAL_SERVICE(face, ptr, id)
Definition: ftserv.h:125
int FT_Error
Definition: fttypes.h:300
#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 75 of file ftgxval.c.

77 {
79
80
81 if ( !face )
82 return;
83
85
86 FT_FREE( table );
87 }

◆ 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 38 of file ftgxval.c.

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