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
~/.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.