SHA256
1
0
forked from pool/freetype2

Accepting request 74498 from home:namtrac:branches:M17N

- Update to version 2.4.5
    * A rendering regression  for second-order Bézier curves  has been
      fixed, introduced in 2.4.3.
    * If autohinting  is not  explicitly disabled,  FreeType now  uses
      the autohinter if  a TrueType based font doesn't  contain native
      hints.
    * The load flag FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH  has been made
      redundant and  is simply ignored;  this means that FreeType  now
      ignores the global advance width value in TrueType fonts.
    * `FT_Sfnt_Table_Info' can now return the number of SFNT tables of
       a font.
    * Support for PCF files compressed with bzip2 has been contributed
      by Joel  Klinghed.  To  make this  work, the  OS must  provide a
      bzip2 library.
    * Again some fixes to better handle broken fonts.
    * Some improvements to the B/W rasterizer.
    * Fixes to the cache module to improve robustness.
    * Just  Fill Bugs contributed (experimental) code to compute  blue
      zones for CJK Ideographs, improving the alignment of  horizontal
      stems at the top or bottom edges.
- Dropped the following patches:
    * bnc628213_1797.diff (fixed upstream)
    * bnc641580_CVE-2010-3311.diff (fixed upstream)
    * ft2-stream-compat.diff (only needed for SLE8->SLE9 update)
- Add libbz2-devel to BuildRequires to enable bzip2 support

- Update to version 2.4.5
    * The `ftgrid' demo program  can now display  autohinter segments,
      to be toggled on and off with key `s'.

OBS-URL: https://build.opensuse.org/request/show/74498
OBS-URL: https://build.opensuse.org/package/show/M17N/freetype2?expand=0&rev=45
This commit is contained in:
Takashi Iwai 2011-06-27 07:15:07 +00:00 committed by Git OBS Bridge
parent af8dad143f
commit eb1caa070e
14 changed files with 54 additions and 383 deletions

View File

@ -1,36 +0,0 @@
---
src/cff/cffgload.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
Index: freetype-2.4.2/src/cff/cffgload.c
===================================================================
--- freetype-2.4.2.orig/src/cff/cffgload.c
+++ freetype-2.4.2/src/cff/cffgload.c
@@ -204,7 +204,7 @@
2, /* hsbw */
0,
0,
- 0,
+ 1,
5, /* seac */
4, /* sbw */
2 /* setcurrentpoint */
@@ -2041,6 +2041,9 @@
if ( Rand >= 0x8000L )
Rand++;
+ if ( args - stack >= CFF_MAX_OPERANDS )
+ goto Stack_Overflow;
+
args[0] = Rand;
seed = FT_MulFix( seed, 0x10000L - seed );
if ( seed == 0 )
@@ -2166,6 +2169,8 @@
case cff_op_dup:
FT_TRACE4(( " dup\n" ));
+ if ( args + 1 - stack >= CFF_MAX_OPERANDS )
+ goto Stack_Overflow;
args[1] = args[0];
args += 2;
break;

View File

@ -1,38 +0,0 @@
Index: freetype-2.4.2/src/base/ftstream.c
===================================================================
--- freetype-2.4.2.orig/src/base/ftstream.c
+++ freetype-2.4.2/src/base/ftstream.c
@@ -70,8 +70,16 @@
{
FT_Error error = FT_Err_Ok;
+ /* note that seeking to the first position after the file is valid */
+ if ( pos > stream->size )
+ {
+ FT_ERROR(( "FT_Stream_Seek:"
+ " invalid i/o; pos = 0x%lx, size = 0x%lx\n",
+ pos, stream->size ));
+ error = FT_Err_Invalid_Stream_Operation;
+ }
- if ( stream->read )
+ if ( !error && stream->read )
{
if ( stream->read( stream, pos, 0, 0 ) )
{
@@ -82,15 +90,6 @@
error = FT_Err_Invalid_Stream_Operation;
}
}
- /* note that seeking to the first position after the file is valid */
- else if ( pos > stream->size )
- {
- FT_ERROR(( "FT_Stream_Seek:"
- " invalid i/o; pos = 0x%lx, size = 0x%lx\n",
- pos, stream->size ));
-
- error = FT_Err_Invalid_Stream_Operation;
- }
if ( !error )
stream->pos = pos;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b8281c7dc4d375c6b65d3c6f4808e488a313fab47d7be82aad2c871c8480fef
size 1442053

3
freetype-2.4.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:73e835881b3413df8a0653b046048932794df0cfec9c4dd5adf28f64de445af2
size 1483537

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9205ea8899ae005ceede2c7d4ab6dfac6d669b16a9e4a0d49f90c081bc916ae3
size 104304

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2dc5dcb35a8c7f51ce885fc908c9c9b164ca65727926d9d5c7bff91fad0d3c9c
size 106683

View File

@ -16,6 +16,6 @@
- if test "$enable_shared" = "yes" ; then
- eval "rpath=\"$hardcode_libdir_flag_spec\""
- fi
libs="-lfreetype @LIBZ@ @FT2_EXTRA_LIBS@"
libs="-lfreetype @LIBZ@ @LIBBZ2@ @FT2_EXTRA_LIBS@"
if test "${SYSROOT}$libdir" != "/usr/lib" && test "${SYSROOT}$libdir" != "/usr/lib64"; then
echo -L${SYSROOT}$libdir $libs

View File

@ -1,3 +1,32 @@
-------------------------------------------------------------------
Sat Jun 25 08:37:55 UTC 2011 - idonmez@novell.com
- Update to version 2.4.5
* A rendering regression for second-order Bézier curves has been
fixed, introduced in 2.4.3.
* If autohinting is not explicitly disabled, FreeType now uses
the autohinter if a TrueType based font doesn't contain native
hints.
* The load flag FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH has been made
redundant and is simply ignored; this means that FreeType now
ignores the global advance width value in TrueType fonts.
* `FT_Sfnt_Table_Info' can now return the number of SFNT tables of
a font.
* Support for PCF files compressed with bzip2 has been contributed
by Joel Klinghed. To make this work, the OS must provide a
bzip2 library.
* Again some fixes to better handle broken fonts.
* Some improvements to the B/W rasterizer.
* Fixes to the cache module to improve robustness.
* Just Fill Bugs contributed (experimental) code to compute blue
zones for CJK Ideographs, improving the alignment of horizontal
stems at the top or bottom edges.
- Dropped the following patches:
* bnc628213_1797.diff (fixed upstream)
* bnc641580_CVE-2010-3311.diff (fixed upstream)
* ft2-stream-compat.diff (only needed for SLE8->SLE9 update)
- Add libbz2-devel to BuildRequires to enable bzip2 support
-------------------------------------------------------------------
Mon Feb 28 16:36:35 UTC 2011 - jw@novell.com

View File

@ -19,7 +19,7 @@
Name: freetype2
BuildRequires: pkg-config zlib-devel
BuildRequires: libbz2-devel pkg-config zlib-devel
License: Freetype License (BSD-like). See http://freetype.sourceforge.net/FTL.TXT
Group: System/Libraries
AutoReqProv: on
@ -28,29 +28,19 @@ AutoReqProv: on
Obsoletes: freetype2-64bit
%endif
#
Version: 2.4.4
Version: 2.4.5
Release: 9
Url: http://www.freetype.org
Summary: A TrueType Font Library
# CVS repository:
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype login
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co freetype2
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co ft2demos
Source0: http://download.savannah.gnu.org/releases/freetype/freetype-%{version}.tar.bz2
Source1: http://download.savannah.gnu.org/releases/freetype/freetype-doc-%{version}.tar.bz2
Source3: baselibs.conf
Patch3: freetype2-bitmap-foundry.patch
Patch4: ft2-stream-compat.diff
Patch9: fix-build.patch
Patch10: freetype2-no_rpath.patch
Patch308961: bugzilla-308961-cmex-workaround.patch
Patch200: freetype2-subpixel.patch
Patch201: use_unix.diff
Patch1000: bnc628213_1797.diff
Patch1015: bnc641580_CVE-2010-3311.diff
Source1015: bug-641580_CVE-2010-3311.cff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -91,8 +81,6 @@ It also contains a small tutorial for using that library.
%define enable_subpixel_rendering 0
%setup -q -n freetype-%{version} -a 1
%patch3 -p 1 -b .bitmap-foundry
%patch4 -p 1 -b .ft2-stream-compat
#%patch8 -p 1
%patch9 -p 1
%patch10
%patch308961 -p 1
@ -101,38 +89,17 @@ It also contains a small tutorial for using that library.
%endif
%patch201 -p1
# bnc628213_1797.diff
%patch1000 -p1
# bnc629447_CVE-2010-2805..8.diff
#%patch1001 -p1
#%patch1002 -p1
#%patch1003 -p1
#%patch1004 -p1
# bnc619562_CVE-2010-2497..2541.diff
#%patch1005 -p1
#%patch1006 -p1
#%patch1007 -p1
#%patch1008 -p1
#%patch1009 -p1
#%patch1010 -p1
# bnc633938_CVE-2010-3053.diff
#%patch1013 -p1
# bnc641580_CVE-2010-3311.diff
%patch1015 -p1
find . -name CVS -type d | xargs rm -rf
find . -name ".cvsignore" | xargs rm -f
cp /usr/share/automake*/config.{guess,sub} builds/unix
rm docs/reference/.gitignore
%build
export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing"
%ifarch arm
export CFLAGS="$CFLAGS -std=gnu99"
%endif
ln -s /usr/bin/libtool ./builds/unix/libtool
make setup CFG="--prefix=/usr --libdir=%{_libdir} --with-zlib"
make prefix=/usr libdir=%{_libdir} %{?jobs:-j %jobs}
make prefix=/usr libdir=%{_libdir} %{_smp_mflags}
# build the documentation in the references subdirectory:
# (this needs python and we cannot have python in the BuildRequires of
# a basic package like freetype2, therefore we cannot do it here but we have

View File

@ -1,218 +0,0 @@
---
src/base/ftstream.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 56 insertions(+), 2 deletions(-)
Index: freetype-2.4.2/src/base/ftstream.c
===================================================================
--- freetype-2.4.2.orig/src/base/ftstream.c
+++ freetype-2.4.2/src/base/ftstream.c
@@ -44,6 +44,17 @@
stream->close = 0;
}
+ FT_BASE_DEF( void )
+ FT_New_Memory_Stream( FT_Library, FT_Byte*, FT_ULong, FT_Stream ) __attribute__((weak));
+ FT_BASE_DEF( void )
+ FT_New_Memory_Stream( FT_Library library,
+ FT_Byte* base,
+ FT_ULong size,
+ FT_Stream stream )
+ {
+ stream->memory = library->memory;
+ FT_Stream_OpenMemory( stream, (const FT_Byte*) base, size );
+ }
FT_BASE_DEF( void )
FT_Stream_Close( FT_Stream stream )
@@ -87,6 +98,8 @@
return error;
}
+ FT_BASE_DEF( FT_Error )
+ FT_Seek_Stream(FT_Stream, FT_ULong) __attribute__((weak, alias("FT_Stream_Seek")));
FT_BASE_DEF( FT_Error )
FT_Stream_Skip( FT_Stream stream,
@@ -98,6 +111,8 @@
return FT_Stream_Seek( stream, (FT_ULong)( stream->pos + distance ) );
}
+ FT_BASE_DEF( FT_Error )
+ FT_Skip_Stream(FT_Stream, FT_Long) __attribute__((weak, alias("FT_Stream_Skip")));
FT_BASE_DEF( FT_Long )
FT_Stream_Pos( FT_Stream stream )
@@ -114,6 +129,8 @@
return FT_Stream_ReadAt( stream, stream->pos, buffer, count );
}
+ FT_BASE_DEF( FT_Error )
+ FT_Read_Stream( FT_Stream, FT_Byte*, FT_ULong ) __attribute__((weak, alias("FT_Stream_Read")));
FT_BASE_DEF( FT_Error )
FT_Stream_ReadAt( FT_Stream stream,
@@ -188,6 +205,8 @@
return read_bytes;
}
+ FT_BASE_DEF( FT_Error )
+ FT_Read_Stream_At( FT_Stream, FT_ULong, FT_Byte*, FT_ULong) __attribute__((weak, alias("FT_Stream_ReadAt")));
FT_BASE_DEF( FT_Error )
FT_Stream_ExtractFrame( FT_Stream stream,
@@ -210,7 +229,9 @@
return error;
}
-
+ FT_BASE_DEF( FT_Error )
+ FT_Extract_Frame( FT_Stream, FT_ULong, FT_Byte** ) __attribute__((weak, alias("FT_Stream_ExtractFrame")));
+
FT_BASE_DEF( void )
FT_Stream_ReleaseFrame( FT_Stream stream,
FT_Byte** pbytes )
@@ -229,6 +250,8 @@
*pbytes = 0;
}
+ FT_BASE_DEF( void )
+ FT_Release_Frame( FT_Stream, FT_Byte** ) __attribute__((weak, alias("FT_Stream_ReleaseFrame")));
FT_BASE_DEF( FT_Error )
FT_Stream_EnterFrame( FT_Stream stream,
@@ -307,6 +330,8 @@
return error;
}
+ FT_BASE_DEF( FT_Error )
+ FT_Access_Frame( FT_Stream, FT_ULong ) __attribute__((weak, alias("FT_Stream_EnterFrame")));
FT_BASE_DEF( void )
FT_Stream_ExitFrame( FT_Stream stream )
@@ -337,6 +362,8 @@
stream->limit = 0;
}
+ FT_BASE_DEF( void )
+ FT_Forget_Frame( FT_Stream ) __attribute__((weak, alias("FT_Stream_ExitFrame")));
FT_BASE_DEF( FT_Char )
FT_Stream_GetChar( FT_Stream stream )
@@ -353,6 +380,8 @@
return result;
}
+ FT_BASE_DEF( FT_Char )
+ FT_Get_Char( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetChar")));
FT_BASE_DEF( FT_Short )
FT_Stream_GetShort( FT_Stream stream )
@@ -372,6 +401,8 @@
return result;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Get_Short( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetShort")));
FT_BASE_DEF( FT_Short )
FT_Stream_GetShortLE( FT_Stream stream )
@@ -391,6 +422,8 @@
return result;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Get_ShortLE( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetShortLE")));
FT_BASE_DEF( FT_Long )
FT_Stream_GetOffset( FT_Stream stream )
@@ -409,6 +442,8 @@
return result;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Get_Offset( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetOffset")));
FT_BASE_DEF( FT_Long )
FT_Stream_GetLong( FT_Stream stream )
@@ -427,6 +462,8 @@
return result;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Get_Long( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetLong")));
FT_BASE_DEF( FT_Long )
FT_Stream_GetLongLE( FT_Stream stream )
@@ -445,6 +482,8 @@
return result;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Get_LongLE( FT_Stream ) __attribute__((weak, alias("FT_Stream_GetLongLE")));
FT_BASE_DEF( FT_Char )
FT_Stream_ReadChar( FT_Stream stream,
@@ -482,6 +521,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Char )
+ FT_Read_Char( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadChar")));
FT_BASE_DEF( FT_Short )
FT_Stream_ReadShort( FT_Stream stream,
@@ -529,6 +570,9 @@
return 0;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Read_Short( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadShort")));
+
FT_BASE_DEF( FT_Short )
FT_Stream_ReadShortLE( FT_Stream stream,
@@ -576,6 +620,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Short )
+ FT_Read_ShortLE( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadShortLE")));
FT_BASE_DEF( FT_Long )
FT_Stream_ReadOffset( FT_Stream stream,
@@ -623,6 +669,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Read_Offset( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadOffset")));
FT_BASE_DEF( FT_Long )
FT_Stream_ReadLong( FT_Stream stream,
@@ -670,6 +718,8 @@
return 0;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Read_Long( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadLong")));
FT_BASE_DEF( FT_Long )
FT_Stream_ReadLongLE( FT_Stream stream,
@@ -717,6 +767,9 @@
return 0;
}
+ FT_BASE_DEF( FT_Long )
+ FT_Read_LongLE( FT_Stream, FT_Error* ) __attribute__((weak, alias("FT_Stream_ReadLongLE")));
+
FT_BASE_DEF( FT_Error )
FT_Stream_ReadFields( FT_Stream stream,
@@ -860,5 +913,6 @@
return error;
}
-
+ FT_BASE_DEF( FT_Error )
+ FT_Read_Fields( FT_Stream, const FT_Frame_Field*, void* ) __attribute__((weak, alias("FT_Stream_ReadFields")));
/* END */

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:176091eacbc0a27a420f097ebc997b7d2b96c12143bf3a41d470a66879ca02c4
size 161949

3
ft2demos-2.4.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b305408ef319414b89e387342f440c96736532795272186f02dd0968fb15ae5
size 162976

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Sat Jun 25 08:43:59 UTC 2011 - idonmez@novell.com
- Update to version 2.4.5
* The `ftgrid' demo program can now display autohinter segments,
to be toggled on and off with key `s'.
-------------------------------------------------------------------
Fri Feb 25 12:06:26 UTC 2011 - jw@novell.com

View File

@ -24,31 +24,22 @@ License: GPLv2+
Group: Productivity/Publishing/Other
AutoReqProv: on
Supplements: fonts-config
Version: 2.4.4
Version: 2.4.5
Release: 4
%define freetype_version %{version}
Url: http://www.freetype.org
Summary: Freetype2 Utilities and Demo Programs
# CVS repository:
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype login
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co freetype2
# cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co ft2demos
Source0: http://savannah.nongnu.org/download/freetype/freetype-%{version}.tar.bz2
# Uncomment to save space:
#NoSource: 0
Source1: http://savannah.nongnu.org/download/freetype/ft2demos-%{version}.tar.bz2
Patch4: ft2-stream-compat.diff
Patch9: fix-build.patch
Patch308961: bugzilla-308961-cmex-workaround.patch
Patch50: ft2demos-build-testname.patch
Patch200: freetype2-subpixel.patch
Patch201: use_unix.diff
Patch1000: bnc628213_1797.diff
Source1000: bnc628213_test.otf
Source1004: bnc629447_sigsegv31.ttf
Source1013: bnc633938_badbdf.0
Patch1015: bnc641580_CVE-2010-3311.diff
Source1015: bug-641580_CVE-2010-3311.cff
Source1016: bug-647375_tt2.ttf
@ -60,9 +51,6 @@ Freetype2 utilities and demo programs.
%prep
%define enable_subpixel_rendering 0%{?opensuse_bs}
%setup -n freetype-%{freetype_version} -b 1
%patch4 -p 1 -b .ft2-stream-compat
#%patch5 -p 1
#%patch8 -p 1
%patch9 -p 1
%patch308961 -p 1
pushd ../ft2demos-%{version}
@ -73,38 +61,12 @@ popd
%endif
%patch201 -p1
# bnc628213_1797.diff
%patch1000 -p1
# bnc629447_CVE-2010-2805..8.diff
#%patch1001 -p1
#%patch1002 -p1
#%patch1003 -p1
#%patch1004 -p1
# bnc619562_CVE-2010-2497..2541.diff
#%patch1005 -p1
#%patch1006 -p1
#%patch1007 -p1
#%patch1008 -p1
#%patch1009 -p1
#%patch1010 -p1
pushd ../ft2demos-%{version}
#%patch1011 -p1
#%patch1012 -p1
popd
# bnc633938_CVE-2010-3053.diff
#%patch1013 -p1
# bnc641580_CVE-2010-3311.diff
%patch1015 -p1
find . -name CVS -type d | xargs rm -rf
find . -name ".cvsignore" | xargs rm -f
cp /usr/share/automake*/config.{guess,sub} builds/unix
%build
export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing "
ln -s /usr/bin/libtool ./builds/unix/libtool
make setup CFG="--prefix=/usr --libdir=%{_libdir} --with-zlib"
make prefix=/usr libdir=%{_libdir} %{?jobs:-j %jobs}
make setup CFG="--prefix=%{_prefix} --libdir=%{_libdir} --with-zlib"
make prefix=%{_prefix} libdir=%{_libdir} %{_smp_mflags}
# build the documentation in the references subdirectory:
# (this needs python and we cannot have python in the BuildRequires of
# a basic package like freetype2, therefore we cannot do it here but we have
@ -113,9 +75,7 @@ make prefix=/usr libdir=%{_libdir} %{?jobs:-j %jobs}
pushd ..
ln -s freetype-%{freetype_version} freetype2
cd ft2demos-%{version}
make prefix=/usr libdir=%{_libdir} \
X11_PATH="/usr/X11R6" \
LDFLAGS="-L/usr/X11R6/%{_lib} -lm "
make prefix=%{_prefix} libdir=%{_libdir}
popd
%install