Перетворення шрифтів. Додаткові відомості | Java

У деяких випадках є сенс прочитати/змінити перетворені дані шрифту перед збереженням шрифту.

Для таких випадків розроблено метод com.aspose.font.Font.convert(FontType fontType). Цей метод перетворює шрифт у вказаний тип і повертає об’єкт, успадкований від класу com.aspose.font.Font, який відповідає значенню FontType, переданому в метод convert().

Наступна таблиця показує карту узгодженості між значеннями FontType та об’єктами, успадкованими від базового класу com.aspose.font.Font.

Font typeFont object
TTFcom.aspose.font.TtfFont
Type1com.aspose.font.Type1Font
CFFcom.aspose.font.CffFont
OTFcom.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;

Виконайте наступні дії:

  1. Відкрийте шрифт.
  2. Перетворіть шрифт у формат TrueType.
  3. Змініть назву конвертованого шрифту.
  4. Повідомте налаштування виводу.
  5. Збережіть результат із щойно зміненою назвою.
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.