Skip to main content
Sheelah Brennan

How to Get Decent Font Rendering in PhpStorm on Fedora Linux

Update (May 11, 2016):  The newest version of PhpStorm, PhpStorm 10, fixes the issues with font rendering on linux.  The only changes I needed to add to my installation's phpstorm64.vmoptions file were:

-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.

Font Rendering in PhpStorm on Fedora Linux
Font Rendering in PhpStorm on Fedora Linux

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.