Guide · 06
Two scripts
English leads on public surfaces. Arabic is a first language of the studio. It is never a subtitle, never decoration and never a translation.
Who writes the Arabic
- A native writer writes every Arabic string. Nothing is machine-translated.
- The review stamp: every Arabic string carries
data-ar-reviewed="YYYY-MM-DD · initials"once a native reader signs it off. Unreviewed strings render with a dottedpointunderline and the note “awaiting native review”, and the build lists them. Nothing unreviewed ships. - Signed off so far: نُبَيِّن, نبين, بنين, يبين and their glosses (8 November 2026).
Setting Arabic
| Rule | Value |
|---|---|
| Size | 1.12 times the Latin beside it, applied once at the [lang="ar"] boundary |
| Line height | 1.4 in display, 1.8 in reading text |
| Tracking | Never. Letter-spacing breaks the joins |
| Case and stretch | No uppercase, no tatweel |
| Tashkeel | Full on the name; running text as the native writer sets it |
| Italic | None. Emphasis is weight |
| Faces | Kufam for display, Noto Naskh Arabic for reading |
Digits
Western digits (0–9) by default. In Arabic text the native writer may choose Arabic-Indic digits (٠–٩) for the audience. Use tabular figures in credits and tables.
Right to left
| Mirrors | Never mirrors |
|---|---|
| Page layout and reading order | The mark |
| Navigation, arrows and chevrons | The name lockup |
| Progress through steps and lists | Media timelines and playback controls |
| Alignment of text and captions | Photographs, plates and key art |
| Logos of partners and festivals |
The dots decide
Without its dots, نبين is the skeleton ٮٮٮں, which it shares with بنين (banīn, sons) and يبين (yubayyin, he makes clear). The dots decide which word you are reading. The point in the mark does the same job for ن. The harakat finish it: نُبَيِّن, nubayyin, we make clear.