[arch-commits] Commit in pango/trunk (3 files)

Jan Steffens heftig at archlinux.org
Tue Feb 11 03:31:40 UTC 2020


    Date: Tuesday, February 11, 2020 @ 03:31:39
  Author: heftig
Revision: 375266

1.44.7+11+g73b46b04-1: FS#63914

Added:
  pango/trunk/0001-Use-shape-flags-for-tab-width.patch
  pango/trunk/test.diff
Modified:
  pango/trunk/PKGBUILD

------------------------------------------+
 0001-Use-shape-flags-for-tab-width.patch |   41 +++++++++++++++++++++++++++++
 PKGBUILD                                 |   19 ++++++++++---
 test.diff                                |   31 +++++++++++++++++++++
 3 files changed, 87 insertions(+), 4 deletions(-)

Added: 0001-Use-shape-flags-for-tab-width.patch
===================================================================
--- 0001-Use-shape-flags-for-tab-width.patch	                        (rev 0)
+++ 0001-Use-shape-flags-for-tab-width.patch	2020-02-11 03:31:39 UTC (rev 375266)
@@ -0,0 +1,41 @@
+From 8a0d057212a307fdb4612b52a0becf678d726d33 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at gmail.com>
+Date: Tue, 11 Feb 2020 03:51:19 +0100
+Subject: [PATCH] Use shape flags for tab width
+
+We need to apply the right shape flags to the tab width calculation,
+otherwise (when glyph positions get rounded, which is the default) our
+tab width will be slightly off from what 8 spaces normally produce.
+
+https://gitlab.gnome.org/GNOME/pango/issues/425
+---
+ pango/pango-layout.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/pango/pango-layout.c b/pango/pango-layout.c
+index 44d59367..643f5623 100644
+--- a/pango/pango-layout.c
++++ b/pango/pango-layout.c
+@@ -3061,6 +3061,10 @@ ensure_tab_width (PangoLayout *layout)
+       PangoAttrIterator *iter;
+       PangoFontDescription *font_desc = pango_font_description_copy_static (pango_context_get_font_description (layout->context));
+       PangoLanguage *language;
++      PangoShapeFlags shape_flags = PANGO_SHAPE_NONE;
++
++      if (pango_context_get_round_glyph_positions (layout->context))
++        shape_flags |= PANGO_SHAPE_ROUND_POSITIONS;
+ 
+       layout_attrs = pango_layout_get_effective_attributes (layout);
+       iter = pango_attr_list_get_iterator (layout_attrs);
+@@ -3089,7 +3093,7 @@ ensure_tab_width (PangoLayout *layout)
+       pango_attr_list_unref (tmp_attrs);
+ 
+       item = items->data;
+-      pango_shape ("        ", 8, &item->analysis, glyphs);
++      pango_shape_with_flags ("        ", 8, "        ", 8, &item->analysis, glyphs, shape_flags);
+ 
+       pango_item_free (item);
+       g_list_free (items);
+-- 
+2.25.0
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-02-10 23:24:56 UTC (rev 375265)
+++ PKGBUILD	2020-02-11 03:31:39 UTC (rev 375266)
@@ -1,7 +1,7 @@
 # Maintainer: Jan de Groot <jgc at archlinux.org>
 
 pkgname=pango
-pkgver=1.44.7
+pkgver=1.44.7+11+g73b46b04
 pkgrel=1
 epoch=1
 pkgdesc="A library for layout and rendering of text"
@@ -11,9 +11,14 @@
 depends=(libthai cairo libxft harfbuzz fribidi)
 makedepends=(gobject-introspection help2man gtk-doc git meson)
 checkdepends=(ttf-dejavu cantarell-fonts)
-_commit=9f03d48261cb25e59ba029b194e70881d6ae8f37  # tags/1.44.7^0
-source=("git+https://gitlab.gnome.org/GNOME/pango.git#commit=$_commit")
-sha256sums=('SKIP')
+provides=(libpango{,cairo,ft2,xft}-1.0.so)
+_commit=73b46b04c724335ad73534cc69955baa2388b861  # pango-1-44
+source=("git+https://gitlab.gnome.org/GNOME/pango.git#commit=$_commit"
+        0001-Use-shape-flags-for-tab-width.patch
+        test.diff)
+sha256sums=('SKIP'
+            'd87bf1bb8dcd7edba0d8f49ddc7fd6bd9965f21a38f186fbfb297828ad53f4d1'
+            '401b51f3aee44510fc94878b5549ff4a4a6d79584b5d6df2dd7e0978b9d574ce')
 
 pkgver() {
   cd pango
@@ -22,6 +27,12 @@
 
 prepare() {
   cd pango
+
+  # https://bugs.archlinux.org/task/63914
+  git apply -3 ../0001-Use-shape-flags-for-tab-width.patch
+
+  # Harmless test case failure; could be from Cantarell update
+  git apply -3 ../test.diff
 }
 
 build() {

Added: test.diff
===================================================================
--- test.diff	                        (rev 0)
+++ test.diff	2020-02-11 03:31:39 UTC (rev 375266)
@@ -0,0 +1,31 @@
+diff --git i/tests/layouts/valid-4.expected w/tests/layouts/valid-4.expected
+index 09f143f3..495f6b43 100644
+--- i/tests/layouts/valid-4.expected
++++ w/tests/layouts/valid-4.expected
+@@ -16,21 +16,21 @@ range 0 2147483647
+ i=1, index=0, paragraph-start=1, dir=ltr 'This paragraph should ac­tual­'
+ i=2, index=32, paragraph-start=0, dir=ltr 'ly have multiple lines, unlike '
+ i=3, index=63, paragraph-start=0, dir=ltr 'all the other wannabe äöü pa­'
+-i=4, index=96, paragraph-start=0, dir=ltr 'ra­graph tests in this ugh '
+-i=5, index=124, paragraph-start=0, dir=ltr 'test-case. Grow some lines!
++i=4, index=96, paragraph-start=0, dir=ltr 'ra­graph tests in this ugh test-'
++i=5, index=129, paragraph-start=0, dir=ltr 'case. Grow some lines!
+ '
+ i=6, index=152, paragraph-start=1, dir=ltr ''
+ 
+ --- runs
+ 
+ i=1, index=0, chars=30, level=0, gravity=south, flags=4, font=OMITTED, script=latin, language=en-us, 'This paragraph should ac­tual­'
+ i=2, index=32, no run, line end
+ i=3, index=32, chars=31, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ly have multiple lines, unlike '
+ i=4, index=63, no run, line end
+ i=5, index=63, chars=29, level=0, gravity=south, flags=4, font=OMITTED, script=latin, language=en-us, 'all the other wannabe äöü pa­'
+ i=6, index=96, no run, line end
+-i=7, index=96, chars=27, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ra­graph tests in this ugh '
+-i=8, index=124, no run, line end
+-i=9, index=124, chars=27, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'test-case. Grow some lines!'
++i=7, index=96, chars=32, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'ra­graph tests in this ugh test-'
++i=8, index=129, no run, line end
++i=9, index=129, chars=22, level=0, gravity=south, flags=0, font=OMITTED, script=latin, language=en-us, 'case. Grow some lines!'
+ i=10, index=151, no run, line end
+ i=11, index=152, no run, line end



More information about the arch-commits mailing list