xref: /inferno-os/libfreetype/psauxmod.c (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth /***************************************************************************/
2*37da2899SCharles.Forsyth /*                                                                         */
3*37da2899SCharles.Forsyth /*  psauxmod.c                                                             */
4*37da2899SCharles.Forsyth /*                                                                         */
5*37da2899SCharles.Forsyth /*    FreeType auxiliary PostScript module implementation (body).          */
6*37da2899SCharles.Forsyth /*                                                                         */
7*37da2899SCharles.Forsyth /*  Copyright 2000-2001, 2002 by                                           */
8*37da2899SCharles.Forsyth /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9*37da2899SCharles.Forsyth /*                                                                         */
10*37da2899SCharles.Forsyth /*  This file is part of the FreeType project, and may only be used,       */
11*37da2899SCharles.Forsyth /*  modified, and distributed under the terms of the FreeType project      */
12*37da2899SCharles.Forsyth /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13*37da2899SCharles.Forsyth /*  this file you indicate that you have read the license and              */
14*37da2899SCharles.Forsyth /*  understand and accept it fully.                                        */
15*37da2899SCharles.Forsyth /*                                                                         */
16*37da2899SCharles.Forsyth /***************************************************************************/
17*37da2899SCharles.Forsyth 
18*37da2899SCharles.Forsyth 
19*37da2899SCharles.Forsyth #include <ft2build.h>
20*37da2899SCharles.Forsyth #include "psauxmod.h"
21*37da2899SCharles.Forsyth #include "psobjs.h"
22*37da2899SCharles.Forsyth #include "t1decode.h"
23*37da2899SCharles.Forsyth #include "t1cmap.h"
24*37da2899SCharles.Forsyth 
25*37da2899SCharles.Forsyth 
26*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE_DEF
27*37da2899SCharles.Forsyth   const PS_Table_FuncsRec  ps_table_funcs =
28*37da2899SCharles.Forsyth   {
29*37da2899SCharles.Forsyth     ps_table_new,
30*37da2899SCharles.Forsyth     ps_table_done,
31*37da2899SCharles.Forsyth     ps_table_add,
32*37da2899SCharles.Forsyth     ps_table_release
33*37da2899SCharles.Forsyth   };
34*37da2899SCharles.Forsyth 
35*37da2899SCharles.Forsyth 
36*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE_DEF
37*37da2899SCharles.Forsyth   const PS_Parser_FuncsRec  ps_parser_funcs =
38*37da2899SCharles.Forsyth   {
39*37da2899SCharles.Forsyth     ps_parser_init,
40*37da2899SCharles.Forsyth     ps_parser_done,
41*37da2899SCharles.Forsyth     ps_parser_skip_spaces,
42*37da2899SCharles.Forsyth     ps_parser_skip_alpha,
43*37da2899SCharles.Forsyth     ps_parser_to_int,
44*37da2899SCharles.Forsyth     ps_parser_to_fixed,
45*37da2899SCharles.Forsyth     ps_parser_to_coord_array,
46*37da2899SCharles.Forsyth     ps_parser_to_fixed_array,
47*37da2899SCharles.Forsyth     ps_parser_to_token,
48*37da2899SCharles.Forsyth     ps_parser_to_token_array,
49*37da2899SCharles.Forsyth     ps_parser_load_field,
50*37da2899SCharles.Forsyth     ps_parser_load_field_table
51*37da2899SCharles.Forsyth   };
52*37da2899SCharles.Forsyth 
53*37da2899SCharles.Forsyth 
54*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE_DEF
55*37da2899SCharles.Forsyth   const T1_Builder_FuncsRec  t1_builder_funcs =
56*37da2899SCharles.Forsyth   {
57*37da2899SCharles.Forsyth     t1_builder_init,
58*37da2899SCharles.Forsyth     t1_builder_done,
59*37da2899SCharles.Forsyth     t1_builder_check_points,
60*37da2899SCharles.Forsyth     t1_builder_add_point,
61*37da2899SCharles.Forsyth     t1_builder_add_point1,
62*37da2899SCharles.Forsyth     t1_builder_add_contour,
63*37da2899SCharles.Forsyth     t1_builder_start_point,
64*37da2899SCharles.Forsyth     t1_builder_close_contour
65*37da2899SCharles.Forsyth   };
66*37da2899SCharles.Forsyth 
67*37da2899SCharles.Forsyth 
68*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE_DEF
69*37da2899SCharles.Forsyth   const T1_Decoder_FuncsRec  t1_decoder_funcs =
70*37da2899SCharles.Forsyth   {
71*37da2899SCharles.Forsyth     t1_decoder_init,
72*37da2899SCharles.Forsyth     t1_decoder_done,
73*37da2899SCharles.Forsyth     t1_decoder_parse_charstrings
74*37da2899SCharles.Forsyth   };
75*37da2899SCharles.Forsyth 
76*37da2899SCharles.Forsyth 
77*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE_DEF
78*37da2899SCharles.Forsyth   const T1_CMap_ClassesRec  t1_cmap_classes =
79*37da2899SCharles.Forsyth   {
80*37da2899SCharles.Forsyth     &t1_cmap_standard_class_rec,
81*37da2899SCharles.Forsyth     &t1_cmap_expert_class_rec,
82*37da2899SCharles.Forsyth     &t1_cmap_custom_class_rec,
83*37da2899SCharles.Forsyth     &t1_cmap_unicode_class_rec
84*37da2899SCharles.Forsyth   };
85*37da2899SCharles.Forsyth 
86*37da2899SCharles.Forsyth 
87*37da2899SCharles.Forsyth   static
88*37da2899SCharles.Forsyth   const PSAux_Interface  psaux_interface =
89*37da2899SCharles.Forsyth   {
90*37da2899SCharles.Forsyth     &ps_table_funcs,
91*37da2899SCharles.Forsyth     &ps_parser_funcs,
92*37da2899SCharles.Forsyth     &t1_builder_funcs,
93*37da2899SCharles.Forsyth     &t1_decoder_funcs,
94*37da2899SCharles.Forsyth 
95*37da2899SCharles.Forsyth     t1_decrypt,
96*37da2899SCharles.Forsyth 
97*37da2899SCharles.Forsyth     (const T1_CMap_ClassesRec*) &t1_cmap_classes,
98*37da2899SCharles.Forsyth   };
99*37da2899SCharles.Forsyth 
100*37da2899SCharles.Forsyth 
101*37da2899SCharles.Forsyth   FT_CALLBACK_TABLE_DEF
102*37da2899SCharles.Forsyth   const FT_Module_Class  psaux_module_class =
103*37da2899SCharles.Forsyth   {
104*37da2899SCharles.Forsyth     0,
105*37da2899SCharles.Forsyth     sizeof( FT_ModuleRec ),
106*37da2899SCharles.Forsyth     "psaux",
107*37da2899SCharles.Forsyth     0x10000L,
108*37da2899SCharles.Forsyth     0x20000L,
109*37da2899SCharles.Forsyth 
110*37da2899SCharles.Forsyth     &psaux_interface,  /* module-specific interface */
111*37da2899SCharles.Forsyth 
112*37da2899SCharles.Forsyth     (FT_Module_Constructor)0,
113*37da2899SCharles.Forsyth     (FT_Module_Destructor) 0,
114*37da2899SCharles.Forsyth     (FT_Module_Requester)  0
115*37da2899SCharles.Forsyth   };
116*37da2899SCharles.Forsyth 
117*37da2899SCharles.Forsyth 
118*37da2899SCharles.Forsyth /* END */
119