Fontconfig is a library that enables users to configure and tailor font access according to their preferences.
To use the library, you just need to generate a valid XML tree and feed it into FcConfigParse. The library is designed to make font configurations static and shared by as many applications as possible, ensuring that font selection remains stable and consistent when passing names from one application to another. XML was chosen as the configuration file format because it is easily editable by external agents while retaining the correct syntax.
Font configuration is separate from font matching, giving applications the freedom to perform their own private matching while accessing available fonts from the library. This allows applications to pick and choose functionality appropriate for them from the library, rather than being confined by a private configuration mechanism. All applications can now configure their fonts in a single centralized place, simplifying and regularizing font installation and customization.
In the latest release, Fontconfig 2.3 has added a slew of new features to the already well-rounded library. The cache files are shared mmap'ed, all font cache files are mapped read-only and shared across multiple processes, leading to a significant improvement in start-up performance and memory footprint. Configuration is now split into multiple files, placing most of the configuration into separate files. While 2.3 provided the ability to incorporate additional configuration files from a directory, it didn't use them extensively. Now with the updated configuration structure, the library is more efficient, faster, and even more user-friendly.
Version 2.4.2: N/A