Update to 2.4.5

This commit is contained in:
Marek Kasik 2011-06-28 17:14:34 +02:00
parent db8268417a
commit ec4243ebc8
5 changed files with 12 additions and 116 deletions

3
.gitignore vendored
View File

@ -10,3 +10,6 @@ ft2demos-2.4.2.tar.bz2
/freetype-2.4.4.tar.bz2
/freetype-doc-2.4.4.tar.bz2
/ft2demos-2.4.4.tar.bz2
/freetype-2.4.5.tar.bz2
/freetype-doc-2.4.5.tar.bz2
/ft2demos-2.4.5.tar.bz2

View File

@ -1,77 +0,0 @@
From ff8095077ce454246edb93c5bc672edb2b2c8f25 Mon Sep 17 00:00:00 2001
From: Kevin Kofler <kevin.kofler@chello.at>
Date: Sat, 19 Feb 2011 23:09:26 +0100
Subject: [PATCH] Fall back to autohinting if a TTF/OTF doesn't contain any bytecode.
This is Savannah patch #7471.
* src/base/ftobjs.c (FT_Load_Glyph): Implement it.
---
src/base/ftobjs.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 6b01f43..708055f 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4,8 +4,7 @@
/* */
/* The FreeType private base classes (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */
-/* 2010 by */
+/* Copyright 1996-2011 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -561,6 +560,7 @@
FT_Library library;
FT_Bool autohint = FALSE;
FT_Module hinter;
+ TT_Face ttface = (TT_Face)face;
if ( !face || !face->size || !face->glyph )
@@ -601,7 +601,8 @@
* - Then, auto-hint if FT_LOAD_FORCE_AUTOHINT is set or if we don't
* have a native font hinter.
*
- * - Otherwise, auto-hint for LIGHT hinting mode.
+ * - Otherwise, auto-hint for LIGHT hinting mode or if there isn't
+ * any hinting bytecode in the TrueType/OpenType font.
*
* - Exception: The font is `tricky' and requires the native hinter to
* load properly.
@@ -626,8 +627,10 @@
FT_Render_Mode mode = FT_LOAD_TARGET_MODE( load_flags );
- if ( mode == FT_RENDER_MODE_LIGHT ||
- face->internal->ignore_unpatented_hinter )
+ if ( mode == FT_RENDER_MODE_LIGHT ||
+ face->internal->ignore_unpatented_hinter ||
+ ( FT_IS_SFNT( face ) &&
+ ttface->max_profile.maxSizeOfInstructions == 0 ) )
autohint = TRUE;
}
}
@@ -1869,7 +1872,7 @@
" is already checked and"
" no font is found\n", i ));
continue;
- }
+ }
if ( errors[i] )
{
@@ -4151,7 +4154,7 @@
FT_Renderer renderer = FT_RENDERER( module );
- if ( renderer->clazz->glyph_format == FT_GLYPH_FORMAT_OUTLINE &&
+ if ( renderer->clazz->glyph_format == FT_GLYPH_FORMAT_OUTLINE &&
renderer->raster )
renderer->clazz->raster_class->raster_done( renderer->raster );
}
--
1.7.4

View File

@ -1,28 +0,0 @@
From c9bdfa7e658f42f3faed2b426e3b1251a04938e4 Mon Sep 17 00:00:00 2001
From: Werner Lemberg <wl@gnu.org>
Date: Sun, 6 Mar 2011 18:35:37 +0100
Subject: Fix autohinting fallback.
* src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs,
ignoring CFF-based OTFs.
---
src/base/ftobjs.c | 3 +++
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 708055f..219ece4 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -627,9 +627,12 @@
FT_Render_Mode mode = FT_LOAD_TARGET_MODE( load_flags );
+ /* the check for `num_locations' assures that we actually */
+ /* test for instructions in a TTF and not in a CFF-based OTF */
if ( mode == FT_RENDER_MODE_LIGHT ||
face->internal->ignore_unpatented_hinter ||
( FT_IS_SFNT( face ) &&
+ ttface->num_locations &&
ttface->max_profile.maxSizeOfInstructions == 0 ) )
autohint = TRUE;
}

View File

@ -6,8 +6,8 @@
Summary: A free and portable font rendering engine
Name: freetype
Version: 2.4.4
Release: 4%{?dist}
Version: 2.4.5
Release: 1%{?dist}
License: FTL or GPLv2+
Group: System Environment/Libraries
URL: http://www.freetype.org
@ -27,9 +27,6 @@ Patch88: freetype-multilib.patch
Patch89: freetype-2.4.2-CVE-2010-3311.patch
Patch90: 0001-Fall-back-to-autohinting-if-a-TTF-OTF-doesn-t-contai.patch
Patch91: 0002-Fix-autohinting-fallback.patch
Buildroot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)
BuildRequires: libX11-devel
@ -90,8 +87,6 @@ popd
%patch88 -p1 -b .multilib
%patch89 -p1 -b .CVE-2010-3311
%patch90 -p1 -b .auto-autohint
%patch91 -p1 -b .fix-autohint
%build
@ -184,7 +179,7 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root)
%{_libdir}/libfreetype.so.*
%doc README
%doc docs/LICENSE.TXT docs/FTL.TXT docs/GPL.TXT
%doc docs/LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT
%doc docs/CHANGES docs/VERSION.DLL docs/formats.txt docs/ft2faq.html
%files demos
@ -224,6 +219,9 @@ rm -rf $RPM_BUILD_ROOT
%doc docs/tutorial
%changelog
* Tue Jun 28 2011 Marek Kasik <mkasik@redhat.com> 2.4.5-1
- Update to 2.4.5
* Tue Mar 8 2011 Marek Kasik <mkasik@redhat.com> 2.4.4-4
- Fix autohinting fallback (#547532).
- Ignore CFF-based OTFs.

View File

@ -1,3 +1,3 @@
b3e2b6e2f1c3e0dffa1fd2a0f848b671 freetype-2.4.4.tar.bz2
a657e301bc1568848ee981297ca599dc freetype-doc-2.4.4.tar.bz2
8a95c095fa5fe87a00b08e3027105071 ft2demos-2.4.4.tar.bz2
90428a6d8ec4876cd1eb94858c2a59b0 freetype-2.4.5.tar.bz2
bb6fc58b62762eaaea9688443d5d8477 freetype-doc-2.4.5.tar.bz2
16dd7cc052be89019bd29f6e3e4cf3af ft2demos-2.4.5.tar.bz2