Преобразование шрифтов. Дополнительные сведения | 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.