Перетворення шрифтів. Додаткові відомості | 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
. - Змініть назву конвертованого шрифту.
- Повідомте налаштування виводу.
- Збережіть результат із щойно зміненою назвою.
1
2 // Open cff font
3 String fontPath = Paths.get(getDataDir(), "CenturyGothic.cff").toString();
4 FontDefinition fontDefinition = new FontDefinition(FontType.CFF, new FontFileDefinition("cff", new FileSystemStreamSource(fontPath)));
5 Font font = Font.open(fontDefinition);
6
7 //Convert font into TrueType format and cast font returned to com.aspose.font.TtfFont
8 Font destFont = (TtfFont)font.convert(FontType.TTF);
9
10 //Change name of converted font
11 destFont.setFontName("CenturyGothic_Converted");
12
13 // Output Ttf settings
14 String outPath = Paths.get(getOutputDir(), "CffToTtf_out.ttf").toString();
15
16 //Save the resultant font with the changed font name
17 destFont.save(outPath);
The full range of examples for using Aspose.Font for Java is placed in Aspose.Font.Examples.sln solution, in the java-examples folder of the Aspose.Font Documentation github repository.