Javaを使用してTTFをWOFFおよびWOFF2に変換します。

WOFF(Web Open Font Format)は基本的にTTF(True Type Font)ですが、フォーマット固有の圧縮と追加のXMLメタデータが含まれています。 WOFF2は、WOFFの拡張バージョンです。 WOFFと比較してより多くの圧縮を提供します。 WOFFとWOFF2の両方がWebページで使用されます。一方、TTF(True Type Font)は、すべてのデジタルプラットフォームで正常に機能し、画面上および印刷されたドキュメントで優れた品質を提供します。場合によっては、JavaアプリケーションでプログラムによってTrueTypeフォントをWebフォントに変換する必要があります。この記事では、Javaを使用してTTFをWOFFおよびWOFF2に変換する方法を学習します。

この記事では、次のトピックについて説明します。

TTFをWOFF&WOFF2に変換するJava API

TTFをWOFFに変換するには、Aspose.Font for JavaAPIを使用します。フォントファイル定義を表す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クラスオブジェクトを、フォントタイプをTTFとして、FontFileDefinitionオブジェクトで初期化します。
  • その後、FontDefinitionオブジェクトを引数としてFontOpen()メソッドを使用してフォントを開きます。
  • 最後に、SaveToFormat()メソッドを呼び出して保存します。出力ファイルパスとFontSavingFormatsを引数としてWOFFに取ります。

次のコードサンプルは、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);

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにライブラリを試すことができます。

結論

この記事では、JavaでTrueTypeフォントをWebOpenFontに変換する方法を学びました。プログラムでTTFをWOFF2として保存する方法も見てきました。さらに、ドキュメントを使用して、Aspose.Font forJavaAPIの詳細を学ぶことができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目