OLD | NEW |
| (Empty) |
1 /***************************************************************************/ | |
2 /* */ | |
3 /* ftotval.c */ | |
4 /* */ | |
5 /* FreeType API for validating OpenType tables (body). */ | |
6 /* */ | |
7 /* Copyright 2004, 2006, 2008, 2010, 2013 by */ | |
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | |
9 /* */ | |
10 /* This file is part of the FreeType project, and may only be used, */ | |
11 /* modified, and distributed under the terms of the FreeType project */ | |
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | |
13 /* this file you indicate that you have read the license and */ | |
14 /* understand and accept it fully. */ | |
15 /* */ | |
16 /***************************************************************************/ | |
17 | |
18 #include "../../include/ft2build.h" | |
19 #include "../../include/freetype/internal/ftdebug.h" | |
20 | |
21 #include "../../include/freetype/internal/ftobjs.h" | |
22 #include "../../include/freetype/internal/services/svotval.h" | |
23 #include "../../include/freetype/ftotval.h" | |
24 | |
25 | |
26 /* documentation is in ftotval.h */ | |
27 | |
28 FT_EXPORT_DEF( FT_Error ) | |
29 FT_OpenType_Validate( FT_Face face, | |
30 FT_UInt validation_flags, | |
31 FT_Bytes *BASE_table, | |
32 FT_Bytes *GDEF_table, | |
33 FT_Bytes *GPOS_table, | |
34 FT_Bytes *GSUB_table, | |
35 FT_Bytes *JSTF_table ) | |
36 { | |
37 FT_Service_OTvalidate service; | |
38 FT_Error error; | |
39 | |
40 | |
41 if ( !face ) | |
42 { | |
43 error = FT_THROW( Invalid_Face_Handle ); | |
44 goto Exit; | |
45 } | |
46 | |
47 if ( !( BASE_table && | |
48 GDEF_table && | |
49 GPOS_table && | |
50 GSUB_table && | |
51 JSTF_table ) ) | |
52 { | |
53 error = FT_THROW( Invalid_Argument ); | |
54 goto Exit; | |
55 } | |
56 | |
57 FT_FACE_FIND_GLOBAL_SERVICE( face, service, OPENTYPE_VALIDATE ); | |
58 | |
59 if ( service ) | |
60 error = service->validate( face, | |
61 validation_flags, | |
62 BASE_table, | |
63 GDEF_table, | |
64 GPOS_table, | |
65 GSUB_table, | |
66 JSTF_table ); | |
67 else | |
68 error = FT_THROW( Unimplemented_Feature ); | |
69 | |
70 Exit: | |
71 return error; | |
72 } | |
73 | |
74 | |
75 FT_EXPORT_DEF( void ) | |
76 FT_OpenType_Free( FT_Face face, | |
77 FT_Bytes table ) | |
78 { | |
79 FT_Memory memory; | |
80 | |
81 | |
82 if ( !face ) | |
83 return; | |
84 | |
85 memory = FT_FACE_MEMORY( face ); | |
86 | |
87 FT_FREE( table ); | |
88 } | |
89 | |
90 | |
91 /* END */ | |
OLD | NEW |