Remove unused ftglue code

This commit is contained in:
Behdad Esfahbod 2009-06-28 14:14:46 -04:00
parent 52742ff86b
commit 55e202a62d
3 changed files with 30 additions and 131 deletions

View File

@ -1674,7 +1674,7 @@ FcFreeTypeQueryFace (const FT_Face face,
/* /*
* Skip over PCF fonts that have no encoded characters; they're * Skip over PCF fonts that have no encoded characters; they're
* usually just Unicode fonts transcoded to some legacy encoding * usually just Unicode fonts transcoded to some legacy encoding
* ftglue.c forces us to approximate whether a font is a PCF font * FT forces us to approximate whether a font is a PCF font
* or not by whether it has any BDF properties. Try PIXEL_SIZE; * or not by whether it has any BDF properties. Try PIXEL_SIZE;
* I don't know how to get a list of BDF properties on the font. -PL * I don't know how to get a list of BDF properties on the font. -PL
*/ */
@ -2815,10 +2815,6 @@ FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks)
#define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' ) #define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' )
#define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' ) #define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' )
#define TTAG_SILF FT_MAKE_TAG( 'S', 'i', 'l', 'f') #define TTAG_SILF FT_MAKE_TAG( 'S', 'i', 'l', 'f')
#define TT_Err_Ok FT_Err_Ok
#define TT_Err_Invalid_Face_Handle FT_Err_Invalid_Face_Handle
#define TTO_Err_Empty_Script 0x1005
#define TTO_Err_Invalid_SubTable 0x1001
#define OTLAYOUT_HEAD "otlayout:" #define OTLAYOUT_HEAD "otlayout:"
#define OTLAYOUT_HEAD_LEN 9 #define OTLAYOUT_HEAD_LEN 9
@ -2868,29 +2864,30 @@ compareulong (const void *a, const void *b)
} }
static FT_Error static int
GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags, FT_UShort *script_count) GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags)
{ {
FT_ULong cur_offset, new_offset, base_offset; FT_ULong cur_offset, new_offset, base_offset;
FT_Stream stream = face->stream; FT_Stream stream = face->stream;
FT_Error error; FT_Error error;
FT_UShort n, p; FT_UShort n, p;
FT_Memory memory; FT_Memory memory;
int script_count;
if ( !stream ) if (!stream)
return TT_Err_Invalid_Face_Handle; return 0;
memory = stream->memory; memory = stream->memory;
if (( error = ftglue_face_goto_table( face, tabletag, stream ) )) if (( error = ftglue_face_goto_table( face, tabletag, stream ) ))
return error; return 0;
base_offset = ftglue_stream_pos ( stream ); base_offset = ftglue_stream_pos ( stream );
/* skip version */ /* skip version */
if ( ftglue_stream_seek ( stream, base_offset + 4L ) || ftglue_stream_frame_enter( stream, 2L ) ) if ( ftglue_stream_seek ( stream, base_offset + 4L ) || ftglue_stream_frame_enter( stream, 2L ) )
return error; return 0;
new_offset = GET_UShort() + base_offset; new_offset = GET_UShort() + base_offset;
@ -2898,25 +2895,24 @@ GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags, FT_UShort *scri
cur_offset = ftglue_stream_pos( stream ); cur_offset = ftglue_stream_pos( stream );
if ( ftglue_stream_seek( stream, new_offset ) != TT_Err_Ok ) if ( ftglue_stream_seek( stream, new_offset ) != FT_Err_Ok )
return error; return 0;
base_offset = ftglue_stream_pos( stream ); base_offset = ftglue_stream_pos( stream );
if ( ftglue_stream_frame_enter( stream, 2L ) ) if ( ftglue_stream_frame_enter( stream, 2L ) )
return error; return 0;
*script_count = GET_UShort (); script_count = GET_UShort ();
ftglue_stream_frame_exit( stream ); ftglue_stream_frame_exit( stream );
*stags = ftglue_alloc(memory, *script_count * sizeof( FT_ULong ), &error); *stags = malloc(script_count * sizeof (FT_ULong));
if (!stags)
if (error) return 0;
return error;
p = 0; p = 0;
for ( n = 0; n < *script_count; n++ ) for ( n = 0; n < script_count; n++ )
{ {
if ( ftglue_stream_frame_enter( stream, 6L ) ) if ( ftglue_stream_frame_enter( stream, 6L ) )
goto Fail; goto Fail;
@ -2930,28 +2926,24 @@ GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags, FT_UShort *scri
error = ftglue_stream_seek( stream, new_offset ); error = ftglue_stream_seek( stream, new_offset );
if ( error == TT_Err_Ok ) if ( error == FT_Err_Ok )
p++; p++;
(void)ftglue_stream_seek( stream, cur_offset ); (void)ftglue_stream_seek( stream, cur_offset );
} }
if (!p) if (!p)
{
error = TTO_Err_Invalid_SubTable;
goto Fail; goto Fail;
}
/* sort the tag list before returning it */ /* sort the tag list before returning it */
qsort(*stags, *script_count, sizeof(FT_ULong), compareulong); qsort(*stags, script_count, sizeof(FT_ULong), compareulong);
return TT_Err_Ok; return script_count;
Fail: Fail:
*script_count = 0; free(*stags);
ftglue_free( memory, *stags );
*stags = NULL; *stags = NULL;
return error; return 0;
} }
static FcChar8 * static FcChar8 *
@ -2970,10 +2962,8 @@ FcFontCapabilities(FT_Face face)
err = FT_Load_Sfnt_Table(face, TTAG_SILF, 0, 0, &len); err = FT_Load_Sfnt_Table(face, TTAG_SILF, 0, 0, &len);
issilgraphitefont = ( err == FT_Err_Ok); issilgraphitefont = ( err == FT_Err_Ok);
if (GetScriptTags(face, TTAG_GPOS, &gpostags, &gpos_count) != FT_Err_Ok) gpos_count = GetScriptTags(face, TTAG_GPOS, &gpostags);
gpos_count = 0; gsub_count = GetScriptTags(face, TTAG_GSUB, &gsubtags);
if (GetScriptTags(face, TTAG_GSUB, &gsubtags, &gsub_count) != FT_Err_Ok)
gsub_count = 0;
if (!issilgraphitefont && !gsub_count && !gpos_count) if (!issilgraphitefont && !gsub_count && !gpos_count)
goto bail; goto bail;
@ -3007,8 +2997,8 @@ FcFontCapabilities(FT_Face face)
if (FcDebug () & FC_DBG_SCANV) if (FcDebug () & FC_DBG_SCANV)
printf("complex_ features in this font: %s\n", complex_); printf("complex_ features in this font: %s\n", complex_);
bail: bail:
ftglue_free(memory, gsubtags); free(gsubtags);
ftglue_free(memory, gpostags); free(gpostags);
return complex_; return complex_;
} }

View File

@ -60,64 +60,7 @@ ftglue_qalloc( FT_Memory memory,
} while (0) } while (0)
FTGLUE_APIDEF( FT_Pointer ) static void
ftglue_alloc( FT_Memory memory,
FT_ULong size,
FT_Error *perror )
{
FT_Error error = 0;
FT_Pointer block = NULL;
if ( size > 0 )
{
block = memory->alloc( memory, size );
if ( !block )
error = FT_Err_Out_Of_Memory;
else
memset( (char*)block, 0, (size_t)size );
}
*perror = error;
return block;
}
FTGLUE_APIDEF( FT_Pointer )
ftglue_realloc( FT_Memory memory,
FT_Pointer block,
FT_ULong old_size,
FT_ULong new_size,
FT_Error *perror )
{
FT_Pointer block2 = NULL;
FT_Error error = 0;
if ( old_size == 0 || block == NULL )
{
block2 = ftglue_alloc( memory, new_size, &error );
}
else if ( new_size == 0 )
{
ftglue_free( memory, block );
}
else
{
block2 = memory->realloc( memory, old_size, new_size, block );
if ( block2 == NULL )
error = FT_Err_Out_Of_Memory;
else if ( new_size > old_size )
memset( (char*)block2 + old_size, 0, (size_t)(new_size - old_size) );
}
if ( !error )
block = block2;
*perror = error;
return block;
}
FTGLUE_APIDEF( void )
ftglue_free( FT_Memory memory, ftglue_free( FT_Memory memory,
FT_Pointer block ) FT_Pointer block )
{ {
@ -125,7 +68,6 @@ ftglue_free( FT_Memory memory,
memory->free( memory, block ); memory->free( memory, block );
} }
FTGLUE_APIDEF( FT_Long ) FTGLUE_APIDEF( FT_Long )
ftglue_stream_pos( FT_Stream stream ) ftglue_stream_pos( FT_Stream stream )
{ {
@ -301,7 +243,7 @@ ftglue_face_goto_table( FT_Face face,
goto FoundIt; goto FoundIt;
} }
} }
error = TT_Err_Table_Missing; error = FT_Err_Table_Missing;
FoundIt: FoundIt:
FORGET_Frame(); FORGET_Frame();

View File

@ -51,12 +51,6 @@
FT_BEGIN_HEADER FT_BEGIN_HEADER
/* utility macros */
#define TT_Err_Ok FT_Err_Ok
#define TT_Err_Invalid_Argument FT_Err_Invalid_Argument
#define TT_Err_Invalid_Face_Handle FT_Err_Invalid_Face_Handle
#define TT_Err_Table_Missing FT_Err_Table_Missing
#define SET_ERR(c) ( (error = (c)) != 0 ) #define SET_ERR(c) ( (error = (c)) != 0 )
#ifndef FTGLUE_API #ifndef FTGLUE_API
@ -107,38 +101,11 @@ ftglue_stream_frame_enter( FT_Stream stream,
FTGLUE_API( void ) FTGLUE_API( void )
ftglue_stream_frame_exit( FT_Stream stream ); ftglue_stream_frame_exit( FT_Stream stream );
FTGLUE_API( FT_Byte )
ftglue_stream_get_byte( FT_Stream stream );
FTGLUE_API( FT_Short )
ftglue_stream_get_short( FT_Stream stream );
FTGLUE_API( FT_Long )
ftglue_stream_get_long( FT_Stream stream );
FTGLUE_API( FT_Error ) FTGLUE_API( FT_Error )
ftglue_face_goto_table( FT_Face face, ftglue_face_goto_table( FT_Face face,
FT_ULong tag, FT_ULong tag,
FT_Stream stream ); FT_Stream stream );
FTGLUE_API( FT_Pointer )
ftglue_alloc( FT_Memory memory,
FT_ULong size,
FT_Error *perror_ );
FTGLUE_API( FT_Pointer )
ftglue_realloc( FT_Memory memory,
FT_Pointer block,
FT_ULong old_size,
FT_ULong new_size,
FT_Error *perror_ );
FTGLUE_API( void )
ftglue_free( FT_Memory memory,
FT_Pointer block );
/* */
FT_END_HEADER FT_END_HEADER
#endif /* __OPENTYPE_FTGLUE_H__ */ #endif /* __OPENTYPE_FTGLUE_H__ */