Linux Panda

Open Source | Linux | Android | Tech

Improve Font Rendering in Fedora Linux


In this guide, we are going to see the steps to improve the font rendering and make Fedora font rendering like Ubuntu using Infinality font. I’m not going to add any before/after screenshots as the font rendering will differ from display to display based on the resolution, the pixel density etc.

 

Fedora

 

Method 1 – Using Liberation Fonts

We are going to install Liberation fonts from Fedora Repository which serves as replacement MS fonts namely, Times New Roman, Arial, and Courier New. The Liberation fonts package will install Sans, Serif, and Monospace, Narrow families.

Go to the Liberation Fonts Build page and download the latest 2.x version binary TTF package.

Then extract it using an archive manager or by running the following command,
tar -xvf liberation-fonts-ttf-2*.tar.gz

Make the liberation directory in /usr/share/fonts/ by running the following command,
sudo mkdir -p /usr/share/fonts/truetype/liberation

 

Now we have to copy all the TTF files to /usr/share/fonts/truetype/liberation directory.

Lets browse to the directory which has the liberation fonts and then copy it to the liberation fonts directory that we created in the above step and then cache the newly installed fonts by running the following commands,
cd liberation-fonts-ttf-2*
sudo cp *.ttf /usr/share/fonts/truetype/liberation/
sudo fc-cache

 

LCD Filter Setting

We need to set the LCD filter setting in our home directory using a file called “.Xresources“.

Method 1

  1. Create a new file in your home directory and name it as “.Xresources“.
  2. Open the file (If you can’t see the file, then you need to change setting to show hidden files), add the following line, save & close the file

Xft.lcdfilter: lcddefault

 

Method 2

Run the following command in terminal
echo "Xft.lcdfilter: lcddefault" >> ~/.Xresources

 

Note: In my LCD display, font rendering look best with hinting set to slight. You may change this value “medium or full” as per your preference.

 

 

Font Setting

Xfce

Xfce Font Settings

Go to Settings -> Appearance

  • Tick the checkbox to Enable anti-aliasing
  • Set Sub-pixel order to RGB
  • Set Hinting to Slight

Logout &  login back to see the new font rendering.

 

Gnome

Gnome does not have options to configure font rendering methods. So you need to install gnome-tweak-tool which can be done by running the following command.
sudo apt-get install install gnome-tweak-tool

Open Gnome tweak tool and change the following in the fonts setting.

  • Set Antialiasing to RGB
  • Set Hinting to Slight

Logout &  login back to see the new font rendering.

 

Other Desktop Environments

The process is the same for other desktop environments too. After changing the font settings, logout &  login back to see the new font rendering.

 

 

Check Font Rendering Settings

You can check the current font rendering settings by running the following command,
xrdb -query
On running the above command, you should see the following settings.

Xft.dpi: 96
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.rgba: rgb

 

 

 

Method 2 – Using Infinality Font

First lets install the infinality repository,

sudo rpm -Uvh http://www.infinality.net/fedora/linux/infinality-repo-1.0-1.noarch.rpm

 

Now lets install infinality fonts.
sudo yum install freetype-infinality fontconfig-infinality
To configure infinality font, follow these steps
cd /etc/fonts/infinality/
sudo bash infctl.sh setstyle

Select a style:
1) debug 3) linux 5) osx2 7) win98
2) infinality 4) osx 6) win7 8) winxp
#?

I chose 3 (i.e. linux).

 

Now lets change the font style.
sudo vi /etc/profile.d/infinality-settings.sh

#################################################################
########################### EXAMPLES ############################
#################################################################
#
# Set the USE_STYLE variable below to try each example.
# Make sure to set your style in /etc/fonts/infinality.conf too.
#
# Possible options:
#
# DEFAULT – Use above settings. A compromise that should please most people.
# OSX – Simulate OSX rendering
# IPAD – Simulate iPad rendering
# UBUNTU – Simulate Ubuntu rendering
# LINUX – Generic “Linux” style – no snapping or certain other tweaks
# WINDOWS – Simulate Windows rendering
# WINDOWS7 – Simulate Windows rendering with normal glyphs
# WINDOWS7LIGHT- Simulate Windows 7 rendering with lighter glyphs
# WINDOWS – Simulate Windows rendering
# VANILLA – Just subpixel hinting
# CUSTOM – Your own choice. See below
# —– Infinality styles —–
# CLASSIC – Infinality rendering circa 2010. No snapping.
# NUDGE – CLASSIC with lightly stem snapping and tweaks
# PUSH – CLASSIC with medium stem snapping and tweaks
# SHOVE – Full stem snapping and tweaks without sharpening
# SHARPENED – Full stem snapping, tweaks, and Windows-style sharpening
# INFINALITY – Settings I use
# DISABLED – Act as though running without the extra infinality enhancements (just subpixel hinting).

USE_STYLE=”UBUNTU”

Now search for “USE_STYLE” or scroll (around line 710) till you see the option to set the style.

Now change the value of USE_STYLE as per your preference & save the file. I’m using UBUNTU style in this example.

Logout &  login back to see the new font rendering.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: