Your message dated Sat, 08 Feb 2020 14:23:35 +0000
with message-id
<a894a0233c2d264936953d7a69507573c4a5742a.ca...@adam-barratt.org.uk>
and subject line Closing bugs included in 9.12
has caused the Debian Bug report #933263,
regarding stretch-pu: package freetype/2.6.3-3.2+deb9u1
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
933263: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933263
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: stretch
User: [email protected]
Usertags: pu
FreeType versions 2.6.2 to 2.6.5 incorrectly handle deltas in TrueType GX
fonts.
Variable hinted fonts, such as Google's Oswald, are rendered with each glyph
aligned on top of each other, as though the font has disappeared.
This proposed update adds an upstream patch to fix the issue, which affects
both Chromium and Firefox.
Google's Oswald font is used on 8.3 million websites.
Please consider adding this update to the upcoming Debian 9.10 point release.
A debdiff is attached.
Hugh
System Information:
Debian Release: bullseye/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.19.0-5-amd64 (SMP w/2 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8),
LANGUAGE=en_AU:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
diff -u freetype-2.6.3/debian/changelog freetype-2.6.3/debian/changelog
--- freetype-2.6.3/debian/changelog
+++ freetype-2.6.3/debian/changelog
@@ -1,3 +1,11 @@
+freetype (2.6.3-3.2+deb9u10) stretch; urgency=medium
+
+ * Add an upstream patch to correctly handle deltas in TrueType GX fonts
+ (Closes: 929982). This patch will allow variable hinted fonts to render
+ correctly in Chromium and Firefox.
+
+ -- Hugh McMaster <[email protected]> Sun, 28 Jul 2019 19:35:12 +1000
+
freetype (2.6.3-3.2) unstable; urgency=high
* Non-maintainer upload.
diff -u freetype-2.6.3/debian/patches-freetype/series
freetype-2.6.3/debian/patches-freetype/series
--- freetype-2.6.3/debian/patches-freetype/series
+++ freetype-2.6.3/debian/patches-freetype/series
@@ -1,3 +1,4 @@
+fix-GX-delta-handling.patch
no-uninitialized-bbox.patch
freetype-2.1.7-backwards.compat.patch -p0
enable-subpixel-rendering.patch
--- freetype-2.6.3.orig/debian/patches-freetype/fix-GX-delta-handling.patch
+++ freetype-2.6.3/debian/patches-freetype/fix-GX-delta-handling.patch
@@ -0,0 +1,54 @@
+Description: Fix handling of deltas in TrueType GX fonts
+ FreeType versions 2.6.2 to 2.6.5 incorrectly handle deltas in TrueType GX
fonts.
+ - Correctly handle the sanity test for glyph variation array header size.
+ - Always set stream position before reading packed x and y deltas.
+Author: Werner Lemberg <[email protected]>
+Bug-Debian: https://bugs.debian.org/929982
+Forwarded: not-needed
+
+Index: freetype-2.6.3/src/truetype/ttgxvar.c
+===================================================================
+--- freetype-2.6.3.orig/src/truetype/ttgxvar.c
++++ freetype-2.6.3/src/truetype/ttgxvar.c
+@@ -1877,7 +1877,8 @@
+ offsetToData = FT_GET_USHORT();
+
+ /* rough sanity test */
+- if ( offsetToData + tupleCount * 4 > blend->gvar_size )
++ if ( offsetToData + ( tupleCount & GX_TC_TUPLE_COUNT_MASK ) * 4 >
++ blend->gvar_size )
+ {
+ FT_TRACE2(( "TT_Vary_Apply_Glyph_Deltas:"
+ " invalid glyph variation array header\n" ));
+@@ -1959,10 +1960,10 @@
+
+ here = FT_Stream_FTell( stream );
+
++ FT_Stream_SeekSet( stream, offsetToData );
++
+ if ( tupleIndex & GX_TI_PRIVATE_POINT_NUMBERS )
+ {
+- FT_Stream_SeekSet( stream, offsetToData );
+-
+ localpoints = ft_var_readpackedpoints( stream,
+ blend->gvar_size,
+ &point_count );
+@@ -2027,9 +2028,6 @@
+ #endif
+ }
+
+- else if ( localpoints == NULL )
+- ; /* failure, ignore it */
+-
+ else
+ {
+ #ifdef FT_DEBUG_LEVEL_TRACE
+@@ -2047,7 +2045,7 @@
+
+ for ( j = 0; j < point_count; j++ )
+ {
+- FT_UShort idx = localpoints[j];
++ FT_UShort idx = points[j];
+
+
+ if ( idx >= n_points )
--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 9.12
Hi,
Each of the uploads referred to by these bugs was included in today's
oldstable point release.
Regards,
Adam
--- End Message ---