/***************************************************************************/ /* */ /* psobjs.h */ /* */ /* Auxiliary functions for PostScript fonts (specification). */ /* */ /* Copyright 1996-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. */ /* */ /***************************************************************************/ #ifndef PSOBJS_H #define PSOBJS_H #include #ifdef __cplusplus extern "C" { #endif /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** T1_TABLE *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ FT_CALLBACK_TABLE const PS_Table_Funcs ps_table_funcs; FT_CALLBACK_TABLE const T1_Parser_Funcs t1_parser_funcs; FT_CALLBACK_TABLE const T1_Builder_Funcs t1_builder_funcs; FT_LOCAL FT_Error PS_Table_New( PS_Table* table, FT_Int count, FT_Memory memory ); FT_LOCAL FT_Error PS_Table_Add( PS_Table* table, FT_Int index, void* object, FT_Int length ); FT_LOCAL void PS_Table_Done( PS_Table* table ); FT_LOCAL void PS_Table_Release( PS_Table* table ); /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** T1 PARSER *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ FT_LOCAL void T1_Skip_Spaces( T1_Parser* parser ); FT_LOCAL void T1_Skip_Alpha( T1_Parser* parser ); FT_LOCAL void T1_ToToken( T1_Parser* parser, T1_Token* token ); FT_LOCAL void T1_ToTokenArray( T1_Parser* parser, T1_Token* tokens, FT_UInt max_tokens, FT_Int* pnum_tokens ); FT_LOCAL FT_Error T1_Load_Field( T1_Parser* parser, const T1_Field* field, void** objects, FT_UInt max_objects, FT_ULong* pflags ); FT_LOCAL FT_Error T1_Load_Field_Table( T1_Parser* parser, const T1_Field* field, void** objects, FT_UInt max_objects, FT_ULong* pflags ); FT_LOCAL FT_Long T1_ToInt( T1_Parser* parser ); FT_LOCAL FT_Fixed T1_ToFixed( T1_Parser* parser, FT_Int power_ten ); FT_LOCAL FT_Int T1_ToCoordArray( T1_Parser* parser, FT_Int max_coords, FT_Short* coords ); FT_LOCAL FT_Int T1_ToFixedArray( T1_Parser* parser, FT_Int max_values, FT_Fixed* values, FT_Int power_ten ); FT_LOCAL void T1_Init_Parser( T1_Parser* parser, FT_Byte* base, FT_Byte* limit, FT_Memory memory ); FT_LOCAL void T1_Done_Parser( T1_Parser* parser ); /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** T1 BUILDER *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ FT_LOCAL void T1_Builder_Init( T1_Builder* builder, FT_Face face, FT_Size size, FT_GlyphSlot glyph ); FT_LOCAL void T1_Builder_Done( T1_Builder* builder ); FT_LOCAL FT_Error T1_Builder_Check_Points( T1_Builder* builder, FT_Int count ); FT_LOCAL void T1_Builder_Add_Point( T1_Builder* builder, FT_Pos x, FT_Pos y, FT_Byte flag ); FT_LOCAL FT_Error T1_Builder_Add_Point1( T1_Builder* builder, FT_Pos x, FT_Pos y ); FT_LOCAL FT_Error T1_Builder_Add_Contour( T1_Builder* builder ); FT_LOCAL FT_Error T1_Builder_Start_Point( T1_Builder* builder, FT_Pos x, FT_Pos y ); FT_LOCAL void T1_Builder_Close_Contour( T1_Builder* builder ); /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** OTHER *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ FT_LOCAL void T1_Decrypt( FT_Byte* buffer, FT_Int length, FT_UShort seed ); #ifdef __cplusplus } #endif #endif /* PSOBJS_H */ /* END */