#776801 fontconfig: wheezy->jessie: broke 70-no-bitmaps.conf symlink

Package:
fontconfig-config
Source:
fontconfig
Description:
generic font configuration library - configuration
Submitter:
Paul Pogonyshev
Date:
2015-11-03 09:51:09 UTC
Severity:
important
#776801#5
Date:
2015-02-01 20:48:42 UTC
From:
To:
After installation of the system, /etc/fonts/conf.d/70-no-bitmaps.conf is a symlink
to a non-existing target. I believe this is the same in stable, testing and unstable.
As a result, Firefox sometimes chooses to use ugly bitmap fonts (e.g. on
Stackoverflow), even though I installed all fonts with Aptitude. (For some reason,
both Chromium and Konqueror use nice fonts on the very same page.)

As a workaround I deleted the link and changed it to point to

    /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf

instead. After restarting, Firefox then started using proper fonts.

Paul

#776801#10
Date:
2015-03-12 13:08:10 UTC
From:
To:
Just confirming I ran into this issue as well, I had to resolve it using dpkg-reconfigure fontconfig-config.  Doing so did link to the correct file Paul mentioned, and fixed the ugly fonts I was seeing on github.
#776801#15
Date:
2015-04-16 13:16:19 UTC
From:
To:
Same issue here on a wheezy->jessie upgrade.
#776801#20
Date:
2015-04-28 01:01:30 UTC
From:
To:
Sébastien Villemot <sebastien@debian.org> writes:

Same here.

This is the directory listing before upgrade:

,----
| total 8
| lrwxrwxrwx 1 root root  39 Dec 11  2012 20-fix-globaladvance.conf -> ../conf.avail/20-fix-globaladvance.conf
| lrwxrwxrwx 1 root root  39 Dec 11  2012 20-unhint-small-vera.conf -> ../conf.avail/20-unhint-small-vera.conf
| lrwxrwxrwx 1 root root  41 Feb 16  2012 25-arphic-uming-render.conf -> ../conf.avail/25-arphic-uming-render.conf
| lrwxrwxrwx 1 root root  59 Mar 20  2014 30-0-google-crosextra-caladea-fontconfig.conf -> ../conf.avail/30-0-google-crosextra-caladea-fontconfig.conf
| lrwxrwxrwx 1 root root  59 Mar 20  2014 30-0-google-crosextra-carlito-fontconfig.conf -> ../conf.avail/30-0-google-crosextra-carlito-fontconfig.conf
| lrwxrwxrwx 1 root root  36 Dec 11  2012 30-metric-aliases.conf -> ../conf.avail/30-metric-aliases.conf
| lrwxrwxrwx 1 root root  33 Dec 11  2012 30-urw-aliases.conf -> ../conf.avail/30-urw-aliases.conf
| lrwxrwxrwx 1 root root  42 Feb 16  2012 35-arphic-uming-aliases.conf -> ../conf.avail/35-arphic-uming-aliases.conf
| lrwxrwxrwx 1 root root  30 Dec 11  2012 40-nonlatin.conf -> ../conf.avail/40-nonlatin.conf
| lrwxrwxrwx 1 root root  34 Feb 16  2012 41-arphic-uming.conf -> ../conf.avail/41-arphic-uming.conf
| lrwxrwxrwx 1 root root  27 Dec 11  2012 45-latin.conf -> ../conf.avail/45-latin.conf
| lrwxrwxrwx 1 root root  31 Dec 11  2012 49-sansserif.conf -> ../conf.avail/49-sansserif.conf
| lrwxrwxrwx 1 root root  26 Dec 11  2012 50-user.conf -> ../conf.avail/50-user.conf
| lrwxrwxrwx 1 root root  27 Dec 11  2012 51-local.conf -> ../conf.avail/51-local.conf
| lrwxrwxrwx 1 root root  27 Dec 11  2012 60-latin.conf -> ../conf.avail/60-latin.conf
| lrwxrwxrwx 1 root root  34 Feb 16  2012 64-arphic-uming.conf -> ../conf.avail/64-arphic-uming.conf
| lrwxrwxrwx 1 root root  38 Mar 28  2012 65-droid-sans-fonts.conf -> ../conf.avail/65-droid-sans-fonts.conf
| lrwxrwxrwx 1 root root  35 Dec 11  2012 65-fonts-persian.conf -> ../conf.avail/65-fonts-persian.conf
| lrwxrwxrwx 1 root root  30 Dec 11  2012 65-nonlatin.conf -> ../conf.avail/65-nonlatin.conf
| lrwxrwxrwx 1 root root  29 Dec 11  2012 69-unifont.conf -> ../conf.avail/69-unifont.conf
| lrwxrwxrwx 1 root root  40 Aug 21  2014 70-no-bitmaps.conf -> /etc/fonts/conf.avail/70-no-bitmaps.conf
| lrwxrwxrwx 1 root root  31 Dec 11  2012 80-delicious.conf -> ../conf.avail/80-delicious.conf
| lrwxrwxrwx 1 root root  43 Feb 16  2012 90-arphic-uming-embolden.conf -> ../conf.avail/90-arphic-uming-embolden.conf
| lrwxrwxrwx 1 root root  40 May 24  2012 90-fonts-unfonts-core.conf -> ../conf.avail/90-fonts-unfonts-core.conf
| lrwxrwxrwx 1 root root  31 Dec 11  2012 90-synthetic.conf -> ../conf.avail/90-synthetic.conf
| -rw-r--r-- 1 root root 366 Mar 11  2014 99pdftoopvp.conf
| -rw-r--r-- 1 root root 959 Dec 11  2012 README
`----

And this is the one after upgrade:

,----
| total 8
| lrwxrwxrwx 1 root root  59 Nov 23 12:27 10-scale-bitmap-fonts.conf -> /usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf
| lrwxrwxrwx 1 root root  58 Nov 23 12:27 11-lcdfilter-default.conf -> /usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf
| lrwxrwxrwx 1 root root  50 Sep 13  2013 20-unhint-small-dejavu-lgc-sans.conf -> ../conf.avail/20-unhint-small-dejavu-lgc-sans.conf
| lrwxrwxrwx 1 root root  55 Sep 13  2013 20-unhint-small-dejavu-lgc-sans-mono.conf -> ../conf.avail/20-unhint-small-dejavu-lgc-sans-mono.conf
| lrwxrwxrwx 1 root root  51 Sep 13  2013 20-unhint-small-dejavu-lgc-serif.conf -> ../conf.avail/20-unhint-small-dejavu-lgc-serif.conf
| lrwxrwxrwx 1 root root  46 Sep 13  2013 20-unhint-small-dejavu-sans.conf -> ../conf.avail/20-unhint-small-dejavu-sans.conf
| lrwxrwxrwx 1 root root  51 Sep 13  2013 20-unhint-small-dejavu-sans-mono.conf -> ../conf.avail/20-unhint-small-dejavu-sans-mono.conf
| lrwxrwxrwx 1 root root  47 Sep 13  2013 20-unhint-small-dejavu-serif.conf -> ../conf.avail/20-unhint-small-dejavu-serif.conf
| lrwxrwxrwx 1 root root  58 Nov 23 12:27 20-unhint-small-vera.conf -> /usr/share/fontconfig/conf.avail/20-unhint-small-vera.conf
| lrwxrwxrwx 1 root root  41 Nov  2  2013 25-arphic-uming-render.conf -> ../conf.avail/25-arphic-uming-render.conf
| lrwxrwxrwx 1 root root  59 Jan  9  2014 30-0-google-crosextra-caladea-fontconfig.conf -> ../conf.avail/30-0-google-crosextra-caladea-fontconfig.conf
| lrwxrwxrwx 1 root root  59 Jan  9  2014 30-0-google-crosextra-carlito-fontconfig.conf -> ../conf.avail/30-0-google-crosextra-carlito-fontconfig.conf
| lrwxrwxrwx 1 root root  55 Nov 23 12:27 30-metric-aliases.conf -> /usr/share/fontconfig/conf.avail/30-metric-aliases.conf
| lrwxrwxrwx 1 root root  52 Nov 23 12:27 30-urw-aliases.conf -> /usr/share/fontconfig/conf.avail/30-urw-aliases.conf
| lrwxrwxrwx 1 root root  42 Nov  2  2013 35-arphic-uming-aliases.conf -> ../conf.avail/35-arphic-uming-aliases.conf
| lrwxrwxrwx 1 root root  49 Nov 23 12:27 40-nonlatin.conf -> /usr/share/fontconfig/conf.avail/40-nonlatin.conf
| lrwxrwxrwx 1 root root  34 Nov  2  2013 41-arphic-uming.conf -> ../conf.avail/41-arphic-uming.conf
| lrwxrwxrwx 1 root root  46 Nov 23 12:27 45-latin.conf -> /usr/share/fontconfig/conf.avail/45-latin.conf
| lrwxrwxrwx 1 root root  50 Nov 23 12:27 49-sansserif.conf -> /usr/share/fontconfig/conf.avail/49-sansserif.conf
| lrwxrwxrwx 1 root root  45 Nov 23 12:27 50-user.conf -> /usr/share/fontconfig/conf.avail/50-user.conf
| lrwxrwxrwx 1 root root  46 Nov 23 12:27 51-local.conf -> /usr/share/fontconfig/conf.avail/51-local.conf
| lrwxrwxrwx 1 root root  33 Sep 13  2013 57-dejavu-sans.conf -> ../conf.avail/57-dejavu-sans.conf
| lrwxrwxrwx 1 root root  38 Sep 13  2013 57-dejavu-sans-mono.conf -> ../conf.avail/57-dejavu-sans-mono.conf
| lrwxrwxrwx 1 root root  34 Sep 13  2013 57-dejavu-serif.conf -> ../conf.avail/57-dejavu-serif.conf
| lrwxrwxrwx 1 root root  37 Sep 13  2013 58-dejavu-lgc-sans.conf -> ../conf.avail/58-dejavu-lgc-sans.conf
| lrwxrwxrwx 1 root root  42 Sep 13  2013 58-dejavu-lgc-sans-mono.conf -> ../conf.avail/58-dejavu-lgc-sans-mono.conf
| lrwxrwxrwx 1 root root  38 Sep 13  2013 58-dejavu-lgc-serif.conf -> ../conf.avail/58-dejavu-lgc-serif.conf
| lrwxrwxrwx 1 root root  46 Nov 23 12:27 60-latin.conf -> /usr/share/fontconfig/conf.avail/60-latin.conf
| lrwxrwxrwx 1 root root  34 Nov  2  2013 64-arphic-uming.conf -> ../conf.avail/64-arphic-uming.conf
| lrwxrwxrwx 1 root root  54 Nov 23 12:27 65-fonts-persian.conf -> /usr/share/fontconfig/conf.avail/65-fonts-persian.conf
| lrwxrwxrwx 1 root root  49 Nov 23 12:27 65-nonlatin.conf -> /usr/share/fontconfig/conf.avail/65-nonlatin.conf
| lrwxrwxrwx 1 root root  41 Dec 29 11:20 69-droid-sans-fallback.conf -> ../conf.avail/69-droid-sans-fallback.conf
| lrwxrwxrwx 1 root root  48 Nov 23 12:27 69-unifont.conf -> /usr/share/fontconfig/conf.avail/69-unifont.conf
| lrwxrwxrwx 1 root root  40 Aug 21  2014 70-no-bitmaps.conf -> /etc/fonts/conf.avail/70-no-bitmaps.conf
| lrwxrwxrwx 1 root root  50 Nov 23 12:27 80-delicious.conf -> /usr/share/fontconfig/conf.avail/80-delicious.conf
| lrwxrwxrwx 1 root root  43 Nov  2  2013 90-arphic-uming-embolden.conf -> ../conf.avail/90-arphic-uming-embolden.conf
| lrwxrwxrwx 1 root root  59 Sep 27  2014 90-fonts-unfonts-core.conf -> /usr/share/fontconfig/conf.avail/90-fonts-unfonts-core.conf
| lrwxrwxrwx 1 root root  50 Nov 23 12:27 90-synthetic.conf -> /usr/share/fontconfig/conf.avail/90-synthetic.conf
| -rw-r--r-- 1 root root 366 Mar 11  2014 99pdftoopvp.conf
| -rw-r--r-- 1 root root 978 Nov 23 12:27 README
`----

I have no idea why this one symlink was absolute; I'm guessing the
package did that, because if I'd touched this bit of configuration, it
would only have been to *enable* bitmap fonts.  (This would have been
before the WMF did their "typography refresh"[1] on wikipedia and
friends, where they try to choose fonts by name that will work on every
platform -- which, naturally, fails catestrophically on many systems,
because some good fonts share names with bad ones.  Except I'm not sure
I had the system in question at that time.)

Unfortunately, I have no idea what the bugscript produced before I ran
dpkg-reconfigure ...

[1]: https://www.mediawiki.org/wiki/Typography_refresh

#776801#29
Date:
2015-09-21 12:18:42 UTC
From:
To:
Hi,

Also affected by this bug. It was a bit hard to debug, as it is not
immediatly obvious that the 70-no-bitmaps.conf link is broken if you
look too quickly, not counting finding the right place to look at first.

This bug could have been prevented if #758973 had not introduced a
strange hack for what is to me *not* a problem: it is very strange that
now the configuration of the package is not idempotent. For me,
re-creating the config from the debconf questions should be harmless,
and thus activatable whenever the configuration is asked on postinst: in
our case, on upgrade. For me, the patch from this bug that made it to
version 2.11.0-6.3 should be reverted.

Or maybe, the attached crude hack applied, but it really looks ugly.

Thanks,
benjamin

#776801#34
Date:
2015-11-03 09:49:05 UTC
From:
To:
Dear Maintainer,

I confirm the problem and offer a solution.

Inititially /etc/fonts/conf.d contained a broken symlink:
70-no-bitmaps.conf -> /etc/fonts/conf.avail/70-no-bitmaps.conf

After running

dpkg-reconfigure fontconfig-config ; dpkg-reconfigure fontconfig

the link reads
70-no-bitmaps.conf -> /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf

and printing from iceweasel renders the page readable with fonts at least similar to the screen view.

Hope this helps,

Johannes