WOFF (формат відкритого веб-шрифту) в основному є TTF (шрифтом справжнього типу), але він містить стиснення для певного формату та додаткові метадані XML. WOFF2 є розширеною версією WOFF. Він пропонує більше стиснення порівняно з WOFF. І WOFF, і WOFF2 використовуються на веб-сторінках. З іншого боку, TTF (True Type Font) добре працює на всіх цифрових платформах і забезпечує чудову якість на екрані та в друкованих документах. У певних випадках нам може знадобитися програмно перетворити справжні шрифти на веб-шрифти в програмах Java. У цій статті ми дізнаємося, як конвертувати TTF у WOFF і WOFF2 за допомогою Java.
У цій статті будуть розглянуті такі теми:
- Java API для перетворення TTF у WOFF і WOFF2
- Перетворення TTF на WOFF за допомогою Java
- Перетворення TTF на 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 за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на форумі.