[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 actual'
+ 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 'ragraph 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 'ragraph 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 actual'
+ 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, 'ragraph 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, 'ragraph 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