4.24.0 Font issues

We upgraded our project from 4.23.1 where we used Calibri as our main font. Unfortunately current version of Unreal does something strange to it which makes it unusable - it breaks its kerning, and it looks like it depends on screen size. For comparison, I put one Text widget above with Trebuchet, and one below with Roboto. Their kerning remains correct at all zoom levels, while Calibri (the middle one) gets stretched or crammed:


This obviously didn’t happen in 4.23.1 otherwise we wouldn’t have used the font.
The same thing happens in playmode on our widgets, where going fullscreen has an effect similar to zooming in in the widget editor.

Same problem here, all my interface use Calibri and everything resulted badly stretched.

Are you using a custom Calibri font you imported yourself? / have you tried to import it from scratch?
Just curious (also, it is a pretty cool effect to have if one could control the spacing…)

Yup I even made a new 4.24 project and imported it there fresh from the Windows’ font folder, and got the result I posted.

You reported the bug with the unreal team right? I can also confirm it after testing.
(and add that my test project has no fonts set by default in project settings with .24)…

If you haven’t yet, please file a bug on this issue here.

Thanks, this has been fixed for 4.24.2.

If you’re using a source build and want to apply the fix yourself, then in FontCacheFreeType.cpp, the following condition in FFreeTypeAdvanceCache::FindOrCache and FFreeTypeKerningPairCache::FindOrCache should be changed from:


if (FT_HAS_FIXED_SIZES(InFace))

To:


if (!FT_IS_SCALABLE(InFace) && FT_HAS_FIXED_SIZES(InFace))

As an aside, Calibri is under a proprietary Microsoft license, so you’ll need to verify that you’re legally okay to distribute it with your game. A more permissively licensed alternative might be Carlito from Google, as this was made to be a Calibri equivalent for Google Docs and is available under the SIL OFL.

Remember, just because a font is installed on your PC does not mean that you automatically have the rights to distribute it!

Thanks Jamie for the tip, Carlito work great with 4.24.1 too anyway.

Didn’t work for me, do you have to build the whole engine folder after doing that?

I tried with 4.26.2 and I still have the problem, anyway the fix is already included inside engine commits, so it should be there from 4.24.2.

EDIT: I have the same problem only with Letter Spacing not equal to 0, otherwise I don’t have these issues with fonts