So “difficult”. I ported to juce 8 in 90 minutes so it didn’t exactly kill me. The hardest part was we used to build on Ubuntu 18 so I had to update our docker images to 20. And the reason we did it was mostly better font rendering in windows. And I appreciate the answer here. Plus now I get emojis again which is cool.
And the problem with turning off deprecation warnings is it sweeps your whole project (or you used really targeted pragma which is even worse code splattage) so if I want to avoid deprecation in one of my non juce deps I lose that safety.
It really seems like your recommendation amounts to “never use font as a member or a value at rest since font options auto casts” and I should just internalize that juce font doesn’t only have deprecated constructors but is just generally not what you want to use anymore for any member at rest? Maybe update that comment in the juce font constructor I highlighted then since it seems rather wrong now!
Although defining font options as font in namespace juce for juce 7 does give me the heebie jeebies!
The = for options for member though is what I was trying to avoid indeed and it’s exactly what my ft macro does.
Finally yes this is only a problem for variables which are late assigned of type font. The rest of our port was pretty easy (but we are also using a typeface where we had fixed up the font metrics so juce font and juce font options did basically the same thing) and the ui looks good.
Thanks for the answer.