将字体翻译成 METAFONT(就 AMS Euler 和其他公司而言)

将字体翻译成 METAFONT(就 AMS Euler 和其他公司而言)

总结:我先问一下我的问题:

  1. AMS Euler 是如何从 Hermann Zapf 的手绘图形转化到 METAFONT 中的?有没有转化到 METAFONT 的笔画方法中?
  2. 除了当然之外,还有哪些现有设计被翻译成 METAFONT 的例子?Monotype Modern 8A 的 Computer Modern)?

背景:今天,在跨越数十年的文章中,我两次遇到这样的想法:METAFONT 更擅长探索性地创建新的字体,而不是创建已经确切知道自己想要什么的字体。


戴夫·克罗斯兰为什么 METAFONT 没有流行起来?  (TUGboat,第 29 卷(2008 年),第 3 期)(另见视频成绩单) 比较了在软件中实现字体的两种方法:“[笔]笔画”方法(METAFONT 使用)和“轮廓”方法(大多数其他软件使用,例如 Fontographer/FontLab/FontForge)。他这样评价 METAFONT:

虽然不适合实现现有的字体设计,但 METAFONT 的抽象和逻辑性质 […] 非常适合开发新字体设计,设计师不确定他们试图捕捉的精确外观,并想尝试对其设计进行各种彻底的改变。

相比之下,“大纲”方法:

如今,轮廓方法占据主导地位,因为它能提供即时的视觉反馈和精确的控制;它直观而直观。这意味着在单个字母形状的层面上设计字体是直观的,字体很快就能出现。它特别适合实现现有的字体设计,因为所有方面都已经考虑周全;TEX 社区在 AMS Euler 项目 [4] 中提供了一个清晰的例子,斯坦福大学的一个学生团队试图将 Zapf 在纸上绘制的数学新字体设计数字化;开发人员尝试了这两种方法,并认为描摹轮廓是最合适的。

(参考文献 [4] 是 Knuth 和 Zapf 的AMS Euler:数学新字体,1989 年,我无法访问。)

尽管有一些支持证据,但我找不到确切的证据来证实这一点。texdoc 文档说:

在 Donald Knuth 的协助和鼓励下,本世纪最杰出的字体设计师之一 Hermann Zapf 被委托进行设计 […]。斯坦福大学的研究生在 Knuth 的指导下,用 METAFONT 代码呈现了 Zapf 的设计;David Siegel 在一份报告中描述了 METAFONT 字体的实现过程 [DRS85]。

([DRS85] 是斯坦福大学欧拉项目,我也没有权限访问。可能是西格尔的硕士论文,维基百科

重塑欧拉:与 Hermann Zapf 的合作接近:

字形绘制在约 6 厘米高的纸上,然后使用光栅在纸上精确定位,将这些图形数字化。将得到的点转换为 METAFONT,然后添加一些额外的数学形状。

最接近的可能是 Daniel Rhatigan 的 2007 年硕士论文三种数学字体基于 Knuth–Zapf 和 Siegel 的观点,该文指出:

尽管 Knuth 和 Zapf 都对整体概念做出了贡献,但 Zapf 是主要设计师,他为 Knuth 和 AMS 委员会提供了提案草图。Knuth 提供反馈,还收集和筛​​选 AMS 委员会的反馈,之后 Zapf 将制作详细的主图。[…]

经委员会批准后,Zapf 的绘图将被数字化,并使用 METAFONT 构建为与 TEX 兼容的字体。Knuth 和一支由斯坦福大学学生组成的团队(包括 David Fuchs、John Hobby、Scott Kim、Dan Mills、Lynn Ruggles、David Siegel 和 Carol Twombly)在接下来的几年里试图将 Euler 的绘图开发成可用的字体。Euler 团队在处理字体时实际上重写了 METAFONT 软件本身以及支持制作过程的许多软件工具,突破了软件甚至他们所掌握的计算机设备的局限性,以扩展电子媒体的可能性。

Zapf 的设计违背了 METAFONT 的一些基本原则。他的字体基于书法,但形式比 Knuth 想象中的可预测笔触组合应用于基本骨架形状更为微妙。要复制他的画作,团队需要绘制每个字形的内轮廓和外轮廓,而不是从中心手势向外构建。一旦他们将字形的本质作为单个程序捕捉到,他们就必须定义参数,以便在将轮廓生成为位图字体时保持每个字体中字形的一致粗细,这是另一个挑战,与早期的 METAFONT 项目相比,它揭示了 Euler 的微妙之处。[…]

正如 Knuth 自己指出的那样,Euler 的最终版本实际上并不是一个元字体。相反,它是一个使用 METAFONT 工具构建的轮廓数字化。由于制作 Euler 的困难导致了 METAFONT 版本更加复杂,他表示希望其他人能够使用它来解决这个问题。

Dave Crossland 还提到此论坛帖子

AMS Euler 字体由 Zapf 在纸上设计,并由斯坦福大学的学生在 Knuth 的监督下进行数字化,但他们很快就放弃了按照 Knuth 的意图使用 METAFONT,而是以类似 Ikarus 的方式使用它来绘制 Zapf 勾勒出的轮廓。所以它实际上不算数

因此,总体而言,AMS Euler 的计算机实现似乎使用了 METAFONT 技术,但没有使用 METAFONT 的笔和橡皮擦方法。有没有关于这种“失败”的更多文字或说明?


关于我所知道的一个“成功”的例子:据我所知,Knuth 的目标是创建一种字体,使 TAOCP 第 2 卷(半数值算法)的第二版看起来像第一版(使用 Monotype 机器上的热金属技术排版)。他使用第一版的印刷版作为参考(使用 Monotype Modern 8A 排版)。他从 1977 年开始,例如,他提到过如何这些信让他许多个不眠之夜试图翻译成METAFONT。尽管如此,他认为自己1981 年完成,但对结果感到失望

我原本以为那会是打开这本书并庆祝的最佳时机。我终于完成了这个项目。然而,那是我一生中最糟糕的日子之一。我打开了这本​​书,我一点也不喜欢它 [...] 它看起来完全不一样了 [...] 我说,‘天哪,我离完成这件事并得到一些,你知道,一些...... 一些像样的东西还差得很远。[...] 我很沮丧...... 因为我知道还有很多事情要做。[...] 但我的字体设计师朋友...... 设计师说,‘听着,唐,字体设计师的学徒期总是五​​年,你只做了两年,你怎么能指望两年后就成功呢?’所以,他们对我很好...... 通过我们现在获得的资助,我可以邀请他们来斯坦福,与他们共度时光,向他们学习我应该做的事情。

1986 年曾说过在所有,

七年之后我才能够创作出我喜欢的字体。


Dominik Wujastyk 在TeX 的多面性:数字 METAfonts 调查(TUGboat,第 9 卷(1988),第 2 期)(一篇以“本文旨在对当前可用于 TeX 的字体和 METAfonts 进行合理完整的调查”开头的文章)提到了霍夫施塔特的挑战:

有人应该接受霍夫施塔特发出的挑战,并尝试从 CM 程序中找出一位泰晤士报罗马人、巴斯克维尔或其他熟悉的面孔。

那是在 1988 年。那么有没有例子表明有人在 METAFONT 中(重新)制作了现有的字体,不一定是通过调整 Computer Modern 的 62 个参数,而是更普遍地使用 METAFONT 的带参数的笔和橡皮擦程序方法?

答案1

一个字体被翻译成 Metafont 的例子,而不是最初在 Metafont 中设计,是 Nara 的早期版本,当时称为 Adriq。参见这篇详细的文章关于它的历史。

创作者 Andrej Krátky 于 1988 年开始设计,用墨水在纸上手绘。他说“第一阶段的绘画相对较快”。

原始图纸

数字化主要使用 Metafont 进行,因为它免费并且可以在普通 PC 上运行:20 世纪 80 年代,捷克斯洛伐克的学生无法获得商业字体编辑系统(如 URW 的 Ikarus 字体数字化系统)。然而,

Metafont 的问题在于没有图形界面,甚至没有办法将现有绘图“扫描”到软件中。相反,每个字母都需要通过命令行以复杂的数学描述形式输入,然后才能打印或显示。

该过程非常困难并且“极其耗时”,因为需要用方格纸覆盖图纸,并以 1/10 毫米的精度测量尺寸,以“确定每个字符关键点的坐标”。

覆盖方格纸以将坐标输入 Metafont

下面是他这样设计的小写字母“i”的示例:

带有注释和修正的 Metafont 代码

斜体版本是使用 Metafont 的插值创建的;他还尝试了各种粗细等。他发现 Metafont 在这个阶段很有帮助:

Metafont 终于让我有机会尝试倾斜(真正的斜体)版本的草书。[…] Metafont 的另一个重要功能是它能够从两个极端的基本粗细中创建中间粗细。

斜体文本

几年后,数字化的 Metafont 文件被转换成 Postscript,然后转换成 Opentype,添加了缺失的字符,并进行了一些设计更改,字体最终2009 年以 Nara 名义发布

相关内容