Fix broken Central Kurdish text on macOS by bundling Vazirmatn font#4062
Open
wojtekn wants to merge 1 commit into
Open
Fix broken Central Kurdish text on macOS by bundling Vazirmatn font#4062wojtekn wants to merge 1 commit into
wojtekn wants to merge 1 commit into
Conversation
The macOS system font lacks glyphs for several Central Kurdish letters (e.g. ێ ۆ ڵ), breaking Kurdish text. Bundle the OFL-licensed Vazirmatn font and apply it only for the ckb locale. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
📊 Performance Test ResultsComparing b25cb61 vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
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.
Related issues
How AI was used in this PR
Used Claude Code to trace the font stack, confirm the failure mode, select and verify the font, and wire up the locale-scoped CSS. I reviewed the diff, the font license, and the specificity reasoning myself. AI-verified items: the bundled font actually contains the reported glyphs (ێ ۆ ڵ), TypeScript passes, and Vite emits + references the hashed woff2. It could not verify actual glyph rendering or dark mode — that needs a human on macOS (see below).
Proposed Changes
On macOS, the UI renders in the system font (San Francisco), which has no glyphs for several Central Kurdish letters such as ێ ۆ ڵ. As a result, Kurdish words and sentences break and become hard to read once the app language is set to کوردیی ناوەندی. Linux is unaffected because its default fonts cover these letters.
This bundles Vazirmatn — a free, SIL Open Font License font that fully covers the Central Kurdish alphabet (and the exact font the reporter confirmed fixes the problem) — and applies it only when the UI language is Central Kurdish. Every other language keeps today's system-font appearance unchanged.
For Kurdish users on macOS, text now renders correctly and legibly across the app, including form fields, tooltips and dropdowns (which otherwise keep their own hardcoded font).
Testing Instructions
Pre-merge Checklist