* include/freetype/internal/ftobjs.h: changing the definition of
FT_CMap_CharNextFunc slightly * src/cff/*.c: updating CFF type definitions.
This commit is contained in:
parent
f3caf22dad
commit
9230415aa9
|
@ -1,3 +1,10 @@
|
|||
2002-03-20 David Turner <david@freetype.org>
|
||||
|
||||
* 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 <david@freetype.org>
|
||||
|
||||
* include/freetype/internal/autohint.h, src/autohint/ahmodule.c,
|
||||
|
|
|
@ -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_
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* CFF_Face_Init */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Initializes a given OpenType face object. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* 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. */
|
||||
/* */
|
||||
/* <InOut> */
|
||||
/* face :: The newly built face object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Face_Init( FT_Stream stream,
|
||||
CFF_Face face,
|
||||
|
@ -694,17 +552,6 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* CFF_Face_Done */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Finalizes a given face object. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: A pointer to the face object to destroy. */
|
||||
/* */
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Face_Done( CFF_Face face )
|
||||
{
|
||||
|
@ -728,20 +575,6 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* CFF_Driver_Init */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Initializes a given OpenType driver object. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* driver :: A handle to the target driver object. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* FreeType error code. 0 means success. */
|
||||
/* */
|
||||
FT_LOCAL_DEF( FT_Error )
|
||||
CFF_Driver_Init( CFF_Driver driver )
|
||||
{
|
||||
|
@ -761,17 +594,6 @@
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
/* CFF_Driver_Done */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Finalizes a given OpenType driver. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* driver :: A handle to the target OpenType driver. */
|
||||
/* */
|
||||
FT_LOCAL_DEF( void )
|
||||
CFF_Driver_Done( CFF_Driver driver )
|
||||
{
|
||||
|
|
|
@ -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 )
|
||||
{
|
||||
|
|
|
@ -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 );
|
||||
|
||||
|
|
Loading…
Reference in New Issue