mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
Improve positioning of combining characters in GTK.
This commit is contained in:
parent
2d231cb89c
commit
96118f3e38
@ -5109,13 +5109,20 @@ not_ascii:
|
||||
|
||||
/* There is a previous glyph, so we deal with combining
|
||||
* characters the canonical way.
|
||||
* Older versions of Pango used a positive x_offset,
|
||||
* then set the width of the previous glyph to zero.
|
||||
* Newer versions of Pango use a negative x_offset.
|
||||
* In some circumstances Pango uses a positive x_offset,
|
||||
* then use the width of the previous glyph for this one
|
||||
* and set the previous width to zero.
|
||||
* Otherwise we get a negative x_offset, Pango has already
|
||||
* positioned the combining char, keep the widths as they
|
||||
* are.
|
||||
* For both adjust the x_offset to position the glyph in
|
||||
* the middle. */
|
||||
* the middle. */
|
||||
if (glyph->geometry.x_offset >= 0)
|
||||
{
|
||||
glyphs->glyphs[i].geometry.width =
|
||||
glyphs->glyphs[i - 1].geometry.width;
|
||||
glyphs->glyphs[i - 1].geometry.width = 0;
|
||||
}
|
||||
width = cells * gui.char_width * PANGO_SCALE;
|
||||
glyph->geometry.x_offset +=
|
||||
MAX(0, width - cluster_width) / 2;
|
||||
|
Loading…
x
Reference in New Issue
Block a user