A new version of fontconfig release recently with the added option to disable bitmap fonts. If you’re using a rolling release distro, this might break bitmap fonts for you. It definitely does on Arch (and likely Arch-based distros) because they opted to disable them by default for some reason (AFAICT upstream gives the choice but does not recommend one way or the other).

This’ll cause fontconfig to skip bitmap fonts, your apps won’t be able to access them.

To fix it, you need to configure fontconfig to not ignore bitmap fonts. There are a number of ways to do that.

I’d recommend a user-level fontconfig file. Create $XDG_CONFIG_HOME/fontconfig/fonts.conf with below contents and you get your bitmap fonts back. This negates the file in /etc/fonts/conf.d/70-no-bitmaps-except-emoji.conf. This is the first time I’m configuring fontconfig so there may be a better way ¯_(ツ)_/¯

This should’ve definitely been news imo especially because this is not the default behavior of upstream. I shouldn’t have to read fontconfig PRs to figure out why my fonts broke, even on Arch.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <description>Accept bitmap fonts</description>
  <!-- Accept bitmap fonts -->
  <selectfont>
    <acceptfont>
      <pattern>
        <patelt name="outline"><bool>false</bool></patelt>
        <patelt name="scalable"><bool>false</bool></patelt>
      </pattern>
    </acceptfont>
  </selectfont>
</fontconfig>