Date: Tuesday, February 11, 2020 @ 03:32:13 Author: heftig Revision: 375267
archrelease: copy trunk to extra-x86_64 Added: pango/repos/extra-x86_64/0001-Use-shape-flags-for-tab-width.patch (from rev 375266, pango/trunk/0001-Use-shape-flags-for-tab-width.patch) pango/repos/extra-x86_64/PKGBUILD (from rev 375266, pango/trunk/PKGBUILD) pango/repos/extra-x86_64/test.diff (from rev 375266, pango/trunk/test.diff) Deleted: pango/repos/extra-x86_64/PKGBUILD ------------------------------------------+ 0001-Use-shape-flags-for-tab-width.patch | 41 +++++++++++++ PKGBUILD | 87 ++++++++++++++++------------- test.diff | 31 ++++++++++ 3 files changed, 121 insertions(+), 38 deletions(-) Copied: pango/repos/extra-x86_64/0001-Use-shape-flags-for-tab-width.patch (from rev 375266, pango/trunk/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:32:13 UTC (rev 375267) @@ -0,0 +1,41 @@ +From 8a0d057212a307fdb4612b52a0becf678d726d33 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steff...@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 + Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-02-11 03:31:39 UTC (rev 375266) +++ PKGBUILD 2020-02-11 03:32:13 UTC (rev 375267) @@ -1,38 +0,0 @@ -# Maintainer: Jan de Groot <j...@archlinux.org> - -pkgname=pango -pkgver=1.44.7 -pkgrel=1 -epoch=1 -pkgdesc="A library for layout and rendering of text" -url="https://www.pango.org/" -arch=(x86_64) -license=(LGPL) -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') - -pkgver() { - cd pango - git describe --tags | sed 's/-/+/g' -} - -prepare() { - cd pango -} - -build() { - arch-meson pango build -D gtk_doc=true - ninja -C build -} - -check() { - meson test -C build --print-errorlogs -} - -package() { - DESTDIR="$pkgdir" meson install -C build -} Copied: pango/repos/extra-x86_64/PKGBUILD (from rev 375266, pango/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-02-11 03:32:13 UTC (rev 375267) @@ -0,0 +1,49 @@ +# Maintainer: Jan de Groot <j...@archlinux.org> + +pkgname=pango +pkgver=1.44.7+11+g73b46b04 +pkgrel=1 +epoch=1 +pkgdesc="A library for layout and rendering of text" +url="https://www.pango.org/" +arch=(x86_64) +license=(LGPL) +depends=(libthai cairo libxft harfbuzz fribidi) +makedepends=(gobject-introspection help2man gtk-doc git meson) +checkdepends=(ttf-dejavu cantarell-fonts) +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 + git describe --tags | sed 's/-/+/g' +} + +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() { + arch-meson pango build -D gtk_doc=true + ninja -C build +} + +check() { + meson test -C build --print-errorlogs +} + +package() { + DESTDIR="$pkgdir" meson install -C build +} Copied: pango/repos/extra-x86_64/test.diff (from rev 375266, pango/trunk/test.diff) =================================================================== --- test.diff (rev 0) +++ test.diff 2020-02-11 03:32:13 UTC (rev 375267) @@ -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