True Type Fonts need a little VM in them for processing hints that was patented by Apple. FreeType got around this issue by implementing automatic hinting instead of executing the manual hints.
* https://en.wikipedia.org/wiki/TrueType#Linux_and_other_platf...
Windows simply acquired a proper license for TTF rendering. I think these patents caused issues for Swing. The Java font rendering in Swing components was 100% Java and did not use any of the OS font rendering. IIRC these patents have long expired so I don't see why the fonts couldn't look better. I only do Java on the backend so I have no idea how Java guis look these days.