This commit is contained in:
Arctis-Fireblight
2025-08-27 23:18:33 -05:00
177 changed files with 1631 additions and 967 deletions

View File

@@ -5718,10 +5718,25 @@ RID TextServerAdvanced::_find_sys_font_for_text(const RID &p_fdef, const String
}
}
bool fb_use_msdf = key.msdf;
if (fb_use_msdf) {
FontAdvanced *fd = _get_font_data(sysf.rid);
if (fd) {
MutexLock lock(fd->mutex);
Vector2i size = _get_size(fd, 16);
FontForSizeAdvanced *ffsd = nullptr;
if (_ensure_cache_for_size(fd, size, ffsd)) {
if (ffsd && (FT_HAS_COLOR(ffsd->face) || !FT_IS_SCALABLE(ffsd->face))) {
fb_use_msdf = false;
}
}
}
}
_font_set_antialiasing(sysf.rid, key.antialiasing);
_font_set_disable_embedded_bitmaps(sysf.rid, key.disable_embedded_bitmaps);
_font_set_generate_mipmaps(sysf.rid, key.mipmaps);
_font_set_multichannel_signed_distance_field(sysf.rid, key.msdf);
_font_set_multichannel_signed_distance_field(sysf.rid, fb_use_msdf);
_font_set_msdf_pixel_range(sysf.rid, key.msdf_range);
_font_set_msdf_size(sysf.rid, key.msdf_source_size);
_font_set_fixed_size(sysf.rid, key.fixed_size);