*/*: Use `FT_THROW'.

This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.

To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code.  Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
This commit is contained in:
Werner Lemberg 2013-03-14 10:27:35 +01:00
parent c58ce3beee
commit 059bc335ce
88 changed files with 925 additions and 847 deletions

View File

@ -1,3 +1,15 @@
2013-03-13 Werner Lemberg <wl@gnu.org>
*/*: Use `FT_THROW'.
This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.
To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code. Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
2013-03-13 Werner Lemberg <wl@gnu.org>
Introduce `FT_THROW' macro.

View File

@ -4,7 +4,7 @@
/* */
/* Auto-fitter routines to compute global hinting values (body). */
/* */
/* Copyright 2003-2012 by */
/* Copyright 2003-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -242,7 +242,7 @@
if ( gindex >= (FT_ULong)globals->glyph_count )
{
error = AF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* Auto-fitter hinting routines (body). */
/* */
/* Copyright 2003-2007, 2009-2012 by */
/* Copyright 2003-2007, 2009-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -52,7 +52,7 @@
if ( old_max >= big_max )
{
error = AF_Err_Out_Of_Memory;
error = FT_THROW( Out_Of_Memory );
goto Exit;
}
@ -97,7 +97,7 @@
if ( old_max >= big_max )
{
error = AF_Err_Out_Of_Memory;
error = FT_THROW( Out_Of_Memory );
goto Exit;
}
@ -340,14 +340,14 @@
if ( !offset )
return AF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
dim = ( dimension == 0 ) ? AF_DIMENSION_HORZ : AF_DIMENSION_VERT;
axis = &hints->axis[dim];
if ( idx < 0 || idx >= axis->num_segments )
return AF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
seg = &axis->segments[idx];
*offset = (dim == AF_DIMENSION_HORZ) ? seg->first->ox

View File

@ -4,7 +4,7 @@
/* */
/* Auto-fitter glyph loading routines (body). */
/* */
/* Copyright 2003-2009, 2011-2012 by */
/* Copyright 2003-2009, 2011-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -349,7 +349,7 @@
if ( start_point + k >= num_base_points ||
l >= (FT_UInt)num_new_points )
{
error = AF_Err_Invalid_Composite;
error = FT_THROW( Invalid_Composite );
goto Exit;
}
@ -387,7 +387,7 @@
default:
/* we don't support other formats (yet?) */
error = AF_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
}
Hint_Metrics:
@ -502,7 +502,7 @@
if ( !size )
return AF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
FT_ZERO( &scaler );

View File

@ -4,7 +4,7 @@
/* */
/* Auto-fitter module implementation (body). */
/* */
/* Copyright 2003-2006, 2009, 2011-2012 by */
/* Copyright 2003-2006, 2009, 2011-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -55,7 +55,7 @@
if ( !face )
return AF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
globals = (AF_FaceGlobals)face->autohint.data;
if ( !globals )
@ -112,7 +112,7 @@
FT_TRACE0(( "af_property_get: missing property `%s'\n",
property_name ));
return AF_Err_Missing_Property;
return FT_THROW( Missing_Property );
}
@ -163,7 +163,7 @@
FT_TRACE0(( "af_property_get: missing property `%s'\n",
property_name ));
return AF_Err_Missing_Property;
return FT_THROW( Missing_Property );
}

View File

@ -4,7 +4,7 @@
/* */
/* Quick computation of advance widths (body). */
/* */
/* Copyright 2008, 2009, 2011 by */
/* Copyright 2008, 2009, 2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,8 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_ADVANCES_H
#include FT_INTERNAL_OBJECTS_H
@ -35,7 +37,7 @@
return FT_Err_Ok;
if ( face->size == NULL )
return FT_Err_Invalid_Size_Handle;
return FT_THROW( Invalid_Size_Handle );
if ( flags & FT_LOAD_VERTICAL_LAYOUT )
scale = face->size->metrics.y_scale;
@ -76,10 +78,10 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( gindex >= (FT_UInt)face->num_glyphs )
return FT_Err_Invalid_Glyph_Index;
return FT_THROW( Invalid_Glyph_Index );
func = face->driver->clazz->get_advances;
if ( func && LOAD_ADVANCE_FAST_CHECK( flags ) )
@ -114,12 +116,12 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
num = (FT_UInt)face->num_glyphs;
end = start + count;
if ( start >= num || end < start || end > num )
return FT_Err_Invalid_Glyph_Index;
return FT_THROW( Invalid_Glyph_Index );
if ( count == 0 )
return FT_Err_Ok;
@ -138,7 +140,7 @@
error = FT_Err_Ok;
if ( flags & FT_ADVANCE_FLAG_FAST_ONLY )
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
flags |= (FT_UInt32)FT_LOAD_ADVANCE_ONLY;
for ( nn = 0; nn < count; nn++ )

View File

@ -25,6 +25,8 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_BBOX_H
#include FT_IMAGE_H
#include FT_OUTLINE_H
@ -566,10 +568,10 @@ FT_DEFINE_OUTLINE_FUNCS(bbox_interface,
if ( !abbox )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( !outline )
return FT_Err_Invalid_Outline;
return FT_THROW( Invalid_Outline );
/* if outline is empty, return (0,0,0,0) */
if ( outline->n_points == 0 || outline->n_contours <= 0 )

View File

@ -4,7 +4,7 @@
/* */
/* FreeType utility functions for bitmaps (body). */
/* */
/* Copyright 2004-2009, 2011 by */
/* Copyright 2004-2009, 2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,8 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_BITMAP_H
#include FT_IMAGE_H
#include FT_INTERNAL_OBJECTS_H
@ -135,7 +137,7 @@
new_pitch = ( width + xpixels );
break;
default:
return FT_Err_Invalid_Glyph_Format;
return FT_THROW( Invalid_Glyph_Format );
}
/* if no need to allocate memory */
@ -223,14 +225,14 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !bitmap || !bitmap->buffer )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( ( ( FT_PIX_ROUND( xStrength ) >> 6 ) > FT_INT_MAX ) ||
( ( FT_PIX_ROUND( yStrength ) >> 6 ) > FT_INT_MAX ) )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
xstr = (FT_Int)FT_PIX_ROUND( xStrength ) >> 6;
ystr = (FT_Int)FT_PIX_ROUND( yStrength ) >> 6;
@ -238,7 +240,7 @@
if ( xstr == 0 && ystr == 0 )
return FT_Err_Ok;
else if ( xstr < 0 || ystr < 0 )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
switch ( bitmap->pixel_mode )
{
@ -382,7 +384,7 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
memory = library->memory;
@ -419,7 +421,7 @@
if ( target->pitch > 0 &&
(FT_ULong)target->rows > FT_ULONG_MAX / target->pitch )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( target->rows * target->pitch > old_size &&
FT_QREALLOC( target->buffer,
@ -429,7 +431,7 @@
break;
default:
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
}
switch ( source->pixel_mode )
@ -650,10 +652,10 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !bitmap )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
memory = library->memory;

View File

@ -772,14 +772,14 @@
if ( !matrix )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* compute discriminant */
delta = FT_MulFix( matrix->xx, matrix->yy ) -
FT_MulFix( matrix->xy, matrix->yx );
if ( !delta )
return FT_Err_Invalid_Argument; /* matrix can't be inverted */
return FT_THROW( Invalid_Argument ); /* matrix can't be inverted */
matrix->xy = - FT_DivFix( matrix->xy, delta );
matrix->yx = - FT_DivFix( matrix->yx, delta );

View File

@ -4,7 +4,7 @@
/* */
/* The FreeType glyph loader (body). */
/* */
/* Copyright 2002, 2003, 2004, 2005, 2006, 2010 by */
/* Copyright 2002-2006, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,7 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_GLYPH_LOADER_H
#include FT_INTERNAL_MEMORY_H
#include FT_INTERNAL_OBJECTS_H
@ -219,7 +220,7 @@
new_max = FT_PAD_CEIL( new_max, 8 );
if ( new_max > FT_OUTLINE_POINTS_MAX )
return FT_Err_Array_Too_Large;
return FT_THROW( Array_Too_Large );
if ( FT_RENEW_ARRAY( base->points, old_max, new_max ) ||
FT_RENEW_ARRAY( base->tags, old_max, new_max ) )
@ -251,7 +252,7 @@
new_max = FT_PAD_CEIL( new_max, 4 );
if ( new_max > FT_OUTLINE_CONTOURS_MAX )
return FT_Err_Array_Too_Large;
return FT_THROW( Array_Too_Large );
if ( FT_RENEW_ARRAY( base->contours, old_max, new_max ) )
goto Exit;

View File

@ -4,7 +4,7 @@
/* */
/* FreeType convenience functions to handle glyphs (body). */
/* */
/* Copyright 1996-2005, 2007, 2008, 2010, 2012 by */
/* Copyright 1996-2005, 2007, 2008, 2010, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -29,6 +29,8 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_GLYPH_H
#include FT_OUTLINE_H
#include FT_BITMAP_H
@ -65,7 +67,7 @@
if ( slot->format != FT_GLYPH_FORMAT_BITMAP )
{
error = FT_Err_Invalid_Glyph_Format;
error = FT_THROW( Invalid_Glyph_Format );
goto Exit;
}
@ -166,7 +168,7 @@
/* check format in glyph slot */
if ( slot->format != FT_GLYPH_FORMAT_OUTLINE )
{
error = FT_Err_Invalid_Glyph_Format;
error = FT_THROW( Invalid_Glyph_Format );
goto Exit;
}
@ -314,7 +316,7 @@
/* check arguments */
if ( !target )
{
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -322,7 +324,7 @@
if ( !source || !source->clazz )
{
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -361,12 +363,12 @@
if ( !slot )
return FT_Err_Invalid_Slot_Handle;
return FT_THROW( Invalid_Slot_Handle );
library = slot->library;
if ( !aglyph )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* if it is a bitmap, that's easy :-) */
if ( slot->format == FT_GLYPH_FORMAT_BITMAP )
@ -388,7 +390,7 @@
if ( !clazz )
{
error = FT_Err_Invalid_Glyph_Format;
error = FT_THROW( Invalid_Glyph_Format );
goto Exit;
}
@ -427,7 +429,7 @@
if ( !glyph || !glyph->clazz )
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
else
{
clazz = glyph->clazz;
@ -441,7 +443,7 @@
FT_Vector_Transform( &glyph->advance, matrix );
}
else
error = FT_Err_Invalid_Glyph_Format;
error = FT_THROW( Invalid_Glyph_Format );
}
return error;
}
@ -600,7 +602,7 @@
return error;
Bad:
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType API for validating TrueTyepGX/AAT tables (body). */
/* */
/* Copyright 2004, 2005, 2006, 2010 by */
/* Copyright 2004-2006, 2010, 2013 by */
/* Masatake YAMATO, Redhat K.K, */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
@ -26,6 +26,8 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
#include FT_SERVICE_GX_VALIDATE_H
@ -44,13 +46,13 @@
if ( !face )
{
error = FT_Err_Invalid_Face_Handle;
error = FT_THROW( Invalid_Face_Handle );
goto Exit;
}
if ( tables == NULL )
{
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -62,7 +64,7 @@
tables,
table_length );
else
error = FT_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
Exit:
return error;
@ -96,13 +98,13 @@
if ( !face )
{
error = FT_Err_Invalid_Face_Handle;
error = FT_THROW( Invalid_Face_Handle );
goto Exit;
}
if ( ckern_table == NULL )
{
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -113,7 +115,7 @@
validation_flags,
ckern_table );
else
error = FT_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
Exit:
return error;

View File

@ -4,7 +4,7 @@
/* */
/* FreeType initialization layer (body). */
/* */
/* Copyright 1996-2002, 2005, 2007, 2009, 2012 by */
/* Copyright 1996-2002, 2005, 2007, 2009, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -242,7 +242,7 @@
if ( !memory )
{
FT_ERROR(( "FT_Init_FreeType: cannot find memory manager\n" ));
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
/* build a library out of it, then fill it with the set of */

View File

@ -4,7 +4,7 @@
/* */
/* FreeType API for color filtering of subpixel bitmap glyphs (body). */
/* */
/* Copyright 2006, 2008, 2009, 2010 by */
/* Copyright 2006, 2008-2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,8 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_LCD_FILTER_H
#include FT_IMAGE_H
#include FT_INTERNAL_OBJECTS_H
@ -271,7 +273,7 @@
unsigned char *weights )
{
if ( !library || !weights )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
ft_memcpy( library->lcd_weights, weights, 5 );
@ -292,7 +294,7 @@
if ( !library )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
switch ( filter )
{
@ -339,7 +341,7 @@
#endif
default:
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
library->lcd_filter = filter;
@ -356,7 +358,7 @@
FT_UNUSED( library );
FT_UNUSED( weights );
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
@ -367,7 +369,7 @@
FT_UNUSED( library );
FT_UNUSED( filter );
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
#endif /* !FT_CONFIG_OPTION_SUBPIXEL_RENDERING */

View File

@ -8,8 +8,7 @@
/* This file is for Mac OS X only; see builds/mac/ftoldmac.c for */
/* classic platforms built by MPW. */
/* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, */
/* 2009 by */
/* Copyright 1996-2009, 2013 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -131,7 +130,7 @@
FT_UNUSED( pathSpec );
FT_UNUSED( face_index );
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
@ -190,10 +189,10 @@
CFRelease( cf_fontName );
if ( ats_font_id == 0 || ats_font_id == 0xFFFFFFFFUL )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
if ( noErr != FT_ATSFontGetFileReference( ats_font_id, ats_font_ref ) )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
/* face_index calculation by searching preceding fontIDs */
/* with same FSRef */
@ -233,7 +232,7 @@
return err;
if ( noErr != FSRefMakePath( &ref, path, maxPathSize ) )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
return FT_Err_Ok;
}
@ -251,7 +250,7 @@
FT_UNUSED( pathSpec );
FT_UNUSED( face_index );
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
#else
FSRef ref;
FT_Error err;
@ -263,7 +262,7 @@
if ( noErr != FSGetCatalogInfo( &ref, kFSCatInfoNone, NULL, NULL,
pathSpec, NULL ) )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
return FT_Err_Ok;
#endif
@ -279,7 +278,7 @@
if ( noErr != FSPathMakeRef( pathname, &ref, FALSE ) )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
/* at present, no support for dfont format */
err = FSOpenResourceFile( &ref, 0, NULL, fsRdPerm, res );
@ -508,17 +507,17 @@
/* We should not extract parent directory by string manipulation. */
if ( noErr != FSPathMakeRef( path_fond, &ref, FALSE ) )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( noErr != FSGetCatalogInfo( &ref, kFSCatInfoNone,
NULL, NULL, NULL, &par_ref ) )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( noErr != FSRefMakePath( &par_ref, path_lwfn, path_size ) )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( ft_strlen( (char *)path_lwfn ) + 1 + base_lwfn[0] > path_size )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* now we have absolute dirname in path_lwfn */
ft_strcat( (char *)path_lwfn, "/" );
@ -527,11 +526,11 @@
path_lwfn[dirname_len + base_lwfn[0]] = '\0';
if ( noErr != FSPathMakeRef( path_lwfn, &ref, FALSE ) )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
if ( noErr != FSGetCatalogInfo( &ref, kFSCatInfoNone,
NULL, NULL, NULL, NULL ) )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
return FT_Err_Ok;
}
@ -620,7 +619,7 @@
/* detect integer overflows */
if ( total_size < old_total_size )
{
error = FT_Err_Array_Too_Large;
error = FT_THROW( Array_Too_Large );
goto Error;
}
@ -705,7 +704,7 @@
if ( noErr != FT_FSPathMakeRes( pathname, &res ) )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
pfb_data = NULL;
pfb_size = 0;
@ -740,7 +739,7 @@
sfnt = GetResource( TTAG_sfnt, sfnt_id );
if ( sfnt == NULL )
return FT_Err_Invalid_Handle;
return FT_THROW( Invalid_Handle );
sfnt_size = (FT_ULong)GetHandleSize( sfnt );
if ( FT_ALLOC( sfnt_data, (FT_Long)sfnt_size ) )
@ -805,11 +804,11 @@
if ( noErr != FT_FSPathMakeRes( pathname, &res_ref ) )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
UseResFile( res_ref );
if ( ResError() )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
num_faces_in_res = 0;
for ( res_index = 1; ; ++res_index )
@ -854,7 +853,7 @@
GetResInfo( fond, &fond_id, &fond_type, fond_name );
if ( ResError() != noErr || fond_type != TTAG_FOND )
return FT_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
parse_fond( *fond, &have_sfnt, &sfnt_id, lwfn_file_name, face_index );
@ -894,7 +893,7 @@
face_index,
aface );
else
error = FT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
found_no_lwfn_file:
if ( have_sfnt && FT_Err_Ok != error )
@ -961,7 +960,7 @@
/* test for valid `library' and `aface' delayed to FT_Open_Face() */
if ( !pathname )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
error = FT_Err_Ok;
*aface = NULL;
@ -1003,11 +1002,11 @@
if ( !ref )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
err = FSRefMakePath( ref, pathname, sizeof ( pathname ) );
if ( err )
error = FT_Err_Cannot_Open_Resource;
error = FT_THROW( Cannot_Open_Resource );
error = FT_New_Face_From_Resource( library, pathname, face_index, aface );
if ( error != 0 || *aface != NULL )
@ -1043,13 +1042,13 @@
FT_UNUSED( face_index );
FT_UNUSED( aface );
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
#else
FSRef ref;
if ( !spec || FSpMakeFSRef( spec, &ref ) != noErr )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
else
return FT_New_Face_From_FSRef( library, &ref, face_index, aface );
#endif

View File

