That would be a breaking change Font() is I believe equivalent to Font (FontOptions{}.withMetricsKind (TypefaceMetricsKind::legacy))
The problem is, in previous versions of JUCE the metrics (used to calculate the height of a font) that were read from a font would change depending on the OS. This means in practice the exact same font might render at different sizes for each platform (See my post here for more details).
As part of the work we were doing we didn’t want to continue to force users to either edit a Font file, or manually adjust sizes in the code to make metrics match between platforms. This would become particularly tricky with font fallback support.
So ideally we wanted to use the same metrics for all fonts regardless of the OS, just as most browsers do. That being said if we forced people to do this it could create a significant breaking change for many existing plugins and applications. In some cases it will be subtle and maybe there’s no change at all on the platform you most regularly debug on, but for other platforms there are changes. Some users over the years have done workarounds due to these issues.
Given this we decided the old Font constructors should continue to work exactly as they did before but we chose to deprecate them to strongly encourage the new constructors which by default will use portable metrics. If you load the same font on one platform it’s size/height should render the same on others, unless you specify .withMetricsKind (TypefaceMetricsKind::legacy), in which case it will behave like older versions of JUCE.
To get rid of the warnings I would suggest silencing them in your project for the time being, but I think having the deprecation warning is important in order to discourage new code from constructing non-portable fonts.
