summaryrefslogtreecommitdiffstats
path: root/modules/text_server_fb
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2020-12-26 23:15:01 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2021-02-14 14:11:48 +0200
commit2f391bd9c33c18b61290d7106ea2ad623204fe47 (patch)
treee256c5c7ce95afcbf3a25161be13303c306ac9e4 /modules/text_server_fb
parentd78336c65e3dda2081fe4f3c1e4c269452514086 (diff)
downloadredot-engine-2f391bd9c33c18b61290d7106ea2ad623204fe47.tar.gz
[CTL] Fix scaling of the underline position and size.
Diffstat (limited to 'modules/text_server_fb')
-rw-r--r--modules/text_server_fb/dynamic_font_fb.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/text_server_fb/dynamic_font_fb.cpp b/modules/text_server_fb/dynamic_font_fb.cpp
index df7756cbd0..6836d2b9e2 100644
--- a/modules/text_server_fb/dynamic_font_fb.cpp
+++ b/modules/text_server_fb/dynamic_font_fb.cpp
@@ -124,8 +124,9 @@ DynamicFontDataFallback::DataAtSize *DynamicFontDataFallback::get_data_for_size(
fds->size = p_size;
fds->ascent = (fds->face->size->metrics.ascender / 64.0) / oversampling * fds->scale_color_font;
fds->descent = (-fds->face->size->metrics.descender / 64.0) / oversampling * fds->scale_color_font;
- fds->underline_position = -fds->face->underline_position / 64.0 / oversampling * fds->scale_color_font;
- fds->underline_thickness = fds->face->underline_thickness / 64.0 / oversampling * fds->scale_color_font;
+ fds->underline_position = (-FT_MulFix(fds->face->underline_position, fds->face->size->metrics.y_scale) / 64.0) / oversampling * fds->scale_color_font;
+ fds->underline_thickness = (FT_MulFix(fds->face->underline_thickness, fds->face->size->metrics.y_scale) / 64.0) / oversampling * fds->scale_color_font;
+
if (p_outline_size != 0) {
size_cache_outline[id] = fds;
} else {