diff --git a/pango-fix-default-break-function.patch b/pango-fix-default-break-function.patch new file mode 100644 index 0000000..9e5a7ba --- /dev/null +++ b/pango-fix-default-break-function.patch @@ -0,0 +1,73 @@ +From 6ff8f019170241188b4b76531c60f420bf81ffe2 Mon Sep 17 00:00:00 2001 +From: Peng Wu +Date: Wed, 16 Aug 2017 15:02:36 +0800 +Subject: [PATCH] Fix pango_default_break function for sentence start/end + +Skip the space characters in sentence start/end. + +https://bugzilla.gnome.org/show_bug.cgi?id=785978 +--- + pango/break.c | 39 +++++++++++++++++++++++++++++---------- + 1 file changed, 29 insertions(+), 10 deletions(-) + +Index: pango-1.40.11/pango/break.c +=================================================================== +--- pango-1.40.11.orig/pango/break.c ++++ pango-1.40.11/pango/break.c +@@ -559,6 +559,7 @@ pango_default_break (const gchar *text + gunichar base_character = 0; + + gint last_sentence_start = -1; ++ gint last_non_space = -1; + + gboolean almost_done = FALSE; + gboolean done = FALSE; +@@ -1660,19 +1661,37 @@ pango_default_break (const gchar *text + } + + /* ---- Sentence breaks ---- */ ++ { + +- /* default to not a sentence start/end */ +- attrs[i].is_sentence_start = FALSE; +- attrs[i].is_sentence_end = FALSE; +- +- if (last_sentence_start == -1 && !is_sentence_boundary) { +- last_sentence_start = i - 1; +- attrs[i - 1].is_sentence_start = TRUE; +- } ++ /* default to not a sentence start/end */ ++ attrs[i].is_sentence_start = FALSE; ++ attrs[i].is_sentence_end = FALSE; ++ ++ /* maybe start sentence */ ++ if (last_sentence_start == -1 && !is_sentence_boundary) ++ last_sentence_start = i - 1; ++ ++ /* remember last non space character position */ ++ if (i > 0 && !attrs[i - 1].is_white) ++ last_non_space = i; ++ ++ /* meets sentence end, mark both sentence start and end */ ++ if (last_sentence_start != -1 && is_sentence_boundary) { ++ if (last_non_space != -1) { ++ attrs[last_sentence_start].is_sentence_start = TRUE; ++ attrs[last_non_space].is_sentence_end = TRUE; ++ } ++ ++ last_sentence_start = -1; ++ last_non_space = -1; ++ } ++ ++ /* meets space character, move sentence start */ ++ if (last_sentence_start != -1 && ++ last_sentence_start == i - 1 && ++ attrs[i - 1].is_white) ++ last_sentence_start++; + +- if (last_sentence_start != -1 && is_sentence_boundary) { +- last_sentence_start = -1; +- attrs[i].is_sentence_end = TRUE; + } + + prev_wc = wc; diff --git a/pango.changes b/pango.changes index a4c69c3..3c2ad0a 100644 --- a/pango.changes +++ b/pango.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 31 12:33:32 UTC 2017 - pmonrealgonzalez@suse.com + +- Add pango-fix-default-break-function.patch: Fix + pango_default_break function for sentence start/end (bgo#785978). + ------------------------------------------------------------------- Sat Aug 19 15:49:59 UTC 2017 - zaitor@opensuse.org diff --git a/pango.spec b/pango.spec index ca580c0..52da4f2 100644 --- a/pango.spec +++ b/pango.spec @@ -18,7 +18,6 @@ # When updating the binary version, do not forget to also update baselibs.conf %define pango_binary_version 1.8.0 - Name: pango Version: 1.40.11 Release: 0 @@ -29,6 +28,8 @@ Url: http://www.pango.org/ Source: https://download.gnome.org/sources/pango/1.40/%{name}-%{version}.tar.xz Source2: macros.pango Source99: baselibs.conf +# PATCH-FIX-UPSTREAM pango-fix-default-break-function.patch bgo#785978 pmonrealgonzalez@suse.com -- Fix pango_default_break function for sentence start/end +Patch0: pango-fix-default-break-function.patch BuildRequires: gcc-c++ BuildRequires: gtk-doc BuildRequires: help2man @@ -101,12 +102,12 @@ Summary: Library for Layout and Rendering of Text -- Development Files Group: Development/Libraries/GNOME Requires: libpango-1_0-0 = %{version} Requires: typelib-1_0-Pango-1_0 = %{version} +Provides: pango-doc = %{version} +Obsoletes: pango-doc < %{version} # bug437293 %ifarch ppc64 Obsoletes: pango-devel-64bit %endif -Provides: pango-doc = %{version} -Obsoletes: pango-doc < %{version} %description devel Pango is a library for layout and rendering of text, with an emphasis @@ -120,6 +121,7 @@ to develop applications that require these. %prep %setup -q +%patch0 -p1 %build %meson \ @@ -152,7 +154,7 @@ rm -rf %{buildroot}%{_datadir}/installed-tests %files tools %{_bindir}/pango-view -%doc %{_mandir}/man1/pango-view.1%{ext_man} +%{_mandir}/man1/pango-view.1%{ext_man} %files devel %doc README AUTHORS