将更新的字体文件保存到磁盘
C++ API 解决方案,用于保存先前从流中加载的字体。
Aspose.Font API 解决方案为您提供丰富的字体处理功能,包括转换、字形操作、拉丁符号检测等。本文将介绍保存字体的功能。
将字体保存到磁盘可实现长期存储和共享字体数据。随后可以在未来的项目中使用该字体,或与他人共享,以确保特定字体在他们的计算机上可用。
此外,将字体保存到磁盘可以轻松检索字体数据,无需每次需要时从远程源加载。这对体积大或经常使用且加载时间较长的字体非常有用。
通过将字体保存到磁盘,即使原始字体来源不再可用,也能确保字体可用。这有助于保存字体数据,并使其在未来的项目中得以使用。
本页描述了将 TrueType 字体保存到磁盘的选项,其他关于如何使用该解决方案的代码示例位于 Aspose Github 项目 。
要保存字体文件,我们需要:
Aspose.Font for C++ API,它是功能丰富、强大且易于使用的 C++ 平台文档操作和转换 API。
打开 NuGet 包管理器,搜索 Aspose.Font 并安装。您也可以在包管理器控制台中使用以下命令。
Package Manager Console Command
PM> Install-Package Aspose.Font
使用 C++ 保存更改前字体的步骤:
Aspose.Font for C++ 提供修改字体文件并将更改后的文件存储到磁盘的功能。下面的代码示例演示如何保存修改后的 TTF 字体文件。
- 创建一个新的 FontFileDefinition 对象。
- 将
FontType
设置为 TTF,并将 FontFileDefinition 设置为
.ttf。 - 创建一个 TtfFont 对象,并使用先前定义的 FontDefinition 对象打开字体文件。
- 通过调用 Save() 方法并传入完整路径的输出文件名,将
TtfFont保存到磁盘。保存的字体文件将包含更新的更改。
用于将 TrueType 字体保存到磁盘的 C++ 代码
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);