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