SHA256
1
0
forked from pool/freetype2

Accepting request 267146 from home:sumski:branches:M17N

Update to version 2.5.5

OBS-URL: https://build.opensuse.org/request/show/267146
OBS-URL: https://build.opensuse.org/package/show/M17N/freetype2?expand=0&rev=92
This commit is contained in:
Hrvoje Senjan 2015-01-03 23:06:48 +00:00 committed by Git OBS Bridge
parent 8431d69e3e
commit d45d8cd3fc
11 changed files with 33 additions and 138 deletions

View File

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

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

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

View File

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

View File

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

View File

@ -1,120 +0,0 @@
From 74af85c4b62b35e55b0ce9dec55ee10cbc4962a2 Mon Sep 17 00:00:00 2001
From: Werner Lemberg <wl@gnu.org>
Date: Mon, 08 Dec 2014 15:01:50 +0000
Subject: [pcf] Fix Savannah bug #43774.
Work around `features' of X11's `pcfWriteFont' and `pcfReadFont'
functions. Since the PCF format doesn't have an official
specification, we have to exactly follow these functions' behaviour.
The problem was unveiled with a patch from 2014-11-06, fixing issue #43547.
* src/pcf/pcfread.c (pcf_read_TOC): Don't check table size for last
element. Instead, assign real size.
---
diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
index 998cbed..e3caf82 100644
--- a/src/pcf/pcfread.c
+++ b/src/pcf/pcfread.c
@@ -2,7 +2,7 @@
FreeType font driver for pcf fonts
- Copyright 2000-2010, 2012, 2013 by
+ Copyright 2000-2010, 2012-2014 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -78,7 +78,7 @@ THE SOFTWARE.
FT_FRAME_START( 16 ),
FT_FRAME_ULONG_LE( type ),
FT_FRAME_ULONG_LE( format ),
- FT_FRAME_ULONG_LE( size ),
+ FT_FRAME_ULONG_LE( size ), /* rounded up to a multiple of 4 */
FT_FRAME_ULONG_LE( offset ),
FT_FRAME_END
};
@@ -95,9 +95,11 @@ THE SOFTWARE.
FT_Memory memory = FT_FACE( face )->memory;
FT_UInt n;
+ FT_ULong size;
- if ( FT_STREAM_SEEK ( 0 ) ||
- FT_STREAM_READ_FIELDS ( pcf_toc_header, toc ) )
+
+ if ( FT_STREAM_SEEK( 0 ) ||
+ FT_STREAM_READ_FIELDS( pcf_toc_header, toc ) )
return FT_THROW( Cannot_Open_Resource );
if ( toc->version != PCF_FILE_VERSION ||
@@ -154,14 +156,35 @@ THE SOFTWARE.
break;
}
- /* we now check whether the `size' and `offset' values are reasonable: */
- /* `offset' + `size' must not exceed the stream size */
+ /*
+ * We now check whether the `size' and `offset' values are reasonable:
+ * `offset' + `size' must not exceed the stream size.
+ *
+ * Note, however, that X11's `pcfWriteFont' routine (used by the
+ * `bdftopcf' program to create PDF font files) has two special
+ * features.
+ *
+ * - It always assigns the accelerator table a size of 100 bytes in the
+ * TOC, regardless of its real size, which can vary between 34 and 72
+ * bytes.
+ *
+ * - Due to the way the routine is designed, it ships out the last font
+ * table with its real size, ignoring the TOC's size value. Since
+ * the TOC size values are always rounded up to a multiple of 4, the
+ * difference can be up to three bytes for all tables except the
+ * accelerator table, for which the difference can be as large as 66
+ * bytes.
+ *
+ */
+
tables = face->toc.tables;
- for ( n = 0; n < toc->count; n++ )
+ size = stream->size;
+
+ for ( n = 0; n < toc->count - 1; n++ )
{
/* we need two checks to avoid overflow */
- if ( ( tables->size > stream->size ) ||
- ( tables->offset > stream->size - tables->size ) )
+ if ( ( tables->size > size ) ||
+ ( tables->offset > size - tables->size ) )
{
error = FT_THROW( Invalid_Table );
goto Exit;
@@ -169,6 +192,15 @@ THE SOFTWARE.
tables++;
}
+ /* no check of `tables->size' for last table element ... */
+ if ( ( tables->offset > size ) )
+ {
+ error = FT_THROW( Invalid_Table );
+ goto Exit;
+ }
+ /* ... instead, we adjust `tables->size' to the real value */
+ tables->size = size - tables->offset;
+
#ifdef FT_DEBUG_LEVEL_TRACE
{
@@ -733,8 +765,8 @@ THE SOFTWARE.
FT_TRACE4(( " number of bitmaps: %d\n", nbitmaps ));
- /* XXX: PCF_Face->nmetrics is singed FT_Long, see pcf.h */
- if ( face->nmetrics < 0 || nbitmaps != ( FT_ULong )face->nmetrics )
+ /* XXX: PCF_Face->nmetrics is signed FT_Long, see pcf.h */
+ if ( face->nmetrics < 0 || nbitmaps != (FT_ULong)face->nmetrics )
return FT_THROW( Invalid_File_Format );
if ( FT_NEW_ARRAY( offsets, nbitmaps ) )
--
cgit v0.9.0.2

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Sat Jan 3 22:58:50 UTC 2015 - hrvoje.senjan@gmail.com
- Update to version 2.5.5
* IMPORTANT BUG FIXES
- Handling of uncompressed PCF files works again (bug
introduced in version 2.5.4).
- Drop freetype2-2.5.3-fix-pcf.patch, merged upstream
-------------------------------------------------------------------
Mon Dec 8 15:43:58 UTC 2014 - hrvoje.senjan@gmail.com

View File

@ -1,7 +1,7 @@
#
# spec file for package freetype2
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -26,8 +26,8 @@ BuildRequires: zlib-devel
Obsoletes: freetype2-64bit
%endif
#
%define doc_version 2.5.4
Version: 2.5.4
%define doc_version 2.5.5
Version: 2.5.5
Release: 0
Summary: A TrueType Font Library
License: SUSE-Freetype or GPL-2.0+
@ -43,8 +43,6 @@ Patch200: freetype2-subpixel.patch
Patch201: overflow.patch
# PATCH-FIX-OPENSUSE don-t-mark-libpng-as-required-library.patch -- it is private in .pc
Patch202: don-t-mark-libpng-as-required-library.patch
# PATCH-FIX-UPSTREAM freetype2-2.5.3-fix-pcf.patch -- http://savannah.nongnu.org/bugs/?43774
Patch1000: freetype2-2.5.3-fix-pcf.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -91,7 +89,6 @@ It also contains a small tutorial for using that library.
%patch200 -p1
%endif
%patch202 -p1
%patch1000 -p1
%build
export CFLAGS="%optflags -std=gnu99 -D_GNU_SOURCE $(getconf LFS_CFLAGS)"

View File

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

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

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

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Sat Jan 3 22:58:50 UTC 2015 - hrvoje.senjan@gmail.com
- Update to version 2.5.5
* IMPORTANT BUG FIXES
- Handling of uncompressed PCF files works again (bug
introduced in version 2.5.4).
- Drop freetype2-2.5.3-fix-pcf.patch, merged upstream
-------------------------------------------------------------------
Mon Dec 8 15:43:58 UTC 2014 - hrvoje.senjan@gmail.com

View File

@ -1,7 +1,7 @@
#
# spec file for package ft2demos
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,12 +17,12 @@
Name: ft2demos
Version: 2.5.4
Version: 2.5.5
Release: 0
Summary: Freetype2 Utilities and Demo Programs
License: GPL-2.0+
Group: Productivity/Publishing/Other
%define freetype_version 2.5.4
%define freetype_version 2.5.5
Url: http://www.freetype.org
Source0: http://savannah.nongnu.org/download/freetype/freetype-%{freetype_version}.tar.bz2
Source1: http://savannah.nongnu.org/download/freetype/ft2demos-%{version}.tar.bz2