[TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only.

(cherry picked from commit 8d501a2dc3)
This commit is contained in:
bruvzg
2023-03-13 14:17:42 +01:00
committed by Yuri Sizov
parent 048c252602
commit d83245f2f9
3 changed files with 77 additions and 64 deletions
+3 -1
View File
@@ -1386,7 +1386,9 @@ _FORCE_INLINE_ bool TextServerAdvanced::_ensure_cache_for_size(FontAdvanced *p_f
FT_Select_Size(fd->face, best_match);
} else {
FT_Set_Pixel_Sizes(fd->face, 0, double(fd->size.x * fd->oversampling));
fd->scale = ((double)fd->size.x * fd->oversampling) / (double)fd->face->size->metrics.y_ppem;
if (fd->face->size->metrics.y_ppem != 0) {
fd->scale = ((double)fd->size.x * fd->oversampling) / (double)fd->face->size->metrics.y_ppem;
}
}
fd->hb_handle = hb_ft_font_create(fd->face, nullptr);