Fontconfig-2.15.0

Introduction to Fontconfig

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

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Fontconfig Dependencies

Required

FreeType-2.13.2

Optional

bubblewrap-0.8.0 (used by some tests), cURL-8.6.0 and UnZip-6.0 (both used by some tests for downloading and extracting test files), JSON-C-0.17, DocBook-utils-0.6.14 and libxml2-2.12.6, texlive-20230313 (or install-tl-unx)

[Note]

Note

An Internet connection is needed for some tests of this package.

[Note]

Note

If you have DocBook Utils installed and you remove the --disable-docs parameter from the configure command below, you must have SGMLSpm-1.1 and texlive-20230313 installed also, or the Fontconfig build will fail.

Installation of Fontconfig

Install Fontconfig by running the following commands:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-docs       \
            --docdir=/usr/share/doc/fontconfig-2.15.0 &&
make

To test the results, issue: make check. 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:

make install

If you did not remove the --disable-docs parameter from the configure command, you can install the pre-generated documentation by using the following commands as the root user:

install -v -dm755 \
        /usr/share/{man/man{1,3,5},doc/fontconfig-2.15.0/fontconfig-devel} &&
install -v -m644 fc-*/*.1         /usr/share/man/man1 &&
install -v -m644 doc/*.3          /usr/share/man/man3 &&
install -v -m644 doc/fonts-conf.5 /usr/share/man/man5 &&
install -v -m644 doc/fontconfig-devel/* \
                                  /usr/share/doc/fontconfig-2.15.0/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
                                  /usr/share/doc/fontconfig-2.15.0

Command Explanations

--disable-docs: This switch avoids building the documentation (the release tarball includes pre-generated documentation).

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.15.0/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.so
Installed Directories: /etc/fonts, /usr/include/fontconfig, /usr/share/doc/fontconfig-2.15.0, /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.so

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