Salta ai contenuti

Matrice di supporto per font e scritture

Due classi di font determinano quali scritture vengono rese. I font standard-14 (Helvetica, Times, Courier) coprono il repertorio di WinAnsiEncoding e nulla di più. Un font TrueType o OpenType incorporato e registrato rende una scrittura solo se questa è coperta sia dalla mappa dei caratteri del font sia dal percorso di sagomatura corrente. Nessuna classe di font, da sola, rende tutto Unicode.

ScritturaFont standard-14Font incorporato registrato
Latino dell’Europa occidentaleSì — l’intero repertorio di WinAnsiEncoding (Windows-1252)
Lettere latine accentate oltre WinAnsi, greco, cirillicoNoSe la mappa dei caratteri del font le copre
Cinese, giapponese, coreano (CJK)NoSe la mappa dei caratteri del font le copre
Arabo, persiano, urduNoCon sagomatura contestuale, se la mappa dei caratteri copre il blocco Arabic Presentation Forms-B
EbraicoNoRiordinato in ordine visivo; non sagomato
Thai e altre scritture complesseNoSe la mappa dei caratteri le copre; la sagomatura avanzata è limitata

Le famiglie standard-14 — Helvetica, Times e Courier — rendono l’intero repertorio di WinAnsiEncoding (Windows code page 1252): latino accentato dell’Europa occidentale, simbolo dell’euro e segni di punteggiatura tipografica comuni, inclusi trattini en ed em, virgolette curve, punto elenco, puntini di sospensione e simbolo del marchio (ISO 32000-2 Annex D.2). Non rendono alcun’altra scrittura. Registrare un font incorporato per qualsiasi carattere fuori da quel repertorio. Symbol e ZapfDingbats sono i due tipi di carattere standard-14 senza sostituto metricamente compatibile; registrare un font incorporabile quando ne serve uno dei due.

Vedere Comporre testo con font e allineamento per il flusso di lavoro con i font standard.

Un font TrueType o OpenType registrato rende Unicode solo quando sia la mappa dei caratteri del font selezionato sia il percorso di sagomatura corrente forniscono copertura. La sola registrazione di un font non garantisce un glifo per ogni code point.

  • La copertura segue la mappa dei caratteri. Il motore disegna un code point solo se il font incorporato lo mappa a un glifo. Un font costruito per una scrittura non ne renderà un’altra.
  • Latino, greco, cirillico e CJK vengono resi direttamente dalla mappa dei caratteri, un glifo per code point, quando il font li copre.
  • L’arabo richiede inoltre la sagomatura contestuale — forme iniziale, mediana, finale e isolata delle lettere più la legatura Lam-Alef — e un font la cui mappa dei caratteri copra il blocco Arabic Presentation Forms-B. I font che si affidano solo alla sostituzione di glifi OpenType (GSUB), così come il percorso di sagomatura HarfBuzz, sono lavori futuri.
  • Le scritture da destra a sinistra (arabo, ebraico, persiano, urdu) vengono riordinate in ordine visivo con l’algoritmo bidirezionale Unicode descritto in Unicode Standard Annex (UAX) #9. L’ebraico viene riordinato ma non sagomato, comportamento corretto per questa scrittura.

Vedere Eseguire il rendering di HTML arabo da destra a sinistra per un esempio pratico in arabo e per gli attuali limiti delle scritture da destra a sinistra.