Converti TTF in WOFF usando C#

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.

Guarda anche