Fix a test failure with freetype 2.7: https://github.com/libgd/libgd/commit/a5570d3ed30ff76c2a8bdd54f4ab1825acca0143 Patch copied from upstream source repository: https://github.com/libgd/libgd/commit/a5570d3ed30ff76c2a8bdd54f4ab1825acca0143 From a5570d3ed30ff76c2a8bdd54f4ab1825acca0143 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Sun, 29 Jan 2017 17:07:50 +0100 Subject: [PATCH] Fix #302: Test suite fails with freetype 2.7 Actually, the test failures are not necessarily related to freetype 2.7, but rather are caused by subpixel hinting which is enabled by default in freetype 2.7. Subpixel hinting is, however, already available in freetype 2.5 and in versions having the "Infinality" patch. To get the expected results in all environments, we have to disable subpixel hinting, what is easily done by setting a respective environment variable. See also: * https://www.freetype.org/freetype2/docs/subpixel-hinting.html * https://www.freetype.org/freetype2/docs/reference/ft2-tt_driver.html --- tests/freetype/bug00132.c | 3 +++ tests/gdimagestringft/gdimagestringft_bbox.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/tests/freetype/bug00132.c b/tests/freetype/bug00132.c index 713dd2d..42ed5b1 100644 --- a/tests/freetype/bug00132.c +++ b/tests/freetype/bug00132.c @@ -11,6 +11,9 @@ int main() char *path; char *ret = NULL; + /* disable subpixel hinting */ + putenv("FREETYPE_PROPERTIES=truetype:interpreter-version=35"); + im = gdImageCreateTrueColor(50, 30); if (!im) { diff --git a/tests/gdimagestringft/gdimagestringft_bbox.c b/tests/gdimagestringft/gdimagestringft_bbox.c index 0161ec8..1596a9e 100644 --- a/tests/gdimagestringft/gdimagestringft_bbox.c +++ b/tests/gdimagestringft/gdimagestringft_bbox.c @@ -38,6 +38,9 @@ int main() int error = 0; FILE *fp; + /* disable subpixel hinting */ + putenv("FREETYPE_PROPERTIES=truetype:interpreter-version=35"); + path = gdTestFilePath("freetype/DejaVuSans.ttf"); im = gdImageCreate(800, 800); gdImageColorAllocate(im, 0xFF, 0xFF, 0xFF); /* allocate white for background color */