Re: xcalc missing fonts

From: Steve Rikli <sr_at_genyosha.net>
Date: Wed, 25 Jun 2025 21:36:49 UTC
On Wed, Jun 25, 2025 at 11:46:22AM -0800, Gary Aitken wrote:
> On 6/25/25 10:15, Steve Rikli wrote:
> > On Wed, Jun 25, 2025 at 09:55:34AM -0800, Gary Aitken wrote:
> ...
> > My 'xset q' shows a Font Path:
> >    /usr/share/fonts/X11/misc,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins
> 
> Do you know how that path got set; since it doesn't include everything in
> /usr/local/share/fonts ?

I don't; I'm guessing it's compiled into 'xset' or the dependency X libs.

Fwiw I've done nothing myself to create that path, so I assume it's the
default, wherever it comes from.

That aside, I suspect the path reported by 'xset' isn't involved in
'xcalc' (et al?) finding fonts. I'm no expert, and IME X(11,Free,Org)
config and pathing can be a twisty maze :-), but my guess is the
determining factor in this case is fontconfig.

See fonts-conf(5) as a starting point, and note that the prefix for
files described therein is likely /usr/local/etc/ rather than /etc/.
Also note most fontconfig comands start with "fc-", e.g. fc-list,
fc-conflist etc.

I have pkg fontconfig-2.15.0_3,1 (it's prereq for xcalc, xterm, etc.)
and it apparently creates /usr/local/etc/fonts/fonts.conf .  When I
check that file for the <dir> configuration I find:

<!-- Font directory list -->

        <dir>/usr/local/share/fonts</dir>

        
        <dir prefix="xdg">fonts</dir>
        <!-- the following element will be removed in the future -->
        <dir>~/.fonts</dir>

and /usr/local/share/fonts is indeed where the 100dpi X fonts went
when I installed the xcalc-1.1.2_1 pkg.

If you have the same setup, I'd suggest checking that the default dirs
and config isn't being overridden somehow in places like /etc/X11/,
/etc/fonts/, your .xinitrc (if you have one), etc. Fwiw I haven't
manually configured any of that, merely installed things with pkg.