mirror of
https://github.com/SFML/SFML.git
synced 2024-11-25 04:41:05 +08:00
Merge pull request #576 from binary1248/text_fix
Fix text being rendered with a vertical offset when the font's ascent doesn't match it's size.
This commit is contained in:
commit
ee336a3037
@ -473,6 +473,11 @@ Glyph Font::loadGlyph(Uint32 codePoint, unsigned int characterSize, bool bold) c
|
|||||||
|
|
||||||
int width = bitmap.width;
|
int width = bitmap.width;
|
||||||
int height = bitmap.rows;
|
int height = bitmap.rows;
|
||||||
|
int ascender = face->size->metrics.ascender >> 6;
|
||||||
|
|
||||||
|
// Offset to make up for empty space between ascender and virtual top of the typeface
|
||||||
|
int offset = characterSize - ascender;
|
||||||
|
|
||||||
if ((width > 0) && (height > 0))
|
if ((width > 0) && (height > 0))
|
||||||
{
|
{
|
||||||
// Leave a small padding around characters, so that filtering doesn't
|
// Leave a small padding around characters, so that filtering doesn't
|
||||||
@ -487,7 +492,7 @@ Glyph Font::loadGlyph(Uint32 codePoint, unsigned int characterSize, bool bold) c
|
|||||||
|
|
||||||
// Compute the glyph's bounding box
|
// Compute the glyph's bounding box
|
||||||
glyph.bounds.left = bitmapGlyph->left - padding;
|
glyph.bounds.left = bitmapGlyph->left - padding;
|
||||||
glyph.bounds.top = -bitmapGlyph->top - padding;
|
glyph.bounds.top = -bitmapGlyph->top - padding - offset;
|
||||||
glyph.bounds.width = width + 2 * padding;
|
glyph.bounds.width = width + 2 * padding;
|
||||||
glyph.bounds.height = height + 2 * padding;
|
glyph.bounds.height = height + 2 * padding;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user