While working on the Infinality article, I've noticed that "slow", who is behind the Infinality PPA for Ubuntu, maintains another PPA for OpenJDK7 and OpenJDK8 which comes with a patch that improves the font rendering for Java / Swing applications in Linux.
Using this patched OpenJDK, the font rendering for Java / Swing applications should look almost native - take a look at these IntelliJ IDEA screenshots (make sure you check out the images in full size - 100% zoom -, or else they will look blurry):
Before installing the patched OpenJDK 7 |
After installing the patched OpenJDK 7 |
And another set of screenshots which use a dark background and different font (taken from the PPA description - both use OpenJDK7):
Before |
After |
Update: here are a couple more screenshots with OpenJDK8 (and IntelliJ IDEA):
Before |
After |
Note: since this is for OpenJDK 7 and 8, it obviously doesn't have any effect if you use Oracle Java or OpenJDK 6, so make sure your applications use OpenJDK 7 or 8 when trying this.
Install OpenJDK7 or OpenJDK8 with font fixes in Ubuntu
Update: the PPA now provides packages for Ubuntu 12.04, 14.04, 14.10 and 15.04.
1. Firstly, add the PPA:
2.a And then, to install (or upgrade to) the patched OpenJDK7, use the following command:
For more information (including extra tweaks, how to pin the packages in the PPA so that Ubuntu's updates don't overwrite it and so on), see THIS page.
1. Firstly, add the PPA:
sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix
sudo apt-get update
2.a And then, to install (or upgrade to) the patched OpenJDK7, use the following command:
sudo apt-get install openjdk-7-jdk
2.b Or, to install (or upgrade to) the patched OpenJDK8, use the command below:sudo apt-get install openjdk-8-jdk
For other Linux distributions, you can get the patch from HERE (altough that might be an older version of the patch - see THIS Infinality forum post for more info).
For more information (including extra tweaks, how to pin the packages in the PPA so that Ubuntu's updates don't overwrite it and so on), see THIS page.
Revert the changes
To revert the changes and install the unpatched OpenJDK back in Ubuntu, use the following commands:
sudo apt-get install ppa-purge
sudo ppa-purge ppa:no1wantdthisname/openjdk-fontfix
once again, thanks to "slow" for the PPA!