104

Anyone who has read The Lord of the Rings will recognise the Elvish script at the top of this page (in the Tengwar alphabet). If this is meant to be an example of what is typesettable in TeX/related software, what package is used to produce it?

8
  • 1
    I wonder about the elvish tag. Since the script actually has a name, wouldn't it be better to use tengwar instead? Commented Mar 9, 2011 at 14:29
  • 34
    The real question is can you typeset the Black Speech of Mordor in TeX?
    – Canageek
    Commented Dec 18, 2011 at 21:14
  • 6
    @Canageek --- Yes. Use Elvish letters as Sauron himself did for the inscription on the One Ring. Commented Jan 4, 2012 at 23:47
  • @IanThompson I noticed that this was already mentioned in the answer below shortly after I posted it.
    – Canageek
    Commented Jan 5, 2012 at 1:50
  • 3
    I always wondered why there was Elvish script at the top of the page. (Not that I dislike Lord of the Rings, but it seems like an odd choice.)
    – jon
    Commented Apr 6, 2014 at 15:45

6 Answers 6

85

Here's how to do that particular inscription (which is part of the ring inscription, by the way). I happen to know because I recently used it in a diagram!

\documentclass{minimal}
\usepackage[annataritalic]{tengwarscript}

\begin{document}

\tengwarannataritalic[2.5]
\tengwa{254}
\Textendedcalma\TTthreedots\Tnuumen\Tessenuquerna\TTthreedots\Tungwe\Tando\Toore\TTrightcurl\Tumbar\Ttinco\TTthreedots\Tlambealt\TTrightcurl\Tquesse\TTdoublerightcurl
\Tromanperiod\Ts
\Textendedcalma\TTthreedots\Tnuumen\Tessenuquerna\TTthreedots\Tungwe\Tungwe\Tumbar\TTnasalizer\TTdot\Ttinco\TTthreedots\Tlambe\TTrightcurl
\tengwa{255}\\
\Textendedcalma\TTthreedots\Tnuumen\Tessenuquerna\TTthreedots\Tungwe\Tthuule\Troomen\Tquesse\TTthreedots\Ttinco\TTthreedots\Tlambealt\TTrightcurl\Tquesse\TTdoublerightcurl
\Tromanperiod\Ts
\Textendedungwe\TTthreedots\Tumbar\Toore\TTrightcurl\Tesse\Tkern{-0.2}\Tmalta\TTrightcurl\Textendedcalma\TTdot\Ttelco\TTdot\Tquesse\Troomen\Tparma\TTnasalizer\TTdot\Ttinco\TTthreedots\Tlambe\TTrightcurl
\end{document}

Result:

ring inscription

As you can see, the input method is not particularly intuitive, but then I don't think that there is a particularly intuitive way of entering Elvish script. There are a few different packages on CTAN (search for tengwar). The ones I looked at were:

  • tengwarscript: uses commands as above
  • tengtex: uses an "asciification" of the letters

In all cases, you will need to get hold of the fonts. Searching for tengwar font latex brings up all sorts of options, I think (it was a while ago) that I started looking on this site.

(And just 'coz I can, here's the diagram wherein it was used):

Brunnian rings

8
  • 1
    What is that - some kind of crazy wild knot diagram? Commented Mar 9, 2011 at 10:48
  • 2
    @David: Don't you know the different between a knot and a link??? Commented Mar 9, 2011 at 10:58
  • By golly, you're right. But at this resolution, did you expect me to check that it was a link and not a knot? :-P Commented Mar 9, 2011 at 20:25
  • 1
    Obvious now you say it. Thanks for the pointer to where you've used it! Commented Mar 10, 2011 at 0:50
  • The encoding is not intuitive, but there's a tool that might help in djelibeibi.unex.es/tengwar, called ptt.
    – Jellby
    Commented Jun 17, 2012 at 7:04
24

