1*37da2899SCharles.Forsyth /***************************************************************************/ 2*37da2899SCharles.Forsyth /* */ 3*37da2899SCharles.Forsyth /* psobjs.h */ 4*37da2899SCharles.Forsyth /* */ 5*37da2899SCharles.Forsyth /* Auxiliary functions for PostScript fonts (specification). */ 6*37da2899SCharles.Forsyth /* */ 7*37da2899SCharles.Forsyth /* Copyright 1996-2001, 2002 by */ 8*37da2899SCharles.Forsyth /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9*37da2899SCharles.Forsyth /* */ 10*37da2899SCharles.Forsyth /* This file is part of the FreeType project, and may only be used, */ 11*37da2899SCharles.Forsyth /* modified, and distributed under the terms of the FreeType project */ 12*37da2899SCharles.Forsyth /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13*37da2899SCharles.Forsyth /* this file you indicate that you have read the license and */ 14*37da2899SCharles.Forsyth /* understand and accept it fully. */ 15*37da2899SCharles.Forsyth /* */ 16*37da2899SCharles.Forsyth /***************************************************************************/ 17*37da2899SCharles.Forsyth 18*37da2899SCharles.Forsyth 19*37da2899SCharles.Forsyth #ifndef __PSOBJS_H__ 20*37da2899SCharles.Forsyth #define __PSOBJS_H__ 21*37da2899SCharles.Forsyth 22*37da2899SCharles.Forsyth 23*37da2899SCharles.Forsyth #include <ft2build.h> 24*37da2899SCharles.Forsyth #include FT_INTERNAL_POSTSCRIPT_AUX_H 25*37da2899SCharles.Forsyth 26*37da2899SCharles.Forsyth 27*37da2899SCharles.Forsyth FT_BEGIN_HEADER 28*37da2899SCharles.Forsyth 29*37da2899SCharles.Forsyth 30*37da2899SCharles.Forsyth /*************************************************************************/ 31*37da2899SCharles.Forsyth /*************************************************************************/ 32*37da2899SCharles.Forsyth /***** *****/ 33*37da2899SCharles.Forsyth /***** T1_TABLE *****/ 34*37da2899SCharles.Forsyth /***** *****/ 35*37da2899SCharles.Forsyth /*************************************************************************/ 36*37da2899SCharles.Forsyth /*************************************************************************/ 37*37da2899SCharles.Forsyth 38*37da2899SCharles.Forsyth 39*37da2899SCharles.Forsyth FT_CALLBACK_TABLE 40*37da2899SCharles.Forsyth const PS_Table_FuncsRec ps_table_funcs; 41*37da2899SCharles.Forsyth 42*37da2899SCharles.Forsyth FT_CALLBACK_TABLE 43*37da2899SCharles.Forsyth const PS_Parser_FuncsRec ps_parser_funcs; 44*37da2899SCharles.Forsyth 45*37da2899SCharles.Forsyth FT_CALLBACK_TABLE 46*37da2899SCharles.Forsyth const T1_Builder_FuncsRec t1_builder_funcs; 47*37da2899SCharles.Forsyth 48*37da2899SCharles.Forsyth 49*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 50*37da2899SCharles.Forsyth ps_table_new( PS_Table table, 51*37da2899SCharles.Forsyth FT_Int count, 52*37da2899SCharles.Forsyth FT_Memory memory ); 53*37da2899SCharles.Forsyth 54*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 55*37da2899SCharles.Forsyth ps_table_add( PS_Table table, 56*37da2899SCharles.Forsyth FT_Int idx, 57*37da2899SCharles.Forsyth void* object, 58*37da2899SCharles.Forsyth FT_Int length ); 59*37da2899SCharles.Forsyth 60*37da2899SCharles.Forsyth FT_LOCAL( void ) 61*37da2899SCharles.Forsyth ps_table_done( PS_Table table ); 62*37da2899SCharles.Forsyth 63*37da2899SCharles.Forsyth 64*37da2899SCharles.Forsyth FT_LOCAL( void ) 65*37da2899SCharles.Forsyth ps_table_release( PS_Table table ); 66*37da2899SCharles.Forsyth 67*37da2899SCharles.Forsyth 68*37da2899SCharles.Forsyth /*************************************************************************/ 69*37da2899SCharles.Forsyth /*************************************************************************/ 70*37da2899SCharles.Forsyth /***** *****/ 71*37da2899SCharles.Forsyth /***** T1 PARSER *****/ 72*37da2899SCharles.Forsyth /***** *****/ 73*37da2899SCharles.Forsyth /*************************************************************************/ 74*37da2899SCharles.Forsyth /*************************************************************************/ 75*37da2899SCharles.Forsyth 76*37da2899SCharles.Forsyth 77*37da2899SCharles.Forsyth FT_LOCAL( void ) 78*37da2899SCharles.Forsyth ps_parser_skip_spaces( PS_Parser parser ); 79*37da2899SCharles.Forsyth 80*37da2899SCharles.Forsyth FT_LOCAL( void ) 81*37da2899SCharles.Forsyth ps_parser_skip_alpha( PS_Parser parser ); 82*37da2899SCharles.Forsyth 83*37da2899SCharles.Forsyth FT_LOCAL( void ) 84*37da2899SCharles.Forsyth ps_parser_to_token( PS_Parser parser, 85*37da2899SCharles.Forsyth T1_Token token ); 86*37da2899SCharles.Forsyth 87*37da2899SCharles.Forsyth FT_LOCAL( void ) 88*37da2899SCharles.Forsyth ps_parser_to_token_array( PS_Parser parser, 89*37da2899SCharles.Forsyth T1_Token tokens, 90*37da2899SCharles.Forsyth FT_UInt max_tokens, 91*37da2899SCharles.Forsyth FT_Int* pnum_tokens ); 92*37da2899SCharles.Forsyth 93*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 94*37da2899SCharles.Forsyth ps_parser_load_field( PS_Parser parser, 95*37da2899SCharles.Forsyth const T1_Field field, 96*37da2899SCharles.Forsyth void** objects, 97*37da2899SCharles.Forsyth FT_UInt max_objects, 98*37da2899SCharles.Forsyth FT_ULong* pflags ); 99*37da2899SCharles.Forsyth 100*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 101*37da2899SCharles.Forsyth ps_parser_load_field_table( PS_Parser parser, 102*37da2899SCharles.Forsyth const T1_Field field, 103*37da2899SCharles.Forsyth void** objects, 104*37da2899SCharles.Forsyth FT_UInt max_objects, 105*37da2899SCharles.Forsyth FT_ULong* pflags ); 106*37da2899SCharles.Forsyth 107*37da2899SCharles.Forsyth FT_LOCAL( FT_Long ) 108*37da2899SCharles.Forsyth ps_parser_to_int( PS_Parser parser ); 109*37da2899SCharles.Forsyth 110*37da2899SCharles.Forsyth 111*37da2899SCharles.Forsyth FT_LOCAL( FT_Fixed ) 112*37da2899SCharles.Forsyth ps_parser_to_fixed( PS_Parser parser, 113*37da2899SCharles.Forsyth FT_Int power_ten ); 114*37da2899SCharles.Forsyth 115*37da2899SCharles.Forsyth 116*37da2899SCharles.Forsyth FT_LOCAL( FT_Int ) 117*37da2899SCharles.Forsyth ps_parser_to_coord_array( PS_Parser parser, 118*37da2899SCharles.Forsyth FT_Int max_coords, 119*37da2899SCharles.Forsyth FT_Short* coords ); 120*37da2899SCharles.Forsyth 121*37da2899SCharles.Forsyth FT_LOCAL( FT_Int ) 122*37da2899SCharles.Forsyth ps_parser_to_fixed_array( PS_Parser parser, 123*37da2899SCharles.Forsyth FT_Int max_values, 124*37da2899SCharles.Forsyth FT_Fixed* values, 125*37da2899SCharles.Forsyth FT_Int power_ten ); 126*37da2899SCharles.Forsyth 127*37da2899SCharles.Forsyth 128*37da2899SCharles.Forsyth FT_LOCAL( void ) 129*37da2899SCharles.Forsyth ps_parser_init( PS_Parser parser, 130*37da2899SCharles.Forsyth FT_Byte* base, 131*37da2899SCharles.Forsyth FT_Byte* limit, 132*37da2899SCharles.Forsyth FT_Memory memory ); 133*37da2899SCharles.Forsyth 134*37da2899SCharles.Forsyth FT_LOCAL( void ) 135*37da2899SCharles.Forsyth ps_parser_done( PS_Parser parser ); 136*37da2899SCharles.Forsyth 137*37da2899SCharles.Forsyth 138*37da2899SCharles.Forsyth /*************************************************************************/ 139*37da2899SCharles.Forsyth /*************************************************************************/ 140*37da2899SCharles.Forsyth /***** *****/ 141*37da2899SCharles.Forsyth /***** T1 BUILDER *****/ 142*37da2899SCharles.Forsyth /***** *****/ 143*37da2899SCharles.Forsyth /*************************************************************************/ 144*37da2899SCharles.Forsyth /*************************************************************************/ 145*37da2899SCharles.Forsyth 146*37da2899SCharles.Forsyth FT_LOCAL( void ) 147*37da2899SCharles.Forsyth t1_builder_init( T1_Builder builder, 148*37da2899SCharles.Forsyth FT_Face face, 149*37da2899SCharles.Forsyth FT_Size size, 150*37da2899SCharles.Forsyth FT_GlyphSlot glyph, 151*37da2899SCharles.Forsyth FT_Bool hinting ); 152*37da2899SCharles.Forsyth 153*37da2899SCharles.Forsyth FT_LOCAL( void ) 154*37da2899SCharles.Forsyth t1_builder_done( T1_Builder builder ); 155*37da2899SCharles.Forsyth 156*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 157*37da2899SCharles.Forsyth t1_builder_check_points( T1_Builder builder, 158*37da2899SCharles.Forsyth FT_Int count ); 159*37da2899SCharles.Forsyth 160*37da2899SCharles.Forsyth FT_LOCAL( void ) 161*37da2899SCharles.Forsyth t1_builder_add_point( T1_Builder builder, 162*37da2899SCharles.Forsyth FT_Pos x, 163*37da2899SCharles.Forsyth FT_Pos y, 164*37da2899SCharles.Forsyth FT_Byte flag ); 165*37da2899SCharles.Forsyth 166*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 167*37da2899SCharles.Forsyth t1_builder_add_point1( T1_Builder builder, 168*37da2899SCharles.Forsyth FT_Pos x, 169*37da2899SCharles.Forsyth FT_Pos y ); 170*37da2899SCharles.Forsyth 171*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 172*37da2899SCharles.Forsyth t1_builder_add_contour( T1_Builder builder ); 173*37da2899SCharles.Forsyth 174*37da2899SCharles.Forsyth 175*37da2899SCharles.Forsyth FT_LOCAL( FT_Error ) 176*37da2899SCharles.Forsyth t1_builder_start_point( T1_Builder builder, 177*37da2899SCharles.Forsyth FT_Pos x, 178*37da2899SCharles.Forsyth FT_Pos y ); 179*37da2899SCharles.Forsyth 180*37da2899SCharles.Forsyth 181*37da2899SCharles.Forsyth FT_LOCAL( void ) 182*37da2899SCharles.Forsyth t1_builder_close_contour( T1_Builder builder ); 183*37da2899SCharles.Forsyth 184*37da2899SCharles.Forsyth 185*37da2899SCharles.Forsyth /*************************************************************************/ 186*37da2899SCharles.Forsyth /*************************************************************************/ 187*37da2899SCharles.Forsyth /***** *****/ 188*37da2899SCharles.Forsyth /***** OTHER *****/ 189*37da2899SCharles.Forsyth /***** *****/ 190*37da2899SCharles.Forsyth /*************************************************************************/ 191*37da2899SCharles.Forsyth /*************************************************************************/ 192*37da2899SCharles.Forsyth 193*37da2899SCharles.Forsyth FT_LOCAL( void ) 194*37da2899SCharles.Forsyth t1_decrypt( FT_Byte* buffer, 195*37da2899SCharles.Forsyth FT_Offset length, 196*37da2899SCharles.Forsyth FT_UShort seed ); 197*37da2899SCharles.Forsyth 198*37da2899SCharles.Forsyth 199*37da2899SCharles.Forsyth FT_END_HEADER 200*37da2899SCharles.Forsyth 201*37da2899SCharles.Forsyth #endif /* __PSOBJS_H__ */ 202*37da2899SCharles.Forsyth 203*37da2899SCharles.Forsyth 204*37da2899SCharles.Forsyth /* END */ 205