Skip to content

Commit dbddc9e

Browse files
authored
Merge pull request godotengine#105408 from bruvzg/fix_bmp_scale
Fix bitmap font scaling.
2 parents 039d9ff + b55d3a2 commit dbddc9e

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

modules/text_server_adv/text_server_adv.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1469,10 +1469,10 @@ _FORCE_INLINE_ bool TextServerAdvanced::_ensure_cache_for_size(FontAdvanced *p_f
14691469

14701470
fd->hb_handle = hb_ft_font_create(fd->face, nullptr);
14711471

1472-
fd->ascent = (fd->face->size->metrics.ascender / 64.0) / fd->scale;
1473-
fd->descent = (-fd->face->size->metrics.descender / 64.0) / fd->scale;
1474-
fd->underline_position = (-FT_MulFix(fd->face->underline_position, fd->face->size->metrics.y_scale) / 64.0) / fd->scale;
1475-
fd->underline_thickness = (FT_MulFix(fd->face->underline_thickness, fd->face->size->metrics.y_scale) / 64.0) / fd->scale;
1472+
fd->ascent = (fd->face->size->metrics.ascender / 64.0) * fd->scale;
1473+
fd->descent = (-fd->face->size->metrics.descender / 64.0) * fd->scale;
1474+
fd->underline_position = (-FT_MulFix(fd->face->underline_position, fd->face->size->metrics.y_scale) / 64.0) * fd->scale;
1475+
fd->underline_thickness = (FT_MulFix(fd->face->underline_thickness, fd->face->size->metrics.y_scale) / 64.0) * fd->scale;
14761476

14771477
#if HB_VERSION_ATLEAST(3, 3, 0)
14781478
hb_font_set_synthetic_slant(fd->hb_handle, p_font_data->transform[0][1]);

modules/text_server_fb/text_server_fb.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -899,10 +899,10 @@ _FORCE_INLINE_ bool TextServerFallback::_ensure_cache_for_size(FontFallback *p_f
899899
}
900900
}
901901

902-
fd->ascent = (fd->face->size->metrics.ascender / 64.0) / fd->scale;
903-
fd->descent = (-fd->face->size->metrics.descender / 64.0) / fd->scale;
904-
fd->underline_position = (-FT_MulFix(fd->face->underline_position, fd->face->size->metrics.y_scale) / 64.0) / fd->scale;
905-
fd->underline_thickness = (FT_MulFix(fd->face->underline_thickness, fd->face->size->metrics.y_scale) / 64.0) / fd->scale;
902+
fd->ascent = (fd->face->size->metrics.ascender / 64.0) * fd->scale;
903+
fd->descent = (-fd->face->size->metrics.descender / 64.0) * fd->scale;
904+
fd->underline_position = (-FT_MulFix(fd->face->underline_position, fd->face->size->metrics.y_scale) / 64.0) * fd->scale;
905+
fd->underline_thickness = (FT_MulFix(fd->face->underline_thickness, fd->face->size->metrics.y_scale) / 64.0) * fd->scale;
906906

907907
if (!p_font_data->face_init) {
908908
// When a font does not provide a `family_name`, FreeType tries to synthesize one based on other names.

0 commit comments

Comments
 (0)