@ -4,7 +4,7 @@
/* */
/* Multiple Master font support (body). */
/* */
/* Copyright 1996-2001, 2003, 2004, 2009 by */
/* Copyright 1996-2001, 2003, 2004, 2009, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,8 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_MULTIPLE_MASTERS_H
#include FT_INTERNAL_OBJECTS_H
#include FT_SERVICE_MULTIPLE_MASTERS_H
@ -42,7 +44,7 @@
*aservice = NULL;
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
error = FT_Err_Invalid_Argument;

View File

@ -137,10 +137,10 @@
*astream = 0;
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !args )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
memory = library->memory;
@ -178,7 +178,7 @@
#endif
else
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
if ( error )
FT_FREE( stream );
@ -385,7 +385,7 @@
if ( !face || !face->driver )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
driver = face->driver;
clazz = driver->clazz;
@ -575,7 +575,7 @@
if ( !face || !face->size || !face->glyph )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
/* The validity test for `glyph_index' is performed by the */
/* font drivers. */
@ -815,7 +815,7 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
glyph_index = (FT_UInt)char_code;
if ( face->charmap )
@ -966,7 +966,7 @@
first = face->charmaps;
if ( !first )
return FT_Err_Invalid_CharMap_Handle;
return FT_THROW( Invalid_CharMap_Handle );
/*
* The original TrueType specification(s) only specified charmap
@ -1044,7 +1044,7 @@
}
}
return FT_Err_Invalid_CharMap_Handle;
return FT_THROW( Invalid_CharMap_Handle );
}
@ -1207,7 +1207,7 @@
/* test for valid `library' and `aface' delayed to FT_Open_Face() */
if ( !pathname )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
args.flags = FT_OPEN_PATHNAME;
args.pathname = (char*)pathname;
@ -1233,7 +1233,7 @@
/* test for valid `library' and `face' delayed to FT_Open_Face() */
if ( !file_base )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
args.flags = FT_OPEN_MEMORY;
args.memory_base = file_base;
@ -1305,10 +1305,10 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !base )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
*astream = 0;
memory = library->memory;
@ -1422,7 +1422,7 @@
if ( FT_READ_ULONG( tag ) )
return error;
if ( tag != TTAG_typ1 )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
if ( FT_READ_USHORT( numTables ) )
return error;
@ -1459,7 +1459,7 @@
if ( face_index >= 0 && pstable_index == face_index )
return FT_Err_Ok;
}
return FT_Err_Table_Missing;
return FT_THROW( Table_Missing );
}
@ -1696,7 +1696,7 @@
if ( face_index == -1 )
face_index = 0;
if ( face_index >= resource_cnt )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
flag_offset = offsets[face_index];
error = FT_Stream_Seek( stream, flag_offset );
@ -1706,7 +1706,7 @@
if ( FT_READ_LONG( rlen ) )
goto Exit;
if ( rlen == -1 )
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
error = open_face_PS_from_sfnt_stream( library,
stream,
@ -1813,7 +1813,7 @@
if ( NULL == stream )
return FT_Err_Invalid_Stream_Operation;
return FT_THROW( Invalid_Stream_Operation );
error = FT_Stream_Seek( stream, 0 );
if ( error )
@ -1830,7 +1830,7 @@
header[ 1] > 33 ||
header[63] != 0 ||
header[2 + header[1]] != 0 )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
dlen = ( header[0x53] << 24 ) |
( header[0x54] << 16 ) |
@ -2012,7 +2012,7 @@
/* FT_Stream_New() */
if ( ( !aface && face_index >= 0 ) || !args )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
external_stream = FT_BOOL( ( args->flags & FT_OPEN_STREAM ) &&
args->stream );
@ -2049,7 +2049,7 @@
goto Success;
}
else
error = FT_Err_Invalid_Handle;
error = FT_THROW( Invalid_Handle );
FT_Stream_Free( stream, external_stream );
goto Fail;
@ -2138,7 +2138,7 @@
#endif /* !FT_MACINTOSH && FT_CONFIG_OPTION_MAC_FONTS */
/* no driver is able to handle this format */
error = FT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
Fail2:
FT_Stream_Free( stream, external_stream );
@ -2260,7 +2260,7 @@
/* test for valid `face' delayed to FT_Attach_Stream() */
if ( !filepathname )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
open.stream = NULL;
open.flags = FT_OPEN_PATHNAME;
@ -2286,11 +2286,11 @@
/* test for valid `parameters' delayed to FT_Stream_New() */
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
driver = face->driver;
if ( !driver )
return FT_Err_Invalid_Driver_Handle;
return FT_THROW( Invalid_Driver_Handle );
error = FT_Stream_New( driver->root.library, parameters, &stream );
if ( error )
@ -2382,13 +2382,13 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( !asize )
return FT_Err_Invalid_Size_Handle;
return FT_THROW( Invalid_Size_Handle );
if ( !face->driver )
return FT_Err_Invalid_Driver_Handle;
return FT_THROW( Invalid_Driver_Handle );
*asize = 0;
@ -2440,15 +2440,15 @@
if ( !size )
return FT_Err_Invalid_Size_Handle;
return FT_THROW( Invalid_Size_Handle );
face = size->face;
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
driver = face->driver;
if ( !driver )
return FT_Err_Invalid_Driver_Handle;
return FT_THROW( Invalid_Driver_Handle );
memory = driver->root.memory;
@ -2469,7 +2469,7 @@
destroy_size( memory, size, driver );
}
else
error = FT_Err_Invalid_Size_Handle;
error = FT_THROW( Invalid_Size_Handle );
return error;
}
@ -2488,11 +2488,11 @@
if ( !FT_HAS_FIXED_SIZES( face ) )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
/* FT_Bitmap_Size doesn't provide enough info... */
if ( req->type != FT_SIZE_REQUEST_TYPE_NOMINAL )
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
w = FT_REQUEST_WIDTH ( req );
h = FT_REQUEST_HEIGHT( req );
@ -2522,7 +2522,7 @@
}
}
return FT_Err_Invalid_Pixel_Size;
return FT_THROW( Invalid_Pixel_Size );
}
@ -2765,10 +2765,10 @@
if ( !face || !FT_HAS_FIXED_SIZES( face ) )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( strike_index < 0 || strike_index >= face->num_fixed_sizes )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
clazz = face->driver->clazz;
@ -2818,11 +2818,11 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( !req || req->width < 0 || req->height < 0 ||
req->type >= FT_SIZE_REQUEST_TYPE_MAX )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
clazz = face->driver->clazz;
@ -2973,10 +2973,10 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( !akerning )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
driver = face->driver;
@ -3032,14 +3032,14 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( !akerning )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
FT_FACE_FIND_SERVICE( face, service, KERNING );
if ( !service )
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
error = service->get_track( face,
point_size,
@ -3061,10 +3061,10 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( encoding == FT_ENCODING_NONE )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* FT_ENCODING_UNICODE is special. We try to find the `best' Unicode */
/* charmap available, i.e., one with UCS-4 characters, if possible. */
@ -3075,7 +3075,7 @@
cur = face->charmaps;
if ( !cur )
return FT_Err_Invalid_CharMap_Handle;
return FT_THROW( Invalid_CharMap_Handle );
limit = cur + face->num_charmaps;
@ -3097,7 +3097,7 @@
}
}
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
@ -3112,13 +3112,13 @@
if ( !face )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
cur = face->charmaps;
if ( !cur )
return FT_Err_Invalid_CharMap_Handle;
return FT_THROW( Invalid_CharMap_Handle );
if ( FT_Get_CMap_Format( charmap ) == 14 )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
limit = cur + face->num_charmaps;
@ -3139,7 +3139,7 @@
return 0;
}
}
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
@ -3247,7 +3247,7 @@
if ( clazz == NULL || charmap == NULL || charmap->face == NULL )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
face = charmap->face;
memory = FT_FACE_MEMORY( face );
@ -3669,11 +3669,11 @@
if ( !face || !FT_IS_SFNT( face ) )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
FT_FACE_FIND_SERVICE( face, service, SFNT_TABLE );
if ( service == NULL )
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
return service->load_table( face, tag, offset, buffer, length );
}
@ -3692,11 +3692,11 @@
if ( !face || !FT_IS_SFNT( face ) )
return FT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
FT_FACE_FIND_SERVICE( face, service, SFNT_TABLE );
if ( service == NULL )
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
return service->table_info( face, table_index, tag, &offset, length );
}
@ -3759,11 +3759,11 @@
if ( size == NULL )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
face = size->face;
if ( face == NULL || face->driver == NULL )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* we don't need anything more complex than that; all size objects */
/* are already listed by the face */
@ -3955,15 +3955,15 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !renderer )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
node = FT_List_Find( &library->renderers, renderer );
if ( !node )
{
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -4060,7 +4060,7 @@
if ( !slot || !slot->face )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
library = FT_FACE_LIBRARY( slot->face );
@ -4140,14 +4140,14 @@
FREETYPE_MINOR )
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !clazz )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* check freetype version */
if ( clazz->module_requires > FREETYPE_VER_FIXED )
return FT_Err_Invalid_Version;
return FT_THROW( Invalid_Version );
/* look for a module with the same name in the library's table */
for ( nn = 0; nn < library->num_modules; nn++ )
@ -4157,7 +4157,7 @@
{
/* this installed module has the same name, compare their versions */
if ( clazz->module_version <= module->clazz->module_version )
return FT_Err_Lower_Module_Version;
return FT_THROW( Lower_Module_Version );
/* remove the module from our list, then exit the loop to replace */
/* it by our new version.. */
@ -4171,7 +4171,7 @@
if ( library->num_modules >= FT_MAX_MODULES )
{
error = FT_Err_Too_Many_Drivers;
error = FT_THROW( Too_Many_Drivers );
goto Exit;
}
@ -4350,7 +4350,7 @@
/* try to find the module from the table, then remove it from there */
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( module )
{
@ -4379,7 +4379,7 @@
}
}
}
return FT_Err_Invalid_Driver_Handle;
return FT_THROW( Invalid_Driver_Handle );
}
@ -4406,10 +4406,10 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !module_name || !property_name || !value )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
cur = library->modules;
limit = cur + library->num_modules;
@ -4423,7 +4423,7 @@
{
FT_ERROR(( "%s: can't find module `%s'\n",
func_name, module_name ));
return FT_Err_Missing_Module;
return FT_THROW( Missing_Module );
}
/* check whether we have a service interface */
@ -4431,7 +4431,7 @@
{
FT_ERROR(( "%s: module `%s' doesn't support properties\n",
func_name, module_name ));
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
/* search property service */
@ -4441,7 +4441,7 @@
{
FT_ERROR(( "%s: module `%s' doesn't support properties\n",
func_name, module_name ));
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
service = (FT_Service_Properties)interface;
@ -4455,7 +4455,7 @@
{
FT_ERROR(( "%s: property service of module `%s' is broken\n",
func_name, module_name ));
return FT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
return set ? service->set_property( cur[0], property_name, value )
@ -4530,7 +4530,7 @@
if ( !memory )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
#ifdef FT_DEBUG_LEVEL_ERROR
/* init debugging support */
@ -4617,7 +4617,7 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
library->refcount--;
if ( library->refcount > 0 )

View File

@ -4,7 +4,7 @@
/* */
/* FreeType API for validating OpenType tables (body). */
/* */
/* Copyright 2004, 2006, 2008, 2010 by */
/* Copyright 2004, 2006, 2008, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -16,6 +16,8 @@
/***************************************************************************/
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
#include FT_SERVICE_OPENTYPE_VALIDATE_H
#include FT_OPENTYPE_VALIDATE_H
@ -38,7 +40,7 @@
if ( !face )
{
error = FT_Err_Invalid_Face_Handle;
error = FT_THROW( Invalid_Face_Handle );
goto Exit;
}
@ -48,7 +50,7 @@
GSUB_table &&
JSTF_table ) )
{
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -63,7 +65,7 @@
GSUB_table,
JSTF_table );
else
error = FT_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
Exit:
return error;

View File

@ -74,7 +74,7 @@
if ( !outline || !func_interface )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
shift = func_interface->shift;
delta = func_interface->delta;
@ -287,7 +287,7 @@
return error;
Invalid_Outline:
return FT_Err_Invalid_Outline;
return FT_THROW( Invalid_Outline );
}
@ -301,16 +301,16 @@
if ( !anoutline || !memory )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
*anoutline = null_outline;
if ( numContours < 0 ||
(FT_UInt)numContours > numPoints )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( numPoints > FT_OUTLINE_POINTS_MAX )
return FT_Err_Array_Too_Large;
return FT_THROW( Array_Too_Large );
if ( FT_NEW_ARRAY( anoutline->points, numPoints ) ||
FT_NEW_ARRAY( anoutline->tags, numPoints ) ||
@ -340,7 +340,7 @@
FT_Outline *anoutline )
{
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
return FT_Outline_New_Internal( library->memory, numPoints,
numContours, anoutline );
@ -388,7 +388,7 @@
}
Bad:
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
@ -404,7 +404,7 @@
if ( !source || !target ||
source->n_points != target->n_points ||
source->n_contours != target->n_contours )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( source == target )
return FT_Err_Ok;
@ -443,7 +443,7 @@
return FT_Err_Ok;
}
else
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
@ -456,7 +456,7 @@
/* check for valid `outline' in FT_Outline_Done_Internal() */
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
return FT_Outline_Done_Internal( library->memory, outline );
}
@ -610,10 +610,10 @@
if ( !library )
return FT_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
if ( !outline || !params )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
renderer = library->cur_renderer;
node = library->renderers.head;
@ -658,7 +658,7 @@
if ( !abitmap )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* other checks are delayed to FT_Outline_Render() */
@ -908,7 +908,7 @@
if ( !outline )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
xstrength /= 2;
ystrength /= 2;
@ -919,7 +919,7 @@
if ( orientation == FT_ORIENTATION_NONE )
{
if ( outline->n_contours )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
else
return FT_Err_Ok;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing PFR-specific data (body). */
/* */
/* Copyright 2002, 2003, 2004, 2008, 2010 by */
/* Copyright 2002-2004, 2008, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -16,6 +16,8 @@
/***************************************************************************/
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
#include FT_SERVICE_PFR_H
@ -48,7 +50,7 @@
if ( !face )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
service = ft_pfr_check( face );
if ( service )
@ -84,7 +86,7 @@
if ( ametrics_y_scale )
*ametrics_y_scale = y_scale;
error = FT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
}
return error;
@ -104,7 +106,7 @@
if ( !face )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
service = ft_pfr_check( face );
if ( service )
@ -135,7 +137,7 @@
}
else
/* XXX: TODO: PROVIDE ADVANCE-LOADING METHOD TO ALL FONT DRIVERS */
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
return error;
}

View File

@ -29,7 +29,8 @@
ft_pic_container_init( FT_Library library )
{
FT_PIC_Container* pic_container = &library->pic_container;
FT_Error error = FT_Err_Ok;
FT_Error error = FT_Err_Ok;
FT_MEM_SET( pic_container, 0, sizeof ( *pic_container ) );

View File

@ -4,7 +4,7 @@
/* */
/* Embedded resource forks accessor (body). */
/* */
/* Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010 by */
/* Copyright 2004-2010, 2013 by */
/* Masatake YAMATO and Redhat K.K. */
/* */
/* FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are */
@ -86,7 +86,7 @@
/* map_len = head[12] .. head[15] */
if ( *rdata_pos + rdata_len != map_pos || map_pos == rfork_offset )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
error = FT_Stream_Seek( stream, map_pos );
if ( error )
@ -108,7 +108,7 @@
allmatch = 0;
}
if ( !allzeros && !allmatch )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
/* If we have reached this point then it is probably a mac resource */
/* file. Now, does it contain any interesting resources? */
@ -121,7 +121,7 @@
if ( FT_READ_USHORT( type_list ) )
return error;
if ( type_list == -1 )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
error = FT_Stream_Seek( stream, map_pos + type_list );
if ( error )
@ -233,7 +233,7 @@
}
}
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
}
@ -435,7 +435,7 @@
*result_file_name = NULL;
if ( NULL == stream )
return FT_Err_Cannot_Open_Stream;
return FT_THROW( Cannot_Open_Stream );
return raccess_guess_apple_generic( library, stream, base_file_name,
magic, result_offset );
@ -457,7 +457,7 @@
*result_file_name = NULL;
if ( NULL == stream )
return FT_Err_Cannot_Open_Stream;
return FT_THROW( Cannot_Open_Stream );
return raccess_guess_apple_generic( library, stream, base_file_name,
magic, result_offset );
@ -481,7 +481,7 @@
memory = library->memory;
newpath = raccess_make_file_name( memory, base_file_name, "._" );
if ( !newpath )
return FT_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
error = raccess_guess_linux_double_from_file_name( library, newpath,
result_offset );
@ -515,7 +515,7 @@
memory = library->memory;
if ( base_file_len + 6 > FT_INT_MAX )
return FT_Err_Array_Too_Large;
return FT_THROW( Array_Too_Large );
if ( FT_ALLOC( newpath, base_file_len + 6 ) )
return error;
@ -551,7 +551,7 @@
memory = library->memory;
if ( base_file_len + 18 > FT_INT_MAX )
return FT_Err_Array_Too_Large;
return FT_THROW( Array_Too_Large );
if ( FT_ALLOC( newpath, base_file_len + 18 ) )
return error;
@ -584,7 +584,7 @@
newpath = raccess_make_file_name( memory, base_file_name,
"resource.frk/" );
if ( !newpath )
return FT_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
*result_file_name = newpath;
*result_offset = 0;
@ -610,7 +610,7 @@
newpath = raccess_make_file_name( memory, base_file_name, ".resource/" );
if ( !newpath )
return FT_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
*result_file_name = newpath;
*result_offset = 0;
@ -637,7 +637,7 @@
newpath = raccess_make_file_name( memory, base_file_name, "%" );
if ( !newpath )
return FT_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
error = raccess_guess_linux_double_from_file_name( library, newpath,
result_offset );
@ -669,7 +669,7 @@
newpath = raccess_make_file_name( memory, base_file_name,
".AppleDouble/" );
if ( !newpath )
return FT_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
error = raccess_guess_linux_double_from_file_name( library, newpath,
result_offset );
@ -708,7 +708,7 @@
if ( FT_READ_LONG( magic_from_stream ) )
return error;
if ( magic_from_stream != magic )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
if ( FT_READ_LONG( version_number ) )
return error;
@ -721,7 +721,7 @@
if ( FT_READ_USHORT( n_of_entries ) )
return error;
if ( n_of_entries == 0 )
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
for ( i = 0; i < n_of_entries; i++ )
{
@ -744,7 +744,7 @@
}
}
return FT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
}

View File

