Writing with “Tengwar”

Tengwar are one of the scripts invented by J.R.R. Tolkien for his fantasy languages. One of the features of this script is its beautiful and natural look, another feature is the fact that a great quantity of languages can be written with it. For further information, see the Links section below.

The document “Modo de escritura «tengwar» para el castellano” (“‘Tengwar’ writing mode for Spanish”) shows how Tengwar can be used to write Spanish texts. The corresponding LaTeX source code is also available.

Tengwar in LaTeX

To help with writing Tengwar with (La)TeX there is a package called TengTeX (in CTAN, unofficial updates, adaptation to Spanish). However, this method has the drawback that it is not easy to add or modify writing modes (the correspondence between Latin alphabet and Tengwar) or change the placement and other features of Tengwar signs. For this reason, I have created a new LaTeX package called TengwarScript, that permits a lower level control of Tengwar script.

The idea behind this new package is to provide a macro for each Tengwar sign, which will place it appropriately with respect to the previous signs (either above the precedent sign, or next to it, or below it…). So, by calling the macro \Ttinco the Tengwa “tinco” is written, and if after that the macro \TTthreedots is called, the the three dots sign will be placed above the previous Tengwa. In this way, a Tengwar text can be written in a natural way, just like it would be written by hand, although it is rather cumbersome to type every Tengwa or sign name (there is a solution to this, see Transcription below).

Besides the above macros, it is also needed to have suitable fonts for Tengwar representation. There are several high quality Tengwar fonts, but not all of them are available in PostScript Type 1 format, the more appropriate for use with LaTeX; however, it is possible to convert True Type fonts to Type 1 and, at least if pdfLaTeX is used, ttf format fonts can be used directly as well. The TengwarScript supports most popular Tengwar fonts, including Dan Smith’s fonts, Måns Björkman’s “Tengwar Parmaite” and Johan Winge’s “Tengwar Annatar”

This package is available, together with usage instructions and examples, right here: tengwarscript-1.3.zip and from CTAN: www.ctan.org/tex-archive/macros/latex/contrib/tengwarscript/.


As mentioned above, the Tengwar script can be used to write a variety of languages, natural or artificial, but that does not mean there is a direct equivalence between the letters usually employed in other writing systems (e.g., Latin alphabet for English) and Tengwar. The rules for Tengwar writing differ from language to language, since it is an approximately phonetic writing: just as the letter e has different pronunciations in English, Spanish or French, the equivalence between Latin letters and Tengwar is also different in these languages. To write Spanish with Tengwar it is recommended to use the so-called “agreed mode” (lambenor.free.fr/tengwar/espanol.html). There are other modes for other languages, some of them are described in Amanye Tenceli (at.mansbjorkman.net).

The conversion of a text written in a “normal” alphabet (usually Latin) into Tengwar is what we call transcription. There are several computer programs to perform this transcription automatically: Tengwar Scribe, YaTT, KTT. However, these programs are set for Tengwar fonts with the encoding from Dan Smith’s fonts, and they are not suitable for generating macros such as \Ttinco, needed by the TengwarScript package. Moreover, the configuration files describing the different transcription modes for these programs are not easy to edit “by hand” and one has to use specific editors, which are Windows-only, as far as I know. Therefore, my other project was creating a new program which was intended to be more versatile and portable, in lack of a better name it is called ptt (Perl tengwar transcriber).

It is easy to guess that ptt is written in Perl. This means it can be run on any platform with a Perl interpreter (Linux, Windows, Mac Os…) and can be very easily modified. In addition, mode description files for ptt are also much easier to edit, since they are plain text files and they use the power of Perl’s regular expressions. Its main drawback is that it is a text program, with no buttons, mouse, help menu, etc. But we can survive without that.

The ptt program, with user guide, can be obtained here: ptt-1.2.zip. Transcription modes for Quenya and Spanish are also included (since version 1.2, the Spanish mode has options for, among other things, using “tehtar” or “full vowels”), which generate an output suitable for the TengwarScript package. A conversion mode for the Dan Smith encoding is provided too.


As a sample, here we have some texts transcribed with ptt and generated with TengwarScript “as is”, with no fix-ups (for better or worse):



© Ignacio Fernández Galván, 2018
Contact address: jellby@unex.es
Public pgp key: 0x01A95F99.
Last change: 4 February 2014.