Завантаження файлів шрифтів з масиву байтів
C++ API рішення для завантаження шрифтів TTF, WOFF, EOT, Type 1 та CFF з MemoryStream.
Aspose.Font API рішення надає вам широкі можливості для роботи зі шрифтами, включаючи конвертацію, маніпуляцію гліфами, виявлення латинських символів та багато іншого. Однак перший крок у роботі зі шрифтами — це завантаження файлів шрифтів для подальшого використання.
У цій статті викладено, як завантажити файли шрифтів з потоків, але для більш детальної інформації про завантаження шрифтів зверніться до статті How to Load Files? . Там ви знайдете безліч прикладів коду C++ та зрозумієте об’єкти і параметри, необхідні для завантаження шрифтів.
API підтримує кілька форматів шрифтів, включаючи TrueType (один шрифт), TrueType (колекція шрифтів), Web Open Font Format, Web Open Font Format версії 2.0, Embedded OpenType, Adobe Type 1 (pfa, pfb, afm, pfm) та Compact Font Format. Наведені фрагменти коду демонструють, як завантажити файл True Type Font (TTF) з потоку.
Як ми можемо дізнатися з Wikipedia , TTF означає TrueType Font і є форматом файлів масштабованих комп’ютерних шрифтів. Спочатку його розробила компанія Apple Computer, але зараз він широко використовується як у macOS, так і у Windows. Файли TTF містять інструкції щодо відображення кожного символу шрифту при різних розмірах та стилях, їх можна легко масштабувати та використовувати в різних додатках без втрати якості. Шрифти TTF широко застосовуються в цифровій типографії та часто використовуються у веб-дизайні, текстових процесорах та настільній видавничій справі.
Для завантаження шрифтів вам знадобиться Aspose.Font для C++ API, потужний і простий у використанні API для маніпулювання документами та конвертації на платформі C++. Щоб отримати API, відкрийте менеджер пакетів NuGet, знайдіть Aspose.Font та встановіть його. Ви також можете використати наступну команду в консолі диспетчера пакетів.
Package Manager Console Command
PM> Install-Package Aspose.Font
Завантаження TTF з масиву байтів/MemoryStream за допомогою C++
Цей фрагмент коду написаний на C++ і демонструє, як завантажити файл TrueType Font (TTF) за допомогою Aspose.Font API. Код виконує наступні кроки:
- Створіть шлях до файлу шрифту. Тут DataDir — заздалегідь визначена змінна, що містить шлях до каталогу, у якому розташований файл шрифту Montserrat-Regular.ttf. Метод Path.Combine об’єднує два шляхи, створюючи повний шлях до файлу шрифту.
- Завантажте двійкові дані шрифту у масив байтів. Метод File.ReadAllBytes() читає вміст файлу шрифту та повертає дані у вигляді масиву байтів.
- Ініціалізуйте об’єкт FontDefinition . FontType.TTF вказує, що файл шрифту є TrueType Font (.ttf), а новий ByteContentStreamSource (fontBytes) створює об’єкт ByteContentStreamSource на основі двійкових даних шрифту, що зберігаються у масиві fontBytes.
- Завантажте шрифт. Метод Font.Open() приймає об’єкт FontDefinition як параметр і повертає завантажений шрифт, який потім можна використовувати для подальших маніпуляцій.
C++ код для завантаження шрифтів з потоку
using Aspose::Font;
using Aspose::Font::Sources;
using Aspose::Font::Ttf; // Construct the path to the file
System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"Montserrat-Regular.ttf");
// Load font binary data into the byte array
System::ArrayPtr<uint8_t> fontBytes = System::IO::File::ReadAllBytes(fontPath);
// Initialize the FontDefinition object passing TTF as the FontType value, "ttf" as the fileExtension value,
// and ByteContentStreamSource object based on the fontBytes array
System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition (Aspose::Font::FontType::TTF, u"ttf", System::MakeObject<ByteContentStreamSource>(fontBytes));
// Load the font
System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);