Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pango for openSUSE:Factory checked in at 2021-04-24 23:06:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pango (Old) and /work/SRC/openSUSE:Factory/.pango.new.12324 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pango" Sat Apr 24 23:06:47 2021 rev:129 rq:887483 version:1.48.4 Changes: -------- --- /work/SRC/openSUSE:Factory/pango/pango.changes 2021-03-21 23:19:22.752718823 +0100 +++ /work/SRC/openSUSE:Factory/.pango.new.12324/pango.changes 2021-04-24 23:06:55.995206459 +0200 @@ -1,0 +2,11 @@ +Sat Apr 17 08:42:22 UTC 2021 - Dominique Leuenberger <[email protected]> + +- Update to version 1.48.4: + + Include docs in the dist tarball. + + Include gi-docgen in the dist tarball, too. + + win32: Fix 'Cursive' fallback. + + Fix placement of marks in vertical text. + + Cache metrics for the current font. + + Improve letterspacing with combining marks. + +------------------------------------------------------------------- Old: ---- pango-1.48.3.obscpio New: ---- pango-1.48.4.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pango.spec ++++++ --- /var/tmp/diff_new_pack.g5gejn/_old 2021-04-24 23:06:57.047207947 +0200 +++ /var/tmp/diff_new_pack.g5gejn/_new 2021-04-24 23:06:57.047207947 +0200 @@ -17,7 +17,7 @@ Name: pango -Version: 1.48.3 +Version: 1.48.4 Release: 0 Summary: Library for Layout and Rendering of Text License: LGPL-2.1-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.g5gejn/_old 2021-04-24 23:06:57.079207992 +0200 +++ /var/tmp/diff_new_pack.g5gejn/_new 2021-04-24 23:06:57.079207992 +0200 @@ -2,7 +2,7 @@ <service name="obs_scm" mode="disabled"> <param name="url">https://gitlab.gnome.org/GNOME/pango.git</param> <param name="scm">git</param> - <param name="revision">refs/tags/1.48.3</param> + <param name="revision">refs/tags/1.48.4</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ pango-1.48.3.obscpio -> pango-1.48.4.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/.gitlab-ci/run-tests.sh new/pango-1.48.4/.gitlab-ci/run-tests.sh --- old/pango-1.48.3/.gitlab-ci/run-tests.sh 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/.gitlab-ci/run-tests.sh 2021-03-27 02:54:41.000000000 +0100 @@ -7,7 +7,7 @@ builddir=$1 # Ignore memory leaks lower in dependencies -export LSAN_OPTIONS=suppressions=$srcdir/lsan.supp:print_suppressions=0 +export LSAN_OPTIONS=fast_unwind_on_malloc=0:suppressions=$srcdir/lsan.supp:print_suppressions=0 # Check leaks of slices export G_SLICE=always-malloc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/NEWS new/pango-1.48.4/NEWS --- old/pango-1.48.3/NEWS 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/NEWS 2021-03-27 02:54:41.000000000 +0100 @@ -1,3 +1,12 @@ +Overview of changes in 1.48.4 +============================= +- Include docs in the dist tarball +- Include gi-docgen in the dist tarball, too +- win32: Fix 'Cursive' fallback +- Fix placement of marks in vertical text +- Cache metrics for the current font +- Improve letterspacing with combining marks + Overview of changes in 1.48.3 ============================= - Miscellaneous introspection fixes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/build-aux/meson/dist-docs.py new/pango-1.48.4/build-aux/meson/dist-docs.py --- old/pango-1.48.3/build-aux/meson/dist-docs.py 1970-01-01 01:00:00.000000000 +0100 +++ new/pango-1.48.4/build-aux/meson/dist-docs.py 2021-03-27 02:54:41.000000000 +0100 @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 + +import os +import shutil + +references = [ + 'docs/Pango', + 'docs/PangoCairo', + 'docs/PangoFc', + 'docs/PangoFT2', + 'docs/PangoOT', + 'docs/PangoXft', +] + +sourceroot = os.environ.get('MESON_SOURCE_ROOT') +buildroot = os.environ.get('MESON_BUILD_ROOT') +distroot = os.environ.get('MESON_DIST_ROOT') + +for reference in references: + src_path = os.path.join(buildroot, reference) + if os.path.isdir(src_path): + dst_path = os.path.join(distroot, reference) + shutil.copytree(src_path, dst_path) Binary files old/pango-1.48.3/docs/arabic-markup.png and new/pango-1.48.4/docs/arabic-markup.png differ Binary files old/pango-1.48.3/docs/blue-text.png and new/pango-1.48.4/docs/blue-text.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/docs/meson.build new/pango-1.48.4/docs/meson.build --- old/pango-1.48.3/docs/meson.build 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/docs/meson.build 2021-03-27 02:54:41.000000000 +0100 @@ -16,6 +16,8 @@ doc_conf = configuration_data() doc_conf.set('PANGO_VERSION', meson.project_version()) +docs_dir = pango_datadir / 'doc/pango/reference' + pango_toml = configure_file(input: 'pango.toml.in', output: 'pango.toml', configuration: doc_conf) @@ -36,6 +38,8 @@ ], depend_files: [ pango_toml, pango_content_files], build_by_default: true, + install: true, + install_dir: docs_dir, ) if build_pangoft2 @@ -59,6 +63,8 @@ ], depend_files: [ pangoft2_toml, 'pango-name.png' ], build_by_default: true, + install: true, + install_dir: docs_dir, ) endif @@ -83,6 +89,8 @@ ], depend_files: [ pangoxft_toml, 'pango-name.png' ], build_by_default: true, + install: true, + install_dir: docs_dir, ) endif @@ -113,6 +121,8 @@ ], depend_files: [ pangocairo_toml, pangocairo_content_files ], build_by_default: true, + install: true, + install_dir: docs_dir, ) endif @@ -136,6 +146,8 @@ ], depend_files: [ pangoot_toml, 'pango-name.png' ], build_by_default: true, + install: true, + install_dir: docs_dir, ) if fontconfig_dep.found() @@ -159,5 +171,7 @@ ], depend_files: [ pangofc_toml, 'pango-name.png' ], build_by_default: true, + install: true, + install_dir: docs_dir, ) endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/docs/pango.toml.in new/pango-1.48.4/docs/pango.toml.in --- old/pango-1.48.3/docs/pango.toml.in 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/docs/pango.toml.in 2021-03-27 02:54:41.000000000 +0100 @@ -69,5 +69,7 @@ "layout.png", "pipeline.png", "rects1.png", - "rects2.png" + "rects2.png", + "arabic-markup.png", + "blue-text.png" ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/docs/pango_markup.md new/pango-1.48.4/docs/pango_markup.md --- old/pango-1.48.3/docs/pango_markup.md 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/docs/pango_markup.md 2021-03-27 02:54:41.000000000 +0100 @@ -42,6 +42,17 @@ <span foreground="blue" size="x-large">Blue text</span> is <i>cool</i>!" ``` + + +A more elaborate example of using markup to color combining marks in +Arabic text: + +``` +<span foreground="purple">??</span><span foreground="red">??</span>??<span foreground="blue">??</span>??<span foreground="red">??</span>??<span foreground="red">??</span>??<span foreground="red">??</span>??<span foreground="green">??</span><span foreground="red">??</span>??<span foreground="blue">??</span> +``` + + + Pango uses GMarkup to parse this language, which means that XML features such as numeric character entities such as `©` for ?? can be used too. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/make-release.sh new/pango-1.48.4/make-release.sh --- old/pango-1.48.3/make-release.sh 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/make-release.sh 2021-03-27 02:54:41.000000000 +0100 @@ -10,14 +10,10 @@ fi # make the release tarball -meson setup ${release_build_dir} || exit -meson dist -C${release_build_dir} || exit +meson setup -Dgtk_doc=true --force-fallback-for gi-docgen ${release_build_dir} || exit +meson compile -C${release_build_dir} || exit +meson dist -C${release_build_dir} --include-subprojects || exit -# now build the docs -meson configure -Dgtk_doc=true ${release_build_dir} || exit -ninja -C${release_build_dir} || exit - -tar cf ${release_build_dir}/meson-dist/pango-docs-${version}.tar.xz -C${release_build_dir} docs/ echo -e "\n\nPango ${version} release on branch ${branch} in ./${release_build_dir}/:\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/meson.build new/pango-1.48.4/meson.build --- old/pango-1.48.3/meson.build 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/meson.build 2021-03-27 02:54:41.000000000 +0100 @@ -1,5 +1,5 @@ project('pango', 'c', 'cpp', - version: '1.48.3', + version: '1.48.4', license: 'LGPLv2.1+', default_options: [ 'buildtype=debugoptimized', @@ -606,3 +606,7 @@ if get_option('gtk_doc') subdir('docs') endif + +if not meson.is_subproject() + meson.add_dist_script('build-aux/meson/dist-docs.py') +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/glyphstring.c new/pango-1.48.4/pango/glyphstring.c --- old/pango-1.48.3/pango/glyphstring.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/glyphstring.c 2021-03-27 02:54:41.000000000 +0100 @@ -112,15 +112,15 @@ if (string == NULL) return NULL; - + new_string = g_slice_new (PangoGlyphString); *new_string = *string; - new_string->glyphs = g_memdup (string->glyphs, - string->space * sizeof (PangoGlyphInfo)); - new_string->log_clusters = g_memdup (string->log_clusters, - string->space * sizeof (gint)); + new_string->glyphs = g_memdup2 (string->glyphs, + string->space * sizeof (PangoGlyphInfo)); + new_string->log_clusters = g_memdup2 (string->log_clusters, + string->space * sizeof (gint)); return new_string; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pango-context.c new/pango-1.48.4/pango/pango-context.c --- old/pango-1.48.3/pango/pango-context.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pango-context.c 2021-03-27 02:54:41.000000000 +0100 @@ -63,6 +63,8 @@ PangoFontMap *font_map; + PangoFontMetrics *metrics; + gboolean round_glyph_positions; }; @@ -121,6 +123,9 @@ if (context->matrix) pango_matrix_free (context->matrix); + if (context->metrics) + pango_font_metrics_unref (context->metrics); + G_OBJECT_CLASS (pango_context_parent_class)->finalize (object); } @@ -1783,6 +1788,11 @@ if (!language) language = context->language; + if (desc == context->font_desc && + language == context->language && + context->metrics != NULL) + return pango_font_metrics_ref (context->metrics); + current_fonts = pango_font_map_load_fontset (context->font_map, context, desc, language); metrics = get_base_metrics (current_fonts); @@ -1797,6 +1807,10 @@ g_object_unref (current_fonts); + if (desc == context->font_desc && + language == context->language) + context->metrics = pango_font_metrics_ref (metrics); + return metrics; } @@ -1806,6 +1820,8 @@ context->serial++; if (context->serial == 0) context->serial++; + + g_clear_pointer (&context->metrics, pango_font_metrics_unref); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pango-glyph-item.c new/pango-1.48.4/pango/pango-glyph-item.c --- old/pango-1.48.3/pango/pango-glyph-item.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pango-glyph-item.c 2021-03-27 02:54:41.000000000 +0100 @@ -760,7 +760,16 @@ have_cluster = pango_glyph_item_iter_next_cluster (&iter)) { if (!log_attrs[iter.start_char].is_cursor_position) - continue; + { + if (glyphs[iter.start_glyph].geometry.width == 0) + { + if (iter.start_glyph < iter.end_glyph) /* LTR */ + glyphs[iter.start_glyph].geometry.x_offset -= space_right; + else + glyphs[iter.start_glyph].geometry.x_offset += space_left; + } + continue; + } if (iter.start_glyph < iter.end_glyph) /* LTR */ { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pango-impl-utils.h new/pango-1.48.4/pango/pango-impl-utils.h --- old/pango-1.48.3/pango/pango-impl-utils.h 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pango-impl-utils.h 2021-03-27 02:54:41.000000000 +0100 @@ -201,6 +201,14 @@ return nick; } +/* Backward compatibility shim, to avoid bumping up the minimum + * required version of GLib; most of our uses of g_memdup() are + * safe, and those that aren't have been fixed + */ +#if !GLIB_CHECK_VERSION (2, 67, 3) +# define g_memdup2(mem,size) g_memdup((mem),(size)) +#endif + G_END_DECLS #endif /* __PANGO_IMPL_UTILS_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pango-layout.c new/pango-1.48.4/pango/pango-layout.c --- old/pango-1.48.3/pango/pango-layout.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pango-layout.c 2021-03-27 02:54:41.000000000 +0100 @@ -6186,8 +6186,8 @@ new->line_extents = NULL; if (iter->line_extents != NULL) { - new->line_extents = g_memdup (iter->line_extents, - iter->layout->line_count * sizeof (Extents)); + new->line_extents = g_memdup2 (iter->line_extents, + iter->layout->line_count * sizeof (Extents)); } new->line_index = iter->line_index; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pangocoretext-fontmap.c new/pango-1.48.4/pango/pangocoretext-fontmap.c --- old/pango-1.48.3/pango/pangocoretext-fontmap.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pangocoretext-fontmap.c 2021-03-27 02:54:41.000000000 +0100 @@ -703,7 +703,7 @@ *n_faces = ctfamily->n_faces; if (faces) - *faces = g_memdup (ctfamily->faces, ctfamily->n_faces * sizeof (PangoFontFace *)); + *faces = g_memdup2 (ctfamily->faces, ctfamily->n_faces * sizeof (PangoFontFace *)); } static const char * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pangofc-fontmap.c new/pango-1.48.4/pango/pangofc-fontmap.c --- old/pango-1.48.3/pango/pangofc-fontmap.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pangofc-fontmap.c 2021-03-27 02:54:41.000000000 +0100 @@ -1745,7 +1745,7 @@ *n_families = priv->n_families; if (families) - *families = g_memdup (priv->families, priv->n_families * sizeof (PangoFontFamily *)); + *families = g_memdup2 (priv->families, priv->n_families * sizeof (PangoFontFamily *)); } static PangoFontFamily * @@ -1837,7 +1837,6 @@ int slant; double weight; PangoGravity gravity; - FcBool vertical; char **families; int i; int width; @@ -1848,7 +1847,6 @@ width = pango_fc_convert_width_to_fc (pango_font_description_get_stretch (description)); gravity = pango_font_description_get_gravity (description); - vertical = PANGO_GRAVITY_IS_VERTICAL (gravity) ? FcTrue : FcFalse; /* The reason for passing in FC_SIZE as well as FC_PIXEL_SIZE is * to work around a bug in libgnomeprint where it doesn't look @@ -1857,13 +1855,14 @@ * Putting FC_SIZE in here slightly reduces the efficiency * of caching of patterns and fonts when working with multiple different * dpi values. + * + * Do not pass FC_VERTICAL_LAYOUT true as HarfBuzz shaping assumes false. */ pattern = FcPatternBuild (NULL, PANGO_FC_VERSION, FcTypeInteger, pango_version(), FC_WEIGHT, FcTypeDouble, weight, FC_SLANT, FcTypeInteger, slant, FC_WIDTH, FcTypeInteger, width, - FC_VERTICAL_LAYOUT, FcTypeBool, vertical, #ifdef FC_VARIABLE FC_VARIABLE, FcTypeBool, FcDontCare, #endif @@ -3263,7 +3262,7 @@ *n_faces = fcfamily->n_faces; if (faces) - *faces = g_memdup (fcfamily->faces, fcfamily->n_faces * sizeof (PangoFontFace *)); + *faces = g_memdup2 (fcfamily->faces, fcfamily->n_faces * sizeof (PangoFontFace *)); } static PangoFontFace * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pangofc-shape.c new/pango-1.48.4/pango/pangofc-shape.c --- old/pango-1.48.3/pango/pangofc-shape.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pangofc-shape.c 2021-03-27 02:54:41.000000000 +0100 @@ -409,12 +409,9 @@ for (i = 0; i < num_glyphs; i++) { /* 90 degrees rotation counter-clockwise. */ - hb_position_t x_origin = 0, y_origin = 0; - hb_font_get_glyph_v_origin - (hb_font, infos[i].glyph, &x_origin, &y_origin); infos[i].geometry.width = - hb_position->y_advance; - infos[i].geometry.x_offset = - hb_position->y_offset - y_origin; - infos[i].geometry.y_offset = - hb_position->x_offset - x_origin; + infos[i].geometry.x_offset = - hb_position->y_offset; + infos[i].geometry.y_offset = - hb_position->x_offset; hb_position++; } else /* horizontal */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pangoft2-render.c new/pango-1.48.4/pango/pangoft2-render.c --- old/pango-1.48.3/pango/pangoft2-render.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pangoft2-render.c 2021-03-27 02:54:41.000000000 +0100 @@ -25,6 +25,7 @@ #include "pango-font-private.h" #include "pangoft2-private.h" +#include "pango-impl-utils.h" /* for compatibility with older freetype versions */ #ifndef FT_LOAD_TARGET_MONO @@ -227,8 +228,8 @@ ft_render_mode_mono : ft_render_mode_normal)); rendered->bitmap = face->glyph->bitmap; - rendered->bitmap.buffer = g_memdup (face->glyph->bitmap.buffer, - face->glyph->bitmap.rows * face->glyph->bitmap.pitch); + rendered->bitmap.buffer = g_memdup2 (face->glyph->bitmap.buffer, + face->glyph->bitmap.rows * face->glyph->bitmap.pitch); rendered->bitmap_left = face->glyph->bitmap_left; rendered->bitmap_top = face->glyph->bitmap_top; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.48.3/pango/pangowin32-fontmap.c new/pango-1.48.4/pango/pangowin32-fontmap.c --- old/pango-1.48.3/pango/pangowin32-fontmap.c 2021-03-11 22:19:52.000000000 +0100 +++ new/pango-1.48.4/pango/pangowin32-fontmap.c 2021-03-27 02:54:41.000000000 +0100 @@ -467,7 +467,7 @@ "mono = \"dejavu sans mono,courier new,lucida console,courier monothai,mingliu,simsun,gulimche,ms gothic,sylfaen,kartika,latha,mangal,raavi\"", "monospace = \"dejavu sans mono,courier new,lucida console,courier monothai,mingliu,simsun,gulimche,ms gothic,sylfaen,kartika,latha,mangal,raavi\"", "emoji = \"segoe ui emoji,segoe ui symbol,segoe ui\"", - "cursive = \"commic sans ms\"", + "cursive = \"comic sans ms\"", "fantasy = \"gabriola,impact\"", "system-ui = \"yu gothic ui,segoe ui,meiryo\"", }; ++++++ pango.obsinfo ++++++ --- /var/tmp/diff_new_pack.g5gejn/_old 2021-04-24 23:06:57.291208292 +0200 +++ /var/tmp/diff_new_pack.g5gejn/_new 2021-04-24 23:06:57.295208298 +0200 @@ -1,5 +1,5 @@ name: pango -version: 1.48.3 -mtime: 1615497592 -commit: 9d35e956dc7e76cde6cd3ef66f880d33e5624f07 +version: 1.48.4 +mtime: 1616810081 +commit: 386639c3b118cc973f714eb485877f480391f31f
