fonts: size fonts using the scaling factor when output scaling is enabled

This extends the new ‘dpi-aware’ option with a new default value,
‘auto’.

When set to ‘auto’, fonts are sized using monitors’ DPI when output
scaling is disabled. When output scaling is enabled, fonts are instead
sized using the scaling factor.

The reasoning here is that a user that has enabled output scaling is
obviously *not* relying on DPI scaling.

Output scaling can also be a way to compensate for different viewing
distances, in which case we do *not* want to break that by using DPI
scaling.

Users can still force DPI-only font sizing by setting ‘dpi-aware=yes’,
or disable it completely by setting ‘dpi-aware=no’.
This commit is contained in:
Daniel Eklöf 2020-12-17 12:05:22 +01:00
parent 69cd5fd3ab
commit 0a821f2ed4
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
5 changed files with 78 additions and 35 deletions

View file

@ -44,19 +44,24 @@ in this order:
*font-italic*, *font-bold-italic*).
*dpi-aware*
Boolean. When enabled, fonts are sized using the monitor's DPI,
making a font of a given size have the same physical size,
regardless of monitor. In other words, if you drag a foot window
between different monitors, the font size remains the same.
*auto*, *yes*, or *no*. When set to *yes*, fonts are sized using
the monitor's DPI, making a font of a given size have the same
physical size, regardless of monitor. In other words, if you drag
a foot window between different monitors, the font size remains
the same.
In this mode, the monitor's scale factor is ignored; doubling the
scale factor will *not* double the font size.
In this mode, the monitor's scaling factor is ignored; doubling
the scaling factor will *not* double the font size.
When disabled, the monitor's DPI is ignored. The font is instead
sized using the monitor's scale factor; doubling the scale factor
*does* double the font size.
Default: _yes_
When set to *no*, the monitor's DPI is ignored. The font is
instead sized using the monitor's scaling factor; doubling the
scaling factor *does* double the font size.
Finally, if set to *auto*, fonts will be sized using the monitor's
DPI on monitors with a scaling factor of 1, but otherwise size
fonts using the scaling factor.
Default: _auto_
*pad*
Padding between border and glyphs, in pixels (subject to output