现代胖电脑

现代胖电脑

我非常喜欢 Computer Modern 字体的设计,只是笔画(主要是细线)太细太“细”,因此不太适合电脑屏幕等低分辨率设备。我想我并不孤单——我经常看到有人抱怨这一点。只需使用一些“更粗”的参数值重新运行 Metafont 就可以解决这个问题,不是吗?有人这样做过吗?

我自己发现了一些事情:

  1. Alan Hoenig 创建了一个名为 MathKit 的软件包。其目的是定义一组参数,使 Computer Modern 字体看起来像标准字体(Times、Palatino 等)。Cambria 字体又好又粗。我想可以使用 MathKit 创建类似于 Cambria 的 CM 粗体。当然,我也可以只使用 Cambria,但 CM 对我来说看起来“更漂亮”(不知何故)。

  2. Metafont 具有“blacker”等参数,旨在根据输出设备的属性调整栅格化。在古代,人们经常摆弄这些参数,以便在当时的打印机上获得良好的输出(通常分辨率为 200 到 300 dpi)。当然,如果您使用的是轮廓字体而不是位图字体,这些都无济于事。使用轮廓字体时,操作系统或查看应用程序会处理栅格化,这超出了您的控制范围。

  3. 也许可以通过调整 CM 轮廓字体的提示来解决问题,但提示似乎是一种几乎无人知晓的黑魔法。标准 Y&Y/Blue Sky CM 字体是由真正的专家提示的,因此进一步的提示练习不太可能产生更好的结果,大概如此。

  4. 可以使用较小的设计尺寸,如 NauC 在下面答案中所建议的那样。这将产生更粗的笔画。它还将产生更宽的字符,但我认为我可以使用 的fontspec“FakeStretch”再次缩小它们。最终结果(如果我幸运的话)将是具有更粗细线条的字符。

为了尝试#4中的想法,我使用了以下代码:

\documentclass[a4paper,10pt]{memoir}
\usepackage{fontspec}
\defaultfontfeatures{Scale=MatchLowercase}

\begin{document}
\raggedright

\chapter{Motivation}
\section{Background Material}
bedbugs in flowery bloomers.

\fontspec[OpticalSize=0, FakeStretch = 0.876]{Latin Modern Roman 7 Regular}
bedbugs in flowery bloomers.

\fontspec[OpticalSize=0, FakeStretch = 1.09]{Latin Modern Roman 17 Regular}
bedbugs in flowery bloomers.

\end{document}

我得到了以下结果: 三只臭虫

当然,在如此巨大的尺寸下,任何光栅化看起来都很好。我提供这些图像只是为了让人们看到轮廓差异。对我来说,重要的是第二行在 PDF 查看器中小尺寸下看起来比第一行更好,所以我对进展感到满意。我是 TeX/LateX 的初学者,所以也许更有经验的人可以改进我的解决方案。现在我需要弄清楚如何用数学做同样的事情。

答案1

这个帖子德国排版板上的 为这个问题提供了一个可能的解决方案。OP 还提供了 Knuth 的“数字排版”的片段,以表明 CM 在打印时从来就不应该显得那么薄(就像现代激光打印机那样;参见第三个片段)。

另一种解决方法(虽然不太好用)是使用不同的标准文本光学尺寸。如果您将文本设置为 11pt,则默认光学尺寸为 10pt。选择 9pt 会导致笔画略粗,但字母形状也会略宽。

答案2

MLModern包的设计目的正是解决这个问题;它是所有主要 TeX 引擎的替代品,cm-super并且。lmodern\usepackage{mlmodern}

答案3

如果你只对实物印刷品感兴趣,你可以看看字体包。这些字体在数字上看起来不太好,至少我试过的时候不是这样,但打印出来很好。打印的文档看起来不错,字符字形看起来相当黑,也许这就是它们本来的样子,虽然我同意这不是在电脑屏幕上查看的最佳解决方案。你可以看看新电脑现代字体为现代 OTF 字体,具有完整的 Unicode 支持,且具有更粗的“书籍”重量。

相关内容