Date: Tuesday, July 5, 2016 @ 19:03:23 Author: heftig Revision: 271056
2.6.4-1 Added: freetype2/trunk/0003-Make-subpixel-hinting-mode-configurable.patch Modified: freetype2/trunk/0001-Enable-table-validation-modules.patch freetype2/trunk/0002-Enable-subpixel-rendering.patch freetype2/trunk/PKGBUILD freetype2/trunk/freetype2.install Deleted: freetype2/trunk/0003-Enable-subpixel-hinting.patch freetype2/trunk/0004-Mask-subpixel-hinting-with-an-env-var.patch ----------------------------------------------------+ 0001-Enable-table-validation-modules.patch | 8 - 0002-Enable-subpixel-rendering.patch | 8 - 0003-Enable-subpixel-hinting.patch | 25 ----- 0003-Make-subpixel-hinting-mode-configurable.patch | 90 +++++++++++++++++++ 0004-Mask-subpixel-hinting-with-an-env-var.patch | 31 ------ PKGBUILD | 23 +--- freetype2.install | 11 +- 7 files changed, 115 insertions(+), 81 deletions(-) Modified: 0001-Enable-table-validation-modules.patch =================================================================== --- 0001-Enable-table-validation-modules.patch 2016-07-05 18:40:22 UTC (rev 271055) +++ 0001-Enable-table-validation-modules.patch 2016-07-05 19:03:23 UTC (rev 271056) @@ -1,7 +1,7 @@ -From 27f765b5f41638de36de728e9018a1400b0be615 Mon Sep 17 00:00:00 2001 +From 38732f60a5dc2a619dac5605d6c2fa90fc58d606 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> Date: Tue, 23 Jun 2015 08:40:29 +0200 -Subject: [PATCH 1/4] Enable table validation modules +Subject: [PATCH 1/3] Enable table validation modules --- modules.cfg | 4 ++-- @@ -8,7 +8,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules.cfg b/modules.cfg -index 2984e51..a5db21d 100644 +index d677565a2bc2b5a2..f19cbec33384a86f 100644 --- a/modules.cfg +++ b/modules.cfg @@ -110,7 +110,7 @@ RASTER_MODULES += smooth @@ -30,5 +30,5 @@ # Auxiliary PostScript driver component to share common code. # -- -2.6.0 +2.8.3 Modified: 0002-Enable-subpixel-rendering.patch =================================================================== --- 0002-Enable-subpixel-rendering.patch 2016-07-05 18:40:22 UTC (rev 271055) +++ 0002-Enable-subpixel-rendering.patch 2016-07-05 19:03:23 UTC (rev 271056) @@ -1,7 +1,7 @@ -From 27d96091b2bb0a825cbd62a332ef918f39c6126f Mon Sep 17 00:00:00 2001 +From 340fa8551faed5a105d0e1cbe4e81ade1f750a04 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> Date: Tue, 23 Jun 2015 08:43:07 +0200 -Subject: [PATCH 2/4] Enable subpixel rendering +Subject: [PATCH 2/3] Enable subpixel rendering --- include/freetype/config/ftoption.h | 2 +- @@ -8,7 +8,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h -index 4970945..ab407e3 100644 +index 7dd3f55e572a23b9..33d563c4e1e47228 100644 --- a/include/freetype/config/ftoption.h +++ b/include/freetype/config/ftoption.h @@ -92,7 +92,7 @@ FT_BEGIN_HEADER @@ -21,5 +21,5 @@ /*************************************************************************/ -- -2.6.0 +2.8.3 Deleted: 0003-Enable-subpixel-hinting.patch =================================================================== --- 0003-Enable-subpixel-hinting.patch 2016-07-05 18:40:22 UTC (rev 271055) +++ 0003-Enable-subpixel-hinting.patch 2016-07-05 19:03:23 UTC (rev 271056) @@ -1,25 +0,0 @@ -From f96a1d21d787b173d6293330fbf782b977194aa7 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> -Date: Tue, 23 Jun 2015 08:43:57 +0200 -Subject: [PATCH 3/4] Enable subpixel hinting - ---- - include/freetype/config/ftoption.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h -index ab407e3..a2eab6a 100644 ---- a/include/freetype/config/ftoption.h -+++ b/include/freetype/config/ftoption.h -@@ -602,7 +602,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 - - - /*************************************************************************/ --- -2.6.0 - Added: 0003-Make-subpixel-hinting-mode-configurable.patch =================================================================== --- 0003-Make-subpixel-hinting-mode-configurable.patch (rev 0) +++ 0003-Make-subpixel-hinting-mode-configurable.patch 2016-07-05 19:03:23 UTC (rev 271056) @@ -0,0 +1,90 @@ +From d0d93c2496175aa42b4c4bb3a45e4f0a6d264112 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Wed, 15 Jun 2016 14:10:20 +0200 +Subject: [PATCH 3/3] Make subpixel hinting mode configurable + +--- + include/freetype/config/ftoption.h | 4 ++-- + src/truetype/ttobjs.c | 37 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 39 insertions(+), 2 deletions(-) + +diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h +index 33d563c4e1e47228..a401fc8e9efbbd79 100644 +--- a/include/freetype/config/ftoption.h ++++ b/include/freetype/config/ftoption.h +@@ -631,8 +631,8 @@ FT_BEGIN_HEADER + /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ + /* */ + /* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */ +-#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 +-/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */ ++/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2 */ ++#define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) + + + /*************************************************************************/ +diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c +index ed3be2dbee79427c..d89f92e94d0e816b 100644 +--- a/src/truetype/ttobjs.c ++++ b/src/truetype/ttobjs.c +@@ -36,6 +36,9 @@ + #include "ttgxvar.h" + #endif + ++#include <stdlib.h> ++#include <errno.h> ++ + /*************************************************************************/ + /* */ + /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ +@@ -1286,6 +1289,7 @@ + #ifdef TT_USE_BYTECODE_INTERPRETER + + TT_Driver driver = (TT_Driver)ttdriver; ++ const char *envval; + + driver->interpreter_version = TT_INTERPRETER_VERSION_35; + #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY +@@ -1295,6 +1299,39 @@ + driver->interpreter_version = TT_INTERPRETER_VERSION_40; + #endif + ++ errno = 0; ++ envval = getenv( "FT2_SUBPIXEL_HINTING" ); ++ if ( envval ) ++ { ++ char *endptr = NULL; ++ unsigned long value = strtoul( envval, &endptr, 10 ); ++ ++ if ( !errno && endptr && !*endptr ) ++ { ++ switch( value ) ++ { ++ case 0: ++ driver->interpreter_version = TT_INTERPRETER_VERSION_35; ++ break; ++ ++#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY ++ case 1: ++ driver->interpreter_version = TT_INTERPRETER_VERSION_38; ++ break; ++#endif ++ ++#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL ++ case 2: ++ driver->interpreter_version = TT_INTERPRETER_VERSION_40; ++ break; ++#endif ++ ++ default: ++ break; ++ } ++ } ++ } ++ + #else /* !TT_USE_BYTECODE_INTERPRETER */ + + FT_UNUSED( ttdriver ); +-- +2.8.3 + Deleted: 0004-Mask-subpixel-hinting-with-an-env-var.patch =================================================================== --- 0004-Mask-subpixel-hinting-with-an-env-var.patch 2016-07-05 18:40:22 UTC (rev 271055) +++ 0004-Mask-subpixel-hinting-with-an-env-var.patch 2016-07-05 19:03:23 UTC (rev 271056) @@ -1,31 +0,0 @@ -From bb5ece9c6773145c8342107bd32fcacbc4b212ab Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> -Date: Tue, 23 Jun 2015 08:34:54 +0200 -Subject: [PATCH 4/4] Mask subpixel hinting with an env var - ---- - src/truetype/ttobjs.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c -index 6060d6f..3fa98e7 100644 ---- a/src/truetype/ttobjs.c -+++ b/src/truetype/ttobjs.c -@@ -1302,10 +1302,11 @@ - TT_Driver driver = (TT_Driver)ttdriver; - - #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING -- driver->interpreter_version = TT_INTERPRETER_VERSION_38; --#else -- driver->interpreter_version = TT_INTERPRETER_VERSION_35; -+ if ( getenv( "FT2_SUBPIXEL_HINTING" ) ) -+ driver->interpreter_version = TT_INTERPRETER_VERSION_38; -+ else - #endif -+ driver->interpreter_version = TT_INTERPRETER_VERSION_35; - - #else /* !TT_USE_BYTECODE_INTERPRETER */ - --- -2.6.0 - Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-07-05 18:40:22 UTC (rev 271055) +++ PKGBUILD 2016-07-05 19:03:23 UTC (rev 271056) @@ -2,7 +2,7 @@ # Maintainer: Jan de Groot <j...@archlinux.org> pkgname=freetype2 -pkgver=2.6.3 +pkgver=2.6.4 pkgrel=1 pkgdesc="TrueType font rendering library" arch=(i686 x86_64) @@ -16,14 +16,12 @@ source=(http://download.savannah.gnu.org/releases/freetype/freetype-${pkgver}.tar.bz2{,.sig} 0001-Enable-table-validation-modules.patch 0002-Enable-subpixel-rendering.patch - 0003-Enable-subpixel-hinting.patch - 0004-Mask-subpixel-hinting-with-an-env-var.patch) -sha1sums=('6c98bd5d0be313207c37ca23d25faf983486aee5' + 0003-Make-subpixel-hinting-mode-configurable.patch) +sha1sums=('5eaa8c949b4841eeabba44d2c582ff6859e5c4b9' 'SKIP' - '1c7bc438df0428a63f881e7e4343b22c5b09ecb1' - 'e2d2b8c4847ab9cfd497179c7140835e99ece711' - 'ebe3d7a6fc41304a77c23cb56e94dc718146d963' - 'f50c70080f3fbee45b9c4264d8ae37eb4f1ac335') + '045b1b6a56151ab46a8300e6fd09f24294258e97' + 'afd6f9504516fa02e57890dde820f488e0df36bb' + '2a1d6e734001e196c7a7790c78165d9b9fe49f7f') validpgpkeys=('58E0C111E39F5408C5D3EC76C1A60EACE707FDA5') prepare() { @@ -31,12 +29,9 @@ patch -Np1 -i "${srcdir}/0001-Enable-table-validation-modules.patch" patch -Np1 -i "${srcdir}/0002-Enable-subpixel-rendering.patch" - # https://bugs.archlinux.org/task/35274 - patch -Np1 -i "${srcdir}/0003-Enable-subpixel-hinting.patch" - # Provide a way to enable the above patch at runtime. - # Hopefully just a temporary measure until fontconfig picks up - # the necessary configurables. - patch -Np1 -i "${srcdir}/0004-Mask-subpixel-hinting-with-an-env-var.patch" + # Provide a way to set the default subpixel hinting mode + # at runtime, without depending on the application to do so. + patch -Np1 -i "${srcdir}/0003-Make-subpixel-hinting-mode-configurable.patch" } build() { Modified: freetype2.install =================================================================== --- freetype2.install 2016-07-05 18:40:22 UTC (rev 271055) +++ freetype2.install 2016-07-05 19:03:23 UTC (rev 271056) @@ -1,8 +1,13 @@ post_upgrade() { - if (( $(vercmp $2 2.5.4-3) < 0 )); then + if (( $(vercmp $2 2.6.4-1) < 0 )); then cat <<MSG - Subpixel hinting can be enabled by adding FT2_SUBPIXEL_HINTING=1 - to your environment, for example /etc/environment or ~/.pam_environment . + Subpixel hinting mode can be chosen by setting the right value in + your environment, for example /etc/environment or ~/.pam_environment . + + Available settings: + FT2_SUBPIXEL_HINTING=0 # Classic mode + FT2_SUBPIXEL_HINTING=1 # Infinality mode + FT2_SUBPIXEL_HINTING=2 # Default mode MSG fi }