25 #include FT_INTERNAL_OBJECTS_H
26 #include FT_INTERNAL_TYPE1_TYPES_H
27 #include FT_SERVICE_POSTSCRIPT_CMAPS_H
239 #define T1_FIELD_DICT_FONTDICT ( 1 << 0 )
240 #define T1_FIELD_DICT_PRIVATE ( 1 << 1 )
244 #define T1_NEW_SIMPLE_FIELD( _ident, _type, _fname, _dict ) \
246 _ident, T1CODE, _type, \
248 FT_FIELD_OFFSET( _fname ), \
249 FT_FIELD_SIZE( _fname ), \
254 #define T1_NEW_CALLBACK_FIELD( _ident, _reader, _dict ) \
256 _ident, T1CODE, T1_FIELD_TYPE_CALLBACK, \
257 (T1_Field_ParseFunc)_reader, \
263 #define T1_NEW_TABLE_FIELD( _ident, _type, _fname, _max, _dict ) \
265 _ident, T1CODE, _type, \
267 FT_FIELD_OFFSET( _fname ), \
268 FT_FIELD_SIZE_DELTA( _fname ), \
270 FT_FIELD_OFFSET( num_ ## _fname ), \
274 #define T1_NEW_TABLE_FIELD2( _ident, _type, _fname, _max, _dict ) \
276 _ident, T1CODE, _type, \
278 FT_FIELD_OFFSET( _fname ), \
279 FT_FIELD_SIZE_DELTA( _fname ), \
285 #define T1_FIELD_BOOL( _ident, _fname, _dict ) \
286 T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BOOL, _fname, _dict )
288 #define T1_FIELD_NUM( _ident, _fname, _dict ) \
289 T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_INTEGER, _fname, _dict )
291 #define T1_FIELD_FIXED( _ident, _fname, _dict ) \
292 T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED, _fname, _dict )
294 #define T1_FIELD_FIXED_1000( _ident, _fname, _dict ) \
295 T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED_1000, _fname, \
298 #define T1_FIELD_STRING( _ident, _fname, _dict ) \
299 T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_STRING, _fname, _dict )
301 #define T1_FIELD_KEY( _ident, _fname, _dict ) \
302 T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_KEY, _fname, _dict )
304 #define T1_FIELD_BBOX( _ident, _fname, _dict ) \
305 T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BBOX, _fname, _dict )
308 #define T1_FIELD_NUM_TABLE( _ident, _fname, _fmax, _dict ) \
309 T1_NEW_TABLE_FIELD( _ident, T1_FIELD_TYPE_INTEGER_ARRAY, \
310 _fname, _fmax, _dict )
312 #define T1_FIELD_FIXED_TABLE( _ident, _fname, _fmax, _dict ) \
313 T1_NEW_TABLE_FIELD( _ident, T1_FIELD_TYPE_FIXED_ARRAY, \
314 _fname, _fmax, _dict )
316 #define T1_FIELD_NUM_TABLE2( _ident, _fname, _fmax, _dict ) \
317 T1_NEW_TABLE_FIELD2( _ident, T1_FIELD_TYPE_INTEGER_ARRAY, \
318 _fname, _fmax, _dict )
320 #define T1_FIELD_FIXED_TABLE2( _ident, _fname, _fmax, _dict ) \
321 T1_NEW_TABLE_FIELD2( _ident, T1_FIELD_TYPE_FIXED_ARRAY, \
322 _fname, _fmax, _dict )
324 #define T1_FIELD_CALLBACK( _ident, _name, _dict ) \
325 T1_NEW_CALLBACK_FIELD( _ident, _name, _dict )
388 const T1_Field field,
395 const T1_Field field,
604 #define T1_MAX_SUBRS_CALLS 8
612 #define T1_MAX_CHARSTRINGS_OPERANDS 32
826 #define IS_PS_NEWLINE( ch ) \
830 #define IS_PS_SPACE( ch ) \
832 IS_PS_NEWLINE( ch ) || \
837 #define IS_PS_SPECIAL( ch ) \
839 (ch) == '(' || (ch) == ')' || \
840 (ch) == '<' || (ch) == '>' || \
841 (ch) == '[' || (ch) == ']' || \
842 (ch) == '{' || (ch) == '}' || \
845 #define IS_PS_DELIM( ch ) \
846 ( IS_PS_SPACE( ch ) || \
847 IS_PS_SPECIAL( ch ) )
849 #define IS_PS_DIGIT( ch ) \
850 ( (ch) >= '0' && (ch) <= '9' )
852 #define IS_PS_XDIGIT( ch ) \
853 ( IS_PS_DIGIT( ch ) || \
854 ( (ch) >= 'A' && (ch) <= 'F' ) || \
855 ( (ch) >= 'a' && (ch) <= 'f' ) )
857 #define IS_PS_BASE85( ch ) \
858 ( (ch) >= '!' && (ch) <= 'u' )
860 #define IS_PS_TOKEN( cur, limit, token ) \
861 ( (char)(cur)[0] == (token)[0] && \
862 ( (cur) + sizeof ( (token) ) == (limit) || \
863 ( (cur) + sizeof( (token) ) < (limit) && \
864 IS_PS_DELIM( (cur)[sizeof ( (token) ) - 1] ) ) ) && \
865 ft_strncmp( (char*)(cur), (token), sizeof ( (token) ) - 1 ) == 0 )
T1_CMap_Classes t1_cmap_classes
enum T1_TokenType_ T1_TokenType
GLenum GLsizei GLenum GLenum const GLvoid * table
void(* skip_PS_token)(PS_Parser parser)
T1_Builder_Start_Point_Func start_point
struct T1_Builder_FuncsRec_ T1_Builder_FuncsRec
const AFM_Parser_FuncsRec * afm_parser_funcs
FT_BEGIN_HEADER typedef signed long FT_Pos
struct PS_Parser_FuncsRec_ PS_Parser_FuncsRec
struct T1_Builder_FuncsRec_ * T1_Builder_Funcs
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
struct AFM_StreamRec_ * AFM_Stream
struct T1_FieldRec_ T1_FieldRec
const T1_Decoder_FuncsRec * t1_decoder_funcs
enum T1_FieldType_ T1_FieldType
struct T1_DecoderRec_ * T1_Decoder
struct AFM_ParserRec_ AFM_ParserRec
enum T1_FieldLocation_ T1_FieldLocation
struct T1_Decoder_ZoneRec_ T1_Decoder_ZoneRec
FT_Fixed(* to_fixed)(PS_Parser parser, FT_Int power_ten)
enum FT_Render_Mode_ FT_Render_Mode
void(* T1_Builder_Close_Contour_Func)(T1_Builder builder)
FT_Int(* to_coord_array)(PS_Parser parser, FT_Int max_coords, FT_Short *coords)
void(* skip_spaces)(PS_Parser parser)
T1_Builder_Add_Point1_Func add_point1
FT_Error(* init)(AFM_Parser parser, FT_Memory memory, FT_Byte *base, FT_Byte *limit)
PSAux_ServiceRec PSAux_Interface
const PS_Table_FuncsRec * ps_table_funcs
void(* done)(T1_Builder builder)
struct PS_Table_FuncsRec_ * PS_Table_Funcs
EGLImageKHR EGLint * name
struct T1_TokenRec_ T1_TokenRec
T1_Decoder_Callback parse_callback
const T1_Builder_FuncsRec * t1_builder_funcs
FT_Error(* T1_Builder_Check_Points_Func)(T1_Builder builder, FT_Int count)
FT_Int(* to_fixed_array)(PS_Parser parser, FT_Int max_values, FT_Fixed *values, FT_Int power_ten)
const PS_Parser_FuncsRec * ps_parser_funcs
T1_Builder_Check_Points_Func check_points
FT_BEGIN_HEADER typedef unsigned char FT_Bool
struct T1_CMap_ClassesRec_ * T1_CMap_Classes
typedefFT_BEGIN_HEADER struct FT_GlyphLoaderRec_ * FT_GlyphLoader
struct PS_ParserRec_ PS_ParserRec
struct PS_Parser_FuncsRec_ * PS_Parser_Funcs
FT_Error(* init)(T1_Decoder decoder, FT_Face face, FT_Size size, FT_GlyphSlot slot, FT_Byte **glyph_names, PS_Blend blend, FT_Bool hinting, FT_Render_Mode hint_mode, T1_Decoder_Callback callback)
struct PS_ParserRec_ * PS_Parser
EGLContext EGLenum EGLClientBuffer buffer
FT_Error(* init)(PS_Table table, FT_Int count, FT_Memory memory)
struct AFM_Parser_FuncsRec_ AFM_Parser_FuncsRec
void(* init)(PS_Parser parser, FT_Byte *base, FT_Byte *limit, FT_Memory memory)
T1_Builder_Add_Contour_Func add_contour
FT_Error(* parse_charstrings)(T1_Decoder decoder, FT_Byte *base, FT_UInt len)
struct T1_FieldRec_ * T1_Field
void(* t1_decrypt)(FT_Byte *buffer, FT_Offset length, FT_UShort seed)
enum T1_ParseState_ T1_ParseState
void(* to_token)(PS_Parser parser, T1_Token token)
FT_Vector flex_vectors[7]
T1_ParseState parse_state
struct PS_Table_FuncsRec_ PS_Table_FuncsRec
FT_Error(* add)(PS_Table table, FT_Int idx, void *object, FT_PtrDist length)
struct PSAux_ServiceRec_ * PSAux_Service
FT_Error(* load_field)(PS_Parser parser, const T1_Field field, void **objects, FT_UInt max_objects, FT_ULong *pflags)
T1_Builder_Close_Contour_Func close_contour
T1_Builder_FuncsRec funcs
void(* T1_Field_ParseFunc)(FT_Face face, FT_Pointer parser)
T1_Decoder_FuncsRec funcs
FT_Service_PsCMaps psnames
void(* to_token_array)(PS_Parser parser, T1_Token tokens, FT_UInt max_tokens, FT_Int *pnum_tokens)
FT_Error(* T1_Builder_Add_Point1_Func)(T1_Builder builder, FT_Pos x, FT_Pos y)
#define T1_MAX_CHARSTRINGS_OPERANDS
struct AFM_ParserRec_ * AFM_Parser
FT_Error(* T1_Decoder_Callback)(T1_Decoder decoder, FT_UInt glyph_index)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
T1_Builder_Add_Point_Func add_point
struct T1_Decoder_FuncsRec_ * T1_Decoder_Funcs
struct T1_TokenRec_ * T1_Token
EGLSurface EGLint EGLint y
void(* init)(T1_Builder builder, FT_Face face, FT_Size size, FT_GlyphSlot slot, FT_Bool hinting)
struct T1_BuilderRec_ T1_BuilderRec
typedefFT_BEGIN_HEADER struct PS_TableRec_ * PS_Table
void(* T1_Builder_Add_Point_Func)(T1_Builder builder, FT_Pos x, FT_Pos y, FT_Byte flag)
FT_Error(* parse)(AFM_Parser parser)
#define T1_MAX_SUBRS_CALLS
struct T1_BuilderRec_ * T1_Builder
FT_Error(* load_field_table)(PS_Parser parser, const T1_Field field, void **objects, FT_UInt max_objects, FT_ULong *pflags)
FT_Error(* T1_Builder_Start_Point_Func)(T1_Builder builder, FT_Pos x, FT_Pos y)
T1_Field_ParseFunc reader
FT_Error(* to_bytes)(PS_Parser parser, FT_Byte *bytes, FT_Offset max_bytes, FT_Long *pnum_bytes, FT_Bool delimiters)
void(* done)(AFM_Parser parser)
FT_Long(* to_int)(PS_Parser parser)
T1_FieldLocation location
void(* done)(T1_Decoder decoder)
struct T1_CMap_ClassesRec_ T1_CMap_ClassesRec
struct T1_Decoder_FuncsRec_ T1_Decoder_FuncsRec
void(* release)(PS_Table table)
struct PSAux_ServiceRec_ PSAux_ServiceRec
FT_Int(* get_index)(const char *name, FT_Offset len, void *user_data)
struct T1_Decoder_ZoneRec_ * T1_Decoder_Zone
void(* done)(PS_Table table)
struct T1_DecoderRec_ T1_DecoderRec
struct PS_TableRec_ PS_TableRec
FT_Error(* T1_Builder_Add_Contour_Func)(T1_Builder builder)
GLint GLsizei const GLuint64 * values
T1_Decoder_ZoneRec zones[T1_MAX_SUBRS_CALLS+1]
void(* done)(PS_Parser parser)
FT_Long stack[T1_MAX_CHARSTRINGS_OPERANDS]