Converti TTF in WOFF e WOFF2 usando Java.

WOFF (Web Open Font Format) è fondamentalmente un TTF (True Type Font) ma contiene una compressione specifica del formato e metadati XML aggiuntivi. WOFF2 è una versione estesa di WOFF. Offre una maggiore compressione rispetto a WOFF. Sia WOFF che WOFF2 sono usati nelle pagine web. D’altra parte, TTF (True Type Font) funziona bene su tutte le piattaforme digitali e offre un’eccellente qualità sullo schermo e nei documenti stampati. In alcuni casi, potrebbe essere necessario convertire i caratteri true-type in caratteri Web a livello di codice nelle applicazioni Java. In questo articolo impareremo come convertire TTF in WOFF e WOFF2 usando Java.

In questo articolo verranno trattati i seguenti argomenti:

API Java per convertire TTF in WOFF e WOFF2

Per convertire TTF in WOFF, utilizzeremo l’API Aspose.Font for Java. Fornisce la classe FontFileDefinition che rappresenta la definizione del file Font. Fornisce inoltre la classe FontDefinition che rappresenta la definizione del set di file Font e fornisce i dettagli di base del Font, come nome, tipo, ecc. Il metodo Open() di questa classe restituisce FontDefinition per il file e il tipo di carattere. Possiamo convertire il font caricato in altri formati usando il metodo SaveToFormat() della classe Font. Inoltre, l’API consente di caricare, salvare ed estrarre informazioni da tipi di font supportati.

Si prega di scaricare il JAR dell’API o aggiungere la seguente configurazione pom.xml in un’applicazione Java basata su Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-font</artifactId>
    <version>21.12</version>
    <type>pom</type>
</dependency>

Converti TTF in WOFF usando Java

Possiamo facilmente convertire True Type Fonts (TTF) in Web Open Font Format (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 utilizzando Java.

// Questo esempio di codice mostra come convertire TTF in WOFF.
// Percorso del file TTF
String fontPath = "C:\\Files\\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 = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);

// Converti TTF in WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);

Converti TTF in WOFF2 usando Java

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 utilizzando Java.

// Questo esempio di codice mostra come convertire TTF in WOFF2.
// Percorso del file TTF
String fontPath = "C:\\Files\\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 = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(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 Java. Abbiamo anche visto come salvare TTF come WOFF2 a livello di codice. Inoltre, puoi saperne di più su Aspose.Font per l’API Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche