Condividi tramite


Metriche di testo

Per facilitare il layout, la selezione personalizzata dei tipi di carattere e altre operazioni di utilizzo intensivo delle metriche, a partire da Windows 8, DirectWrite dispone di numerose nuove API per esprimere tutte le informazioni sui tipi di carattere che potrebbero essere necessari per sviluppare app di testo avanzate.

PANOSE

PANOSE è un sistema di classificazione visiva per identificare i caratteri tipografici. La classificazione PANOSE contiene informazioni sulla famiglia, lo stile serif, il peso, la proporzione, il contrasto, il tratto, lo stile del braccio, l'altezza X e così via. Queste informazioni descrivono lo stile visivo del tipo di carattere. Queste informazioni sono importanti perché i tipi di carattere con valori PANOSE simili sono simili. Questo è molto utile in situazioni in cui un tipo di carattere non è disponibile e l'app deve tornare a un tipo di carattere disponibile. Il confronto dei valori PANOSE per i tipi di carattere consente di scegliere un tipo di carattere simile a quello originale.

Per accedere alle informazioni PANOSE per un tipo di carattere, usare il metodo GetPanose nelle interfacce IDWriteFont1 e IDWriteFontFace1. Questo metodo restituisce un'enumerazione DWRITE_PANOSE contenente tutte le informazioni PANOSE per tale tipo di carattere.

Metriche aggiuntive

A partire da Windows 8, l'API DirectWrite supporta anche una serie di nuove metriche per esprimere informazioni utili sui tipi di carattere dell'app. Queste nuove metriche includono queste informazioni.

  • Metriche del rettangolo di selezione a sinistra, destra, superiore e inferiore.
  • Posizionamento X e Y per gli elementi di trascrizione e di sottoscrizione.
  • Informazioni di ridimensionamento X e Y per gli elementi di superscript e sottoscript.
  • Indica se il tipo di carattere ha metriche tipografiche.

Queste informazioni sono tutte disponibili tramite il nuovo metodo GetMetrics nelle interfacce IDWriteFontFace1 e IDWriteFont1. Questo metodo restituisce una struttura DWRITE_FONT_METRICS1 che contiene tutte le informazioni.

Metriche di caret

Per creare app di modifica del testo, è necessario accedere alle informazioni su come disegnare il caret che passa attraverso il testo. A partire da Windows 8, DirectWrite fornisce il metodo GetCaretMetrics nelle interfacce IDWriteFontFace1 e IDWriteFont1 per questo scenario. GetCaretMetrics restituisce un'enumerazione DWRITE_CARET_METRICS che contiene informazioni sulla pendenza e l'offset per il caret lungo la linea di base.

Queste informazioni sono particolarmente utili se si vuole essere in grado di avere la loro pendenza di caret in modo appropriato con il testo corsivo.

Individuazione monospaced

Le app che consentono agli utenti di scrivere codice computer spesso usano tipi di carattere monospaced al posto di tipi di carattere più tradizionali. È quindi possibile avere più controllo sulla selezione dei tipi di carattere nelle app correlate allo sviluppo, DirectWrite esprime se un tipo di carattere è monospaced tramite l'API. Il metodo IsMonospacedFont nell'interfaccia IDWriteFontFace1 restituisce un valore booleano che indica se il tipo di carattere è monospaced.

Corrispondenza dei nomi dei tipi di carattere

Le app di testo avanzato, ad esempio i lettori PDF, devono essere in grado di corrispondere ai tipi di carattere nel sistema, devono accedere ai nomi completi dei tipi di carattere in più formati. È quindi possibile trovare una corrispondenza migliore tra i tipi di carattere, DirectWrite contiene un'enumerazione che esprime informazioni di denominazione complete su un tipo di carattere in molti formati.

si usa l'enumerazione DWRITE_INFORMATIONAL_STRING_ID per ottenere il nome completo, il nome PostScript e il nome CID PostScript di qualsiasi tipo di carattere nel sistema. Queste informazioni sono utili quando è necessario associare i tipi di carattere nell'app ai tipi di carattere appropriati nel sistema locale.

Avanzamenti del glifo

Il metodo GetGlyphAdvances sulle interfacce IDWriteFontFace1 e IDWriteFont1 accetta il conteggio e gli indici del glifo necessari e quindi restituisce i progressi per i glifi in questione.

Intervalli Unicode

Le app che vogliono gestire la propria selezione dei tipi di carattere devono accedere agli intervalli Unicode supportati dal tipo di carattere. In questo modo, se un punto di codice Unicode non è supportato dal tipo di carattere, l'app può scegliere un tipo di carattere appropriato contenente tale glifo. Senza queste informazioni, l'app può usare un tipo di carattere che non contiene tutti i glifi necessari per visualizzare le informazioni presenti.

Il metodo GetUnicodeRanges nelle interfacce IDWriteFontFace1 e IDWriteFont1 accetta il numero massimo di intervalli passati dal client e restituisce gli intervalli effettivi supportati dal tipo di carattere.

Raccolta di caratteri EUDC

Utilizzare il metodo GetEudcFontCollection nell'interfaccia IDWriteFactory1 per accedere all'insieme di caratteri EUDC. Questo metodo funziona nello stesso modo di GetSystemFontCollection, ma restituisce invece un puntatore a una raccolta di caratteri EUDC.