Novità di DirectWrite

Questo argomento descrive le novità di DirectWrite per varie versioni di Windows 10.

Windows App SDK

Il SDK per app di Windows introduce una nuova versione di DirectWrite, denominata DWriteCore. Per altri dettagli, vedere Panoramica di DWriteCore.

Aggiornamento di Windows di 10 maggio 2019

Non sono state aggiunte funzionalità o API né aggiornate per Windows 10 versione 1903 (10.0; Build 18362) nota anche come Aggiornamento di Windows 10 (maggio 2019).

Aggiornamento di Windows 10 (ottobre 2018)

Le funzionalità e le API seguenti sono state aggiunte o aggiornate per Windows 10 versione 1809 (10.0; Build 17763) nota anche come Aggiornamento di Windows 10 (ottobre 2018).

Nuovo

Aggiornamento di Windows 10 (aprile 2018)

Le funzionalità e le API seguenti sono state aggiunte o aggiornate per Windows 10 versione 1803 (10.0; Build 17134), noto anche come Aggiornamento di Windows 10 di aprile 2018.

Nuovo

Windows 10 Fall Creators Update

Le funzionalità e le API seguenti sono state aggiunte o aggiornate per Windows 10 versione 1709 (10.0; Build 16299) - noto anche come Windows 10 Fall Creators Update.

Nuovo

Spostato

Enumerazione DWRITE_GLYPH_IMAGE_FORMATS spostata da dwrite_3.h a dcommon.h.

Windows 10 Creators Update

Le funzionalità e le API seguenti sono state aggiunte o aggiornate per Windows 10 versione 1703 (10.0; Build 15063), noto anche come Windows 10 Creators Update.

Supporto api espanso per tipi di carattere cloud e set di caratteri personalizzati

Api incluse in Windows 10 che consentono alle app di accedere facilmente ai tipi di carattere da un servizio di tipi di carattere di Windows. In Windows 10 Creators Update, le API per i tipi di carattere remoti vengono estese per consentire un facile accesso ai tipi di carattere da altre origini sul Web a cui è possibile accedere tramite HTTP o HTTPS. 

Le nuove API remote-font possono essere usate con servizi Web pubblici o privati. Inoltre, possono essere usati per accedere ai file di tipi di carattere OpenType non elaborati (con estensione ttf, otf., ttc, otc) o tipi di carattere inclusi nei formati di contenitore WOFF o WOFF2 . Le nuove API vengono usate insieme alle API esistenti per accodare le richieste di download dei dati dei tipi di carattere remoti e per gestire il processo di download effettivo.

Altre nuove API semplificano l'uso dei tipi di carattere personalizzati archiviati nel file system locale o caricati in un buffer di memoria.

Per altre informazioni sulle nuove API per l'uso di tipi di carattere remoti, set di tipi di carattere personalizzati o formati di contenitori WOFF/WOFF2, vedere l'argomento seguente:

Set di caratteri personalizzati

Vedere anche i collegamenti agli argomenti di riferimento sulle API forniti in questo argomento.  L'uso di API nuove ed esistenti per l'uso di tipi di carattere personalizzati è illustrato anche nell'esempio DirectWrite Custom Font Sets.Use of new and existing APIs for working with custom fonts is also illustrate in the DirectWrite Custom Font Sets sample. Questo esempio illustra l'implementazione del codice per diversi scenari, tra cui tipi di carattere locali su disco, tipi di carattere remoti sul Web, dati dei tipi di carattere in memoria e tipi di carattere in formati WOFF o WOFF2 compressi.

Supporto iniziale per le varianti dei tipi di carattere OpenType

La versione 1.8 della specifica del formato del tipo di carattere OpenType ha introdotto una nuova estensione interessante per il formato noto come Varianti carattere OpenType. DirectWrite è stato aggiornato in Windows 10 Creators Update per supportare istanze denominate di tipi di carattere variabili. Per altre informazioni, vedere l'argomento seguente:

Tipi di carattere di variabili OpenType

Aggiornamento dell'anniversario di Windows 10

Le funzionalità e le API seguenti sono state aggiunte o aggiornate per Windows 10 versione 1607 (10.0; Build 14393) - noto anche come Aggiornamento dell'anniversario di Windows 10.

Supporto migliorato per i tipi di carattere a colori

A partire dall'aggiornamento dell'anniversario di Windows 10, DirectWrite offre supporto predefinito per un'ampia gamma di formati di carattere a colori, consentendo agli sviluppatori di usare più tipi di carattere nelle app basate su DirectWrite che mai. È incluso il supporto per:

  • Tabella OpenType "COLR", che consente il contenuto vettoriale compatto nei tipi di carattere. (Supportato da Windows 8.1.)
  • Tabella OpenType "SVG", che abilita il contenuto SVG nei tipi di carattere.
  • La tabella OpenType "CBDT", che consente il contenuto bitmap a colori nei tipi di carattere.
  • Tabella OpenType "sbix", che abilita il contenuto bitmap a colori nei tipi di carattere.

Direct2D, che usa DirectWrite per il rendering del testo, supporta automaticamente questi formati di carattere colore quando il flag D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT è abilitato. Per ulteriori informazioni, vedi gli argomenti seguenti:

Supporto per Adobe Typekit e altri client di tipi di carattere

Alcuni servizi di tipo carattere, ad esempio Adobe Typekit, dispongono di utilità lato client che consentono a un utente di caricare i tipi di carattere dal servizio e di usarli in applicazioni diverse nel computer Windows. Queste utilità funzionano in genere effettuando chiamate in fase di esecuzione a GDI per caricare tipi di carattere aggiuntivi, anziché installare in modo permanente i tipi di carattere nel sistema. A causa di tale progettazione, nelle versioni precedenti di Windows, i tipi di carattere sarebbero utilizzabili nelle applicazioni basate su GDI, ma non nelle applicazioni DirectWrite. A partire dall'aggiornamento dell'anniversario di Windows 10, i tipi di carattere caricati da tali utilità saranno disponibili anche in DirectWrite e in GDI.

I tipi di carattere caricati da un'utilità font-service sono visibili nella raccolta di tipi di carattere di sistema ottenuta chiamando il metodo IDWriteFactory::GetSystemFontCollection. Poiché i servizi dei tipi di carattere seguono in genere un modello di licenza per utente, i tipi di carattere caricati da queste utilità vengono gestiti in base all'utente. Di conseguenza, le applicazioni DirectWrite esistenti possono utilizzare tipi di carattere ottenuti dagli utenti finali usando tali servizi, senza apportare modifiche al codice necessarie nell'applicazione, offrendo un'esperienza più semplice per gli utenti.

Supporto per le raccolte OpenType con struttura CFF

I formati dei tipi di carattere OpenType e TrueType hanno a lungo supportato la possibilità di creare un pacchetto di più tipi di carattere in un unico file di carattere, noto come "raccolta di caratteri". La specifica OpenType ha sempre consentito ai tipi di carattere di usare formati TrueType o CFF per i dati struttura del glifo. Fino a poco tempo fa, tuttavia, la specifica è consentita solo per le raccolte in cui i contorni del glifo usano il formato TrueType. OpenType versione 1.7 consente ora alle raccolte di usare formati TrueType o CFF per i dati struttura del glifo. A partire dall'aggiornamento dell'anniversario di Windows 10, DirectWrite supporterà le raccolte OpenType usando i dati struttura CFF.

Windows 10

Integrazione del servizio tipi di carattere di Windows

A partire da Windows 10, i tipi di carattere inclusi in Windows sono disponibili in un servizio online e sono accessibili tramite DirectWrite in qualsiasi dispositivo Windows 10. Questo vale per tutte le edizioni di Windows 10. Ciò consente alle applicazioni di visualizzare il contenuto usando qualsiasi tipo di carattere di Windows anche se il tipo di carattere non è attualmente installato nel dispositivo.

Il supporto per i meccanismi del servizio tipi di carattere DirectWrite è stato implementato nel framework XAML, il che significa che tutte le applicazioni che usano XAML non richiedono modifiche al codice per sfruttare i vantaggi del servizio tipi di carattere. L'esempio di codice Dei tipi di carattere scaricabili (XAML) illustra questa operazione. Le applicazioni che chiamano direttamente le API DirectWrite dovranno usare nuove API per usare i meccanismi del servizio tipi di carattere. Per ulteriori informazioni, vedi gli argomenti seguenti:

L'esempio di codice Tipi di carattere scaricabili (DirectWrite) illustra l'uso di diverse api.

API set di tipi di carattere

Le interfacce della raccolta di tipi di carattere di DirectWrite offrono una visualizzazione a una raccolta di tipi di carattere organizzati dalle famiglie di tipi di carattere, usando spessore, estendere e stile come attributi della sottofase. Internamente, DirectWrite implementa l'interfaccia della raccolta di tipi di carattere usando un elenco semplice di tipi di carattere con vari attributi. Questo approccio è più flessibile in quanto in può supportare l'enumerazione di famiglie peso/estensione/stile, ma può anche supportare l'esecuzione di query e filtri usando anche altri attributi del tipo di carattere.

In Windows 10 questo meccanismo di gestione dei tipi di carattere più flessibile viene reso disponibile alle applicazioni tramite IDWriteFontSet e le API correlate. Le API del set di tipi di carattere possono essere usate, ad esempio, per creare un'interfaccia utente personalizzata di selezione tipi di carattere sfruttando le proprietà dei tipi di carattere personalizzate dall'applicazione in un set di caratteri personalizzato.

Per ulteriori informazioni, vedi gli argomenti seguenti:

Nuove modalità di spaziatura linea layout testo

Le interfacce di formato testo e layout di testo di DirectWrite supportano nuove modalità di spaziatura riga. Nelle versioni precedenti, l'implementazione del layout di testo di DirectWrite ha consentito l'interlinea in cui l'altezza di ogni riga è stata impostata automaticamente in base all'elemento più alto all'interno di una riga (modalità "predefinita") o all'interlinea con tutte le righe impostate su un'altezza uniforme determinata dall'applicazione (modalità "uniforme"). In Windows 10 è supportata una modalità di spaziatura linea "proporzionale" aggiuntiva che offre alle applicazioni più opzioni per il comportamento di spaziatura linea. Per ulteriori informazioni, vedi gli argomenti seguenti:

