psauxmod.c

Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  psauxmod.c                                                             */
00004 /*                                                                         */
00005 /*    FreeType auxiliary PostScript module implementation (body).          */
00006 /*                                                                         */
00007 /*  Copyright 2000-2001, 2002, 2003, 2006 by                               */
00008 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
00009 /*                                                                         */
00010 /*  This file is part of the FreeType project, and may only be used,       */
00011 /*  modified, and distributed under the terms of the FreeType project      */
00012 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00013 /*  this file you indicate that you have read the license and              */
00014 /*  understand and accept it fully.                                        */
00015 /*                                                                         */
00016 /***************************************************************************/
00017 
00018 
00019 #include <ft2build.h>
00020 #include "psauxmod.h"
00021 #include "psobjs.h"
00022 #include "t1decode.h"
00023 #include "t1cmap.h"
00024 
00025 #ifndef T1_CONFIG_OPTION_NO_AFM
00026 #include "afmparse.h"
00027 #endif
00028 
00029 
00030   FT_CALLBACK_TABLE_DEF
00031   const PS_Table_FuncsRec  ps_table_funcs =
00032   {
00033     ps_table_new,
00034     ps_table_done,
00035     ps_table_add,
00036     ps_table_release
00037   };
00038 
00039 
00040   FT_CALLBACK_TABLE_DEF
00041   const PS_Parser_FuncsRec  ps_parser_funcs =
00042   {
00043     ps_parser_init,
00044     ps_parser_done,
00045     ps_parser_skip_spaces,
00046     ps_parser_skip_PS_token,
00047     ps_parser_to_int,
00048     ps_parser_to_fixed,
00049     ps_parser_to_bytes,
00050     ps_parser_to_coord_array,
00051     ps_parser_to_fixed_array,
00052     ps_parser_to_token,
00053     ps_parser_to_token_array,
00054     ps_parser_load_field,
00055     ps_parser_load_field_table
00056   };
00057 
00058 
00059   FT_CALLBACK_TABLE_DEF
00060   const T1_Builder_FuncsRec  t1_builder_funcs =
00061   {
00062     t1_builder_init,
00063     t1_builder_done,
00064     t1_builder_check_points,
00065     t1_builder_add_point,
00066     t1_builder_add_point1,
00067     t1_builder_add_contour,
00068     t1_builder_start_point,
00069     t1_builder_close_contour
00070   };
00071 
00072 
00073   FT_CALLBACK_TABLE_DEF
00074   const T1_Decoder_FuncsRec  t1_decoder_funcs =
00075   {
00076     t1_decoder_init,
00077     t1_decoder_done,
00078     t1_decoder_parse_charstrings
00079   };
00080 
00081 
00082 #ifndef T1_CONFIG_OPTION_NO_AFM
00083   FT_CALLBACK_TABLE_DEF
00084   const AFM_Parser_FuncsRec  afm_parser_funcs =
00085   {
00086     afm_parser_init,
00087     afm_parser_done,
00088     afm_parser_parse
00089   };
00090 #endif
00091 
00092 
00093   FT_CALLBACK_TABLE_DEF
00094   const T1_CMap_ClassesRec  t1_cmap_classes =
00095   {
00096     &t1_cmap_standard_class_rec,
00097     &t1_cmap_expert_class_rec,
00098     &t1_cmap_custom_class_rec,
00099     &t1_cmap_unicode_class_rec
00100   };
00101 
00102 
00103   static
00104   const PSAux_Interface  psaux_interface =
00105   {
00106     &ps_table_funcs,
00107     &ps_parser_funcs,
00108     &t1_builder_funcs,
00109     &t1_decoder_funcs,
00110     t1_decrypt,
00111 
00112     (const T1_CMap_ClassesRec*) &t1_cmap_classes,
00113 
00114 #ifndef T1_CONFIG_OPTION_NO_AFM
00115     &afm_parser_funcs,
00116 #else
00117     0,
00118 #endif
00119   };
00120 
00121 
00122   FT_CALLBACK_TABLE_DEF
00123   const FT_Module_Class  psaux_module_class =
00124   {
00125     0,
00126     sizeof( FT_ModuleRec ),
00127     "psaux",
00128     0x20000L,
00129     0x20000L,
00130 
00131     &psaux_interface,  /* module-specific interface */
00132 
00133     (FT_Module_Constructor)0,
00134     (FT_Module_Destructor) 0,
00135     (FT_Module_Requester)  0
00136   };
00137 
00138 
00139 /* END */

Generated on Tue Jul 5 14:13:50 2011 for ROOT_528-00b_version by  doxygen 1.5.1