Перетворення шрифтів. Додаткові відомості | Java
У деяких випадках є сенс прочитати/змінити перетворені дані шрифту перед збереженням шрифту.
Для таких випадків розроблено метод com.aspose.font.Font.convert(FontType fontType). Цей метод перетворює шрифт у вказаний тип і повертає об’єкт, успадкований від класу com.aspose.font.Font, який відповідає значенню FontType, переданому в метод convert().
Наступна таблиця показує карту узгодженості між значеннями FontType та об’єктами, успадкованими від базового класу com.aspose.font.Font.
| Font type | Font object |
|---|---|
TTF | com.aspose.font.TtfFont |
Type1 | com.aspose.font.Type1Font |
CFF | com.aspose.font.CffFont |
OTF | com.aspose.font.TtfFont |
Використовуйте об’єкт результуючого шрифту, щоб отримати доступ до властивостей шрифту або змінити їх перед збереженням результуючого шрифту або замість збереження результуючого шрифту.
На даний момент метод convert() підтримує конвертацію лише у формат шрифту TrueType (FontType.TTF), тому завжди повертає об’єкт типу TtfFont як результат перетворення незалежно від використовуваного вихідного шрифту.
Наступний фрагмент коду завантажує шрифт CFF CenturyGothic з диска, перетворює його у формат TrueType і змінює назву перетвореного шрифту на CenturyGothic_Converted.
Спочатку використовуйте наступні твердження:
1
2 package com.aspose.font;
3
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.nio.file.Files;
7 import java.nio.file.Paths;
8
9 import com.aspose.font.ByteContentStreamSource;
10 import com.aspose.font.FileSystemStreamSource;
11 import com.aspose.font.Font;
12 import com.aspose.font.FontDefinition;
13 import com.aspose.font.FontFileDefinition;
14 import com.aspose.font.FontSavingFormats;
15 import com.aspose.font.FontType;
16 import com.aspose.font.TtfFont;Виконайте наступні дії:
- Відкрийте шрифт.
- Перетворіть шрифт у формат
TrueType. - Змініть назву конвертованого шрифту.
- Повідомте налаштування виводу.
- Збережіть результат із щойно зміненою назвою.
1String fontPath = Paths.get(getDataDir(), "..", "CFF", "29645.cff").normalize().toString();
2FontDefinition fontDefinition = new FontDefinition(FontType.CFF,
3 new FontFileDefinition("cff", new FileSystemStreamSource(fontPath)));
4Font font = Font.open(fontDefinition);
5
6TtfFont destFont = (TtfFont) font.convert(FontType.TTF);
7destFont.setFontName(font.getFontName() + "_Converted");
8String outPath = Paths.get(getOutputDir(), "CffToTtf_out.ttf").toString();
9destFont.save(outPath);The full range of examples for using Aspose.Font для Java is placed in Aspose.Font.Examples.sln solution, in the java-examples folder of the Aspose.Font Documentation github repository.