Loading font from resource degrades quality?!
Hi,
I have some specialized fonts that I want to distribute within my JAR file in order to ensure that my Java FX 2.0 application has the correct visual appearance on the client machine. However, I have noticed that the font anti-aliasing and overall quality gets really bad when I load it via Font.loadFont(InputStream, int); In order to test this I took Arial (arial.ttf) which was already installed in my Windows OS font folder and copied it to my resource/fonts folder within my source folder. When I load Arial from this location using Font.load(InputStream, int) it looks really bad, but if I skip the load command (relying on the OS installed version) it looks excellent. Why is this?
I set my fonts via CSS, e.g:
-fx-font-family: Arial;
-fx-font-size: 13px;
And load my fonts using:
InputStream resource = getClass().getResourceAsStream(aResource);
if (resource == null) {
throw new ResourceIOException("Failed to load resource stream: \"" + aResource + "\"", aResource);
}
Font font = Font.loadFont(resource, 36);
if (font == null) {
throw new ResourceException("Invalid font resource: " + aResource, aResource);
}
As you can see the loaded size is set to 36 but I have tried all kinds of values here ranging from 10 to 200 and it doesn't seems to make any difference. Any suggestions?