Yet another user with issues with Manjaro's font rendering

Try ubuntu install.
I don’t know about nvidia, I m using amd. :slight_smile:

You mean, ubuntu fonts??
Coz I’m not gonna leave Manjaro anytime soon :smiley:

Yes, I mean to install ubuntu fonts from the link above, are the best for me. :slight_smile:

The link mentions about installing 3 different packages for installing ubuntu fonts, however, in the steps ahead, only one package installation is shown.

Can you please post what exactly you have done in order to get better font rendering, please?

We are getting really off topic here, maybe a mod can split this discussion off?

@hussain_chachu: No, I couldn’t. It’s a weird issue altogether. It is about the computer of a acquaintance. He had Xubuntu running but it made big problems in recognizing a scanner. So we tried and installed Manjaro which recognized the scanner perfectly but had notably worse font rendering than Xubuntu. We installed the font used by Xubuntu (Noto Sans), later installed infinality from the AUR, tried the settings from the Wiki page linked above, even some of the hints from the Arch Linux Wiki, but could not observe any improvement. The weirdest thing about this is that the Xubuntu install, which we luckily didn’t remove, also has a worse font rendering now, which I cannot understand at all. We will try a Xubuntu live system today to have a reference…

I agree that this discussion is going off-topic now.
Well, please notify me once you are done with your observations from the live system, and let me know if you get any working method for improving font rendering.

Regards.

Make sure you select the right sub-pixel rendering method for fonts. It could also help to select the correct DPI of your monitor.
I don’t know what DE you’re using, but at least with KDE and Xfce, these options can be set in the settings app.
For some apps, you must also specify the settings in ~/.Xresources.
Also check symlinks in /etc/fonts/conf.d.
Last but not least, you can choose a different font rendering method in /etc/profile.d/fontconfig.

There are plenty of topics regarding these suggestions here on the forums, that’s why I don’t want to go into the details again.

@torvic Thanks for the inputs. BTW, I am using official Manjaro 17 XFCE.

I am just dropping in to this thread with my 2 cents here. The manjaro font rendering on my computer with the 16.10 series was great. kde, nvidia proprietary drivers. When I clean installed to 17, it was horrible. The settings are the same as previous, same as I use in other distros that provide good font rendering. Something changed in the 17 series, not sure what. My bold fonts are horrible, and no amount of changing fonts, changing settings with dpi, aliasing or anything is improving them. To the point that I may be considering whether I stay with it. Yes, they are that bad and noticeable. We shouldn’t have to read through years old fixes, that no longer apply and jump through hoops to get a decent appearing operating system. Perhaps an up to date fix could be posted if one exists.

1 Like

The problem is that everyone has different needs when it comes to fonts.
Some think they look great, some think they look ugly.
You can’t have a “one size fits it all”. There are too many variables that come into play.

At least here, fonts look the same on a fresh KDE 17 than before on older installations.
Perhaps different graphics card drivers play a role in that. A few tweaks in the settings app should already improve rendering.
I admit that the default isn’t quite right on my computers/monitors either.

Oh, and many of the “years old fix” do still apply, although the procedure of applying the fixes might have slightly changed.

Well, if the procedures have changed, then the old fixes do not apply, without being changed also, brought up to date, instead of people reading through the fixes, trying them, only to find out “procedures have changed”. People don’t “think” they look ugly, when they are ugly :). And I disagree, the new update, has brought in changes to the font rendering, whether the engine was updated, or something. I went through most of the rc candidates and had good font rendering. The last I used was RC2, it was fine.

I agree that everyone bears different opinion regarding fonts, but at least, it should not be an ‘eye burner’.
Fonts on Manjaro17 are definitely not good and requires some kind of patch fix by the Manjaro community. (I won’t say “ugly” out of respect though) :stuck_out_tongue:

I don’t say that you’re wrong, but here on two computers plus VBox, fonts are still looking the same. And they’re not ugly (but not perfect either, that’s true).
Maybe you have to find out what update caused the problems, the release announcement thread might be a good place.

Well, that’s Linux in a nutshell.

They do. I even think that most of the fixes still work exactly the same way, bar infinality. I gave a few examples above.

EDIT: Sorry for being a bit harsh. It’s Friday…

Hey, it is ok. And I understand totally what you are saying. Been through this many times in the past with various linux distros, and font rendering always pops up at some point in time :slight_smile: If going back I had to struggle with the fonts I wouldn’t have expected anything different. Thing is, it was perfect before (at least for me). I know there has been many changes from 16 to 17 and not sure what change in my case has given me such an issue. I know others may not have the same issues. I think I might try some of the past fixes again and see if I can get it back to the way it was :slight_smile:

