将 Type1 字体转换为 TrueType | Java API 解决方案
概述
本文介绍如何使用 Java 将 Type1 字体转换为 TTF 字体。内容涵盖以下主题:
- 了解 Type 1 字体及其在 PostScript 中的使用
- Java 如何将 Type1 字体转换为 TrueType
- Java Type1 转换为 TTF 示例
了解 Type 1 字体及其在 PostScript 中的使用
Type 1 字体由 Adobe 于 20 世纪 80 年代开发,是数字排版的关键组成部分,尤其是在桌面出版和图形设计领域。这些字体因其高质量的渲染效果以及与 PostScript 页面描述语言的兼容性而广受认可,而 PostScript 页面描述语言彻底改变了印刷行业。
什么是 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 字体文件中的信息,在输出设备(无论是激光打印机还是照排机)上准确地呈现文本。
Java 如何将 Type1 字体转换为 TrueType
要转换给定的 Type1 字体,包含该文件的文件必须仅包含该字体,不包含任何其他内容。该文件可以是 PFB 文件,也可以是仅包含该字体的 PS 文件。转换所需的一切就这些。
因此,在 Java 中将 Type1 字体转换为 TrueType 字体只需以下两个步骤:
- 创建一个新的 PsDocument 对象。
- 使用静态方法 convertType1FontToTTF 将输入的 Type1 字体转换为 TTF 字体。
您可以在我们的Type1 Converter网页应用程序上在线查看 Type1 字体到 TTF 格式的转换功能。
在 Java 中将 Type1 字体转换为 TTF 字体
在以下 Java 代码片段中 我们将 Type1 字体转换为 TrueType 字体:
1// For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-Java
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 字体转换网页应用程序在线评估 Type1 字体到 TTF 字体的转换效果。您可以在几秒钟内将 Type1 字体转换为 TTF 字体并下载结果。
您可以从 GitHub 下载示例和数据文件。