Fontconfig-2.13.1

Introduction to Fontconfig

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

This package is known to build and work properly using an LFS-10.1 platform.

Package Information

Fontconfig Dependencies

Required

FreeType-2.10.4

Optional

JSON-C-0.15, DocBook-utils-0.6.14 and libxml2-2.9.10, texlive-20200406 (or install-tl-unx)

[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-20200406 installed also, or the Fontconfig build will fail.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/Fontconfig

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.13.1 &&
make

To test the results, issue: make check.

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.13.1/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.13.1/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
                                  /usr/share/doc/fontconfig-2.13.1

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.13.1/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.13.1, /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

Last updated on 2021-02-21 17:09:04 -0600