summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/gd-freetype-test-failure.patch
blob: 49c16ca089bc71a8476465beafb814a94ccc2101 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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" <cmbecker69@gmx.de>
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 */