Сохранить обновлённые файлы шрифтов на диск

Решение C++ API для сохранения шрифтов, ранее загруженных из потока.

 

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

Сохранение шрифтов на диск позволяет хранить их длительно и делиться ими. Затем шрифт можно использовать в будущих проектах или поделиться им с другими, чтобы гарантировать наличие конкретного шрифта на их компьютере.

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

Сохраняя шрифты на диск, вы также гарантируете их доступность, даже если оригинальный источник шрифта более недоступен. Это помогает сохранить данные шрифта и делает возможным его использование в будущих проектах.

Эта страница описывает способ сохранения TrueType‑шрифта на диск, а все остальные примеры кода находятся в проекте Aspose GitHub проект .

Чтобы сохранить файлы шрифтов, нам нужно:

  • Aspose.Font for C++ API — это функционально насыщенный, мощный и простой в использовании API для манипуляции документами и конвертации на платформе C++.

  • Откройте менеджер пакетов NuGet, найдите Aspose.Font и установите его. Вы также можете использовать следующую команду в консоли диспетчера пакетов.

Package Manager Console Command


    PM> Install-Package Aspose.Font

Шаги для сохранения изменённого шрифта с помощью C++:

Aspose.Font for C++ предоставляет возможность изменять файлы шрифтов и сохранять изменённые версии на диск. Пример кода ниже демонстрирует, как сохранить изменённый TTF‑файл шрифта.

  1. Создайте новый объект FontFileDefinition .
  2. Установите FontType как TTF и FontFileDefinition как .ttf.
  3. Создайте объект TtfFont и откройте файл шрифта, используя ранее определённый объект FontDefinition.
  4. Сохраните TtfFont на диск, вызвав метод Save() и передав имя выходного файла с полным путём. Сохранённый файл шрифта будет содержать внесённые изменения.

Код C++ для сохранения TrueType шрифта на диск

    using Aspose::Font;
    using Aspose::Font::Sources;
    using Aspose::Font::Ttf;
    //byte array to load Font from
    System::String dataDir = RunExamples::GetDataDir_Data();
    
    System::ArrayPtr<uint8_t> fontMemoryData = System::IO::File::ReadAllBytes(dataDir + u"Montserrat-Regular.ttf");
    System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<ByteContentStreamSource>(fontMemoryData)));
    System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
    
    //Work with data from the just loaded TtfFont object
    
    //Save The TtfFont to disk
    //Output the Font file name with the full path
    System::String outputFile = RunExamples::GetDataDir_Data() + u"Montserrat-Regular_out.ttf";
    
    ttfFont->Save(outputFile);