2000-08-24 18:29:15 +02:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* psauxmod.c */
|
|
|
|
/* */
|
|
|
|
/* FreeType auxiliary PostScript module implementation (body). */
|
|
|
|
/* */
|
2001-06-28 19:49:10 +02:00
|
|
|
/* Copyright 2000-2001 by */
|
2000-08-24 18:29:15 +02:00
|
|
|
/* 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
|
2002-02-28 17:10:29 +01:00
|
|
|
const PS_Table_FuncsRec 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
|
2002-02-28 17:10:29 +01:00
|
|
|
const PS_Parser_FuncsRec ps_parser_funcs =
|
2000-08-23 00:36:33 +02:00
|
|
|
{
|
2002-02-28 17:10:29 +01:00
|
|
|
PS_Parser_Init,
|
|
|
|
PS_Parser_Done,
|
|
|
|
PS_Parser_SkipSpaces,
|
|
|
|
PS_Parser_SkipAlpha,
|
|
|
|
PS_Parser_ToInt,
|
|
|
|
PS_Parser_ToFixed,
|
|
|
|
PS_Parser_ToCoordArray,
|
|
|
|
PS_Parser_ToFixedArray,
|
|
|
|
PS_Parser_ToToken,
|
|
|
|
PS_Parser_ToTokenArray,
|
|
|
|
PS_Parser_LoadField,
|
|
|
|
PS_Parser_LoadFieldTable
|
2000-08-23 00:36:33 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
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
|
2002-02-28 17:10:29 +01:00
|
|
|
const T1_Decoder_FuncsRec 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,
|
2002-02-28 17:10:29 +01:00
|
|
|
&ps_parser_funcs,
|
2000-08-23 00:36:33 +02:00
|
|
|
&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 */
|