Carica e salva font TTF e OTF in Java
Gestisci, ispeziona, modifica e salva facilmente i font TrueType (.ttf) e OpenType (.otf) nelle tue applicazioni Java. Aspose.Font per Java offre un’API robusta e ad alte prestazioni per caricare file di font da memoria locale o stream di byte, estrarre metadati e salvare strutture di font aggiornate, il tutto senza dipendenze dai motori di font nativi del sistema operativo.
TrueType e OpenType sono i formati di font standard nei moderni sistemi operativi, nelle applicazioni web e nei flussi di lavoro dell’editoria digitale. L’elaborazione programmatica dei font abilita funzionalità aziendali fondamentali:
- Manipolazione dinamica dei file di font: - Leggi i font TTF/OTF direttamente dal disco, da stream di database o buffer di memoria.
- Ispezione dei font ed estrazione dei metadati: - Accedi ai dati dell’intestazione del font, alle mappe dei caratteri, alle definizioni dei glifi e alle informazioni sulle licenze.
- Compatibilità multipiattaforma: - Esegui carichi di lavoro di elaborazione dei font senza problemi su ambienti Linux, Windows, macOS e distribuzioni cloud.
- Zero dipendenze native: - Elimina la dipendenza da script di installazione dei font specifici del sistema operativo o da driver grafici della GUI (come GDI o X11).
Funzionalità di rendering principali
Caricamento da stream e disco - Apri file TTF e OTF utilizzando FileSystemStreamSource o ByteContentStreamSource.
Accesso a metadati e metriche - Ispeziona metriche dei glifi, larghezze di avanzamento (advance widths), riquadri di delimitazione (bounding boxes) e tabelle di denominazione dei font.
Esportazione e salvataggio dei dati dei font - Modifica i parametri dei font e serializza gli oggetti font aggiornati direttamente su disco o stream.
Opzioni di conversione del formato - Converti font TrueType/OpenType in formati web moderni come WOFF, WOFF2 o SVG.
Come caricare un font TrueType in Java
Il caricamento di un font TrueType o OpenType richiede l’istanziazione di un FontDefinition con il FontType appropriato e l’apertura del font tramite la classe factory Font.
import com.aspose.font.FileSystemStreamSource;
import com.aspose.font.Font;
import com.aspose.font.FontDefinition;
import com.aspose.font.FontFileDefinition;
import com.aspose.font.FontType;
import com.aspose.font.TtfFont;
public class LoadTrueTypeFont {
public static void main(String[] args) {
// Define path to the TrueType font file (.ttf / .otf)
String fontFilePath = "path/to/Montserrat-Regular.ttf";
// Initialize FontDefinition for TTF font type
FontDefinition fontDef = new FontDefinition(
FontType.TTF,
new FontFileDefinition("ttf", new FileSystemStreamSource(fontFilePath))
);
// Open and load the TtfFont object
TtfFont font = (TtfFont) Font.open(fontDef);
// Access basic font properties
System.out.println("Font Name: " + font.getFontName());
System.out.println("Glyph Count: " + font.getNumGlyphs());
}
}Come salvare un font TrueType in Java
Dopo aver caricato un font in memoria ed aver eseguito l’estrazione o la modifica dei dati, puoi salvare nuovamente il font nella memoria disco locale o scriverlo in uno stream di byte di output.
import com.aspose.font.ByteContentStreamSource;
import com.aspose.font.Font;
import com.aspose.font.FontDefinition;
import com.aspose.font.FontFileDefinition;
import com.aspose.font.FontType;
import com.aspose.font.TtfFont;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class SaveTrueTypeFont {
public static void main(String[] args) throws IOException {
// Read font file into byte array stream
String inputPath = "path/to/source.ttf";
byte[] fontBytes = Files.readAllBytes(Paths.get(inputPath));
// Define font source using ByteContentStreamSource
FontDefinition fontDef = new FontDefinition(
FontType.TTF,
new FontFileDefinition("ttf", new ByteContentStreamSource(fontBytes))
);
// Open TTF font object
TtfFont font = (TtfFont) Font.open(fontDef);
// Perform font processing or inspection here...
// Save the updated TtfFont object back to disk
String outputPath = "path/to/output_saved.ttf";
font.save(outputPath);
System.out.println("TrueType font successfully saved to: " + outputPath);
}
}Installazione e configurazione
Includi Aspose.Font per Java nel tuo progetto tramite Maven.
Package Manager Console Command
<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>Latest</version>
</dependency>
Domande frequenti
1. Posso caricare i font OpenType (.otf) utilizzando gli stessi metodi dei font TrueType?
Sì. Aspose.Font for Java supporta sia i formati di font TrueType (.ttf) che OpenType (.otf) tramite l’architettura TtfFont e FontDefinition.
2. Il caricamento e il salvataggio dei font richiedono l’installazione dei font sul sistema operativo host?
No. Aspose.Font for Java legge le strutture dei font direttamente come flussi di file o buffer di byte. Funziona in modo indipendente senza richiedere l’installazione del font nelle directory di sistema.
3. Posso convertire i font TTF o OTF in formati pronti per il Web come WOFF o SVG?
Sì. Aspose.Font for Java offre funzionalità di conversione integrate per trasformare i font TrueType e OpenType caricati nei formati WOFF, WOFF2, SVG e CFF.