Загрузить шрифт из файла TTF | Java
Contents
[
Hide
Show
]Здесь вы найдете четыре примера загрузки шрифта из файла Montserrat-Regular.ttf, выполненные разными способами.
Сначала убедитесь, что вы изучили основы загрузки на странице Как загрузить шрифты?.
Используйте следующие утверждения:
1 package com.aspose.font;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.nio.file.Files;
6 import java.nio.file.Paths;
7
8 import com.aspose.font.ByteContentStreamSource;
9 import com.aspose.font.FileSystemStreamSource;
10 import com.aspose.font.Font;
11 import com.aspose.font.FontDefinition;
12 import com.aspose.font.FontFileDefinition;
13 import com.aspose.font.FontType;
Загрузка из файла с использованием объекта FileSystemStreamSource
Для выполнения операции выполните следующие действия:
- Постройте путь к файлу.
- Инициализируйте объект FontDefiniton.
- Установите для
fileExtension значение
ttf
. - Загрузите шрифт.
1 // Construct path to the file
2 String fontPath = Paths.get(getDataDir(), "Montserrat-Regular.ttf").toString();
3
4 // Initialize FontDefinition object passing TTF as FontType value and using FontFileDefinition
5 FontFileDefinition fileDef = new FontFileDefinition("ttf", new FileSystemStreamSource(fontPath));
6
7 // Based on FileSystemStreamSource object, set fileExtension to "ttf"
8 FontDefinition fontDef = new FontDefinition(FontType.TTF, fileDef);
9
10 // Load the font
11 Font font = Font.open(fontDef);
Загрузка из файла с использованием объекта java.io.File
Для выполнения загрузки сделайте следующее:
- Постройте путь к файлу.
- Инициируйте объект
FontDefiniton, передав
TTF
в качестве значения FontType. - Получите автоматически рассчитанное значение fileExtension.
- Загрузите шрифт.
1 // Construct path to the file
2 String fontPath = Paths.get(getDataDir(), "Montserrat-Regular.ttf").toString();
3
4 // Initialize FontDefinition object passing TTF as FontType value and using FontFileDefinition
5 FontFileDefinition fileDef = new FontFileDefinition(new File(fontPath));
6
7 // Based on FileInfo object, fileExtension value is calculated automatically from FileInfo fields.
8 FontDefinition fontDef = new FontDefinition(FontType.TTF, fileDef);
9
10 // Load the font
11 Font font = Font.open(fontDef);
Загрузка из файла с исключением объекта FontFileDefinition из цепочки инициализации
Чтобы загрузить шрифт таким образом, необходимо выполнить следующие действия:
- Постройте путь к файлу.
- Инициируйте объект
FontDefiniton, передав
TTF
как значение FontType,ttf
как значение fileExtension и объект FileSystemStreamSource. . Параметр fileExtension здесь не является повторяющимся значением параметра FontType. - Загрузите шрифт.
1 // Construct path to the file
2 String fontPath = Paths.get(getDataDir(), "Montserrat-Regular.ttf").toString();
3
4 // Initialize FontDefinition object passing TTF as FontType value, "ttf" as fileExtension value,
5 // and FileSystemStreamSource object. Parameter 'fileExtension' here is not duplicate value
6 // for parameter 'FontType' and it's needed for correct font format detection
7 FontDefinition fontDef = new FontDefinition(FontType.TTF, "ttf", new FileSystemStreamSource(fontPath));
8
9 // Load the font
10 Font font = Font.open(fontDef);
Загрузка шрифта из байтового массива
Чтобы загрузить шрифт из массива байтов:
- Постройте путь к файлу.
- Загрузите двоичные данные шрифта в массив байтов.
- Инициализируйте объект
FontDefiniton, передав
TTF
как значение FontType,ttf
как значение fileExtension и ByteContentStreamSource. объект на основе массива fontBytes. - Загрузите шрифт.
1 // Construct path to the file
2 String fontPath = Paths.get(getDataDir(), "Montserrat-Regular.ttf").toString();
3
4 // Load font binary data into byte array
5 byte[] fontBytes = Files.readAllBytes(Paths.get(fontPath));
6
7 // Initialize FontDefinition object passing TTF as FontType value, "ttf" as fileExtension value,
8 // and ByteContentStreamSource object based on fontBytes array
9 FontDefinition fontDef = new FontDefinition(FontType.TTF, "ttf", new ByteContentStreamSource(fontBytes));
10
11 // Load the font
12 Font font = Font.open(fontDef);
You can get examples on how to use Aspose.Font in Aspose.Font.Examples.sln solution, in the java-examples of the Aspose.Font Documentation.