PageRenderTime 20ms CodeModel.GetById 11ms app.highlight 5ms RepoModel.GetById 2ms app.codeStats 0ms

/src/compiler/android-ndk/jni/freetype/src/psaux/afmparse.h

http://ftk.googlecode.com/
C++ Header | 87 lines | 44 code | 25 blank | 18 comment | 0 complexity | fe7767842fd05b8cbc69a238e47fef39 MD5 | raw file
 1/***************************************************************************/
 2/*                                                                         */
 3/*  afmparse.h                                                             */
 4/*                                                                         */
 5/*    AFM parser (specification).                                          */
 6/*                                                                         */
 7/*  Copyright 2006 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
19#ifndef __AFMPARSE_H__
20#define __AFMPARSE_H__
21
22
23#include <ft2build.h>
24#include FT_INTERNAL_POSTSCRIPT_AUX_H
25
26
27FT_BEGIN_HEADER
28
29
30  FT_LOCAL( FT_Error )
31  afm_parser_init( AFM_Parser  parser,
32                   FT_Memory   memory,
33                   FT_Byte*    base,
34                   FT_Byte*    limit );
35
36
37  FT_LOCAL( void )
38  afm_parser_done( AFM_Parser  parser );
39
40
41  FT_LOCAL( FT_Error )
42  afm_parser_parse( AFM_Parser  parser );
43
44
45  enum  AFM_ValueType_
46  {
47    AFM_VALUE_TYPE_STRING,
48    AFM_VALUE_TYPE_NAME,
49    AFM_VALUE_TYPE_FIXED,   /* real number */
50    AFM_VALUE_TYPE_INTEGER,
51    AFM_VALUE_TYPE_BOOL,
52    AFM_VALUE_TYPE_INDEX    /* glyph index */
53  };
54
55
56  typedef struct  AFM_ValueRec_
57  {
58    enum AFM_ValueType_  type;
59    union {
60      char*     s;
61      FT_Fixed  f;
62      FT_Int    i;
63      FT_Bool   b;
64
65    } u;
66
67  } AFM_ValueRec, *AFM_Value;
68
69#define  AFM_MAX_ARGUMENTS  5
70
71  FT_LOCAL( FT_Int )
72  afm_parser_read_vals( AFM_Parser  parser,
73                        AFM_Value   vals,
74                        FT_UInt     n );
75
76  /* read the next key from the next line or column */
77  FT_LOCAL( char* )
78  afm_parser_next_key( AFM_Parser  parser,
79                       FT_Bool     line,
80                       FT_Offset*  len );
81
82FT_END_HEADER
83
84#endif /* __AFMPARSE_H__ */
85
86
87/* END */