Pin BIZ UDGothic Bold as ghostty CJK fallback#282
Merged
Conversation
Without an explicit fallback, ghostty's font discovery on macOS 26.5 picks unstable faces for CJK codepoints, and characters like の occasionally render with a different face after display switches (ghostty-org/ghostty#12916). Pinning locks the CJK cascade to a single deterministic face. BIZ UDGothic Bold was chosen because it matches the pre-change appearance ghostty was already producing in most sessions (confirmed via ghostty +show-face and cross-checked by identifying the rendered face through Morisawa Fonts image search, which matched TBUD Gothic — the commercial sibling of BIZ UDGothic). Follow-up in #281: route Bold ASCII to Menlo instead of relying on BIZ UDGothic Bold's Latin glyphs. Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
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.
Summary
Pin
BIZ UDGothic Boldas an explicit CJK fallback for ghostty by adding a secondfont-familyline toxdg-config/ghostty/config.Why
Without an explicit CJK fallback, ghostty's runtime font discovery on macOS 26.5 is unstable: CJK codepoints (notably
の) render with different faces after display switches. Root cause is documented upstream in ghostty-org/ghostty#12916 (with related #8712, #707).Pinning locks the CJK cascade to a deterministic face across sessions and display changes.
Why BIZ UDGothic Bold specifically
ghostty +show-face --string="のあ情報"on the unpinned state reportedBIZ UDGothicas the family ghostty was already selecting most of the timeTBUD Gothic Std B(79% for the round sibling, 70% for the base). TBUD Gothic is what BIZ UDGothic is the OFL public release of (Google Fonts specimen)BIZ UDGothic Boldreproduces the pre-change appearance more faithfully than pinning the Regular face (Regular face changes weight/shape enough to be noticeable)Verification
ghostty +show-face --string="のあ情報実際ABCabc0123!@#-_=+()"after the change:の,あ,情,報,実,際) resolve toBIZ UDGothicA-C,a-c,0-3, punctuation) resolve toMonacoConfig took effect on the running ghostty instance without a restart. No visible regression in existing terminal workloads (shell prompts, Claude Code, tmux).
Side effect (follow-up: #281)
Bold ASCII (SGR 1, markdown emphasis) is drawn using
BIZ UDGothic Bold's Latin glyphs, not Monaco. This is because Monaco has no Bold face (system_profiler SPFontsDataTypeconfirmsStyle: Regularonly), so ghostty's per-codepoint fallback picks the first face in the cascade that has both the codepoint and Bold weight, andBIZ UDGothic Boldfits that requirement for ASCII too. This matches the pre-change behavior — ghostty was already routing Bold ASCII through the same font before the pin, so no regression here.