I have an issue with a JavaFX application on a specific Windows 7 machine, were non-English text is incorrectly displayed. The font is set to System everywhere, which as I understand should be Segoe UI on Windows 7 (and this is indeed the default font on this machine). All text in other parts (non-java) of the system is displayed correctly, so the font is there and has the appropriate character sets, which leads me to believe for some reason JavaFX silently fails to load it, and instead uses a different font.
My question is - how can I find out what font JavaFX is actually using on the specific system? I tried Font.getDefault().getName()
but it simply returns "System", which tells me nothing.
Using -Djavafx.verbose=true
and so on also didn't yield anything of value.
Before you ask - Yes, the application is Unicode, and it works on other machines, both windows and linux, without a problem. I would like to try and diagnose the problem so I don't have to resort to reinstalling the machine (which currently is not an option), or something as dramatic.
Edit: It seems that Segoe UI does not in fact contain that specific charset. Nevertheless, the rest of the system is fine with it. So a more accurate question is - why is JavaFX failing to realize this and use a fallback? And how do I debug/diagnose what is going wrong?