You can use Xe(La)TeX if you use the Unicode (Private Use Area) Tengwar fonts published by the Free Tengwar Font Project and set the rendering engine to Graphite. There are no Ring-like fonts yet, but Tengwar Telcontar is a solid text font, and if you don't care for it Tengwar Formal CSUR is a Unicode version of the moderately popular Tengwar Formal. (FreeMonoTengwar is not good for body text and Constructium, Tengwar Beleriand, and Tengwar Eldamar have some Unicode support but lack the tables needed for tehtar positioning.) You'll need a special keyboard (for instance one of the Free Tengwar Font Project's keyboard layouts) or some such input method, but no extra macros.

Here is what Tengwar Telcontar may look like (note connected characters and uppercase tengwar):

screenshot of tengwar telcontar

\documentclass{scrartcl}
\font\tengtelc="Tengwar Telcontar/GR"
\font\tengtelcCaps="Tengwar Telcontar/GR:203=2"
\begin{document}
\tengtelc
{\tengtelcCaps }      \par
  {\tengtelcCaps } {\tengtelcCaps }  {\tengtelcCaps }.
\end{document}

To illustrate the advantage of using a Private Use Area tengwar font, here is what this code looks like when displayed with FreeMonoTengwar (note how the tengwar show up):

screenshot of the code with freemonotengwar

There is an overview of the Tengwar Telcontar Graphite features.

1
  • 5
    That sounds fantastic. Could you add some links to the fonts? (Also, pardon my ignorance, but I've no idea what "set the rendering engine to Graphite" means.) Commented May 26, 2012 at 17:25
14

There is a package called TengwarScript for that.

14

Following on the approach of the Free Tengwar project that Amy describes.

I would add that, if you are working in Texstudio, and UTF-8, you can use Free Mono Tengwar as the font in your source editor window.

Options -> Configure TeXstudio -> Editor

... and then set the "Font Family:" to FreeMonoTengwar

This font lets you use both Roman letters and Tengwar in your source code.

If you will use Tengwar in your sectioning commands (\chapter, \section, etc), you might want to set the Options -> Configure TeXstudio -> General -> Font: to FreeMonoTengwar. Otherwise, the Structure pane will display boxes where you would expect to see Tengwar.

If you install and use the keyboards supplied by the Free Tengwar project, you can then enter Tengwar directly into the source. To get Tengwar out in the PDF or whatever, you will need to set up and use an appropriate font.

In your preamble, include:

...
\usepackage[utf8]{inputenc}
\usepackage{fontspec}
\newfontfamily{\telcontar}[Renderer=Graphite]{Tengwar Telcontar}
...

Then, in your document itself, you can use:

{\telcontar      ⁘  } 

Note, that text above probably looks like boxes in your browser, but it should cut and paste successfully into your TeXstudio source window, and the image below should show it clearly.

Hisiel ar Nenwe tirat i taure.

When that was compiled with XeLaTeX, I got:

enter image description here

I think it is probably better to "think" your Quenya (or Sindarin) in Tengwar and not in Roman transliteration, so enter Tengwar directly. That said, I suspect that Tolkien might have done most of his work in Roman transliteration. Still, the Tengwar is more fun, and this is something done for fun and beauty.

[Ah, the Tengwar above is "Hisiel ar Nenwe tirat i taure." I believe that to be "Hisiel and Nenwe are watching the forest." ]

Being editor agnostic, the procedure I would recommend is:

  1. Download and install the fonts and keyboards provided by the Free Tengwar Font Project. (Link in Amy's solution.)

  2. Configure your editor to use UTF-8 encoding and FreeMonoTengwar.

  3. Edit your preamble (as shown above) to use Tengwar Telcontar to output the Tengwar unicode symbols.

  4. Use the Free Tengwar keyboards to enter Tengwar directly into your LateX source.

  5. Use xelatex -synctex=1 -interaction=nonstopmode filename.tex to compile your LaTeX.

5
  • In most if not all editors you can change the font for the source window, not just TeXstudio. I guess the important thing here is that it must UTF-8 able.
    – Speravir
    Commented Apr 5, 2014 at 22:18
  • Yes, working in UTF8 is very important. I will add that in above. Commented Apr 6, 2014 at 14:43
  • Thanks for adding the details! Next time I want to get elvish script in one of my papers then I know what to do. I completely agree with the "something done for fun and beauty" - best of both worlds. Commented Apr 7, 2014 at 6:54
  • (Just read your profile ... welcome to the site and good luck with the projects.) Commented Apr 7, 2014 at 6:55
  • On Linux, an alternative to using a different keyboard layout would be to define your own compose-key shortcuts.
    – Davislor
    Commented Sep 2, 2018 at 17:55
4

Using XeLaTeX with a Unicode font is an approach that generalizes well to other non-Latin scripts. While Tengwar isn't officially a part of Unicode, the de facto standard is the CSUR encoding used by the Free Tengwar Project.

A font that uses this encoding and resembles the One Ring inscription script is Tengwar Artano. It's built (by me) using glyphs from Tengwar Annatar Italic, as used by the tengwarscript package.

EDIT: The statement "there are no Ring-like fonts yet" in one of the popular answers on this question motivated this: there is one now.

1
  • Could you update the link in your first hyperlink please, it doesn't work, nice answer but could you fix the first link please :)
    – piJT
    Commented Jun 23, 2023 at 1:04
3

I ended up making this work with

\pdfmapfile{=tengwarscript.map}
\usepackage[annataritalic]{tengwarscript}

in my preamble, using fonts from:

http://www.thehutt.de/tolkien/fonts.html

And directions from:

https://github.com/nbeaver/tengwarscript-install-guide/blob/master/readme.rst

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .