diff --git a/ChangeLog b/ChangeLog index 489c02370..fec37e941 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2002-03-20 David Turner + + * include/freetype/internal/ftobjs.h: changing the definition of + FT_CMap_CharNextFunc slightly + + * src/cff/*.c: updating CFF type definitions. + 2002-03-14 David Turner * include/freetype/internal/autohint.h, src/autohint/ahmodule.c, diff --git a/include/freetype/internal/ftobjs.h b/include/freetype/internal/ftobjs.h index 6459c6caa..d269d1e84 100644 --- a/include/freetype/internal/ftobjs.h +++ b/include/freetype/internal/ftobjs.h @@ -214,9 +214,8 @@ FT_BEGIN_HEADER typedef FT_UInt (*FT_CMap_CharIndexFunc)( FT_CMap cmap, FT_UInt32 char_code ); - typedef FT_UInt32 (*FT_CMap_CharNextFunc)( FT_CMap cmap, - FT_UInt32 char_code, - FT_UInt *agindex ); + typedef FT_UInt (*FT_CMap_CharNextFunc)( FT_CMap cmap, + FT_UInt32 *achar_code ); typedef struct FT_CMap_ClassRec_ { diff --git a/src/cff/cffload.c b/src/cff/cffload.c index c270ac070..9ee3e0324 100644 --- a/src/cff/cffload.c +++ b/src/cff/cffload.c @@ -1515,10 +1515,10 @@ static FT_Error CFF_Load_Charset( CFF_Charset charset, - FT_UInt num_glyphs, - FT_Stream stream, - FT_ULong base_offset, - FT_ULong offset ) + FT_UInt num_glyphs, + FT_Stream stream, + FT_ULong base_offset, + FT_ULong offset ) { FT_Memory memory = stream->memory; FT_Error error = 0; @@ -1964,7 +1964,7 @@ FT_ULong base_offset ) { FT_Error error; - CFF_Parser parser; + CFF_ParserRec parser; FT_Byte* dict; FT_ULong dict_len; CFF_FontRecDict top = &font->font_dict; diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c index 5061396bb..b3631bacc 100644 --- a/src/cff/cffobjs.c +++ b/src/cff/cffobjs.c @@ -248,125 +248,6 @@ } -#if 0 - - /* this function is used to build a Unicode charmap from the glyph names */ - /* in a file */ - static FT_Error - CFF_Build_Unicode_Charmap( CFF_Face face, - FT_ULong base_offset, - PSNames_Service psnames ) - { - CFF_Font font = (CFF_Font)face->extra.data; - FT_Memory memory = FT_FACE_MEMORY(face); - FT_UInt n, num_glyphs = face->root.num_glyphs; - const char** glyph_names; - FT_Error error; - CFF_FontRecDict dict = &font->top_font.font_dict; - FT_ULong charset_offset; - FT_Byte format; - FT_Stream stream = face->root.stream; - - - charset_offset = dict->charset_offset; - if ( !charset_offset ) - { - FT_ERROR(( "CFF_Build_Unicode_Charmap: charset table is missing\n" )); - error = CFF_Err_Invalid_File_Format; - goto Exit; - } - - /* allocate the charmap */ - if ( ALLOC( face->charmap, ... - - /* seek to charset table and allocate glyph names table */ - if ( FILE_Seek( base_offset + charset_offset ) || - ALLOC_ARRAY( glyph_names, num_glyphs, const char* ) ) - goto Exit; - - /* now, read each glyph name and store it in the glyph name table */ - if ( READ_Byte( format ) ) - goto Fail; - - switch ( format ) - { - case 0: /* format 0 - one SID per glyph */ - { - const char** gname = glyph_names; - const char** limit = gname + num_glyphs; - - - if ( ACCESS_Frame( num_glyphs * 2 ) ) - goto Fail; - - for ( ; gname < limit; gname++ ) - gname[0] = CFF_Get_String( &font->string_index, - GET_UShort(), - psnames ); - FORGET_Frame(); - break; - } - - case 1: /* format 1 - sequential ranges */ - case 2: /* format 2 - sequential ranges with 16-bit counts */ - { - const char** gname = glyph_names; - const char** limit = gname + num_glyphs; - FT_UInt len = 3; - - - if ( format == 2 ) - len++; - - while ( gname < limit ) - { - FT_UInt first; - FT_UInt count; - - - if ( ACCESS_Frame( len ) ) - goto Fail; - - first = GET_UShort(); - if ( format == 3 ) - count = GET_UShort(); - else - count = GET_Byte(); - - FORGET_Frame(); - - for ( ; count > 0; count-- ) - { - gname[0] = CFF_Get_String( &font->string_index, - first, - psnames ); - gname++; - first++; - } - } - break; - } - - default: /* unknown charset format! */ - FT_ERROR(( "CFF_Build_Unicode_Charmap: unknown charset format!\n" )); - error = CFF_Err_Invalid_File_Format; - goto Fail; - } - - /* all right, the glyph names were loaded; we now need to create */ - /* the corresponding unicode charmap */ - - Fail: - for ( n = 0; n < num_glyphs; n++ ) - FREE( glyph_names[n] ); - - FREE( glyph_names ); - - Exit: - return error; - } - -#endif /* 0 */ static FT_Encoding @@ -418,29 +299,6 @@ } - /*************************************************************************/ - /* */ - /* */ - /* CFF_Face_Init */ - /* */ - /* */ - /* Initializes a given OpenType face object. */ - /* */ - /* */ - /* stream :: The source font stream. */ - /* */ - /* face_index :: The index of the font face in the resource. */ - /* */ - /* num_params :: Number of additional generic parameters. Ignored. */ - /* */ - /* params :: Additional generic parameters. Ignored. */ - /* */ - /* */ - /* face :: The newly built face object. */ - /* */ - /* */ - /* FreeType error code. 0 means success. */ - /* */ FT_LOCAL_DEF( FT_Error ) CFF_Face_Init( FT_Stream stream, CFF_Face face, @@ -694,17 +552,6 @@ } - /*************************************************************************/ - /* */ - /* */ - /* CFF_Face_Done */ - /* */ - /* */ - /* Finalizes a given face object. */ - /* */ - /* */ - /* face :: A pointer to the face object to destroy. */ - /* */ FT_LOCAL_DEF( void ) CFF_Face_Done( CFF_Face face ) { @@ -728,20 +575,6 @@ } - /*************************************************************************/ - /* */ - /* */ - /* CFF_Driver_Init */ - /* */ - /* */ - /* Initializes a given OpenType driver object. */ - /* */ - /* */ - /* driver :: A handle to the target driver object. */ - /* */ - /* */ - /* FreeType error code. 0 means success. */ - /* */ FT_LOCAL_DEF( FT_Error ) CFF_Driver_Init( CFF_Driver driver ) { @@ -761,17 +594,6 @@ } - /*************************************************************************/ - /* */ - /* */ - /* CFF_Driver_Done */ - /* */ - /* */ - /* Finalizes a given OpenType driver. */ - /* */ - /* */ - /* driver :: A handle to the target OpenType driver. */ - /* */ FT_LOCAL_DEF( void ) CFF_Driver_Done( CFF_Driver driver ) { diff --git a/src/cff/cffparse.c b/src/cff/cffparse.c index 515c39600..65a49c8d9 100644 --- a/src/cff/cffparse.c +++ b/src/cff/cffparse.c @@ -48,7 +48,7 @@ /* now generate handlers for the most simple fields */ - typedef FT_Error (*CFF_Field_Reader)( CFF_Parser* parser ); + typedef FT_Error (*CFF_Field_Reader)( CFF_Parser parser ); typedef struct CFF_Field_Handler_ { @@ -64,7 +64,7 @@ FT_LOCAL_DEF( void ) - CFF_Parser_Init( CFF_Parser* parser, + CFF_Parser_Init( CFF_Parser parser, FT_UInt code, void* object ) { @@ -311,7 +311,7 @@ } static FT_Error - cff_parse_font_matrix( CFF_Parser* parser ) + cff_parse_font_matrix( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; FT_Matrix* matrix = &dict->font_matrix; @@ -359,7 +359,7 @@ static FT_Error - cff_parse_font_bbox( CFF_Parser* parser ) + cff_parse_font_bbox( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; FT_BBox* bbox = &dict->font_bbox; @@ -383,7 +383,7 @@ static FT_Error - cff_parse_private_dict( CFF_Parser* parser ) + cff_parse_private_dict( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; FT_Byte** data = parser->stack; @@ -404,7 +404,7 @@ static FT_Error - cff_parse_cid_ros( CFF_Parser* parser ) + cff_parse_cid_ros( CFF_Parser parser ) { CFF_FontRecDict dict = (CFF_FontRecDict)parser->object; FT_Byte** data = parser->stack; @@ -480,7 +480,7 @@ FT_LOCAL_DEF( FT_Error ) - CFF_Parser_Run( CFF_Parser* parser, + CFF_Parser_Run( CFF_Parser parser, FT_Byte* start, FT_Byte* limit ) { diff --git a/src/cff/cffparse.h b/src/cff/cffparse.h index 39e45b134..045fa25cc 100644 --- a/src/cff/cffparse.h +++ b/src/cff/cffparse.h @@ -34,7 +34,7 @@ FT_BEGIN_HEADER #define CFF_CODE_PRIVATE 0x2000 - typedef struct CFF_Parser_ + typedef struct CFF_ParserRec_ { FT_Byte* start; FT_Byte* limit; @@ -46,16 +46,16 @@ FT_BEGIN_HEADER FT_UInt object_code; void* object; - } CFF_Parser; + } CFF_ParserRec, *CFF_Parser; FT_LOCAL( void ) - CFF_Parser_Init( CFF_Parser* parser, + CFF_Parser_Init( CFF_Parser parser, FT_UInt code, void* object ); FT_LOCAL( FT_Error ) - CFF_Parser_Run( CFF_Parser* parser, + CFF_Parser_Run( CFF_Parser parser, FT_Byte* start, FT_Byte* limit );