Перетворення шрифтів. Додаткові відомості | 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. Збережіть результат із щойно зміненою назвою.
 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.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.