<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f3d5e006514a91f2d31d310c6a6af51b4fe1a2e1">https://github.com/macports/macports-ports/commit/f3d5e006514a91f2d31d310c6a6af51b4fe1a2e1</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new f3d5e00  gtk3 3.22.30: quartz - fixed HiDPI font rendering
</span>f3d5e00 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit f3d5e006514a91f2d31d310c6a6af51b4fe1a2e1
</span>Author: Friedrich Beckmann <friedrich.beckmann@gmx.de>
AuthorDate: Sun Nov 11 17:08:14 2018 +0100

<span style='display:block; white-space:pre;color:#404040;'>    gtk3 3.22.30: quartz - fixed HiDPI font rendering
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add a patch for the gtk3 3.22.30 release comprised of two
</span><span style='display:block; white-space:pre;color:#404040;'>    upstream releases:
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    https://github.com/GNOME/gtk/commit/828f634 and
</span><span style='display:block; white-space:pre;color:#404040;'>    https://github.com/GNOME/gtk/commit/bb376222c104aef0ec7e31b40959bc35eecf2253
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    to solve the font rendering
</span><span style='display:block; white-space:pre;color:#404040;'>    problem for the quartz backend of gtk on HiDPI screens
</span><span style='display:block; white-space:pre;color:#404040;'>    like the MacBookPro Retina. The 828f634 patch is already
</span><span style='display:block; white-space:pre;color:#404040;'>    in 3.24.1 and the bb3762 patch will be in 3.24.2. See
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    https://bugzilla.gnome.org/show_bug.cgi?id=787867
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    for a detailed discussion.
</span>---
 gnome/gtk3/Portfile                                |  2 +
 .../patch-quartz-hardcode-screen-resolution.patch  | 61 ++++++++++++++++++++++
 2 files changed, 63 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3/Portfile b/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0faa2c6..cc6fa2f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,6 +10,7 @@ name                gtk3
</span> set real_name       gtk+
 epoch               1
 version             3.22.30
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          gnome x11
 license             LGPL-2.1+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,6 +60,7 @@ patchfiles          O_CLOEXEC-10.6-and-earlier.patch
</span> 
 if {[variant_isset quartz]} {
     compiler.blacklist  *gcc-3.* *gcc-4.* {clang < 425}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-quartz-hardcode-screen-resolution.patch
</span> } else {
     compiler.blacklist  *gcc-3.* *gcc-4.* {clang < 300}
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3/files/patch-quartz-hardcode-screen-resolution.patch b/gnome/gtk3/files/patch-quartz-hardcode-screen-resolution.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..eb4ee37
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3/files/patch-quartz-hardcode-screen-resolution.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,61 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch comprises two upstream patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/GNOME/gtk/commit/828f634 and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/GNOME/gtk/commit/bb376222c104aef0ec7e31b40959bc35eecf2253
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for the gtk3 3.22.30 release to solve the font rendering
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+problem for the quartz backend of gtk on HiDPI screens
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+like the MacBookPro Retina. The 828f634 patch is already
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+in 3.24.1 and the bb3762 patch will be in 3.24.2. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bugzilla.gnome.org/show_bug.cgi?id=787867
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for a detailed discussion.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gdk/quartz/gdkscreen-quartz.c | 18 +++++++++++-------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 11 insertions(+), 7 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/gdk/quartz/gdkscreen-quartz.c b/gdk/quartz/gdkscreen-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 586f7af02a6..219338832ee 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkscreen-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkscreen-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -67,7 +67,7 @@ static void  gdk_quartz_screen_calculate_layout (GdkQuartzScreen *screen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void display_reconfiguration_callback (CGDirectDisplayID            display,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                               CGDisplayChangeSummaryFlags  flags,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                               void                        *userInfo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static const double dpi = 72.0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static gint get_mm_from_pixels (NSScreen *screen, int pixels);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ G_DEFINE_TYPE (GdkQuartzScreen, gdk_quartz_screen, GDK_TYPE_SCREEN);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -76,10 +76,17 @@ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gdk_quartz_screen_init (GdkQuartzScreen *quartz_screen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GdkScreen *screen = GDK_SCREEN (quartz_screen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSDictionary *dd = [[[NSScreen screens] objectAtIndex:0] deviceDescription];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSSize size = [[dd valueForKey:NSDeviceResolution] sizeValue];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* Screen resolution is used exclusively to pass to Pango for font
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * scaling. There's a long discussion in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * https://bugzilla.gnome.org/show_bug.cgi?id=787867 exploring how
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * screen resolution and pangocairo-coretext interact. The summary
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * is that MacOS takes care of scaling fonts for Retina screens and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * that while the Apple Documentation goes on about "points" they're
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * CSS points (96/in), not typeography points (72/in) and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * pangocairo-coretext needs to default to that scaling factor.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  _gdk_screen_set_resolution (screen, size.width);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  _gdk_screen_set_resolution (screen, dpi);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   gdk_quartz_screen_calculate_layout (quartz_screen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -335,9 +342,6 @@ static gint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ get_mm_from_pixels (NSScreen *screen, int pixels)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const float mm_per_inch = 25.4;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSDictionary *dd = [[[NSScreen screens] objectAtIndex:0] deviceDescription];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSSize size = [[dd valueForKey:NSDeviceResolution] sizeValue];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  float dpi = size.width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return (pixels / dpi) * mm_per_inch;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>