Activating and deactivating fonts

There are three ways to activate and deactivate fonts in Fontmatrix:

  • Selective. In Browse Fonts, go to the Names tab and enable or disable particular font faces or whole families.

  • Mass via menu. Filter fonts (for example by selecting a tag) and use Edit → Activate all current or Edit → Deactivate all current.

  • Mass via system tray. Right-click the system tray icon and click on a tag name to activate or deactivate fonts that have this tag.

What activation does

On Linux an activated font is a copy (a hard link where the file system allows one) in ~/.local/share/fonts/fontmatrix/, the user font directory that fontconfig scans by itself. Every application sees it, Flatpak applications included, and GNOME applications pick it up without a restart; Qt applications read the font list when they start. Deactivating removes the copy. The directory belongs to Fontmatrix: a file in it that no active font accounts for is removed at the next start, and a font whose copy has gone is shown as deactivated.

A system font cannot be removed, so deactivating one hides it: Fontmatrix writes ~/.config/fontconfig/conf.d/60-fontmatrix-rejects.conf with every system font switched off, and removes the file when none is. Nothing else in ~/.config/fontconfig/ is touched. Flatpak applications do not read that file and keep seeing the hidden fonts.

Where the distribution package of Fontmatrix is installed, Settings > Configure Fontmatrix > Files & Folders offers Activate fonts for all users of this computer. The copies then go into /usr/local/share/fonts/fontmatrix/ and the hidden system fonts into /etc/fonts/conf.d/60-fontmatrix-rejects.conf, through a helper that runs as root once polkit has asked for the administrator's password (once, kept for a few minutes). Fonts activated before the change stay where they were. The choice is not offered inside a Flatpak: the helper, its D-Bus service and its polkit action have to be installed on the host, which a sandboxed application cannot do.

On Windows an activated font is installed for the current user, as Settings > Fonts does: a copy in the user font folder, a registry value, and running applications are told at once. Fonts installed for all users cannot be changed.