~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to tests/freetype/src/base/ftotval.c

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************/
 
2
/*                                                                         */
 
3
/*  ftotval.c                                                              */
 
4
/*                                                                         */
 
5
/*    FreeType API for validating OpenType tables (body).                  */
 
6
/*                                                                         */
 
7
/*  Copyright 2004, 2006, 2008, 2010 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
#include FT_OPENTYPE_VALIDATE_H
 
22
 
 
23
 
 
24
  /* documentation is in ftotval.h */
 
25
 
 
26
  FT_EXPORT_DEF( FT_Error )
 
27
  FT_OpenType_Validate( FT_Face    face,
 
28
                        FT_UInt    validation_flags,
 
29
                        FT_Bytes  *BASE_table,
 
30
                        FT_Bytes  *GDEF_table,
 
31
                        FT_Bytes  *GPOS_table,
 
32
                        FT_Bytes  *GSUB_table,
 
33
                        FT_Bytes  *JSTF_table )
 
34
  {
 
35
    FT_Service_OTvalidate  service;
 
36
    FT_Error               error;
 
37
 
 
38
 
 
39
    if ( !face )
 
40
    {
 
41
      error = FT_Err_Invalid_Face_Handle;
 
42
      goto Exit;
 
43
    }
 
44
 
 
45
    if ( !( BASE_table &&
 
46
            GDEF_table &&
 
47
            GPOS_table &&
 
48
            GSUB_table &&
 
49
            JSTF_table ) )
 
50
    {
 
51
      error = FT_Err_Invalid_Argument;
 
52
      goto Exit;
 
53
    }
 
54
 
 
55
    FT_FACE_FIND_GLOBAL_SERVICE( face, service, OPENTYPE_VALIDATE );
 
56
 
 
57
    if ( service )
 
58
      error = service->validate( face,
 
59
                                 validation_flags,
 
60
                                 BASE_table,
 
61
                                 GDEF_table,
 
62
                                 GPOS_table,
 
63
                                 GSUB_table,
 
64
                                 JSTF_table );
 
65
    else
 
66
      error = FT_Err_Unimplemented_Feature;
 
67
 
 
68
  Exit:
 
69
    return error;
 
70
  }
 
71
 
 
72
 
 
73
  FT_EXPORT_DEF( void )
 
74
  FT_OpenType_Free( FT_Face   face,
 
75
                    FT_Bytes  table )
 
76
  {
 
77
    FT_Memory  memory;
 
78
 
 
79
 
 
80
    if ( !face )
 
81
      return;
 
82
 
 
83
    memory = FT_FACE_MEMORY( face );
 
84
 
 
85
    FT_FREE( table );
 
86
  }
 
87
 
 
88
 
 
89
/* END */