L'esempio di codice Spaziatura linea (DirectWrite) illustra l'uso di diverse API e offre anche una visualizzazione di tutte le diverse modalità di spaziatura riga che semplifica notevolmente la comprensione delle varie opzioni di spaziatura linea disponibili.

Interoperabilità GDI

Sin dall'introduzione in Windows 7, DirectWrite ha fornito un percorso di migrazione per le applicazioni implementate originariamente usando il modello di carattere GDI, il layout e il rendering del testo. Questa operazione è stata fornita tramite l'interfaccia [[IDWriteGdiInterop]]. In Windows 10, le API aggiuntive offrono funzionalità di interoperabilità GDI aggiuntive. Per altre informazioni, vedere l'argomento seguente:

Windows 8.1

Rendering dei tipi di carattere a colori

A partire da Windows 8.1, DirectWrite fornisce il supporto per i tipi di carattere a colori. Direct2D, che usa DirectWrite per il rendering del testo, ha aggiunto il valore di enumerazione D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT per abilitare questa funzionalità durante il disegno del testo. Per ulteriori informazioni, vedi gli argomenti seguenti:

Windows 8

Nuova interfaccia factory, IDWriteFactory1, per la creazione di interfacce aggiuntive disponibili.

Proprietà aggiuntive del tipo di carattere, ad esempio: super/pedice, pendenza del cursore, PANO edizione Standard e intervalli Unicode.

Miglioramenti della spaziatura, ad esempio: spaziatura dei caratteri di controllo, coppie di crenatura legacy e giustificazione. Per altre informazioni, vedi l'argomento Giustificazione, Crenatura e Spaziatura .

Sono stati migliorati i parametri e le destinazioni di rendering.

Miglioramenti dell'analisi della complessità del testo.

Nuove proprietà dello script, nuovo supporto di script (Unicode 6), aggiunte di fallback dei tipi di carattere, parentesi abbinate e aumento bidi.

Miglioramenti delle prestazioni della cache dei tipi di carattere. A partire da Windows 8, la cache dei tipi di carattere è globale e viene avviata all'avvio del computer.

Nuove modalità di rendering.

A partire da Windows 8, DirectWrite supporta una serie di funzionalità che consentono di creare app per il mercato mondiale.

Ecco alcune aree che consentono di implementare app rtf che possono essere personalizzate per i clienti in tutto il mondo.

Estensioni cinese, giapponese e coreana C & D

Ogni pochi anni, il Consorzio Unicode rilascia un elenco standardizzato di aggiunte al blocco Ideografo cinese, giapponese e coreano. Con la revisione Unicode 6.0, hanno rilasciato blocchi di estensione C e D. Questi blocchi di ideogrammi sono disponibili nel sito Web Unicode Extension C e Extension D.

A partire da Windows 8, DirectWrite supporta i punti di codice Unicode per questi nuovi blocchi di Ideogrammi CJK standardizzati, in modo da poterli usare nelle app DirectWrite.

Simbolo della rupia indiana

Nel marzo del 2005, il governo indiano ha annunciato una competizione per scegliere un simbolo per la valuta della rupia indiana. Dopo molte competizioni, il 15 luglio 2010, il governo indiano ha scelto il design creato da D. Udaya Kumar e DirectWrite include il supporto per il punto di codice Unicode associato al simbolo. Quindi, le app DirectWrite ora supportano questo simbolo di valuta.

Emoji

DirectWrite supporta ora l'uso di emoji nelle app. Le versioni precedenti di DirectWrite, presentate con una casella del glifo mancante se si tenta di eseguire il rendering di un ideografo emoji. A partire da Windows 8, DirectWrite supporta il blocco di codice Unicode associato all'emoji, quindi se l'app usa i punti di codice standard Unicode per emoji, visualizza i glifi appropriati.

Myanmar, Tiffinagh e Old Hangul

A partire da Windows 8, DirectWrite supporta il blocco di punti di codice Unicode che corrispondono ai glifi nelle lingue Myanmar, Tiffinagh e Old Hangul, in modo da poter creare app che includono testo da queste tre lingue. Oltre a supportare questi caratteri, DirectWrite supporta il modo univoco in cui Old Hangul gestisce l'interruzione di riga.

Nuovi script

A partire da Windows 8, il metodo GetScriptProperties restituisce informazioni per diversi nuovi script. Ecco l'elenco degli script supportati da DirectWrite in Windows 8 e versioni successive.

  • Avestico
  • Bamum
  • Batak
  • Brahmi
  • Geroglifici egiziani
  • Aramaico imperiale
  • Pahlavi iscrizione
  • Parthiano scritta
  • Giavanese
  • Kaithi
  • Lisu (Fraser)
  • Mandaico
  • Meetei Mayek
  • Antico Sud Arabo
  • Turco antico (Orkhon)
  • Samaritano
  • Tai Tham (Lanna)
  • Tai Viet