@ -4,7 +4,7 @@
/* */
/* I/O stream support (body). */
/* */
/* Copyright 2000-2002, 2004-2006, 2008-2011 by */
/* Copyright 2000-2002, 2004-2006, 2008-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -68,7 +68,7 @@
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
pos, stream->size ));
error = FT_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
}
}
/* note that seeking to the first position after the file is valid */
@ -78,7 +78,7 @@
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
pos, stream->size ));
error = FT_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
}
if ( !error )
@ -93,7 +93,7 @@
FT_Long distance )
{
if ( distance < 0 )
return FT_Err_Invalid_Stream_Operation;
return FT_THROW( Invalid_Stream_Operation );
return FT_Stream_Seek( stream, (FT_ULong)( stream->pos + distance ) );
}
@ -131,7 +131,7 @@
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
pos, stream->size ));
return FT_Err_Invalid_Stream_Operation;
return FT_THROW( Invalid_Stream_Operation );
}
if ( stream->read )
@ -153,7 +153,7 @@
" invalid read; expected %lu bytes, got %lu\n",
count, read_bytes ));
error = FT_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
}
return error;
@ -254,7 +254,7 @@
" frame size (%lu) larger than stream size (%lu)\n",
count, stream->size ));
error = FT_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
goto Exit;
}
@ -277,7 +277,7 @@
count, read_bytes ));
FT_FREE( stream->base );
error = FT_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
}
stream->cursor = stream->base;
stream->limit = stream->cursor + count;
@ -293,7 +293,7 @@
" invalid i/o; pos = 0x%lx, count = %lu, size = 0x%lx\n",
stream->pos, count, stream->size ));
error = FT_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
goto Exit;
}
@ -474,7 +474,7 @@
return result;
Fail:
*error = FT_Err_Invalid_Stream_Operation;
*error = FT_THROW( Invalid_Stream_Operation );
FT_ERROR(( "FT_Stream_ReadChar:"
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
stream->pos, stream->size ));
@ -521,7 +521,7 @@
return result;
Fail:
*error = FT_Err_Invalid_Stream_Operation;
*error = FT_THROW( Invalid_Stream_Operation );
FT_ERROR(( "FT_Stream_ReadUShort:"
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
stream->pos, stream->size ));
@ -568,7 +568,7 @@
return result;
Fail:
*error = FT_Err_Invalid_Stream_Operation;
*error = FT_THROW( Invalid_Stream_Operation );
FT_ERROR(( "FT_Stream_ReadUShortLE:"
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
stream->pos, stream->size ));
@ -615,7 +615,7 @@
return result;
Fail:
*error = FT_Err_Invalid_Stream_Operation;
*error = FT_THROW( Invalid_Stream_Operation );
FT_ERROR(( "FT_Stream_ReadUOffset:"
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
stream->pos, stream->size ));
@ -662,7 +662,7 @@
return result;
Fail:
*error = FT_Err_Invalid_Stream_Operation;
*error = FT_THROW( Invalid_Stream_Operation );
FT_ERROR(( "FT_Stream_ReadULong:"
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
stream->pos, stream->size ));
@ -709,7 +709,7 @@
return result;
Fail:
*error = FT_Err_Invalid_Stream_Operation;
*error = FT_THROW( Invalid_Stream_Operation );
FT_ERROR(( "FT_Stream_ReadULongLE:"
" invalid i/o; pos = 0x%lx, size = 0x%lx\n",
stream->pos, stream->size ));
@ -728,7 +728,7 @@
FT_Byte* cursor;
if ( !fields || !stream )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
cursor = stream->cursor;
@ -760,7 +760,7 @@
if ( cursor + len > stream->limit )
{
error = FT_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType path stroker (body). */
/* */
/* Copyright 2002-2006, 2008-2011 by */
/* Copyright 2002-2006, 2008-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -795,7 +795,7 @@
if ( !library )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
memory = library->memory;
@ -1954,7 +1954,7 @@
if ( !stroker || border > 1 )
{
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -2060,7 +2060,7 @@
if ( !outline || !stroker )
return FT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
FT_Stroker_Rewind( stroker );
@ -2238,7 +2238,7 @@
return error;
Invalid_Outline:
return FT_Err_Invalid_Outline;
return FT_THROW( Invalid_Outline );
}

View File

@ -4,7 +4,7 @@
/* */
/* ANSI-specific FreeType low-level system interface (body). */
/* */
/* Copyright 1996-2002, 2006, 2008-2011 by */
/* Copyright 1996-2002, 2006, 2008-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -228,7 +228,7 @@
if ( !stream )
return FT_Err_Invalid_Stream_Handle;
return FT_THROW( Invalid_Stream_Handle );
stream->descriptor.pointer = NULL;
stream->pathname.pointer = (char*)filepathname;
@ -243,7 +243,7 @@
FT_ERROR(( "FT_Stream_Open:"
" could not open `%s'\n", filepathname ));
return FT_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
}
ft_fseek( file, 0, SEEK_END );
@ -253,7 +253,7 @@
FT_ERROR(( "FT_Stream_Open:" ));
FT_ERROR(( " opened `%s' but zero-sized\n", filepathname ));
ft_fclose( file );
return FT_Err_Cannot_Open_Stream;
return FT_THROW( Cannot_Open_Stream );
}
ft_fseek( file, 0, SEEK_SET );

View File

@ -4,7 +4,7 @@
/* */
/* FreeType utility file for memory and list management (body). */
/* */
/* Copyright 2002, 2004, 2005, 2006, 2007 by */
/* Copyright 2002, 2004-2007, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -75,12 +75,12 @@
{
block = memory->alloc( memory, size );
if ( block == NULL )
error = FT_Err_Out_Of_Memory;
error = FT_THROW( Out_Of_Memory );
}
else if ( size < 0 )
{
/* may help catch/prevent security issues */
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
}
*p_error = error;
@ -98,6 +98,7 @@
{
FT_Error error = FT_Err_Ok;
block = ft_mem_qrealloc( memory, item_size,
cur_count, new_count, block, &error );
if ( !error && new_count > cur_count )
@ -127,7 +128,7 @@
if ( cur_count < 0 || new_count < 0 || item_size < 0 )
{
/* may help catch/prevent nasty security issues */
error = FT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
}
else if ( new_count == 0 || item_size == 0 )
{
@ -136,7 +137,7 @@
}
else if ( new_count > FT_INT_MAX/item_size )
{
error = FT_Err_Array_Too_Large;
error = FT_THROW( Array_Too_Large );
}
else if ( cur_count == 0 )
{
@ -153,7 +154,7 @@
block2 = memory->realloc( memory, cur_size, new_size, block );
if ( block2 == NULL )
error = FT_Err_Out_Of_Memory;
error = FT_THROW( Out_Of_Memory );
else
block = block2;
}

View File

@ -2,7 +2,7 @@
FreeType font driver for bdf files
Copyright (C) 2001-2008, 2011 by
Copyright (C) 2001-2008, 2011, 2013 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
@ -591,7 +591,7 @@ THE SOFTWARE.
Fail:
BDF_Face_Done( bdfface );
return BDF_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
}
@ -640,7 +640,7 @@ THE SOFTWARE.
break;
default:
error = BDF_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
break;
}
@ -670,7 +670,7 @@ THE SOFTWARE.
if ( !face || glyph_index >= (FT_UInt)face->num_glyphs )
{
error = BDF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -786,7 +786,7 @@ THE SOFTWARE.
}
Fail:
return BDF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}

View File

@ -1,6 +1,6 @@
/*
* Copyright 2000 Computing Research Labs, New Mexico State University
* Copyright 2001-2012
* Copyright 2001-2013
* Francesco Zappa Nardelli
*
* Permission is hereby granted, free of charge, to any person obtaining a
@ -282,7 +282,7 @@
hash_init( hashtable* ht,
FT_Memory memory )
{
int sz = INITIAL_HT_SIZE;
int sz = INITIAL_HT_SIZE;
FT_Error error = BDF_Err_Ok;
@ -322,8 +322,9 @@
hashtable* ht,
FT_Memory memory )
{
hashnode nn, *bp = hash_bucket( key, ht );
FT_Error error = BDF_Err_Ok;
hashnode nn;
hashnode* bp = hash_bucket( key, ht );
FT_Error error = BDF_Err_Ok;
nn = *bp;
@ -469,7 +470,7 @@
if ( oldsize == bigsize )
{
error = BDF_Err_Out_Of_Memory;
error = FT_THROW( Out_Of_Memory );
goto Exit;
}
else if ( newsize < oldsize || newsize > bigsize )
@ -581,7 +582,7 @@
/* this, so an error is signaled. */
if ( separators == 0 || *separators == 0 )
{
error = BDF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -667,14 +668,14 @@
unsigned long lineno, buf_size;
int refill, hold, to_skip;
ptrdiff_t bytes, start, end, cursor, avail;
char* buf = 0;
char* buf = 0;
FT_Memory memory = stream->memory;
FT_Error error = BDF_Err_Ok;
FT_Error error = BDF_Err_Ok;
if ( callback == 0 )
{
error = BDF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -738,7 +739,7 @@
if ( buf_size >= 65536UL ) /* limit ourselves to 64KByte */
{
FT_ERROR(( "_bdf_readstream: " ERRMSG6, lineno ));
error = BDF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1028,7 +1029,7 @@
size_t n;
bdf_property_t* p;
FT_Memory memory = font->memory;
FT_Error error = BDF_Err_Ok;
FT_Error error = BDF_Err_Ok;
/* First check whether the property has */
@ -1047,7 +1048,7 @@
n = ft_strlen( name ) + 1;
if ( n > FT_ULONG_MAX )
return BDF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( FT_NEW_ARRAY( p->name, n ) )
goto Exit;
@ -1134,7 +1135,7 @@
{
char* cp;
FT_Memory memory = font->memory;
FT_Error error = BDF_Err_Ok;
FT_Error error = BDF_Err_Ok;
if ( FT_RENEW_ARRAY( font->comments,
@ -1170,7 +1171,7 @@
if ( font == 0 || font->name == 0 || font->name[0] == 0 )
{
error = BDF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1185,7 +1186,7 @@
if ( len >= 256 )
{
FT_ERROR(( "_bdf_set_default_spacing: " ERRMSG7, lineno ));
error = BDF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1298,7 +1299,7 @@
hashnode hn;
bdf_property_t *prop, *fp;
FT_Memory memory = font->memory;
FT_Error error = BDF_Err_Ok;
FT_Error error = BDF_Err_Ok;
/* First, check whether the property already exists in the font. */
@ -1431,7 +1432,7 @@
if ( !fp->value.atom )
{
FT_ERROR(( "_bdf_add_property: " ERRMSG8, lineno, "SPACING" ));
error = BDF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1504,7 +1505,7 @@
if ( ft_memcmp( line, "CHARS", 5 ) != 0 )
{
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "CHARS" ));
error = BDF_Err_Missing_Chars_Field;
error = FT_THROW( Missing_Chars_Field );
goto Exit;
}
@ -1522,7 +1523,7 @@
if ( p->cnt >= 0x110000UL )
{
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG5, lineno, "CHARS" ));
error = BDF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1582,7 +1583,7 @@
if ( !s )
{
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG8, lineno, "STARTCHAR" ));
error = BDF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1605,7 +1606,7 @@
{
/* Missing STARTCHAR field. */
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "STARTCHAR" ));
error = BDF_Err_Missing_Startchar_Field;
error = FT_THROW( Missing_Startchar_Field );
goto Exit;
}
@ -1636,7 +1637,7 @@
sizeof ( unsigned long ) * 32 )
{
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG5, lineno, "ENCODING" ));
error = BDF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1906,7 +1907,7 @@
{
/* Missing BBX field. */
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "BBX" ));
error = BDF_Err_Missing_Bbx_Field;
error = FT_THROW( Missing_Bbx_Field );
goto Exit;
}
@ -1917,7 +1918,7 @@
if ( glyph->bpr > 0xFFFFU || bitmap_size > 0xFFFFU )
{
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG4, lineno ));
error = BDF_Err_Bbx_Too_Big;
error = FT_THROW( Bbx_Too_Big );
goto Exit;
}
else
@ -1933,13 +1934,13 @@
}
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG9, lineno ));
error = BDF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
Missing_Encoding:
/* Missing ENCODING field. */
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "ENCODING" ));
error = BDF_Err_Missing_Encoding_Field;
error = FT_THROW( Missing_Encoding_Field );
Exit:
if ( error && ( p->flags & _BDF_GLYPH ) )
@ -2112,7 +2113,7 @@
{
/* we don't emit an error message since this code gets */
/* explicitly caught one level higher */
error = BDF_Err_Missing_Startfont_Field;
error = FT_THROW( Missing_Startfont_Field );
goto Exit;
}
@ -2162,7 +2163,7 @@
{
/* Missing the FONTBOUNDINGBOX field. */
FT_ERROR(( "_bdf_parse_start: " ERRMSG1, lineno, "FONTBOUNDINGBOX" ));
error = BDF_Err_Missing_Fontboundingbox_Field;
error = FT_THROW( Missing_Fontboundingbox_Field );
goto Exit;
}
@ -2191,7 +2192,7 @@
{
/* Missing the SIZE field. */
FT_ERROR(( "_bdf_parse_start: " ERRMSG1, lineno, "SIZE" ));
error = BDF_Err_Missing_Size_Field;
error = FT_THROW( Missing_Size_Field );
goto Exit;
}
@ -2228,7 +2229,7 @@
if ( !s )
{
FT_ERROR(( "_bdf_parse_start: " ERRMSG8, lineno, "FONT" ));
error = BDF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -2257,7 +2258,7 @@
{
/* Missing the FONT field. */
FT_ERROR(( "_bdf_parse_start: " ERRMSG1, lineno, "FONT" ));
error = BDF_Err_Missing_Font_Field;
error = FT_THROW( Missing_Font_Field );
goto Exit;
}
@ -2314,7 +2315,7 @@
{
/* Missing the FONTBOUNDINGBOX field. */
FT_ERROR(( "_bdf_parse_start: " ERRMSG1, lineno, "FONTBOUNDINGBOX" ));
error = BDF_Err_Missing_Fontboundingbox_Field;
error = FT_THROW( Missing_Fontboundingbox_Field );
goto Exit;
}
@ -2346,7 +2347,7 @@
}
FT_ERROR(( "_bdf_parse_start: " ERRMSG9, lineno ));
error = BDF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
Exit:
return error;
@ -2463,14 +2464,14 @@
{
/* Error happened while parsing header. */
FT_ERROR(( "bdf_load_font: " ERRMSG2, lineno ));
error = BDF_Err_Corrupted_Font_Header;
error = FT_THROW( Corrupted_Font_Header );
goto Exit;
}
else
{
/* Error happened when parsing glyphs. */
FT_ERROR(( "bdf_load_font: " ERRMSG3, lineno ));
error = BDF_Err_Corrupted_Font_Glyphs;
error = FT_THROW( Corrupted_Font_Glyphs );
goto Exit;
}
}
@ -2491,7 +2492,7 @@
}
}
else if ( error == BDF_Err_Ok )
error = BDF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
*font = p->font;

View File

@ -8,7 +8,7 @@
/* parse compressed PCF fonts, as found with many X11 server */
/* distributions. */
/* */
/* Copyright 2010, 2012 by */
/* Copyright 2010, 2012, 2013 by */
/* Joel Klinghed. */
/* */
/* Based on src/gzip/ftgzip.c, Copyright 2002 - 2010 by */
@ -134,7 +134,7 @@
head[1] != 0x5a ||
head[2] != 0x68 ) /* only support bzip2 (huffman) */
{
error = Bzip2_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -182,7 +182,7 @@
if ( BZ2_bzDecompressInit( bzstream, 0, 0 ) != BZ_OK ||
bzstream->next_in == NULL )
error = Bzip2_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
Exit:
return error;
@ -255,7 +255,7 @@
size = stream->read( stream, stream->pos, zip->input,
FT_BZIP2_BUFFER_SIZE );
if ( size == 0 )
return Bzip2_Err_Invalid_Stream_Operation;
return FT_THROW( Invalid_Stream_Operation );
}
else
{
@ -264,7 +264,7 @@
size = FT_BZIP2_BUFFER_SIZE;
if ( size == 0 )
return Bzip2_Err_Invalid_Stream_Operation;
return FT_THROW( Invalid_Stream_Operation );
FT_MEM_COPY( zip->input, stream->base + stream->pos, size );
}
@ -306,12 +306,12 @@
{
zip->limit = (FT_Byte*)bzstream->next_out;
if ( zip->limit == zip->cursor )
error = Bzip2_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
break;
}
else if ( err != BZ_OK )
{
error = Bzip2_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
break;
}
}
@ -502,7 +502,7 @@
FT_UNUSED( stream );
FT_UNUSED( source );
return Bzip2_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
#endif /* !FT_CONFIG_OPTION_USE_BZIP2 */

16
src/cache/ftcbasic.c vendored
View File

