diff --git a/libs/ui/source/bmfont.cpp b/libs/ui/source/bmfont.cpp index 42e2cd6b..9e6b55e7 100644 --- a/libs/ui/source/bmfont.cpp +++ b/libs/ui/source/bmfont.cpp @@ -92,7 +92,7 @@ namespace psemek::ui data.offset_y = charInfo["yoffset"].GetFloat(); data.advance = charInfo["xadvance"].GetFloat(); - data.offset_y = - data.offset_y - data.size_y; + data.offset_y = - data.offset_y - data.size_y + result.size[1]; } } diff --git a/libs/ui/source/kerned_font.cpp b/libs/ui/source/kerned_font.cpp index 9c59a164..d685b0d4 100644 --- a/libs/ui/source/kerned_font.cpp +++ b/libs/ui/source/kerned_font.cpp @@ -64,7 +64,6 @@ namespace psemek::ui std::vector result; - float const offset_to_baseline = (data_.size[1] - data_.baseline) * options.scale; for (char32_t c : str) { if (!supports_character(c)) @@ -79,9 +78,9 @@ namespace psemek::ui glyph g; g.character = c; g.position[0].min = pen[0] + data.offset_x * options.scale; - g.position[1].min = pen[1] + offset_to_baseline - (data.offset_y + data.size_y) * options.scale; + g.position[1].min = pen[1] - (data.offset_y + data.size_y) * options.scale; g.position[0].max = pen[0] + (data.offset_x + data.size_x) * options.scale; - g.position[1].max = pen[1] + offset_to_baseline - data.offset_y * options.scale; + g.position[1].max = pen[1] - data.offset_y * options.scale; result.push_back(g); geom::vector advance{data.advance * options.scale, data_.size[1] * options.scale};