* src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler

warning.
This commit is contained in:
Werner Lemberg 2002-01-03 22:06:13 +00:00
parent c48bf37bda
commit 1a0a97938a
6 changed files with 50 additions and 42 deletions

View File

@ -1,27 +1,32 @@
2002-01-03 Werner Lemberg <wl@gnu.org>
* src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
warning.
2002-01-03 Keith Packard <keithp@keithp.com>
* builds/unix/ftsystem.c (FT_New_Stream): added a fix to ensure that
all FreeType input streams are closed in child processes of a "fork"
on Unix systems. This is important to avoid (potential) access
control issues..
* builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that
all FreeType input streams are closed in child processes of a "fork"
on Unix systems. This is important to avoid (potential) access
control issues.
2002-01-03 David Turner <david@freetype.org>
* src/type1/t1objs.c (T1_Face_Init): fixed a bug that crashed the
library when dealing with certain weird fonts (like "Stalingrad",
in "sadn.pfb". This font has no full font name entry.. )
* src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the
library when dealing with certain weird fonts like "Stalingrad", in
"sadn.pfb" (this font has no full font name entry).
* src/base/ftoutln.c, include/freetype/ftoutln.h: added the
FT_Outline_Check API to check the consistency of outline data
* src/base/ftobjs.c (FT_Load_Glyph): added a call to the new
FT_Outline_Check to ensure that loaded glyphs are valid. This
allows certain fonts like "tt1095m_.ttf" to be loaded even though
it appears they contain really funky glyphs..
there still is a bug there though.. !!
* src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check):
New function to check the consistency of outline data.
* src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to
ensure that loaded glyphs are valid. This allows certain fonts like
"tt1095m_.ttf" to be loaded even though it appears they contain
really funky glyphs.
There still is a bug there, though.
* src/truetype/ttgload.c (load_truetype_glyph): Fix error condition.
2001-12-30 David Turner <david@freetype.org>

View File

@ -223,17 +223,17 @@
return FT_Err_Cannot_Open_Resource;
}
/* here, we ensure that a "fork" will _not_ duplicate */
/* our opened input streams on Unix. This is critical */
/* since it would avoid some (possible) access control */
/* issues and clean up the kernel file table a bit. */
/* Here we ensure that a "fork" will _not_ duplicate */
/* our opened input streams on Unix. This is critical */
/* since it avoids some (possible) access control */
/* issues and cleans up the kernel file table a bit. */
/* */
#ifdef F_SETFD
# ifdef FD_CLOEXEC
ret = fcntl ( file, F_SETFD, FD_CLOEXEC);
# else
ret = fcntl ( file, F_SETFD, 1);
# endif /* FD_CLOEXEC */
#ifdef FD_CLOEXEC
ret = fcntl( file, F_SETFD, FD_CLOEXEC );
#else
ret = fcntl( file, F_SETFD, 1 );
#endif /* FD_CLOEXEC */
#endif /* F_SETFD */
if ( fstat( file, &stat_buf ) < 0 )

View File

@ -53,6 +53,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Translate */
/* FT_Outline_Transform */
/* FT_Outline_Reverse */
/* FT_Outline_Check */
/* */
/* FT_Outline_Get_CBox */
/* FT_Outline_Get_BBox */
@ -184,10 +185,10 @@ FT_BEGIN_HEADER
/* FT_Outline_Check */
/* */
/* <Description> */
/* Check the content of an outline descriptor */
/* Check the contents of an outline descriptor. */
/* */
/* <Input> */
/* outline :: handle to source outline */
/* outline :: A handle to a source outline. */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */

View File

@ -914,7 +914,7 @@
if ( error )
goto Exit;
/* check that the loaded outline is correct !! */
/* check that the loaded outline is correct */
error = FT_Outline_Check( &slot->outline );
if ( error )
goto Exit;
@ -1944,7 +1944,7 @@
FT_Get_Postscript_Name( FT_Face face )
{
const char* result = NULL;
if ( !face )
goto Exit;
@ -2002,19 +2002,19 @@
FT_Activate_Size( FT_Size size )
{
FT_Face face;
if ( size == NULL )
return FT_Err_Bad_Argument;
face = size->face;
if ( face == NULL || face->driver == NULL )
return FT_Err_Bad_Argument;
/* we don't need anything more complex than that; all size objects */
/* are already listed by the face */
face->size = size;
return FT_Err_Ok;
}

View File

@ -299,7 +299,7 @@
/* documentation is in ftoutln.h */
FT_EXPORT_DEF( FT_Error )
FT_Outline_Check( FT_Outline* outline )
{
@ -310,18 +310,19 @@
FT_Int end0, end;
FT_Int n;
/* empty glyph ?? */
/* empty glyph? */
if ( n_points == 0 && n_contours == 0 )
return 0;
/* check point and contour counts */
if ( n_points <= 0 || n_contours <= 0 )
goto Bad;
end0 = -1;
for ( n = 0; n < n_contours; n++ )
{
end = outline->contours[n];
end = outline->contours[n];
/* note that we don't accept empty contours */
if ( end <= end0 || end >= n_points )
@ -329,13 +330,14 @@
end0 = end;
}
if ( end != n_points-1 )
if ( end != n_points - 1 )
goto Bad;
/* XXX: check the that array */
return 0;
}
Bad:
return FT_Err_Invalid_Argument;
}

View File

@ -377,7 +377,7 @@
: (char *)"Regular" );
}
else
root->style_name = "Regular";
root->style_name = (char *)"Regular";
}
else
{