[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#929422: marked as done (unblock: ghostscript/9.27~dfsg-2)



Your message dated Thu, 23 May 2019 10:41:18 +0200
with message-id <e4f58a80-8371-188f-41a0-86beadb3537f@debian.org>
and subject line Re: Bug#929422: unblock: ghostscript/9.27~dfsg-2
has caused the Debian Bug report #929422,
regarding unblock: ghostscript/9.27~dfsg-2
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 owner@bugs.debian.org
immediately.)


-- 
929422: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=929422
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package ghostscript

 Upstream regression in 9.27 was fixed in ghostscript/9.27~dfsg-2
 with cherrypicking almost 50 lines of code, debdiff attached.


diff -Nru ghostscript-9.27~dfsg/debian/changelog ghostscript-9.27~dfsg/debian/changelog
--- ghostscript-9.27~dfsg/debian/changelog	2019-04-05 03:17:20.000000000 +0900
+++ ghostscript-9.27~dfsg/debian/changelog	2019-04-20 17:16:50.000000000 +0900
@@ -1,3 +1,11 @@
+ghostscript (9.27~dfsg-2) unstable; urgency=medium
+
+  * Add patch cherry-picked upstream
+    to fix regression resolving bounding box of font glyphs.
+    Closes: Bug#927429. Thanks to Kenshi Muto.
+
+ -- Jonas Smedegaard <dr@jones.dk>  Sat, 20 Apr 2019 10:16:50 +0200
+
 ghostscript (9.27~dfsg-1) unstable; urgency=high
 
   [ upstream ]
diff -Nru ghostscript-9.27~dfsg/debian/patches/020190410~06c9207.patch ghostscript-9.27~dfsg/debian/patches/020190410~06c9207.patch
--- ghostscript-9.27~dfsg/debian/patches/020190410~06c9207.patch	1970-01-01 09:00:00.000000000 +0900
+++ ghostscript-9.27~dfsg/debian/patches/020190410~06c9207.patch	2019-04-20 17:15:04.000000000 +0900
@@ -0,0 +1,91 @@
+Description: Fix regression resolving bounding box of font glyphs
+ Re-introduce over/underflow workaround
+ .
+ Commit 355434f4b1bbe8c4f98cafad5a6868aa2f0eaae1 reverted a workaround
+ that compensated for over/underflow in Freetype's TTF hinting
+ (related to freedom and projection vector calculations).
+ That problem no longer exists in recent Freetype releases,
+ and the workaround actually caused other issues to occur with hinting.
+ .
+ What wasn't obvious was
+ that the workaround also protected over/underflow issues
+ relating to the unitsPerEm value.
+ .
+ So this re-instates the workaround,
+ but bases the decision on how the final scale is distributing
+ between the Freetype "size" and the Freetype matrix
+ on the unitsPerEm value
+ (this is relevant for all font types
+ as for non-TTF font types
+ Freetype derives the unitsPerEm from the FontMatrix for PS type fonts).
+Origin: upstream, http://git.ghostscript.com/?p=ghostpdl.git;h=06c9207
+Author: Chris Liddell <chris.liddell@artifex.com>
+Forwarded: yes
+Bug: http://bugs.ghostscript.com/show_bug.cgi?id=700952
+Bug: http://bugs.ghostscript.com/show_bug.cgi?id=700875
+Bug-Debian: https://bugs.debian.org/927429
+Last-Update: 2019-04-20
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/base/fapi_ft.c
++++ b/base/fapi_ft.c
+@@ -974,13 +974,19 @@
+  */
+ static void
+ transform_decompose(FT_Matrix * a_transform, FT_UInt * xresp, FT_UInt * yresp,
+-                    FT_Fixed * a_x_scale, FT_Fixed * a_y_scale)
++                    FT_Fixed * a_x_scale, FT_Fixed * a_y_scale, int units_per_EM)
+ {
+     double scalex, scaley, fact = 1.0;
+     double factx = 1.0, facty = 1.0;
+     FT_Matrix ftscale_mat;
+     FT_UInt xres;
+     FT_UInt yres;
++    /* We have to account for units_per_EM as we fiddle with the scaling
++     * in order to avoid underflow (mostly in the TTF hinting code), but
++     * we also want to clamp to a lower value (512, admittedly arrived at
++     * via experimentation) in order to preserve the fidelity of the outlines.
++     */
++    double upe = units_per_EM > 512 ? (float)units_per_EM : 512.0;
+ 
+     scalex = hypot((double)a_transform->xx, (double)a_transform->xy);
+     scaley = hypot((double)a_transform->yx, (double)a_transform->yy);
+@@ -1067,10 +1073,25 @@
+         scalex *= fact;
+     }
+ 
+-    ftscale_mat.xx = (FT_Fixed) (65536.0 / scalex);
+-    ftscale_mat.xy = (FT_Fixed) 0;
+-    ftscale_mat.yx = (FT_Fixed) 0;
+-    ftscale_mat.yy = (FT_Fixed) (65536.0 / scaley);
++    /* see above */
++    fact = 1.0;
++    while (scaley * yres > (double)upe * 72.0 && (xres > 0 && yres > 0)
++           && (scalex > 0.0 && scaley > 0.0)) {
++        if (scaley < yres) {
++            xres >>= 1;
++            yres >>= 1;
++            fact *= 2.0;
++        }
++        else {
++            scalex /= 1.25;
++            scaley /= 1.25;
++        }
++    }
++
++    ftscale_mat.xx = (FT_Fixed) ((65536.0 / scalex) * fact);
++    ftscale_mat.xy = 0;
++    ftscale_mat.yx = 0;
++    ftscale_mat.yy = (FT_Fixed) ((65536.0 / scaley) * fact);
+ 
+     FT_Matrix_Multiply(a_transform, &ftscale_mat);
+     memcpy(a_transform, &ftscale_mat, sizeof(FT_Matrix));
+@@ -1315,7 +1336,7 @@
+          * transform.
+          */
+         transform_decompose(&face->ft_transform, &face->horz_res,
+-                            &face->vert_res, &face->width, &face->height);
++                            &face->vert_res, &face->width, &face->height, face->ft_face->units_per_EM);
+ 
+         ft_error = FT_Set_Char_Size(face->ft_face, face->width, face->height,
+                                     face->horz_res, face->vert_res);
diff -Nru ghostscript-9.27~dfsg/debian/patches/series ghostscript-9.27~dfsg/debian/patches/series
--- ghostscript-9.27~dfsg/debian/patches/series	2019-04-05 01:39:06.000000000 +0900
+++ ghostscript-9.27~dfsg/debian/patches/series	2019-04-20 17:09:53.000000000 +0900
@@ -1,3 +1,4 @@
+020190410~06c9207.patch
 2001_docdir_fix_for_debian.patch
 2002_gs_man_fix_debian.patch
 2003_support_multiarch.patch



unblock ghostscript/9.27~dfsg-2

--- End Message ---
--- Begin Message ---
Hi

On 23-05-2019 10:29, Hideki Yamane wrote:
> Please unblock package ghostscript

Unblocked, thanks.

And just for the future, it helps to have the meta data of the bug
correct. Please use the right severity of your bugs, you just filed this
as "normal".

Paul

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---

Reply to: