[Obsolete] [Font Rendering] How to install Infinality fonts in Manjaro Linux - v4.0

This Tutorial is Obsolete | Please Don’t Follow This

Disclaimer/Warning: I’m not responsible if you break your Manjaro Linux installation following this tutorial.

I want to let you know that this tutorial involves installing packages “directly from the Arch User Repository” and the Manjaro Wiki itself warns that

Warning: Use the AUR at your own risk! Support will not be provided by the Manjaro team for any issues that may arise relating to software installations from the AUR.

So if you’re proceeding with this tutorial, please proceed at your own risk.

Before we start, please, back up your /etc/fonts directory so that you can restore it if you want to go back to the stock fonts.

This guide is split into 2 methods.

  1. 1st method shows how to install Infinality fonts using bohoomil repository.
  2. 2nd method shows how to install Infinality fonts using AUR.

Steps to install Infinality fonts

Method 1: Using Infinality Repository

The easy way is to use the Infinality fonts from http://bohoomil.com/ repository.

We are going to install 3 packages called as

  1. cairo-infinality-ultimate
  2. fontconfig-infinality-ultimate
  3. freetype2-infinality-ultimate

The first step is to add the bhoomil repository to pacman config file.

Run the following code to open the repository configuration file.

sudo vim /etc/pacman.conf

The above command will probably show an error in your machine since vim is not installed by default.

Replace vim with your preferred text editor, i.e. if you like to use nano, then

sudo nano /etc/pacman.conf

After opening the file, go to the end of the file and add the following lines,

Server = http://bohoomil.com/repo/$arch

Save and close the file.

Next step is to import & sign the keys.

To import the new key, run the following command,

sudo pacman-key -r 962DDE58

To sign the new key, run the following command,

sudo pacman-key --lsign-key 962DDE58

The next step is to update our system to get the information about the available packages in the bhoomil repository.

sudo pacman -Syy

To install infinality fonts, run with the following command,

sudo pacman -S infinality-bundle

Now you’ll be asked whether the system should remove the old fonts and proceeed with the installation. You have to type y (i.e. yes) & press enter.

Method 2: Using AUR

The other way (or hard way as I call it) is to install Infinality packages from AUR.

We are going to install 3 packages called as

  1. cairo-infinality
  2. fontconfig-infinality
  3. freetype2-infinality

To install infinality fonts, run with the following command,

yaourt -S cairo-infinality fontconfig-infinality freetype2-infinality

The process will start building the files. Since we’re installing the package using yaourt from AUR (Arch User Repository), it’ll show some warning/options.

Be careful about what you type and press enter, because entering wrong options may break the installation/system.

So make sure you read each prompt properly before entering anything, else you could end up aborting the installation by accident!

Here are a few examples of the warnings that will show up.

( Unsupported package: Potentially dangerous ! )
Edit PKGBUILD ? [Y/n] (“A” to abort)

We don’t need to edit the PKGBUILD file, so type the letter n & press enter.

Edit install.sh ? [Y/n] (“A” to abort)

We don’t need to edit the install script, so type the letter n & press enter.

Continue building fontconfig-infinality ? [Y/n]

Type the letter y & press enter to continue the build process.

fontconfig-infinality and fontconfig are in conflict. Remove fontconfig? [y/N]

Yes, we have to remove the packages that are in conflict. So we have to type the letter y & press enter.

Continue installing fontconfig-infinality ? [Y/n]

Ofcourse, type the letter y & press enter.

Steps to configure font rendering

LCD Filter

We have to set “lcdfilter” setting to default for best font rendering. To do that, browse to /etc/fonts/conf.d/,

cd /etc/fonts/conf.d/

and run the following code.

sudo ln -s …/conf.avail/11-lcdfilter-default.conf

If you want to use lcdlegacy or other config, then you have to add the respective symbolic link instead of the above command.

For more information on using preset font configuration, check the font configuration in arch wiki.

Fonts & Hinting

You may choose different font as per your preference and may use “slight or full” hinting depending on your preference.


Go to Settings -> Appearance -> Fonts


System -> Preferences -> Look & Feel -> Appearance

Infinality - Custom Styles (Optional)

Infinality fonts comes with multiple pre-defined styles. So if you want to choose another style, then you have to copy the “infinality-settings.sh” file to /etc/X11/xinit/xinitrc.d/.

To do that, run the following command,

sudo cp /usr/share/doc/freetype2-infinality-ultimate/infinality-settings.sh /etc/X11/xinit/xinitrc.d/

Now lets open the file to set another style,

sudo vim /etc/X11/xinit/xinitrc.d/infinality-settings.sh

In that file you can see that 2 levels of customization are available.

  1. A set of 7 preconfigured styles selectable by name.
  2. You can create your own custom style.

In this tutorial, we are going to see only the first level customization, which is changing the preconfigured styles.

### Available styles:
### ultimate1 <> extra sharp
### ultimate2 <> sharper & lighter ultimate
### ultimate3 <> ultimate: well balanced (default)
### ultimate4 <> darker & smoother
### ultimate5 <> darkest & heaviest ("MacIsh")
### osx       <> Apple OS X
### windowsxp <> MS Windows XP

### If you want to use a style from the list, uncomment the variable below
### and set its name as the value.

#export INFINALITY_FT="ultimate3"

We have to uncomment the last line, i.e. remove the # symbol before the export INFINALITY_FT=“ultimate3”, so that it looks like the following,

### Available styles:
### ultimate1 <> extra sharp
### ultimate2 <> sharper & lighter ultimate
### ultimate3 <> ultimate: well balanced (default)
### ultimate4 <> darker & smoother
### ultimate5 <> darkest & heaviest ("MacIsh")
### osx       <> Apple OS X
### windowsxp <> MS Windows XP
### If you want to use a style from the list, uncomment the variable below
### and set its name as the value.
export INFINALITY_FT="ultimate3"

Now you can choose either of the styles available which are,

  • ultimate1
  • ultimate2
  • ultimate3
  • ultimate4
  • ultimate5
  • osx
  • windowsxp

so, if you want to use extra sharp fonts, then the export option should look like the following,

export INFINALITY_FT=“ultimate1”

If you want to create your own custom style (i.e. second level customization), then you can do so by referring to the document available at /usr/share/doc/freetype2-infinality-ultimate/infinality-settings-generic.

Note: Once you have rebooted, you don’t need to reboot again. You just need to logout & login to try the different styles in “infinality-settings.sh” file.

Reboot to see the new font rendering. :slight_smile:

Note: Once you have rebooted, you don’t need to reboot again. You just need to logout & login to try the different styles in “infinality-settings.sh” file.

Install MS fonts: (Optional)

If you want to install MS fonts, then you can do so by running the following command.

yaourt -S ttf-ms-win10

Restore stock fonts

If you’re still not happy with the font rendering and want revert back to the stock fonts then run the following command to restore/revert back to the stock fonts and then reboot.

Old tutorial link for reference: https://old.forum.manjaro.org/index.php?topic=3459.0

If you have the “green color in white/black text” issue in GIMP, please check this, http://tech.zarmory.com/2015/04/fixing-gimp-font-rendering-with.html.


ttf-ms-fonts are deprecated. Better is downloading trial ISO with Windows 10 and extract Windows 10 fonts folder and make packages with ttf-ms-win10 AUR package.


Good tutorial.

I’d like to add one thing.
You can further optimise infinality font rendering by selecting a different style:

  • copy /usr/share/doc/freetype2-infinality-ultimate/infinality-settings.sh to /etc/X11/xinit/xinitrc.d
  • open and edit the file and change the style to your liking, or create your custom style. The file is documented.

Excellent detailed tutorial. Great job @StealthPenguin

I agree with @FadeMind the very old (dating back to Windows95-98) ttf-ms-fonts package renders poorly even with the infinality packages installed. You want to use at the very least fonts from windows7 or newer (cleartype fonts). I’m using windows10 fonts, which to me are the best windows fonts available. More importantly, the newer Windows fonts are exact metric compatible with the older Windows fonts, so webpages expecting these typefaces render correctly as intended.

Be aware, however, that the infinality packages themselves can sometimes introduce problems with other applications. For example, I’ve had problems in the past, where it would make gimp crash or render pages incorrectly, and there was a serious bug with infinality rendering fonts improperly in konsole and yakuake with plasma5, that made fonts unreadable and garbled on the screen that was only recently resolved. Additionally, there’s a known bug with it causing excessive CPU usage in QT5.x that has yet to be fixed https://bugs.kde.org/show_bug.cgi?id=354082

The point I’m getting at is infinality is not a panacea. Yes, it may render some fonts considerably better than the default font rendering system. However, since it isn’t the default with any distribution, it’s not widely tested in numerous scenarios the way the default one is. Keep that in mind if you have problems, you may be on your own and without support to get things fixed. Not a big deal on a personal machine that you’re playing with as a hobby, but a very big deal on a production machine, or on your only one that you need to be working properly 24/7.

Just my 2 cents.


@FadeMind, didn’t knew that ttf-ms-fonts were deprecated, thanks for the information.

@torvic, thanks for the information. I wondered what happened to the custom configuration.

@Odysseus, never had any issues with infinality fonts (Xfce, MATE, Openbox). The first thing I do after installing Manjaro Linux is update, upgrade & then install infinality fonts. :stuck_out_tongue:

However, I haven’t tried infinality fonts on KDE, so yes, there may be issues with KDE. But plasma already has good font rendering, so I don’t think infinality fonts are needed for plasma. Just the font & hinting changes are enough.

@StealthPenguin, just like you, infinality is one of the first things I do on a fresh install.
I’ve been using infinality since years on Arch/Manjaro/openSUSE, and never had a big problem with it. Some fonts do not render well, but this can easily be mitigated by choosing another font known to be compatible with infinality.

I agree though that the current font rendering engine is good enough for most purposes as long as it is set up correctly (hinting, anti-aliasing, SPR etc.).

@StealthPenguin thanks for your guide, and input in the other fonts thread. My fonts are looking better than ever! I’m using my Windows 10 fonts and various Google fonts and they look wonderful. Just like when I was on Gentoo. You may want to mention in the first post that if they have a multilib setup there are additional packages and that they may want to add the infinality enabled java packages too. Thanks for the great work!

good tutorial
i found this commands and i think that it is a good addition


cd /etc/fonts/conf.d
sudo ln -s …/conf.avail.infinality/36-repl-missing-glyphs.conf . # Note the dot is included!


sudo fc-match “monospace”


sudo fc-cache -fr[/code]


This step should change to

cd ~
git clone https://aur.archlinux.org/ttf-ms-win10.git
cd ttf-ms-win10

copy the win10 fonts(c:\windows\fonts) and license file in to ttf-ms-win10, then

makepkg -si
1 Like

you really should consider to use the “noto fonts” instead of windows stuff.

Noto fonts are nice, I have them installed, but some of us prefer windows fonts as a default. I have both free (mostly Google) and non-free (mostly Microsoft) fonts installed. If a webpage prefers one to another it will render with the correct typeface. And if no preference is given then my preference for Microsoft fonts will take precedence.

Who are you to tell anyone which fonts they should or shouldn’t use in their system?


so maybe my fault. it wasnt meant to force someone to use it.

1 Like

if i have installed infinality following this tutorial, what should i pay attention to when i do a system rolling update ?

This whole tutorial is not needed as we have infinality in our default packages already integrated. You only have to edit one config file to enable it after a reboot. Therefore this tutorial is obsolete.

Subpixel rendering effectively triples the horizontal (or vertical) resolution for fonts by making use of subpixels. The default autohinter and subpixel rendering are not designed to work together, hence you will want to enable the subpixel autohinter.

Prior to freetype2 2.7, the subpixel hinting mode was configurable with the FT2_SUBPIXEL_HINTING environment variable. Possible values were 0 (disabled), 1 (Infinality) and 2 (minimal).

From freetype2 2.7, subpixel hinting uses upstream’s configuration method, which has a
different syntax. Subpixel hinting mode configured in the file /etc/profile.d/freetype2.sh which includes a brief documentation. Possible values are truetype:interpreter-version=35 (classic mode/2.6 default), truetype:interpreter-version=38 (“Infinality” mode), truetype:interpreter-version=40 (minimal mode/2.7 default).


You say just use this article and you don’t need anything. Yes I just added your below you mentioned and also just set Lcdfilter=1 (default) and it works like a charm :slight_smile: (This means I’m not happy but it gives almost same result with infinality bundle settings)

According to the freetype documentation best suit font family is “Liberation fonts”.
I read lots of documentation and after that I revert all setting coming with Manjaro first installation just change system fonts to “Liberation Sans”.
Fonts issue I think sometimes make people obsessive about that, whatever your settings you always going to try make better and this never going to stop :smiley:

Hello @philm,

I tried changing freetype2.sh to “truetype:interpreter-version=38 (“Infinality” mode)”, but I am still getting blurred fonts in Java applications, like Jetbrains Clion.

I ended up solving it by installing the following packages from AUR:
cairo-infinality 1.14.8-1
fontconfig-infinality 2.12.1-1
freetype2-infinality 2.7-1
jdk8-openjdk-infinality 8.u112-1
jre8-openjdk-headless-infinality 8.u112-1
jre8-openjdk-infinality 8.u112-1

freetype2-infinality 2.7-1 is behind, but there is a WIP to add infinality patches to 2.7.1 version.

2017-02-05 - update URL to repo with guide.


this tutorial is outdated, because infinality fonts are no longer needed and do not work anymore in manjaro!

closing this topic upon request from the OP.


Forum kindly sponsored by Bytemark