Linux

Where Does Fontconfig Store Its Config?

Fontconfig reads user rules from fonts.conf in the XDG config dir, over global /etc/fonts/local.conf. Never edit fonts.conf.

Last updated

Fontconfig merges three layers: the untouchable /etc/fonts/fonts.conf (regenerated on updates), the global /etc/fonts/local.conf, and your $XDG_CONFIG_HOME/fontconfig/fonts.conf plus conf.d/ snippets. User rules win.

Presets toggle via symlinks from /usr/share/fontconfig/conf.avail, and fc-list, fc-match and fc-cache inspect and rebuild the world. Desktop tweak tools may overwrite your file, so keep a backup before opening GNOME Tweaks.

Where Fontconfig stores this, by platform

Linux
~/.config/fontconfig/fonts.conf

XML rules for rendering, aliases, fallbacks. Enable presets by symlinking conf.avail files into conf.d/. Deprecated ~/.fonts.conf paths no longer read by default.

Frequently asked questions

Which rule is applying to my font?

Run fc-match --verbose <name>. It prints the effective family, hinting and antialiasing values, which exposes which rule actually won.

I installed a font but nothing sees it. Now what?

Rebuild with fc-cache -f -v and restart the app. Newly launched programs pick up changes; running ones keep the old configuration.

Notice an outdated path? Let us know.