我想模拟 20 世纪早期书籍中的文本。我选择了 librecaslon 字体,因为它看起来匹配得很好,而且 Latex 渲染效果很漂亮 - 太漂亮了,不符合我的品味。相反,我希望它更“不完美”,就像下面的例子一样:
如您所见,这些字母并不清晰,而是有些磨损,这是由于不完善的印刷工艺(当时比现在更不完善)造成的(图像来自印刷和扫描的书籍)。
这样的事可行吗(无需更改字体)?或者还有其他方法吗(例如以某种方式对生成的 pdf 文件进行后处理)?
我看到了类似的问题:使用 TeX 模拟打印瑕疵和缺陷? 但是,建议使用其他字体,或在文档中添加墨迹,这与我的用例略有不同。
编辑:为我的 Latex 文本添加了示例输出。下行是在 Adober Reader 中禁用抗锯齿的。这更接近我最终想要的效果,但制作起来不切实际(使用 Reader)。
答案1
该图显示了该文件
\documentclass{article}
\usepackage{librecaslon}
\usepackage[T1]{fontenc}
\begin{document}
We lay at Queenstown. Something was wrong with.
\end{document}
排版通过:
latex file
dvips -X 100 -Y 100 -V file
ps2pdf file
然后
latex file
dvips -X 200 -Y 200 -V file
ps2pdf file
然后
latex file
dvips -X 300 -Y 300 -V file
ps2pdf file
然后
pdflatex file
答案2
关于这些“不完美”的性质,我们在网上找到了很多 1923 年以前的书籍的扫描版本(例如在 Google Books 上),在屏幕上阅读了很多,习惯了它们的外观,并寻求类似的外观,甚至开始认为这就是实际的书籍看起来!但事实上,许多“不完美”其实来自于扫描过程(而且是腐烂的书籍),并且不代表当时的实际印刷技术。
当时的书其实并不差:人们的标准总体上并没有降低。虽然你无法回到过去,看看这些书在新书时是什么样子,但至少你可以消除扫描过程中的瑕疵,只要去图书馆拿一本旧书,而不是在屏幕上看就可以了。
考虑问题中的示例图像:
并将其与略微(仅仅)更高分辨率扫描的等效区域进行比较这里:
您会注意到,前一张图片中的一些瑕疵在后一张图片中并不存在。以下动画可能有助于比较(重点关注其中一个字母):
“lay”中的小写 L 和“Queenstown”中的大写 Q 就是很好的例子。
导致第一幅图像不完美的潜在原因:
印刷
这些旧书必然会用热金属排版(字块由铅制成),可以用铸字机(例如 Linotype/Monotype)排版,也可以手工排版。
可能出错的一件事是,当墨水接触到页面时,它可能会扩散一点。或者字母位置可能会有一点偏差:明显地,比基线略高或略低。您可以通过随机化 DVI 文件中“set char”和“put”指令中的位置来重现这种情况:稍微调整 y 和 x 偏移量。(但可能永远不会减少单个单词内的 x 偏移量,作为类型排序字母之间的距离不能比最小值更近吗?)
时间
随着书本的老化,书页会变黄,因此墨水和纸张之间的对比度会降低。书页会随着使用而磨损,上面的印刷也会变得不均匀,并且可能会有灰尘。回答链接的问题有一些方法可以重现这种情况(为了效果而夸大了;你可能不想要那么多)。
扫描
这样的书进入扫描仪后,大多数“瑕疵”就会悄然出现:书本的图像(更接近第二张)以可接受的分辨率拍摄。然后选择某个暗度/对比度阈值来将墨水与页面区分开来,从而使其变成黑白的。这就是大多数错误出现的地方:除了已经有限的分辨率之外,页面上的磨损、灰尘和斑点等导致无法完全确定哪些是墨水哪些不是墨水。这解释了您在示例中看到的大多数伪影。
您可以通过使用低分辨率位图字体处理 DVI 来重现其中的一部分,因为字体被迫做出类似的决定来决定将它们的像素放在哪里。