I'm building my own render procedure for text rendering. I'm still using sf::Text, sf::Font etc., what I do is creating tags on various position that specify for example color, font or character size. While rendering I cut the string on rows and rows on uniform blocks - characters that have position inside uniform block share the same set of tags so I can set those to sf::Text and render them easily, then move my render position and repeat. However I encountered a little problem. I work with sf::Font::GetLineSpacing for determining row height and as there can be various sizes inside one row, I get maximum height and set that as main one and when rendering smaller than this one, I decrement the value so it sits on the same line. However this isn't really true because when I enlarge character size I get height steps. This is because I don't really set characters like "aAbB" on same line but those like ",,||". It can be understood after realizing what sf::Font::GetLineSpacing returns. My problem is now determining that piece of space is under the "alphabetical row" - the line on which characters lie. I tried this by retrieving Glyph and working whit Bound, but those value seems to be different from what i expected, because they don't grow with character size as fast as I'd expect and those steps can be still seen. Thanks for help