diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-11-21 11:02:07 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-11-22 09:58:18 -0500 |
commit | 9d114095bd4c4fb5ab64fff0ed5c1f6680ed2609 (patch) | |
tree | e0f9d05465da901e9ff29fe0ca45c8d52b21ac70 /pango/pango-layout.c | |
parent | 0b84e14251445de349038eca15d2559dfe25ae26 (diff) | |
download | pango-9d114095bd4c4fb5ab64fff0ed5c1f6680ed2609.tar.gz |
Fix a case of unintended hyphenation
When we take a complete item because there are
no breakpoints, we were inserting a hyphen at
the end even though there may not be a breakpoint
there, and ending up with a hyphen in the middle
of an (overlong) line: Brat-wurst.
Test included.
This but was discovered with the help of
http://gitlab.gnome.org/matthiasc/layout-editor
Diffstat (limited to 'pango/pango-layout.c')
-rw-r--r-- | pango/pango-layout.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pango/pango-layout.c b/pango/pango-layout.c index 050138df..3cdb677a 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -4107,7 +4107,8 @@ retry_break: if (break_num_chars == item->num_chars) { - if (break_needs_hyphen (layout, state, break_num_chars)) + if (can_break_at (layout, state->start_offset + break_num_chars, wrap) && + break_needs_hyphen (layout, state, break_num_chars)) item->analysis.flags |= PANGO_ANALYSIS_FLAG_NEED_HYPHEN; insert_run (line, state, item, NULL, TRUE); |