Subject: [core-updates]: Fonts not working on foreign distro (Debian)

From: Leo Famulari <[email-masked]>
Date: Thu, 7 May 2020 20:55:01 -0400

I'm having trouble with Guix packages using fonts from my Debian 10
system after a core-updates merge.

Using Inkscape from core-updates, the text I put in my SVG files fails
to display. When I look at the Inkscape 'Text and Font' tool, it shows
my chosen font with a red line through it, as though it can't find it.

It's similar with Hexchat; it no longer sees most of the fonts installed
by Debian.

The specific fonts in question are the URW fonts, aka the "PostScript
fonts", provided by Debian's gsfonts and gsfonts-x11 packages.

I tried `fc-cache -rv`. Using Debian's fc-cache, it looks like this:

------
$ fc-cache -rv
/usr/share/fonts: caching, new cache contents: 0 fonts, 6 dirs
/usr/share/fonts/X11: caching, new cache contents: 0 fonts, 6 dirs
/usr/share/fonts/X11/100dpi: caching, new cache contents: 358 fonts, 0 dirs
/usr/share/fonts/X11/75dpi: caching, new cache contents: 358 fonts, 0 dirs
/usr/share/fonts/X11/Type1: caching, new cache contents: 43 fonts, 0 dirs
/usr/share/fonts/X11/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/X11/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/X11/misc: caching, new cache contents: 92 fonts, 0 dirs
/usr/share/fonts/X11/util: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cMap: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap: caching, new cache contents: 0 fonts, 5 dirs
/usr/share/fonts/cmap/adobe-cns1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-gb1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-japan1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-japan2: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cmap/adobe-korea1: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/opentype: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/opentype/mathjax: caching, new cache contents: 24 fonts, 0 dirs
/usr/share/fonts/truetype: caching, new cache contents: 1 fonts, 8 dirs
/usr/share/fonts/truetype/anonymous-pro: caching, new cache contents: 4 fonts, 0 dirs
/usr/share/fonts/truetype/dejavu: caching, new cache contents: 22 fonts, 0 dirs
/usr/share/fonts/truetype/droid: caching, new cache contents: 1 fonts, 0 dirs
/usr/share/fonts/truetype/lato: caching, new cache contents: 18 fonts, 0 dirs
/usr/share/fonts/truetype/liberation: caching, new cache contents: 16 fonts, 0 dirs
/usr/share/fonts/truetype/noto: caching, new cache contents: 1 fonts, 0 dirs
/usr/share/fonts/truetype/unifont: caching, new cache contents: 4 fonts, 0 dirs
/usr/share/fonts/truetype/vlgothic: caching, new cache contents: 2 fonts, 0 dirs
/usr/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/type1/gsfonts: caching, new cache contents: 35 fonts, 0 dirs
/usr/X11R6/lib/X11/fonts: skipping, no such directory
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/X11: skipping, looped directory detected
/usr/share/fonts/cMap: skipping, looped directory detected
/usr/share/fonts/cmap: skipping, looped directory detected
/usr/share/fonts/opentype: skipping, looped directory detected
/usr/share/fonts/truetype: skipping, looped directory detected
/usr/share/fonts/type1: skipping, looped directory detected
/usr/share/fonts/X11/100dpi: skipping, looped directory detected
/usr/share/fonts/X11/75dpi: skipping, looped directory detected
/usr/share/fonts/X11/Type1: skipping, looped directory detected
/usr/share/fonts/X11/encodings: skipping, looped directory detected
/usr/share/fonts/X11/misc: skipping, looped directory detected
/usr/share/fonts/X11/util: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-cns1: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-gb1: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-japan1: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-japan2: skipping, looped directory detected
/usr/share/fonts/cmap/adobe-korea1: skipping, looped directory detected
/usr/share/fonts/opentype/mathjax: skipping, looped directory detected
/usr/share/fonts/truetype/anonymous-pro: skipping, looped directory detected
/usr/share/fonts/truetype/dejavu: skipping, looped directory detected
/usr/share/fonts/truetype/droid: skipping, looped directory detected
/usr/share/fonts/truetype/lato: skipping, looped directory detected
/usr/share/fonts/truetype/liberation: skipping, looped directory detected
/usr/share/fonts/truetype/noto: skipping, looped directory detected
/usr/share/fonts/truetype/unifont: skipping, looped directory detected
/usr/share/fonts/truetype/vlgothic: skipping, looped directory detected
/usr/share/fonts/type1/gsfonts: skipping, looped directory detected
/usr/share/fonts/X11/encodings/large: skipping, looped directory detected
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/leo/.cache/fontconfig: cleaning cache directory
/home/leo/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache: succeeded
------

And with Guix's fc-cache:

------
$ fc-cache -rv
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts: caching, new cache contents: 0 fonts, 1 dirs
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1: caching, new cache contents: 0 fonts, 1 dirs
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1/ghostscript: caching, new cache contents: 35 fonts, 0 dirs
/home/leo/.guix-profile/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/home/leo/.guix-profile/share/fonts/misc: caching, new cache contents: 3 fonts, 0 dirs
/home/leo/.guix-profile/share/fonts/truetype: caching, new cache contents: 30 fonts, 0 dirs
/run/current-system/profile/share/fonts: skipping, no such directory
/home/leo/.local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.local/share/fonts: failed to write cache
/home/leo/.fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/leo/.fonts: failed to write cache
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1: skipping, looped directory detected
/home/leo/.guix-profile/share/fonts/misc: skipping, looped directory detected
/home/leo/.guix-profile/share/fonts/truetype: skipping, looped directory detected
/gnu/store/hbqlzgd8hcf6ndcmx7q7miqrsxb4dmkk-gs-fonts-8.11/share/fonts/type1/ghostscript: skipping, looped directory detected
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/leo/.cache/fontconfig: cleaning cache directory
/home/leo/.fontconfig: not cleaning non-existent cache directory
fc-cache: failed
------

Note that fc-cache fails when using the Guix packaging of it. Also
interesting that Guix's fontconfig hard-codes the gs-fonts, but still
things do not work.