Skip to content

spec: support setting a fallback font#11517

Open
oz-for-oss[bot] wants to merge 1 commit into
masterfrom
oz-agent/spec-issue-789
Open

spec: support setting a fallback font#11517
oz-for-oss[bot] wants to merge 1 commit into
masterfrom
oz-agent/spec-issue-789

Conversation

@oz-for-oss
Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot commented May 22, 2026

Summary

  • Adds a product spec for configurable ordered terminal fallback fonts, including settings-file and Appearance settings behavior, default behavior, edge cases, success criteria, and validation expectations.
  • Adds a tech spec grounded in the current Warp font/settings/text-layout code paths, covering local-only settings, fallback-specific font loading, font cache ordering, Appearance propagation, terminal rendering, cache invalidation, risks, and tests.

Validation

  • Spec-only change; no production code was modified.
  • Reviewed current settings, Appearance, terminal renderer, font cache, and platform font-loading paths while drafting the specs.

Related issue: #789

Co-Authored-By: Zach Lloyd <zachlloyd@users.noreply.github.com>
Co-Authored-By: Oz <oz-agent@warp.dev>
@oz-for-oss
Copy link
Copy Markdown
Contributor Author

oz-for-oss Bot commented May 22, 2026

@oz-for-oss[bot]

I'm starting a first review of this spec-only pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor Author

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds product and technical specs for an ordered terminal fallback font list, covering settings-file behavior, Appearance settings UI behavior, platform font loading, rendering paths, cache invalidation, and validation expectations.

Concerns

  • The tech spec does not address the existing glyphs_by_char cache contract where primary-only misses can be reused by fallback-inclusive lookups, which could prevent configured fallbacks from being tried depending on call order.

Verdict

Found: 0 critical, 1 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread specs/GH789/tech.md
- call `select_font(fallback_family, properties)`
- call `glyph_for_char(fallback_font, ch, false)`
- return the first matching glyph/font pair
Preserve the current behavior for `include_fallback_fonts: false` so primary-font validation and direct glyph checks are not affected.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] glyphs_by_char is keyed only by (FontId, char), so a prior include_fallback_fonts: false miss can cache None and prevent a later fallback-inclusive lookup from trying configured fallbacks; require a cache-key change, negative-miss separation, or an explicit invalidation/test for this call order.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant