/*
 * fonts-rtl.css - font per ebraico e arabo (WP-00D)
 *
 * I DGX dei clienti sono OFFLINE: niente Google Fonts, niente CDN, e
 * nessuna garanzia che l'OS del client abbia un font ebraico o arabo.
 * Questi @font-face sono l'unica ragione per cui he/ar non renderizzano
 * tofu nel browser.
 *
 * Font: Noto Sans Hebrew 3.001 + Noto Sans Arabic 2.013, variable
 * (asse wght 400..600), SIL Open Font License 1.1.
 * Generati da `scripts/gen-rtl-fonts.py`, che documenta sorgente,
 * licenza e scelte di instancing. Non editare i binari a mano.
 *
 * PERCHE' unicode-range: senza, il browser scaricherebbe 133 KB di font
 * RTL a ogni pageview anche per un utente che non vedra' mai un
 * carattere ebraico o arabo. Con unicode-range il download parte solo
 * se in pagina compare almeno un codepoint di quei blocchi: per gli
 * utenti IT/EN il costo e' esattamente zero byte.
 *
 * PERCHE' le Presentation Forms sono incluse: i PDF ebraici e arabi
 * legacy spesso non contengono il testo nei blocchi base ma gia' nelle
 * forme presentazionali (U+FB1D-FB4F, U+FB50-FDFF, U+FE70-FEFF),
 * perche' il produttore ha fatto lo shaping a monte. Se le lasciassimo
 * fuori dalla unicode-range, proprio i documenti piu' comuni per cui
 * serve questo file cadrebbero sul fallback.
 *
 * NOTA sulle unicode-range: i due blocchi non si sovrappongono di
 * proposito. U+200F (RLM) e' presente nel cmap di entrambi i font, ma
 * e' volutamente escluso da entrambe le range: dichiararlo avrebbe
 * fatto scaricare ANCHE l'ebraico a chi apre un documento solo arabo
 * che contiene un RLM. E' un codepoint default-ignorable, invisibile,
 * che non produce tofu quando il font non lo copre.
 *
 * Questo file NON e' caricato da nessuna parte: e' il deliverable di uno
 * spike. Il cablaggio e' di un altro WP, vedi
 * knowledge/40_Decisions/RTL_PACKAGING_2026-07-17.md.
 *
 * ATTENZIONE a come lo si carica: `@import url("/fonts/fonts-rtl.css")`
 * dentro src/styles.css NON funziona. La build resta verde ma Tailwind v4
 * / Lightning CSS prova a risolvere l'@import a build time, non trova il
 * file (sta in public/, fuori dal module graph) e lo scarta in silenzio:
 * zero @font-face nel CSS emesso. Va caricato con un <link rel="stylesheet"
 * href="/fonts/fonts-rtl.css"> in appweb/index.html.
 */

/* ---------------------------------------------------------------- */
/* Ebraico: blocco base + Alphabetic Presentation Forms (parte ebraica) */
/* ---------------------------------------------------------------- */
@font-face {
  font-family: "Noto Sans Hebrew";
  font-style: normal;
  /* Range, non valore singolo: il font e' variable sull'asse wght. */
  font-weight: 400 600;
  font-display: swap;
  src:
    url("/fonts/NotoSansHebrew-Variable.woff2") format("woff2-variations"),
    url("/fonts/NotoSansHebrew-Variable.ttf") format("truetype-variations");
  unicode-range:
    U+0590-05FF,
    U+FB1D-FB4F;
}

/* ---------------------------------------------------------------- */
/* Arabo: blocco base, Supplement, Extended-A/B, Presentation Forms A/B */
/* ---------------------------------------------------------------- */
@font-face {
  font-family: "Noto Sans Arabic";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src:
    url("/fonts/NotoSansArabic-Variable.woff2") format("woff2-variations"),
    url("/fonts/NotoSansArabic-Variable.ttf") format("truetype-variations");
  unicode-range:
    U+0600-06FF,
    U+0750-077F,
    U+0870-089F,
    U+08A0-08FF,
    U+FB50-FDFF,
    U+FE70-FEFF;
}
