Metriche di testo
Per facilitare il layout, la selezione personalizzata dei tipi di carattere e altre operazioni a elevato utilizzo di metriche, a partire da Windows 8, DirectWrite ha una serie di nuove API per esprimere tutte le informazioni sui tipi di carattere che potrebbe essere necessario sviluppare app rtf.
PANOSE
PANOSE è un sistema di classificazione visiva per identificare i caratteri tipografici. La classificazione PANOSE contiene informazioni sulla famiglia, stile serif, peso, proporzione, contrasto, tratto, stile braccio, altezza X e così via. Queste informazioni descrivono lo stile di visualizzazione del tipo di carattere. Queste informazioni sono importanti perché i tipi di carattere con valori PANOSE simili sono simili. Ciò è molto utile nelle situazioni in cui un tipo di carattere non è disponibile e l'app deve eseguire il fallback a un tipo di carattere disponibile. Il confronto dei valori PANOSE per i tipi di carattere consente di scegliere un tipo di carattere simile al tipo di carattere originale.
Per accedere alle informazioni PANOSE per un tipo di carattere, utilizzare il metodoGetPanosenelIDWriteFont1e interfacce IDWriteFontFace1. Questo metodo restituisce un'enumerazione DWRITE_PANOSE che contiene 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 per la tua app. Queste nuove metriche includono queste informazioni.
- Metriche del rettangolo delimitatore sinistro, destro, superiore e inferiore.
- Posizionamento X e Y per gli elementi apice e pedice.
- Informazioni di ridimensionamento X e Y per gli elementi apice e pedice.
- Indica se il tipo di carattere contiene metriche tipografiche.
Queste informazioni sono tutte disponibili tramite il nuovo metodo getMetricsnelle interfacceIDWriteFontFace1 e IDWriteFont1. Questo metodo restituisce una struttura DWRITE_FONT_METRICS1 che contiene tutte queste informazioni.
Metriche del cursore
Per creare app di modifica del testo è necessario accedere alle informazioni su come disegnare il cursore che scorre il testo. A partire da Windows 8, DirectWrite fornisce il metodoGetCaretMetricsIDWriteFontFace1 e IDWriteFont1 per questo scenario. GetCaretMetrics restituisce un'enumerazione DWRITE_CARET_METRICS che contiene informazioni sul coefficiente angolare e sull'offset per il cursore lungo la linea di base.
Queste informazioni sono particolarmente utili se vuoi essere in grado di avere la pendenza del cursore in modo appropriato con il testo in corsivo.
Individuabilità a spaziatura monospazzabile
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 maggiore 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 Boolean che indica se il tipo di carattere è monospaced.
Corrispondenza del nome del carattere
Le app rtf come i lettori PDF devono essere in grado di abbinare i tipi di carattere nel loro contenuto ai tipi di carattere nel sistema, devono accedere ai nomi completi dei tipi di carattere in più formati. È quindi possibile trovare una corrispondenza migliore con i tipi di carattere, DirectWrite contiene un'enumerazione che esprime informazioni di denominazione complete su un tipo di carattere in molti formati.
utilizzare 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 devi associare i tipi di carattere nella tua app ai tipi di carattere appropriati nel sistema locale.
Avanzamenti glifi
Il metodo GetGlyphAdvances sul IDWriteFontFace1 e IDWriteFont1 interfacce accetta il numero di glifi e gli indici su cui sono necessarie informazioni avanzate 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 che contiene 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 metodoGetUnicodeRangessulIDWriteFontFace1e IDWriteFont 1 accetta il numero massimo di intervalli passati dal client e restituisce gli intervalli effettivi supportati dal tipo di carattere.
Raccolta di tipi di carattere EUDC
Utilizzare il metodoGetEudcFontCollectionnell'interfaccia IDWriteFactory1 accedere alla raccolta di tipi di carattere EUDC. Questo metodo funziona allo stesso modo di GetSystemFontCollection, ma restituisce invece un puntatore a una raccolta di tipi di carattere EUDC.