Yeah, that’s a good idea. I mean, you can always report back if something doesn’t work.
I also agree that font rendering on Linux in general has caused tons of issues in the past.
I’m actually interested in what change exactly caused the ugly fonts issue.

Since RC2 was fine for you, it would be advisable to track the changes from RC2->RC3->Release. Seems that only some users are concerned - or that some users are happy enough with the fonts :slight_smile:

Maybe you could post a screenshot so that we can see what’s going on?

Hi. I think that there is no need for patched fontconfig and freetype packages any more. Stock packages can do it well. Do look into “presets” in /etc/fonts/conf.avail and create or delete symlinks in /etc/fonts/conf.d. It is quite easy. Details see here
https://wiki.archlinux.org/index.php/Font_configuration#Presets
Also do not forget to install some good fonts. Try liberation, roboto, noto, croscore, libertinus. There are a lot of fonts in repos or AUR.

1 Like

Generic steps to achieve decent font rendering.

Before following steps mentioned below suggest you to read ArchWiki at following URL - https://wiki.archlinux.org/index.php/Font_configuration

Usually Step 1 - 5 shud be enough. I executed steps 1 - 5 in Manjaro KDE Plasma 5 setup.

if you are not satisfied with steps 1-5 then try remaining 3 ways.

Suggest to Try only one of the 4 ways.

Step 12 - 13 is common for either of the 4-different ways listed below.

Note: Enabling LCD filter is optional. If setting correct RBGA, DPI and hinting does not suffice then enable LCD filter and choose filter subject to what works best for you.

System Settings. Current user

Step 1. Launch system settings and navigate to section responsible for font setting and rendering. Select a True Type Font of your choice. I use Noto Sans as standard font and Ubuntu Mono for terminal. These are hinted fonts available in Manjaro repository among many. For Ubuntu fonts install ttf-ubuntu-font-family package from community repository

Step 2. Enable Antialias

Step 3. Enable Sub Pixel rending and set to correct sub pixel order identified for ur monitor. RGB is the most common order. Others wud be BGR, VBGR, VRGB.

Link to Test sub pixel order - http://www.lagom.nl/lcd-test/subpixel.php

Step 4. Enable Hinting and set hinting style to Slight. More hinting makes font crisp and sharp.
Full hinting could make them too thin and light if fonts don’t have sufficient hinting info. You cud also try hint style medium.

Step 5. Set DPI based on your Display. For me its 96.

Run below command in terminal to get DPI.
xrdb -query | grep dpi

DOING THIS MANUAL WAY. AFFECTS CURRENT USER ONLY. Creating .Xresources file

Step 6. Create “.Xresources” file in ur home directory with following content

-----Start Here-----[Don’t copy this Line]

! Modify DPI with reference to ur display
Xft.dpi: 96

! Modify Sub Pixel order with reference to ur display. Possible values RGB, BGR, VBGR, VRGB
Xft.rgba: rgb

Xft.autohint: false
Xft.antialias: true
Xft.hinting: true

! Possible values hintslight. hintmedium, hintfull, hintnone
Xft.hintstyle: hintslight

! Possible values lcddefault, lcdlegacy, lcdlight . Enable only if required.
! Xft.lcdfilter: lcddefault

-----End Here----- [Don’t copy this Line]

DOING THIS MANUAL WAY. AFFECTS CURRENT USER ONLY. Creating fonts.conf file

Step 7. Now navigate to $HOME/.config/fontconfig/
and verify fonts.conf exists.

If file does not exist use file from following URL.(File shared from my personal google drive account)

https://drive.google.com/open?id=0B31YqShzwlDIeV9tbXlRUm93OGM

If file exists Backup yours and use downloaded file.

For hint style as hintmedium set hintstyle to hintmedium in fonts.conf

For hint style as hintfull set hintstyle to hintfull in fonts.conf

For hint style as hintnone set hintstyle to hintnone in fonts.conf

LCDFILTER section is commented in downloaded fonts.conf. If required uncomment and

For default filter set lcdfilter to lcddefault in fonts.conf

For legacy filter set lcdfilter to lcdlegacy in fonts.conf

For light filter set lcdfilter to lcdlight in fonts.conf

If sub pixel order is not RGB then set value for rgba in fonts.conf as explained below.

For BGR
Replace rgb with bgr

For VBGR
Replace rgb with vbgr

For VRGB
Replace rgb with vrgb

MODIFYING SETTING SYSTEMWIDE Steps 8 -11

Step 8. Launch Terminal and navigate to /etc/fonts/conf.d

Step 9. Run only one command for Sub Pixel order relevant to ur display

Execute sudo ln -s …/conf.avail/10-sub-pixel-rgb.conf (To enable RGB sub pixel rendering)
Execute sudo ln -s …/conf.avail/10-sub-pixel-bgr.conf (To enable BGR sub pixel rendering)
Execute sudo ln -s …/conf.avail/10-sub-pixel-vbgr.conf (To enable VBGR sub pixel rendering)
Execute sudo ln -s …/conf.avail/10-sub-pixel-vrgb.conf (To enable VRGB sub pixel rendering)

Step 10. Hint style systemwide defaults to hintslight . To change it Run only one of below commands

Execute sudo ln -s …/conf.avail/10-hinting-medium.conf (To enable medium hinting)
Execute sudo ln -s …/conf.avail/10-hinting-full.conf (To enable full hinting)
Execute sudo ln -s …/conf.avail/10-hinting-none.conf (If hinting not required)

Step 11. Run only one command. Enable only if step 8 - 10 does not provide desired results.

Execute sudo ln -s …/conf.avail/11-lcdfilter-default.conf (To enable Default LCD Filter)
Execute sudo ln -s …/conf.avail/11-lcdfilter-legacy.conf (To enable Legacy LCD Filter)
Execute sudo ln -s …/conf.avail/11-lcdfilter-light.conf (To enable Light LCD Filter)

Freetype Interpreter setting

Step 12. Quoted by @philm in [Obsolete] [Font Rendering] How to install Infinality fonts in Manjaro Linux - v4.0

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

I have Infinality mode set
export FREETYPE_PROPERTIES=“truetype:interpreter-version=38”

Step 13. Now restart, Just logout and login might not show desired results.

2 Likes

1.Don’t change LCDFilter settings via config. Because after that it really pain in the ass revert and you really dont need this.
2.Infinality fonts don’t needed anymore Freetype 2.7 superior to infinality settings.
3.Which fonts bother you, web browser, libreoffice et…

I really tried hard but just installing two packages from AUR is enough
Firstly make your settings like that

fonts-meta-extended
fonts-meta-base
ttf-ms-fonts
this packages gives for general font looks.
For libreoffice and other qt base applications
add environment variable for qt5ct
open
sudo mousepad /etc/environment
then add this line and save
QT_QPA_PLATFORMTHEME=qt5ct
open qt5ct app and go to fonts section and make it like that and apply the new settings.
https://postimg.cc/image/nrl8k7fyv/
Go to
/etc/profile.d/libreoffice-still.csh (if you use libreoffice-fresh this file change to libreoffice-fresh-csh)
/etc/profile.d/libreoffice-still.sh (same issue above)
if they have comment if front of this line (export SAL_USE_VCLPLUGIN=gtk) make it uncomment and save it.
Restart your computer and enjoy.
Here is my some examples


and a qt base application

Some of my settings:

~/.Xresources:

Xft.dpi: 108
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault

Xfce:

/etc/fonts/conf.d symlinks:

