Checking fontconfig rules

From FedoraProject

Revision as of 10:01, 11 December 2009 by Nim (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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,
 # yum install fontpackages-devel meld
 $ meld foo.conf /usr/share/fontconfig/templates/bar.conf


Notes:

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


Idea.png
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.