@ -4,7 +4,7 @@
/* */
/* The FreeType basic cache interface (body). */
/* */
/* Copyright 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 by */
/* Copyright 2003-2007, 2009-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -226,7 +226,7 @@
}
}
else
error = FTC_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
}
}
@ -328,7 +328,7 @@
/* some argument checks are delayed to FTC_Cache_Lookup */
if ( !aglyph )
{
error = FTC_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -424,7 +424,7 @@
/* some argument checks are delayed to FTC_Cache_Lookup */
if ( !aglyph || !scaler )
{
error = FTC_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -583,7 +583,7 @@
if ( !desc )
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
ftc_image_type_from_old_desc( &type0, desc );
@ -668,7 +668,7 @@
/* other argument checks delayed to FTC_Cache_Lookup */
if ( !ansbit )
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
*ansbit = NULL;
@ -765,7 +765,7 @@
/* other argument checks delayed to FTC_Cache_Lookup */
if ( !ansbit || !scaler )
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
*ansbit = NULL;
@ -838,7 +838,7 @@
if ( !desc )
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
ftc_image_type_from_old_desc( &type0, desc );

View File

@ -4,8 +4,7 @@
/* */
/* The FreeType internal cache interface (body). */
/* */
/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, */
/* 2011 by */
/* Copyright 2000-2007, 2009-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -500,7 +499,7 @@
if ( cache == NULL || anode == NULL )
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* Go to the `top' node of the list sharing same masked hash */
bucket = pnode = FTC_NODE__TOP_FOR_HASH( cache, hash );

14
src/cache/ftcmanag.c vendored
View File

@ -4,7 +4,7 @@
/* */
/* FreeType Cache Manager (body). */
/* */
/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by */
/* Copyright 2000-2006, 2008-2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -187,12 +187,12 @@
if ( asize == NULL )
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
*asize = NULL;
if ( !manager )
return FTC_Err_Invalid_Cache_Handle;
return FT_THROW( Invalid_Cache_Handle );
#ifdef FTC_INLINE
@ -314,12 +314,12 @@
if ( aface == NULL )
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
*aface = NULL;
if ( !manager )
return FTC_Err_Invalid_Cache_Handle;
return FT_THROW( Invalid_Cache_Handle );
/* we break encapsulation for the sake of speed */
#ifdef FTC_INLINE
@ -364,7 +364,7 @@
if ( !library )
return FTC_Err_Invalid_Library_Handle;
return FT_THROW( Invalid_Library_Handle );
memory = library->memory;
@ -586,7 +586,7 @@
if ( manager->num_caches >= FTC_MAX_CACHES )
{
error = FTC_Err_Too_Many_Caches;
error = FT_THROW( Too_Many_Caches );
FT_ERROR(( "FTC_Manager_RegisterCache:"
" too many registered caches\n" ));
goto Exit;

View File

@ -4,7 +4,7 @@
/* */
/* FreeType sbits manager (body). */
/* */
/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010, 2011 by */
/* Copyright 2000-2006, 2009-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -116,7 +116,7 @@
if ( (FT_UInt)(gindex - gnode->gindex) >= snode->count )
{
FT_ERROR(( "ftc_snode_load: invalid glyph index" ));
return FTC_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
sbit = snode->sbits + ( gindex - gnode->gindex );
@ -223,7 +223,7 @@
total = clazz->family_get_count( family, cache->manager );
if ( total == 0 || gindex >= total )
{
error = FTC_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* CFF character mapping table (cmap) support (body). */
/* */
/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2010 by */
/* Copyright 2002-2007, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -16,6 +16,8 @@
/***************************************************************************/
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include "cffcmap.h"
#include "cffload.h"
@ -145,7 +147,7 @@
/* can't build Unicode map for CID-keyed font */
/* because we don't know glyph names. */
if ( !charset->sids )
return CFF_Err_No_Unicode_Glyph_Name;
return FT_THROW( No_Unicode_Glyph_Name );
return psnames->unicodes_init( memory,
unicodes,

View File

@ -4,7 +4,7 @@
/* */
/* OpenType font driver implementation (body). */
/* */
/* Copyright 1996-2012 by */
/* Copyright 1996-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -160,7 +160,7 @@
if ( !slot )
return CFF_Err_Invalid_Slot_Handle;
return FT_THROW( Invalid_Slot_Handle );
/* check whether we want a scaled outline or bitmap */
if ( !size )
@ -174,7 +174,7 @@
{
/* these two objects must have the same parent */
if ( cffsize->face != cffslot->face )
return CFF_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
}
/* now load the glyph outline if necessary */
@ -239,7 +239,7 @@
" cannot get glyph name from CFF & CEF fonts\n"
" "
" without the `PSNames' module\n" ));
error = CFF_Err_Missing_Module;
error = FT_THROW( Missing_Module );
goto Exit;
}
@ -405,8 +405,9 @@
{
FT_CMap cmap = FT_CMAP( charmap );
FT_Error error = CFF_Err_Ok;
FT_Face face = FT_CMAP_FACE( cmap );
FT_Library library = FT_FACE_LIBRARY( face );
FT_Face face = FT_CMAP_FACE( cmap );
FT_Library library = FT_FACE_LIBRARY( face );
cmap_info->language = 0;
@ -455,7 +456,7 @@
if ( dict->cid_registry == 0xFFFFU )
{
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Fail;
}
@ -537,13 +538,13 @@
if ( dict->cid_registry == 0xFFFFU )
{
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Fail;
}
if ( glyph_index > cff->num_glyphs )
{
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Fail;
}

View File

@ -424,7 +424,7 @@
if ( fd_index >= cff->num_subfonts )
{
FT_TRACE4(( "cff_decoder_prepare: invalid CID subfont index\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -728,7 +728,7 @@
if ( decoder->seac )
{
FT_ERROR(( "cff_operator_seac: invalid nested seac\n" ));
return CFF_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
adx += decoder->builder.left_bearing.x;
@ -756,7 +756,7 @@
{
FT_ERROR(( "cff_operator_seac:"
" invalid seac character code arguments\n" ));
return CFF_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
/* If we are trying to load a composite glyph, do not load the */
@ -2470,7 +2470,7 @@
FT_ERROR(( " %d", ip[0] ));
FT_ERROR(( "\n" ));
return CFF_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
decoder->top = args;
@ -2489,15 +2489,15 @@
Syntax_Error:
FT_TRACE4(( "cff_decoder_parse_charstrings: syntax error\n" ));
return CFF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
Stack_Underflow:
FT_TRACE4(( "cff_decoder_parse_charstrings: stack underflow\n" ));
return CFF_Err_Too_Few_Arguments;
return FT_THROW( Too_Few_Arguments );
Stack_Overflow:
FT_TRACE4(( "cff_decoder_parse_charstrings: stack overflow\n" ));
return CFF_Err_Stack_Overflow;
return FT_THROW( Stack_Overflow );
}
@ -2606,11 +2606,11 @@
glyph_index = cff_charset_cid_to_gindex( &cff->charset,
glyph_index );
if ( glyph_index == 0 )
return CFF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
}
else if ( glyph_index >= cff->num_glyphs )
return CFF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( load_flags & FT_LOAD_NO_RECURSE )
load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
@ -2733,7 +2733,7 @@
/* return immediately if we only want the embedded bitmaps */
if ( load_flags & FT_LOAD_SBITS_ONLY )
return CFF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* if we have a CID subfont, use its matrix (which has already */
/* been multiplied with the root matrix) */

View File

@ -4,7 +4,7 @@
/* */
/* OpenType and CFF data/program tables loader (body). */
/* */
/* Copyright 1996-2012 by */
/* Copyright 1996-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -250,7 +250,7 @@
if ( offsize < 1 || offsize > 4 )
{
error = CFF_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -269,7 +269,7 @@
if ( size == 0 )
{
error = CFF_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -386,7 +386,8 @@
{
FT_Error error = CFF_Err_Ok;
FT_Memory memory = idx->stream->memory;
FT_Byte** t = NULL;
FT_Byte** t = NULL;
FT_Byte* new_bytes = NULL;
@ -556,7 +557,7 @@
}
}
else
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
Exit:
return error;
@ -696,7 +697,7 @@
break;
default: /* hmm... that's wrong */
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
Exit:
@ -943,7 +944,7 @@
default:
FT_ERROR(( "cff_charset_load: invalid table format\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
}
@ -966,7 +967,7 @@
{
FT_ERROR(( "cff_charset_load: implicit charset larger than\n"
"predefined charset (Adobe ISO-Latin)\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -984,7 +985,7 @@
{
FT_ERROR(( "cff_charset_load: implicit charset larger than\n"
"predefined charset (Adobe Expert)\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1002,7 +1003,7 @@
{
FT_ERROR(( "cff_charset_load: implicit charset larger than\n"
"predefined charset (Adobe Expert Subset)\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1016,7 +1017,7 @@
break;
default:
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
}
@ -1067,7 +1068,7 @@
/* Check for charset->sids. If we do not have this, we fail. */
if ( !charset->sids )
{
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1187,7 +1188,7 @@
default:
FT_ERROR(( "cff_encoding_load: invalid table format\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1280,7 +1281,7 @@
default:
FT_ERROR(( "cff_encoding_load: invalid table format\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
}
@ -1460,7 +1461,7 @@
font->absolute_offsize > 4 )
{
FT_TRACE2(( " not a CFF font header\n" ));
error = CFF_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -1494,7 +1495,7 @@
FT_ERROR(( "cff_font_load:"
" invalid subfont index for pure CFF font (%d)\n",
subfont_index ));
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1510,7 +1511,7 @@
" invalid CFF font with multiple subfonts\n"
" "
" in SFNT wrapper\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
}
@ -1599,7 +1600,7 @@
if ( dict->charstrings_offset == 0 )
{
FT_ERROR(( "cff_font_load: no charstrings offset\n" ));
error = CFF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}

View File

@ -496,7 +496,7 @@
if ( !sfnt )
{
FT_ERROR(( "cff_face_init: cannot access `sfnt' module\n" ));
error = CFF_Err_Missing_Module;
error = FT_THROW( Missing_Module );
goto Exit;
}
@ -518,7 +518,7 @@
if ( face->format_tag != TTAG_OTTO ) /* `OTTO'; OpenType/CFF font */
{
FT_TRACE2(( " not an OpenType/CFF font\n" ));
error = CFF_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -600,7 +600,7 @@
" cannot open CFF & CEF fonts\n"
" "
" without the `PSNames' module\n" ));
error = CFF_Err_Missing_Module;
error = FT_THROW( Missing_Module );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* CFF token stream parser (body) */
/* */
/* Copyright 1996-2004, 2007-2012 by */
/* Copyright 1996-2004, 2007-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -1161,15 +1161,15 @@
return error;
Stack_Overflow:
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
Stack_Underflow:
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
Syntax_Error:
error = CFF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* CID-keyed Type1 Glyph Loader (body). */
/* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 by */
/* Copyright 1996-2007, 2009, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -117,7 +117,7 @@
if ( fd_select >= (FT_UInt)cid->num_dicts )
{
error = CID_Err_Invalid_Offset;
error = FT_THROW( Invalid_Offset );
goto Exit;
}
if ( glyph_length == 0 )
@ -284,7 +284,7 @@
if ( glyph_index >= (FT_UInt)face->root.num_glyphs )
{
error = CID_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* CID-keyed Type1 font loader (body). */
/* */
/* Copyright 1996-2006, 2009, 2011-2012 by */
/* Copyright 1996-2006, 2009, 2011-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -114,7 +114,7 @@
{
FT_ERROR(( "cid_load_keyword: invalid use of `%s'\n",
keyword->ident ));
error = CID_Err_Syntax_Error;
error = FT_THROW( Syntax_Error );
goto Exit;
}
@ -416,7 +416,7 @@
/* Check for possible overflow. */
if ( num_subrs == FT_UINT_MAX )
{
error = CID_Err_Syntax_Error;
error = FT_THROW( Syntax_Error );
goto Fail;
}
@ -428,7 +428,7 @@
if ( new_max <= max_offsets )
{
error = CID_Err_Syntax_Error;
error = FT_THROW( Syntax_Error );
goto Fail;
}
@ -571,7 +571,7 @@
if ( size == 0 )
{
error = CID_Err_Syntax_Error;
error = FT_THROW( Syntax_Error );
goto Exit;
}
@ -604,7 +604,7 @@
}
else
{
error = CID_Err_Syntax_Error;
error = FT_THROW( Syntax_Error );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* CID objects manager (body). */
/* */
/* Copyright 1996-2006, 2008, 2010-2011 by */
/* Copyright 1996-2006, 2008, 2010-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -302,7 +302,7 @@
if ( !psaux )
{
FT_ERROR(( "cid_face_init: cannot access `psaux' module\n" ));
error = CID_Err_Missing_Module;
error = FT_THROW( Missing_Module );
goto Exit;
}
@ -337,7 +337,7 @@
if ( face_index != 0 )
{
FT_ERROR(( "cid_face_init: invalid face index\n" ));
error = CID_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* CID-keyed Type1 parser (body). */
/* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */
/* Copyright 1996-2007, 2009, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -74,7 +74,7 @@
"%!PS-Adobe-3.0 Resource-CIDFont", 31 ) )
{
FT_TRACE2(( " not a CID-keyed font\n" ));
error = CID_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
}
FT_FRAME_EXIT();
@ -99,7 +99,7 @@
if ( stream_len == 0 )
{
FT_TRACE2(( "cid_parser_new: no `StartData' keyword found\n" ));
error = CID_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -185,7 +185,7 @@
else if ( cur[1] == 's' && ft_strncmp( (char*)cur, "/sfnts", 6 ) == 0 )
{
FT_TRACE2(( "cid_parser_new: cannot handle Type 11 fonts\n" ));
error = CID_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType's TrueTypeGX/AAT validation module implementation (body). */
/* */
/* Copyright 2004, 2005, 2006 */
/* Copyright 2004-2006, 2013 */
/* by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
@ -58,7 +58,7 @@
error = FT_Load_Sfnt_Table( face, tag, 0, NULL, table_len );
if ( error == GXV_Err_Table_Missing )
if ( FT_ERROR_BASE( error ) == FT_Err_Table_Missing )
return GXV_Err_Ok;
if ( error )
goto Exit;

View File

@ -8,7 +8,7 @@
/* parse compressed PCF fonts, as found with many X11 server */
/* distributions. */
/* */
/* Copyright 2002-2006, 2009-2012 by */
/* Copyright 2002-2006, 2009-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -200,7 +200,7 @@
head[2] != Z_DEFLATED ||
(head[3] & FT_GZIP_RESERVED) )
{
error = Gzip_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -294,7 +294,7 @@
if ( inflateInit2( zstream, -MAX_WBITS ) != Z_OK ||
zstream->next_in == NULL )
error = Gzip_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
Exit:
return error;
@ -365,7 +365,7 @@
size = stream->read( stream, stream->pos, zip->input,
FT_GZIP_BUFFER_SIZE );
if ( size == 0 )
return Gzip_Err_Invalid_Stream_Operation;
return FT_THROW( Invalid_Stream_Operation );
}
else
{
@ -374,7 +374,7 @@
size = FT_GZIP_BUFFER_SIZE;
if ( size == 0 )
return Gzip_Err_Invalid_Stream_Operation;
return FT_THROW( Invalid_Stream_Operation );
FT_MEM_COPY( zip->input, stream->base + stream->pos, size );
}
@ -416,12 +416,12 @@
{
zip->limit = zstream->next_out;
if ( zip->limit == zip->cursor )
error = Gzip_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
break;
}
else if ( err != Z_OK )
{
error = Gzip_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
break;
}
}
@ -680,7 +680,7 @@
FT_UNUSED( stream );
FT_UNUSED( source );
return Gzip_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
#endif /* !FT_CONFIG_OPTION_USE_ZLIB */

View File

@ -8,7 +8,7 @@
/* be used to parse compressed PCF fonts, as found with many X11 server */
/* distributions. */
/* */
/* Copyright 2004-2006, 2009, 2010, 2012 by */
/* Copyright 2004-2006, 2009, 2010, 2012, 2013 by */
/* Albert Chin-A-Young. */
/* */
/* Based on code in src/gzip/ftgzip.c, Copyright 2004 by */
@ -98,7 +98,7 @@
/* head[0] && head[1] are the magic numbers */
if ( head[0] != 0x1f ||
head[1] != 0x9d )
error = LZW_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
Exit:
return error;
@ -182,7 +182,7 @@
zip->limit = zip->cursor + count;
if ( count == 0 )
error = LZW_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
return error;
}
@ -224,7 +224,7 @@
if ( numread < delta )
{
/* not enough bytes */
error = LZW_Err_Invalid_Stream_Operation;
error = FT_THROW( Invalid_Stream_Operation );
break;
}
@ -403,7 +403,7 @@
FT_UNUSED( stream );
FT_UNUSED( source );
return LZW_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType's OpenType validation module implementation (body). */
/* */
/* Copyright 2004, 2005, 2006, 2007, 2008 by */
/* Copyright 2004-2008, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -49,7 +49,7 @@
error = FT_Load_Sfnt_Table( face, tag, 0, NULL, table_len );
if ( error == OTV_Err_Table_Missing )
if ( FT_ERROR_BASE( error ) == FT_Err_Table_Missing )
return OTV_Err_Ok;
if ( error )
goto Exit;

View File

@ -2,7 +2,7 @@
FreeType font driver for pcf files
Copyright (C) 2000-2004, 2006-2011 by
Copyright (C) 2000-2004, 2006-2011, 2013 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
@ -406,7 +406,7 @@ THE SOFTWARE.
Fail:
FT_TRACE2(( " not a PCF file\n" ));
PCF_Face_Done( pcfface );
error = PCF_Err_Unknown_File_Format; /* error */
error = FT_THROW( Unknown_File_Format ); /* error */
goto Exit;
}
@ -455,7 +455,7 @@ THE SOFTWARE.
break;
default:
error = PCF_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
break;
}
@ -486,7 +486,7 @@ THE SOFTWARE.
if ( !face || glyph_index >= (FT_UInt)face->root.num_glyphs )
{
error = PCF_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -526,7 +526,7 @@ THE SOFTWARE.
break;
default:
return PCF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
}
/* XXX: to do: are there cases that need repadding the bitmap? */
@ -622,7 +622,7 @@ THE SOFTWARE.
return 0;
}
return PCF_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}

View File

@ -98,15 +98,15 @@ THE SOFTWARE.
if ( FT_STREAM_SEEK ( 0 ) ||
FT_STREAM_READ_FIELDS ( pcf_toc_header, toc ) )
return PCF_Err_Cannot_Open_Resource;
return FT_THROW( Cannot_Open_Resource );
if ( toc->version != PCF_FILE_VERSION ||
toc->count > FT_ARRAY_MAX( face->toc.tables ) ||
toc->count == 0 )
return PCF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
if ( FT_NEW_ARRAY( face->toc.tables, toc->count ) )
return PCF_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
tables = face->toc.tables;
for ( n = 0; n < toc->count; n++ )
@ -144,7 +144,7 @@ THE SOFTWARE.
if ( ( tables[i].size > tables[i + 1].offset ) ||
( tables[i].offset > tables[i + 1].offset - tables[i].size ) )
return PCF_Err_Invalid_Offset;
return FT_THROW( Invalid_Offset );
}
if ( !have_change )
@ -303,13 +303,13 @@ THE SOFTWARE.
{
if ( stream->pos > tables[i].offset )
{
error = PCF_Err_Invalid_Stream_Skip;
error = FT_THROW( Invalid_Stream_Skip );
goto Fail;
}
if ( FT_STREAM_SKIP( tables[i].offset - stream->pos ) )
{
error = PCF_Err_Invalid_Stream_Skip;
error = FT_THROW( Invalid_Stream_Skip );
goto Fail;
}
@ -441,7 +441,7 @@ THE SOFTWARE.
/* rough estimate */
if ( nprops > size / PCF_PROPERTY_SIZE )
{
error = PCF_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Bail;
}
@ -474,7 +474,7 @@ THE SOFTWARE.
i = 4 - ( nprops & 3 );
if ( FT_STREAM_SKIP( i ) )
{
error = PCF_Err_Invalid_Stream_Skip;
error = FT_THROW( Invalid_Stream_Skip );
goto Bail;
}
}
@ -491,7 +491,7 @@ THE SOFTWARE.
/* rough estimate */
if ( string_size > size - nprops * PCF_PROPERTY_SIZE )
{
error = PCF_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Bail;
}
@ -516,7 +516,7 @@ THE SOFTWARE.
if ( ( name_offset < 0 ) ||
( (FT_ULong)name_offset > string_size ) )
{
error = PCF_Err_Invalid_Offset;
error = FT_THROW( Invalid_Offset );
goto Bail;
}
@ -535,7 +535,7 @@ THE SOFTWARE.
if ( ( value_offset < 0 ) ||
( (FT_ULong)value_offset > string_size ) )
{
error = PCF_Err_Invalid_Offset;
error = FT_THROW( Invalid_Offset );
goto Bail;
}
@ -587,7 +587,7 @@ THE SOFTWARE.
if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) &&
!PCF_FORMAT_MATCH( format, PCF_COMPRESSED_METRICS ) )
return PCF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
if ( PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) )
{
@ -604,12 +604,12 @@ THE SOFTWARE.
(void)FT_READ_USHORT_LE( nmetrics );
}
if ( error )
return PCF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
face->nmetrics = nmetrics;
if ( !nmetrics )
return PCF_Err_Invalid_Table;
return FT_THROW( Invalid_Table );
FT_TRACE4(( "pcf_get_metrics:\n" ));
@ -619,16 +619,16 @@ THE SOFTWARE.
if ( PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) )
{
if ( nmetrics > size / PCF_METRIC_SIZE )
return PCF_Err_Invalid_Table;
return FT_THROW( Invalid_Table );
}
else
{
if ( nmetrics > size / PCF_COMPRESSED_METRIC_SIZE )
return PCF_Err_Invalid_Table;
return FT_THROW( Invalid_Table );
}
if ( FT_NEW_ARRAY( face->metrics, nmetrics ) )
return PCF_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
metrics = face->metrics;
for ( i = 0; i < nmetrics; i++ )
@ -693,7 +693,7 @@ THE SOFTWARE.
FT_Stream_ExitFrame( stream );
if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) )
return PCF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
FT_TRACE4(( "pcf_get_bitmaps:\n" ));
@ -701,7 +701,7 @@ THE SOFTWARE.
/* XXX: PCF_Face->nmetrics is singed FT_Long, see pcf.h */
if ( face->nmetrics < 0 || nbitmaps != ( FT_ULong )face->nmetrics )
return PCF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
if ( FT_NEW_ARRAY( offsets, nbitmaps ) )
return error;
@ -810,7 +810,7 @@ THE SOFTWARE.
FT_Stream_ExitFrame( stream );
if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) )
return PCF_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
FT_TRACE4(( "pdf_get_encodings:\n" ));
@ -820,7 +820,7 @@ THE SOFTWARE.
nencoding = ( lastCol - firstCol + 1 ) * ( lastRow - firstRow + 1 );
if ( FT_NEW_ARRAY( encoding, nencoding ) )
return PCF_Err_Out_Of_Memory;
return FT_THROW( Out_Of_Memory );
error = FT_Stream_EnterFrame( stream, 2 * nencoding );
if ( error )
@ -1259,7 +1259,7 @@ THE SOFTWARE.
{
/* This is done to respect the behaviour of the original */
/* PCF font driver. */
error = PCF_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
return error;

View File

@ -4,7 +4,7 @@
/* */
/* FreeType PFR cmap handling (body). */
/* */
/* Copyright 2002, 2007, 2009 by */
/* Copyright 2002, 2007, 2009, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -16,6 +16,8 @@
/***************************************************************************/
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include "pfrcmap.h"
#include "pfrobjs.h"
@ -42,7 +44,7 @@
{
if ( cmap->chars[n - 1].char_code >= cmap->chars[n].char_code )
{
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
}

View File

@ -84,7 +84,7 @@
if ( gindex < phys->num_chars )
{
*anadvance = phys->chars[gindex].advance;
error = PFR_Err_Ok;
error = PFR_Err_Ok;
}
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType PFR glyph loader (body). */
/* */
/* Copyright 2002, 2003, 2005, 2007, 2010 by */
/* Copyright 2002, 2003, 2005, 2007, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -135,7 +135,7 @@
/* check that we have begun a new path */
if ( !glyph->path_begun )
{
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_glyph_line_to: invalid glyph data\n" ));
goto Exit;
}
@ -171,7 +171,7 @@
/* check that we have begun a new path */
if ( !glyph->path_begun )
{
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_glyph_line_to: invalid glyph data\n" ));
goto Exit;
}
@ -546,7 +546,7 @@
Failure:
Too_Short:
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_glyph_load_simple: invalid glyph data\n" ));
goto Exit;
}
@ -602,7 +602,7 @@
/* to avoid endless recursion */
if ( new_max > 64 )
{
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_glyph_load_compound:"
" too many compound glyphs components\n" ));
goto Exit;
@ -709,7 +709,7 @@
Failure:
Too_Short:
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_glyph_load_compound: invalid glyph data\n" ));
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType PFR loader (body). */
/* */
/* Copyright 2002, 2003, 2004, 2005, 2007, 2009, 2010 by */
/* Copyright 2002-2005, 2007, 2009, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -91,7 +91,7 @@
Too_Short:
FT_ERROR(( "pfr_extra_items_parse: invalid extra items table\n" ));
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -236,7 +236,7 @@
goto Exit;
if ( idx >= num_log_fonts )
return PFR_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( FT_STREAM_SKIP( idx * 5 ) ||
FT_READ_USHORT( size ) ||
@ -329,7 +329,7 @@
Too_Short:
FT_ERROR(( "pfr_log_font_load: invalid logical font table\n" ));
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Fail;
}
@ -427,7 +427,7 @@
return error;
Too_Short:
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_extra_item_load_bitmap_info:"
" invalid bitmap info table\n" ));
goto Exit;
@ -506,7 +506,7 @@
return error;
Too_Short:
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_exta_item_load_stem_snaps:"
" invalid stem snaps table\n" ));
goto Exit;
@ -604,7 +604,7 @@
Too_Short:
FT_FREE( item );
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_extra_item_load_kerning_pairs:"
" invalid kerning pairs table\n" ));
goto Exit;
@ -932,7 +932,7 @@
return error;
Too_Short:
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_phy_font_load: invalid physical font table\n" ));
goto Fail;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType PFR object methods (body). */
/* */
/* Copyright 2002-2008, 2010-2011 by */
/* Copyright 2002-2008, 2010-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -87,7 +87,7 @@
if ( !pfr_header_check( &face->header ) )
{
FT_TRACE2(( " not a PFR font\n" ));
error = PFR_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -111,7 +111,7 @@
if ( face_index >= pfrface->num_faces )
{
FT_ERROR(( "pfr_face_init: invalid face index\n" ));
error = PFR_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -156,7 +156,7 @@
else
{
FT_ERROR(( "pfr_face_init: font doesn't contain glyphs\n" ));
error = PFR_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
}
@ -329,7 +329,7 @@
if ( !face || gindex >= face->phy_font.num_chars )
{
error = PFR_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -343,7 +343,7 @@
if ( load_flags & FT_LOAD_SBITS_ONLY )
{
error = PFR_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType PFR bitmap loader (body). */
/* */
/* Copyright 2002, 2003, 2006, 2009, 2010 by */
/* Copyright 2002, 2003, 2006, 2009, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -471,7 +471,7 @@
return error;
Too_Short:
error = PFR_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
FT_ERROR(( "pfr_load_bitmap_metrics: invalid glyph data\n" ));
goto Exit;
}
@ -508,7 +508,7 @@
default:
FT_ERROR(( "pfr_read_bitmap_data: invalid image type\n" ));
error = PFR_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
}
@ -560,7 +560,7 @@
}
/* couldn't find it */
return PFR_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
Found_Strike:
@ -593,7 +593,7 @@
if ( gps_size == 0 )
{
/* Could not find a bitmap program string for this glyph */
error = PFR_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
}
@ -641,7 +641,7 @@
FT_TRACE1(( "pfr_slot_load_bitmap:" ));
FT_TRACE1(( "huge bitmap glyph %dx%d over FT_GlyphSlot\n",
xpos, ypos ));
error = PFR_Err_Invalid_Pixel_Size;
error = FT_THROW( Invalid_Pixel_Size );
}
if ( !error )

View File

@ -4,7 +4,7 @@
/* */
/* AFM parser (body). */
/* */
/* Copyright 2006-2010, 2012 by */
/* Copyright 2006-2010, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,7 @@
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_POSTSCRIPT_AUX_H
#include "afmparse.h"
@ -575,7 +576,7 @@
return PSaux_Err_Ok;
}
else
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
@ -648,7 +649,7 @@
}
Fail:
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
@ -764,7 +765,7 @@
}
Fail:
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
@ -806,7 +807,7 @@
}
Fail:
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
@ -836,7 +837,7 @@
}
Fail:
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
@ -852,12 +853,12 @@
if ( !fi )
return PSaux_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
key = afm_parser_next_key( parser, 1, &len );
if ( !key || len != 16 ||
ft_strncmp( key, "StartFontMetrics", 16 ) != 0 )
return PSaux_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
while ( ( key = afm_parser_next_key( parser, 1, &len ) ) != 0 )
{
@ -872,7 +873,7 @@
if ( metrics_sets != 0 && metrics_sets != 2 )
{
error = PSaux_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
goto Fail;
}

View File

@ -4,7 +4,7 @@
/* */
/* Auxiliary functions for PostScript fonts (body). */
/* */
/* Copyright 1996-2012 by */
/* Copyright 1996-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -173,13 +173,13 @@
if ( idx < 0 || idx >= table->max_elems )
{
FT_ERROR(( "ps_table_add: invalid index\n" ));
return PSaux_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
if ( length < 0 )
{
FT_ERROR(( "ps_table_add: invalid length\n" ));
return PSaux_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
/* grow the base block if needed */
@ -433,7 +433,7 @@
if ( cur < limit && *cur != '>' )
{
FT_ERROR(( "skip_string: missing closing delimiter `>'\n" ));
err = PSaux_Err_Invalid_File_Format;
err = FT_THROW( Invalid_File_Format );
}
else
cur++;
@ -494,7 +494,7 @@
end:
if ( embed != 0 )
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
*acur = cur;
@ -567,7 +567,7 @@
{
FT_ERROR(( "ps_parser_skip_PS_token:"
" unexpected closing delimiter `>'\n" ));
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
cur++;
@ -597,7 +597,7 @@
" but invalid at this point\n",
*cur ));
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
parser->error = error;
@ -1167,7 +1167,7 @@
" "
" but found token of type %d instead\n",
token.type ));
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1204,7 +1204,7 @@
{
FT_ERROR(( "ps_parser_load_field:"
" expected four integers in bounding box\n" ));
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1241,7 +1241,7 @@
: ( i == 1 ? "second"
: ( i == 2 ? "third"
: "fourth" ) ) ));
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1282,7 +1282,7 @@
return error;
Fail:
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1387,7 +1387,7 @@
if ( *cur != '<' )
{
FT_ERROR(( "ps_parser_to_bytes: Missing starting delimiter `<'\n" ));
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1404,7 +1404,7 @@
if ( cur < parser->limit && *cur != '>' )
{
FT_ERROR(( "ps_parser_to_bytes: Missing closing delimiter `>'\n" ));
error = PSaux_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1647,7 +1647,7 @@
if ( !outline )
{
FT_ERROR(( "t1_builder_add_contour: no outline to add points to\n" ));
return PSaux_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
}
if ( !builder->load_points )

View File

@ -4,7 +4,7 @@
/* */
/* PostScript Type 1 decoding routines (body). */
/* */
/* Copyright 2000-2012 by */
/* Copyright 2000-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -205,13 +205,13 @@
if ( decoder->seac )
{
FT_ERROR(( "t1operator_seac: invalid nested seac\n" ));
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
if ( decoder->builder.metrics_only )
{
FT_ERROR(( "t1operator_seac: unexpected seac\n" ));
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
/* seac weirdness */
@ -228,7 +228,7 @@
{
FT_ERROR(( "t1operator_seac:"
" glyph names table not available in this font\n" ));
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
#ifdef FT_CONFIG_OPTION_INCREMENTAL
@ -249,7 +249,7 @@
{
FT_ERROR(( "t1operator_seac:"
" invalid seac character code arguments\n" ));
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
}
/* if we are trying to load a composite glyph, do not load the */
@ -1545,10 +1545,10 @@
return error;
Syntax_Error:
return PSaux_Err_Syntax_Error;
return FT_THROW( Syntax_Error );
Stack_Underflow:
return PSaux_Err_Stack_Underflow;
return FT_THROW( Stack_Underflow );
}
@ -1585,7 +1585,7 @@
{
FT_ERROR(( "t1_decoder_init:"
" the `psnames' module is not available\n" ));
return PSaux_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
decoder->psnames = psnames;

View File

@ -823,7 +823,7 @@
break;
default:
hints->error = PSH_Err_Invalid_Argument;
hints->error = FT_THROW( Invalid_Argument );
hints->hint_type = hint_type;
FT_TRACE0(( "ps_hints_open: invalid charstring type\n" ));
@ -938,7 +938,7 @@
else
{
FT_ERROR(( "ps_hints_t1stem3: called with invalid hint type\n" ));
error = PSH_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Fail;
}
}
@ -979,7 +979,7 @@
else
{
/* invalid hint type */
error = PSH_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Fail;
}
}

View File

@ -4,7 +4,7 @@
/* */
/* PSNames module implementation (body). */
/* */
/* Copyright 1996-2003, 2005-2008, 2012 by */
/* Copyright 1996-2003, 2005-2008, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,7 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
#include FT_SERVICE_POSTSCRIPT_CMAPS_H
@ -369,7 +370,7 @@
/* No unicode chars here! */
FT_FREE( table->maps );
if ( !error )
error = PSnames_Err_No_Unicode_Glyph_Name;
error = FT_THROW( No_Unicode_Glyph_Name );
}
else
{

View File

@ -4,7 +4,7 @@
/* */
/* The FreeType glyph rasterizer (body). */
/* */
/* Copyright 1996-2003, 2005, 2007-2012 by */
/* Copyright 1996-2003, 2005, 2007-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -179,6 +179,9 @@
#ifdef _STANDALONE_
/* Auxiliary macros for token concatenation. */
#define FT_ERR_XCAT( x, y ) x ## y
#define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y )
/* This macro is used to indicate that a function parameter is unused. */
/* Its purpose is simply to reduce compiler warnings. Note also that */
@ -187,7 +190,7 @@
#define FT_UNUSED( x ) (x) = (x)
/* Disable the tracing mechanism for simplicity -- developers can */
/* activate it easily by redefining these two macros. */
/* activate it easily by redefining these macros. */
#ifndef FT_ERROR
#define FT_ERROR( x ) do { } while ( 0 ) /* nothing */
#endif
@ -198,6 +201,10 @@
#define FT_TRACE6( x ) do { } while ( 0 ) /* nothing */
#endif
#ifndef FT_THROW
#define FT_THROW( e ) FT_ERR_CAT( Raster_Err_, e )
#endif
#define Raster_Err_None 0
#define Raster_Err_Not_Ini -1
#define Raster_Err_Overflow -2
@ -224,7 +231,7 @@
#include FT_INTERNAL_OBJECTS_H
#include FT_INTERNAL_DEBUG_H /* for FT_TRACE() and FT_ERROR() */
#include FT_INTERNAL_DEBUG_H /* for FT_TRACE, FT_ERROR, and FT_THROW */
#include "rasterrs.h"
@ -735,7 +742,7 @@
if ( ras.top >= ras.maxBuff )
{
ras.error = Raster_Err_Overflow;
ras.error = FT_THROW( Overflow );
return FAILURE;
}
@ -765,7 +772,7 @@
default:
FT_ERROR(( "New_Profile: invalid profile direction\n" ));
ras.error = Raster_Err_Invalid;
ras.error = FT_THROW( Invalid );
return FAILURE;
}
@ -807,7 +814,7 @@
if ( h < 0 )
{
FT_ERROR(( "End_Profile: negative height encountered\n" ));
ras.error = Raster_Err_Neg_Height;
ras.error = FT_THROW( Neg_Height );
return FAILURE;
}
@ -840,7 +847,7 @@
if ( ras.top >= ras.maxBuff )
{
FT_TRACE1(( "overflow in End_Profile\n" ));
ras.error = Raster_Err_Overflow;
ras.error = FT_THROW( Overflow );
return FAILURE;
}
@ -894,7 +901,7 @@
ras.maxBuff--;
if ( ras.maxBuff <= ras.top )
{
ras.error = Raster_Err_Overflow;
ras.error = FT_THROW( Overflow );
return FAILURE;
}
ras.numTurns++;
@ -1145,7 +1152,7 @@
size = e2 - e1 + 1;
if ( ras.top + size >= ras.maxBuff )
{
ras.error = Raster_Err_Overflow;
ras.error = FT_THROW( Overflow );
return FAILURE;
}
@ -1320,7 +1327,7 @@
if ( ( top + TRUNC( e2 - e ) + 1 ) >= ras.maxBuff )
{
ras.top = top;
ras.error = Raster_Err_Overflow;
ras.error = FT_THROW( Overflow );
return FAILURE;
}
@ -1995,7 +2002,7 @@
return SUCCESS;
Invalid_Outline:
ras.error = Raster_Err_Invalid;
ras.error = FT_THROW( Invalid );
Fail:
return FAILURE;
@ -2964,7 +2971,7 @@
/* check the Y-turns */
if ( ras.numTurns == 0 )
{
ras.error = Raster_Err_Invalid;
ras.error = FT_THROW( Invalid );
return FAILURE;
}
@ -3205,7 +3212,7 @@
if ( ras.band_top >= 7 || k < i )
{
ras.band_top = 0;
ras.error = Raster_Err_Invalid;
ras.error = FT_THROW( Invalid );
return ras.error;
}
@ -3394,7 +3401,7 @@
{
FT_UNUSED_RASTER;
return Raster_Err_Unsupported;
return FT_THROW( Unsupported );
}
#endif /* !FT_RASTER_OPTION_ANTI_ALIASING */
@ -3549,37 +3556,37 @@
if ( !raster || !raster->buffer || !raster->buffer_size )
return Raster_Err_Not_Ini;
return FT_THROW( Not_Ini );
if ( !outline )
return Raster_Err_Invalid;
return FT_THROW( Invalid );
/* return immediately if the outline is empty */
if ( outline->n_points == 0 || outline->n_contours <= 0 )
return Raster_Err_None;
if ( !outline->contours || !outline->points )
return Raster_Err_Invalid;
return FT_THROW( Invalid );
if ( outline->n_points !=
outline->contours[outline->n_contours - 1] + 1 )
return Raster_Err_Invalid;
return FT_THROW( Invalid );
worker = raster->worker;
/* this version of the raster does not support direct rendering, sorry */
if ( params->flags & FT_RASTER_FLAG_DIRECT )
return Raster_Err_Unsupported;
return FT_THROW( Unsupported );
if ( !target_map )
return Raster_Err_Invalid;
return FT_THROW( Invalid );
/* nothing to do */
if ( !target_map->width || !target_map->rows )
return Raster_Err_None;
if ( !target_map->buffer )
return Raster_Err_Invalid;
return FT_THROW( Invalid );
ras.outline = *outline;
ras.target = *target_map;

