Fontconfig-2.16.2

Introduction to Fontconfig

The Fontconfig package contains a library and support programs used for configuring and customizing font access.

[Note]

Note

An Internet connection is needed for some tests of this package. The system certificate store may need to be set up with make-ca-1.16 before testing this package.

Fontconfig Dependencies

Required

FreeType-2.13.3 - Pass 2 and Meson Toolchain Files (for lib32)

Optional

bubblewrap (used by some tests), cURL-8.13.0, and libarchive (both used by some tests for downloading and extracting test files)

Installation of Fontconfig

Install Fontconfig by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

To test the results, issue: ninja test. One test is known to fail if the kernel does not support user namespaces. Some tests will download some font files via Internet.

Now, as the root user:

ninja install &&
rm -vf /usr/lib/libfontconfig.a

lib32 Installation of Fontconfig

Install lib32-Fontconfig by running the following commands:

rm -rf * &&
meson setup --prefix=/usr       \
            --libdir=/usr/lib32 \
            --cross-file=lib32  \
            --buildtype=release \
            .. &&

ninja

Now, as the root user:

DESTDIR=$PWD/DESTDIR ninja install       &&
rm -vf DESTDIR/usr/lib32/libfontconfig.a &&
cp -Rv DESTDIR/usr/lib32/* /usr/lib32    &&
rm -rf DESTDIR                           &&
ldconfig

Command Explanations

[Note]

Note

Inspect meson_options.txt for a full list of options.

rm -vf /usr/lib/libfontconfig.a: This command removes a useless static library.

Configuring Fontconfig

Config Files

/etc/fonts/*, /etc/fonts/conf.d/* and /usr/share/fontconfig/conf.avail/*

Configuration Information

The main configuration file for Fontconfig is /etc/fonts/fonts.conf. Generally you do not want to edit this file. It will also read /etc/fonts/local.conf and any files in /etc/fonts/conf.d. To put a new font directory in the configuration, create (or update) the /etc/fonts/local.conf file with your local information or add a new file in /etc/fonts/conf.d. The default location of fonts in Fontconfig is:

  • /usr/share/fonts

  • ~/.local/share/fonts

  • ~/.fonts (this is now deprecated, but for the moment it still works)

Fontconfig also ships many example configuration files in the /usr/share/fontconfig/conf.avail directory. Symlinking specific files to /etc/fonts/conf.d will enable them. The default setup is generally good enough for most users. See /etc/fonts/conf.d/README for a description of the configuration files.

More information about configuring Fontconfig can be found in the user's manual in file:///usr/share/doc/fontconfig-2.16.2/fontconfig-user.html.

Contents

Installed Programs: fc-cache, fc-cat, fc-conflist, fc-list, fc-match, fc-pattern, fc-query, fc-scan, and fc-validate
Installed Library: libfontconfig
Installed Directories: /etc/fonts, /usr/include/fontconfig, /usr/share/fontconfig, /usr/share/xml/fontconfig, and /var/cache/fontconfig

Short Descriptions

fc-cache

is used to create font information caches

fc-cat

is used to read font information caches

fc-conflist

shows the ruleset files' information on the system

fc-list

is used to create font lists

fc-match

is used to match available fonts, or find fonts that match a given pattern

fc-pattern

is used to parse pattern (empty pattern by default) and show the parsed result

fc-query

is used to query fonts files and print resulting patterns

fc-scan

is used to scan font files and directories, and print resulting patterns

fc-validate

is used to validate font files

libfontconfig

contains functions used by the Fontconfig programs and also by other programs to configure or customize font access