将 AFM 文件转换为 NTF 文件

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序,以及 Print Support Apps (PSA) ,在 Windows 10 和 11 中自定义打印体验,以便进行打印机设备开发。

有关详细信息,请参阅 打印支持应用设计指南

对于 Windows 2000 及更高版本,Adobe Font Metrics (AFM) 文件必须转换为 .ntf 文件。 Windows 驱动程序开发工具包 (DDK) 提供了用于执行此转换的命令行工具(名为 makentf.exe)。

若要转换一个或多个 .afm 文件,请使用以下命令语法:

makentf {-win32-win64|} **** [-v]**** [-o] ****NTF_FileName.ntfAFM_FileNames

其中 ,NTF_FileName 是要生成的 .ntf 文件的名称, AFM_FileNames 是一组要转换的一个或多个 AFM 文件。

支持以下命令行选项:

-win32
为 Win32 驱动程序创建 NTF 文件。 如果指定了此命令行选项,则无法指定 -win64

-win64
为 Win64 驱动程序创建 NTF 文件。 如果指定了此命令行选项,则无法指定 -win32

-v
“详细”: 此选项创建一个命令输出流,其中包含正在生成的 NTF 文件结构的文本显示。

-o
省略标准西方字形集。 默认情况下,Makentf.exe包括生成 .ntf 文件时的标准西方字形集。 如果要创建多个 .ntf 文件,只需将西文字形集包含在其中一个文件中,只要所有文件一起使用即可。 例如,假设要创建一个包含罗马字体指标的 .ntf 文件,另一个文件包含日语字体指标。 可以使用以下命令:

makentf -win32 roman.ntf roman1.afm roman2.afm roman3.afm
makentf -win32 -o jpn.ntf jpn1.afm jpn2.afm jpn3.afm

如果这些文件一起使用,西方字形集信息将始终从 roman.ntf 获取,因此不需要复制 jpn.ntf 中的信息,并且会占用额外的空间。 另一方面,如果将单独使用 jpn.ntf,则不得指定 -o

还支持第二个命令语法,如下所示:

makentf文件名

其中 filename 是要接收输出文本的文件的名称。 此语法使Makentf.exe创建一个文件,其中包含每个已知Makentf.exe的代码页的 PostScript 字形名称和 Unicode 值列表。

附加文件 PSFamily.dat 随 WDK 一起提供,必须位于包含Makentf.exe的同一目录中。 附加文件是一个文本文件,为Makentf.exe提供每种字体的显示名称和系列名称。

在转换标准 .afm 文件之前,必须添加类似于以下示例的行:

Comment UniqueID IDnumber

其中 IDnumber 表示字体供应商颁发的字体的唯一标识符。

处理东亚字体的 .afm 文件时,Makentf.txt需要一些附加的 .map 和 .ps 文件,这些文件必须与 -o 和 PSFamily.dat 位于同一目录中。 WDK (中提供的附加 .map 和 .ps 文件以及 PSFamily.dat) 是创建字体从 Unicode 代码到 CID 的映射表所必需的。 有关详细信息,请参阅 将东亚 AFM 文件转换为 NTF 文件

将转换为 .ntf 文件的 .afm 文件可以包含 FontBBox2 关键字。 此关键字的参数类似于 FontBBox 参数 (请参阅 Adobe Systems, Inc.) 中的 Adobe Font Metrics 文件格式规范,不同之处在于 FontBBox2 参数描述特定字符集 ((如 90 毫秒) )中使用的字形的边界框,而 FontBBox 参数描述 .afm 文件中描述的所有字符联合的边界框。 如果未找到 FontBBox2 ,则为 FontBBox 指定的值将用于边界框。