View File

@ -4,7 +4,7 @@
/* */
/* The FreeType glyph rasterizer interface (body). */
/* */
/* Copyright 1996-2003, 2005, 2006, 2011 by */
/* Copyright 1996-2003, 2005, 2006, 2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -17,6 +17,7 @@
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
#include FT_OUTLINE_H
#include "ftrend1.h"
@ -66,7 +67,7 @@
if ( slot->format != render->glyph_format )
{
error = Raster_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -114,7 +115,7 @@
/* check glyph image format */
if ( slot->format != render->glyph_format )
{
error = Raster_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -124,13 +125,13 @@
{
/* raster1 is only capable of producing monochrome bitmaps */
if ( render->clazz == &ft_raster1_renderer_class )
return Raster_Err_Cannot_Render_Glyph;
return FT_THROW( Cannot_Render_Glyph );
}
else
{
/* raster5 is only capable of producing 5-gray-levels bitmaps */
if ( render->clazz == &ft_raster5_renderer_class )
return Raster_Err_Cannot_Render_Glyph;
return FT_THROW( Cannot_Render_Glyph );
}
#else /* FT_CONFIG_OPTION_PIC */
/* When PIC is enabled, we cannot get to the class object */
@ -142,13 +143,13 @@
{
/* raster1 is only capable of producing monochrome bitmaps */
if ( render->clazz->root.module_name[6] == '1' )
return Raster_Err_Cannot_Render_Glyph;
return FT_THROW( Cannot_Render_Glyph );
}
else
{
/* raster5 is only capable of producing 5-gray-levels bitmaps */
if ( render->clazz->root.module_name[6] == '5' )
return Raster_Err_Cannot_Render_Glyph;
return FT_THROW( Cannot_Render_Glyph );
}
#endif /* FT_CONFIG_OPTION_PIC */
@ -179,7 +180,7 @@
if ( width > FT_USHORT_MAX || height > FT_USHORT_MAX )
{
error = Raster_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* High-level SFNT driver interface (body). */
/* */
/* Copyright 1996-2007, 2009-2012 by */
/* Copyright 1996-2007, 2009-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -119,14 +119,14 @@
FT_ULong *length )
{
if ( !offset || !length )
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( !tag )
*length = face->num_tables;
else
{
if ( idx >= face->num_tables )
return SFNT_Err_Table_Missing;
return FT_THROW( Table_Missing );
*tag = face->dir_tables[idx].Tag;
*offset = face->dir_tables[idx].Offset;
@ -371,7 +371,7 @@
*acharset_registry = registry.u.atom;
}
else
error = SFNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
}
}
@ -458,7 +458,7 @@
FT_UNUSED( face_index );
FT_UNUSED( header );
return SFNT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
@ -471,7 +471,7 @@
FT_UNUSED( stream );
FT_UNUSED( header );
return SFNT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
@ -482,7 +482,7 @@
FT_UNUSED( face );
FT_UNUSED( stream );
return SFNT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
@ -535,7 +535,7 @@
* is only there for some rogue clients which would want to call it
* directly (which doesn't make much sense).
*/
return SFNT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}
@ -556,7 +556,7 @@
FT_UNUSED( cmap );
FT_UNUSED( input );
return SFNT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
}

View File

@ -4,7 +4,7 @@
/* */
/* SFNT object management (base). */
/* */
/* Copyright 1996-2008, 2010-2012 by */
/* Copyright 1996-2008, 2010-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -386,7 +386,7 @@
tag != 0x00020000UL )
{
FT_TRACE2(( " not a font using the SFNT container format\n" ));
return SFNT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
}
face->ttc_header.tag = TTAG_ttcf;
@ -402,7 +402,7 @@
return error;
if ( face->ttc_header.count == 0 )
return SFNT_Err_Invalid_Table;
return FT_THROW( Invalid_Table );
/* a rough size estimate: let's conservatively assume that there */
/* is just a single table info in each subfont header (12 + 16*1 = */
@ -410,7 +410,7 @@
/* size of the TTC header plus `28*count' bytes for all subfont */
/* headers */
if ( (FT_ULong)face->ttc_header.count > stream->size / ( 28 + 4 ) )
return SFNT_Err_Array_Too_Large;
return FT_THROW( Array_Too_Large );
/* now read the offsets of each font in the file */
if ( FT_NEW_ARRAY( face->ttc_header.offsets, face->ttc_header.count ) )
@ -465,7 +465,7 @@
if ( !sfnt )
{
FT_ERROR(( "sfnt_init_face: cannot access `sfnt' module\n" ));
return SFNT_Err_Missing_Module;
return FT_THROW( Missing_Module );
}
face->sfnt = sfnt;
@ -486,7 +486,7 @@
face_index = 0;
if ( face_index >= face->ttc_header.count )
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( FT_STREAM_SEEK( face->ttc_header.offsets[face_index] ) )
return error;
@ -628,7 +628,7 @@
if ( face->header.Units_Per_EM == 0 )
{
error = SFNT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -658,7 +658,7 @@
LOADM_( hmtx, 0 );
if ( error == SFNT_Err_Table_Missing )
{
error = SFNT_Err_Hmtx_Table_Missing;
error = FT_THROW( Hmtx_Table_Missing );
#ifdef FT_CONFIG_OPTION_INCREMENTAL
/* If this is an incrementally loaded font and there are */
@ -685,7 +685,7 @@
}
else
{
error = SFNT_Err_Horiz_Header_Missing;
error = FT_THROW( Horiz_Header_Missing );
#ifdef FT_CONFIG_OPTION_INCREMENTAL
/* If this is an incrementally loaded font and there are */

View File

@ -4,7 +4,7 @@
/* */
/* TrueType and OpenType embedded BDF properties (body). */
/* */
/* Copyright 2005, 2006, 2010 by */
/* Copyright 2005, 2006, 2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -74,7 +74,7 @@
length < 8 ||
FT_FRAME_EXTRACT( length, bdf->table ) )
{
error = SFNT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -131,7 +131,7 @@
BadTable:
FT_FRAME_RELEASE( bdf->table );
FT_ZERO( bdf );
error = SFNT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* TrueType character mapping table (cmap) support (body). */
/* */
/* Copyright 2002-2010, 2012 by */
/* Copyright 2002-2010, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -3442,7 +3442,7 @@
if ( !p || p + 4 > limit )
return SFNT_Err_Invalid_Table;
return FT_THROW( Invalid_Table );
/* only recognize format 0 */
if ( TT_NEXT_USHORT( p ) != 0 )
@ -3451,7 +3451,7 @@
FT_ERROR(( "tt_face_build_cmaps:"
" unsupported `cmap' table format = %d\n",
TT_PEEK_USHORT( p ) ));
return SFNT_Err_Invalid_Table;
return FT_THROW( Invalid_Table );
}
num_cmaps = TT_NEXT_USHORT( p );

View File

@ -61,7 +61,7 @@
{
FT_ERROR(( "tt_face_load_kern:"
" kerning table is too small - ignored\n" ));
error = SFNT_Err_Table_Missing;
error = FT_THROW( Table_Missing );
goto Exit;
}

View File

@ -5,7 +5,7 @@
/* Load the basic TrueType tables, i.e., tables that can be either in */
/* TTF or OTF fonts (body). */
/* */
/* Copyright 1996-2010, 2012 by */
/* Copyright 1996-2010, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -142,7 +142,7 @@
goto Exit;
}
else
error = SFNT_Err_Table_Missing;
error = FT_THROW( Table_Missing );
Exit:
return error;
@ -237,7 +237,7 @@
if ( table.Length < 0x36 )
{
FT_TRACE2(( "check_table_dir: `head' table too small\n" ));
error = SFNT_Err_Table_Missing;
error = FT_THROW( Table_Missing );
goto Exit;
}
@ -249,7 +249,7 @@
{
FT_TRACE2(( "check_table_dir:"
" no magic number found in `head' table\n"));
error = SFNT_Err_Table_Missing;
error = FT_THROW( Table_Missing );
goto Exit;
}
@ -267,7 +267,7 @@
if ( sfnt->num_tables == 0 )
{
FT_TRACE2(( "check_table_dir: no tables found\n" ));
error = SFNT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -285,7 +285,7 @@
#else
FT_TRACE2(( " neither `head' nor `sing' table found\n" ));
#endif
error = SFNT_Err_Table_Missing;
error = FT_THROW( Table_Missing );
}
Exit:
@ -353,7 +353,7 @@
#if 0
if ( sfnt.search_range != 1 << ( sfnt.entry_selector + 4 ) ||
sfnt.search_range + sfnt.range_shift != sfnt.num_tables << 4 )
return SFNT_Err_Unknown_File_Format;
return FT_THROW( Unknown_File_Format );
#endif
/* load the table directory */
@ -482,7 +482,7 @@
table = tt_face_lookup_table( face, tag );
if ( !table )
{
error = SFNT_Err_Table_Missing;
error = FT_THROW( Table_Missing );
goto Exit;
}
@ -801,7 +801,7 @@
if ( storage_start > storage_limit )
{
FT_ERROR(( "tt_face_load_name: invalid `name' table\n" ));
error = SFNT_Err_Name_Table_Missing;
error = FT_THROW( Name_Table_Missing );
goto Exit;
}
@ -1235,7 +1235,7 @@
if ( face->gasp.version >= 2 )
{
face->gasp.numRanges = 0;
error = SFNT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* Load the metrics tables common to TTF and OTF fonts (body). */
/* */
/* Copyright 2006-2009, 2011-2012 by */
/* Copyright 2006-2009, 2011-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -167,8 +167,8 @@
/* Adobe simply ignores this problem. So we shall do the same. */
#if 0
error = vertical ? SFNT_Err_Invalid_Vert_Metrics
: SFNT_Err_Invalid_Horiz_Metrics;
error = vertical ? FT_THROW( Invalid_Vert_Metrics )
: FT_THROW( Invalid_Horiz_Metrics );
goto Exit;
#else
num_shorts = 0;

View File

@ -5,7 +5,7 @@
/* Postcript name table processing for TrueType and OpenType fonts */
/* (body). */
/* */
/* Copyright 1996-2001, 2002, 2003, 2006, 2007, 2008, 2009, 2010 by */
/* Copyright 1996-2003, 2006-2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -178,7 +178,7 @@
if ( num_glyphs > face->max_profile.numGlyphs )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -325,7 +325,7 @@
/* check the number of glyphs */
if ( num_glyphs > face->max_profile.numGlyphs || num_glyphs > 258 )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -345,7 +345,7 @@
if ( idx < 0 || idx > num_glyphs )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
}
@ -402,7 +402,7 @@
else if ( format == 0x00028000L )
error = load_format_25( face, stream, post_limit );
else
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
face->postscript_names.loaded = 1;
@ -488,15 +488,15 @@
if ( !face )
return SFNT_Err_Invalid_Face_Handle;
return FT_THROW( Invalid_Face_Handle );
if ( idx >= (FT_UInt)face->max_profile.numGlyphs )
return SFNT_Err_Invalid_Glyph_Index;
return FT_THROW( Invalid_Glyph_Index );
#ifdef FT_CONFIG_OPTION_POSTSCRIPT_NAMES
psnames = (FT_Service_PsCMaps)face->psnames;
if ( !psnames )
return SFNT_Err_Unimplemented_Feature;
return FT_THROW( Unimplemented_Feature );
#endif
names = &face->postscript_names;

View File

@ -4,8 +4,7 @@
/* */
/* TrueType and OpenType embedded bitmap support (body). */
/* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */
/* 2010 by */
/* Copyright 1996-2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -353,7 +352,7 @@
if ( range->last_glyph < range->first_glyph )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -390,7 +389,7 @@
break;
default:
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
Exit:
@ -496,7 +495,7 @@
num_strikes >= 0x10000L )
{
FT_ERROR(( "tt_face_load_sbit_strikes: invalid table version\n" ));
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -662,7 +661,7 @@
if ( strike_index >= face->num_sbit_strikes )
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
strike = face->sbit_strikes + strike_index;
@ -782,7 +781,7 @@
*arange = 0;
*aglyph_offset = 0;
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
@ -847,7 +846,7 @@
*astrike = 0;
*aglyph_offset = 0;
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
@ -942,7 +941,7 @@
if ( range->index_format == 2 || range->index_format == 5 )
*metrics = range->metrics;
else
return SFNT_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
}
Exit:
@ -1171,7 +1170,7 @@
if ( x_offset < 0 || x_offset + metrics->width > map->width ||
y_offset < 0 || y_offset + metrics->height > map->rows )
{
error = SFNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1221,7 +1220,7 @@
break;
default: /* invalid format */
return SFNT_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
}
/* Now read data and draw glyph into target pixmap */
@ -1301,7 +1300,7 @@
break;
default:
return SFNT_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
}
size = map->rows * map->pitch;
@ -1328,7 +1327,7 @@
case 8: /* compound format */
if ( FT_STREAM_SKIP( 1L ) )
{
error = SFNT_Err_Invalid_Stream_Skip;
error = FT_THROW( Invalid_Stream_Skip );
goto Exit;
}
/* fallthrough */
@ -1337,7 +1336,7 @@
break;
default: /* invalid image format */
return SFNT_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
}
/* All right, we have a compound format. First of all, read */

View File

@ -63,7 +63,7 @@
if ( table_size < 8 )
{
FT_ERROR(( "tt_face_load_sbit_strikes: table too short\n" ));
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -81,7 +81,7 @@
if ( version != 0x00020000UL || num_strikes >= 0x10000UL )
{
FT_ERROR(( "tt_face_load_sbit_strikes: invalid table version\n" ));
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -136,7 +136,7 @@
if ( strike_index >= (FT_ULong)face->sbit_num_strikes )
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
strike = face->sbit_table + 8 + strike_index * 48;
@ -216,7 +216,7 @@
if ( 8 + 48 * strike_index + 3 * 4 + 34 + 1 > face->sbit_table_size )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -231,7 +231,7 @@
if ( decoder->strike_index_array > face->sbit_table_size ||
decoder->strike_index_array + 8 * decoder->strike_index_count >
face->sbit_table_size )
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
Exit:
@ -257,7 +257,7 @@
if ( !decoder->metrics_loaded )
{
error = SFNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -290,7 +290,7 @@
break;
default:
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -348,7 +348,7 @@
return SFNT_Err_Ok;
Fail:
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
@ -401,13 +401,13 @@
if ( x_pos < 0 || x_pos + width > bit_width ||
y_pos < 0 || y_pos + height > bit_height )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
if ( p + ( ( line_bits + 7 ) >> 3 ) * height > limit )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -542,13 +542,13 @@
if ( x_pos < 0 || x_pos + width > bit_width ||
y_pos < 0 || y_pos + height > bit_height )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
if ( p + ( ( line_bits * height + 7 ) >> 3 ) > limit )
{
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -690,7 +690,7 @@
return error;
Fail:
error = SFNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -713,7 +713,7 @@
/* seek into the EBDT table now */
if ( glyph_start + glyph_size > decoder->ebdt_size )
{
error = SFNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -972,10 +972,10 @@
y_pos );
Failure:
return SFNT_Err_Invalid_Table;
return FT_THROW( Invalid_Table );
NoBitmap:
return SFNT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}

View File

@ -4,7 +4,7 @@
/* */
/* A new `perfect' anti-aliasing renderer (body). */
/* */
/* Copyright 2000-2003, 2005-2012 by */
/* Copyright 2000-2003, 2005-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -94,6 +94,11 @@
#ifdef _STANDALONE_
/* Auxiliary macros for token concatenation. */
#define FT_ERR_XCAT( x, y ) x ## y
#define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y )
/* define this to dump debugging information */
/* #define FT_DEBUG_LEVEL_TRACE */
@ -154,6 +159,21 @@ typedef ptrdiff_t FT_PtrDist;
va_end( ap );
}
/* empty function useful for setting a breakpoint to catch errors */
int
FT_Throw( int error,
int line,
const char* file )
{
FT_UNUSED( error );
FT_UNUSED( line );
FT_UNUSED( file );
return 0;
}
/* we don't handle tracing levels in stand-alone mode; */
#ifndef FT_TRACE5
#define FT_TRACE5( varformat ) FT_Message varformat
@ -165,11 +185,19 @@ typedef ptrdiff_t FT_PtrDist;
#define FT_ERROR( varformat ) FT_Message varformat
#endif
#define FT_THROW( e ) \
( FT_Throw( FT_ERR_CAT( ErrRaster, e ), \
__LINE__, \
__FILE__ ) | \
FT_ERR_CAT( ErrRaster, e ) )
#else /* !FT_DEBUG_LEVEL_TRACE */
#define FT_TRACE5( x ) do { } while ( 0 ) /* nothing */
#define FT_TRACE7( x ) do { } while ( 0 ) /* nothing */
#define FT_ERROR( x ) do { } while ( 0 ) /* nothing */
#define FT_THROW( e ) FT_ERR_CAT( ErrRaster_, e )
#endif /* !FT_DEBUG_LEVEL_TRACE */
@ -202,6 +230,7 @@ typedef ptrdiff_t FT_PtrDist;
raster_done_ \
};
#else /* !_STANDALONE_ */
@ -215,13 +244,14 @@ typedef ptrdiff_t FT_PtrDist;
#include "ftspic.h"
#define ErrRaster_Invalid_Mode Smooth_Err_Cannot_Render_Glyph
#define ErrRaster_Invalid_Outline Smooth_Err_Invalid_Outline
#define Smooth_Err_Invalid_Mode Smooth_Err_Cannot_Render_Glyph
#define Smooth_Err_Memory_Overflow Smooth_Err_Out_Of_Memory
#define ErrRaster_Memory_Overflow Smooth_Err_Out_Of_Memory
#define ErrRaster_Invalid_Argument Smooth_Err_Invalid_Argument
#endif /* !_STANDALONE_ */
#ifndef FT_MEM_SET
#define FT_MEM_SET( d, s, c ) ft_memset( d, s, c )
#endif
@ -1486,7 +1516,7 @@ typedef ptrdiff_t FT_PtrDist;
if ( !outline || !func_interface )
return ErrRaster_Invalid_Argument;
return FT_THROW( Invalid_Argument );
shift = func_interface->shift;
delta = func_interface->delta;
@ -1699,7 +1729,7 @@ typedef ptrdiff_t FT_PtrDist;
return error;
Invalid_Outline:
return ErrRaster_Invalid_Outline;
return FT_THROW( Invalid_Outline );
}
#endif /* _STANDALONE_ */
@ -1737,7 +1767,7 @@ typedef ptrdiff_t FT_PtrDist;
gray_record_cell( RAS_VAR );
}
else
error = ErrRaster_Memory_Overflow;
error = FT_THROW( Memory_Overflow );
return error;
}
@ -1890,21 +1920,21 @@ typedef ptrdiff_t FT_PtrDist;
if ( !raster || !raster->buffer || !raster->buffer_size )
return ErrRaster_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( !outline )
return ErrRaster_Invalid_Outline;
return FT_THROW( Invalid_Outline );
/* return immediately if the outline is empty */
if ( outline->n_points == 0 || outline->n_contours <= 0 )
return 0;
if ( !outline->contours || !outline->points )
return ErrRaster_Invalid_Outline;
return FT_THROW( Invalid_Outline );
if ( outline->n_points !=
outline->contours[outline->n_contours - 1] + 1 )
return ErrRaster_Invalid_Outline;
return FT_THROW( Invalid_Outline );
worker = raster->worker;
@ -1912,19 +1942,19 @@ typedef ptrdiff_t FT_PtrDist;
if ( !( params->flags & FT_RASTER_FLAG_DIRECT ) )
{
if ( !target_map )
return ErrRaster_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* nothing to do */
if ( !target_map->width || !target_map->rows )
return 0;
if ( !target_map->buffer )
return ErrRaster_Invalid_Argument;
return FT_THROW( Invalid_Argument );
}
/* this version does not support monochrome rendering */
if ( !( params->flags & FT_RASTER_FLAG_AA ) )
return ErrRaster_Invalid_Mode;
return FT_THROW( Invalid_Mode );
/* compute clipping box */
if ( !( params->flags & FT_RASTER_FLAG_DIRECT ) )

View File

