Blob Blame History Raw
From daa77de8a94d83e2d700ce268553fccffe7cdd0e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico@gmail.com>
Date: Tue, 31 Oct 2017 13:07:02 +0800
Subject: [PATCH] Fix is_char_break issue in pango_default_break function

For most cases, the is_char_break variable should be TRUE.

https://bugzilla.gnome.org/show_bug.cgi?id=789625
---
 pango/break.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/pango/break.c b/pango/break.c
index c46f3382..2e66972e 100644
--- a/pango/break.c
+++ b/pango/break.c
@@ -1159,11 +1159,10 @@ pango_default_break (const gchar   *text,
 	    }
 
 	  attrs[i].is_line_break = TRUE; /* Rule LB31 */
-	  /* Unicode doesn't specify char wrap; we wrap around all chars
-	   * except where a line break is prohibited, which means we
-	   * effectively break everywhere except inside runs of spaces.
-	   */
-	  attrs[i].is_char_break = TRUE;
+	  /* Unicode doesn't specify char wrap;
+	     we wrap around all chars currently. */
+	  if (attrs[i].is_cursor_position)
+	    attrs[i].is_char_break = TRUE;
 
 	  /* Make any necessary replacements first */
 	  if (row_break_type == G_UNICODE_BREAK_UNKNOWN)
@@ -1458,7 +1457,6 @@ pango_default_break (const gchar   *text,
 	    {
 	    case BREAK_PROHIBITED:
 	      /* can't break here */
-	      attrs[i].is_char_break = FALSE;
 	      attrs[i].is_line_break = FALSE;
 	      break;
 
-- 
2.13.6