使用 C# 将 TTF 转换为 WOFF

字体定义文本中单个字符的图形表示,例如其大小、显示样式、重量、颜色等。TTF(True Type Font) 在所有数字平台上都可以正常工作,并在 -屏幕和打印文档中。另一方面,WOFF (Web Open Font Format) 主要用于网页。它包含特定格式的压缩和附加的 XML 元数据。在某些情况下,我们可能需要将 True-type 字体转换为 Web 字体。在本文中,我们将学习如何使用 C# 将 TTF 转换为 WOFF。

本文将涵盖以下主题:

C# TTF 到 WOFF 转换器 API

为了将 TTF 转换为 WOFF,我们将使用 Aspose.Font for .NET API。它允许从 支持的字体类型 加载、保存和提取信息。请下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.Font

使用 C# 将 TTF 转换为 WOFF

我们可以按照以下步骤轻松地将 True Type 字体 (TTF) 转换为 Web 开放字体 (WOFF):

以下代码示例演示了如何使用 C# 将 TTF 转换为 WOFF。

// 此代码示例演示如何将 TTF 转换为 WOFF。
// TTF 文件路径
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// 加载字体文件
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// 创建字体文件定义
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// 创建字体定义
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// 打开字体
Font font = Font.Open(fontDefinition);

// WOFF 输出路径
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// 将 TTF 转换为 WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF);

在 C# 中将 TTF 转换为 WOFF2

WOFF2 是 WOFF 的更新版本。它提供了更多的压缩,因为它的文件大小更小,并为现代浏览器提供了更好的性能。我们也可以按照前面提到的步骤将 TTF 转换为 WOFF2。但是,我们只需要在最后一步中将 FontSavingFormats 设置为 WOFF2。

以下代码示例演示了如何使用 C# 将 TTF 转换为 WOFF2。

// 此代码示例演示如何将 TTF 转换为 WOFF2。
// TTF 文件路径
string fontPath = @"D:\Files\font\Montserrat-Regular.ttf";

// 加载字体文件
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);

// 创建字体文件定义
FontFileDefinition fileDefinition = new FontFileDefinition(source);

// 创建字体定义
FontDefinition fontDefinition = new FontDefinition(FontType.TTF, fileDefinition);

// 打开字体
Font font = Font.Open(fontDefinition);

// WOFF 输出路径
string outPath = @"D:\Files\font\TtfToWoff_out1.woff";
FileStream outStream = File.Create(outPath);

// 将 TTF 转换为 WOFF
font.SaveToFormat(outStream, FontSavingFormats.WOFF2);

获得免费许可证

您可以获得免费的临时许可证 试用该库而不受评估限制。

结论

在本文中,我们学习了如何在 C# 中将 True Type 字体转换为 Web 开放字体。我们还看到了如何以编程方式将 TTF 保存为 WOFF2。此外,您可以使用 documentation 了解更多关于 Aspose.Font for .NET API 的信息。如有任何歧义,请随时在我们的 免费支持论坛 上与我们联系。

也可以看看