Завантажити шрифт із файлу CFF | C++
Contents
[
Hide
Show
]На цій сторінці ми розглянемо приклади завантаження шрифту CenturyGothic
, розміщеного у файлі CenturyGothic.cff.
Якщо ви не читали основи завантаження Aspose.Font, перейдіть до Як завантажити шрифти? сторінка.
Спочатку вам потрібно повідомити наступні простори імен у заголовку файлу:
1using namespace Aspose::Font;
2using namespace Aspose::Font::Sources;
3using namespace System.IO;
Завантаження з файлу за допомогою об’єкта FileInfo
Дотримуйтесь алгоритму виконання завантаження шрифту:
- Побудувати шлях до файлу.
- Ініціювати об’єкт
FontDefiniton, передаючи
CFF
як значення FontType. - Отримати автоматично розраховане значення Розширення файлу.
- Завантажте шрифт.
1 // Construct path to the file.
2 System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"CenturyGothic.cff");
3
4 // Initialize FontDefinition object passing CFF as FontType value and using FontFileDefinition
5 // based on FileInfo object, fileExtension value is calculated automatically from FileInfo fields.
6 System::SharedPtr<FontFileDefinition> fileDef = System::MakeObject<FontFileDefinition>(System::MakeObject<System::IO::FileInfo>(fontPath));
7 System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition>(Aspose::Font::FontType::CFF, fileDef);
8
9 // Load the font
10 System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);
Завантаження шрифту за допомогою змінної типу byte[] та використання об’єкта типу ByteContentStreamSource
Щоб завантажити шрифт таким чином, потрібно виконати наступні кроки:
- Побудувати шлях до файлу.
- Ініціалізуйте об’єкт
FontDefiniton, передаючи
CFF
як значення FontType,cff
як значення FileExtension і ByteContentStreamSource об’єкт на основі масиву fontBytes. - Завантажте шрифт.
1 // Construct path to the file
2 System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"CenturyGothic.cff");
3
4 // Load font binary data into byte array
5 System::ArrayPtr<uint8_t> fontBytes = System::IO::File::ReadAllBytes(fontPath);
6
7 // Initialize FontDefinition object passing CFF as FontType value, "cff" as fileExtension value,
8 // and ByteContentStreamSource object based on fontBytes array
9 System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition>(Aspose::Font::FontType::CFF, u"ttf", System::MakeObject<ByteContentStreamSource>(fontBytes));
10
11 // Load font and print results
12 System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);
More examples on how to use Aspose.Font are in Aspose.Font.Examples.CPP.sln solution, in the cpp-examples of the Aspose.Font Documentation.