Condividi tramite


Tipi di carattere e metriche di testo

In questo argomento vengono illustrati i tipi di carattere forniti da Windows, i valori delle metriche dei tipi di carattere che possono cambiare tra le versioni di Windows e le linee guida per l'uso delle metriche dei tipi di carattere nelle app desktop.

  • Per informazioni specifiche per le metriche dei tipi di carattere in DirectWrite, vedi metriche di testo.
  • Per informazioni dettagliate sulla gestione del testo nelle app tramite GDI, vedere gli argomenti in Tipi di carattere e testo.

Per informazioni più dettagliate sull'utilizzo e sulle specifiche dei tipi di carattere, vedere il sito tipografico Microsoft .

Tipi di carattere disponibili

I tipi di carattere struttura forniti con Windows vengono recapitati come tipi di carattere OpenType con contorni TrueType (Windows supporta anche i tipi di carattere OpenType nel formato CFF). Per gli elenchi di tutti i tipi di carattere forniti da Windows, vedi tipografia Microsoft: tipi di carattere per prodotto o famiglia. Tutti i tipi di carattere struttura di Windows sono conformi alla versione più recente della specifica OpenType .

Per un elenco di tutti i tipi di carattere dell'interfaccia utente correnti e legacy, vedere Metriche dei tipi di carattere bloccate di seguito.

Modifiche dei tipi di carattere

Per garantire la compatibilità con le versioni precedenti, i tipi di carattere vengono raramente rimossi da Windows. Tuttavia, i tipi di carattere vengono spesso modificati. Le modifiche possono includere l'aggiunta di caratteri, la ridisegnazione di caratteri esistenti, la modifica di hint o l'aggiunta o la modifica del supporto per le funzionalità OpenType avanzate e il data shaping complesso degli script.

Metriche dei tipi di carattere bloccate

Si noti che alcuni valori associati ai tipi di carattere dell'interfaccia utente e ai tipi di carattere predefiniti usati nelle app Microsoft sono bloccati. I tipi di carattere dell'interfaccia utente vengono usati per eseguire il rendering di elementi dell'interfaccia utente come sottotitoli, finestre di dialogo e menu. Pochissime modifiche vengono apportate a questi tipi di carattere, data la loro elevata visibilità e l'uso frequente. Tuttavia, poiché i valori segnalati associati a questi tipi di carattere sono bloccati, potrebbero verificarsi discrepanze tra i valori dei tipi di carattere segnalati e effettivi.

I valori segnalati seguenti sono bloccati per l'interfaccia utente e i tipi di carattere predefiniti e possono essere segnalati in modo non accurato:

  • Questi valori della tabella sistema operativo/2 del tipo di carattere:
    • xAvgCharWidth
    • sTypoLineGap
    • sTypoAscender
    • sTypoDescender
    • usWinAscent
    • usWinDescent
  • Valore unitsPerEm impostato nell'intestazione del tipo di carattere
  • Valori della tabella delle metriche del dispositivo verticale (VDMX)
  • Larghezze avanzate per singoli glifi

Ecco un elenco dei tipi di carattere dell'interfaccia utente forniti con Windows 8.1 (interessati dai valori bloccati):

Nome script Tipo di carattere dell'interfaccia utente
Arabo Interfaccia utente di Segoe
Armeno Interfaccia utente di Segoe
Bangla Interfaccia utente di Nirmala
Bopomofo Interfaccia utente di Microsoft JhengHei
Braille Simbolo dell'interfaccia utente segoe
Buginese Interfaccia utente di Leelawadee
Aborigeno canadese Syllabics Gadugi
Cherokee Gadugi
Copto Simbolo dell'interfaccia utente segoe
Cinese (semplificato) Interfaccia utente di Microsoft YaHei
Cinese (tradizionale) Interfaccia utente di Microsoft JhengHei
Cirillico Interfaccia utente di Segoe
Devanagari Interfaccia utente di Nirmala
Deseret Simbolo dell'interfaccia utente segoe
Etiope Ebrima
Georgiano Interfaccia utente di Segoe
Glagolitico Simbolo dell'interfaccia utente segoe
Gotico Simbolo dell'interfaccia utente segoe
Greco Interfaccia utente di Segoe
Gujarati Interfaccia utente di Nirmala
Gurmukhi Interfaccia utente di Nirmala
Ebraico Interfaccia utente di Segoe
Corsivo precedente Simbolo dell'interfaccia utente segoe
Giavanese Testo javanese
Giapponese Interfaccia utente di Meiryo
Kannada Interfaccia utente di Mirmala
Khmer Interfaccia utente di Leelawadee
Coreano Malgun Gothic
Laotiano Interfaccia utente di Leelawadee
Latino Interfaccia utente di Segoe
Malayalam Interfaccia utente di Nirmala
Mongolo Baiti mongoli
Myanmar Testo Myanmar
N'Ko Ebrima
Ogham Simbolo dell'interfaccia utente segoe
Ol Chiki Interfaccia utente di Nirmala
Vecchio turco Simbolo dell'interfaccia utente segoe
Odia Interfaccia utente di Nirmala
Osmanya Ebrima
Phags-pa Microsoft PhagsPa
Runico Simbolo dell'interfaccia utente segoe
Sora Sompeng Interfaccia utente di Nirmala
Sinhala Interfaccia utente di Nirmala
Siriaco Estrangelo Edessa
Tai Le Microsoft Tai Le
Nuovo Tai Lue Microsoft New Tai Lue
Tamil Interfaccia utente di Nirmala
Telugu Interfaccia utente di Nirmala
Tifinagh Ebrima
Thaana MV Boli
Tailandese Interfaccia utente di Leelawadee
Tibetano Microsoft Himalaya
Vai Ebrima
Yi Microsoft Yi Baiti

 

