2000-08-24 18:29:15 +02:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* psauxmod.c */
|
|
|
|
/* */
|
|
|
|
/* FreeType auxiliary PostScript module implementation (body). */
|
|
|
|
/* */
|
|
|
|
/* Copyright 2000 by */
|
|
|
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
|
|
|
/* */
|
|
|
|
/* This file is part of the FreeType project, and may only be used, */
|
|
|
|
/* modified, and distributed under the terms of the FreeType project */
|
|
|
|
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
|
|
|
/* this file you indicate that you have read the license and */
|
|
|
|
/* understand and accept it fully. */
|
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
2000-12-08 17:17:16 +01:00
|
|
|
|
|
|
|
#include <ft2build.h>
|
2001-03-20 12:14:24 +01:00
|
|
|
#include "psauxmod.h"
|
|
|
|
#include "psobjs.h"
|
|
|
|
#include "t1decode.h"
|
2000-12-08 17:17:16 +01:00
|
|
|
|
2000-08-24 18:29:15 +02:00
|
|
|
|
2000-11-04 02:55:49 +01:00
|
|
|
FT_CALLBACK_TABLE_DEF
|
|
|
|
const PS_Table_Funcs ps_table_funcs =
|
2000-08-23 00:36:33 +02:00
|
|
|
{
|
|
|
|
PS_Table_New,
|
|
|
|
PS_Table_Done,
|
|
|
|
PS_Table_Add,
|
|
|
|
PS_Table_Release
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-11-04 02:55:49 +01:00
|
|
|
FT_CALLBACK_TABLE_DEF
|
|
|
|
const T1_Parser_Funcs t1_parser_funcs =
|
2000-08-23 00:36:33 +02:00
|
|
|
{
|
|
|
|
T1_Init_Parser,
|
|
|
|
T1_Done_Parser,
|
|
|
|
T1_Skip_Spaces,
|
|
|
|
T1_Skip_Alpha,
|
|
|
|
T1_ToInt,
|
|
|
|
T1_ToFixed,
|
|
|
|
T1_ToCoordArray,
|
|
|
|
T1_ToFixedArray,
|
|
|
|
T1_ToToken,
|
|
|
|
T1_ToTokenArray,
|
|
|
|
T1_Load_Field,
|
|
|
|
T1_Load_Field_Table
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-11-04 02:55:49 +01:00
|
|
|
FT_CALLBACK_TABLE_DEF
|
|
|
|
const T1_Builder_Funcs t1_builder_funcs =
|
2000-08-23 00:36:33 +02:00
|
|
|
{
|
|
|
|
T1_Builder_Init,
|
|
|
|
T1_Builder_Done,
|
|
|
|
T1_Builder_Check_Points,
|
|
|
|
T1_Builder_Add_Point,
|
|
|
|
T1_Builder_Add_Point1,
|
|
|
|
T1_Builder_Add_Contour,
|
|
|
|
T1_Builder_Start_Point,
|
|
|
|
T1_Builder_Close_Contour
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-11-04 02:55:49 +01:00
|
|
|
FT_CALLBACK_TABLE_DEF
|
|
|
|
const T1_Decoder_Funcs t1_decoder_funcs =
|
2000-08-23 00:36:33 +02:00
|
|
|
{
|
|
|
|
T1_Decoder_Init,
|
|
|
|
T1_Decoder_Done,
|
|
|
|
T1_Decoder_Parse_Charstrings
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-10-26 12:04:16 +02:00
|
|
|
static
|
2000-08-24 18:29:15 +02:00
|
|
|
const PSAux_Interface psaux_interface =
|
2000-08-23 00:36:33 +02:00
|
|
|
{
|
|
|
|
&ps_table_funcs,
|
|
|
|
&t1_parser_funcs,
|
|
|
|
&t1_builder_funcs,
|
|
|
|
&t1_decoder_funcs,
|
2000-10-31 21:42:18 +01:00
|
|
|
|
2000-08-23 00:36:33 +02:00
|
|
|
T1_Decrypt
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-11-04 02:55:49 +01:00
|
|
|
FT_CALLBACK_TABLE_DEF
|
|
|
|
const FT_Module_Class psaux_module_class =
|
2000-08-23 00:36:33 +02:00
|
|
|
{
|
|
|
|
0,
|
|
|
|
sizeof( FT_ModuleRec ),
|
|
|
|
"psaux",
|
|
|
|
0x10000L,
|
|
|
|
0x20000L,
|
2000-10-31 21:42:18 +01:00
|
|
|
|
2000-08-23 00:36:33 +02:00
|
|
|
&psaux_interface, /* module-specific interface */
|
2000-10-31 21:42:18 +01:00
|
|
|
|
2000-08-24 18:29:15 +02:00
|
|
|
(FT_Module_Constructor)0,
|
|
|
|
(FT_Module_Destructor) 0,
|
|
|
|
(FT_Module_Requester) 0
|
2000-08-23 00:36:33 +02:00
|
|
|
};
|
|
|
|
|
2000-08-24 18:29:15 +02:00
|
|
|
|
|
|
|
/* END */
|