Engine: Do not use offset for character advance

This commit is contained in:
Riyyi
2023-12-29 22:53:29 +01:00
parent 15b71f8387
commit c607ebcc72
+6 -5
View File
@@ -83,8 +83,8 @@ void TextAreaSystem::createLines(std::shared_ptr<Font> font, const TextAreaCompo
kerning = c->kernings.at(previous); kerning = c->kernings.at(previous);
} }
lineWidth += (c->advance + c->offset.x + kerning) * fontScale; lineWidth += (c->advance + kerning) * fontScale;
lineWidthSinceLastSpace += (c->advance + c->offset.x + kerning) * fontScale; lineWidthSinceLastSpace += (c->advance + kerning) * fontScale;
if (character == ' ') { if (character == ' ') {
spaceIndex = m_characters.size() - 1; spaceIndex = m_characters.size() - 1;
@@ -147,11 +147,12 @@ std::optional<CharacterQuad> TextAreaSystem::calculateCharacterQuad(std::shared_
// ------------------------------------- // -------------------------------------
// Kerning // Kerning
char kerning = 0;
if (c->kernings.find(previous) != c->kernings.end()) { if (c->kernings.find(previous) != c->kernings.end()) {
advanceX += c->kernings.at(previous) * fontScale; kerning = c->kernings.at(previous);
} }
glm::vec2 cursor = { advanceX + (c->offset.x * fontScale), glm::vec2 cursor = { advanceX + (c->offset.x * fontScale) + (kerning * fontScale),
advanceY - (c->offset.y * fontScale) }; advanceY - (c->offset.y * fontScale) };
glm::vec2 cursorMax = { cursor.x + (c->size.x * fontScale), glm::vec2 cursorMax = { cursor.x + (c->size.x * fontScale),
cursor.y - (c->size.y * fontScale) }; cursor.y - (c->size.y * fontScale) };
@@ -172,7 +173,7 @@ std::optional<CharacterQuad> TextAreaSystem::calculateCharacterQuad(std::shared_
characterQuad.at(3).quad.position = { cursorScreen.x, cursorScreen.y, 0.0f }; // top left characterQuad.at(3).quad.position = { cursorScreen.x, cursorScreen.y, 0.0f }; // top left
// Jump to the next glyph // Jump to the next glyph
advanceX += c->advance * fontScale; advanceX += (c->advance + kerning) * fontScale;
// Texture coordinates // Texture coordinates
// ------------------------------------- // -------------------------------------