Urdu in Nastaliq: use Noto Nastaliq Urdu in the interface and the document themes #1054

Closed
opened 2026-10-25 16:29:14 +00:00 by tiagoagueda · 0 comments
Owner

Spun out of #269. Urdu (ur) is selected for 0.5 (#1051). Urdu is normally written in Nastaliq, a calligraphic style different from the Naskh that Arabic uses. Text set in Naskh is readable, but it looks foreign to most Urdu readers. The maintainer chose Nastaliq on 2026-10-25.

Where things stand

  • The image already has the font. Noto Nastaliq Urdu is installed (fonts-noto-core), next to Noto Naskh Arabic; fc-list in the running container shows both.
  • The interface does not use it. app.css has no :lang(ur) rule, so Urdu falls through to whatever the system offers for Arabic script.
  • The document themes name only Naskh. The classic and plain CV, letter and portfolio themes list "Noto Naskh Arabic" as their Arabic-script fallback. An Urdu CV is therefore drawn in Naskh.

Needs

  • Interface: a :lang(ur) rule using "Noto Nastaliq Urdu" first, with a taller line-height. Nastaliq's descending diagonals need about 1.8–2.2, against about 1.5 for Latin; check that buttons, chips and table rows don't clip it.
  • Documents: the themes pick Nastaliq for Urdu, not Naskh. Either add a :lang(ur) rule in each theme, or put "Noto Nastaliq Urdu" before Naskh only when the document's language is ur, so Arabic keeps Naskh.
  • Instance check: manage.py check_fonts and Server settings → Overview report whether Nastaliq is drawable when ur is offered.

Done when

  • A browser test in ur finds Noto Nastaliq Urdu as the computed first family on the page body, and no clipped text in the axe and reflow walks.
  • A WeasyPrint test renders an Urdu CV and finds Noto Nastaliq Urdu among the PDF's embedded fonts, and an Arabic CV still embeds Noto Naskh Arabic.
Spun out of #269. Urdu (`ur`) is selected for 0.5 (#1051). Urdu is normally written in **Nastaliq**, a calligraphic style different from the **Naskh** that Arabic uses. Text set in Naskh is readable, but it looks foreign to most Urdu readers. The maintainer chose Nastaliq on 2026-10-25. ## Where things stand - **The image already has the font.** **Noto Nastaliq Urdu** is installed (`fonts-noto-core`), next to Noto Naskh Arabic; `fc-list` in the running container shows both. - **The interface does not use it.** `app.css` has no `:lang(ur)` rule, so Urdu falls through to whatever the system offers for Arabic script. - **The document themes name only Naskh.** The `classic` and `plain` CV, letter and portfolio themes list `"Noto Naskh Arabic"` as their Arabic-script fallback. An Urdu CV is therefore drawn in Naskh. ## Needs - **Interface:** a `:lang(ur)` rule using `"Noto Nastaliq Urdu"` first, with a taller `line-height`. Nastaliq's descending diagonals need about 1.8–2.2, against about 1.5 for Latin; check that buttons, chips and table rows don't clip it. - **Documents:** the themes pick Nastaliq for Urdu, not Naskh. Either add a `:lang(ur)` rule in each theme, or put `"Noto Nastaliq Urdu"` before Naskh only when the document's language is `ur`, so Arabic keeps Naskh. - **Instance check:** `manage.py check_fonts` and *Server settings → Overview* report whether Nastaliq is drawable when `ur` is offered. ## Done when - A browser test in `ur` finds `Noto Nastaliq Urdu` as the computed first family on the page body, and no clipped text in the axe and reflow walks. - A WeasyPrint test renders an Urdu CV and finds Noto Nastaliq Urdu among the PDF's embedded fonts, and an Arabic CV still embeds Noto Naskh Arabic.
tiagoagueda added this to the 0.5.0 milestone 2026-10-25 17:04:12 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo#1054
No description provided.