I want to type up some spells from the RPG Call of Cthulhu [1] and give them to my players. I could just type them up in Word or LaTeX, but that seems too...neat. I'd like to make these things look like they were scrawled by a gibbering madman, unhinged by the horrors he has witnessed. Bonus points if you can add any traces of H. P. Lovecraft's Cthulhu Mythos.
Less poetically: Typefaces to make it look scrawled or handwritten, preferably with a quill or calligraphy pen. Ways to make the word spacing less regular (Abuse microtype
in some way?) and ways to put in drop caps are the kind of things I'm looking for.
Bonus points if you can tell me how to typeset an elder sign.
Alright, editing this to be more specific:
(Improved answer thanks to Bruno's help on his code)
I've implemented some of the things I mentioned in my earlier answer [1], but I felt this was different enough to get a separate answer.
Once again, tex.sx provided me with a couple of things I needed for this. Bruno Le Floch [2] wrote some code that rotates arguments at a random angle [3] and helped shortening it for this answer. Martin Scharrer [4] showed how to execute a command for every word [5]. Thanks to both of them.
Starting at the top of the code, here's what I did to change the design:
extarticle
[6] document class\eldersign
that inserts an elder sign, sized in relation to the current font size. You need to find an elder sign that you can use, I put in the placeholder eldersignimagefile
. I recommend using a PNG image or some other format providing background transparency.fontspec
, as I described in my other answer. (I haven't tested Bruno's and Martin's code with XeLaTeX though.) With a different font, you might want to choose a different font size and different rotation angles.backgroundimagefile
MidnightBlue
(svgnames
color scheme)Whenever you want to typeset text crazily, you have to pass it as an argument to \cthulhu
. For an elder sign, just use \eldersign
. You might want to adapt your image to suit the text color.
This is just hacked together and you will very likely run into problems once you start using it more extensively. Take it as inspiration. It was fun for me putting it together. Feel free to make suggestions on how to improve this.
\documentclass[17pt]{extarticle}% This is a document class providing more font size options
\usepackage[svgnames]{xcolor}
\usepackage{graphicx}
\usepackage{emerald}% font package
\usepackage[doublespacing]{setspace}% line spacing
\usepackage[T1]{fontenc}
\usepackage{wallpaper}
% thanks to Bruno Le Floch: https://tex.stackexchange.com/q/9331/4012
% and in his comments to https://tex.stackexchange.com/a/29458/4012
\usepackage{rotating}
\usepackage[first=-6,last=6]{lcg}% you can play around with these values
\makeatletter
\newcommand{\globalrand}{\rand\global\cr@nd\cr@nd}
\makeatother
\newcommand{\randomrotation}[1]{\globalrand\turnbox{\value{rand}}{#1}\phantom{#1}}
% thanks to Martin Scharrer: https://tex.stackexchange.com/q/11598/4012
\makeatletter
\def\cthulhu#1{%
\@cthulhu#1 \@empty
}
\def\@cthulhu#1 #2{%
\randomrotation{#1}\space
\ifx #2\@empty\else
\expandafter\@cthulhu
\fi
#2%
}
\makeatother
% ----------
\newcommand{\eldersign}{\raisebox{-.5\height}{\includegraphics[height=3ex]{eldersignimagefile}}}
\renewcommand*{\rmdefault}{fts}
\begin{document}\pagestyle{empty}\CenterWallPaper{}{backgroundimagefile}
\centering% that madman wouldn't justify his writings
\color{MidnightBlue}% my pick for "looks like ink"
\cthulhu{Hello, I am crazy. I am a Cthulhu worshipping gibbering madman, unhinged by
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by
the horrors I have witnessed. I am a Cthulhu worshipping gibbering madman, unhinged by
the horrors I have witnessed.} \eldersign
\end{document}
On the other points you mentioned: I don't think Dropcaps would look good here; they convey something of a plannedness which wouldn't be in the style of my madman. As for font size changes and random word spacing, I don't know how to do that automarandomly.
[1] https://tex.stackexchange.com/a/29406/4012fontspec
. - doncherry
\easteregg
command. Something like \newcommand{\randomrotation}[1] {\globalrand \rescalebox{\value{rand}} {\globalrand \turnbox{\value{rand}}{#1}\protect\phantom{#1}}}
should be enough (not sure about the rescalebox part, but something like this ought to work). - Bruno Le Floch
\newcommand{\randomrotation}{}\easteregg\randomrotation
=> \newcommand{\randomrotation}[1]{\globalrand\turnbox{\value{rand}}{#1}}
. Maybe you'll need to \protect
either \globalrand
or \turnbox
, I don't remember why I had that in my original code. I think the rescaling requires more work, that was probably the cause of many errors. - Bruno Le Floch
\protect
neither, both or either one of \globalrand
or \turnbox
-- everything results in two lines with multiple layers of text on top of each other. - doncherry
\phantom
. Let me try once more: \newcommand{\randomrotation}[1]{\globalrand\turnbox{\value{rand}}{#1}\phantom{#1}}
. If I'm wrong again, I give up :). - Bruno Le Floch
emerald
is freely available from CTAN, but it is indeed not in TeX Live, so you'll have to install it manually. - doncherry
Going straight to the source, the H.P. Lovecraft Society [1] offers a number of fonts (some free, some for sale), including Lovecraft Cursive (unfortunately not part of the free set). The whole set of 50 fonts is available for $35.00 and contains more than 80 beautifully rendered digital props.
A quick Google search for "free handwriting fonts" finds this site: Fontspace [2], and the following font Signerica [3] looks like it might meet your needs. Compile with XeLateX or LuaLateX:
\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{Signerica Medium}
\begin{document}
Some text written by a crazed madman.
\end{document}
Since I have no idea what an elder sign is, I guess I don't get any bonus points.
[1] https://store.hplhs.org/collections/games-props/products/hplhs-font-and-prop-comboMy humble attempt (thanks to xelatex
):
My code to question #29402 on TeX.SX [1]
I'm sorry, friends. TeX.SX
seems to forbid answers with more than 30,000 characters. Mine was 50,138 - say again?! - so I had to paste the code on GitHub. Just because it was a TikZ-Cthulhu... :-P
The output:
I used the following font: YouMurderer BB [2]
[1] https://gist.github.com/1242061:-)
First, I looked for a nice "cthulhu" raster linear drawing. Then I used a tool called potrace
to transform it into a vector format. I got a nice cthulhu.eps
file from the original image. Then I imported the eps
file in inkscape
and used a plugin called inkscape2tikz
for exporting all paths as TikZ/PGF paths. It generates a big code. :-)
- Paulo Cereda
I recently had occasion to want to have paths in TikZ that corresponded to characters in some font, so I figured out a process whereby I could convert a font to a family of PGF paths which could then be used in TikZ pictures as node shapes. This allows for fancy font effects and doing things to letters that are a little .. unusual. Out of pure curiosity, I tried putting the random steps
decoration on the letters and the effect reminded me of this question.
So here's the cheery sticker that any self-respecting madman would have above his or her workplace:
Believe it or not, the font used there is the famous STIX font. Not sure the original designers would approve, though. It is also properly kerned and the lines are automatically broken (though I didn't try to implement any fancy line-breaking algorithm).
Here's the code that produced that:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.letters,positioning,decorations.pathmorphing}
\pgfmathsetmacro{\emcm}{1em/1cm}
\tikzset{
letter/.cd,
load font={stikz}{normal},
size=4,
encoding=name,
}
\begin{document}
\madman[transform canvas={scale=\emcm/2},letter/sentence width=4\textwidth]{%
Just because I{quotesingle}m a crazed madman doesn{quotesingle}t mean I have to work here{comma} but it helps{period}%
}
\end{document}
The astute who know their PGF manual well will already know that the library shapes.letters
is not on the official list. You can get it from the
TeX-SX Launchpad
[1] site: run tex pgflibraryshapes.letters.dtx
to generate the library. You also need the file stikz-normal-paths.tex
.
(The user commands might change - this is a new library.)
[1] https://launchpad.net/tex-sxThe four fonts are, respectively, Zothique Demo, Zombified, Arthur, and Daemonesque. I provide a secondary zoom on the Daemonesque, which looks to have been constructed by H. Bosch himself.
I see that the fonts are currently available at the following sites:
http://www.urbanfonts.com/fonts/Zothique_Demo.htm
http://www.fontspace.com/sinister-fonts/zombified
http://fontparadise.com/fonts.php?SearchFor=arthur&type=search [1]
http://fontparadise.com/fonts.php?SearchFor=daemonesque&type=search [2]
However, when I downloaded them years ago, I had acquired Zothique Demo and Zombified at a this site, which is no longer in business:
http://fonts.lordkyl.net/fonts.php?category=34
If you want to dabble with Knuth's own punk
font, check out
this file
[1] for a demonstration based on an opentype (re)implementation, called punknova
, of what is probably Knuth's most-ignored (or most-disregarded?!) font. :-)
If you want to stick with something that can be processed by "ordinary" (i.e., pdf-) latex, as opposed to xelatex and lualatex, check out http://www.ctan.org/pkg/punk-latex for some details.
That said, I have no knowledge whatsoever of Cthulhu, and hence I have no idea if punk
is even remotely akin to what you may be looking for! :-)
% Compile with XeLaTeX
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Comic Sans MS}
\begin{document}
I'm a Cthulhu worshipping gibbering madman, unhinged by the horrors I have witnessed.
\end{document}
On a more serious note, you can find a number of fonts to consider at The LaTeX Font Catalogue, Calligraphical and Handwritten fonts [1]. If they don't seem crazy enough, you can get any font you like anywhere on the Internet, e.g. at the pages Mico recommended, and use them with XeLaTeX, just like in my above sample.
For really basic irregular word spacing, you could use "manual" spaces like ~
and \,
, but there certainly are automated and more sophisticated ways of doing that.
For drop caps, use the package
lettrine
[2]. Special initial fonts are at the
Font Calalogoue
[3], too.
The elder sign is probably best included as an image, using the package graphicx
. If you specify the image width or height using em
(width) or ex
(height) as a unit, the image will be sized relatively to the current font size.
For really crazy writing, I suggest The Written Word [1]. Or its companion The Printed Word [2]
[1] http://www.myfonts.com/fonts/letterror/the-written-word/
fontspec
you can actually use any .otf or .ttf font in LaTeX. - Caramdirpunk
that was written by Knuth himself; maybe it's available to LaTeX users too (in addition to "plain TeX" users)? Look into it. - Mico