source: trunk/poppler/freetype-2.1.10/src/base/ftotval.c @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 15 years ago

First import

File size: 2.5 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  ftotval.c                                                              */
4/*                                                                         */
5/*    FreeType API for validating OpenType tables (body).                  */
6/*                                                                         */
7/*  Copyright 2004 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 <ft2build.h>
19#include FT_INTERNAL_OBJECTS_H
20#include FT_SERVICE_OPENTYPE_VALIDATE_H
21
22
23  /* documentation is in ftotval.h */
24
25  FT_EXPORT_DEF( FT_Error )
26  FT_OpenType_Validate( FT_Face    face,
27                        FT_UInt    validation_flags,
28                        FT_Bytes  *BASE_table,
29                        FT_Bytes  *GDEF_table,
30                        FT_Bytes  *GPOS_table,
31                        FT_Bytes  *GSUB_table,
32                        FT_Bytes  *JSTF_table )
33  {
34    FT_Service_OTvalidate  service;
35    FT_Error               error;
36
37
38    if ( !face )
39    {
40      error = FT_Err_Invalid_Face_Handle;
41      goto Exit;
42    }
43
44    if ( !( BASE_table &&
45            GDEF_table &&
46            GPOS_table &&
47            GSUB_table &&
48            JSTF_table ) )
49    {
50      error = FT_Err_Invalid_Argument;
51      goto Exit;
52    }
53
54    FT_FACE_FIND_GLOBAL_SERVICE( face, service, OPENTYPE_VALIDATE );
55
56    if ( service )
57      error = service->validate( face,
58                                 validation_flags,
59                                 BASE_table,
60                                 GDEF_table,
61                                 GPOS_table,
62                                 GSUB_table,
63                                 JSTF_table );
64    else
65      error = FT_Err_Invalid_Argument;
66
67  Exit:
68    return error;
69  }
70
71
72/* END */
Note: See TracBrowser for help on using the repository browser.