I want to use the LCD filter setting from https://wiki.archlinux.org/index.php/font_configuration#LCD_filter. The file already exists:

$ cat /etc/fonts/conf.d/11-lcdfilter-default.conf 
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
  <description>Use lcddefault as default for LCD filter</description>
<!--  Use lcddefault as default for LCD filter -->
  <match target="pattern">
      This configuration is available on the major desktop environments.
      We shouldn't overwrite it with "assign" unconditionally.
      Most clients may picks up the first value only. so using "append"
      may simply works to avoid it.
    <edit mode="append" name="lcdfilter">

However the settings seem to be ignored:

$ grep lcd /etc/fonts/fonts.conf | wc
      0       0       0
$ fc-match --verbose | rg lcd
       lcdfilter: 0(i)(w)

This is after running fc-cache -f.

What is the command for picking up changes in /etc/fonts/conf.d? I don't want to restart my system since that would take too long (I will need to do this many times to troubleshoot).

1 Answer 1


I never did figure out how to troubleshoot this more extensively, but it turned out that another config file was overriding my system-level ones:

$ grep cache /etc/fonts/fonts.conf
<!-- Font cache directory list -->
    <cachedir prefix="xdg">fontconfig</cachedir>

I didn't have ~/.fontconfig but turns out I did have ~/.config/fontconfig/fonts.conf which itself set lcdfilter to none. I deleted this file (it did not have any other important settings, otherwise I would have just edited/deleted the lcdfilter block) and after closing and opening again my application, the fonts were rendered as expected. fc-cache -r was also showing correct results.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .