From 02fe1199884d1056a3282268a8c75b3f086bfc9d Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Tue, 13 Dec 2022 19:58:50 +0100 Subject: Sketch a proper font rendering infrastructure: - Kerning - LineSpacing - ... We should include that for a proper interaction with Graphics::Text and to be able to render beautiful UIs. Also, we need to discard spaces in newlines, break lines by word, and that kind of things... We'll see. --- src/graphics/textureFont.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/graphics/textureFont.cpp') diff --git a/src/graphics/textureFont.cpp b/src/graphics/textureFont.cpp index 3be2444..d39677e 100644 --- a/src/graphics/textureFont.cpp +++ b/src/graphics/textureFont.cpp @@ -37,6 +37,20 @@ const sf::Glyph & TextureFont::getGlyph(char ch) const{ return pair->second; } -const sf::Texture * TextureFont::getTexture(unsigned int _){ +const sf::Texture * TextureFont::getTexture(...){ return &tex_; } + +float TextureFont::getLineSpacing(...){ + // TODO make sure this is the appropiate measurement, it might be + // smaller... + // SFML obtains that from freetype face->metrics.height which only includes + // the height from the baseline, then that's corrected in sf::Text with an + // spacing ratio -> just test with a font and see what's supposed to do + return glyphSize_.y; +} + +float TextureFont::getKerning(...){ + // Monospaced fonts have 0 kerning + return 0; +} -- cgit v1.2.3