Remove unused ftglue code
This commit is contained in:
parent
52742ff86b
commit
55e202a62d
|
@ -1674,7 +1674,7 @@ FcFreeTypeQueryFace (const FT_Face face,
|
|||
/*
|
||||
* Skip over PCF fonts that have no encoded characters; they're
|
||||
* 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;
|
||||
* 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_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' )
|
||||
#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_LEN 9
|
||||
|
@ -2868,29 +2864,30 @@ compareulong (const void *a, const void *b)
|
|||
}
|
||||
|
||||
|
||||
static FT_Error
|
||||
GetScriptTags(FT_Face face, FT_ULong tabletag, FT_ULong **stags, FT_UShort *script_count)
|
||||
static int
|
||||
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_Error error;
|
||||
FT_UShort n, p;
|
||||
FT_UShort n, p;
|
||||
FT_Memory memory;
|
||||
int script_count;
|
||||
|
||||
if ( !stream )
|
||||
return TT_Err_Invalid_Face_Handle;
|
||||
if (!stream)
|
||||
return 0;
|
||||
|
||||
memory = stream->memory;
|
||||
|
||||
if (( error = ftglue_face_goto_table( face, tabletag, stream ) ))
|
||||
return error;
|
||||
return 0;
|
||||
|
||||
base_offset = ftglue_stream_pos ( stream );
|
||||
|
||||
/* skip version */
|
||||
|
||||
if ( ftglue_stream_seek ( stream, base_offset + 4L ) || ftglue_stream_frame_enter( stream, 2L ) )
|
||||
return error;
|
||||
return 0;
|
||||
|
||||
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 );
|
||||
|
||||
if ( ftglue_stream_seek( stream, new_offset ) != TT_Err_Ok )
|
||||
return error;
|
||||
if ( ftglue_stream_seek( stream, new_offset ) != FT_Err_Ok )
|
||||
return 0;
|
||||
|
||||
base_offset = ftglue_stream_pos( stream );
|
||||
|
||||
if ( ftglue_stream_frame_enter( stream, 2L ) )
|
||||
return error;
|
||||
return 0;
|
||||
|
||||
*script_count = GET_UShort ();
|
||||
script_count = GET_UShort ();
|
||||
|
||||
ftglue_stream_frame_exit( stream );
|
||||
|
||||
*stags = ftglue_alloc(memory, *script_count * sizeof( FT_ULong ), &error);
|
||||
|
||||
if (error)
|
||||
return error;
|
||||
*stags = malloc(script_count * sizeof (FT_ULong));
|
||||
if (!stags)
|
||||
return 0;
|
||||
|
||||
p = 0;
|
||||
for ( n = 0; n < *script_count; n++ )
|
||||
for ( n = 0; n < script_count; n++ )
|
||||
{
|
||||
if ( ftglue_stream_frame_enter( stream, 6L ) )
|
||||
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 );
|
||||
|
||||
if ( error == TT_Err_Ok )
|
||||
if ( error == FT_Err_Ok )
|
||||
p++;
|
||||
|
||||
(void)ftglue_stream_seek( stream, cur_offset );
|
||||
}
|
||||
|
||||
if (!p)
|
||||
{
|
||||
error = TTO_Err_Invalid_SubTable;
|
||||
goto Fail;
|
||||
}
|
||||
|
||||
/* 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:
|
||||
*script_count = 0;
|
||||
ftglue_free( memory, *stags );
|
||||
free(*stags);
|
||||
*stags = NULL;
|
||||
return error;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static FcChar8 *
|
||||
|
@ -2970,11 +2962,9 @@ FcFontCapabilities(FT_Face face)
|
|||
err = FT_Load_Sfnt_Table(face, TTAG_SILF, 0, 0, &len);
|
||||
issilgraphitefont = ( err == FT_Err_Ok);
|
||||
|
||||
if (GetScriptTags(face, TTAG_GPOS, &gpostags, &gpos_count) != FT_Err_Ok)
|
||||
gpos_count = 0;
|
||||
if (GetScriptTags(face, TTAG_GSUB, &gsubtags, &gsub_count) != FT_Err_Ok)
|
||||
gsub_count = 0;
|
||||
|
||||
gpos_count = GetScriptTags(face, TTAG_GPOS, &gpostags);
|
||||
gsub_count = GetScriptTags(face, TTAG_GSUB, &gsubtags);
|
||||
|
||||
if (!issilgraphitefont && !gsub_count && !gpos_count)
|
||||
goto bail;
|
||||
|
||||
|
@ -3007,8 +2997,8 @@ FcFontCapabilities(FT_Face face)
|
|||
if (FcDebug () & FC_DBG_SCANV)
|
||||
printf("complex_ features in this font: %s\n", complex_);
|
||||
bail:
|
||||
ftglue_free(memory, gsubtags);
|
||||
ftglue_free(memory, gpostags);
|
||||
free(gsubtags);
|
||||
free(gpostags);
|
||||
return complex_;
|
||||
}
|
||||
|
||||
|
|
62
src/ftglue.c
62
src/ftglue.c
|
@ -60,64 +60,7 @@ ftglue_qalloc( FT_Memory memory,
|
|||
} while (0)
|
||||
|
||||
|
||||
FTGLUE_APIDEF( FT_Pointer )
|
||||
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 )
|
||||
static void
|
||||
ftglue_free( FT_Memory memory,
|
||||
FT_Pointer block )
|
||||
{
|
||||
|
@ -125,7 +68,6 @@ ftglue_free( FT_Memory memory,
|
|||
memory->free( memory, block );
|
||||
}
|
||||
|
||||
|
||||
FTGLUE_APIDEF( FT_Long )
|
||||
ftglue_stream_pos( FT_Stream stream )
|
||||
{
|
||||
|
@ -301,7 +243,7 @@ ftglue_face_goto_table( FT_Face face,
|
|||
goto FoundIt;
|
||||
}
|
||||
}
|
||||
error = TT_Err_Table_Missing;
|
||||
error = FT_Err_Table_Missing;
|
||||
|
||||
FoundIt:
|
||||
FORGET_Frame();
|
||||
|
|
33
src/ftglue.h
33
src/ftglue.h
|
@ -51,12 +51,6 @@
|
|||
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 )
|
||||
|
||||
#ifndef FTGLUE_API
|
||||
|
@ -107,38 +101,11 @@ ftglue_stream_frame_enter( FT_Stream stream,
|
|||
FTGLUE_API( void )
|
||||
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_face_goto_table( FT_Face face,
|
||||
FT_ULong tag,
|
||||
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
|
||||
|
||||
#endif /* __OPENTYPE_FTGLUE_H__ */
|
||||
|
|
Loading…
Reference in New Issue