From 50fb64211513881dc7d13b15be97bf64a2aea954c2f9b6869e3a5d1a3a5c1db1 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 23 Aug 2021 08:35:15 +0000 Subject: [PATCH] Accepting request 912943 from GNOME:Next - Update to version 1.48.9: + Don't require a newly attached buffer to apply state. + Fix upside-down Xshape surface with EGLstream. + Misc. bug fixes and cleanups. + Updated translations. - Update to version 1.48.8: + Rename git `master` branch to `main` + Fix threadsafety issues with Thai + Fix a rounding problem on i386 + Fix font choice for ellipsis + Fix a crash if no fonts are found. - Drop 3ff6365.patch: Upstream have made various changes to the offending commit. OBS-URL: https://build.opensuse.org/request/show/912943 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/pango?expand=0&rev=226 --- 3ff6365.patch | 121 ------------------------------------------- _service | 2 +- pango-1.48.7.obscpio | 3 -- pango-1.48.9.obscpio | 3 ++ pango.changes | 21 ++++++++ pango.obsinfo | 6 +-- pango.spec | 7 +-- 7 files changed, 30 insertions(+), 133 deletions(-) delete mode 100644 3ff6365.patch delete mode 100644 pango-1.48.7.obscpio create mode 100644 pango-1.48.9.obscpio diff --git a/3ff6365.patch b/3ff6365.patch deleted file mode 100644 index e817540..0000000 --- a/3ff6365.patch +++ /dev/null @@ -1,121 +0,0 @@ -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 1df82c1..df4b8e3 100644 --- a/_service +++ b/_service @@ -2,7 +2,7 @@ https://gitlab.gnome.org/GNOME/pango.git git - 1.48.7 + 1.48.9 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 diff --git a/pango-1.48.7.obscpio b/pango-1.48.7.obscpio deleted file mode 100644 index a1c6237..0000000 --- a/pango-1.48.7.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75cfc2a22b159ceae580fec1f1b32d707019d1f6a68b95a6c9e478a5911ffffe -size 3360268 diff --git a/pango-1.48.9.obscpio b/pango-1.48.9.obscpio new file mode 100644 index 0000000..e838d6c --- /dev/null +++ b/pango-1.48.9.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df47c33d7f826400a70b40bac20089deaaaccec69f4b530a626dd6da111da43f +size 3444236 diff --git a/pango.changes b/pango.changes index d3b75cf..406b2e5 100644 --- a/pango.changes +++ b/pango.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Aug 18 17:36:58 UTC 2021 - Bjørn Lie + +- Update to version 1.48.9: + + Don't require a newly attached buffer to apply state. + + Fix upside-down Xshape surface with EGLstream. + + Misc. bug fixes and cleanups. + + Updated translations. + +------------------------------------------------------------------- +Thu Aug 12 12:43:30 UTC 2021 - Bjørn Lie + +- Update to version 1.48.8: + + Rename git `master` branch to `main` + + Fix threadsafety issues with Thai + + Fix a rounding problem on i386 + + Fix font choice for ellipsis + + Fix a crash if no fonts are found. +- Drop 3ff6365.patch: Upstream have made various changes to the + offending commit. + ------------------------------------------------------------------- Tue Jul 13 17:29:05 UTC 2021 - Dominique Leuenberger diff --git a/pango.obsinfo b/pango.obsinfo index 98e53b3..1e11392 100644 --- a/pango.obsinfo +++ b/pango.obsinfo @@ -1,5 +1,5 @@ name: pango -version: 1.48.7 -mtime: 1625320606 -commit: 467bda1e0bc2614b10e2edc46dccc9588388e045 +version: 1.48.9 +mtime: 1629260767 +commit: c704c8b7e096dd3d3fd684463ef0e7860c2c2db3 diff --git a/pango.spec b/pango.spec index c67650b..7f8d147 100644 --- a/pango.spec +++ b/pango.spec @@ -17,7 +17,7 @@ Name: pango -Version: 1.48.7 +Version: 1.48.9 Release: 0 Summary: Library for Layout and Rendering of Text License: LGPL-2.1-or-later @@ -26,8 +26,6 @@ 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 @@ -36,7 +34,7 @@ BuildRequires: pkgconfig BuildRequires: pkgconfig(cairo) >= 1.12.10 BuildRequires: pkgconfig(fontconfig) >= 2.11.91 BuildRequires: pkgconfig(freetype2) -BuildRequires: pkgconfig(fribidi) >= 0.19.7 +BuildRequires: pkgconfig(fribidi) >= 1.0.6 BuildRequires: pkgconfig(glib-2.0) >= 2.62 BuildRequires: pkgconfig(gobject-2.0) >= 2.59.2 BuildRequires: pkgconfig(gobject-introspection-1.0) @@ -120,7 +118,6 @@ to develop applications that require these. %prep %setup -%patch0 -p1 -R %build %meson \