diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-09-18 18:10:36 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-09-18 18:10:36 +0000 |
commit | d9b69cbaafe08ec7a165eef944cfe6110b3d6d2b (patch) | |
tree | 56e06f8edaa2b572239907e2d19f0c4498dff765 /pango/pango-context.c | |
parent | 8095dd3217dfbcec4b009a87d534732730ae45bb (diff) | |
parent | 6253c71b09a389b37d2a482f3ff1988dd30f80ce (diff) | |
download | pango-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.c | 16 |
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); |