[arch-commits] Commit in freetype2/repos (26 files)
Jan Steffens
heftig at archlinux.org
Mon Dec 8 23:41:32 UTC 2014
Date: Tuesday, December 9, 2014 @ 00:41:31
Author: heftig
Revision: 227374
archrelease: copy trunk to testing-i686, testing-x86_64
Added:
freetype2/repos/testing-i686/0001-pcf-Fix-Savannah-bug-43774.patch
(from rev 227373, freetype2/trunk/0001-pcf-Fix-Savannah-bug-43774.patch)
freetype2/repos/testing-i686/PKGBUILD
(from rev 227373, freetype2/trunk/PKGBUILD)
freetype2/repos/testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff
(from rev 227373, freetype2/trunk/env_FT2_NO_SUBPIXEL_HINTING.diff)
freetype2/repos/testing-i686/freetype-2.2.1-enable-valid.patch
(from rev 227373, freetype2/trunk/freetype-2.2.1-enable-valid.patch)
freetype2/repos/testing-i686/freetype-2.5.1-enable-sph.patch
(from rev 227373, freetype2/trunk/freetype-2.5.1-enable-sph.patch)
freetype2/repos/testing-i686/freetype-2.5.1-enable-spr.patch
(from rev 227373, freetype2/trunk/freetype-2.5.1-enable-spr.patch)
freetype2/repos/testing-i686/freetype2.install
(from rev 227373, freetype2/trunk/freetype2.install)
freetype2/repos/testing-x86_64/0001-pcf-Fix-Savannah-bug-43774.patch
(from rev 227373, freetype2/trunk/0001-pcf-Fix-Savannah-bug-43774.patch)
freetype2/repos/testing-x86_64/PKGBUILD
(from rev 227373, freetype2/trunk/PKGBUILD)
freetype2/repos/testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff
(from rev 227373, freetype2/trunk/env_FT2_NO_SUBPIXEL_HINTING.diff)
freetype2/repos/testing-x86_64/freetype-2.2.1-enable-valid.patch
(from rev 227373, freetype2/trunk/freetype-2.2.1-enable-valid.patch)
freetype2/repos/testing-x86_64/freetype-2.5.1-enable-sph.patch
(from rev 227373, freetype2/trunk/freetype-2.5.1-enable-sph.patch)
freetype2/repos/testing-x86_64/freetype-2.5.1-enable-spr.patch
(from rev 227373, freetype2/trunk/freetype-2.5.1-enable-spr.patch)
freetype2/repos/testing-x86_64/freetype2.install
(from rev 227373, freetype2/trunk/freetype2.install)
Deleted:
freetype2/repos/testing-i686/PKGBUILD
freetype2/repos/testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff
freetype2/repos/testing-i686/freetype-2.2.1-enable-valid.patch
freetype2/repos/testing-i686/freetype-2.5.1-enable-sph.patch
freetype2/repos/testing-i686/freetype-2.5.1-enable-spr.patch
freetype2/repos/testing-i686/freetype2.install
freetype2/repos/testing-x86_64/PKGBUILD
freetype2/repos/testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff
freetype2/repos/testing-x86_64/freetype-2.2.1-enable-valid.patch
freetype2/repos/testing-x86_64/freetype-2.5.1-enable-sph.patch
freetype2/repos/testing-x86_64/freetype-2.5.1-enable-spr.patch
freetype2/repos/testing-x86_64/freetype2.install
------------------------------------------------------+
/PKGBUILD | 118 ++++++++++++++++
/env_FT2_NO_SUBPIXEL_HINTING.diff | 38 +++++
/freetype-2.2.1-enable-valid.patch | 40 +++++
/freetype-2.5.1-enable-sph.patch | 26 +++
/freetype-2.5.1-enable-spr.patch | 26 +++
/freetype2.install | 18 ++
testing-i686/0001-pcf-Fix-Savannah-bug-43774.patch | 125 +++++++++++++++++
testing-i686/PKGBUILD | 54 -------
testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff | 19 --
testing-i686/freetype-2.2.1-enable-valid.patch | 20 --
testing-i686/freetype-2.5.1-enable-sph.patch | 13 -
testing-i686/freetype-2.5.1-enable-spr.patch | 13 -
testing-i686/freetype2.install | 9 -
testing-x86_64/0001-pcf-Fix-Savannah-bug-43774.patch | 125 +++++++++++++++++
testing-x86_64/PKGBUILD | 54 -------
testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff | 19 --
testing-x86_64/freetype-2.2.1-enable-valid.patch | 20 --
testing-x86_64/freetype-2.5.1-enable-sph.patch | 13 -
testing-x86_64/freetype-2.5.1-enable-spr.patch | 13 -
testing-x86_64/freetype2.install | 9 -
20 files changed, 516 insertions(+), 256 deletions(-)
Copied: freetype2/repos/testing-i686/0001-pcf-Fix-Savannah-bug-43774.patch (from rev 227373, freetype2/trunk/0001-pcf-Fix-Savannah-bug-43774.patch)
===================================================================
--- testing-i686/0001-pcf-Fix-Savannah-bug-43774.patch (rev 0)
+++ testing-i686/0001-pcf-Fix-Savannah-bug-43774.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,125 @@
+From 74af85c4b62b35e55b0ce9dec55ee10cbc4962a2 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl at gnu.org>
+Date: Mon, 8 Dec 2014 16:01:50 +0100
+Subject: [PATCH] [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.
+---
+ ChangeLog | 14 ++++++++++++++
+ src/pcf/pcfread.c | 54 +++++++++++++++++++++++++++++++++++++++++++-----------
+ 2 files changed, 57 insertions(+), 11 deletions(-)
+
+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 ) )
+--
+2.1.3
+
Deleted: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-i686/PKGBUILD 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,54 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-
-pkgname=freetype2
-pkgver=2.5.4
-pkgrel=1
-pkgdesc="TrueType font rendering library"
-arch=(i686 x86_64)
-license=('GPL')
-url="http://freetype.sourceforge.net"
-# adding harfbuzz for improved OpenType features auto-hinting
-# introduces a cycle dep to harfbuzz depending on freetype wanted by upstream
-depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
-install=freetype2.install
-source=(http://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig}
- freetype-2.2.1-enable-valid.patch
- freetype-2.5.1-enable-spr.patch
- freetype-2.5.1-enable-sph.patch
- env_FT2_NO_SUBPIXEL_HINTING.diff)
-sha1sums=('f30b929e2edc5d7ca64c1ccc65f0c2068e84c5e2'
- 'SKIP'
- 'f279d922a873d62a8af50bfc873051839d194dca'
- '13ee8d558593db991ad29fa090b461f914536104'
- 'c31fa3d342ead56f3acfa1f267b474a7686d0014'
- 'ddba70eef4270e5a89e098d6ee1e7ceb03ea98da')
-
-prepare() {
- cd "${srcdir}/freetype-${pkgver}"
- patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch"
- patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-spr.patch"
-
- # https://bugs.archlinux.org/task/35274
- patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-sph.patch"
- # Provide a way to disable the above patch at runtime.
- # Expected to be a temporary measure until fontconfig picks up
- # the necessary configurables.
- patch -Np1 -i "${srcdir}/env_FT2_NO_SUBPIXEL_HINTING.diff"
-}
-
-build() {
- cd "${srcdir}/freetype-${pkgver}"
- ./configure --prefix=/usr --disable-static
- make
-}
-
-check() {
- cd "${srcdir}/freetype-${pkgver}"
- make -k check
-}
-
-package() {
- cd "${srcdir}/freetype-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
Copied: freetype2/repos/testing-i686/PKGBUILD (from rev 227373, freetype2/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD (rev 0)
+++ testing-i686/PKGBUILD 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,59 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=freetype2
+pkgver=2.5.4
+pkgrel=2
+pkgdesc="TrueType font rendering library"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://freetype.sourceforge.net"
+# adding harfbuzz for improved OpenType features auto-hinting
+# introduces a cycle dep to harfbuzz depending on freetype wanted by upstream
+depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
+install=freetype2.install
+source=(http://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig}
+ freetype-2.2.1-enable-valid.patch
+ freetype-2.5.1-enable-spr.patch
+ freetype-2.5.1-enable-sph.patch
+ env_FT2_NO_SUBPIXEL_HINTING.diff
+ 0001-pcf-Fix-Savannah-bug-43774.patch)
+sha1sums=('f30b929e2edc5d7ca64c1ccc65f0c2068e84c5e2'
+ 'SKIP'
+ 'f279d922a873d62a8af50bfc873051839d194dca'
+ '13ee8d558593db991ad29fa090b461f914536104'
+ 'c31fa3d342ead56f3acfa1f267b474a7686d0014'
+ 'ddba70eef4270e5a89e098d6ee1e7ceb03ea98da'
+ '16057f51b084e9ce5c614a4add41b532d32648b4')
+
+prepare() {
+ cd "${srcdir}/freetype-${pkgver}"
+ patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch"
+ patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-spr.patch"
+
+ # https://bugs.archlinux.org/task/35274
+ patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-sph.patch"
+ # Provide a way to disable the above patch at runtime.
+ # Expected to be a temporary measure until fontconfig picks up
+ # the necessary configurables.
+ patch -Np1 -i "${srcdir}/env_FT2_NO_SUBPIXEL_HINTING.diff"
+
+ # http://savannah.nongnu.org/bugs/index.php?43774
+ patch -Np1 -i "${srcdir}/0001-pcf-Fix-Savannah-bug-43774.patch"
+}
+
+build() {
+ cd "${srcdir}/freetype-${pkgver}"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd "${srcdir}/freetype-${pkgver}"
+ make -k check
+}
+
+package() {
+ cd "${srcdir}/freetype-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
Deleted: testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff
===================================================================
--- testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,19 +0,0 @@
-diff --git i/src/truetype/ttobjs.c w/src/truetype/ttobjs.c
-index 46f1332..af50a1d 100644
---- i/src/truetype/ttobjs.c
-+++ w/src/truetype/ttobjs.c
-@@ -1264,10 +1264,11 @@
- return FT_THROW( Could_Not_Find_Context );
-
- #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
-- driver->interpreter_version = TT_INTERPRETER_VERSION_38;
--#else
-- driver->interpreter_version = TT_INTERPRETER_VERSION_35;
-+ if ( !getenv( "FT2_NO_SUBPIXEL_HINTING" ) )
-+ driver->interpreter_version = TT_INTERPRETER_VERSION_38;
-+ else
- #endif
-+ driver->interpreter_version = TT_INTERPRETER_VERSION_35;
-
- #else /* !TT_USE_BYTECODE_INTERPRETER */
-
Copied: freetype2/repos/testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff (from rev 227373, freetype2/trunk/env_FT2_NO_SUBPIXEL_HINTING.diff)
===================================================================
--- testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff (rev 0)
+++ testing-i686/env_FT2_NO_SUBPIXEL_HINTING.diff 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,19 @@
+diff --git i/src/truetype/ttobjs.c w/src/truetype/ttobjs.c
+index 46f1332..af50a1d 100644
+--- i/src/truetype/ttobjs.c
++++ w/src/truetype/ttobjs.c
+@@ -1264,10 +1264,11 @@
+ return FT_THROW( Could_Not_Find_Context );
+
+ #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
+- driver->interpreter_version = TT_INTERPRETER_VERSION_38;
+-#else
+- driver->interpreter_version = TT_INTERPRETER_VERSION_35;
++ if ( !getenv( "FT2_NO_SUBPIXEL_HINTING" ) )
++ driver->interpreter_version = TT_INTERPRETER_VERSION_38;
++ else
+ #endif
++ driver->interpreter_version = TT_INTERPRETER_VERSION_35;
+
+ #else /* !TT_USE_BYTECODE_INTERPRETER */
+
Deleted: testing-i686/freetype-2.2.1-enable-valid.patch
===================================================================
--- testing-i686/freetype-2.2.1-enable-valid.patch 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-i686/freetype-2.2.1-enable-valid.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,20 +0,0 @@
---- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400
-+++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400
-@@ -110,7 +110,7 @@
- AUX_MODULES += cache
-
- # TrueType GX/AAT table validation. Needs ftgxval.c below.
--# AUX_MODULES += gxvalid
-+AUX_MODULES += gxvalid
-
- # Support for streams compressed with gzip (files with suffix .gz).
- #
-@@ -124,7 +124,7 @@
-
- # OpenType table validation. Needs ftotval.c below.
- #
--# AUX_MODULES += otvalid
-+AUX_MODULES += otvalid
-
- # Auxiliary PostScript driver component to share common code.
- #
Copied: freetype2/repos/testing-i686/freetype-2.2.1-enable-valid.patch (from rev 227373, freetype2/trunk/freetype-2.2.1-enable-valid.patch)
===================================================================
--- testing-i686/freetype-2.2.1-enable-valid.patch (rev 0)
+++ testing-i686/freetype-2.2.1-enable-valid.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,20 @@
+--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400
++++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400
+@@ -110,7 +110,7 @@
+ AUX_MODULES += cache
+
+ # TrueType GX/AAT table validation. Needs ftgxval.c below.
+-# AUX_MODULES += gxvalid
++AUX_MODULES += gxvalid
+
+ # Support for streams compressed with gzip (files with suffix .gz).
+ #
+@@ -124,7 +124,7 @@
+
+ # OpenType table validation. Needs ftotval.c below.
+ #
+-# AUX_MODULES += otvalid
++AUX_MODULES += otvalid
+
+ # Auxiliary PostScript driver component to share common code.
+ #
Deleted: testing-i686/freetype-2.5.1-enable-sph.patch
===================================================================
--- testing-i686/freetype-2.5.1-enable-sph.patch 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-i686/freetype-2.5.1-enable-sph.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,13 +0,0 @@
-diff --git i/include/config/ftoption.h w/include/config/ftoption.h
-index fe2ba15..1ab4226 100644
---- i/include/config/ftoption.h
-+++ w/include/config/ftoption.h
-@@ -591,7 +591,7 @@ FT_BEGIN_HEADER
- /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
- /* defined. */
- /* */
--/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */
-+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
-
-
- /*************************************************************************/
Copied: freetype2/repos/testing-i686/freetype-2.5.1-enable-sph.patch (from rev 227373, freetype2/trunk/freetype-2.5.1-enable-sph.patch)
===================================================================
--- testing-i686/freetype-2.5.1-enable-sph.patch (rev 0)
+++ testing-i686/freetype-2.5.1-enable-sph.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,13 @@
+diff --git i/include/config/ftoption.h w/include/config/ftoption.h
+index fe2ba15..1ab4226 100644
+--- i/include/config/ftoption.h
++++ w/include/config/ftoption.h
+@@ -591,7 +591,7 @@ FT_BEGIN_HEADER
+ /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
+ /* defined. */
+ /* */
+-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */
++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
+
+
+ /*************************************************************************/
Deleted: testing-i686/freetype-2.5.1-enable-spr.patch
===================================================================
--- testing-i686/freetype-2.5.1-enable-spr.patch 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-i686/freetype-2.5.1-enable-spr.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,13 +0,0 @@
-diff --git i/include/config/ftoption.h w/include/config/ftoption.h
-index fe2ba15..22ce1a3 100644
---- i/include/config/ftoption.h
-+++ w/include/config/ftoption.h
-@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
- /* This is done to allow FreeType clients to run unmodified, forcing */
- /* them to display normal gray-level anti-aliased glyphs. */
- /* */
--/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
-+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-
-
- /*************************************************************************/
Copied: freetype2/repos/testing-i686/freetype-2.5.1-enable-spr.patch (from rev 227373, freetype2/trunk/freetype-2.5.1-enable-spr.patch)
===================================================================
--- testing-i686/freetype-2.5.1-enable-spr.patch (rev 0)
+++ testing-i686/freetype-2.5.1-enable-spr.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,13 @@
+diff --git i/include/config/ftoption.h w/include/config/ftoption.h
+index fe2ba15..22ce1a3 100644
+--- i/include/config/ftoption.h
++++ w/include/config/ftoption.h
+@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
+ /* This is done to allow FreeType clients to run unmodified, forcing */
+ /* them to display normal gray-level anti-aliased glyphs. */
+ /* */
+-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+
+
+ /*************************************************************************/
Deleted: testing-i686/freetype2.install
===================================================================
--- testing-i686/freetype2.install 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-i686/freetype2.install 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,9 +0,0 @@
-post_upgrade() {
- if (( $(vercmp $2 2.5.4-1) < 0 )); then
- cat <<MSG
- Subpixel hinting has been enabled by default. To get back the old look, add
- FT2_NO_SUBPIXEL_HINTING=1
- to your environment, for example /etc/environment or ~/.pam_environment .
-MSG
- fi
-}
Copied: freetype2/repos/testing-i686/freetype2.install (from rev 227373, freetype2/trunk/freetype2.install)
===================================================================
--- testing-i686/freetype2.install (rev 0)
+++ testing-i686/freetype2.install 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,9 @@
+post_upgrade() {
+ if (( $(vercmp $2 2.5.4-1) < 0 )); then
+ cat <<MSG
+ Subpixel hinting has been enabled by default. To get back the old look, add
+ FT2_NO_SUBPIXEL_HINTING=1
+ to your environment, for example /etc/environment or ~/.pam_environment .
+MSG
+ fi
+}
Copied: freetype2/repos/testing-x86_64/0001-pcf-Fix-Savannah-bug-43774.patch (from rev 227373, freetype2/trunk/0001-pcf-Fix-Savannah-bug-43774.patch)
===================================================================
--- testing-x86_64/0001-pcf-Fix-Savannah-bug-43774.patch (rev 0)
+++ testing-x86_64/0001-pcf-Fix-Savannah-bug-43774.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,125 @@
+From 74af85c4b62b35e55b0ce9dec55ee10cbc4962a2 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl at gnu.org>
+Date: Mon, 8 Dec 2014 16:01:50 +0100
+Subject: [PATCH] [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.
+---
+ ChangeLog | 14 ++++++++++++++
+ src/pcf/pcfread.c | 54 +++++++++++++++++++++++++++++++++++++++++++-----------
+ 2 files changed, 57 insertions(+), 11 deletions(-)
+
+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 ) )
+--
+2.1.3
+
Deleted: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-x86_64/PKGBUILD 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,54 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-
-pkgname=freetype2
-pkgver=2.5.4
-pkgrel=1
-pkgdesc="TrueType font rendering library"
-arch=(i686 x86_64)
-license=('GPL')
-url="http://freetype.sourceforge.net"
-# adding harfbuzz for improved OpenType features auto-hinting
-# introduces a cycle dep to harfbuzz depending on freetype wanted by upstream
-depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
-install=freetype2.install
-source=(http://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig}
- freetype-2.2.1-enable-valid.patch
- freetype-2.5.1-enable-spr.patch
- freetype-2.5.1-enable-sph.patch
- env_FT2_NO_SUBPIXEL_HINTING.diff)
-sha1sums=('f30b929e2edc5d7ca64c1ccc65f0c2068e84c5e2'
- 'SKIP'
- 'f279d922a873d62a8af50bfc873051839d194dca'
- '13ee8d558593db991ad29fa090b461f914536104'
- 'c31fa3d342ead56f3acfa1f267b474a7686d0014'
- 'ddba70eef4270e5a89e098d6ee1e7ceb03ea98da')
-
-prepare() {
- cd "${srcdir}/freetype-${pkgver}"
- patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch"
- patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-spr.patch"
-
- # https://bugs.archlinux.org/task/35274
- patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-sph.patch"
- # Provide a way to disable the above patch at runtime.
- # Expected to be a temporary measure until fontconfig picks up
- # the necessary configurables.
- patch -Np1 -i "${srcdir}/env_FT2_NO_SUBPIXEL_HINTING.diff"
-}
-
-build() {
- cd "${srcdir}/freetype-${pkgver}"
- ./configure --prefix=/usr --disable-static
- make
-}
-
-check() {
- cd "${srcdir}/freetype-${pkgver}"
- make -k check
-}
-
-package() {
- cd "${srcdir}/freetype-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
Copied: freetype2/repos/testing-x86_64/PKGBUILD (from rev 227373, freetype2/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,59 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=freetype2
+pkgver=2.5.4
+pkgrel=2
+pkgdesc="TrueType font rendering library"
+arch=(i686 x86_64)
+license=('GPL')
+url="http://freetype.sourceforge.net"
+# adding harfbuzz for improved OpenType features auto-hinting
+# introduces a cycle dep to harfbuzz depending on freetype wanted by upstream
+depends=('zlib' 'bzip2' 'sh' 'libpng' 'harfbuzz')
+install=freetype2.install
+source=(http://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig}
+ freetype-2.2.1-enable-valid.patch
+ freetype-2.5.1-enable-spr.patch
+ freetype-2.5.1-enable-sph.patch
+ env_FT2_NO_SUBPIXEL_HINTING.diff
+ 0001-pcf-Fix-Savannah-bug-43774.patch)
+sha1sums=('f30b929e2edc5d7ca64c1ccc65f0c2068e84c5e2'
+ 'SKIP'
+ 'f279d922a873d62a8af50bfc873051839d194dca'
+ '13ee8d558593db991ad29fa090b461f914536104'
+ 'c31fa3d342ead56f3acfa1f267b474a7686d0014'
+ 'ddba70eef4270e5a89e098d6ee1e7ceb03ea98da'
+ '16057f51b084e9ce5c614a4add41b532d32648b4')
+
+prepare() {
+ cd "${srcdir}/freetype-${pkgver}"
+ patch -Np1 -i "${srcdir}/freetype-2.2.1-enable-valid.patch"
+ patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-spr.patch"
+
+ # https://bugs.archlinux.org/task/35274
+ patch -Np1 -i "${srcdir}/freetype-2.5.1-enable-sph.patch"
+ # Provide a way to disable the above patch at runtime.
+ # Expected to be a temporary measure until fontconfig picks up
+ # the necessary configurables.
+ patch -Np1 -i "${srcdir}/env_FT2_NO_SUBPIXEL_HINTING.diff"
+
+ # http://savannah.nongnu.org/bugs/index.php?43774
+ patch -Np1 -i "${srcdir}/0001-pcf-Fix-Savannah-bug-43774.patch"
+}
+
+build() {
+ cd "${srcdir}/freetype-${pkgver}"
+ ./configure --prefix=/usr --disable-static
+ make
+}
+
+check() {
+ cd "${srcdir}/freetype-${pkgver}"
+ make -k check
+}
+
+package() {
+ cd "${srcdir}/freetype-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
Deleted: testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff
===================================================================
--- testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,19 +0,0 @@
-diff --git i/src/truetype/ttobjs.c w/src/truetype/ttobjs.c
-index 46f1332..af50a1d 100644
---- i/src/truetype/ttobjs.c
-+++ w/src/truetype/ttobjs.c
-@@ -1264,10 +1264,11 @@
- return FT_THROW( Could_Not_Find_Context );
-
- #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
-- driver->interpreter_version = TT_INTERPRETER_VERSION_38;
--#else
-- driver->interpreter_version = TT_INTERPRETER_VERSION_35;
-+ if ( !getenv( "FT2_NO_SUBPIXEL_HINTING" ) )
-+ driver->interpreter_version = TT_INTERPRETER_VERSION_38;
-+ else
- #endif
-+ driver->interpreter_version = TT_INTERPRETER_VERSION_35;
-
- #else /* !TT_USE_BYTECODE_INTERPRETER */
-
Copied: freetype2/repos/testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff (from rev 227373, freetype2/trunk/env_FT2_NO_SUBPIXEL_HINTING.diff)
===================================================================
--- testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff (rev 0)
+++ testing-x86_64/env_FT2_NO_SUBPIXEL_HINTING.diff 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,19 @@
+diff --git i/src/truetype/ttobjs.c w/src/truetype/ttobjs.c
+index 46f1332..af50a1d 100644
+--- i/src/truetype/ttobjs.c
++++ w/src/truetype/ttobjs.c
+@@ -1264,10 +1264,11 @@
+ return FT_THROW( Could_Not_Find_Context );
+
+ #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
+- driver->interpreter_version = TT_INTERPRETER_VERSION_38;
+-#else
+- driver->interpreter_version = TT_INTERPRETER_VERSION_35;
++ if ( !getenv( "FT2_NO_SUBPIXEL_HINTING" ) )
++ driver->interpreter_version = TT_INTERPRETER_VERSION_38;
++ else
+ #endif
++ driver->interpreter_version = TT_INTERPRETER_VERSION_35;
+
+ #else /* !TT_USE_BYTECODE_INTERPRETER */
+
Deleted: testing-x86_64/freetype-2.2.1-enable-valid.patch
===================================================================
--- testing-x86_64/freetype-2.2.1-enable-valid.patch 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-x86_64/freetype-2.2.1-enable-valid.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,20 +0,0 @@
---- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400
-+++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400
-@@ -110,7 +110,7 @@
- AUX_MODULES += cache
-
- # TrueType GX/AAT table validation. Needs ftgxval.c below.
--# AUX_MODULES += gxvalid
-+AUX_MODULES += gxvalid
-
- # Support for streams compressed with gzip (files with suffix .gz).
- #
-@@ -124,7 +124,7 @@
-
- # OpenType table validation. Needs ftotval.c below.
- #
--# AUX_MODULES += otvalid
-+AUX_MODULES += otvalid
-
- # Auxiliary PostScript driver component to share common code.
- #
Copied: freetype2/repos/testing-x86_64/freetype-2.2.1-enable-valid.patch (from rev 227373, freetype2/trunk/freetype-2.2.1-enable-valid.patch)
===================================================================
--- testing-x86_64/freetype-2.2.1-enable-valid.patch (rev 0)
+++ testing-x86_64/freetype-2.2.1-enable-valid.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,20 @@
+--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400
++++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400
+@@ -110,7 +110,7 @@
+ AUX_MODULES += cache
+
+ # TrueType GX/AAT table validation. Needs ftgxval.c below.
+-# AUX_MODULES += gxvalid
++AUX_MODULES += gxvalid
+
+ # Support for streams compressed with gzip (files with suffix .gz).
+ #
+@@ -124,7 +124,7 @@
+
+ # OpenType table validation. Needs ftotval.c below.
+ #
+-# AUX_MODULES += otvalid
++AUX_MODULES += otvalid
+
+ # Auxiliary PostScript driver component to share common code.
+ #
Deleted: testing-x86_64/freetype-2.5.1-enable-sph.patch
===================================================================
--- testing-x86_64/freetype-2.5.1-enable-sph.patch 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-x86_64/freetype-2.5.1-enable-sph.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,13 +0,0 @@
-diff --git i/include/config/ftoption.h w/include/config/ftoption.h
-index fe2ba15..1ab4226 100644
---- i/include/config/ftoption.h
-+++ w/include/config/ftoption.h
-@@ -591,7 +591,7 @@ FT_BEGIN_HEADER
- /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
- /* defined. */
- /* */
--/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */
-+#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
-
-
- /*************************************************************************/
Copied: freetype2/repos/testing-x86_64/freetype-2.5.1-enable-sph.patch (from rev 227373, freetype2/trunk/freetype-2.5.1-enable-sph.patch)
===================================================================
--- testing-x86_64/freetype-2.5.1-enable-sph.patch (rev 0)
+++ testing-x86_64/freetype-2.5.1-enable-sph.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,13 @@
+diff --git i/include/config/ftoption.h w/include/config/ftoption.h
+index fe2ba15..1ab4226 100644
+--- i/include/config/ftoption.h
++++ w/include/config/ftoption.h
+@@ -591,7 +591,7 @@ FT_BEGIN_HEADER
+ /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
+ /* defined. */
+ /* */
+-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */
++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
+
+
+ /*************************************************************************/
Deleted: testing-x86_64/freetype-2.5.1-enable-spr.patch
===================================================================
--- testing-x86_64/freetype-2.5.1-enable-spr.patch 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-x86_64/freetype-2.5.1-enable-spr.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,13 +0,0 @@
-diff --git i/include/config/ftoption.h w/include/config/ftoption.h
-index fe2ba15..22ce1a3 100644
---- i/include/config/ftoption.h
-+++ w/include/config/ftoption.h
-@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
- /* This is done to allow FreeType clients to run unmodified, forcing */
- /* them to display normal gray-level anti-aliased glyphs. */
- /* */
--/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
-+#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
-
-
- /*************************************************************************/
Copied: freetype2/repos/testing-x86_64/freetype-2.5.1-enable-spr.patch (from rev 227373, freetype2/trunk/freetype-2.5.1-enable-spr.patch)
===================================================================
--- testing-x86_64/freetype-2.5.1-enable-spr.patch (rev 0)
+++ testing-x86_64/freetype-2.5.1-enable-spr.patch 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,13 @@
+diff --git i/include/config/ftoption.h w/include/config/ftoption.h
+index fe2ba15..22ce1a3 100644
+--- i/include/config/ftoption.h
++++ w/include/config/ftoption.h
+@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
+ /* This is done to allow FreeType clients to run unmodified, forcing */
+ /* them to display normal gray-level anti-aliased glyphs. */
+ /* */
+-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+
+
+ /*************************************************************************/
Deleted: testing-x86_64/freetype2.install
===================================================================
--- testing-x86_64/freetype2.install 2014-12-08 23:39:55 UTC (rev 227373)
+++ testing-x86_64/freetype2.install 2014-12-08 23:41:31 UTC (rev 227374)
@@ -1,9 +0,0 @@
-post_upgrade() {
- if (( $(vercmp $2 2.5.4-1) < 0 )); then
- cat <<MSG
- Subpixel hinting has been enabled by default. To get back the old look, add
- FT2_NO_SUBPIXEL_HINTING=1
- to your environment, for example /etc/environment or ~/.pam_environment .
-MSG
- fi
-}
Copied: freetype2/repos/testing-x86_64/freetype2.install (from rev 227373, freetype2/trunk/freetype2.install)
===================================================================
--- testing-x86_64/freetype2.install (rev 0)
+++ testing-x86_64/freetype2.install 2014-12-08 23:41:31 UTC (rev 227374)
@@ -0,0 +1,9 @@
+post_upgrade() {
+ if (( $(vercmp $2 2.5.4-1) < 0 )); then
+ cat <<MSG
+ Subpixel hinting has been enabled by default. To get back the old look, add
+ FT2_NO_SUBPIXEL_HINTING=1
+ to your environment, for example /etc/environment or ~/.pam_environment .
+MSG
+ fi
+}
More information about the arch-commits
mailing list