/*
 * I caratteri della pagina, serviti da noi.
 *
 * ⚠️  NON si carica da `fonts.googleapis.com`, ed è tutto il punto: quel
 *     collegamento racconta a Google l'indirizzo IP e il momento di OGNI
 *     apertura della dashboard, senza che nessuno gliel'abbia chiesto. È la
 *     stessa cosa che `src/arteFonti.js` esiste per impedire sulle immagini
 *     delle fonti, e la regola di casa è che dal browser esce una cosa sola,
 *     e solo col permesso: il meteo.
 *
 * Licenza SIL Open Font License 1.1 per tutti e due — `OFL-google-sans-flex.txt`
 * e `OFL-onest.txt` qui accanto. È quella che
 * permette di ridistribuirlo, e va tenuta insieme ai file.
 *
 * ⚠️  CI SONO DUE PEZZI SU DIECI, ed è una scelta misurata.
 *
 *     Google ne serve dieci, divisi per `unicode-range`: il browser scarica
 *     solo quelli che la pagina tocca davvero. Di quei dieci, alla dashboard
 *     ne servivano tre — `latin` (169 KB), `latin-ext` (81 KB) e `symbols`
 *     (87 KB). Il terzo è rimasto fuori:
 *
 *      - lo tirano dentro sette caratteri in tutto — la freccia `→` delle
 *        schede, il tasto `⌘`, `⚠`, `✓`, `✕` e le due lettere regionali della
 *        bandierina 🇮🇹 — e 87 KB per sette glifi che il carattere di sistema
 *        disegna uguale sono un cattivo affare;
 *      - sulle due lettere regionali sarebbe stato pure un DANNO: se il font
 *        della pagina le copre, il browser usa quelle invece delle bandiere a
 *        colori del sistema, e il menu delle lingue perde le bandiere.
 *
 *     Quindi da qui si scarica MENO di quanto si scaricasse da Google.
 *
 * ⚠️  Il CIRILLICO non c'è, e non è una svista: Google Sans Flex non ha un
 *     sottoinsieme cirillico affatto. Il catalogo russo ricadeva già su
 *     `system-ui` quando il font arrivava da Google, e ci ricade adesso:
 *     questo lavoro non ha tolto niente a nessuno.
 *
 * Rifatto da capo? `scaricaFont.js` nello scratchpad della sessione, oppure:
 * si chiede a Google il CSS con uno User-Agent di un browser vero (se no
 * risponde in .ttf), si prendono i due `url()` e si riscrivono qui sotto.
 */

/* latin */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 90% 140%;
  /* Il testo si vede subito col carattere di ripiego e poi si scambia:
     un font che blocca il disegno lascia la pagina bianca finché non arriva. */
  font-display: swap;
  src: url('google-sans-flex-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 300 800;
  font-stretch: 90% 140%;
  /* Il testo si vede subito col carattere di ripiego e poi si scambia:
     un font che blocca il disegno lascia la pagina bianca finché non arriva. */
  font-display: swap;
  src: url('google-sans-flex-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ───────────────────────────────────────────────────────────────────────
 * Onest, per il CIRILLICO soltanto.
 *
 * ⚠️  Google Sans Flex non ha un sottoinsieme cirillico: fino a ieri il
 *     catalogo russo ricadeva su `system-ui`, cioè su una faccia diversa da
 *     quella di tutto il resto. Si leggeva bene — Segoe UI e SF Pro hanno un
 *     buon cirillico — ma in una riga che mescola le due scritture, per
 *     esempio «SottoboscoGang — Сервер базы данных», si vedeva che le due
 *     metà venivano da due caratteri diversi.
 *
 *     Onest è geometrica e aperta come Google Sans, variabile sullo stesso
 *     intervallo di pesi, e la disegnano due russi (Dmitri Voloshin, Andrey
 *     Kudryavtsev). Licenza OFL 1.1, come l'altra.
 *
 * ⚠️  L'ORDINE in `--faccia` conta, e l'`unicode-range` qui sotto è quello
 *     che lo rende sicuro: Google Sans Flex viene prima e vince su tutto il
 *     latino; per una lettera cirillica non ha il glifo e si passa a questo,
 *     che per dichiarazione esiste solo lì. Onest avrebbe anche il latino,
 *     ma di quel pezzo non scarichiamo nemmeno il file.
 *
 * ⚠️  E NON si precarica. Il preload dell'altro sta in `index.html` perché
 *     quel pezzo serve a chiunque apra la pagina; questo serve a chi legge in
 *     russo, e precaricarlo vorrebbe dire farlo scaricare a tutti gli altri
 *     per niente — cioè rifare, al contrario, il difetto che si è appena
 *     chiuso.
 * ─────────────────────────────────────────────────────────────────────── */

/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('onest-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
