Skip to content

macOS font changes use one resolved font authority #3306

Description

@jsmestad

Type: Feature

What

The macOS renderer and editor view should use the same resolved primary font through startup, font changes, and display-scale changes. AppDelegate currently constructs an additional primary face alongside FontManager and synchronizes them procedurally.

Why

Duplicate font resources make each transition responsible for keeping metrics, fallbacks, secondary registrations, renderer resources, and view references aligned. FontManager already owns the primary and is the natural authority.

Acceptance Criteria

  1. ✅ Startup resolves the primary through one font owner; the editor view and renderer derive their active primary and metrics from that owner. PR #3389
  2. ✅ Family, size, weight, ligature, and display-scale changes keep rendered text, cursor geometry, hit testing, and IME geometry consistent. PR #3389
  3. ✅ Configured fallback chains and registered secondary families survive primary-font rebuilds with their existing identities and behavior. PR #3389
  4. ✅ Renderer resources are updated before drawing with changed metrics, and existing in-flight frame resources retain their required lifetime. PR #3389
  5. ✅ Frontend row fitting and ready/resize emission preserve their current values and ordering. PR #3389
  6. ✅ Duplicate primary construction and independently synchronized primary-font state are absent after migration; focused font and native resize checks demonstrate equivalent behavior. PR #3389

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: macos-guimacOS native GUI frontend (Swift/Metal)enhancementNew feature or requestpriority: highImportant for usability

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions