我读到 MetaFont 定义了矢量字体。在其他地方它说它生成光栅输出。MetaFont 到底能生成哪种字体?
答案1
MetaFont 中的字体与 TrueType 和 Type1(以及 OpenType)字体类似。字体以曲线和线条来描述,但显示始终以像素为单位,因为大多数使用的输出格式都是基于像素的(如屏幕、激光打印机等)。不同之处在于(除其他许多不同之外,例如提示)光栅化发生的位置不同。MetaFont 会立即将这些矢量字体转换为位图(pk 文件),而其他字体格式则会在系统级别(如操作系统或 pdf 查看器)转换为像素。如果位图未针对当前输出设备进行优化(这在当今确实很难做到),则输出会变得丑陋。这就是我们今天只使用这些“矢量字体”的原因。光栅化器知道其输出设备。
答案2
Metafont 输出的是光栅字体(换句话说,是位图)。它从不处理矢量形状。是的,曲线是通过编程定义的,但 Metafont 遇到“绘制一些曲线/路径”之类的指令时,它会将路径离散化。这实际上允许以或多或少直接的方式实现 Metafont 的一些功能(如擦除、笔)。