这是 ttf2ufm 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
TTF2UFM - 真正的类型到 PostScript Type 1 字体转换器
概要
“ttf2ufm [-选项] 字体字体.ttf [字体名称]"
or
“ttf2ufm [-选项] 字体字体.ttf -"
商品描述
Ttf2ufm 是 True Type 格式的字体转换器(以及
FreeType 库)转换为 Adobe Type1 格式。
3.0 及更高版本得到了相当广泛的后处理算法,带来了
将字体转换为 Type1 标准的要求,尝试更正四舍五入
转换过程中引入的错误和一些典型的简单错误
公共领域的 TTF 字体。 它还生成提示以实现更好的渲染
小号字体的典型计算机显示器。 但一切都有它的
价格,并且某些优化可能不适用于某些字体。 这就是为什么
选项已添加到转换器,以控制执行的优化。
配置
第一个变体创建文件“Fontname.pfa”(或“Fontname.pfb”,如果选项 '-b'
被使用)与转换的字体和“Fontname.afm”与字体规格,第二个
打印字体或其他文件(如果选项 '-G' 被使用)在标准输出上
在那里它可以立即通过一些过滤器输送。 如果没有指定“字体名称”
第一个变体,名称是通过替换“.ttf”文件名从“ttffont”生成的
后缀。
大多数时候不需要任何选项(除了 '-e')。 但是如果
生成的字体有一些问题,它们可能被用来控制
转换。 这 选项 是:
·”-一种” - 将源文件中的所有字形包含到转换后的文件中。 如果这
选项未指定,则只有分配了某种编码的字形是
包括在内,因为其余的字形无论如何都无法访问并且只会消耗
磁盘空间。 但是有些应用程序足够聪明,可以更改
飞行并因此使用其他字形,在这种情况下,他们可以从使用这个中受益
选项。 但有一个问题:X11 库对字体大小的限制相当低。
包含更多字形会增加文件大小,从而增加命中的机会
这个限制。 有关修复此问题的 X11 补丁的说明,请参阅“app/X11/README”
问题。
·”-b" - 对生成的字体进行编码以生成准备好的“.pfb”文件。
·”-d 子选项" - 调试选项。 子选项是:
"a" - 打印出轮廓中点的绝对坐标。 这样的字体不能
由任何程序使用(这就是此选项与 ' 不兼容的原因-e') 但它已经证明
成为有价值的调试信息。
"r" - 不要反转轮廓的方向。 TTF 字体具有标准
与 Type1 字体相反的轮廓方向。 所以他们应该在
适当的转换。 此选项可用于调试或处理 TTF 字体
错误的轮廓方向(可能是从 Type1 字体以损坏的方式转换的)。 这
错误方向的第一个迹象是像“P”或“B”这样没有未上漆的字母
里面的“洞”。
·”-e" - 组装生成的字体以生成准备好的“.pfa”文件。
[ SB:我个人认为这个选项不是特别有用。 相同
结果可以通过将未组装的数据通过 t1asm 管道传输来实现,类型 1
汇编程序。 而且,无论如何,手边有 t1utils 包是件好事。 但马克和许多
用户觉得这个功能不错,没花多少时间加这个
选项。 ]
·”-F” - 强制 Unicode 编码:字体中指定的任何类型的 MS 编码都是
被忽略,字体被视为具有 Unicode 编码。 警告: 这个选项是
适用于实际上在 Unicode 中但被标记为其他东西的错误字体。
对其他字体的影响是不可预测的。
·”-G 子选项" - 文件生成选项。 子选项可以是小写或大写,
小写的禁用特定文件的生成,相应的
大写子选项允许生成相同类型的文件。 如果结果是
ttf2ufm 被要求打印在标准输出上,最后一个启用子选项
of -G 确定哪个文件将写入标准输出和其余文件
将被丢弃。 例如, -G A 将请求 AFM 文件。 子选项
禁用/启用文件的生成是:
"f/F" - 字体文件。 根据其他选项,此文件将具有以下选项之一
后缀“.t1a”、“.pfa”或“.pfb”。 如果标准上要求转换结果
output ('"-"' 用作输出文件名) 那么字体文件也会被写入
默认情况下,如果没有被另一个子选项覆盖 -G. 默认: 启用
"一个/A” - Adobe 字体规格文件(“.afm”)。 默认: 启用
"电/电” - dvips 编码文件(“.enc”)。 默认: 禁用
·”-l 语言[+参数]" - 从多个文件中提取指定语言的字体
语言 Unicode 字体。 如果未使用此选项,转换器会尝试猜测
语言由外壳变量 LANG 的值决定。 如果它无法猜测
language by LANG 它会按照列出的顺序尝试所有语言。
在加号之后,可以指定语言提取器的可选参数。
参数的格式完全取决于特定的语言转换器。 这
参数的主要目的是支持为多平面选择平面
东方编码,但它也可以以任何其他方式使用。 语言提取器可以
决定以某种形式将平面名称添加到生成的字体名称中。 没有任何一个
当前支持的语言尚未使用该参数。
目前支持以下语言:
"latin1" - 适用于所有使用 Latin-1 编码的语言
"latin2" - 中欧语言
"latin4" - 波罗的海语言
"latin5" - 用于土耳其语
"cyrillic" - 用于西里尔字母的语言
“俄语” - 西里尔文的历史同义词
“保加利亚语” - 西里尔文的历史同义词
"adobestd" - 用于 TeX 使用的 AdobeStandard 编码
"飞机+争论” - 从多字节编码中选择一个平面
“平面”语言的论证可能是以下三种形式之一:
"飞机+进程号=,开斋节=”
"飞机+进程号=,开斋节=,”
"飞机+”
pid(TTF平台id)和eid(TTF编码id)选择特定的TTF编码表
在原始字体中。 它们被指定为十进制数。 如果这个特定的编码
字体文件中不存在表,则转换失败。 本地人(“ttf”)
前端解析器仅支持pid=3(Windows平台),基于FreeType(“ft”)
前端支持任何平台。 如果 pid/eid 未指定,则 TTF 编码表
像往常一样确定:Unicode 编码,如果它是第一个或 8 位编码,如果不是(和
对于 8 位编码,平面号被静默忽略)。 防止转换器
从回退到 8 位编码,明确指定 Unicode pid/eid 值。
Plane_number 是一个十六进制(如果以“0x") 或十进制数。它给出
将为其选择 256 个字符的高位字节的值。 如果没有指定,
默认为 0。它也用作字体名称后缀(不包括前导的“0x”
入后缀)。
注意: 您可能会注意到语言名称并不统一:有些是
特定的语言,有些是编码的名称。 这是因为不同
方法。 最初的想法是实现从 Unicode 到
给定语言的适当 Windows 编码。 然后使用翻译表
以需要的任何最终编码生成字体。 这将允许堆积
将该语言的 Unicode 字体和非 Unicode Windows 字体放在一起,让
程序自动将它们分类。 然后生成所有可能的字体
该语言的编码。 这种方法的一个例子是俄语
支持。 但是,如果某些语言没有使用多种编码,并且
用户认为非 Unicode 字体不重要,另一种方法是
实现更简单:只提供一张表用于提取目标编码
来自 Unicode,不要打扰翻译表。 拉丁*“语言”是
这种方法的例子。 如果有人觉得他需要 Type1 字体
绝对欢迎他或她将代码提交给 Latin-* 和 Windows 编码
实施它。
警告: AdobeStandard 编码中包含的某些字形未包含在内
进入 Unicode 标准。 这种字形最典型的例子是连字,如
'fi', 'fl' 等,因此字体设计者可以将它们放置在不同的地方。 这
如果字形具有诚实的 Adobe 名称和/或放置
使用与 Microsoft 字体相同的代码,它们将被拾取。 否则有可能
解决方案是使用选项 '-L' 带有外部地图。
·”-L 文件[+[pid= ,开斋节= ,][飞机]]” - 提取指定语言的字体
从使用此文件中的地图的多语言字体。 这更像是选项
'-l' 但是编码映射没有编译到程序中,它是从那个文件中获取的,
所以很容易编辑。 此类文件的示例在
“地图/adobe-standard-encoding.map”、“CP1250.map”。 (注意: “标准编码”映射
不包括 AdobeStandard 编码的所有字形,它仅作为
示例。)支持的地图格式的描述在文件中
“地图/unicode-sample.map”。
同样对'-l',可以在映射文件名后指定一个参数。 但在这种情况下
该参数具有固定含义:它选择原始 TTF 编码表(语法
与 ' 中的相同-l 平面') 和/或地图文件的平面。 飞机名称也得到
在破折号后添加到字体名称。 平面是东方字体中使用的概念
大量字形:一个 TTF 字体被分成多个 Type1 字体,每个
包含一个最多 256 个字形的平面。 但只要有一点创意,这个概念就可以
用于将多个翻译映射组合成一个文件的其他目的。 到
从 TTF 字体中提取多个平面“ttf2ufm”必须多次运行,每次
指定了不同的平面名称。
用于选项 ' 的默认原始 TTF 编码表-L' 是 Unicode。 地图
文件可能包含指定不同原始 TTF 编码的指令。 但是,如果
pid/eid 对被指定为覆盖映射中指定的任何原始编码
文件中。
·”-m 类型=值” - 设置资源的最大或最小限制。 这些限制控制
通过限制允许字体需要的资源来生成字体
PostScript 解释器。 当前支持的限制类型有:
"h" - 替换提示的最大提示堆栈深度。 默认值为 128,
根据 X11 中的限制。 这似乎是最低的(因此也是最安全的)
广泛的价值。 显示“.t1a”中每个字形所需的提示堆栈深度
文件使用脚本“scripts/cntstems.pl”。
·”-O 子选项" - 大纲处理选项。 子选项可以是小写或
大写,小写的禁用功能,对应的大写
子选项启用相同的功能。 禁用/启用功能的子选项是:
"乙/乙” - ForceBold 参数的猜测。 该参数帮助 Type1 引擎
以小尺寸正确光栅化粗体。 但是用于猜测的算法
此标志的正确值使猜测完全基于字体名称。 在极少数情况下
这可能会导致错误,在这些情况下,您可能希望禁用此猜测。 默认:
启用
"小时/小时" - 自动生成提示。 真正复杂的轮廓可能会混淆算法,
所以理论上有时禁用它们可能很有用。 虽然到现在看来
即使是不好的提示也比没有提示好。 默认: 启用
"你/你” - 提示替换。 提示替换是一种允许生成
光栅化器的更详细提示。 它允许使用不同的提示集
字形的不同部分,并在光栅化过程中根据需要更改这些设置
(这就是“替换”的原因)。 所以它应该提高渲染字体的质量
小尺寸。 但有两个问题:首先,X11 库对
字体大小。 更详细的提示会增加文件大小,从而增加机会
达到这个限制(这并不意味着你会达到它,但如果你的
字体特别大)。 这对于转换的 Unicode 字体尤其可能
带有选项 '-a',所以你可能想使用 '-a' 和...一起 '-欧'。 见“app/X11/README”
用于修复此问题的 X11 补丁的描述。 二、一些光栅化器
(同样,X11 是典型示例)对使用的提示总数有限制
绘制字形时(也称为提示堆栈深度)。 如果该堆栈溢出
字形被忽略。 从 3.22 版开始,“ttf2ufm”使用算法来最小化
这个深度,权衡稍大的字体文件。 仍然存在的字形
超过选项'设置的限制-mh' 删除所有替换的提示,并且只删除
剩下的基本提示。 算法似乎已经精炼到足以使字体
带有替代提示的字体看起来比没有它们的字体更好,或者至少相同。
如果原始字体设计得不好,详细的提示可能会强调
设计缺陷,如线条粗细不均。 所以只要你不是
害怕 X11 错误,最好的办法是生成具有此功能的字体,并且
没有它,然后使用程序“other/cmpf”比较结果(参见说明
在“其他/自述文件”中)并决定哪个看起来更好。 默认: 启用
"欧/欧” - 大纲代码的空间优化。 这种优化从来没有伤害,
禁用此功能的唯一原因是比较生成的字体
使用以前版本的转换器生成的字体。 嗯,它_几乎_从来没有
疼。 事实证明,存在一些大脑受损的打印机无法理解
它。 实际上,此功能根本不会改变轮廓。 Type 1 字体手册
提供一组使字体描述更短的冗余运算符,例如 '10
hlineto' 而不是 '0 10 rlineto' 来描述水平线。 此功能使
使用这些运算符。 默认: 启用
"秒/秒" - 轮廓平滑。 如果字体以某种方式损坏(即使是那些
不容易注意到),这种平滑可能会进一步破坏它。 所以禁用这个功能
如果某些字体看起来很奇怪,则首先要尝试。 但是随着提示的平滑
生成算法也可能无法正常工作。 默认: 启用
"吨/吨" - 自动缩放到 1000x1000 Type1 标准矩阵。 描述了 TTF 字体
就高达 4000x4000 的任意矩阵而言。 转换后的字体必须缩放到
符合Type1标准。 但是缩放会引入额外的舍入误差,所以
有时以原始比例查看字体可能会很好奇。 默认: 启用
"体积/体积" - 对位图字体进行矢量化。 功能上“矢量化”是一样的
作为“自动跟踪”的东西,使用不同的词纯粹是为了将其与
自动跟踪库。 它试图从位图生成漂亮的平滑轮廓。 此功能
尽管结果已经基本不错,但仍在进行中。 默认:
禁用
"瓦/瓦" - 字形的宽度校正。 此选项旨在用于损坏的字体
为字母指定太窄的宽度。 你可以说字体可以受益
从此选项中,如果您看到字符被粉碎在一起而没有任何
他们之间的空白。 此选项使转换器将字符宽度设置为
此字符的实际宽度加上典型垂直词干的宽度。 但是在
另一方面,精心设计的字体可能具有看起来更好的字符,如果它们的宽度
设置得稍微窄一些。 这种精心设计的字体将受益于禁用此功能
特征。 您可能想要转换带有和不带有此功能的字体,比较
结果并选择更好的。 此功能只能用于比例字体,
它对固定宽度字体没有影响。 默认: 禁用
"Z Z” - 在位图字体上使用 Autotrace 库。 结果很可怕 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。
使用 of Free Introduction 选项 is 而不去 建议. 此选项用于实验目的。
将来可能会更改或删除。 工作追踪可以通过
选项 ”-OV". 默认: 禁用
·”-p 解析器名称” - 使用指定的前端解析器读取字体文件。 如果这
选项未使用,ttf2ufm 根据后缀自动选择解析器
字体文件名,它使用其列表中支持此字体类型的第一个解析器。 现在
支持两个解析器:
“ttf” - ttf 文件的内置解析器(后缀“.ttf”)
“bdf” - BDF 文件的内置解析器(后缀“.bdf”)
“ft”——基于 FreeType-2 库的解析器(后缀“.ttf”、“.otf”、“.pfa”、
“.pfb”)
解析器“ft”是 不是 默认链接。 有关如何执行的说明,请参阅“Makefile”
启用它。 我们在 Windows 上不支持这个解析器:可能它会工作但没有人
尝试过,但没有人知道如何构建它。
位图字体(如BDF)的转换还很简单,产生锯齿状
轮廓。 转换此类字体时,关闭提示可能是个好主意
替换(使用选项 -欧) 因为产生的提示会很大但不会添加
很大程度上影响了字体的质量。
·”-u 数字” - 将此值标记为字体的 UniqueID。 UniqueID 由
带有硬盘的打印机缓存光栅化字符,因此显着
加快打印速度。 其中一些打印机无法存储字体
UniqueID 在他们的磁盘上。问题是 ID 应该是唯一的,正如它的名字一样
说。 并且没有简单的方法来创建有保证的唯一 ID。 Adobe 指定
私有 ID 的范围是 4000000-4999999 但仍然很难保证
其中的独特性。 所以如果你真的不需要 UniqueID 就不要使用它,它是
可选的。 幸运的是有几百万个可能的 ID,所以碰撞的机会
比较低。 如果不是数字而是特殊值 '"A"' 给出然后
转换器自动生成 UniqueID 的值,作为字体名称的散列。
(注意: 在 3.22 版本中,自动生成 UniqueID 的算法更改为
使值适合 Adobe 指定的范围。 这意味着如果使用 UniqueIDs
那么在替换被转换的字体之前可能需要刷新打印机的缓存
旧版本的字体由新版本转换)。 一种简单的方法来查找是否有任何
给定目录中的字体有重复的 UniqueIDs 是使用命令:
" cat *.pf[ab] | grep UniqueID | sort | uniq -c | grep -v '1'"
或者,如果您使用“脚本/转换”,它会自动为您执行此操作,而且它也会
给出具有重复 UID 的文件的确切列表。
·”-v 尺寸” - 重新缩放字体以在某处获得典型大写字母的大小
大约在指定的大小。 实际上,它重新缩放整个字体以获得一个的大小
语言相关的字母至少是指定的大小。 现在这个字母是“A”
在所有支持的语言中。 大小在类型 1 的点数中指定
坐标网格,最大值为 1000。这是一个实验选项,应该
谨慎使用。 它尝试增加给定点大小的可见字体大小
从而使字体更具可读性。 但如果过度使用它可能会导致字体看起来
规模。 到目前为止,这个选项的有趣的大小值似乎位于
大部分在 600 到 850 之间。这种重新缩放可能非常有用,但需要更多
经验以了解其影响的平衡。
·”-W 等级” - 选择警告的详细程度。 目前的水平从 0 到
支持 4 个。 0 级意味着完全没有警告,4 级意味着所有可能的
警告。 默认级别为 3。以后可能会添加其他级别,因此使用
建议使用 99 级以获得所有可能的警告。 低于 2 级是
通常不推荐,因为您可能会错过有关问题的宝贵信息
与正在转换的字体。
· 过时的 选项: "-一种” - 打印字体规格(.afm 文件)而不是字体
标准输出。 用 -遗传算法 代替。
· 很 过时的 选项:
实现强制固定宽度的算法存在重大缺陷,因此
禁用。 代码还在程序中,总有一天会被完善并返回
背部。 同时选项名称 '-f' 被重用于另一个选项。 旧版本是:
"-F” - 不要试图强制字体的固定宽度。 通常转换器考虑
字形宽度偏差不超过 5% 的字体作为有缺陷的固定宽度字体
并强制它们具有真正固定的宽度。 如果这是不受欢迎的,它可以被禁用
通过这个选项。
“.pfa”字体格式假设字符的描述是二进制编码的
并加密。 默认情况下,此转换器不编码或加密数据,您必须
指定选项 '-e' 或使用“t1asm”程序进行组装(即编码和
加密)字体程序。 转换器附带的“t1asm”程序是
实际上是“t1utils”包的一部分,它的旧版本可以从
http://ttf2ufm.sourceforge.net/t1utils.tar.gz
请注意,该软件包的旧版本中的“t1asm”将无法正常处理这些文件
由“ttf2ufm”版本 3.20 及更高版本生成。 请使用与“ttf1ufm”一起打包的“t2asm”
或者从新版本“t1utils”代替。 对于较新版本的“t1utils”,请查看
http://www.lcdf.org/~eddietwo/type/
示例
因此,以下命令行:
“ttf2ufm -e ttffont.ttf t1font”
“ttf2ufm ttffont.ttf - | t1asm >t1font.pfa”
代表两种获取工作字体的方法。 第二种形式的好处是其他
过滤器可以应用于转换器和汇编器之间的字体。
使用 onworks.net 服务在线使用 ttf2ufm