@ -4,7 +4,7 @@
/* */
/* Anti-aliasing renderer interface (body). */
/* */
/* Copyright 2000-2006, 2009-2012 by */
/* Copyright 2000-2006, 2009-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -66,7 +66,7 @@
if ( slot->format != render->glyph_format )
{
error = Smooth_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -125,14 +125,14 @@
/* check glyph image format */
if ( slot->format != render->glyph_format )
{
error = Smooth_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
/* check mode */
if ( mode != required_mode )
{
error = Smooth_Err_Cannot_Render_Glyph;
error = FT_THROW( Cannot_Render_Glyph );
goto Exit;
}
@ -158,7 +158,7 @@
FT_ERROR(( "ft_smooth_render_generic: glyph too large:"
" xMin = %d, xMax = %d\n",
cbox.xMin >> 6, cbox.xMax >> 6 ));
error = Smooth_Err_Raster_Overflow;
error = FT_THROW( Raster_Overflow );
goto Exit;
}
else
@ -169,7 +169,7 @@
FT_ERROR(( "ft_smooth_render_generic: glyph too large:"
" yMin = %d, yMax = %d\n",
cbox.yMin >> 6, cbox.yMax >> 6 ));
error = Smooth_Err_Raster_Overflow;
error = FT_THROW( Raster_Overflow );
goto Exit;
}
else
@ -239,7 +239,7 @@
{
FT_ERROR(( "ft_smooth_render_generic: glyph too large: %u x %u\n",
width, height ));
error = Smooth_Err_Raster_Overflow;
error = FT_THROW( Raster_Overflow );
goto Exit;
}
@ -373,7 +373,7 @@
*/
if ( x_left > FT_INT_MAX || y_top > FT_INT_MAX )
{
error = Smooth_Err_Invalid_Pixel_Size;
error = FT_THROW( Invalid_Pixel_Size );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* TrueType font driver implementation (body). */
/* */
/* Copyright 1996-2012 by */
/* Copyright 1996-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -294,13 +294,13 @@
if ( !slot )
return TT_Err_Invalid_Slot_Handle;
return FT_THROW( Invalid_Slot_Handle );
if ( !size )
return TT_Err_Invalid_Size_Handle;
return FT_THROW( Invalid_Size_Handle );
if ( !face )
return TT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
#ifdef FT_CONFIG_OPTION_INCREMENTAL
if ( glyph_index >= (FT_UInt)face->num_glyphs &&
@ -308,7 +308,7 @@
#else
if ( glyph_index >= (FT_UInt)face->num_glyphs )
#endif
return TT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
if ( load_flags & FT_LOAD_NO_HINTING )
{

View File

@ -314,7 +314,7 @@
if ( p + 10 > limit )
return TT_Err_Invalid_Outline;
return FT_THROW( Invalid_Outline );
loader->n_contours = FT_NEXT_SHORT( p );
@ -415,14 +415,14 @@
{
FT_TRACE0(( "TT_Load_Simple_Glyph: too many instructions (%d)\n",
n_ins ));
error = TT_Err_Too_Many_Hints;
error = FT_THROW( Too_Many_Hints );
goto Fail;
}
if ( ( limit - p ) < n_ins )
{
FT_TRACE0(( "TT_Load_Simple_Glyph: instruction count mismatch\n" ));
error = TT_Err_Too_Many_Hints;
error = FT_THROW( Too_Many_Hints );
goto Fail;
}
@ -552,7 +552,7 @@
return error;
Invalid_Outline:
error = TT_Err_Invalid_Outline;
error = FT_THROW( Invalid_Outline );
goto Fail;
}
@ -673,7 +673,7 @@
return error;
Invalid_Composite:
error = TT_Err_Invalid_Composite;
error = FT_THROW( Invalid_Composite );
goto Fail;
}
@ -1024,7 +1024,7 @@
l += num_base_points;
if ( k >= num_base_points ||
l >= num_points )
return TT_Err_Invalid_Composite;
return FT_THROW( Invalid_Composite );
p1 = gloader->base.outline.points + k;
p2 = gloader->base.outline.points + l;
@ -1187,7 +1187,7 @@
FT_TRACE1(( "TT_Process_Composite_Glyph: "
"too many instructions (%d) for glyph with length %d\n",
n_ins, loader->byte_len ));
return TT_Err_Too_Many_Hints;
return FT_THROW( Too_Many_Hints );
}
tmp = loader->exec->glyphSize;
@ -1280,14 +1280,14 @@
if ( recurse_count > 1 &&
recurse_count > face->max_profile.maxComponentDepth )
{
error = TT_Err_Invalid_Composite;
error = FT_THROW( Invalid_Composite );
goto Exit;
}
/* check glyph index */
if ( glyph_index >= (FT_UInt)face->root.num_glyphs )
{
error = TT_Err_Invalid_Glyph_Index;
error = FT_THROW( Invalid_Glyph_Index );
goto Exit;
}
@ -1351,7 +1351,7 @@
#endif /* FT_CONFIG_OPTION_INCREMENTAL */
{
FT_TRACE2(( "no `glyf' table but non-zero `loca' entry\n" ));
error = TT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -1632,7 +1632,7 @@
else
{
/* invalid composite count (negative but not -1) */
error = TT_Err_Invalid_Outline;
error = FT_THROW( Invalid_Outline );
goto Exit;
}
@ -1933,7 +1933,7 @@
exec = size->debug ? size->context
: ( (TT_Driver)FT_FACE_DRIVER( face ) )->context;
if ( !exec )
return TT_Err_Could_Not_Find_Context;
return FT_THROW( Could_Not_Find_Context );
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
@ -2076,7 +2076,7 @@
FT_Error error = face->goto_table( face, TTAG_glyf, stream, 0 );
if ( error == TT_Err_Table_Missing )
if ( FT_ERROR_BASE( error ) == FT_Err_Table_Missing )
loader->glyf_offset = 0;
else if ( error )
{
@ -2177,10 +2177,10 @@
/* if FT_LOAD_NO_SCALE is not set, `ttmetrics' must be valid */
if ( !( load_flags & FT_LOAD_NO_SCALE ) && !size->ttmetrics.valid )
return TT_Err_Invalid_Size_Handle;
return FT_THROW( Invalid_Size_Handle );
if ( load_flags & FT_LOAD_SBITS_ONLY )
return TT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
error = tt_loader_init( &loader, size, glyph, load_flags, FALSE );
if ( error )

View File

@ -4,7 +4,7 @@
/* */
/* TrueType GX Font Variation loader */
/* */
/* Copyright 2004-2012 by */
/* Copyright 2004-2013 by */
/* David Turner, Robert Wilhelm, Werner Lemberg, and George Williams. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -412,7 +412,7 @@
if ( gvar_head.version != (FT_Long)0x00010000L ||
gvar_head.axisCount != (FT_UShort)blend->mmvar->num_axis )
{
error = TT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -681,7 +681,7 @@
fvar_head.offsetToData + fvar_head.axisCount * 20U +
fvar_head.instanceCount * fvar_head.instanceSize > table_len )
{
error = TT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
@ -875,14 +875,14 @@
if ( num_coords != mmvar->num_axis )
{
error = TT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
for ( i = 0; i < num_coords; ++i )
if ( coords[i] < -0x00010000L || coords[i] > 0x00010000L )
{
error = TT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1004,7 +1004,7 @@
if ( num_coords != mmvar->num_axis )
{
error = TT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1020,7 +1020,7 @@
{
if ( coords[i] > a->maximum || coords[i] < a->minimum )
{
error = TT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1323,7 +1323,7 @@
if ( !face->doblend || blend == NULL )
return TT_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
/* to be freed by the caller */
if ( FT_NEW_ARRAY( delta_xy, n_points ) )
@ -1383,7 +1383,7 @@
}
else if ( ( tupleIndex & GX_TI_TUPLE_INDEX_MASK ) >= blend->tuplecount )
{
error = TT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Fail3;
}
else

View File

@ -1699,7 +1699,7 @@
if ( aRange < 1 || aRange > 3 )
{
CUR.error = TT_Err_Bad_Argument;
CUR.error = FT_THROW( Bad_Argument );
return FAILURE;
}
@ -1707,7 +1707,7 @@
if ( range->base == NULL ) /* invalid coderange */
{
CUR.error = TT_Err_Invalid_CodeRange;
CUR.error = FT_THROW( Invalid_CodeRange );
return FAILURE;
}
@ -1717,7 +1717,7 @@
if ( aIP > range->size )
{
CUR.error = TT_Err_Code_Overflow;
CUR.error = FT_THROW( Code_Overflow );
return FAILURE;
}
@ -2670,7 +2670,7 @@
BOUNDS( aIdx2, CUR.zp1.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return FAILURE;
}
@ -2926,10 +2926,10 @@
CUR.func_round = (TT_Round_Func)Round_Super_45;
#define DO_SLOOP \
if ( args[0] < 0 ) \
CUR.error = TT_Err_Bad_Argument; \
else \
#define DO_SLOOP \
if ( args[0] < 0 ) \
CUR.error = FT_THROW( Bad_Argument ); \
else \
CUR.GS.loop = args[0];
@ -3011,21 +3011,21 @@
args[0] = CUR.top;
#define DO_CINDEX \
{ \
FT_Long L; \
\
\
L = args[0]; \
\
if ( L <= 0 || L > CUR.args ) \
{ \
if ( CUR.pedantic_hinting ) \
CUR.error = TT_Err_Invalid_Reference; \
args[0] = 0; \
} \
else \
args[0] = CUR.stack[CUR.args - L]; \
#define DO_CINDEX \
{ \
FT_Long L; \
\
\
L = args[0]; \
\
if ( L <= 0 || L > CUR.args ) \
{ \
if ( CUR.pedantic_hinting ) \
CUR.error = FT_THROW( Invalid_Reference ); \
args[0] = 0; \
} \
else \
args[0] = CUR.stack[CUR.args - L]; \
}
@ -3033,24 +3033,24 @@
if ( args[1] != 0 ) \
{ \
if ( args[0] == 0 && CUR.args == 0 ) \
CUR.error = TT_Err_Bad_Argument; \
CUR.error = FT_THROW( Bad_Argument ); \
CUR.IP += args[0]; \
if ( CUR.IP < 0 || \
( CUR.callTop > 0 && \
CUR.IP > CUR.callStack[CUR.callTop - 1].Cur_End ) ) \
CUR.error = TT_Err_Bad_Argument; \
CUR.error = FT_THROW( Bad_Argument ); \
CUR.step_ins = FALSE; \
}
#define DO_JMPR \
if ( args[0] == 0 && CUR.args == 0 ) \
CUR.error = TT_Err_Bad_Argument; \
CUR.error = FT_THROW( Bad_Argument ); \
CUR.IP += args[0]; \
if ( CUR.IP < 0 || \
( CUR.callTop > 0 && \
CUR.IP > CUR.callStack[CUR.callTop - 1].Cur_End ) ) \
CUR.error = TT_Err_Bad_Argument; \
CUR.error = FT_THROW( Bad_Argument ); \
CUR.step_ins = FALSE;
@ -3058,12 +3058,12 @@
if ( args[1] == 0 ) \
{ \
if ( args[0] == 0 && CUR.args == 0 ) \
CUR.error = TT_Err_Bad_Argument; \
CUR.error = FT_THROW( Bad_Argument ); \
CUR.IP += args[0]; \
if ( CUR.IP < 0 || \
( CUR.callTop > 0 && \
CUR.IP > CUR.callStack[CUR.callTop - 1].Cur_End ) ) \
CUR.error = TT_Err_Bad_Argument; \
CUR.error = FT_THROW( Bad_Argument ); \
CUR.step_ins = FALSE; \
}
@ -3122,7 +3122,7 @@
#define DO_DIV \
if ( args[1] == 0 ) \
CUR.error = TT_Err_Divide_By_Zero; \
CUR.error = FT_THROW( Divide_By_Zero ); \
else \
args[0] = FT_MulDiv_No_Round( args[0], 64L, args[1] );
@ -3276,8 +3276,8 @@
}
#define DO_DEBUG \
CUR.error = TT_Err_Debug_OpCode;
#define DO_DEBUG \
CUR.error = FT_THROW( Debug_OpCode );
#define DO_ROUND \
@ -3305,10 +3305,10 @@
#undef ARRAY_BOUND_ERROR
#define ARRAY_BOUND_ERROR \
{ \
CUR.error = TT_Err_Invalid_Reference; \
return; \
#define ARRAY_BOUND_ERROR \
{ \
CUR.error = FT_THROW( Invalid_Reference ); \
return; \
}
@ -4287,7 +4287,7 @@
if ( L <= 0 || L > CUR.args )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
}
else
{
@ -4357,7 +4357,7 @@
}
Fail_Overflow:
CUR.error = TT_Err_Code_Overflow;
CUR.error = FT_THROW( Code_Overflow );
return FAILURE;
}
@ -4568,7 +4568,7 @@
/* check that there is enough room for new functions */
if ( CUR.numFDefs >= CUR.maxFDefs )
{
CUR.error = TT_Err_Too_Many_Function_Defs;
CUR.error = FT_THROW( Too_Many_Function_Defs );
return;
}
CUR.numFDefs++;
@ -4578,7 +4578,7 @@
/* func # must be within unsigned 16-bit integer */
if ( n > 0xFFFFU )
{
CUR.error = TT_Err_Too_Many_Function_Defs;
CUR.error = FT_THROW( Too_Many_Function_Defs );
return;
}
@ -4704,7 +4704,7 @@
{
case 0x89: /* IDEF */
case 0x2C: /* FDEF */
CUR.error = TT_Err_Nested_DEFS;
CUR.error = FT_THROW( Nested_DEFS );
return;
case 0x2D: /* ENDF */
@ -4731,7 +4731,7 @@
if ( CUR.callTop <= 0 ) /* We encountered an ENDF without a call */
{
CUR.error = TT_Err_ENDF_In_Exec_Stream;
CUR.error = FT_THROW( ENDF_In_Exec_Stream );
return;
}
@ -4820,7 +4820,7 @@
/* check the call stack */
if ( CUR.callTop >= CUR.callSize )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
return;
}
@ -4846,7 +4846,7 @@
return;
Fail:
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
}
@ -4906,7 +4906,7 @@
/* check stack */
if ( CUR.callTop >= CUR.callSize )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
return;
}
@ -4934,7 +4934,7 @@
return;
Fail:
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
}
@ -4965,7 +4965,7 @@
/* check that there is enough room for a new instruction */
if ( CUR.numIDefs >= CUR.maxIDefs )
{
CUR.error = TT_Err_Too_Many_Instruction_Defs;
CUR.error = FT_THROW( Too_Many_Instruction_Defs );
return;
}
CUR.numIDefs++;
@ -4974,7 +4974,7 @@
/* opcode must be unsigned 8-bit integer */
if ( 0 > args[0] || args[0] > 0x00FF )
{
CUR.error = TT_Err_Too_Many_Instruction_Defs;
CUR.error = FT_THROW( Too_Many_Instruction_Defs );
return;
}
@ -4995,7 +4995,7 @@
{
case 0x89: /* IDEF */
case 0x2C: /* FDEF */
CUR.error = TT_Err_Nested_DEFS;
CUR.error = FT_THROW( Nested_DEFS );
return;
case 0x2D: /* ENDF */
return;
@ -5029,7 +5029,7 @@
if ( BOUNDS( L, CUR.stackSize + 1 - CUR.top ) )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
return;
}
@ -5056,7 +5056,7 @@
if ( BOUNDS( L, CUR.stackSize + 1 - CUR.top ) )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
return;
}
@ -5086,7 +5086,7 @@
if ( BOUNDS( L, CUR.stackSize + 1 - CUR.top ) )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
return;
}
@ -5111,7 +5111,7 @@
if ( BOUNDS( L, CUR.stackSize + 1 - CUR.top ) )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
return;
}
@ -5154,7 +5154,7 @@
if ( BOUNDSL( L, CUR.zp2.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
R = 0;
}
else
@ -5191,7 +5191,7 @@
if ( BOUNDS( L, CUR.zp2.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5235,7 +5235,7 @@
BOUNDS( K, CUR.zp1.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
D = 0;
}
else
@ -5311,7 +5311,7 @@
BOUNDS( p1, CUR.zp2.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5389,7 +5389,7 @@
default:
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5418,7 +5418,7 @@
default:
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5447,7 +5447,7 @@
default:
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5476,7 +5476,7 @@
default:
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5507,7 +5507,7 @@
if ( K < 1 || K > 2 )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5605,7 +5605,7 @@
if ( CUR.top < CUR.GS.loop )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Too_Few_Arguments;
CUR.error = FT_THROW( Too_Few_Arguments );
goto Fail;
}
@ -5619,7 +5619,7 @@
{
if ( CUR.pedantic_hinting )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
}
@ -5654,7 +5654,7 @@
BOUNDS( L, CUR.pts.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5682,7 +5682,7 @@
BOUNDS( L, CUR.pts.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5716,7 +5716,7 @@
if ( BOUNDS( p, zp.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
*refp = 0;
return FAILURE;
}
@ -5819,7 +5819,7 @@
if ( CUR.top < CUR.GS.loop )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -5835,7 +5835,7 @@
{
if ( CUR.pedantic_hinting )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
}
@ -5878,7 +5878,7 @@
if ( BOUNDS( contour, bounds ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5926,7 +5926,7 @@
if ( BOUNDS( args[0], 2 ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -5972,7 +5972,7 @@
if ( CUR.top < CUR.GS.loop + 1 )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -6007,7 +6007,7 @@
{
if ( CUR.pedantic_hinting )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
}
@ -6118,7 +6118,7 @@
BOUNDS( CUR.GS.rp0, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -6171,7 +6171,7 @@
if ( BOUNDS( point, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -6231,7 +6231,7 @@
BOUNDSL( cvtEntry, CUR.cvtSize ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -6333,7 +6333,7 @@
BOUNDS( CUR.GS.rp0, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -6481,7 +6481,7 @@
BOUNDS( CUR.GS.rp0, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -6685,7 +6685,7 @@
CUR.iup_called &&
( CUR.sph_tweak_flags & SPH_TWEAK_NO_ALIGNRP_AFTER_IUP ) )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */
@ -6694,7 +6694,7 @@
BOUNDS( CUR.GS.rp0, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -6708,7 +6708,7 @@
{
if ( CUR.pedantic_hinting )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
}
@ -6767,7 +6767,7 @@
BOUNDS( point, CUR.zp2.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -6843,7 +6843,7 @@
BOUNDS( p2, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -6878,7 +6878,7 @@
if ( CUR.top < CUR.GS.loop )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -6892,7 +6892,7 @@
if ( BOUNDS( CUR.GS.rp1, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto Fail;
}
@ -6948,7 +6948,7 @@
{
if ( CUR.pedantic_hinting )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
continue;
@ -7022,7 +7022,7 @@
if ( BOUNDS( point, CUR.zp0.n_points ) )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
@ -7304,7 +7304,7 @@
if ( CUR.args < n )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Too_Few_Arguments;
CUR.error = FT_THROW( Too_Few_Arguments );
n = CUR.args;
}
@ -7322,7 +7322,7 @@
if ( CUR.args < 2 )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Too_Few_Arguments;
CUR.error = FT_THROW( Too_Few_Arguments );
CUR.args = 0;
goto Fail;
}
@ -7431,7 +7431,7 @@
}
else
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
}
Fail:
@ -7463,7 +7463,7 @@
if ( CUR.args < n )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Too_Few_Arguments;
CUR.error = FT_THROW( Too_Few_Arguments );
n = CUR.args;
}
@ -7480,7 +7480,7 @@
if ( CUR.args < 2 )
{
if ( CUR.pedantic_hinting )
CUR.error = TT_Err_Too_Few_Arguments;
CUR.error = FT_THROW( Too_Few_Arguments );
CUR.args = 0;
goto Fail;
}
@ -7494,7 +7494,7 @@
{
if ( CUR.pedantic_hinting )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
return;
}
}
@ -7684,7 +7684,7 @@
if ( CUR.callTop >= CUR.callSize )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
return;
}
@ -7703,7 +7703,7 @@
}
}
CUR.error = TT_Err_Invalid_Opcode;
CUR.error = FT_THROW( Invalid_Opcode );
}
@ -8092,7 +8092,7 @@
if ( CUR.pedantic_hinting )
{
CUR.error = TT_Err_Too_Few_Arguments;
CUR.error = FT_THROW( Too_Few_Arguments );
goto LErrorLabel_;
}
@ -8109,7 +8109,7 @@
/* statement. */
if ( CUR.new_top > CUR.stackSize )
{
CUR.error = TT_Err_Stack_Overflow;
CUR.error = FT_THROW( Stack_Overflow );
goto LErrorLabel_;
}
@ -8397,7 +8397,7 @@
break;
Set_Invalid_Ref:
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
break;
case 0x43: /* RS */
@ -8712,7 +8712,7 @@
if ( CUR.callTop >= CUR.callSize )
{
CUR.error = TT_Err_Invalid_Reference;
CUR.error = FT_THROW( Invalid_Reference );
goto LErrorLabel_;
}
@ -8732,7 +8732,7 @@
}
}
CUR.error = TT_Err_Invalid_Opcode;
CUR.error = FT_THROW( Invalid_Opcode );
goto LErrorLabel_;
#if 0
@ -8758,14 +8758,14 @@
/* increment instruction counter and check if we didn't */
/* run this program for too long (e.g. infinite loops). */
if ( ++ins_counter > MAX_RUNNABLE_OPCODES )
return TT_Err_Execution_Too_Long;
return FT_THROW( Execution_Too_Long );
LSuiteLabel_:
if ( CUR.IP >= CUR.codeSize )
{
if ( CUR.callTop > 0 )
{
CUR.error = TT_Err_Code_Overflow;
CUR.error = FT_THROW( Code_Overflow );
goto LErrorLabel_;
}
else
@ -8782,7 +8782,7 @@
return TT_Err_Ok;
LErrorCodeOverflow_:
CUR.error = TT_Err_Code_Overflow;
CUR.error = FT_THROW( Code_Overflow );
LErrorLabel_:

View File

@ -521,7 +521,7 @@
if ( !sfnt )
{
FT_ERROR(( "tt_face_init: cannot access `sfnt' module\n" ));
error = TT_Err_Missing_Module;
error = FT_THROW( Missing_Module );
goto Exit;
}
@ -651,7 +651,7 @@
return error;
Bad_Format:
error = TT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -752,7 +752,7 @@
exec = ( (TT_Driver)FT_FACE_DRIVER( face ) )->context;
if ( !exec )
return TT_Err_Could_Not_Find_Context;
return FT_THROW( Could_Not_Find_Context );
TT_Load_Context( exec, face, size );
@ -846,7 +846,7 @@
exec = ( (TT_Driver)FT_FACE_DRIVER( face ) )->context;
if ( !exec )
return TT_Err_Could_Not_Find_Context;
return FT_THROW( Could_Not_Find_Context );
TT_Load_Context( exec, face, size );
@ -1180,7 +1180,7 @@
*metrics = size->root.metrics;
if ( metrics->x_ppem < 1 || metrics->y_ppem < 1 )
return TT_Err_Invalid_PPem;
return FT_THROW( Invalid_PPem );
/* This bit flag, if set, indicates that the ppems must be */
/* rounded to integers. Nearly all TrueType fonts have this bit */
@ -1257,7 +1257,7 @@
if ( !TT_New_Context( driver ) )
return TT_Err_Could_Not_Find_Context;
return FT_THROW( Could_Not_Find_Context );
#else

View File

@ -4,7 +4,7 @@
/* */
/* TrueType-specific tables loader (body). */
/* */
/* Copyright 1996-2002, 2004-2012 by */
/* Copyright 1996-2002, 2004-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -72,7 +72,7 @@
/* it is possible that a font doesn't have a glyf table at all */
/* or its size is zero */
if ( error == TT_Err_Table_Missing )
if ( FT_ERROR_BASE( error ) == TT_Err_Table_Missing )
face->glyf_len = 0;
else if ( error )
goto Exit;
@ -81,7 +81,7 @@
error = face->goto_table( face, TTAG_loca, stream, &table_len );
if ( error )
{
error = TT_Err_Locations_Missing;
error = FT_THROW( Locations_Missing );
goto Exit;
}
@ -92,7 +92,7 @@
if ( table_len >= 0x40000L )
{
FT_TRACE2(( "table too large\n" ));
error = TT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
face->num_locations = table_len >> shift;
@ -104,7 +104,7 @@
if ( table_len >= 0x20000L )
{
FT_TRACE2(( "table too large\n" ));
error = TT_Err_Invalid_Table;
error = FT_THROW( Invalid_Table );
goto Exit;
}
face->num_locations = table_len >> shift;
@ -525,7 +525,7 @@
if ( version != 0 || num_records > 255 || record_size > 0x10001L )
{
error = TT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}

View File

@ -4,7 +4,7 @@
/* */
/* AFM support for Type 1 fonts (body). */
/* */
/* Copyright 1996-2011 by */
/* Copyright 1996-2011, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -18,9 +18,10 @@
#include <ft2build.h>
#include "t1afm.h"
#include "t1errors.h"
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_STREAM_H
#include FT_INTERNAL_POSTSCRIPT_AUX_H
#include "t1errors.h"
/*************************************************************************/
@ -128,7 +129,7 @@
p = start + 99;
if ( p + 2 > limit )
{
error = T1_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
width_table_length = FT_PEEK_USHORT_LE( p );
@ -148,7 +149,7 @@
if ( p + 2 > limit )
{
error = T1_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -156,7 +157,7 @@
p += 2;
if ( p + 4 * fi->NumKernPair > limit )
{
error = T1_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -269,7 +270,7 @@
}
}
if ( error == T1_Err_Unknown_File_Format )
if ( FT_ERROR_BASE( error ) == FT_Err_Unknown_File_Format )
{
FT_Byte* start = stream->cursor;
@ -366,7 +367,7 @@
if ( !fi )
return T1_Err_Invalid_Argument;
return FT_THROW( Invalid_Argument );
for ( i = 0; i < fi->NumTrackKern; i++ )
{

View File

@ -4,7 +4,7 @@
/* */
/* Type 1 Glyph Loader (body). */
/* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by */
/* Copyright 1996-2006, 2008-2010, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -296,7 +296,7 @@
if ( glyph_index >= (FT_UInt)face->root.num_glyphs )
#endif /* FT_CONFIG_OPTION_INCREMENTAL */
{
error = T1_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -182,7 +182,7 @@
return error;
Fail:
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -196,7 +196,7 @@
FT_Error error;
error = T1_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
if ( blend )
{
@ -586,7 +586,7 @@
{
FT_ERROR(( "parse_blend_axis_types: incorrect number of axes: %d\n",
num_axis ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -613,7 +613,7 @@
len = token->limit - token->start;
if ( len == 0 )
{
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -656,7 +656,7 @@
FT_ERROR(( "parse_blend_design_positions:"
" incorrect number of designs: %d\n",
num_designs ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -689,7 +689,7 @@
FT_ERROR(( "parse_blend_design_positions:"
" invalid number of axes: %d\n",
n_axis ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -702,7 +702,7 @@
else if ( n_axis != num_axis )
{
FT_ERROR(( "parse_blend_design_positions: incorrect table\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -752,7 +752,7 @@
{
FT_ERROR(( "parse_blend_design_map: incorrect number of axes: %d\n",
num_axis ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -783,7 +783,7 @@
if ( num_points <= 0 || num_points > T1_MAX_MM_MAP_POINTS )
{
FT_ERROR(( "parse_blend_design_map: incorrect table\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -844,7 +844,7 @@
FT_ERROR(( "parse_weight_vector:"
" incorrect number of designs: %d\n",
num_designs ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -861,7 +861,7 @@
" /BlendDesignPosition and /WeightVector have\n"
" "
" different number of elements\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1082,7 +1082,7 @@
if( !incremental )
{
FT_ERROR(( "read_binary_data: invalid size field\n" ));
parser->root.error = T1_Err_Invalid_File_Format;
parser->root.error = FT_THROW( Invalid_File_Format );
}
return 0;
@ -1109,7 +1109,7 @@
if ( result < 0 )
{
parser->root.error = T1_Err_Invalid_File_Format;
parser->root.error = FT_THROW( Invalid_File_Format );
return;
}
@ -1118,7 +1118,7 @@
if ( temp_scale == 0 )
{
FT_ERROR(( "t1_parse_font_matrix: invalid font matrix\n" ));
parser->root.error = T1_Err_Invalid_File_Format;
parser->root.error = FT_THROW( Invalid_File_Format );
return;
}
@ -1166,7 +1166,7 @@
if ( cur >= limit )
{
FT_ERROR(( "parse_encoding: out of bounds\n" ));
parser->root.error = T1_Err_Invalid_File_Format;
parser->root.error = FT_THROW( Invalid_File_Format );
return;
}
@ -1312,7 +1312,7 @@
/* specification (it might be an encoding for a CID type1 */
/* font, however), so we conclude that this font is NOT a */
/* type1 font. */
parser->root.error = T1_Err_Unknown_File_Format;
parser->root.error = FT_THROW( Unknown_File_Format );
return;
}
}
@ -1375,7 +1375,7 @@
T1_Skip_Spaces ( parser );
if ( parser->root.cursor >= parser->root.limit ||
*parser->root.cursor != ']' )
parser->root.error = T1_Err_Invalid_File_Format;
parser->root.error = FT_THROW( Invalid_File_Format );
return;
}
@ -1454,7 +1454,7 @@
/* least contain a `return'), but we support them anyway */
if ( size < face->type1.private_dict.lenIV )
{
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -1510,7 +1510,7 @@
num_glyphs = (FT_Int)T1_ToInt( parser );
if ( num_glyphs < 0 )
{
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -1601,7 +1601,7 @@
if ( cur + 1 >= limit )
{
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -1641,7 +1641,7 @@
if ( size <= face->type1.private_dict.lenIV )
{
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -1898,7 +1898,7 @@
parser->root.cursor = start_binary;
if ( !read_binary_data( parser, &s, &b, IS_INCREMENTAL ) )
return T1_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
have_integer = 0;
}
@ -1911,7 +1911,7 @@
parser->root.cursor = start_binary;
if ( !read_binary_data( parser, &s, &b, IS_INCREMENTAL ) )
return T1_Err_Invalid_File_Format;
return FT_THROW( Invalid_File_Format );
have_integer = 0;
}
@ -2190,7 +2190,7 @@
if ( !loader.charstrings.init )
{
FT_ERROR(( "T1_Open_Face: no `/CharStrings' array in face\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
loader.charstrings.init = 0;

View File

@ -326,7 +326,7 @@
if ( !psaux )
{
FT_ERROR(( "T1_Face_Init: cannot access `psaux' module\n" ));
error = T1_Err_Missing_Module;
error = FT_THROW( Missing_Module );
goto Exit;
}
@ -348,7 +348,7 @@
if ( face_index > 0 )
{
FT_ERROR(( "T1_Face_Init: invalid face index\n" ));
error = T1_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}

View File

@ -4,7 +4,7 @@
/* */
/* Type 1 parser (body). */
/* */
/* Copyright 1996-2005, 2008, 2009, 2012 by */
/* Copyright 1996-2005, 2008, 2009, 2012, 2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -122,7 +122,7 @@
error = T1_Err_Ok;
if ( ft_memcmp( stream->cursor, header_string, header_length ) != 0 )
error = T1_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
FT_FRAME_EXIT();
}
@ -299,7 +299,7 @@
{
FT_ERROR(( "T1_Get_Private_Dict:"
" invalid private dictionary section\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -355,7 +355,7 @@
{
FT_ERROR(( "T1_Get_Private_Dict:"
" could not find `eexec' keyword\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
}
@ -414,7 +414,7 @@
{
FT_ERROR(( "T1_Get_Private_Dict:"
" `eexec' not properly terminated\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -474,7 +474,7 @@
{
FT_ERROR(( "T1_Get_Private_Dict:"
" invalid private dictionary section\n" ));
error = T1_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}

View File

@ -63,7 +63,7 @@
{
FT_ERROR(( "T42_Open_Face: cannot handle FontType %d\n",
type1->font_type ));
error = T42_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -74,7 +74,7 @@
if ( !loader.charstrings.init )
{
FT_ERROR(( "T42_Open_Face: no charstrings array in face\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
}
loader.charstrings.init = 0;
@ -185,7 +185,7 @@
if ( !psaux )
{
FT_ERROR(( "T42_Face_Init: cannot access `psaux' module\n" ));
error = T42_Err_Missing_Module;
error = FT_THROW( Missing_Module );
goto Exit;
}
@ -204,7 +204,7 @@
if ( face_index > 0 )
{
FT_ERROR(( "T42_Face_Init: invalid face index\n" ));
error = T42_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -347,8 +347,8 @@
charmap.encoding = FT_ENCODING_UNICODE;
error = FT_CMap_New( cmap_classes->unicode, NULL, &charmap, NULL );
if ( error &&
FT_ERROR_BASE( error) != FT_Err_No_Unicode_Glyph_Name )
if ( error &&
FT_ERROR_BASE( error ) != FT_Err_No_Unicode_Glyph_Name )
goto Exit;
error = FT_Err_Ok;
@ -482,7 +482,7 @@
if ( !ttmodule )
{
FT_ERROR(( "T42_Driver_Init: cannot access `truetype' module\n" ));
return T42_Err_Missing_Module;
return FT_THROW( Missing_Module );
}
driver->ttclazz = (FT_Driver_Class)ttmodule->clazz;

View File

@ -4,7 +4,7 @@
/* */
/* Type 42 font parser (body). */
/* */
/* Copyright 2002-2012 by */
/* Copyright 2002-2013 by */
/* Roberto Alameda. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -176,7 +176,7 @@
if ( ft_memcmp( stream->cursor, "%!PS-TrueTypeFont", 17 ) != 0 )
{
FT_TRACE2(( " not a Type42 font\n" ));
error = T42_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
}
FT_FRAME_EXIT();
@ -305,7 +305,7 @@
if ( cur >= limit )
{
FT_ERROR(( "t42_parse_encoding: out of bounds\n" ));
parser->root.error = T42_Err_Invalid_File_Format;
parser->root.error = FT_THROW( Invalid_File_Format );
return;
}
@ -473,7 +473,7 @@
else
{
FT_ERROR(( "t42_parse_encoding: invalid token\n" ));
parser->root.error = T42_Err_Invalid_File_Format;
parser->root.error = FT_THROW( Invalid_File_Format );
}
}
}
@ -526,7 +526,7 @@
if ( parser->root.cursor >= limit || *parser->root.cursor++ != '[' )
{
FT_ERROR(( "t42_parse_sfnts: can't find begin of sfnts vector\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -571,7 +571,7 @@
{
FT_ERROR(( "t42_parse_sfnts: "
"can't handle mixed binary and hex strings\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -579,7 +579,7 @@
if ( string_size < 0 )
{
FT_ERROR(( "t42_parse_sfnts: invalid string size\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -592,7 +592,7 @@
if ( limit - parser->root.cursor < string_size )
{
FT_ERROR(( "t42_parse_sfnts: too many binary data\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
else
@ -602,7 +602,7 @@
if ( !string_buf )
{
FT_ERROR(( "t42_parse_sfnts: invalid data in sfnts array\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -614,7 +614,7 @@
if ( !string_size )
{
FT_ERROR(( "t42_parse_sfnts: invalid string\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -679,7 +679,7 @@
if ( count >= ttf_size )
{
FT_ERROR(( "t42_parse_sfnts: too many binary data\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
face->ttf_data[count++] = string_buf[n];
@ -690,7 +690,7 @@
}
/* if control reaches this point, the format was not valid */
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
Fail:
parser->root.error = error;
@ -726,7 +726,7 @@
if ( parser->root.cursor >= limit )
{
FT_ERROR(( "t42_parse_charstrings: out of bounds\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -768,14 +768,14 @@
else
{
FT_ERROR(( "t42_parse_charstrings: invalid token\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
if ( parser->root.cursor >= limit )
{
FT_ERROR(( "t42_parse_charstrings: out of bounds\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -835,7 +835,7 @@
if ( cur + 1 >= limit )
{
FT_ERROR(( "t42_parse_charstrings: out of bounds\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -866,7 +866,7 @@
if ( parser->root.cursor >= limit )
{
FT_ERROR(( "t42_parse_charstrings: out of bounds\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -889,7 +889,7 @@
if ( !notdef_found )
{
FT_ERROR(( "t42_parse_charstrings: no /.notdef glyph\n" ));
error = T42_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}

View File

@ -4,7 +4,7 @@
/* */
/* FreeType font driver for Windows FNT/FON files */
/* */
/* Copyright 1996-2004, 2006-2012 by */
/* Copyright 1996-2004, 2006-2013 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* Copyright 2003 Huw D M Davies for Codeweavers */
/* Copyright 2007 Dmitry Timoshkov for Codeweavers */
@ -225,7 +225,7 @@
header->version != 0x300 )
{
FT_TRACE2(( " not a Windows FNT file\n" ));
error = FNT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -235,7 +235,7 @@
if ( header->file_size < size )
{
FT_TRACE2(( " not a Windows FNT file\n" ));
error = FNT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -253,7 +253,7 @@
if ( header->file_type & 1 )
{
FT_TRACE2(( "[can't handle vector FNT fonts]\n" ));
error = FNT_Err_Unknown_File_Format;
error = FT_THROW( Unknown_File_Format );
goto Exit;
}
@ -344,7 +344,7 @@
if ( !font_count || !font_offset )
{
FT_TRACE2(( "this file doesn't contain any FNT resources\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -353,7 +353,7 @@
if ( font_count * 118UL > stream->size )
{
FT_TRACE2(( "invalid number of faces\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -361,7 +361,7 @@
if ( face_index >= font_count )
{
error = FNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
else if ( face_index < 0 )
@ -417,7 +417,7 @@
pe32_header.magic32 != 0x10b )
{
FT_TRACE2(( "this file has an invalid PE header\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -440,7 +440,7 @@
}
FT_TRACE2(( "this file doesn't contain any resources\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
Found_rsrc_section:
@ -462,7 +462,7 @@
if ( !(dir_entry1.offset & 0x80000000UL ) /* DataIsDirectory */ )
{
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -486,7 +486,7 @@
if ( !(dir_entry2.offset & 0x80000000UL ) /* DataIsDirectory */ )
{
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -510,7 +510,7 @@
if ( dir_entry2.offset & 0x80000000UL /* DataIsDirectory */ )
{
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -561,13 +561,13 @@
if ( !face->root.num_faces )
{
FT_TRACE2(( "this file doesn't contain any RT_FONT resources\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
if ( face_index >= face->root.num_faces )
{
error = FNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
}
@ -724,7 +724,7 @@
if ( !error )
{
if ( face_index > 0 )
error = FNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
else if ( face_index < 0 )
goto Exit;
}
@ -836,7 +836,7 @@
if ( font->header.last_char < font->header.first_char )
{
FT_TRACE2(( "invalid number of glyphs\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
@ -847,7 +847,7 @@
if ( font->header.face_name_offset >= font->header.file_size )
{
FT_TRACE2(( "invalid family name offset\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Fail;
}
family_size = font->header.file_size - font->header.face_name_offset;
@ -940,7 +940,7 @@
break;
default:
error = FNT_Err_Unimplemented_Feature;
error = FT_THROW( Unimplemented_Feature );
break;
}
@ -971,7 +971,7 @@
if ( !face )
{
error = FNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -980,7 +980,7 @@
if ( !font ||
glyph_index >= (FT_UInt)( FT_FACE( face )->num_glyphs ) )
{
error = FNT_Err_Invalid_Argument;
error = FT_THROW( Invalid_Argument );
goto Exit;
}
@ -1005,7 +1005,7 @@
if ( offset >= font->header.file_size )
{
FT_TRACE2(( "invalid FNT offset\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
@ -1027,7 +1027,7 @@
if ( offset + pitch * bitmap->rows >= font->header.file_size )
{
FT_TRACE2(( "invalid bitmap width\n" ));
error = FNT_Err_Invalid_File_Format;
error = FT_THROW( Invalid_File_Format );
goto Exit;
}