LaTeX does an outstanding job in typesetting things perfectly (as if that needed to be said yet one more time...).
Now, I'd like to introduce certain imperfections to my text to make it look like it has been typed up with an old typewriter - spots, lines, missing "blackness" (eg. running out of ink), jaggedness of characters, some of them being a little bold while others are a little faint, characters "dancing around" (ie. not being totally straight on one line) and so on.
Using "typewriter" fonts does an ok job, but the imperfections are always the same - eg. every letter e is always more bold then others, every letter o has a little dot in it and so on. This is not what I seek, but rather introduce a certain randomness of these variations and imperfections with every typeset-run I go through.

I have looked at this example, but the output is still very nicely, evenly typeset and there is no variation to each letter.
This Cthulu worshipper is looking for a crazy typeset - yet the typeset is the same every time and it, again, relies heavily on certain fonts.

Here's a small list of images I found online that might give you an idea of what the output is supposed to look like:
- An old typewriter page
- Another page, with the model of the typewriter used stated
- Even wikipedia has an example, and having typewriter sounds on the page makes me feel very old


Before you feel you have to ask: Why would I want this? - Well, I just recently got interested in the brave RetroBSD community and started liking vintage IT stuff - so now the next step would be to reproduce (on todays high quality printers) the imperfections of yesterdays printers, maybe even going back to the daisy wheel time or the time of manual typewriter usage. If someone reading this happens to know where I can find a vintage VT100 dumb terminal.... ;)

  • 4
    also related: tex.stackexchange.com/questions/122970/… – domenico camasta Oct 9 '14 at 9:20
  • Interesting idea. That, combined with a random placement of those "specs" and using a font that is a bit uneven to start with would be a good start. Maybe even the blotches can be created randomly? (God, I am being shown how little I actually know every day again...). – Christian Oct 9 '14 at 9:53
  • 2
    Possibly also related: tex.stackexchange.com/q/161920/21344 – Paul Gessler Oct 9 '14 at 13:57
  • It is very much related, yet relies heavily upon external tools (ie. not reading the font directly but from a cut-up SVG file). I'll follow the answer and see if I can get more then just single words from it but rather extend it to whole pages, but my guess would be I'll fail (because of my own lack of knowledge, not because of the answer to being very thorough!). – Christian Oct 9 '14 at 15:37
  1. Typeset the document using some typewriter font (see http://www.tug.dk/FontCatalogue/typewriterfonts.html)
  2. Generate the pdf file and use GIMP to introduce some random noise. See http://www.xach.com/gimp/tutorials/rough.html

Once you find the set of parameters to do the desired effect, you can automatize this by creating a script, that will process the pdf files you have created with LaTeX.

  • 1
    Welcome to TeX.SX! I don't think that this what the OP meant by "random imperfection". – Christian Hupfer Nov 28 '14 at 17:30
  • It actualy is not, but the idea is interesting enough. I was looking for adding the imperfections on the typeset level itself, but that seems to be impossible. Could imagemagick do the above, too (as that is much more scriptable)? Does The GIMP work on the PDF/vector level? +1 for sharing an interesting idea! – Christian Nov 28 '14 at 20:59
  • Sure, see imagemagick.org/Usage/blur. Gimp can import images from pdf file, but then it manipulates on raster data. If you want to do it on vector data, use Inkscape. – Augustin Nov 29 '14 at 16:31

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.