Aspose.Font for JavaScript via C++ – 常见问题解答



问:什么是 Aspose.Font for JavaScript via C++?

答: Aspose.Font for JavaScript via C++ 是一个为 JavaScript 封装的本机 C++ 库,使开发人员能够以编程方式创建、转换和操作字体文件,而无需任何外部依赖项。


问:支持哪些字体格式转换?

答: 该库支持 TrueType (TTF)、OpenType (OTF)、Web 开放字体格式 (WOFF/WOFF2)、嵌入式 OpenType (EOT) 以及 TTC 和 OTF 集合等字体集合。完全支持任何这些格式之间的转换。


问:如何通过 C++ 包安装 Aspose.Font JavaScript?

答: 使用 npm 安装预构建的二进制包:

1npm install aspose.font-cpp

该软件包包含适用于 Windows、Linux 和 macOS 的本机 C++ 二进制文件,以及在运行时加载正确二进制文件的 JavaScript 包装器。


问:我需要自己编译C++源吗?

答: 不。npm 软件包附带了适用于主要平台的预编译二进制文件。如果您需要自定义构建(例如,针对不同的架构),您可以从 Aspose GitHub 存储库下载源代码并使用 CMake 进行编译。


问:JavaScript-via-C++ 版本中如何处理许可?

答: 许可的工作方式与 .NET/Java 版本相同。购买许可证后,将 .lic 文件放入您的项目中,并在调用任何其他 API 之前调用 aspose.font.Font.setLicense("path/to/license.lic")。许可证文件在运行时嵌入本机二进制文件中。


问:我可以从字体中提取字形轮廓和指标吗?

答: 是的。 API 提供了 Font.getGlyph(glyphId),它返回一个包含字形矢量轮廓(作为一系列轮廓点)、前进宽度、左侧方位和 Unicode 映射的对象。这对于自定义渲染引擎很有用。


问:所有脚本的 Unicode 支持是否完整?

答: 该库完全支持高达 U+10FFFF 的 Unicode 代码点,包括代理项对。它可以正确地将 Unicode 字符映射到字形索引,处理 OpenType 布局表,并在需要时尊重特定于语言的功能。


问:如何将 TTF 字体转换为 WOFF2?

答: 示例代码:

1const aspose = require("aspose.font-cpp");
2aspose.Font.setLicense("Aspose.Total.lic");
3
4const font = aspose.Font.load("MyFont.ttf");
5font.save("MyFont.woff2", aspose.FontSaveOptions.createWoff2SaveOptions());

“save”方法会根据文件扩展名或保存选项对象自动选择适当的编码器。


问:大字体集合的性能特征是什么?

答: 本机 C++ 核心针对低内存开销和快速 I/O 进行了优化。在现代 CPU 上,加载包含多达 100 种字体的 TTC(TrueType Collection)通常需要不到 100 毫秒,而单个字体的转换平均需要 30-50 毫秒。

问:该库可以在无服务器环境(例如 AWS Lambda)中使用吗?

答: 是的。二进制文件是静态链接的,不依赖外部系统字体。使用 Lambda 函数包部署 npm 包,并确保执行角色有权读取许可证文件和任何输入字体文件。


问:加载损坏的字体文件时如何处理错误?

答: 所有 API 调用都会抛出 aspose.font.FontException。您可以捕获此异常以检索详细的错误代码和消息:

1try {
2    const font = aspose.Font.load("corrupt.ttf");
3} catch (e) {
4    console.error("Font load failed:", e.message);
5}

异常层次结构区分 I/O 错误、格式错误和许可证错误。


问:官方支持哪些操作系统和架构?

答: Windows (x64)、Linux(x64、ARM64)和 macOS(x64、ARM64)。 npm 包包含每个平台的二进制文件。对于不支持的平台,您可以从源代码编译。


问:如何将生成的 WOFF2 字体嵌入到网页中?

答: 转换后,使用正确的 MIME 类型 (font/woff2) 提供 .woff2 文件。在 HTML 中:

1<link rel="stylesheet" href="styles.css">
2<style>
3@font-face {
4    font-family: "MyCustomFont";
5    src: url("MyFont.woff2") format("woff2");
6}
7</style>

生成的字体完全符合 WOFF2 规范,因此浏览器无需额外处理即可渲染它。


问:在哪里可以找到示例代码和 API 参考文档?

答: 详细文档、API 参考和代码片段可在 Aspose 网站 https://docs.aspose.com/font/java/ 上找到。 JavaScript-via-C++ 部分反映了 .NET/Java 文档,GitHub 存储库包含常见场景的示例项目。


问:如何将库更新到新版本?

答: 运行 npm update aspose.font-cpp 来获取最新的包。查看发行说明以了解重大更改,尤其是在引入新的保存选项或弃用的情况下。升级后始终重新测试字体转换管道。


Have any questions about Aspose.Font?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.