Skip to content

Fix broken Central Kurdish text on macOS by bundling Vazirmatn font#4062

Open
wojtekn wants to merge 1 commit into
trunkfrom
fix-kurdish-font-macos
Open

Fix broken Central Kurdish text on macOS by bundling Vazirmatn font#4062
wojtekn wants to merge 1 commit into
trunkfrom
fix-kurdish-font-macos

Conversation

@wojtekn

@wojtekn wojtekn commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

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).

⚠️ Visual change: needs human review in light + dark mode.

Before After
kurdish-before kurdish-after

Testing Instructions

  1. On macOS, start Studio.
  2. Go to Settings → Language and switch to کوردیی ناوەندی.
  3. Confirm Kurdish text throughout the app (settings, buttons, labels, inputs, tooltips, dropdowns) renders correctly — the letters ێ ۆ ڵ should display without breaking words.
  4. Switch back to another language and confirm its appearance is unchanged.
  5. Check both light and dark appearance (System Settings → Appearance).

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?

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>
@wpmobilebot

Copy link
Copy Markdown
Collaborator

📊 Performance Test Results

Comparing b25cb61 vs trunk

app-size

Metric trunk b25cb61 Diff Change
App Size (Mac) 1316.92 MB 1317.03 MB +0.11 MB ⚪ 0.0%

site-editor

Metric trunk b25cb61 Diff Change
load 759 ms 1055 ms +296 ms 🔴 39.0%

site-startup

Metric trunk b25cb61 Diff Change
siteCreation 6498 ms 6499 ms +1 ms ⚪ 0.0%
siteStartup 1865 ms 1862 ms 3 ms ⚪ 0.0%

Results are median values from multiple test runs.

Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants