Make a font “imperfect”

I want to simulate text from a early 20th century book. I chose the font librecaslon, as it seems to match quite well, and Latex renders it beautiful - too beautiful for my taste. Rather, I'd like to have it more "imperfect", like the following example:

As you can see, the letters are not clear-cut but somewhat frayed as per the (then more than now) imperfect printing process (image is from a printed and scanned book).

Is something like this possible (without changing the font)? Or are there alternatives (e.g. postprocessing the produced pdf file somehow)?

I saw this similar question: Simulate printing imperfections and defects with TeX? However, suggestions were to use another font, or add ink blots to the document, which is subtly different from my usecase.

Edit: Added sample output for my Latex-made text. Lower row is with anti-aliasing disabled in Adober Reader. This comes a bit closer to what I want to have in the end, but would be impractical to produce (using Reader).

• Are you sure the imperfection is present in the book itself, and not from the scan of the book? :-) Can you upload a higher-resolution image of the kind of imperfection you're seeking? E.g. simply making the letters more pixelated, as in your “anti-aliasing disabled” example and as in David's answer, might be enough if that's the kind of imperfection you want… but I have a feeling that the defects in actual books were of a different nature (as their type was not made of pixels!) – ShreevatsaR Aug 19 '17 at 15:04
• Thanks for your comment, you're actually right - I had a look into another scan of the document (archive.org/stream/steerageshamimmi00heat#page/n5/mode/2up) which is of higher quality, and does not show the same amount of imperfection. – Wang Tang Aug 19 '17 at 15:21

The image shows the document

\documentclass{article}

\usepackage{librecaslon}
\usepackage[T1]{fontenc}

\begin{document}
We lay at Queenstown. Something was wrong with.
\end{document}


typeset via:

latex file
dvips -X 100 -Y 100 -V file
ps2pdf file


then

latex file
dvips -X 200 -Y 200 -V file
ps2pdf file


then

latex file
dvips -X 300 -Y 300 -V file
ps2pdf file


then

pdflatex file

• Hadn't thought of toying with the resolution, as most I do in Latex is using my editor with pre-set compile commands. Good idea, I'll work with that! – Wang Tang Aug 19 '17 at 15:22
• @WangTang don't think I've used those dvips options since last century, but they perhaps come in useful here:-) – David Carlisle Aug 19 '17 at 15:34
• toying with the resolution will certainly result in imperfections, but not the same kind that would result from the impression of worn type on paper. – barbara beeton Aug 19 '17 at 16:10
• @barbarabeeton I know but the OP had already said that turning off anti-aliasing was good enough so ..... – David Carlisle Aug 19 '17 at 16:20

A note on the nature of these “imperfections”: we find a lot of pre-1923 books available online in scanned versions (such as on Google Books), read a lot of them on screen, get used to their appearance, and seek a similar appearance, or even begin to think that this is how the actual books looked! But in fact, many of the “imperfections” are actually from the scanning process (and of decaying books at that), and not indicative of the actual printing technology of the time.

The books of the time weren't really terrible: people didn't, by and large, have lower standards. Although you cannot go back in time and see how these books looked when new, at least you can eliminate the artifacts of the scanning process, by visiting a library and picking up an old volume, rather than looking at one on screen.

Consider the example image in the question:

and compare it to the equivalent region from a slightly (just barely) higher-resolution scan from here:

You'll notice that some of the imperfections in the former image are not present in the latter. Here's an animation that may help compare (focus on one of the letters):

The lowercase L in "lay" and the uppercase Q in "Queenstown" are good examples.

Potential sources of imperfection leading up the first image:

Printing

These old books would invariably have been produced with hot metal typesetting (the pieces of type were made of lead), either set with a typecasting machine (Linotype/Monotype for example), or set by hand.

One thing that could go wrong is that when the ink hits the page, it could spread a little. Or the letter positions may be off by a bit: notably, slightly higher or lower than the baseline. You could reproduce this by randomizing the positions in the "set char" and "put" instructions in the DVI file: slightly twiddle the y and x offsets. (But probably never decrease the x-offsets within an individual word, as the type sorts for letters couldn't get any closer than the minimum?)

Time

As the book gets older with time, the page yellows, so the contrast between ink and paper decreases. The page gets worn with usage, along with the print on it, unevenly and there may be specks of dust. The answer at the linked question has some ways of reproducing this (exaggerated there for effect; you probably don't want so much).

Scanning

After such a book gets onto a scanner is where most of the “imperfections” creep in: the image of the book (closer to the second one) is taken at some passable resolution. Then some threshold of darkness/contrast is chosen as demarcating the ink from the page, thus making it black-and-white. This is where most of the errors come in: on top of already limited resolution, the wear-and-tear on the page, the dust and speckles, etc., lead to decisions that don't exactly match the reality of what's ink and what's not. That explains most of the artifacts you see in the example.

Part of this you can reproduce by processing the DVI using low-resolution bitmap fonts, as the fonts are forced to make similar decisions about where to put their pixels.

• Thank you very much for the research and insight, and for clearing up my misconceptions! Very interesting to read, and thanks as well for the suggestions for changing the look. – Wang Tang Aug 19 '17 at 22:45