Menu/List fonts honor Xft.dpi, graph fonts do not

Linus Torvalds torvalds at linux-foundation.org
Sun Feb 10 15:31:33 PST 2013


On Sun, Feb 10, 2013 at 3:17 PM, Lutz Vieweg <lvml at 5t9.de> wrote:
>
> I guess it is on purpose that Xft utilizes a dpi setting that can be chosen
> independently from the actual screen dpi.

Yes. Partly because the screen DPI has historically been completely
broken (and still is, I think, on some setups).

Some people have thought that X DPI settings should have something to
do with actual pixel size, which is f*cking insane. The X DPI setting
should just be 96 for a normal monitor. As should the Xft.DPI too, for
that matter.

What people actually want is a "I want bigger fonts becasue I have bad
eyes" or "I want smaller fonts because I have good eye-sight and want
tons of characters". Not DPI. So this really is closer to font
selection and accessibility than anything else. The fact that people
then mistakenly use DPI to fool programs into having different fonts
is just a sad long-time mistake.

I tried to see if there's anything in the gnome accessibility docs,
but those seem to be pure garbage and never actually talk about
graphical element sizes. They seem to just want developers to depend
on the default system font size settings. Which is not all that
helpful, but I guess we could query the default system font size and
use that as a metric of how bad eye-sight the user has.

The whole "default system font-size" is bullshit anyway, because you
often want different apps to have different settings. People
approximate that with setting different defaults for the fixed-width
font ("I want small fonts in my terminal") with different sizes for
their other fonts. And despite that, pretty much any text-intensive
program needs to have a per-program setting anyway, often multiple
ones (just look at your browser).

As usual, the gnome people seem to be in deep denial, and have
over-simplified the issue to "do you want big fonts" in their
accessibility setting.  And even then, a quick googling couldn't even
find a way to query that setting, much less set it on a per-app basis.

            Linus


More information about the subsurface mailing list