summaryrefslogtreecommitdiff
path: root/pango/pango-context.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-09-18 18:10:36 +0000
committerMatthias Clasen <mclasen@redhat.com>2020-09-18 18:10:36 +0000
commitd9b69cbaafe08ec7a165eef944cfe6110b3d6d2b (patch)
tree56e06f8edaa2b572239907e2d19f0c4498dff765 /pango/pango-context.c
parent8095dd3217dfbcec4b009a87d534732730ae45bb (diff)
parent6253c71b09a389b37d2a482f3ff1988dd30f80ce (diff)
downloadpango-d9b69cbaafe08ec7a165eef944cfe6110b3d6d2b.tar.gz
Merge branch 'fix-keycap-sequences' into 'master'
Fix handling of keycap sequences Closes #502 See merge request GNOME/pango!241
Diffstat (limited to 'pango/pango-context.c')
-rw-r--r--pango/pango-context.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/pango/pango-context.c b/pango/pango-context.c
index bebe804a..1fcdf366 100644
--- a/pango/pango-context.c
+++ b/pango/pango-context.c
@@ -1065,6 +1065,9 @@ itemize_state_init (ItemizeState *state,
width_iter_init (&state->width_iter, text + start_index, length);
_pango_emoji_iter_init (&state->emoji_iter, text + start_index, length);
+ if (state->emoji_iter.is_emoji)
+ state->width_iter.end = MAX (state->width_iter.end, state->emoji_iter.end);
+
update_end (state);
if (pango_font_description_get_set_fields (state->font_desc) & PANGO_FONT_MASK_GRAVITY)
@@ -1111,15 +1114,18 @@ itemize_state_next (ItemizeState *state)
&state->script_end, &state->script);
state->changed |= SCRIPT_CHANGED;
}
- if (state->run_end == state->width_iter.end)
- {
- width_iter_next (&state->width_iter);
- state->changed |= WIDTH_CHANGED;
- }
if (state->run_end == state->emoji_iter.end)
{
_pango_emoji_iter_next (&state->emoji_iter);
state->changed |= EMOJI_CHANGED;
+
+ if (state->emoji_iter.is_emoji)
+ state->width_iter.end = MAX (state->width_iter.end, state->emoji_iter.end);
+ }
+ if (state->run_end == state->width_iter.end)
+ {
+ width_iter_next (&state->width_iter);
+ state->changed |= WIDTH_CHANGED;
}
update_end (state);