Fontconfig

Last updated
Original author(s) Keith Packard
Initial release18 December 2000;24 years ago (2000-12-18) [1] [2]
Stable release
2.17.1 [3]   OOjs UI icon edit-ltr-progressive.svg / 2 July 2025;32 days ago (2 July 2025)
Preview release
2.13.96 [4]   OOjs UI icon edit-ltr-progressive.svg / 4 February 2022;3 years ago (4 February 2022)
Repository
Written in C
Operating system Unix-like systems
Type Font handling library
License MIT [5]
Website fontconfig.org

Fontconfig is a free software [6] program library designed to provide configuration, enumeration and substitution of fonts to other programs. Fontconfig was originally written and maintained by Keith Packard, and is currently maintained by Behdad Esfahbod. [7]

Contents

Fontconfig is typically used on graphical Linux (and other Unix-like) desktops, such as Xorg and Wayland, where it remains an important part of handling fonts. [8] However, it is also sometimes used on other platforms, notably including Windows versions of software that use Pango for laying out and rendering text, such as GIMP. [9]

Usage

End-users can use fontconfig, directly or indirectly, to customize and configure fonts on the system.

Applications can use fontconfig in two ways:

  1. by querying it for the available fonts on the system, or
  2. by querying it for a font matching certain parameters (comprising a pattern) as closely as possible.

To perform font matching, fontconfig stores typesetting information about all of the installed fonts, including the name of the font family, style, weight, dots per inch (DPI), and Unicode coverage. This information is also used to perform font substitution.

Configuration

Fontconfig uses XML format for its configuration files. The document type definition (DTD) for fontconfig files is normally located at /etc/fonts/fonts.dtd.

The master configuration file - usually /etc/fonts/fonts.conf - references a few other configuration locations which may or may not exist:

A simple example of a configuration file:

<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig><!-- Enable antialiasing for all fonts --><matchtarget="font"><editmode="assign"name="antialias"><bool>true</bool></edit></match></fontconfig>

Utilities

Fontconfig ships with eight command line utilities to manage and query fonts and the font configuration of the system:

See also

References

  1. "About Fontconfig". www.freedesktop.org. Retrieved 2024-02-28.
  2. "Documentation for XFree86[tm] version 4.0.2". xfree86.org. Retrieved 2024-02-28.
  3. "Release 2.17.1" . Retrieved 2 July 2025.
  4. "Release 2.13.96".
  5. "COPYING · master · fontconfig / Fontconfig". Archived from the original on 2021-04-15. Retrieved 2018-09-25.
  6. "fontconfig-2.6.0.tar.gz (see file "COPYING")". Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Keith Packard not be used in advertising or publicity pertaining to distrkeithp.comibution of the software without specific, written prior permission...
  7. "[Fontconfig] Fontconfig 2.7.0 released". freedesktop.org. 24 June 2009.
  8. "State of Text Rendering". behdad.org.
  9. "GIMP - Fonts in GIMP". Font configuration is handled by a small library called Fontconfig.