$ lsl /etc/fonts/conf.d/
insgesamt 124K
drwxr-xr-x 1 root root 1,3K  9. Mär 18:31 .
drwxr-xr-x 1 root root  112 18. Jan 19:37 ..
lrwxrwxrwx 1 root root   44 10. Jan 10:07 10-hinting-slight.conf -> /etc/fonts/conf.avail/10-hinting-slight.conf
lrwxrwxrwx 1 root root   48 10. Jan 10:07 10-scale-bitmap-fonts.conf -> /etc/fonts/conf.avail/10-scale-bitmap-fonts.conf
lrwxrwxrwx 1 root root   35  2. Nov 18:48 10-sub-pixel-rgb.conf -> ../conf.avail/10-sub-pixel-rgb.conf
lrwxrwxrwx 1 root root   39  2. Nov 18:48 11-lcdfilter-default.conf -> ../conf.avail/11-lcdfilter-default.conf
lrwxrwxrwx 1 root root   46 31. Okt 10:34 20-unhint-small-dejavu-sans.conf -> ../conf.avail/20-unhint-small-dejavu-sans.conf
lrwxrwxrwx 1 root root   51 31. Okt 10:34 20-unhint-small-dejavu-sans-mono.conf -> ../conf.avail/20-unhint-small-dejavu-sans-mono.conf
lrwxrwxrwx 1 root root   47 31. Okt 10:34 20-unhint-small-dejavu-serif.conf -> ../conf.avail/20-unhint-small-dejavu-serif.conf
lrwxrwxrwx 1 root root   47 10. Jan 10:07 20-unhint-small-vera.conf -> /etc/fonts/conf.avail/20-unhint-small-vera.conf
lrwxrwxrwx 1 root root   44 10. Jan 10:07 30-metric-aliases.conf -> /etc/fonts/conf.avail/30-metric-aliases.conf
lrwxrwxrwx 1 root root   41 10. Jan 10:07 30-urw-aliases.conf -> /etc/fonts/conf.avail/30-urw-aliases.conf
lrwxrwxrwx 1 root root   35  4. Mär 09:51 30-win32-aliases.conf -> ../conf.avail/30-win32-aliases.conf
lrwxrwxrwx 1 root root   31 12. Jan 19:08 31-cantarell.conf -> ../conf.avail/31-cantarell.conf
lrwxrwxrwx 1 root root   37 20. Jan 09:56 33-TerminusPcfFont.conf -> ../conf.avail/33-TerminusPcfFont.conf
lrwxrwxrwx 1 root root   38 10. Jan 10:07 40-nonlatin.conf -> /etc/fonts/conf.avail/40-nonlatin.conf
lrwxrwxrwx 1 root root   34  5. Jan 2015  44-wqy-microhei.conf -> ../conf.avail/44-wqy-microhei.conf
lrwxrwxrwx 1 root root   35 10. Jan 10:07 45-latin.conf -> /etc/fonts/conf.avail/45-latin.conf
lrwxrwxrwx 1 root root   39 10. Jan 10:07 49-sansserif.conf -> /etc/fonts/conf.avail/49-sansserif.conf
lrwxrwxrwx 1 root root   34 10. Jan 10:07 50-user.conf -> /etc/fonts/conf.avail/50-user.conf
lrwxrwxrwx 1 root root   35 10. Jan 10:07 51-local.conf -> /etc/fonts/conf.avail/51-local.conf
lrwxrwxrwx 1 root root   33 31. Okt 10:34 57-dejavu-sans.conf -> ../conf.avail/57-dejavu-sans.conf
lrwxrwxrwx 1 root root   38 31. Okt 10:34 57-dejavu-sans-mono.conf -> ../conf.avail/57-dejavu-sans-mono.conf
lrwxrwxrwx 1 root root   34 31. Okt 10:34 57-dejavu-serif.conf -> ../conf.avail/57-dejavu-serif.conf
lrwxrwxrwx 1 root root   43 10. Jan 10:07 65-fonts-persian.conf -> /etc/fonts/conf.avail/65-fonts-persian.conf
lrwxrwxrwx 1 root root   38 10. Jan 10:07 65-nonlatin.conf -> /etc/fonts/conf.avail/65-nonlatin.conf
lrwxrwxrwx 1 root root   37 10. Jan 10:07 69-unifont.conf -> /etc/fonts/conf.avail/69-unifont.conf
lrwxrwxrwx 1 root root   34 20. Jan 09:56 75-yes-terminus.conf -> ../conf.avail/75-yes-terminus.conf
lrwxrwxrwx 1 root root   39 10. Jan 10:07 80-delicious.conf -> /etc/fonts/conf.avail/80-delicious.conf
-rw-r--r-- 1 root root 1,6K 12. Jan 21:26 81-ubuntu.conf
lrwxrwxrwx 1 root root   39 10. Jan 10:07 90-synthetic.conf -> /etc/fonts/conf.avail/90-synthetic.conf
-rw-r--r-- 1 root root  366 18. Feb 12:58 99pdftoopvp.conf

Fonts used:

  • Oxygen Sans as main font
  • Terminus in urxvt terminals
  • Monaco in other terminals
  • Ubuntu Sans for notifications in dunst
  • Roboto Slab for rofi app launcher

Rendering engine, the current default (/etc/profile.d/freetype2.sh):
export FREETYPE_PROPERTIES="truetype:interpreter-version=40"

Now you have a lot to play with, haven’t you? :slight_smile:

3 Likes
  1. I tried with lcd filter option disabled and font rendering is equally good so no real need to enable this in conf files unless required. :sunglasses:

  2. No need to create symlinks in /etc/fonts/fontconfig/conf.d. Leaving the directory content at default symlinks is best.

  3. I even removed .Xresources file

Now after restart results are equally good without the need to duplicate settings.

Forum kindly sponsored by Bytemark