Загрузить файлы шрифтов из массива байтов

C++ API Solution для загрузки шрифтов TTF, WOFF, EOT, Type 1 и CFF из MemoryStream.

 

Aspose.Font API Solution предоставляет вам широкие возможности для работы со шрифтами, включая преобразование, манипулирование глифами, обнаружение латинских символов и многое другое. Но первым шагом в работе со шрифтами является загрузка файлов шрифтов для последующего использования.

В этой статье описывается, как загружать файлы шрифтов из потоков, но для получения более подробной информации о загрузке шрифтов обратитесь к статье Как загрузить файлы? . Там вы найдете множество примеров кода C++ и разберетесь с объектами и параметрами, необходимыми для загрузки шрифта.

API поддерживает несколько форматов шрифтов, в том числе TrueType (отдельный шрифт), TrueType (набор шрифтов), Web Open Font Format, Web Open Font Format версии 2.0, Embedded OpenType, шрифт Adobe Type 1 (pfa, pfb, afm, pfm) и Компактный формат шрифта. Предоставленные фрагменты кода демонстрируют, как загрузить файл шрифта True Type (TTF) из потока.

Как мы можем узнать из Википедии , TTF или TrueType, представляет собой формат файла для масштабируемых компьютерных шрифтов. Первоначально он был разработан Apple Computer, но теперь широко используется в операционных системах Mac и Windows. Файлы TTF содержат инструкции о том, как отображать каждый символ шрифта с разными размерами и стилями шрифта, и их можно легко изменять в размере и использовать в различных приложениях без потери качества. Шрифты TTF широко используются в цифровой типографике и обычно используются в веб-дизайне, обработке текстов и настольных издательских системах.

Для загрузки шрифтов вам понадобится Aspose.Font for C++ API, который представляет собой мощный и простой в использовании API для работы с документами и преобразования для платформы C++. Чтобы получить API, откройте диспетчер пакетов NuGet и найдите Aspose.Font, а затем установите его. Вы также можете использовать следующую команду в консоли диспетчера пакетов.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Загрузить TTF из массива байтов/MemoryStream, используя C++

Этот фрагмент кода написан на C++ и демонстрирует, как загрузить файл шрифта TrueType (TTF) с помощью API Aspose.Font. Код выполняет следующие шаги:

  1. Создайте путь к файлу шрифта. Здесь DataDir — предопределенная переменная, содержащая путь к каталогу, в котором находится файл шрифта Montserrat-Regular.ttf. Метод Path.Combine объединяет два пути для создания полного пути к файлу шрифта.
  2. Загрузите двоичные данные шрифта в массив байтов. Метод File.ReadAllBytes() считывает содержимое файла шрифта и возвращает данные в виде массива байтов.
  3. Инициализировать объект FontDefinition . FontType.TTF указывает, что файл шрифта является шрифтом TrueType (.ttf) и новым ByteContentStreamSource (fontBytes) создает объект ByteContentStreamSource на основе двоичных данных шрифта, хранящихся в массиве fontBytes.
  4. Загрузите шрифт. Метод 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);



Часто задаваемые вопросы

1. Какие параметры для загрузки шрифтов программно?

Для корректной загрузки шрифта нужно знать два ключевых параметра. Это формат шрифта и его хранение.

2. Где находятся шрифты на моем компьютере?

Чтобы просмотреть шрифты, доступные на вашем компьютере, перейдите в каталог C:>Windows>Fonts. Там вы сможете управлять своими шрифтами.

3. Как загрузить шрифт из потока?

Установите массив бани с помощью FontFileDefinition и создайте объект с помощью метода Open(). Укажите формат шрифта. Завершите загрузку, используя метод Aspose.Font.Font.Open().