From 4d95d4c59ac0ff2dde2ebaa3b7668ad58db357ba3f5317272595689a13b9be6c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 5 Jul 2021 13:36:05 +0000 Subject: [PATCH 1/3] Accepting request 903118 from GNOME:Next OBS-URL: https://build.opensuse.org/request/show/903118 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/pango?expand=0&rev=223 --- _service | 2 +- pango-1.48.5.obscpio | 3 --- pango-1.48.6.obscpio | 3 +++ pango.changes | 6 ++++++ pango.obsinfo | 6 +++--- pango.spec | 3 ++- 6 files changed, 15 insertions(+), 8 deletions(-) delete mode 100644 pango-1.48.5.obscpio create mode 100644 pango-1.48.6.obscpio diff --git a/_service b/_service index 78a7355..216e5d7 100644 --- a/_service +++ b/_service @@ -2,7 +2,7 @@ https://gitlab.gnome.org/GNOME/pango.git git - refs/tags/1.48.5 + refs/tags/1.48.6 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 diff --git a/pango-1.48.5.obscpio b/pango-1.48.5.obscpio deleted file mode 100644 index 5832662..0000000 --- a/pango-1.48.5.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bcd03268ec4fc5813e11e4cf360ef91589b030199ec4d88bee39137648a9b6ab -size 3303436 diff --git a/pango-1.48.6.obscpio b/pango-1.48.6.obscpio new file mode 100644 index 0000000..eb31122 --- /dev/null +++ b/pango-1.48.6.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ccb19b70c830c36e66e23ad5bd3d8775b08b5d92d4b90192b3756155700912f +size 3359244 diff --git a/pango.changes b/pango.changes index 9507299..e526d22 100644 --- a/pango.changes +++ b/pango.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 29 16:22:13 UTC 2021 - Bjørn Lie + +- Update to version 1.48.6: + + No upstream changelog provided. + ------------------------------------------------------------------- Tue May 18 16:16:14 UTC 2021 - Michael Gorse diff --git a/pango.obsinfo b/pango.obsinfo index 35562a2..170d594 100644 --- a/pango.obsinfo +++ b/pango.obsinfo @@ -1,5 +1,5 @@ name: pango -version: 1.48.5 -mtime: 1621345915 -commit: 3940a1714e84b076d04d4638c88df3dba7d8014e +version: 1.48.6 +mtime: 1624980682 +commit: 61763238b548d717d0772f31467ad7e9b6a557ae diff --git a/pango.spec b/pango.spec index 39e9479..79c3df8 100644 --- a/pango.spec +++ b/pango.spec @@ -17,7 +17,7 @@ Name: pango -Version: 1.48.5 +Version: 1.48.6 Release: 0 Summary: Library for Layout and Rendering of Text License: LGPL-2.1-or-later @@ -154,6 +154,7 @@ cp %{SOURCE2} %{buildroot}%_rpmmacrodir %files tools %{_bindir}/pango-list +%{_bindir}/pango-segmentation %{_bindir}/pango-view %{_mandir}/man1/pango-view.1%{ext_man} From 676463db2e0f1680b4e2f4e6d04f3459eb353543280ebaa8737e7db061e764aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Thu, 8 Jul 2021 10:13:51 +0000 Subject: [PATCH 2/3] Accepting request 904217 from GNOME:Next OBS-URL: https://build.opensuse.org/request/show/904217 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/pango?expand=0&rev=224 --- _service | 2 +- pango-1.48.6.obscpio | 3 --- pango-1.48.7.obscpio | 3 +++ pango.changes | 15 ++++++++++++++- pango.obsinfo | 6 +++--- pango.spec | 2 +- 6 files changed, 22 insertions(+), 9 deletions(-) delete mode 100644 pango-1.48.6.obscpio create mode 100644 pango-1.48.7.obscpio diff --git a/_service b/_service index 216e5d7..e020798 100644 --- a/_service +++ b/_service @@ -2,7 +2,7 @@ https://gitlab.gnome.org/GNOME/pango.git git - refs/tags/1.48.6 + refs/tags/1.48.7 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 diff --git a/pango-1.48.6.obscpio b/pango-1.48.6.obscpio deleted file mode 100644 index eb31122..0000000 --- a/pango-1.48.6.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ccb19b70c830c36e66e23ad5bd3d8775b08b5d92d4b90192b3756155700912f -size 3359244 diff --git a/pango-1.48.7.obscpio b/pango-1.48.7.obscpio new file mode 100644 index 0000000..90ff624 --- /dev/null +++ b/pango-1.48.7.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:569162bd73d7a44dbd93636693d65666502f82e498e9c4b4e15efe42abdacaad +size 3360268 diff --git a/pango.changes b/pango.changes index e526d22..e8555bb 100644 --- a/pango.changes +++ b/pango.changes @@ -1,8 +1,21 @@ +------------------------------------------------------------------- +Mon Jul 5 10:18:45 UTC 2021 - Bjørn Lie + +- Update to version 1.48.7: + + Fix a thread-safety issue in fontmap initialization. + + Small documentation improvements. + ------------------------------------------------------------------- Tue Jun 29 16:22:13 UTC 2021 - Bjørn Lie - Update to version 1.48.6: - + No upstream changelog provided. + + Avoid attribute index overflow. + + Add a new pango-segmentation utility. + + Documentation cleanups and fixes. + + Update script property data for gravity. + + Bring back careful glyph position rounding. + + Add a few missing bidi types. + + Add more tests. ------------------------------------------------------------------- Tue May 18 16:16:14 UTC 2021 - Michael Gorse diff --git a/pango.obsinfo b/pango.obsinfo index 170d594..98e53b3 100644 --- a/pango.obsinfo +++ b/pango.obsinfo @@ -1,5 +1,5 @@ name: pango -version: 1.48.6 -mtime: 1624980682 -commit: 61763238b548d717d0772f31467ad7e9b6a557ae +version: 1.48.7 +mtime: 1625320606 +commit: 467bda1e0bc2614b10e2edc46dccc9588388e045 diff --git a/pango.spec b/pango.spec index 79c3df8..a44a7c5 100644 --- a/pango.spec +++ b/pango.spec @@ -17,7 +17,7 @@ Name: pango -Version: 1.48.6 +Version: 1.48.7 Release: 0 Summary: Library for Layout and Rendering of Text License: LGPL-2.1-or-later From e1b472270a750c7fad6c4bb2cf5642363f081c387e2c23c26773de81ebecfe3e Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 19 Jul 2021 07:43:04 +0000 Subject: [PATCH 3/3] Accepting request 906179 from GNOME:Next - Add 3ff6365.patch, reverse applied: fix build of e.g. g-c-c. This commit introduced a requirement to run X. OBS-URL: https://build.opensuse.org/request/show/906179 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/pango?expand=0&rev=225 --- 3ff6365.patch | 121 +++++++++++++++++++++++++++++++++++++++++++ _service | 2 +- pango-1.48.7.obscpio | 2 +- pango.changes | 6 +++ pango.spec | 5 +- 5 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 3ff6365.patch diff --git a/3ff6365.patch b/3ff6365.patch new file mode 100644 index 0000000..e817540 --- /dev/null +++ b/3ff6365.patch @@ -0,0 +1,121 @@ +From d4356779945855f7cc950dbe162285ccf21bcce9 Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Sun, 27 Jun 2021 11:31:13 -0400 +Subject: [PATCH] shape: Bring back careful rounding code + +When we added the round-glyph-positions option in +c43da2d3 and b5634799, we lost some code that was careful +to round in device coordinates. + +The reason we lost it is that the rounding needs fontconfig- +specific data that is only available in the backend, and the +rounding now happens in the frontend. + +Bringing it back is annoying, since we've run out of vfunc +slots to get info from the backend. This commit works around +that limitation in a hacky way. + +Fixes: #562 +--- + pango/shape.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 73 insertions(+), 4 deletions(-) + +diff --git a/pango/shape.c b/pango/shape.c +index 04407732..b870ecad 100644 +--- a/pango/shape.c ++++ b/pango/shape.c +@@ -151,6 +151,32 @@ fallback_shape (const char *text, + pango_glyph_string_reverse_range (glyphs, 0, glyphs->num_glyphs); + } + ++/* FIXME: This is very ugly. We are out of room for vfuncs, so we can't ++ * easily add api to get is_hinted and the matrix from the PangoFcFont. ++ * ++ * Keep in sync with pangofc-font.h! ++ */ ++struct _PangoFcFont ++{ ++ PangoFont parent_instance; ++ ++ gpointer font_pattern; /* fully resolved pattern */ ++ PangoFontMap *fontmap; /* associated map */ ++ gpointer priv; /* used internally */ ++ PangoMatrix matrix; /* used internally */ ++ PangoFontDescription *description; ++ ++ GSList *metrics_by_lang; ++ ++ guint is_hinted : 1; ++ guint is_transformed : 1; ++}; ++typedef struct _PangoFcFont PangoFcFont; ++ ++#define PANGO_IS_FC_FONT(obj) \ ++ g_type_is_a (((GTypeInstance*)obj)->g_class->g_type, \ ++ g_type_from_name ("PangoFcFont")) ++ + /** + * pango_shape_with_flags: + * @item_text: valid UTF-8 text to shape +@@ -294,11 +320,54 @@ pango_shape_with_flags (const gchar *item_text, + + if (flags & PANGO_SHAPE_ROUND_POSITIONS) + { +- for (i = 0; i < glyphs->num_glyphs; i++) ++ if (PANGO_IS_FC_FONT (analysis->font)) + { +- glyphs->glyphs[i].geometry.width = PANGO_UNITS_ROUND (glyphs->glyphs[i].geometry.width ); +- glyphs->glyphs[i].geometry.x_offset = PANGO_UNITS_ROUND (glyphs->glyphs[i].geometry.x_offset); +- glyphs->glyphs[i].geometry.y_offset = PANGO_UNITS_ROUND (glyphs->glyphs[i].geometry.y_offset); ++ PangoFcFont *fc_font = (PangoFcFont *)analysis->font; ++ if (fc_font->is_hinted) ++ { ++ double x_scale_inv, y_scale_inv; ++ double x_scale, y_scale; ++ ++ x_scale_inv = y_scale_inv = 1.0; ++ pango_matrix_get_font_scale_factors (&fc_font->matrix, &x_scale_inv, &y_scale_inv); ++ if (PANGO_GRAVITY_IS_IMPROPER (analysis->gravity)) ++ { ++ x_scale_inv = -x_scale_inv; ++ y_scale_inv = -y_scale_inv; ++ } ++ x_scale = 1. / x_scale_inv; ++ y_scale = 1. / y_scale_inv; ++ ++ if (x_scale == 1.0 && y_scale == 1.0) ++ { ++ for (i = 0; i < glyphs->num_glyphs; i++) ++ glyphs->glyphs[i].geometry.width = PANGO_UNITS_ROUND (glyphs->glyphs[i].geometry.width); ++ } ++ else ++ { ++ #if 0 ++ if (PANGO_GRAVITY_IS_VERTICAL (analysis->gravity)) ++ { ++ /* XXX */ ++ double tmp = x_scale; ++ x_scale = y_scale; ++ y_scale = -tmp; ++ } ++ #endif ++ #define HINT(value, scale_inv, scale) (PANGO_UNITS_ROUND ((int) ((value) * scale)) * scale_inv) ++ #define HINT_X(value) HINT ((value), x_scale, x_scale_inv) ++ #define HINT_Y(value) HINT ((value), y_scale, y_scale_inv) ++ for (i = 0; i < glyphs->num_glyphs; i++) ++ { ++ glyphs->glyphs[i].geometry.width = HINT_X (glyphs->glyphs[i].geometry.width); ++ glyphs->glyphs[i].geometry.x_offset = HINT_X (glyphs->glyphs[i].geometry.x_offset); ++ glyphs->glyphs[i].geometry.y_offset = HINT_Y (glyphs->glyphs[i].geometry.y_offset); ++ } ++ #undef HINT_Y ++ #undef HINT_X ++ #undef HINT ++ } ++ } + } + } + } +-- +GitLab + diff --git a/_service b/_service index e020798..1df82c1 100644 --- a/_service +++ b/_service @@ -2,7 +2,7 @@ https://gitlab.gnome.org/GNOME/pango.git git - refs/tags/1.48.7 + 1.48.7 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 diff --git a/pango-1.48.7.obscpio b/pango-1.48.7.obscpio index 90ff624..a1c6237 100644 --- a/pango-1.48.7.obscpio +++ b/pango-1.48.7.obscpio @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:569162bd73d7a44dbd93636693d65666502f82e498e9c4b4e15efe42abdacaad +oid sha256:75cfc2a22b159ceae580fec1f1b32d707019d1f6a68b95a6c9e478a5911ffffe size 3360268 diff --git a/pango.changes b/pango.changes index e8555bb..d3b75cf 100644 --- a/pango.changes +++ b/pango.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jul 13 17:29:05 UTC 2021 - Dominique Leuenberger + +- Add 3ff6365.patch, reverse applied: fix build of e.g. g-c-c. This + commit introduced a requirement to run X. + ------------------------------------------------------------------- Mon Jul 5 10:18:45 UTC 2021 - Bjørn Lie diff --git a/pango.spec b/pango.spec index a44a7c5..c67650b 100644 --- a/pango.spec +++ b/pango.spec @@ -26,6 +26,8 @@ URL: https://pango.gnome.org/ Source0: %{name}-%{version}.tar.xz Source2: macros.pango Source99: baselibs.conf +# PATCH-FIX-UPSTREAM 3ff6365.patch dimstar@opensuse.org -- Revert upstream commit, introduces runtime dep on X +Patch0: https://gitlab.gnome.org/GNOME/pango/-/commit/3ff6365.patch BuildRequires: gcc-c++ BuildRequires: help2man @@ -117,7 +119,8 @@ This package contains all necessary include files and libraries needed to develop applications that require these. %prep -%autosetup -p1 +%setup +%patch0 -p1 -R %build %meson \