创建 TTF 字体子集

.NET API 解决方案生成 TrueType 字体子集

 

Aspose.Font API 解决方案提供了丰富的字体处理功能。转换、字形操作、拉丁字符检测等。这里我们将探讨字体子集化功能。

Font subsetting 是一种强大的技术,可优化网页性能并提供语言特定支持,同时最小化文件大小和加载时间。随着在线内容的多样化和对多语言受众的需求增加,字体子集为网页设计师和开发者提供了实用的解决方案。让我们进一步了解字体子集化的优势:

  • 在网页或应用程序中包含字体的完整字符集会导致文件体积庞大,导致加载缓慢和带宽占用增加。通过创建字体子集,您可以显著减少文件大小,从而提升网页性能和加载时间。

  • 字体子集仅包含渲染特定内容所需的字符。排除未使用的字符,可在使用设计工具时更易于管理字体文件。字体子集还让设计师对网页项目的排版和视觉形象拥有更大的控制。通过它们,设计师可以确保一致性并保持项目的预期美感。

  • 不同的语言和文字需要特定的字符、重音符、变音符和连字。因此,定制的子集确保必要的字形被包含,页面能够良好呈现。

  • 字体子集可以自定义以包含特定字符,确保符合可访问性标准,使您的网页项目更加包容。

因此,生成更小的字体文件为您带来诸多好处,Aspose 提供了多种工具。您可以使用跨平台的 Font Generator 创建子集,或像下面的 C# 示例一样自行编码,使用 Aspose.Font API 解决方案。

运行示例所需条件:

  • Aspose.Font for .NET API,这是一款功能丰富、强大且易于使用的文档操作和转换 API,适用于 C# 平台。

  • 打开 NuGet 包管理器,搜索 Aspose.Font 并安装。您也可以在包管理器控制台中使用以下命令。

Package Manager Console Command


    PM> Install-Package Aspose.Font

使用 C# 生成字体的步骤:

此代码演示如何使用 IFontCharactersMerger 接口,通过将原始字体的特定字形合并到新字体中来创建子集,并将结果字体保存为 TTF 文件。

  1. 指定输入字体。
  2. 使用 IFontCharactersMerger.MergeFonts() 方法创建包含所需字形的子集。
  3. 使用 Save() 方法保存生成的字体。

创建子集的 C# 代码

    using Aspose.Font.Ttf;
    using Aspose.Font.TtfHelpers;
    // Original font to take glyphs from
    TtfFont srcFont;

    //To create a font we use functionality of the IFontCharactersMerger interface.
    IFontCharactersMerger merger = HelpersFactory.GetFontCharactersMerger(srcFont, srcFont);

    TtfFont destFont = merger.MergeFonts(new uint[] { 'a', 'c', 'e' }, new uint[0], "TestFont");

    //Save resultant font
    destFont.Save("TestFont.ttf");



常问问题

1. 什么是字体子集?

字体子集是指与原始字体文件相比较小的字体子集,仅包含特定文档或网页中使用的字符,可以显着减小文档或网页的文件大小。

2. 我可以在线创建字体子集吗?

是的,有一个专门为此类任务开发的跨平台 Aspose Font Generator

3. Aspose.Font 中的子集化功能如何工作?

在Aspose.Font中,子集功能是通过合并功能实现的。它允许您从几种字体或单一字体创建子集。