Repository navigation
fix(terminal): preserve glyph size and correct grid proportions; improve native reading - #770
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Result / 用户结果
Keep ordinary terminal glyphs at the selected font size while correcting stretched character art. The default row is twice the already-rounded device-pixel column width, and styled/fallback text shares the primary face's baseline. Explicit theme line heights and offsets remain supported. Native Windows inspection changed a Maple 14px Braille circle from 387×499 to 387×387 pixels; isolated text ink stayed 370×27 pixels. Maple 13px and Consolas 14px produced 355×355 circles.
Powerline and interface icons use an independent 1.94 MB symbol face. Complete Maple stays bundled and registers when selected by terminal, CJK, interface or theme draft fonts. Settings now exposes the existing interface-font preference. JSON output uses a selectable, collapsible tree with inline short arrays and useful collapsed previews; Markdown selection works and formula scrollbars stay beside their own content.
Design / 设计边界
Typography owns grid measurement and baseline placement; the existing terminal geometry renderer owns Braille, boxes, blocks and Powerline. Glyph sizes and outlines are unchanged. Startup, prepaint, PTY dimensions, selection and cursor geometry share the same cell metrics. Symbol-font registration belongs to the application lifecycle; system font names use the existing platform adapter. JSON parsing and bounded tree state remain separate from GPUI presentation. No new runtime dependency, persistence key, terminal protocol or background service is introduced.
The new proportional-grid note supersedes the intermediate natural-row rollback in this branch. Font selection remains explicit; switching away does not unload already-registered native font caches.
Evidence / 验证依据
cargo fmt --all -- --check, architecture checks against the updated main base c7e3e8a, andgit diff --checkpassed.Required Review / 必须确认