Ecco un elenco dei tipi di carattere dell'interfaccia utente legacy interessati anche dai valori bloccati:

Nome script (legacy) Tipo di carattere dell'interfaccia utente (legacy)
Bangla Vrinda
Aborigeno canadese Syllabics Eufemia
Cherokee Plantageneto
Cinese (semplificato) Microsoft YaHei e SimSun
Cinese (tradizionale) MingLiU e Microsoft JhengHei
Devanagari Mangal
Lingue europee Tahoma
Gujarati Shruti
Gurmukhi Raavi
Giapponese Interfaccia utente meiryo e MS Gothic
Kannada Tunga
Khmer Khmer
Coreano Gulim
Laotiano Interfaccia utente lao
Malayalam Kartika
Lingue del Medio Oriente Tahoma
Odia Kalinga
Singalese Iskoola Pota
Tamil Latha e Vijaya
Telugu Gautami
Tailandese Leelawadee e Tahoma

 

Questi tipi di carattere vengono usati come valori predefiniti nelle app Microsoft e sono interessati anche dai valori bloccati:

  • Arial
  • Calibri
  • Cambria
  • Consolas
  • Courier New
  • MS Mincho
  • Times New Roman
  • Verdana

Metriche dei tipi di carattere dinamiche

Oltre alle metriche bloccate elencate in precedenza, i valori dei tipi di carattere vengono segnalati in modo accurato. Se un tipo di carattere viene modificato in una nuova versione di Windows, i valori dei tipi di carattere dinamici variano tra il nuovo e quello precedente. Ad esempio, quando un glifo viene aggiunto a un tipo di carattere, i valori nell'intestazione del carattere possono cambiare. Il ritaglio può determinare se questi valori (che includono xMin, xMax, yMin e yMax e segnalano il rettangolo di selezione minimo e massimo per i glifi nel tipo di carattere) sono stati bloccati e non segnalavano valori true.

Importante

Se usi valori di tipo di carattere dinamici nella tua app (ad esempio quelli in TEXTMETRIC), questi valori cambieranno se i tipi di carattere vengono modificati nelle versioni future di Windows. Non usare questi valori effettivi in situazioni in cui il testo deve rimanere statico.

 

Linee guida per l'uso delle metriche dei tipi di carattere

  • Metriche dello schermo di calcolo e metriche dei tipi di carattere (ad esempio, larghezza media) all'avvio di un'app e usare questi valori per definire il layout dell'app. In questo modo verrà fornito un rendering coerente e il layout risponderà alle modifiche apportate ai tipi di carattere o al fallback del tipo di carattere. Per una panoramica del fallback dei tipi di carattere e del collegamento dei tipi di carattere, vedere Globalization Step by Step: Step by Step: Fonts. Vedi Uso del di fallback dei tipi di carattere per informazioni specifiche di Uniscribe.
    • Per calcolare una metrica di base, eseguire il rendering del testo rappresentativo per la lingua o lo script desiderato.
    • Per i controlli che contengono solo una singola riga di testo non compresso, inserirli in modo da adattarli alla larghezza intera del testo senza tentativi.
    • Per i controlli con più linee, ottenere la lunghezza totale, dividere per la lunghezza del carattere e avere una larghezza continua da usare. Si noti che questo è più complicato per gli script complessi in cui un singolo "carattere" per il lettore può essere costituito da più punti di codice.
  • Usare sTypoAscender, sTypoDescender e unitsPerEm (dalla tabella OS/2) per calcolare la spaziatura verticale. sTypoAscender viene usato per determinare l'offset ottimale dalla parte superiore di una cornice di testo alla prima linea di base e sTypoDescender determina l'offset ottimale dalla parte inferiore di una cornice di testo all'ultima linea di base.
  • Se si usa DirectWrite, creare un layout usando IDWriteTextLayout. IDWriteTextLayout fornisce + discendente crescente + lineGap in layout naturale. È possibile accedere a questi valori specifici con DWRITE_FONT_METRICS. Per informazioni su questa interfaccia, vedi Formattazione del testo e Layout.
  • Se si usa GDI, eseguire il rendering fuori schermo, quindi esaminare il layout (ad esempio, la lunghezza o i caratteri per riga) e ricalcolare i parametri di layout finali usati nel rendering effettivo.
  • Non creare layout in modo statico in base a valori specifici per versioni specifiche dei tipi di carattere. I valori effettivi possono cambiare da rilascio a rilascio.

riferimento

IDWriteTextLayout

DWRITE_FONT_METRICS

TEXTMETRIC

unitsPerEm

tabella sistema operativo/2

tabella delle metriche dei dispositivi verticali (VDMX)

tipografia Microsoft: tipi di carattere per prodotto o famiglia

concettuale

metriche di testo (DirectWrite)

tipi di carattere e testo (GDI)

Microsoft Typography