Перетворення TTF на WOFF і WOFF2 за допомогою Java.

WOFF (формат відкритого веб-шрифту) в основному є TTF (шрифтом справжнього типу), але він містить стиснення для певного формату та додаткові метадані XML. WOFF2 є розширеною версією WOFF. Він пропонує більше стиснення порівняно з WOFF. І WOFF, і WOFF2 використовуються на веб-сторінках. З іншого боку, TTF (True Type Font) добре працює на всіх цифрових платформах і забезпечує чудову якість на екрані та в друкованих документах. У певних випадках нам може знадобитися програмно перетворити справжні шрифти на веб-шрифти в програмах Java. У цій статті ми дізнаємося, як конвертувати TTF у WOFF і WOFF2 за допомогою Java.

У цій статті будуть розглянуті такі теми:

Java API для перетворення TTF у WOFF і WOFF2

Для перетворення TTF у WOFF ми будемо використовувати API Aspose.Font for Java. Він надає клас FontFileDefinition, який представляє визначення файлу шрифту. Він також надає клас FontDefinition, який представляє визначення набору файлів шрифтів і надає основні відомості про шрифт, такі як ім’я, тип тощо. Метод Open() цього класу повертає FontDefinition для файлу шрифту та типу шрифту. Ми можемо конвертувати завантажений шрифт в інші формати за допомогою методу SaveToFormat() класу Font. Крім того, API дозволяє завантажувати, зберігати та видобувати інформацію з підтримуваних типів шрифтів.

Завантажте JAR API або додайте наведену нижче конфігурацію pom.xml у програму Java на основі Maven.

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

Перетворення TTF на WOFF за допомогою Java

Ми можемо легко конвертувати True Type Fonts (TTF) у Web Open Font Format (WOFF), виконавши наведені нижче кроки:

  • По-перше, завантажте файл шрифту за допомогою класу FileSystemStreamSource.
  • Далі створіть екземпляр класу FontFileDefinition з об’єктом вихідного файлу як аргументом.
  • Потім ініціалізуйте об’єкт класу FontDefinition із типом шрифту як TTF і об’єктом FontFileDefinition.
  • Після цього відкрийте шрифт за допомогою методу Font.Open() з об’єктом FontDefinition як аргументом.
  • Нарешті, викличте метод SaveToFormat(), щоб зберегти його. Він бере вихідний шлях до файлу та FontSavingFormats до WOFF як аргументи.

Наступний приклад коду демонструє, як перетворити TTF на WOFF за допомогою Java.

// Цей приклад коду демонструє, як перетворити 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);

Перетворення TTF на WOFF2 за допомогою Java

WOFF2 — це оновлена версія WOFF. Він пропонує більше стиснення, завдяки чому має менший розмір файлу та забезпечує кращу продуктивність для сучасних браузерів. Ми також можемо конвертувати TTF у WOFF2, виконавши кроки, згадані раніше. Однак нам просто потрібно встановити FontSavingFormats як WOFF2 на останньому кроці.

Наступний приклад коду демонструє, як перетворити TTF на WOFF2 за допомогою Java.

// Цей приклад коду демонструє, як перетворити 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 Fonts у Web Open Fonts у Java. Ми також бачили, як програмно зберегти TTF як WOFF2. Крім того, ви можете дізнатися більше про Aspose.Font for Java API за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також