How to Get Decent Font Rendering in PhpStorm on Fedora Linux
-Dawt.useSystemAAFontSettings=on
-Dswing.aatext=true
-Dhidpi=true
I also set antialiasing (within the main PhpStorm settings > appearance menu) to greyscale and renamed the jre directory within my installation to jre-old so it's not used, making fonts look great.
I started a 30-day trial of PhpStorm 8 since I’ve been doing more tinkering with WordPress themes lately and I heard a lot about its excellent WordPress support.
It looks great on my MacBook Pro (retina) out of the box, but on my Fedora 19 linux machine, the fonts were looking very 1999. As someone that’s pretty fussy about my development environment, I knew I had to do some tweaking to try to improve things on linux. Maybe it would have been fine on Fedora 20, but I won’t know until I get the time to do an OS udpate.
Here’s the steps I took on Fedora 19 to get good-looking fonts in PhpStorm.
Check and Tweak PhpStorm’s Configuration
As root, you can edit the /Phpstorm/bin/phpstorm.vmoptions
file to tweak its settings. The key setting that I read about to enable anti-aliasing was already a default in my configuration: -Dawt.useSystemAAFontSettings=lcd
Create a Copy of a Monotype Sans Font with Hinting Disabled
Various forums said that this step on its own is often good enough, but it ended up only helping a bit on my system. I followed the steps from an askubuntu forum discussion on this issue to create an unaliased version of an existing font (Liberation Mono Sans) and saved the copy with a new filename. Then I set Phpstorm to use that newly created font.
Enable Infinality Font Rendering on Fedora
Since there was still room for improvement, I read some more and found many people suggested trying Infinality font rendering. I followed the steps at Infinality.net to set up Infinality. I did have to uninstall the existing freetype-freeworld package first due to yum showing a conflict.
Reboot and Tweak Further if Needed
After a reboot, I started up PhpStorm and finally the fonts looked pretty close to how they render in Sublime Text. Happiness :). Infinality can easily be tweaked even further though as mentioned on the Infinality site, by following instructions in the /etc/profile.d/infinality-settings.sh
file.