
I caratteri definiscono la rappresentazione grafica di un singolo carattere nel testo, come dimensioni, stile di visualizzazione, peso, colore, ecc. TTF (True Type Font) funziona bene su tutte le piattaforme digitali e offre una qualità eccellente su schermo e nei documenti stampati. D’altra parte, il WOFF (Web Open Font Format) è usato principalmente nelle pagine web. Contiene compressione specifica del formato e metadati XML aggiuntivi. In alcuni casi, potrebbe essere necessario convertire i caratteri true-type in caratteri Web. In questo articolo impareremo come convertire TTF in WOFF usando C#.
In questo articolo verranno trattati i seguenti argomenti:
API di conversione da C# da TTF a WOFF
Per convertire TTF in WOFF, utilizzeremo l’API Aspose.Font for .NET. Consente di caricare, salvare ed estrarre informazioni da tipi di font supportati. Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.
PM> Install-Package Aspose.Font
Converti TTF in WOFF usando C#
Possiamo facilmente convertire True Type Fonts (TTF) in Web Open Fonts (WOFF) seguendo i passaggi indicati di seguito:
- Innanzitutto, carica il file del carattere utilizzando la classe FileSystemStreamSource.
- Quindi, crea un’istanza della classe FontFileDefinition con l’oggetto del file di origine come argomento.
- Quindi, inizializzare l’oggetto classe FontDefinition con il tipo di carattere come oggetto TTF e FontFileDefinition.
- Dopodiché, apri il font usando il metodo Font.Open() con l’oggetto FontDefinition come argomento.
- Infine, chiama il metodo SaveToFormat() per salvarlo. Prende il percorso del file di output e FontSavingFormats su WOFF come argomenti.
Nell’esempio di codice seguente viene illustrato come convertire TTF in WOFF usando C#.
// Questo esempio di codice mostra come convertire TTF in WOFF.
// Percorso del file TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";
// Carica il file Font
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Crea la definizione del file dei caratteri
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Crea la definizione del carattere
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Apri carattere
Font font = Font.Open(fontDefinition);
// Percorso di uscita WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);
// Converti TTF in WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);
Converti TTF in WOFF2 in C#
WOFF2 è una versione aggiornata di WOFF. Offre una maggiore compressione grazie alla dimensione del file inferiore e offre prestazioni migliori per i browser moderni. Possiamo anche convertire TTF in WOFF2 seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo impostare FontSavingFormats come WOFF2 nell’ultimo passaggio.
Nell’esempio di codice seguente viene illustrato come convertire TTF in WOFF2 usando C#.
// Questo esempio di codice mostra come convertire TTF in WOFF2.
// Percorso del file TTF
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";
// Carica il file Font
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Crea la definizione del file dei caratteri
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// Crea la definizione del carattere
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// Apri carattere
Font font = Font.Open(fontDefinition);
// Percorso di uscita WOFF
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);
// Converti TTF in WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);
Ottieni una licenza gratuita
Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.
Conclusione
In questo articolo, abbiamo imparato come convertire i caratteri True Type in caratteri Web Open in C#. Abbiamo anche visto come salvare TTF come WOFF2 a livello di codice. Inoltre, puoi saperne di più su Aspose.Font per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.