WOFF(Web Open Font Format) 基本上是 TTF(True Type Font),但它包含特定於格式的壓縮和附加的 XML 元數據。 WOFF2 是 WOFF 的擴展版本。與 WOFF 相比,它提供更多壓縮。 WOFF 和 WOFF2 都用在網頁上。另一方面,TTF(True Type 字體) 在所有數字平台上都能正常工作,並在屏幕和打印文檔中提供出色的質量。在某些情況下,我們可能需要在 Java 應用程序中以編程方式將 True-Type 字體轉換為 Web 字體。在本文中,我們將學習如何使用 Java 將 TTF 轉換為 WOFF 和 WOFF2。
本文應涵蓋以下主題:
將 TTF 轉換為 WOFF 和 WOFF2 的 Java API
為了將 TTF 轉換為 WOFF,我們將使用 Aspose.Font for Java API。它提供了代表字體文件定義的 FontFileDefinition 類。它還提供了表示字體文件集定義的 FontDefinition 類,並提供了字體的基本細節,例如名稱、類型等。此類的 Open() 方法返回字體文件和字體類型的 FontDefinition。我們可以使用 Font 類的 SaveToFormat() 方法將加載的字體轉換為其他格式。此外,API 允許從支持的字體類型 加載、保存和提取信息。
請下載 API 的 JAR 或在基於 Maven 的 Java 應用程序中添加以下 pom.xml 配置。
<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>
使用 Java 將 TTF 轉換為 WOFF
我們可以按照以下步驟輕鬆地將 True Type 字體 (TTF) 轉換為 Web Open Font Format (WOFF):
- 首先,使用 FileSystemStreamSource 類加載字體文件。
- 接下來,使用源文件對像作為參數創建 FontFileDefinition 類的實例。
- 然後,初始化FontDefinition類對象,Font類型為TTF和FontFileDefinition對象。
- 之後,使用 Font.Open() 方法以 FontDefinition 對像作為參數打開字體。
- 最後調用SaveToFormat()方法保存。它以 WOFF 的輸出文件路徑和 FontSavingFormats 作為參數。
以下代碼示例演示瞭如何使用 Java 將 TTF 轉換為 WOFF。
// 此代碼示例演示如何將 TTF 轉換為 WOFF。
// TTF文件路徑
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// 加載字體文件
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// 創建字體文件定義
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// 創建字體定義
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// 打開字體
Font font = Font.open(fontDefinition);
// WOFF輸出路徑
String outPath = "C:\\Files\\TtfToWoff_out1.woff";
FileOutputStream outStream = new FileOutputStream(outPath);
// 將 TTF 轉換為 WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF);
使用 Java 將 TTF 轉換為 WOFF2
WOFF2 是 WOFF 的更新版本。它提供更多的壓縮,因此它的文件大小更小,並為現代瀏覽器提供更好的性能。我們也可以按照前面提到的步驟將 TTF 轉換為 WOFF2。但是,我們只需要在最後一步將 FontSavingFormats 設置為 WOFF2 即可。
以下代碼示例演示瞭如何使用 Java 將 TTF 轉換為 WOFF2。
// 此代碼示例演示如何將 TTF 轉換為 WOFF2。
// TTF文件路徑
String fontPath = "C:\\Files\\Montserrat-Regular.ttf";
// 加載字體文件
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// 創建字體文件定義
FontFileDefinition fileDefinition = new FontFileDefinition(source);
// 創建字體定義
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);
// 打開字體
Font font = Font.open(fontDefinition);
// WOFF輸出路徑
String outPath = "C:\\Files\\TtfToWoff_out1.woff2";
FileOutputStream outStream = new FileOutputStream(outPath);
// 將 TTF 轉換為 WOFF
font.saveToFormat(outStream, FontSavingFormats.WOFF2);
獲得免費許可證
您可以 獲得免費的臨時許可證 來試用該庫,而沒有評估限制。
結論
在本文中,我們學習瞭如何將 True Type 字體轉換為 Java 中的 Web Open 字體。我們還了解瞭如何以編程方式將 TTF 保存為 WOFF2。此外,您可以使用文檔了解更多關於 Aspose.Font for Java API 的信息。如有任何歧義,請隨時在論壇上與我們聯繫。