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-12-22 20:17:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pango (Old) and /work/SRC/openSUSE:Factory/.pango.new.2520 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pango" Wed Dec 22 20:17:40 2021 rev:135 rq:941340 version:1.50.2 Changes: -------- --- /work/SRC/openSUSE:Factory/pango/pango.changes 2021-12-16 21:18:42.914507608 +0100 +++ /work/SRC/openSUSE:Factory/.pango.new.2520/pango.changes 2021-12-22 20:17:42.851837139 +0100 @@ -1,0 +2,9 @@ +Thu Dec 16 23:13:50 UTC 2021 - Bj??rn Lie <bjorn....@gmail.com> + +- Update to version 1.50.2: + + Fix a problem with font fallback for Arabic. + + Fix handling of fonts without a space glyph. + + Various documentation improvements. + + Fix build issues. + +------------------------------------------------------------------- Old: ---- pango-1.50.1.obscpio New: ---- pango-1.50.2.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pango.spec ++++++ --- /var/tmp/diff_new_pack.zoUyDP/_old 2021-12-22 20:17:43.847837607 +0100 +++ /var/tmp/diff_new_pack.zoUyDP/_new 2021-12-22 20:17:43.851837608 +0100 @@ -17,7 +17,7 @@ Name: pango -Version: 1.50.1 +Version: 1.50.2 Release: 0 Summary: Library for Layout and Rendering of Text License: LGPL-2.1-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.zoUyDP/_old 2021-12-22 20:17:43.887837625 +0100 +++ /var/tmp/diff_new_pack.zoUyDP/_new 2021-12-22 20:17:43.891837627 +0100 @@ -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">1.50.1</param> + <param name="revision">1.50.2</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> ++++++ pango-1.50.1.obscpio -> pango-1.50.2.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/NEWS new/pango-1.50.2/NEWS --- old/pango-1.50.1/NEWS 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/NEWS 2021-12-16 22:02:35.000000000 +0100 @@ -1,3 +1,10 @@ +Overview of changes in 1.50.2, 10-16-2021 +========================================= +* Fix a problem with font fallback for Arabic +* Fix handling of fonts without a space glyph +* Various documentation improvements +* Fix build issues + Overview of changes in 1.50.1, 10-12-2021 ========================================= * Fix a crash in tab handling diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/pango.toml.in new/pango-1.50.2/docs/pango.toml.in --- old/pango-1.50.1/docs/pango.toml.in 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/docs/pango.toml.in 2021-12-16 22:02:35.000000000 +0100 @@ -6,7 +6,7 @@ website_url = "https://www.pango.org" authors = "Owen Taylor, Behdad Esfahbod" logo_url = "pango-name.png" -license = "GPL-2.1-or-later" +license = "LGPL-2.1-or-later" description = "Internationalized text layout and rendering" dependencies = [ "GObject-2.0", "HarfBuzz-0.0", "PangoCairo-1.0", "PangoFc-1.0", "PangoFT2-1.0", "PangoOT-1.0", @@ -72,6 +72,7 @@ "pipeline-dark.png", "rects1.png", "rects2.png", + "rects3.png", "arabic-markup.png", "blue-text.png", "align-left.png", @@ -103,3 +104,5 @@ "baseline-shift-light.png", "baseline-shift-dark.png", ] + +urlmap_file = "urlmap.js" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/pango_markup.md new/pango-1.50.2/docs/pango_markup.md --- old/pango-1.50.1/docs/pango_markup.md 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/docs/pango_markup.md 2021-12-16 22:02:35.000000000 +0100 @@ -98,7 +98,9 @@ font_variant variant -: One of 'normal' or 'smallcaps'. +: One of 'normal', 'small-caps', 'all-small-caps', 'petite-caps', 'all-petite-caps', + 'unicase', 'title-caps'. Values other than 'normal' and 'small-caps' are available + since 1.50. font_stretch stretch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/pangocairo.toml.in new/pango-1.50.2/docs/pangocairo.toml.in --- old/pango-1.50.1/docs/pangocairo.toml.in 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/docs/pangocairo.toml.in 2021-12-16 22:02:35.000000000 +0100 @@ -6,7 +6,7 @@ website_url = "https://www.pango.org" authors = "Owen Taylor, Behdad Esfahbod" logo_url = "pango-name.png" -license = "GPL-2.1-or-later" +license = "LGPL-2.1-or-later" description = "Cairo support for Pango" dependencies = [ "Pango-1.0", "cairo-1.0" ] devhelp = true @@ -38,3 +38,5 @@ "pango-name.png", "rotated-text.png" ] + +urlmap_file = "urlmap.js" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/pangofc.toml.in new/pango-1.50.2/docs/pangofc.toml.in --- old/pango-1.50.1/docs/pangofc.toml.in 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/docs/pangofc.toml.in 2021-12-16 22:02:35.000000000 +0100 @@ -6,7 +6,7 @@ website_url = "https://www.pango.org" authors = "Owen Taylor, Behdad Esfahbod" logo_url = "pango-name.png" -license = "GPL-2.1-or-later" +license = "LGPL-2.1-or-later" description = "Fontconfig support for Pango" dependencies = [ "Pango-1.0", "fontconfig-2.0" ] devhelp = true @@ -34,3 +34,6 @@ content_images = [ "pango-name.png" ] + +urlmap_file = "urlmap.js" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/pangoft2.toml.in new/pango-1.50.2/docs/pangoft2.toml.in --- old/pango-1.50.1/docs/pangoft2.toml.in 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/docs/pangoft2.toml.in 2021-12-16 22:02:35.000000000 +0100 @@ -6,7 +6,7 @@ website_url = "https://www.pango.org" authors = "Owen Taylor, Behdad Esfahbod" logo_url = "pango-name.png" -license = "GPL-2.1-or-later" +license = "LGPL-2.1-or-later" description = "Freetype support for Pango" dependencies = [ "Pango-1.0", "freetype2-2.0" ] devhelp = true @@ -34,3 +34,6 @@ content_images = [ "pango-name.png" ] + +urlmap_file = "urlmap.js" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/pangoot.toml.in new/pango-1.50.2/docs/pangoot.toml.in --- old/pango-1.50.1/docs/pangoot.toml.in 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/docs/pangoot.toml.in 2021-12-16 22:02:35.000000000 +0100 @@ -6,7 +6,7 @@ website_url = "https://www.pango.org" authors = "Owen Taylor, Behdad Esfahbod" logo_url = "pango-name.png" -license = "GPL-2.1-or-later" +license = "LGPL-2.1-or-later" description = "OpenType support for Pango" dependencies = [ "Pango-1.0" ] devhelp = true @@ -29,3 +29,5 @@ content_images = [ "pango-name.png" ] + +urlmap_file = "urlmap.js" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/pangoxft.toml.in new/pango-1.50.2/docs/pangoxft.toml.in --- old/pango-1.50.1/docs/pangoxft.toml.in 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/docs/pangoxft.toml.in 2021-12-16 22:02:35.000000000 +0100 @@ -6,7 +6,7 @@ website_url = "https://www.pango.org" authors = "Owen Taylor, Behdad Esfahbod" logo_url = "pango-name.png" -license = "GPL-2.1-or-later" +license = "LGPL-2.1-or-later" description = "Xft support for Pango" dependencies = [ "Pango-1.0", "xft-2.0" ] devhelp = true @@ -37,3 +37,5 @@ content_images = [ "pango-name.png" ] + +urlmap_file = "urlmap.js" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/docs/urlmap.js new/pango-1.50.2/docs/urlmap.js --- old/pango-1.50.1/docs/urlmap.js 1970-01-01 01:00:00.000000000 +0100 +++ new/pango-1.50.2/docs/urlmap.js 2021-12-16 22:02:35.000000000 +0100 @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: 2021 GNOME Foundation +// SPDX-License-Identifier: LGPL-2.1-or-later + +// A map between namespaces and base URLs for their online documentation +baseURLs = [ + [ 'GLib', 'https://docs.gtk.org/glib/' ], + [ 'GObject', 'https://docs.gtk.org/gobject/' ], + [ 'Gio', 'https://docs.gtk.org/gio/' ], + [ 'Pango', 'https://docs.gtk.org/Pango/' ], + [ 'PangoCairo', 'https://docs.gtk.org/PangoCairo/' ], +] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/meson.build new/pango-1.50.2/meson.build --- old/pango-1.50.1/meson.build 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/meson.build 2021-12-16 22:02:35.000000000 +0100 @@ -1,5 +1,5 @@ project('pango', 'c', 'cpp', - version: '1.50.1', + version: '1.50.2', license: 'LGPLv2.1+', default_options: [ 'buildtype=debugoptimized', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/break.c new/pango-1.50.2/pango/break.c --- old/pango-1.50.1/pango/break.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/break.c 2021-12-16 22:02:35.000000000 +0100 @@ -2168,8 +2168,8 @@ * * This is the default break algorithm. * - * It applies Unicode rules without language-specific - * tailoring, therefore the @analyis argument is unused + * It applies rules from the [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/) + * without language-specific tailoring, therefore the @analyis argument is unused * and can be %NULL. * * See [func@Pango.tailor_break] for language-specific breaks. @@ -2203,11 +2203,10 @@ * Determines possible line, word, and character breaks * for a string of Unicode text with a single analysis. * - * For most purposes you may want to use - * [func@Pango.get_log_attrs]. + * For most purposes you may want to use [func@Pango.get_log_attrs]. * * Deprecated: 1.44: Use [func@Pango.default_break], - * [func@Pango.tailor_break] and func@Pango.attr_break]. + * [func@Pango.tailor_break] and [func@Pango.attr_break]. */ void pango_break (const char *text, @@ -2236,15 +2235,13 @@ * * Apply language-specific tailoring to the breaks in @attrs. * - * The line breaks are assumed to have been produced - * by [func@Pango.default_break]. + * The line breaks are assumed to have been produced by [func@Pango.default_break]. * - * If @offset is not -1, it is used to apply attributes - * from @analysis that are relevant to line breaking. + * If @offset is not -1, it is used to apply attributes from @analysis that are + * relevant to line breaking. * - * Note that it is better to pass -1 for @offset and - * use [func@Pango.attr_break] to apply attributes to - * the whole paragraph. + * Note that it is better to pass -1 for @offset and use [func@Pango.attr_break] + * to apply attributes to the whole paragraph. * * Since: 1.44 */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/fonts.c new/pango-1.50.2/pango/fonts.c --- old/pango-1.50.1/pango/fonts.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/fonts.c 2021-12-16 22:02:35.000000000 +0100 @@ -562,7 +562,8 @@ * and values are clamped to their allowed range. * * Pango does not currently have a way to find supported axes of - * a font. Both harfbuzz or freetype have API for this. + * a font. Both harfbuzz and freetype have API for this. See + * for example [hb_ot_var_get_axis_infos](https://harfbuzz.github.io/harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-infos). * * Since: 1.42 */ @@ -1627,7 +1628,8 @@ * * Parses a font variant. * - * The allowed values are "normal" and "smallcaps" or "small_caps", + * The allowed values are "normal", "small-caps", "all-small-caps", + * "petite-caps", "all-petite-caps", "unicase" and "title-caps", * case variations being ignored. * * Return value: %TRUE if @str was successfully parsed. @@ -2016,7 +2018,7 @@ * * Note that the objects returned by this function are cached * and immutable. If you need to make changes to the `hb_font_t`, - * use hb_font_create_sub_font(). + * use [hb_font_create_sub_font()](https://harfbuzz.github.io/harfbuzz-hb-font.html#hb-font-create-sub-font). * * Returns: (transfer none) (nullable): the `hb_font_t` object * backing the font @@ -2088,6 +2090,7 @@ * @metrics: (nullable): a `PangoFontMetrics` structure, may be %NULL * * Decrease the reference count of a font metrics structure by one. + * * If the result is zero, frees the structure and any associated memory. */ void @@ -2508,6 +2511,9 @@ * A variable font is a font which has axes that can be modified to * produce different faces. * + * Such axes are also known as _variations_; see + * [method@Pango.FontDescription.set_variations] for more information. + * * Return value: %TRUE if the family is variable * * Since: 1.44 @@ -2540,8 +2546,10 @@ * pango_font_face_describe: * @face: a `PangoFontFace` * - * Returns the family, style, variant, weight and stretch of - * a `PangoFontFace`. The size field of the resulting font description + * Returns a font description that matches the face. + * + * The resulting font description will have the family, style, + * variant, weight and stretch of the face, but its size field * will be unset. * * Return value: a newly-created `PangoFontDescription` structure @@ -2560,11 +2568,13 @@ * pango_font_face_is_synthesized: * @face: a `PangoFontFace` * - * Returns whether a `PangoFontFace` is synthesized by the underlying - * font rendering engine from another face, perhaps by shearing, emboldening, - * or lightening it. + * Returns whether a `PangoFontFace` is synthesized. * - * Return value: whether @face is synthesized. + * This will be the case if the underlying font rendering engine + * creates this face from another face, by shearing, emboldening, + * lightening or modifying it in some other way. + * + * Return value: whether @face is synthesized * * Since: 1.18 */ @@ -2583,9 +2593,11 @@ * pango_font_face_get_face_name: * @face: a `PangoFontFace`. * - * Gets a name representing the style of this face among the - * different faces in the `PangoFontFamily` for the face. The - * name is suitable for displaying to users. + * Gets a name representing the style of this face. + * + * The name identifies the face among the different faces + * in the `PangoFontFamily` for the face. It is suitable + * for displaying to users. * * Return value: the face name for the face. This string is * owned by the face object and must not be modified or freed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/itemize.c new/pango-1.50.2/pango/itemize.c --- old/pango-1.50.1/pango/itemize.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/itemize.c 2021-12-16 22:02:35.000000000 +0100 @@ -507,8 +507,7 @@ if (!PANGO_GRAVITY_IS_VERTICAL (state->context->resolved_gravity)) state->width_iter.end = state->end; - else - if (state->emoji_iter.is_emoji) + else if (state->emoji_iter.is_emoji) state->width_iter.end = MAX (state->width_iter.end, state->emoji_iter.end); update_end (state); @@ -903,27 +902,32 @@ } /* We don't want space characters to affect font selection; in general, -* it's always wrong to select a font just to render a space. -* We assume that all fonts have the ASCII space, and for other space -* characters if they don't, HarfBuzz will compatibility-decompose them -* to ASCII space... -* See bugs #355987 and #701652. -* -* We don't want to change fonts just for variation selectors. -* See bug #781123. -* -* Finally, don't change fonts for line or paragraph separators. -* -* Note that we want spaces to use the 'better' font, comparing -* the font that is used before and after the space. This is handled -* in itemize_state_add_character(). -*/ + * it's always wrong to select a font just to render a space. + * + * We assume that all fonts have the ASCII space, and for other space + * characters if they don't, HarfBuzz will compatibility-decompose them + * to ASCII space... + * See bugs #355987 and #701652. + * + * We don't want to change fonts just for variation selectors. + * See bug #781123. + * + * We don't want to change fonts for default ignorables such as Cf chars. + * Note that Cf chars in the Arabic block are visible and need to have + * a font, so we exclude. + * + * Finally, don't change fonts for line or paragraph separators. + * + * Note that we want spaces to use the 'better' font, comparing + * the font that is used before and after the space. This is handled + * in itemize_state_add_character(). + */ static gboolean consider_as_space (gunichar wc) { GUnicodeType type = g_unichar_type (wc); return type == G_UNICODE_CONTROL || - type == G_UNICODE_FORMAT || + (type == G_UNICODE_FORMAT && !((wc >= 0x600 && wc <= 0x06ff) || wc == 0x70f || wc == 0x8e2)) || type == G_UNICODE_SURROGATE || type == G_UNICODE_LINE_SEPARATOR || type == G_UNICODE_PARAGRAPH_SEPARATOR || @@ -1575,12 +1579,12 @@ * Like `pango_itemize()`, but with an explicitly specified base direction. * * The base direction is used when computing bidirectional levels. - * (see [method@Pango.Context.set_base_dir]). [func@itemize] gets the - * base direction from the `PangoContext`. + * [func@itemize] gets the base direction from the `PangoContext` + * (see [method@Pango.Context.set_base_dir]). * * Return value: (transfer full) (element-type Pango.Item): a `GList` of * [str...@pango.item] structures. The items should be freed using - * [met...@pango.item.free] probably in combination with g_list_free_full(). + * [met...@pango.item.free] probably in combination with [f...@glib.list.free_full]. * * Since: 1.4 */ @@ -1634,7 +1638,7 @@ * * Return value: (transfer full) (element-type Pango.Item): a `GList` of * [str...@pango.item] structures. The items should be freed using - * [met...@pango.item.free] probably in combination with g_list_free_full(). + * [met...@pango.item.free] in combination with [f...@glib.list.free_full]. */ GList * pango_itemize (PangoContext *context, @@ -1654,6 +1658,6 @@ attrs, cached_iter); } - /* }}} */ +/* }}} */ /* vim:set foldmethod=marker expandtab: */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/json/gtkjsonparser.c new/pango-1.50.2/pango/json/gtkjsonparser.c --- old/pango-1.50.1/pango/json/gtkjsonparser.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/json/gtkjsonparser.c 2021-12-16 22:02:35.000000000 +0100 @@ -21,6 +21,8 @@ #include "config.h" #include "gtkjsonparserprivate.h" +#include <stdlib.h> +#include <errno.h> typedef struct _GtkJsonBlock GtkJsonBlock; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-attributes.h new/pango-1.50.2/pango/pango-attributes.h --- old/pango-1.50.1/pango/pango-attributes.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-attributes.h 2021-12-16 22:02:35.000000000 +0100 @@ -253,7 +253,7 @@ * @PANGO_FONT_SCALE_NONE: Leave the font size unchanged * @PANGO_FONT_SCALE_SUPERSCRIPT: Change the font to a size suitable for superscripts * @PANGO_FONT_SCALE_SUBSCRIPT: Change the font to a size suitable for subscripts - * @PANGO_FONT_SCALE_SMALL_CAPS: Change the font to a size suitable for Small Caps. Since: 1.50 + * @PANGO_FONT_SCALE_SMALL_CAPS: Change the font to a size suitable for Small Caps * * An enumeration that affects font sizes for superscript * and subscript positioning and for (emulated) Small Caps. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-bidi-type.c new/pango-1.50.2/pango/pango-bidi-type.c --- old/pango-1.50.1/pango/pango-bidi-type.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-bidi-type.c 2021-12-16 22:02:35.000000000 +0100 @@ -96,16 +96,14 @@ * * Return the bidirectional embedding levels of the input paragraph. * - * The bidirectional embedding levels are defined by the Unicode Bidirectional - * Algorithm available at: - * - * http://www.unicode.org/reports/tr9/ + * The bidirectional embedding levels are defined by the [Unicode Bidirectional + * Algorithm](http://www.unicode.org/reports/tr9/). * * If the input base direction is a weak direction, the direction of the * characters in the text will determine the final resolved direction. * * Return value: a newly allocated array of embedding levels, one item per - * character (not byte), that should be freed using g_free(). + * character (not byte), that should be freed using [f...@glib.free]. * * Since: 1.4 */ @@ -248,13 +246,13 @@ * * Determines the inherent direction of a character. * - * The inherent direction is either %PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, - * or %PANGO_DIRECTION_NEUTRAL. + * The inherent direction is either `PANGO_DIRECTION_LTR`, `PANGO_DIRECTION_RTL`, + * or `PANGO_DIRECTION_NEUTRAL`. * * This function is useful to categorize characters into left-to-right * letters, right-to-left letters, and everything else. If full Unicode - * bidirectional type of a character is needed, - * [func@Pango.BidiType.for_unichar] can be used instead. + * bidirectional type of a character is needed, [func@Pango.BidiType.for_unichar] + * can be used instead. * * Return value: the direction of the character. */ @@ -288,8 +286,8 @@ * Return value: %TRUE if @ch has a mirrored character and @mirrored_ch is * filled in, %FALSE otherwise * - * Deprecated: 1.30: Use g_unichar_get_mirror_char() instead; the docs for that function - * provide full details. + * Deprecated: 1.30: Use [func@GLib.unichar_get_mirror_char] instead; + * the docs for that function provide full details. */ gboolean pango_get_mirror_char (gunichar ch, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-coverage.c new/pango-1.50.2/pango/pango-coverage.c --- old/pango-1.50.1/pango/pango-coverage.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-coverage.c 2021-12-16 22:02:35.000000000 +0100 @@ -238,7 +238,7 @@ * representing a `PangoCoverage` * @n_bytes: the size of @bytes in bytes * - * Convert data generated from pango_coverage_to_bytes() + * Convert data generated from [method@Pango.Coverage.to_bytes] * back to a `PangoCoverage`. * * Return value: (transfer full) (nullable): a newly allocated `PangoCoverage` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-direction.h new/pango-1.50.2/pango/pango-direction.h --- old/pango-1.50.1/pango/pango-direction.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-direction.h 2021-12-16 22:02:35.000000000 +0100 @@ -31,9 +31,9 @@ * @PANGO_DIRECTION_LTR: A strong left-to-right direction * @PANGO_DIRECTION_RTL: A strong right-to-left direction * @PANGO_DIRECTION_TTB_LTR: Deprecated value; treated the - * same as %PANGO_DIRECTION_RTL. + * same as `PANGO_DIRECTION_RTL`. * @PANGO_DIRECTION_TTB_RTL: Deprecated value; treated the - * same as %PANGO_DIRECTION_LTR + * same as `PANGO_DIRECTION_LTR` * @PANGO_DIRECTION_WEAK_LTR: A weak left-to-right direction * @PANGO_DIRECTION_WEAK_RTL: A weak right-to-left direction * @PANGO_DIRECTION_NEUTRAL: No direction specified @@ -43,14 +43,14 @@ * * Not every value in this enumeration makes sense for every usage of * `PangoDirection`; for example, the return value of [func@unichar_direction] - * and [func@find_base_dir] cannot be %PANGO_DIRECTION_WEAK_LTR or - * %PANGO_DIRECTION_WEAK_RTL, since every character is either neutral - * or has a strong direction; on the other hand %PANGO_DIRECTION_NEUTRAL + * and [func@find_base_dir] cannot be `PANGO_DIRECTION_WEAK_LTR` or + * `PANGO_DIRECTION_WEAK_RTL`, since every character is either neutral + * or has a strong direction; on the other hand `PANGO_DIRECTION_NEUTRAL` * doesn't make sense to pass to [func@itemize_with_base_dir]. * - * The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL values come from + * The `PANGO_DIRECTION_TTB_LTR`, `PANGO_DIRECTION_TTB_RTL` values come from * an earlier interpretation of this enumeration as the writing direction - * of a block of text and are no longer used; See `PangoGravity` for how + * of a block of text and are no longer used. See `PangoGravity` for how * vertical text is handled in Pango. * * If you are interested in text direction, you should really use fribidi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-font.h new/pango-1.50.2/pango/pango-font.h --- old/pango-1.50.1/pango/pango-font.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-font.h 2021-12-16 22:02:35.000000000 +0100 @@ -84,23 +84,21 @@ * replaced by smaller variants of the capital characters. * @PANGO_VARIANT_ALL_SMALL_CAPS: A font with all characters * replaced by smaller variants of the capital characters. - * Since: 1.50 * @PANGO_VARIANT_PETITE_CAPS: A font with the lower case characters * replaced by smaller variants of the capital characters. * Petite Caps can be even smaller than Small Caps. - * Since: 1.50 * @PANGO_VARIANT_ALL_PETITE_CAPS: A font with all characters * replaced by smaller variants of the capital characters. * Petite Caps can be even smaller than Small Caps. - * Since: 1.50 * @PANGO_VARIANT_UNICASE: A font with the upper case characters * replaced by smaller variants of the capital letters. - * Since: 1.50 * @PANGO_VARIANT_TITLE_CAPS: A font with capital letters that * are more suitable for all-uppercase titles. - * Since: 1.50 * * An enumeration specifying capitalization variant of the font. + * + * Values other than `PANGO_VARIANT_NORMAL` and `PANGO_VARIANT_SMALL_CAPS` are + * available since 1.50. */ typedef enum { PANGO_VARIANT_NORMAL, @@ -114,23 +112,23 @@ /** * PangoWeight: - * @PANGO_WEIGHT_THIN: the thin weight (= 100; Since: 1.24) + * @PANGO_WEIGHT_THIN: the thin weight (= 100) Since: 1.24 * @PANGO_WEIGHT_ULTRALIGHT: the ultralight weight (= 200) * @PANGO_WEIGHT_LIGHT: the light weight (= 300) - * @PANGO_WEIGHT_SEMILIGHT: the semilight weight (= 350; Since: 1.36.7) - * @PANGO_WEIGHT_BOOK: the book weight (= 380; Since: 1.24) + * @PANGO_WEIGHT_SEMILIGHT: the semilight weight (= 350) Since: 1.36.7 + * @PANGO_WEIGHT_BOOK: the book weight (= 380) Since: 1.24) * @PANGO_WEIGHT_NORMAL: the default weight (= 400) - * @PANGO_WEIGHT_MEDIUM: the normal weight (= 500; Since: 1.24) + * @PANGO_WEIGHT_MEDIUM: the normal weight (= 500) Since: 1.24 * @PANGO_WEIGHT_SEMIBOLD: the semibold weight (= 600) * @PANGO_WEIGHT_BOLD: the bold weight (= 700) * @PANGO_WEIGHT_ULTRABOLD: the ultrabold weight (= 800) * @PANGO_WEIGHT_HEAVY: the heavy weight (= 900) - * @PANGO_WEIGHT_ULTRAHEAVY: the ultraheavy weight (= 1000; Since: 1.24) + * @PANGO_WEIGHT_ULTRAHEAVY: the ultraheavy weight (= 1000) Since: 1.24 * * An enumeration specifying the weight (boldness) of a font. * - * This is a numerical value ranging from 100 to 1000, but there - * are some predefined values. + * Weight is specified as a numeric value ranging from 100 to 1000. + * This enumeration simply provides some common, predefined values. */ typedef enum { PANGO_WEIGHT_THIN = 100, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-glyph.h new/pango-1.50.2/pango/pango-glyph.h --- old/pango-1.50.1/pango/pango-glyph.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-glyph.h 2021-12-16 22:02:35.000000000 +0100 @@ -40,12 +40,14 @@ * The `PangoGlyphUnit` type is used to store dimensions within * Pango. * - * Dimensions are stored in 1/%PANGO_SCALE of a device unit. + * Dimensions are stored in 1/PANGO_SCALE of a device unit. * (A device unit might be a pixel for screen display, or - * a point on a printer.) %PANGO_SCALE is currently 1024, and + * a point on a printer.) PANGO_SCALE is currently 1024, and * may change in the future (unlikely though), but you should not - * depend on its exact value. The PANGO_PIXELS() macro can be used - * to convert from glyph units into device units with correct rounding. + * depend on its exact value. + * + * The PANGO_PIXELS() macro can be used to convert from glyph units + * into device units with correct rounding. */ typedef gint32 PangoGlyphUnit; @@ -68,10 +70,10 @@ * The information in this struct is intended for rendering the glyphs, * as follows: * - * 1. Render the current glyph at (x + x_offset, y + y_offset), - * where (x, y) is the current point - * 2. Advance the current point to (x + xoffset, y) - * 3. Render the next glyph... + * 1. Assume the current point is (x, y) + * 2. Render the current glyph at (x + x_offset, y + y_offset), + * 3. Advance the current point to (x + width, y) + * 4. Render the next glyph */ struct _PangoGlyphGeometry { @@ -85,10 +87,6 @@ /** * PangoGlyphVisAttr: * @is_cluster_start: set for the first logical glyph in each cluster. - * (Clusters are stored in visual order, within the cluster, glyphs - * are always ordered in logical order, since visual order is meaningless; - * that is, in Arabic text, accent glyphs follow the glyphs for the - * base character.) * @is_color: set if the the font will render this glyph with color. Since 1.50 * * A `PangoGlyphVisAttr` structure communicates information between @@ -96,6 +94,11 @@ * * Currently, it contains cluster start and color information. * More attributes may be added in the future. + * + * Clusters are stored in visual order, within the cluster, glyphs + * are always ordered in logical order, since visual order is meaningless; + * that is, in Arabic text, accent glyphs follow the glyphs for the + * base character. */ struct _PangoGlyphVisAttr { @@ -123,11 +126,10 @@ /** * PangoGlyphString: - * @num_glyphs: number of the glyphs in this glyph string. + * @num_glyphs: number of glyphs in this glyph string * @glyphs: (array length=num_glyphs): array of glyph information - * for the glyph string. * @log_clusters: logical cluster info, indexed by the byte index - * within the text corresponding to the glyph string. + * within the text corresponding to the glyph string * * A `PangoGlyphString` is used to store strings of glyphs with geometry * and visual attribute information. @@ -215,11 +217,9 @@ /** * PangoShapeFlags: - * @PANGO_SHAPE_NONE: Default value. - * @PANGO_SHAPE_ROUND_POSITIONS: Round glyph positions - * and widths to whole device units. This option should - * be set if the target renderer can't do subpixel - * positioning of glyphs. + * @PANGO_SHAPE_NONE: Default value + * @PANGO_SHAPE_ROUND_POSITIONS: Round glyph positions and widths to whole device units + * This option should be set if the target renderer can't do subpixel positioning of glyphs * * Flags influencing the shaping process. * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-item-private.h new/pango-1.50.2/pango/pango-item-private.h --- old/pango-1.50.1/pango/pango-item-private.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-item-private.h 2021-12-16 22:02:35.000000000 +0100 @@ -40,7 +40,7 @@ typedef struct _PangoItemPrivate PangoItemPrivate; -#ifdef __x86_64__ +#if defined(__x86_64__) && !defined(__ILP32__) struct _PangoItemPrivate { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-layout.h new/pango-1.50.2/pango/pango-layout.h --- old/pango-1.50.1/pango/pango-layout.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-layout.h 2021-12-16 22:02:35.000000000 +0100 @@ -53,10 +53,10 @@ * within the available space. * * If the `PangoLayout` is set to justify using [method@Pango.Layout.set_justify], - * this only has effect for partial lines. + * this only affects partial lines. * * See [method@Pango.Layout.set_auto_dir] for how text direction affects - * the interpretation of `PangoAlignment values. + * the interpretation of `PangoAlignment` values. */ typedef enum { PANGO_ALIGN_LEFT, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-markup.c new/pango-1.50.2/pango/pango-markup.c --- old/pango-1.50.1/pango/pango-markup.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-markup.c 2021-12-16 22:02:35.000000000 +0100 @@ -601,7 +601,7 @@ /** * pango_parse_markup: - * @markup_text: markup to parse (see the Pango Markup docs) + * @markup_text: markup to parse (see the [Pango Markup](pango_markup.html) docs) * @length: length of @markup_text, or -1 if nul-terminated * @accel_marker: character that precedes an accelerator, or 0 for none * @attr_list: (out) (optional): address of return location for a `PangoAttrList` @@ -696,17 +696,17 @@ * when calling [func@markup_parser_finish]. Two @accel_marker characters * following each other produce a single literal @accel_marker character. * - * To feed markup to the parser, use g_markup_parse_context_parse() - * on the returned `GMarkupParseContext`. When done with feeding markup + * To feed markup to the parser, use [method@GLib.MarkupParseContext.parse] + * on the returned [struct@GLib.MarkupParseContext]. When done with feeding markup * to the parser, use [func@markup_parser_finish] to get the data out - * of it, and then use g_markup_parse_context_free() to free it. + * of it, and then use [met...@glib.markupparsecontext.free] to free it. * * This function is designed for applications that read Pango markup * from streams. To simply parse a string containing Pango markup, - * the [func@parse_markup] API is recommended instead. + * the [func@Pango.parse_markup] API is recommended instead. * * Return value: (transfer none): a `GMarkupParseContext` that should be - * destroyed with g_markup_parse_context_free(). + * destroyed with [met...@glib.markupparsecontext.free]. * * Since: 1.31.0 **/ @@ -726,9 +726,9 @@ * * Finishes parsing markup. * - * After feeding a Pango markup parser some data with g_markup_parse_context_parse(), + * After feeding a Pango markup parser some data with [method@GLib.MarkupParseContext.parse], * use this function to get the list of attributes and text out of the - * markup. This function will not free @context, use g_markup_parse_context_free() + * markup. This function will not free @context, use [met...@glib.markupparsecontext.free] * to do so. * * Return value: %FALSE if @error is set, otherwise %TRUE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-script.c new/pango-1.50.2/pango/pango-script.c --- old/pango-1.50.1/pango/pango-script.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-script.c 2021-12-16 22:02:35.000000000 +0100 @@ -66,13 +66,15 @@ * * Looks up the script for a particular character. * - * The script of a character is defined by Unicode Standard Annex \#24. + * The script of a character is defined by + * [Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/). + * * No check is made for @ch being a valid Unicode character; if you pass * in invalid character, the result is undefined. * * Note that while the return type of this function is declared * as `PangoScript`, as of Pango 1.18, this function simply returns - * the return value of g_unichar_get_script(). Callers must be + * the return value of [func@GLib.unichar_get_script]. Callers must be * prepared to handle unknown values. * * Return value: the `PangoScript` for the character. @@ -120,7 +122,7 @@ /** * pango_script_iter_new: * @text: a UTF-8 string - * @length: length of @text, or -1 if @text is nul-terminated. + * @length: length of @text, or -1 if @text is nul-terminated * * Create a new `PangoScriptIter`, used to break a string of * Unicode text into runs by Unicode script. @@ -177,12 +179,13 @@ * @script: (out) (optional): location to store script for range * * Gets information about the range to which @iter currently points. + * * The range is the set of locations p where *start <= p < *end. * (That is, it doesn't include the character stored at *end) * * Note that while the type of the @script argument is declared * as `PangoScript`, as of Pango 1.18, this function simply returns - * GUnicodeScript values. Callers must be prepared to handle unknown + * `GUnicodeScript` values. Callers must be prepared to handle unknown * values. * * Since: 1.4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-script.h new/pango-1.50.2/pango/pango-script.h --- old/pango-1.50.1/pango/pango-script.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-script.h 2021-12-16 22:02:35.000000000 +0100 @@ -40,71 +40,71 @@ * @PANGO_SCRIPT_COMMON: a character used by multiple different scripts * @PANGO_SCRIPT_INHERITED: a mark glyph that takes its script from the * base glyph to which it is attached - * @PANGO_SCRIPT_ARABIC: Arabic + * @PANGO_SCRIPT_ARABIC: Arabic * @PANGO_SCRIPT_ARMENIAN: Armenian - * @PANGO_SCRIPT_BENGALI: Bengali + * @PANGO_SCRIPT_BENGALI: Bengali * @PANGO_SCRIPT_BOPOMOFO: Bopomofo - * @PANGO_SCRIPT_CHEROKEE: Cherokee - * @PANGO_SCRIPT_COPTIC: Coptic - * @PANGO_SCRIPT_CYRILLIC: Cyrillic - * @PANGO_SCRIPT_DESERET: Deseret - * @PANGO_SCRIPT_DEVANAGARI: Devanagari - * @PANGO_SCRIPT_ETHIOPIC: Ethiopic - * @PANGO_SCRIPT_GEORGIAN: Georgian - * @PANGO_SCRIPT_GOTHIC: Gothic - * @PANGO_SCRIPT_GREEK: Greek - * @PANGO_SCRIPT_GUJARATI: Gujarati - * @PANGO_SCRIPT_GURMUKHI: Gurmukhi - * @PANGO_SCRIPT_HAN: Han - * @PANGO_SCRIPT_HANGUL: Hangul - * @PANGO_SCRIPT_HEBREW: Hebrew - * @PANGO_SCRIPT_HIRAGANA: Hiragana - * @PANGO_SCRIPT_KANNADA: Kannada - * @PANGO_SCRIPT_KATAKANA: Katakana - * @PANGO_SCRIPT_KHMER: Khmer - * @PANGO_SCRIPT_LAO: Lao - * @PANGO_SCRIPT_LATIN: Latin - * @PANGO_SCRIPT_MALAYALAM: Malayalam - * @PANGO_SCRIPT_MONGOLIAN: Mongolian - * @PANGO_SCRIPT_MYANMAR: Myanmar - * @PANGO_SCRIPT_OGHAM: Ogham - * @PANGO_SCRIPT_OLD_ITALIC: Old Italic - * @PANGO_SCRIPT_ORIYA: Oriya - * @PANGO_SCRIPT_RUNIC: Runic - * @PANGO_SCRIPT_SINHALA: Sinhala - * @PANGO_SCRIPT_SYRIAC: Syriac - * @PANGO_SCRIPT_TAMIL: Tamil - * @PANGO_SCRIPT_TELUGU: Telugu - * @PANGO_SCRIPT_THAANA: Thaana - * @PANGO_SCRIPT_THAI: Thai - * @PANGO_SCRIPT_TIBETAN: Tibetan - * @PANGO_SCRIPT_CANADIAN_ABORIGINAL: Canadian Aboriginal - * @PANGO_SCRIPT_YI: Yi - * @PANGO_SCRIPT_TAGALOG: Tagalog - * @PANGO_SCRIPT_HANUNOO: Hanunoo - * @PANGO_SCRIPT_BUHID: Buhid - * @PANGO_SCRIPT_TAGBANWA: Tagbanwa - * @PANGO_SCRIPT_BRAILLE: Braille - * @PANGO_SCRIPT_CYPRIOT: Cypriot - * @PANGO_SCRIPT_LIMBU: Limbu - * @PANGO_SCRIPT_OSMANYA: Osmanya - * @PANGO_SCRIPT_SHAVIAN: Shavian - * @PANGO_SCRIPT_LINEAR_B: Linear B - * @PANGO_SCRIPT_TAI_LE: Tai Le - * @PANGO_SCRIPT_UGARITIC: Ugaritic - * @PANGO_SCRIPT_NEW_TAI_LUE: New Tai Lue. Since 1.10 - * @PANGO_SCRIPT_BUGINESE: Buginese. Since 1.10 - * @PANGO_SCRIPT_GLAGOLITIC: Glagolitic. Since 1.10 - * @PANGO_SCRIPT_TIFINAGH: Tifinagh. Since 1.10 - * @PANGO_SCRIPT_SYLOTI_NAGRI: Syloti Nagri. Since 1.10 - * @PANGO_SCRIPT_OLD_PERSIAN: Old Persian. Since 1.10 - * @PANGO_SCRIPT_KHAROSHTHI: Kharoshthi. Since 1.10 - * @PANGO_SCRIPT_UNKNOWN: an unassigned code point. Since 1.14 - * @PANGO_SCRIPT_BALINESE: Balinese. Since 1.14 - * @PANGO_SCRIPT_CUNEIFORM: Cuneiform. Since 1.14 - * @PANGO_SCRIPT_PHOENICIAN: Phoenician. Since 1.14 - * @PANGO_SCRIPT_PHAGS_PA: Phags-pa. Since 1.14 - * @PANGO_SCRIPT_NKO: N'Ko. Since 1.14 + * @PANGO_SCRIPT_CHEROKEE: Cherokee + * @PANGO_SCRIPT_COPTIC: Coptic + * @PANGO_SCRIPT_CYRILLIC: Cyrillic + * @PANGO_SCRIPT_DESERET: Deseret + * @PANGO_SCRIPT_DEVANAGARI: Devanagari + * @PANGO_SCRIPT_ETHIOPIC: Ethiopic + * @PANGO_SCRIPT_GEORGIAN: Georgian + * @PANGO_SCRIPT_GOTHIC: Gothic + * @PANGO_SCRIPT_GREEK: Greek + * @PANGO_SCRIPT_GUJARATI: Gujarati + * @PANGO_SCRIPT_GURMUKHI: Gurmukhi + * @PANGO_SCRIPT_HAN: Han + * @PANGO_SCRIPT_HANGUL: Hangul + * @PANGO_SCRIPT_HEBREW: Hebrew + * @PANGO_SCRIPT_HIRAGANA: Hiragana + * @PANGO_SCRIPT_KANNADA: Kannada + * @PANGO_SCRIPT_KATAKANA: Katakana + * @PANGO_SCRIPT_KHMER: Khmer + * @PANGO_SCRIPT_LAO: Lao + * @PANGO_SCRIPT_LATIN: Latin + * @PANGO_SCRIPT_MALAYALAM: Malayalam + * @PANGO_SCRIPT_MONGOLIAN: Mongolian + * @PANGO_SCRIPT_MYANMAR: Myanmar + * @PANGO_SCRIPT_OGHAM: Ogham + * @PANGO_SCRIPT_OLD_ITALIC: Old Italic + * @PANGO_SCRIPT_ORIYA: Oriya + * @PANGO_SCRIPT_RUNIC: Runic + * @PANGO_SCRIPT_SINHALA: Sinhala + * @PANGO_SCRIPT_SYRIAC: Syriac + * @PANGO_SCRIPT_TAMIL: Tamil + * @PANGO_SCRIPT_TELUGU: Telugu + * @PANGO_SCRIPT_THAANA: Thaana + * @PANGO_SCRIPT_THAI: Thai + * @PANGO_SCRIPT_TIBETAN: Tibetan + * @PANGO_SCRIPT_CANADIAN_ABORIGINAL: Canadian Aboriginal + * @PANGO_SCRIPT_YI: Yi + * @PANGO_SCRIPT_TAGALOG: Tagalog + * @PANGO_SCRIPT_HANUNOO: Hanunoo + * @PANGO_SCRIPT_BUHID: Buhid + * @PANGO_SCRIPT_TAGBANWA: Tagbanwa + * @PANGO_SCRIPT_BRAILLE: Braille + * @PANGO_SCRIPT_CYPRIOT: Cypriot + * @PANGO_SCRIPT_LIMBU: Limbu + * @PANGO_SCRIPT_OSMANYA: Osmanya + * @PANGO_SCRIPT_SHAVIAN: Shavian + * @PANGO_SCRIPT_LINEAR_B: Linear B + * @PANGO_SCRIPT_TAI_LE: Tai Le + * @PANGO_SCRIPT_UGARITIC: Ugaritic + * @PANGO_SCRIPT_NEW_TAI_LUE: New Tai Lue. Since 1.10 + * @PANGO_SCRIPT_BUGINESE: Buginese. Since 1.10 + * @PANGO_SCRIPT_GLAGOLITIC: Glagolitic. Since 1.10 + * @PANGO_SCRIPT_TIFINAGH: Tifinagh. Since 1.10 + * @PANGO_SCRIPT_SYLOTI_NAGRI: Syloti Nagri. Since 1.10 + * @PANGO_SCRIPT_OLD_PERSIAN: Old Persian. Since 1.10 + * @PANGO_SCRIPT_KHAROSHTHI: Kharoshthi. Since 1.10 + * @PANGO_SCRIPT_UNKNOWN: an unassigned code point. Since 1.14 + * @PANGO_SCRIPT_BALINESE: Balinese. Since 1.14 + * @PANGO_SCRIPT_CUNEIFORM: Cuneiform. Since 1.14 + * @PANGO_SCRIPT_PHOENICIAN: Phoenician. Since 1.14 + * @PANGO_SCRIPT_PHAGS_PA: Phags-pa. Since 1.14 + * @PANGO_SCRIPT_NKO: N'Ko. Since 1.14 * @PANGO_SCRIPT_KAYAH_LI: Kayah Li. Since 1.20.1 * @PANGO_SCRIPT_LEPCHA: Lepcha. Since 1.20.1 * @PANGO_SCRIPT_REJANG: Rejang. Since 1.20.1 @@ -162,9 +162,9 @@ * The values correspond to the names as defined in the Unicode standard. See * [Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/) * - * Note that this enumeration is deprecated and will not be updated - * to include values in newer versions of the Unicode standard. - * Applications should use the `GUnicodeScript` enumeration instead, + * Note that this enumeration is deprecated and will not be updated to include values + * in newer versions of the Unicode standard. Applications should use the + * [enum@GLib.UnicodeScript] enumeration instead, * whose values are interchangeable with `PangoScript`. */ typedef enum { /* ISO 15924 code */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-tabs.c new/pango-1.50.2/pango/pango-tabs.c --- old/pango-1.50.1/pango/pango-tabs.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-tabs.c 2021-12-16 22:02:35.000000000 +0100 @@ -549,9 +549,11 @@ * @tab_index: the index of a tab stop * @decimal_point: the decimal point to use * - * Sets the decimal point to use. + * Sets the Unicode character to use as decimal point. * - * This is only relevant for %PANGO_TAB_DECIMAL. + * This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment, + * which align content at the first occurrence of the decimal point + * character. * * By default, Pango uses the decimal point according * to the current locale. @@ -577,9 +579,11 @@ * @tab_array: a `PangoTabArray` * @tab_index: the index of a tab stop * - * Gets the decimal point to use. + * Gets the Unicode character to use as decimal point. * - * This is only relevant for %PANGO_TAB_DECIMAL. + * This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment, + * which align content at the first occurrence of the decimal point + * character. * * The default value of 0 means that Pango will use the * decimal point according to the current locale. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-tabs.h new/pango-1.50.2/pango/pango-tabs.h --- old/pango-1.50.1/pango/pango-tabs.h 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-tabs.h 2021-12-16 22:02:35.000000000 +0100 @@ -35,9 +35,9 @@ * until the available space is filled * @PANGO_TAB_CENTER: the text is centered at the tab stop position * until the available space is filled - * @PANGO_TAB_DECIMAL: text before the first '.' appears to the left of the - * tab stop position (until the available space is filled), the rest to - * the right + * @PANGO_TAB_DECIMAL: text before the first occurrence of the decimal point + * character appears to the left of the tab stop position (until the available + * space is filled), the rest to the right * * `PangoTabAlign` specifies where the text appears relative to the tab stop * position. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/pango-utils.c new/pango-1.50.2/pango/pango-utils.c --- old/pango-1.50.1/pango/pango-utils.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/pango-utils.c 2021-12-16 22:02:35.000000000 +0100 @@ -897,8 +897,9 @@ * Checks if a character that should not be normally rendered. * * This includes all Unicode characters with "ZERO WIDTH" in their name, - * as well as *bidi* formatting characters, and a few other ones. This is - * totally different from g_unichar_iszerowidth() and is at best misnamed. + * as well as *bidi* formatting characters, and a few other ones. + * + * This is totally different from [func@GLib.unichar_iszerowidth] and is at best misnamed. * * Return value: %TRUE if @ch is a zero-width character, %FALSE otherwise * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/serializer.c new/pango-1.50.2/pango/serializer.c --- old/pango-1.50.1/pango/serializer.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/serializer.c 2021-12-16 22:02:35.000000000 +0100 @@ -1621,8 +1621,10 @@ * @filename: (type filename): the file to save it to * @error: Return location for a potential error * - * This function is equivalent to calling [method@Pango.Layout.serialize] - * followed by g_file_set_contents(). + * A convenience method to serialize a layout to a file. + * + * It is equivalent to calling [method@Pango.Layout.serialize] + * followed by [func@GLib.file_set_contents]. * * See those two functions for details on the arguments. * @@ -1732,6 +1734,8 @@ * The intended use of this function is testing, benchmarking and debugging. * The format is not meant as a permanent storage format. * + * To recreate a font from its serialized form, use [f...@pango.font.deserialize]. + * * Returns: a `GBytes` containing the serialized form of @font * * Since: 1.50 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/pango/shape.c new/pango-1.50.2/pango/shape.c --- old/pango-1.50.1/pango/shape.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/pango/shape.c 2021-12-16 22:02:35.000000000 +0100 @@ -137,10 +137,18 @@ if (hb_font_get_nominal_glyph (context->parent, unicode, glyph)) return TRUE; + /* HarfBuzz knows how to synthesize spaces, so never replace them + * with unknown glyphs, but we do need to tell HarfBuzz that the + * font does not have a glyph. + */ + if (g_unichar_type (unicode) == G_UNICODE_SPACE_SEPARATOR) + return FALSE; + *glyph = PANGO_GET_UNKNOWN_GLYPH (unicode); /* We draw our own invalid-Unicode shape, so prevent HarfBuzz - * from using REPLACEMENT CHARACTER. */ + * from using REPLACEMENT CHARACTER. + */ if (unicode > 0x10FFFF) return TRUE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/tests/fonts/README new/pango-1.50.2/tests/fonts/README --- old/pango-1.50.1/tests/fonts/README 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/tests/fonts/README 2021-12-16 22:02:35.000000000 +0100 @@ -3,5 +3,8 @@ Cantarell-VF.otf: Cantarell DejaVSans.ttf: DejaVu Sans +DejaVSansMono.ttf: DejaVu Sans Mono emoji-subset.ttf: subset of Noto Color Emoji droid-sans-subset.ttf: subset of Droid Sans Japanese +amiri-06dd.ttf: subset of Amiri containing U+06dd +fa-regular-f2db.ttf, fa-solid-f2db.ttf: subset of FontAwesome containing U+f2db Binary files old/pango-1.50.1/tests/fonts/amiri-06dd.ttf and new/pango-1.50.2/tests/fonts/amiri-06dd.ttf differ Binary files old/pango-1.50.1/tests/fonts/fa-regular-f2db.ttf and new/pango-1.50.2/tests/fonts/fa-regular-f2db.ttf differ Binary files old/pango-1.50.1/tests/fonts/fa-solid-f2db.ttf and new/pango-1.50.2/tests/fonts/fa-solid-f2db.ttf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/tests/layouts/arabic-format.layout new/pango-1.50.2/tests/layouts/arabic-format.layout --- old/pango-1.50.1/tests/layouts/arabic-format.layout 1970-01-01 01:00:00.000000000 +0100 +++ new/pango-1.50.2/tests/layouts/arabic-format.layout 2021-12-16 22:02:35.000000000 +0100 @@ -0,0 +1,89 @@ +{ + "context" : { + "font" : "serif 12", + "base-gravity" : "south", + "gravity-hint" : "natural", + "base-dir" : "weak-ltr", + "round-glyph-positions" : true, + "transform" : [ + 1, + 0, + 0, + 1, + 0, + 0 + ] + }, + "comment" : "Test that font fallback works\nfor visible format characters\nin the Arabic block.", + "text" : "??", + "font" : "Sans 32", + "output" : { + "is-wrapped" : false, + "is-ellipsized" : false, + "unknown-glyphs" : 0, + "width" : 56320, + "height" : 56320, + "log-attrs" : [ + { + "char-break" : true, + "cursor-position" : true, + "sentence-boundary" : true, + "backspace-deletes-character" : true, + "word-boundary" : true + }, + { + "line-break" : true, + "mandatory-break" : true, + "char-break" : true, + "white" : true, + "cursor-position" : true, + "sentence-boundary" : true, + "backspace-deletes-character" : true, + "word-boundary" : true + } + ], + "lines" : [ + { + "start-index" : 0, + "length" : 2, + "paragraph-start" : true, + "direction" : "ltr", + "runs" : [ + { + "offset" : 0, + "length" : 2, + "text" : "??", + "bidi-level" : 2, + "gravity" : "south", + "language" : "en-us", + "script" : "common", + "font" : { + "description" : "Amiri 32", + "checksum" : "d5e6374130d6df09e66f80f0bbcb7262112584ebadb861f0a412a21cc742a5dd", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 1, + "width" : 56320, + "is-cluster-start" : true, + "log-cluster" : 0 + } + ] + } + ] + } + ] + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/tests/layouts/no-space.layout new/pango-1.50.2/tests/layouts/no-space.layout --- old/pango-1.50.1/tests/layouts/no-space.layout 1970-01-01 01:00:00.000000000 +0100 +++ new/pango-1.50.2/tests/layouts/no-space.layout 2021-12-16 22:02:35.000000000 +0100 @@ -0,0 +1,142 @@ +{ + "context" : { + "font" : "serif 12", + "base-gravity" : "south", + "gravity-hint" : "natural", + "base-dir" : "weak-ltr", + "round-glyph-positions" : true, + "transform" : [ + 1, + 0, + 0, + 1, + 0, + 0 + ] + }, + "comment" : "Test that we get synthesized spaces\nfrom HarfBuzz.", + "text" : " ??? ", + "font" : "Font Awesome 5 Free 32", + "output" : { + "is-wrapped" : false, + "is-ellipsized" : false, + "unknown-glyphs" : 0, + "width" : 220160, + "height" : 220160, + "log-attrs" : [ + { + "char-break" : true, + "white" : true, + "cursor-position" : true, + "sentence-boundary" : true, + "backspace-deletes-character" : true, + "expandable-space" : true, + "word-boundary" : true + }, + { + "char-break" : true, + "white" : true, + "cursor-position" : true, + "expandable-space" : true + }, + { + "line-break" : true, + "char-break" : true, + "cursor-position" : true, + "sentence-start" : true, + "word-boundary" : true + }, + { + "char-break" : true, + "white" : true, + "cursor-position" : true, + "sentence-end" : true, + "backspace-deletes-character" : true, + "expandable-space" : true, + "word-boundary" : true + }, + { + "char-break" : true, + "white" : true, + "cursor-position" : true, + "expandable-space" : true + }, + { + "line-break" : true, + "mandatory-break" : true, + "char-break" : true, + "white" : true, + "cursor-position" : true, + "sentence-boundary" : true, + "word-boundary" : true + } + ], + "lines" : [ + { + "start-index" : 0, + "length" : 7, + "paragraph-start" : true, + "direction" : "ltr", + "runs" : [ + { + "offset" : 0, + "length" : 7, + "text" : " ??? ", + "bidi-level" : 0, + "gravity" : "south", + "language" : "en-us", + "script" : "common", + "font" : { + "description" : "Font Awesome 5 Free Solid Heavy 32", + "checksum" : "8fe6cd51391fa6f8c2008609ddd489bb81a6d7674f3a1c8b7fa07efd026a6397", + "matrix" : [ + 1, + -0, + -0, + 1, + 0, + 0 + ] + }, + "flags" : 0, + "y-offset" : 0, + "start-x-offset" : 0, + "end-x-offset" : 0, + "glyphs" : [ + { + "glyph" : 0, + "width" : 44032, + "is-cluster-start" : true, + "log-cluster" : 0 + }, + { + "glyph" : 0, + "width" : 44032, + "is-cluster-start" : true, + "log-cluster" : 1 + }, + { + "glyph" : 1, + "width" : 44032, + "is-cluster-start" : true, + "log-cluster" : 2 + }, + { + "glyph" : 0, + "width" : 44032, + "is-cluster-start" : true, + "log-cluster" : 5 + }, + { + "glyph" : 0, + "width" : 44032, + "is-cluster-start" : true, + "log-cluster" : 6 + } + ] + } + ] + } + ] + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/tests/layouts/valid-14.layout new/pango-1.50.2/tests/layouts/valid-14.layout --- old/pango-1.50.1/tests/layouts/valid-14.layout 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/tests/layouts/valid-14.layout 2021-12-16 22:02:35.000000000 +0100 @@ -23,7 +23,7 @@ "output" : { "is-wrapped" : false, "is-ellipsized" : true, - "unknown-glyphs" : 1, + "unknown-glyphs" : 0, "width" : 161792, "height" : 161792, "log-attrs" : [ @@ -189,8 +189,8 @@ "runs" : [ { "offset" : 0, - "length" : 3, - "text" : "???", + "length" : 6, + "text" : "??????", "bidi-level" : 0, "gravity" : "south", "language" : "en-us", @@ -241,9 +241,9 @@ ] }, { - "offset" : 3, - "length" : 4, - "text" : "??? ", + "offset" : 6, + "length" : 1, + "text" : " ", "bidi-level" : 0, "gravity" : "south", "language" : "xx", @@ -266,16 +266,10 @@ "end-x-offset" : 0, "glyphs" : [ { - "glyph" : 1, + "glyph" : 0, "width" : 15360, "is-cluster-start" : true, "log-cluster" : 0 - }, - { - "glyph" : 268435488, - "width" : 0, - "is-cluster-start" : true, - "log-cluster" : 3 } ] }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/tests/meson.build new/pango-1.50.2/tests/meson.build --- old/pango-1.50.1/tests/meson.build 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/tests/meson.build 2021-12-16 22:02:35.000000000 +0100 @@ -121,6 +121,8 @@ 'layouts/valid-22.layout', 'layouts/tab-crash.layout', 'layouts/tab-assert.layout', + 'layouts/arabic-format.layout', + 'layouts/no-space.layout', ] test_markups_data = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pango-1.50.1/utils/viewer-render.c new/pango-1.50.2/utils/viewer-render.c --- old/pango-1.50.1/utils/viewer-render.c 2021-12-11 00:37:40.000000000 +0100 +++ new/pango-1.50.2/utils/viewer-render.c 2021-12-16 22:02:35.000000000 +0100 @@ -107,14 +107,14 @@ if (opt_serialized) { - char *text; + char *data; gsize len; GBytes *bytes; GError *error = NULL; - if (!g_file_get_contents (file_arg, &text, &len, &error)) + if (!g_file_get_contents (file_arg, &data, &len, &error)) fail ("%s\n", error->message); - bytes = g_bytes_new_take (text, size); + bytes = g_bytes_new_take (data, len); layout = pango_layout_deserialize (context, bytes, PANGO_LAYOUT_DESERIALIZE_CONTEXT, &error); if (!layout) fail ("%s\n", error->message); ++++++ pango.obsinfo ++++++ --- /var/tmp/diff_new_pack.zoUyDP/_old 2021-12-22 20:17:44.239837790 +0100 +++ /var/tmp/diff_new_pack.zoUyDP/_new 2021-12-22 20:17:44.243837792 +0100 @@ -1,6 +1,6 @@ name: pango -version: 1.50.1 -mtime: 1639179460 -commit: fd62d3ff159232c4a8e7bedb5ce4ac01f1ec8eeb +version: 1.50.2 +mtime: 1639688555 +commit: 37f22bb80ebacd834f1927e6acd7fd94aeaf1270