The BIG graph update
[rrdtool.git] / libraries / freetype-2.0.5 / psauxmod.c
1 /***************************************************************************/
2 /*                                                                         */
3 /*  psauxmod.c                                                             */
4 /*                                                                         */
5 /*    FreeType auxiliary PostScript module implementation (body).          */
6 /*                                                                         */
7 /*  Copyright 2000-2001 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 #include <ft2build.h>
20 #include "psauxmod.h"
21 #include "psobjs.h"
22 #include "t1decode.h"
23
24
25   FT_CALLBACK_TABLE_DEF
26   const PS_Table_Funcs  ps_table_funcs =
27   {
28     PS_Table_New,
29     PS_Table_Done,
30     PS_Table_Add,
31     PS_Table_Release
32   };
33
34
35   FT_CALLBACK_TABLE_DEF
36   const T1_Parser_Funcs  t1_parser_funcs =
37   {
38     T1_Init_Parser,
39     T1_Done_Parser,
40     T1_Skip_Spaces,
41     T1_Skip_Alpha,
42     T1_ToInt,
43     T1_ToFixed,
44     T1_ToCoordArray,
45     T1_ToFixedArray,
46     T1_ToToken,
47     T1_ToTokenArray,
48     T1_Load_Field,
49     T1_Load_Field_Table
50   };
51
52
53   FT_CALLBACK_TABLE_DEF
54   const T1_Builder_Funcs  t1_builder_funcs =
55   {
56     T1_Builder_Init,
57     T1_Builder_Done,
58     T1_Builder_Check_Points,
59     T1_Builder_Add_Point,
60     T1_Builder_Add_Point1,
61     T1_Builder_Add_Contour,
62     T1_Builder_Start_Point,
63     T1_Builder_Close_Contour
64   };
65
66
67   FT_CALLBACK_TABLE_DEF
68   const T1_Decoder_Funcs  t1_decoder_funcs =
69   {
70     T1_Decoder_Init,
71     T1_Decoder_Done,
72     T1_Decoder_Parse_Charstrings
73   };
74
75
76   static
77   const PSAux_Interface  psaux_interface =
78   {
79     &ps_table_funcs,
80     &t1_parser_funcs,
81     &t1_builder_funcs,
82     &t1_decoder_funcs,
83
84     T1_Decrypt
85   };
86
87
88   FT_CALLBACK_TABLE_DEF
89   const FT_Module_Class  psaux_module_class =
90   {
91     0,
92     sizeof( FT_ModuleRec ),
93     "psaux",
94     0x10000L,
95     0x20000L,
96
97     &psaux_interface,  /* module-specific interface */
98
99     (FT_Module_Constructor)0,
100     (FT_Module_Destructor) 0,
101     (FT_Module_Requester)  0
102   };
103
104
105 /* END */