[Fontconfig] Why does family under `Best score` differ from that under the preceding `Match Pattern`?

Raimund Steger rs at mytum.de
Sun Mar 6 23:52:08 UTC 2016

On Sun, 6 Mar 2016 17:58:04 -0500
Kynn Jones <kynnjo at gmail.com> wrote:

> [...]
> Nevertheless, for some applications, like VirtualBox and VLC, instead
> of Terminus, what I get is TeX Gyre Chorus, everywhere.  (It's a bug
> with a sense of humor.)
> I tried running, e.g. VirtualBox, with `FC_EDIT=1`.  I include the
> debugging output at the end of this post, but, in a nutshell, what I
> see in this output are `Match Pattern` sections where the family is
> listed as `Terminus` followed by `Best score` sections where the
> family is listed as `TeX Gyre Chorus`.

If you run with FC_DEBUG=3, you get the scores for all candidates, not just the best one. Then you can figure out where in the score vector is Terminus worse than TeX Gyre Chorus and find out the corresponding fontconfig property by looking at _FcMatcherPriority in fcmatch.c.

But maybe that's not even necessary. Only the following properties have higher priority than strong family: file, fontformat, scalable, color, foundry, charset. Of these, only 'scalable' occurs in the pattern in your case as far as I can tell so it should be a good candidate. (Some people might wonder why 'scalable' has higher priority than strong family as the latter normally indicates a deliberate user preference, but let's keep that aside :-P)

To find out whether that's added to your pattern by a config rule or not, you could try FC_DEBUG=4 which traces all config rule applications. If it's not set by a config rule that is in a file after position 50, you can just set it to "false" in your user config.

Does that help?


Worringer Str 31 Duesseldorf 40211 DE  home: rs at mytum.de
+49-179-2981632 icq 16845346           work: rs at interface-ag.de

More information about the Fontconfig mailing list