Konvertera TTF till WOFF och WOFF2 med Java.

WOFF (Web Open Font Format) är i grunden en TTF (True Type Font) men den innehåller formatspecifik komprimering och ytterligare XML-metadata. WOFF2 är en utökad version av WOFF. Den erbjuder mer komprimering jämfört med WOFF. Både WOFF och WOFF2 används på webbsidor. Å andra sidan fungerar TTF (True Type Font) bra på alla digitala plattformar och ger utmärkt kvalitet på skärmen och i tryckta dokument. I vissa fall kan vi behöva konvertera true-type-teckensnitt till webbteckensnitt programmatiskt i Java-applikationer. I den här artikeln kommer vi att lära oss hur man konverterar TTF till WOFF och WOFF2 med Java.

Följande ämnen ska behandlas i den här artikeln:

Java API för att konvertera TTF till WOFF & WOFF2

För att konvertera TTF till WOFF kommer vi att använda Aspose.Font for Java API. Den tillhandahåller FontFileDefinition-klassen som representerar Font-fildefinition. Den tillhandahåller också FontDefinition-klassen som representerar teckensnittsfiluppsättningsdefinitionen och ger grundläggande detaljer om teckensnittet, såsom namn, typ, etc. Open()-metoden för den här klassen returnerar FontDefinition för teckensnittsfil och teckensnittstyp. Vi kan konvertera det inlästa teckensnittet till andra format med hjälp av metoden SaveToFormat() i Font-klassen. Dessutom tillåter API:et att ladda, spara och extrahera information från typsnittstyper som stöds.

Vänligen antingen ladda ner JAR för API:t eller lägg till följande pom.xml-konfiguration i en Maven-baserad Java-applikation.

<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>

Konvertera TTF till WOFF med Java

Vi kan enkelt konvertera True Type Fonts (TTF) till Web Open Font Format (WOFF) genom att följa stegen nedan:

  • Ladda först teckensnittsfilen med klassen FileSystemStreamSource.
  • Skapa sedan en instans av klassen FontFileDefinition med källfilobjektet som ett argument.
  • Initiera sedan klassobjektet FontDefinition med typsnitt som TTF och FontFileDefinition-objekt.
  • Därefter öppnar du teckensnittet med metoden Font.Open() med FontDefinition-objektet som argument.
  • Till sist, anropa metoden SaveToFormat() för att spara den. Den tar utdatafilens sökväg och FontSavingFormats till WOFF som argument.

Följande kodexempel visar hur man konverterar TTF till WOFF med Java.

// Detta kodexempel visar hur man konverterar TTF till WOFF.
// TTF-filsökväg
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// Ladda teckensnittsfilen
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Skapa typsnittsfildefinition
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Skapa teckensnittsdefinition
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Öppna teckensnitt
Font font = Font.open(fontDefinition);

// WOFF-utgångsväg
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);

// Konvertera TTF till WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);

Konvertera TTF till WOFF2 med Java

WOFF2 är en uppdaterad version av WOFF. Den erbjuder mer komprimering på grund av vilken den är mindre i filstorlek och ger bättre prestanda för moderna webbläsare. Vi kan också konvertera TTF till WOFF2 genom att följa stegen som nämnts tidigare. Men vi behöver bara ställa in FontSavingFormats som WOFF2 i det sista steget.

Följande kodexempel visar hur man konverterar TTF till WOFF2 med Java.

// Detta kodexempel visar hur man konverterar TTF till WOFF2.
// TTF-filsökväg
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";

// Ladda teckensnittsfilen
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// Skapa typsnittsfildefinition
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// Skapa teckensnittsdefinition
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// Öppna teckensnitt
Font font = Font.open(fontDefinition);

// WOFF-utgångsväg
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);

// Konvertera TTF till WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF2);

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man konverterar True Type-teckensnitt till webböppna teckensnitt i Java. Vi har också sett hur man sparar TTF som WOFF2 programmatiskt. Dessutom kan du lära dig mer om Aspose.Font för Java API med hjälp av dokumentationen. I händelse av oklarheter, var god kontakta oss på forumet.

Se även