TTF- und OTF-Schriftarten in Java laden und speichern
Verwalten, untersuchen, modifizieren und speichern Sie TrueType- (.ttf) und OpenType- (.otf) Schriftarten mühelos in Ihren Java-Anwendungen. Aspose.Font für Java bietet eine robuste, hochperformante API zum Laden von Schriftdateien aus lokalem Speicher oder Bytestreams, Extrahieren von Metadaten und Speichern aktualisierter Schriftstrukturen – ganz ohne Abhängigkeiten von nativen Schrift-Engines des Betriebssystems.
TrueType und OpenType sind die Standard-Schriftformate auf modernen Betriebssystemen, Webanwendungen und Workflows im digitalen Publishing. Die programmatische Schriftverarbeitung ermöglicht zentrale Unternehmensfunktionen:
- Dynamische Schriftdateimanipulation: - TTF/OTF-Schriftarten direkt von der Festplatte, aus Datenbankstreams oder Speicherpuffern lesen.
- Schriftinspektion und Metadatenextraktion: - Zugriff auf Schriftheaderdaten, Zeichentabellen, Glyphendefinitionen und Lizenzinformationen.
- Plattformübergreifende Kompatibilität: - Ausführung von Schriftverarbeitungs-Workloads nahtlos unter Linux, Windows, macOS und Cloud-Bereitstellungsumgebungen.
- Keine nativen Abhängigkeiten: - Beseitigt die Abhängigkeit von betriebssystemspezifischen Schriftinstallationsskripten oder GUI-Grafiktreibern (wie GDI oder X11).
Kernfunktionen für das Rendering
Laden aus Streams und von der Festplatte - Öffnen Sie TTF- und OTF-Dateien mit FileSystemStreamSource oder ByteContentStreamSource.
Zugriff auf Metadaten und Metriken - Untersuchen Sie Glyphenmetriken, Zeichenbreiten (Advance Widths), Bounding Boxes und Schriftnamens-Tabellen.
Exportieren und Speichern von Schriftdaten - Ändern Sie Schriftparameter und serialisieren Sie aktualisierte Schriftobjekte direkt wieder auf die Festplatte oder in Streams.
Optionen zur Formatkonvertierung - Konvertieren Sie TrueType-/OpenType-Schriftarten in moderne Webformate wie WOFF, WOFF2 oder SVG.
So laden Sie eine TrueType-Schriftart in Java
Das Laden einer TrueType- oder OpenType-Schriftart erfordert das Instanziieren einer FontDefinition mit dem entsprechenden FontType und das Öffnen der Schriftart über die Font-Factory-Klasse.
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());
}
}So speichern Sie eine TrueType-Schriftart in Java
Nachdem eine Schriftart in den Speicher geladen und Daten extrahiert oder modifiziert wurden, können Sie die Schriftart wieder auf dem lokalen Festplattenspeicher speichern oder in einen Ausgabe-Bytestream schreiben.
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);
}
}Installation und Einrichtung
Binden Sie Aspose.Font für Java über Maven in Ihr Projekt ein.
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>
Häufig gestellte Fragen
1. Kann ich OpenType-Schriftarten (.otf) mit denselben Methoden wie TrueType-Schriftarten laden?
Ja. Aspose.Font for Java unterstützt sowohl TrueType- (.ttf) als auch OpenType- (.otf) Schriftartformate über die TtfFont- und FontDefinition-Architektur.
2. Erfordert das Laden und Speichern von Schriftarten die Installation der Schriftarten auf dem Host-Betriebssystem?
Nein. Aspose.Font for Java liest Schriftartstrukturen direkt als Dateistreams oder Bytepuffer. Es arbeitet unabhängig und erfordert keine Installation der Schriftart in Systemverzeichnissen.
3. Kann ich TTF- oder OTF-Schriftarten in webtaugliche Formate wie WOFF oder SVG konvertieren?
Ja. Aspose.Font for Java bietet integrierte Konvertierungsfunktionen, um geladene TrueType- und OpenType-Schriftarten in WOFF-, WOFF2-, SVG- und CFF-Formate umzuwandeln.