Rofi: bitmap fonts displaying illegibly

Created on 5 Sep 2019  ยท  14Comments  ยท  Source: davatorium/rofi

Version

Output of rofi -v

~ 1m 10s
โฏ rofi -v
Version: 1.5.4

Configuration

Output of rofi -help here

Launch Command

The commandline used to launch rofi

rofi -modi drun -show drun

Steps to reproduce

Use any bitmap font (so far as I can tell)

and the display looks like this:
rofi_fudged

I used the exact same font for years. I had in my rofi config.

rofi.font:      Tamzen 11

(maybe 12 but I've tried multiple sizes and neither works).

fc-match confirms I have that font available:

โฏ fc-match "Tamzen"
Tamzen6x12r.bdf: "Tamzen" "Regular"

I use arch, a few months ago all of a sudden I rebooted and rofi displayed like it does above whenever I launched it. After fiddling around I realized I could get it to work by using a non bitmap font, but any bitmap font I selected displayed like it does above.

Is this some kind of regression in rofi? I was quite attached to my bitmap font.

Most helpful comment

@ksevelyar Fellow NixOS user here -- How did you get it working? I _really_ don't want to use the TTF version of Terminus because it's blurry/antialiased.

You need .otb postfix:

fonts = with pkgs;
    [
      terminus_font.otb
      siji.otb
    ];
};

All 14 comments

The font rendering in rofi has not changed in the past years.
Can you see if another pango based tool (gedit is normally a good test) renders the font correctly?
(There has been (see this issue tracker) several regressions with pango & arch and font rendering in the past months, see this issue tracker).

I fired up gedit, but it can't find tamzen. There are other fonts in the list whos names I can't see that are rendering like the rofi image is though.

You're saying it's likely because of some pango update I pulled in?

Would be my guess.

This issue is indeed on the arch forums and is fairly common, I haven't found a good workaround yet. Others are using a ttf version of tamzen but it still renders very ugly when I use it. I'll close since this isn't a rofi issue

Thanks for letting me know.

These seems to be the reason:
https://gitlab.gnome.org/GNOME/pango/issues/386

Pango dropped (silently) support when switching to another renderer.

In case this will be helpful for someone:

You can use .otb bitmap fonts with new Pango. You can just put them to ~/.local/share/fonts

2020-05-12-21-52-46-region
2020-05-12-19-48-20

You can convert your fonts with FontForge.

Edit: Ignore, most likely nothing to do with Rofi.

Setting the font to a bitmap font, such as Cozette or Terminus (both OTB fonts), results in invisible characters on my system. I have tried various font sizes and pixel sizes, none of which worked. I am not getting the empty boxes detailed in the OP, they are just invisible, I can type and run applications but no visible text. Rofi gives no error when running regarding the config. Using an OTF font or TTF works fine.

Running pango-list | grep Cozette and pango-list | grep Terminus both return the fonts, so pango is recognizing them, fc-match for both returns the correct font. Am I missing something or is this a bug (or potentially something wrong with my font config)? I've had Terminus installed for some time, however I installed Cozette only today to check if it would work. The fonts are in ~/.local/share/fonts as well as in the global font directories (fc-list does identify them in both places).

It magically started working, no idea why, just randomly set it to terminus again and the font was working, same with cozette font. I did uninstall nerd fonts today and ran fc-cache --really-force -v, however I already did that before so I don't know why it helped this time. Very pleased though :)

happy to hear it is working now :smile:

@ksevelyar Fellow NixOS user here -- How did you get it working? I really don't want to use the TTF version of Terminus because it's blurry/antialiased.

@ksevelyar Fellow NixOS user here -- How did you get it working? I _really_ don't want to use the TTF version of Terminus because it's blurry/antialiased.

You need .otb postfix:

fonts = with pkgs;
    [
      terminus_font.otb
      siji.otb
    ];
};

Ah, thanks!

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ghost picture ghost  ยท  3Comments

icf20 picture icf20  ยท  4Comments

digitalphoton picture digitalphoton  ยท  4Comments

herrsimon picture herrsimon  ยท  5Comments

jluttine picture jluttine  ยท  4Comments