aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@gmail.com>2017-06-08 09:58:46 +0200
committerCarlo Landmeter <clandmeter@gmail.com>2017-06-08 09:58:46 +0200
commit4bda58b168222edded7a3af3ddb4c518f7b7f680 (patch)
tree794c1c4bdfe10f5d6685e11e951bb01b7fbfeb9d
parent5c9c87da94bc8d71f77e53686827b3935ac9ae50 (diff)
main/freetype: add missing patches
-rw-r--r--main/freetype/freetype-2.8-loop-counter.patch36
-rw-r--r--main/freetype/freetype-2.8-pcf-encoding.patch58
2 files changed, 94 insertions, 0 deletions
diff --git a/main/freetype/freetype-2.8-loop-counter.patch b/main/freetype/freetype-2.8-loop-counter.patch
new file mode 100644
index 00000000000..61e9052876d
--- /dev/null
+++ b/main/freetype/freetype-2.8-loop-counter.patch
@@ -0,0 +1,36 @@
+From 8d435c463d22f6de35015b244d6f9bb433beb7e6 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl@gnu.org>
+Date: Thu, 1 Jun 2017 07:09:44 +0200
+Subject: [PATCH] * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter
+ again.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Marek Kašík <mkasik@redhat.com>.
+
+The problematic font that exceeds the old limit is Padauk-Bold,
+version 3.002, containing bytecode generated by a buggy version of
+ttfautohint.
+---
+ ChangeLog | 10 ++++++++++
+ src/truetype/ttinterp.c | 3 +--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
+index 0c48c256..775d1104 100644
+--- a/src/truetype/ttinterp.c
++++ b/src/truetype/ttinterp.c
+@@ -7649,8 +7649,7 @@
+ FT_MAX( 50,
+ exc->cvtSize / 10 );
+ else
+- exc->loopcall_counter_max = FT_MAX( 100,
+- 10 * exc->cvtSize );
++ exc->loopcall_counter_max = 300 + 8 * exc->cvtSize;
+
+ /* as a protection against an unreasonable number of CVT entries */
+ /* we assume at most 100 control values per glyph for the counter */
+--
+2.13.0
+
diff --git a/main/freetype/freetype-2.8-pcf-encoding.patch b/main/freetype/freetype-2.8-pcf-encoding.patch
new file mode 100644
index 00000000000..fd1c7061efa
--- /dev/null
+++ b/main/freetype/freetype-2.8-pcf-encoding.patch
@@ -0,0 +1,58 @@
+From 082f2faf5007812bac6a1f783c7dcc6f49d761fe Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl@gnu.org>
+Date: Wed, 24 May 2017 07:40:46 +0200
+Subject: [PATCH] [bdf, pcf] Support ISO646.1991-IRV character encoding (aka
+ ASCII).
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Marek Kašík <mkasik@redhat.com>, cf.
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1451795
+
+* src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdrivr.c
+(PCF_Face_Init): Implement it.
+---
+ ChangeLog | 11 +++++++++++
+ src/bdf/bdfdrivr.c | 6 +++++-
+ src/pcf/pcfdrivr.c | 6 +++++-
+ 3 files changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/src/bdf/bdfdrivr.c b/src/bdf/bdfdrivr.c
+index a2242be0..c0a5a5c5 100644
+--- a/src/bdf/bdfdrivr.c
++++ b/src/bdf/bdfdrivr.c
+@@ -545,7 +545,11 @@ THE SOFTWARE.
+ if ( !ft_strcmp( s, "10646" ) ||
+ ( !ft_strcmp( s, "8859" ) &&
+ !ft_strcmp( face->charset_encoding, "1" ) ) )
+- unicode_charmap = 1;
++ unicode_charmap = 1;
++ /* another name for ASCII */
++ else if ( !ft_strcmp( s, "646.1991" ) &&
++ !ft_strcmp( face->charset_encoding, "IRV" ) )
++ unicode_charmap = 1;
+ }
+
+ {
+diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
+index 9f4d36d1..50530941 100644
+--- a/src/pcf/pcfdrivr.c
++++ b/src/pcf/pcfdrivr.c
+@@ -387,7 +387,11 @@ THE SOFTWARE.
+ if ( !ft_strcmp( s, "10646" ) ||
+ ( !ft_strcmp( s, "8859" ) &&
+ !ft_strcmp( face->charset_encoding, "1" ) ) )
+- unicode_charmap = 1;
++ unicode_charmap = 1;
++ /* another name for ASCII */
++ else if ( !ft_strcmp( s, "646.1991" ) &&
++ !ft_strcmp( face->charset_encoding, "IRV" ) )
++ unicode_charmap = 1;
+ }
+ }
+
+--
+2.13.0
+