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
|
* 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_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
62
src/ftglue.c
62
src/ftglue.c
|
@ -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();
|
||||||
|
|
33
src/ftglue.h
33
src/ftglue.h
|
@ -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__ */
|
||||||
|
|
Loading…
Reference in New Issue