[PR #17164] Fix font axes/features settings UI #31138

Open
opened 2026-01-31 09:45:21 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/17164

State: closed
Merged: Yes


Due to #16821 everything about #16104 broke. This PR rights the wrongs
by rewriting all the Font-based code to not use Font at all.
Instead we split the font spec once into font families, do a lot of
complex logic to split font axes/features into used and unused ones
and construct all the UI elements. So. much. boilerplate. code.

Closes #16943

Validation Steps Performed

There are more edge cases than I can list here... Some ideas:

  • Edit the settings.json with invalid axis/feature keys
  • ...out of range values
  • Settings UI reloads when the settings.json changes
  • Adding axes/features works
  • Removing axes/features works
  • Resetting axes/features works
  • Axes/features apply in the renderer when saving
**Original Pull Request:** https://github.com/microsoft/terminal/pull/17164 **State:** closed **Merged:** Yes --- Due to #16821 everything about #16104 broke. This PR rights the wrongs by rewriting all the `Font`-based code to not use `Font` at all. Instead we split the font spec once into font families, do a lot of complex logic to split font axes/features into used and unused ones and construct all the UI elements. So. much. boilerplate. code. Closes #16943 ## Validation Steps Performed There are more edge cases than I can list here... Some ideas: * Edit the settings.json with invalid axis/feature keys ✅ * ...out of range values ✅ * Settings UI reloads when the settings.json changes ✅ * Adding axes/features works ✅ * Removing axes/features works ✅ * Resetting axes/features works ✅ * Axes/features apply in the renderer when saving ✅
claunia added the pull-request label 2026-01-31 09:45:21 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#31138