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