将 Type1 字体转换为 TrueType | C# .NET API 解决方案
概述
本文讲解如何使用 C# 将 Type1 字体转换为 TTF 字体。内容涵盖以下主题:
- 了解 Type 1 字体及其在 PostScript 中的使用
- C# 如何将 Type1 字体转换为 TrueType
- C# Type1 转换为 TTF 示例
了解 Type 1 字体及其在 PostScript 中的使用
Type 1 字体由 Adobe 于 20 世纪 80 年代开发,是数字排版的关键组成部分,尤其是在桌面出版和图形设计领域。这些字体因其高质量的渲染效果以及与 PostScript 页面描述语言 (PDL) 的兼容性而广受认可,PDL 彻底改变了印刷行业。
什么是 Type 1 字体?
Type 1 字体是一种基于矢量的字体格式,支持可扩展的高分辨率文本渲染。它们由两个主要文件组成:包含字体矢量轮廓的轮廓文件(扩展名为 .PFB)和提供有关字体度量的信息(例如字符宽度和字距调整数据)的度量文件(扩展名为 .AFM)。这种轮廓和度量的分离使得字体数据的存储和操作更加高效。 但是,.PFB 文件可以与 *.AFM 文件一起使用。
Type 1 字体的优势
可扩展性:Type 1 字体基于矢量,可以调整大小而不会损失质量,使其成为从小型文本到大型横幅等各种应用的理想选择。
精度:Type 1 字体的数学定义可实现精确渲染,确保印刷品上的字体清晰锐利。
广泛兼容性:Type 1 字体在 Adobe 应用程序中得到广泛支持,并且是 PostScript 语言不可或缺的一部分,使其成为专业排版的标准选择。
丰富的功能:Type 1 字体支持高级印刷功能,包括字距调整和连字,增强印刷文本的整体美感。
PostScript 中的 Type 1 字体
Type 1 字体是 PostScript 不可或缺的一部分,因为它们提供了渲染高质量文本所需的信息。处理 PostScript 文件时,显示文本的指令会链接到相应的 Type 1 字体文件。
在 PostScript 文档中,文本是使用引用 Type 1 字体的命令来定义的。例如,命令可以指定要使用的字体、文本的大小和位置。然后,PostScript 解释器会使用 Type 1 字体文件中的信息,在输出设备(无论是激光打印机还是照排机)上准确地渲染文本。
C# 如何将 Type1 字体转换为 TrueType
要转换给定的 Type1 字体,包含该字体的文件必须仅包含该字体,不包含任何其他内容。这可以是仅包含该字体的 PFB 文件或 PS 文件。实际上,这就是转换所需的全部内容。
因此在 C# 中将 Type1 字体转换为 TrueType 字体只需两个步骤如下:
- 创建新的 PsDocument 对象。
- 使用静态方法 ConvertType1FontToTTF 将输入的 Type1 字体转换为 TTF 字体。
您可以在我们的 Type1 Converter Web 应用程序上在线查看 Type1 字体到 TTF 的转换功能。
使用 C# 将 Type1 字体转换为 TTF
在以下 C# 代码片段 中,我们将 Type1 字体转换为 TrueType 字体:
1// For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-.NET
2
3// The path to the documents directory.
4string dataDir = GetDataDir();
5
6//Create new PsDocument object
7PsDocument doc = new PsDocument();
8
9//Convert Type1 font from the file 'Type1_Arial_Bold.ps' to TTF font in dataDir folder.
10//Exstension of file can be ".ps", ".pfb", ".pfa" or something else. The main thing is that there is only a font Type1 inside.
11doc.ConvertType1FontToTTF(dataDir + "Type1_Arial_Bold.ps", dataDir);
通过Type1 字体转换 Web 应用程序在线评估 Type1 字体到 TTF 字体的转换效果。您可以在几秒钟内将 Type1 字体转换为 TTF 字体并下载结果。
您可以从 GitHub 下载示例和数据文件。