The One Ring, Tengwar fonts on LaTeX

J. R. R. トールキンの『指輪物語』("The Lord of the Rings") にテングワールという謎めいた文字が出て来る。架空の言語は謎めいたファンタスティックな世界の完結性をこの上もなく表わしている。あの恐ろしい力を持つ The One Ring にモルドール語で刻印された火文字を,LaTeX tengwarscript パッケージで組んでみた。

20110418-tengwar.png
一つの指輪は,すべてを統べ,一つの指輪は,すべてを見つけ,
一つの指輪は,すべてを捕えて,くらやみのなかにつなぎとめる。
J. R. R. トールキン『指輪物語1』瀬田貞二・田中明子 訳,評論社,1992年,p. 112.

tengwarscript は CTAN: macros/latex/contrib/tengwarscript/ にある。バージョンは 1.3。フォントは何種類も出回っているが,私は AnnatarFormal だけを組込んで試してみた。上の画像は Annatar Italic である。流麗でなんとも美しい。原稿は以下のとおり。このモルドール語テクストはパッケージ添付 tengtest.tex にサンプルとして掲載されている。これを pdflatex で処理した。

% -*- coding: utf-8; -*-
% Tengwar on The One Ring from "The Load of the Ring" 
\documentclass[12pt]{article}
\usepackage[pdftex]{color}
\usepackage[T1]{fontenc}
\usepackage[all]{tengwarscript}
\usepackage[osf,swashQ]{garamondx}% Garamond fonts
\definecolor{charc}{cmyk}{0,0.77,0.87,0}%
\pagestyle{empty}
\begin{document}
\noindent
 
\begin{center}
\color{charc}
\tengwarannataritalic[2.0]
\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{center}
 
\bigskip
\begin{center}
\large\slshape
One ring to rule them all, One ring to find them,\\
One ring to bring them all and in the darkness bind them.
\end{center}
\end{document}

tengwarscript のインストールは通常の LaTeX パッケージ組込となにも変わらない。ダウンロードした tengwarscript リソースを TDS に準拠して TeX ツリーに格納し,tengwarscript.mapupdmap-sys で登録する。フォントもほぼ同じだけれど,Formal については TrueType フォントファイル名を tengwarscript.map の記載に合わせてリネームする必要がある(もちろん map を訂正してもよい)。テングワール文字の出力命令については,ドキュメント tengwarscript.pdf を参照。
 

※ 4.20 付記

一応,端末上のインストール・オペレーションもメモっておく。端末操作は tcsh シェルである。TeX ツリーはローカル texmf とし,そのトップ・ディレクトリ名称を /usr/local/texlive/texmf-local としている。

まず,作業ディレクトリ(ここでは ~/tmp/tengwar)で tengwarscript パッケージをダウンロード,展開し,dtx, ins ファイルを latex 処理する。dtx はドキュメントでもあり,以下の操作ではリファレンス解決のため 2 回実行している。もとより PDF はすでに添付されているのできちんとした dvi ファイルが不要ならば,1 回の処理でもよい。

% mkdir -p ~/tmp/tengwar
% cd ~/tmp/tengwar
% set WGET="wget -nH -nd"
% set TEXDIR="/usr/local/texlive/texmf-local"
% $WGET http://mirror.ctan.org/macros/latex/contrib/tengwarscript.zip
% unzip tengwarscript.zip
% cd tengwartscript
% latex tengwarscript.dtx
% latex tengwarscript.dtx
% latex tengwarscript.ins

次に,Annatar 及び Formal フォントをダウンロード,解凍する。Formal フォントについては,map の記述に合うようにファイル名を変更する。

% $WGET http://home.student.uu.se/j/jowi4905/fonts/tngan120.zip
% unzip tngan120.zip
% $WGET http://tengwarformal.limes.com.pl/fonts/TengwarFormal-12c-ttf-pc.zip
% unzip TengwarFormal-12c-ttf-pc.zip
% cd TengwarFormal-12c-ttf-pc/fonts/
% mv TengwarFormal12b.ttf TengwarFormal12.ttf
% mv TengwarFormalA12b.ttf TengwarFormalA12.ttf

su -m で特権ユーザとなり,上で展開したリソースを TeX ツリーに格納し,フォントマップ登録を行う。

% cd ~/tmp/tengwar/tengwarscript
% su -m
# mkdir -p $TEXDIR/{doc/latex,tex/latex,fonts/\
{tfm,vf,type1,truetype,map/dvips,enc/dvips}}/tengwarscript
# cp -p *.pdf $TEXDIR/doc/latex/tengwarscript/
# cp -p *.cfg *.sty $TEXDIR/tex/latex/tengwarscript/
# cp -p tfm/* #$TEXDIR/fonts/tfm/tengwarscript/
# cp -p vf/* $TEXDIR/fonts/vf/tengwarscript/
# cp -p map/* $TEXDIR/fonts/map/dvips/tengwarscript/
# cp -p enc/* $TEXDIR/fonts/enc/dvips/tengwarscript/
# cp -p *.ttf $TEXDIR/fonts/truetype/tengwarscript/
# cp -p TengwarFormal-12c-ttf-pc/fonts/*.ttf \
$TEXDIR/fonts/truetype/tengwarscript/
# mktexlsr
# updmap-sys --enable Map=tengwarscript.map

以上。