PageRenderTime 17ms CodeModel.GetById 1ms app.highlight 10ms RepoModel.GetById 1ms app.codeStats 1ms

/src/freetype/src/type42/t42parse.h

https://bitbucket.org/cabalistic/ogredeps/
C++ Header | 90 lines | 42 code | 30 blank | 18 comment | 0 complexity | db886890bcf22da58d6f43f3420efb4b MD5 | raw file
 1/***************************************************************************/
 2/*                                                                         */
 3/*  t42parse.h                                                             */
 4/*                                                                         */
 5/*    Type 42 font parser (specification).                                 */
 6/*                                                                         */
 7/*  Copyright 2002, 2003 by Roberto Alameda.                               */
 8/*                                                                         */
 9/*  This file is part of the FreeType project, and may only be used,       */
10/*  modified, and distributed under the terms of the FreeType project      */
11/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
12/*  this file you indicate that you have read the license and              */
13/*  understand and accept it fully.                                        */
14/*                                                                         */
15/***************************************************************************/
16
17
18#ifndef __T42PARSE_H__
19#define __T42PARSE_H__
20
21
22#include "t42objs.h"
23#include FT_INTERNAL_POSTSCRIPT_AUX_H
24
25
26FT_BEGIN_HEADER
27
28  typedef struct  T42_ParserRec_
29  {
30    PS_ParserRec  root;
31    FT_Stream     stream;
32
33    FT_Byte*      base_dict;
34    FT_Long       base_len;
35
36    FT_Bool       in_memory;
37
38  } T42_ParserRec, *T42_Parser;
39
40
41  typedef struct  T42_Loader_
42  {
43    T42_ParserRec  parser;          /* parser used to read the stream */
44
45    FT_UInt        num_chars;       /* number of characters in encoding */
46    PS_TableRec    encoding_table;  /* PS_Table used to store the       */
47                                    /* encoding character names         */
48
49    FT_UInt        num_glyphs;
50    PS_TableRec    glyph_names;
51    PS_TableRec    charstrings;
52    PS_TableRec    swap_table;      /* For moving .notdef glyph to index 0. */
53
54  } T42_LoaderRec, *T42_Loader;
55
56
57  FT_LOCAL( FT_Error )
58  t42_parser_init( T42_Parser     parser,
59                   FT_Stream      stream,
60                   FT_Memory      memory,
61                   PSAux_Service  psaux );
62
63  FT_LOCAL( void )
64  t42_parser_done( T42_Parser  parser );
65
66
67  FT_LOCAL( FT_Error )
68  t42_parse_dict( T42_Face    face,
69                  T42_Loader  loader,
70                  FT_Byte*    base,
71                  FT_Long     size );
72
73
74  FT_LOCAL( void )
75  t42_loader_init( T42_Loader  loader,
76                   T42_Face    face );
77
78  FT_LOCAL( void )
79  t42_loader_done( T42_Loader  loader );
80
81
82 /* */
83
84FT_END_HEADER
85
86
87#endif /* __T42PARSE_H__ */
88
89
90/* END */