Fix scrolling problems with misc-fixed fonts under Cairo
* src/ftcrfont.c (ftcrfont_glyph_extents): Avoid rounding up the glyph ascent to a higher value than needed due to floating-point roundoff errors. (Bug#44284)
This commit is contained in:
parent
ece1e1da5e
commit
33e2418a7c
1 changed files with 6 additions and 1 deletions
|
@ -84,7 +84,12 @@ ftcrfont_glyph_extents (struct font *font,
|
|||
cache->lbearing = floor (extents.x_bearing);
|
||||
cache->rbearing = ceil (extents.width + extents.x_bearing);
|
||||
cache->width = lround (extents.x_advance);
|
||||
cache->ascent = ceil (- extents.y_bearing);
|
||||
/* The subtraction of a small number is to avoid rounding up due
|
||||
to floating-point inaccuracies with some fonts, which then
|
||||
could cause unpleasant effects while scrolling (see bug
|
||||
#44284), since we then think that a glyph row's ascent is too
|
||||
small to accommodate a glyph with a higher phys_ascent. */
|
||||
cache->ascent = ceil (- extents.y_bearing - 1.0 / 256);
|
||||
cache->descent = ceil (extents.height + extents.y_bearing);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue