font files not read/processed when they are symlinks?

balducci at units.it balducci at units.it
Mon Sep 24 11:51:02 UTC 2018


hello

apologies if I'm missing something blatant here...

Might it be that font files are NOT read/loaded by the X server when
they are symbolic links?

I have recently migrated from a fontpath layout where all files were
"physically" (ie "real" regular files) present under the font
directories
/usr/Xorg/share/fonts/X11/{100dpi,75dpi,OTF,TTF,Type1,cyrillic,encodings,misc,util}
to a "stow based" (https://www.gnu.org/software/stow/) fontpath layout
where all files under the font directories
/usr/share/fonts/X11/{100dpi,75dpi,OTF,TTF,Type1,cyrillic,encodings,misc,util}
are actually symlinks to individual, package specific locations
elsewhere in the system.

After the switch (including, of course, editing xorg.conf for the new
font paths under /usr/share/fonts/X11 and running
mkfontscale/mkfontdir in the /usr/share/fonts/X11/* dirs) xlsfonts
shows me only ~250 fonts (where it showed ~5000 in the previous
layout) and clients relying on xserver for fonts look more or less
ugly.

If I edit xorg.conf and point the FontPath entries to the directories
where the *actual* font files live (everything else unchanged and
mkfontscale/mkfontdir run in the corresponding individual dirs), then
everything is restored back to normality (~5000 fonts listed by
xlsfonts, clients with usual look etc)

AFAICS, it looks like font files aren't read/processed correctly by
the server when they are symlinks: is that possible?

After googling around without success, I have tried to dig into the
server (and libX11) sources to find where the font files are actually
opened and read, but I got lost in the jungle...

Could anybody point me to the code (xserver,libX11,...?) where font
files parsing/loading is actually performed?

Or simply answer the question regarding the different results I obtain
when font files are/aren't symbolic links?

thanks a lot for any hint

ciao
gabriele


More information about the xorg mailing list