simon-git: putty (main): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Thu Jan 9 21:37:39 GMT 2025


TL;DR:
  b088d77d GTK: hard-code some last-ditch fallback fonts.

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: main
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2025-01-09 21:37:39

commit b088d77d580b8f7e01482aa184db6cf3b46d74eb
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=b088d77d580b8f7e01482aa184db6cf3b46d74eb;hp=6ec424059cf3a140ea5f128cb858cd566551aa96
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu Jan 9 13:01:22 2025 +0000

    GTK: hard-code some last-ditch fallback fonts.
    
    If the user's choice of fonts can't be instantiated during initial
    terminal-window setup, then we now automatically try two fallback
    options, "client:Monospace 10" and "server:fixed", and only give a
    fatal error if _no_ option allows us to open a terminal window.
    
    Previously, on Wayland, PuTTY and pterm with default configuration
    would completely fail to open a terminal window at all, because our
    default font configuration is still the trad X11 "server:fixed", and
    on Wayland, X11-style server-side bitmap fonts don't exist at all.
    
    Conversely, in the GTK1 build of PuTTY which we're still supporting,
    _client-side_ fonts aren't supported, so if a user had configured one
    in their normal PuTTY configuration, then the GTK1 version would
    similarly fail to launch.
    
    Now both of those cases should work, because the fallbacks include a
    client-side font _and_ a server-side one, and I hope that any usable
    Pango system will make "Monospace" map to _some_ locally available
    font, and that any remotely sensible X server has 'fixed'
    
    I think it would be even better if there was a mechanism for the Conf
    to specify a fallback list of fonts. For example, this might be
    specified via a new multifont prefix along the lines of
    
      choices:client:Monospace 10:server:fixed
    
    with the semantics that the "choices:" prefix means that the rest of
    the string is split up at every other colon to find a list of fonts to
    try to make. Then we could not only set PuTTY's default to a list of
    possibilities likely to find a usable font everywhere, but also, users
    could configure their own list of preferred fallbacks.
    
    But I haven't thought of a good answer to the design question of what
    should happen if a Conf font setting looks like that and the user
    triggers the GUI font selector! (Also, you'd need to figure out what
    happened if a 'choices:' string had another 'choices' in it...)

 unix/window.c | 65 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 49 insertions(+), 16 deletions(-)



More information about the tartarus-commits mailing list