forked from minhngoc25a/freetype2
* t1load.c (parse_blend_axis_types): Fix compiler warning.
* src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta' to prevent infinite loop. * docs/VERSION.DLL: Provide better autoconf snippet to check FreeType version. * src/base/ftobjs.c (open_face): Free `internal' not `face->internal' in case of error to avoid possible segfault. * src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we actually have an outline.
This commit is contained in:
parent
6bd1c6d293
commit
77c34b8264
24
ChangeLog
24
ChangeLog
|
@ -1,3 +1,25 @@
|
||||||
|
2003-05-21 Martin Zinser <zinser@decus.de>
|
||||||
|
|
||||||
|
* t1load.c (parse_blend_axis_types): Fix compiler warning.
|
||||||
|
|
||||||
|
2003-05-21 Weiqi Gao <weiqigao@networkusa.net>
|
||||||
|
|
||||||
|
* src/gzip/ftgzip.c (ft_gzip_file_io): Avoid zero value of `delta'
|
||||||
|
to prevent infinite loop.
|
||||||
|
|
||||||
|
2003-05-21 Lars Clausen <lrclause@cs.uiuc.edu>
|
||||||
|
|
||||||
|
* docs/VERSION.DLL: Provide better autoconf snippet to check
|
||||||
|
FreeType version.
|
||||||
|
|
||||||
|
2003-05-21 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
* src/base/ftobjs.c (open_face): Free `internal' not
|
||||||
|
`face->internal' in case of error to avoid possible segfault.
|
||||||
|
|
||||||
|
* src/pshinter/pshalgo3.c (ps3_hints_apply): Check whether we
|
||||||
|
actually have an outline.
|
||||||
|
|
||||||
2003-05-20 David Chester <davidchester@qmx.net>
|
2003-05-20 David Chester <davidchester@qmx.net>
|
||||||
|
|
||||||
* src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
|
* src/pshinter/pshalgo3.c (ps3_hints_apply): Try to optimize
|
||||||
|
@ -221,7 +243,7 @@
|
||||||
Updated.
|
Updated.
|
||||||
|
|
||||||
* src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
|
* src/gzip/ftgzip.c: C++ doesn't like that the array `inflate_mask'
|
||||||
is declared twice. It is perhaps better to modify the zlip source
|
is declared twice. It is perhaps better to modify the zlib source
|
||||||
files directly instead of this hack.
|
files directly instead of this hack.
|
||||||
(zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
|
(zcalloc, zfree, ft_gzip_stream_close, ft_gzip_stream_io): Add casts
|
||||||
to make build with g++ successful.
|
to make build with g++ successful.
|
||||||
|
|
|
@ -77,22 +77,27 @@ The libtool numbers are a bit inconsistent due to the library's history:
|
||||||
|
|
||||||
Lars Clausen contributed the following autoconf fragment to detect which
|
Lars Clausen contributed the following autoconf fragment to detect which
|
||||||
version of FreeType is installed on a system. This one tests for a
|
version of FreeType is installed on a system. This one tests for a
|
||||||
version that is at least 2.0.9; you should change the last line to check
|
version that is at least 2.0.9; you should change it to check against
|
||||||
against other release numbers.
|
other release numbers.
|
||||||
|
|
||||||
AC_MSG_CHECKING([for version of FreeType])
|
|
||||||
FREETYPE_INCLUDE=`freetype-config --cflags | cut -c3-`
|
AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
|
||||||
FREETYPE_MAJOR=`grep '^#define FREETYPE_MAJOR' \
|
old_CPPFLAGS="$CPPFLAGS"
|
||||||
$FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
|
CPPFLAGS=`freetype-config --cflags`
|
||||||
FREETYPE_MINOR=`grep '^#define FREETYPE_MINOR' \
|
AC_TRY_CPP([
|
||||||
$FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
|
#include <freetype/freetype.h>
|
||||||
FREETYPE_PATCH=`grep '^#define FREETYPE_PATCH' \
|
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
|
||||||
$FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
|
#error Freetype version too low.
|
||||||
FREETYPE_VERSION=`echo | awk "BEGIN { printf \"%d\", \
|
#endif
|
||||||
($FREETYPE_MAJOR * 1000 + $FREETYPE_MINOR) * 1000 \
|
],[
|
||||||
+ $FREETYPE_PATCH;}"`
|
AC_MSG_RESULT(yes)
|
||||||
AC_MSG_RESULT([$FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH])
|
FREETYPE_LIBS=`freetype-config --libs`
|
||||||
if test "$FREETYPE_VERSION" -ge 2000009; then
|
AC_SUBST(FREETYPE_LIBS)
|
||||||
|
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
|
||||||
|
CPPFLAGS="$old_CPPFLAGS"
|
||||||
|
],[
|
||||||
|
AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
--- end of VERSION.DLL ---
|
--- end of VERSION.DLL ---
|
||||||
|
|
|
@ -159,9 +159,6 @@ FT_BEGIN_HEADER
|
||||||
/* P :: This is the _address_ of a _pointer_ which points to the */
|
/* P :: This is the _address_ of a _pointer_ which points to the */
|
||||||
/* allocated block. It is always set to NULL on exit. */
|
/* allocated block. It is always set to NULL on exit. */
|
||||||
/* */
|
/* */
|
||||||
/* <Return> */
|
|
||||||
/* FreeType error code. 0 means success. */
|
|
||||||
/* */
|
|
||||||
/* <Note> */
|
/* <Note> */
|
||||||
/* If P or *P are NULL, this function should return successfully. */
|
/* If P or *P are NULL, this function should return successfully. */
|
||||||
/* This is a strong convention within all of FreeType and its */
|
/* This is a strong convention within all of FreeType and its */
|
||||||
|
|
|
@ -853,7 +853,7 @@
|
||||||
FT_Face* aface )
|
FT_Face* aface )
|
||||||
{
|
{
|
||||||
FT_Memory memory;
|
FT_Memory memory;
|
||||||
FT_Driver_Class clazz;
|
FT_Driver_Class clazz;
|
||||||
FT_Face face = 0;
|
FT_Face face = 0;
|
||||||
FT_Error error, error2;
|
FT_Error error, error2;
|
||||||
FT_Face_Internal internal;
|
FT_Face_Internal internal;
|
||||||
|
@ -916,7 +916,7 @@
|
||||||
if ( error )
|
if ( error )
|
||||||
{
|
{
|
||||||
clazz->done_face( face );
|
clazz->done_face( face );
|
||||||
FT_FREE( face->internal );
|
FT_FREE( internal );
|
||||||
FT_FREE( face );
|
FT_FREE( face );
|
||||||
*aface = 0;
|
*aface = 0;
|
||||||
}
|
}
|
||||||
|
@ -1136,7 +1136,7 @@
|
||||||
if ( face_index == -1 )
|
if ( face_index == -1 )
|
||||||
face_index = 0;
|
face_index = 0;
|
||||||
if ( face_index != 0 )
|
if ( face_index != 0 )
|
||||||
return FT_Err_Cannot_Open_Resource;
|
return error;
|
||||||
|
|
||||||
if ( FT_ALLOC( offsets, (FT_Long)resource_cnt * sizeof ( FT_Long ) ) )
|
if ( FT_ALLOC( offsets, (FT_Long)resource_cnt * sizeof ( FT_Long ) ) )
|
||||||
return error;
|
return error;
|
||||||
|
|
|
@ -479,6 +479,8 @@
|
||||||
|
|
||||||
|
|
||||||
delta = (FT_ULong)( zip->limit - zip->cursor );
|
delta = (FT_ULong)( zip->limit - zip->cursor );
|
||||||
|
if ( delta == 0 )
|
||||||
|
break;
|
||||||
if ( delta >= count )
|
if ( delta >= count )
|
||||||
delta = count;
|
delta = count;
|
||||||
|
|
||||||
|
|
|
@ -1894,6 +1894,10 @@
|
||||||
FT_Int dimension;
|
FT_Int dimension;
|
||||||
|
|
||||||
|
|
||||||
|
/* something to do? */
|
||||||
|
if ( outline->n_points == 0 || outline->n_contours == 0 )
|
||||||
|
return FT_Err_Ok;
|
||||||
|
|
||||||
#ifdef DEBUG_HINTER
|
#ifdef DEBUG_HINTER
|
||||||
|
|
||||||
memory = globals->memory;
|
memory = globals->memory;
|
||||||
|
|
|
@ -425,7 +425,7 @@
|
||||||
token->start++;
|
token->start++;
|
||||||
|
|
||||||
len = token->limit - token->start;
|
len = token->limit - token->start;
|
||||||
if ( len <= 0 )
|
if ( len == 0 )
|
||||||
{
|
{
|
||||||
error = T1_Err_Invalid_File_Format;
|
error = T1_Err_Invalid_File_Format;
|
||||||
goto Exit;
|
goto Exit;
|
||||||
|
|
Loading…
Reference in New Issue