00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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,
00132
00133 (FT_Module_Constructor)0,
00134 (FT_Module_Destructor) 0,
00135 (FT_Module_Requester) 0
00136 };
00137
00138
00139