[Gllug] font annoyance of the day

Nix nix at esperi.org.uk
Tue May 15 10:54:38 UTC 2007


So I upgrade fontconfig and 80% of my fonts vanish from half my apps,
including pretty much every X core font. Most importantly, jmk-neep has
vanished from my XEmacs, leaving me with a wide choice of nasty fonts to
write code in.

But they haven't quite vanished. Rather, as `fc-match -v' makes clear,
they no longer have `en' in their languages list, so many applications
(especially including i18n-paranoid ones like XEmacs) consider that they
shouldn't try to display English text in them. As far as I can tell the
language list is only constructed at cache construction time, so it's
time to try the `obvious' command

FC_DEBUG=256 fc-cache -f -v

which says, among thousands of lines of other crap, for every one of my
vanished fonts,

en(1) { 20ac }

This is derived by calling FcCharSetSubtract() on the characters
available in the font and the characters required to display the
language.

20ac is EURO SIGN, and indeed in fontconfig-2.4.*/fc-lang/en.orth, we
find, in part:

20AC # EURO SIGN

So the fontconfig authors decided that most of my fonts are not suitable
for English because... they don't have a euro sign in them. Remind me to
not care. Since when is the UK in the Euro anyway?

(Gotta love the ease-of-debugging, too. Magic numbers, completely
obscure cause, weird commands required to derive trivial data, and a
good bit of digging in the fontconfig source: welcome to the new Unix
world. I'd have been utterly *stuck* if this wasn't free software.)

Bah.
-- 
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug




More information about the GLLUG mailing list