From Fedora Project Wiki

Revision as of 09:59, 11 December 2009 by Nim (talk | contribs)

A page of the Fonts Special Interest Group

Fontconfig has a modular design, allowing each font to contribute its own font substitution rules and workarounds, without requiring the maintenance of a large centralised static ruleset. However that also means a single package with broken rules can destabilise font priorities and make them less than awesome.

Our fontconfig rules have many origins[1] and mistakes are common[2]. To help identify and fix them:

  • try to find a packageset that works and packageset that does not
  • compare the output of:
    fc-match -s :family=<name>:lang=<loc>
    in both cases, with <name> the font family you requested[3] and <loc> the target locale[4].
  • if necessary, identify more precisely the problem font,
  • examine the fontconfig rules shipped with the problem package[5],
  • report your findings.


    • default rules provided by fontconfig upstream,
    • rules written by Fedora packagers using our own templates: install fontpackages-devel and look in /usr/share/fontconfig/templates/,
    # yum install fontpackages-devel meld $ meld foo.conf /usr/share/fontconfig/templates/bar.conf
    • rules written by Fedora packagers without regard for our templates,
    • rules written by font projects.
  1. While trying to:
    • workaround KDE/QT fontconfig processing bugs,
    • make sure one's font is the default for some languages,
    • make sure one's font rendering preferences are default for one font,
    … it is very easy to change settings for other fonts and create other unrelated problems.
  2. For example sans, serif
  3. For example ja-jp, zh, etc.
  4. Install fontpackages-devel and look in /usr/share/fontconfig/templates/, to check the default fontconfig patterns used in Fedora.

Fonts in Fedora
The Fonts SIG takes loving care of Fedora fonts. Please join this special interest group if you are interested in creating, improving, packaging, or just suggesting a font. Any help will be appreciated.