mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
gsk: Improve glyph serialization
The special case for ASCII glyphs is unfortunately not working very well, because of an oversight in pango: When I added subpixel positioning, I made pango_shape() default to not rounding, and make PangoLayout call pango_shape_with_flags() and pass the rounding information down. The upshot is that we need to use the _with_flags variant here and tell it to round position, so it matches what the text node contains.
This commit is contained in:
parent
478d1f71e3
commit
26119af7a6
@ -688,10 +688,16 @@ create_ascii_glyphs (PangoFont *font)
|
||||
glyph_string = pango_glyph_string_new ();
|
||||
for (i = MIN_ASCII_GLYPH; i < MAX_ASCII_GLYPH; i++)
|
||||
{
|
||||
pango_shape ((char[2]) { i, 0 },
|
||||
1,
|
||||
¬_a_hack,
|
||||
glyph_string);
|
||||
const char text[2] = { i, 0 };
|
||||
|
||||
pango_shape_with_flags (text,
|
||||
1,
|
||||
text,
|
||||
1,
|
||||
¬_a_hack,
|
||||
glyph_string,
|
||||
PANGO_SHAPE_ROUND_POSITIONS);
|
||||
|
||||
if (glyph_string->num_glyphs != 1)
|
||||
{
|
||||
pango_glyph_string_free (glyph_string);
|
||||
|
Loading…
Reference in New Issue
Block a user