%%
%% This is file `tengwarscript.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tengwarscript.dtx  (with options: `tengwarscript.sty,package')
%% Copyright (C) 2007 Ignacio Fern�ndez Galv�n, all rights reserved.
%% If you modify this file, you must change its name first.
%% You are NOT ALLOWED to distribute this file alone. You are NOT
%% ALLOWED to take money for the distribution or use of either this
%% file or a changed version, except for a nominal charge for copying
%% etc.
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tengwarscript}[2007/03/11 v1.3 TengwarScript for LaTeX]

\RequirePackage{fp-basic}
\RequirePackage{fp-snap}
\FPmessagesfalse

\DeclareOption{parmaite}{\input{parmaite.cfg}\tengwarparmaite}
\DeclareOption{unicodeparmaite}{\input{unicodeparmaite.cfg}\tengwarunicodeparmaite}
\DeclareOption{elfica}{\input{elfica.cfg}\tengwarelfica}
\DeclareOption{gothika}{\input{gothika.cfg}\tengwargothika}
\DeclareOption{formal}{\input{formal.cfg}\tengwarformal}
\DeclareOption{annatar}{\input{annatar.cfg}\tengwarannatar}
\DeclareOption{annatarbold}{\input{annatarbold.cfg}\tengwarannatarbold}
\DeclareOption{annataritalic}{\input{annataritalic.cfg}\tengwarannataritalic}
\DeclareOption{annatarbolditalic}{\input{annatarbolditalic.cfg}\tengwarannatarbolditalic}
\DeclareOption{quenya}{\input{quenya.cfg}\tengwarquenya}
\DeclareOption{quenyacapI}{\input{quenyacapI.cfg}\tengwarquenyacapI}
\DeclareOption{quenyacapII}{\input{quenyacapII.cfg}\tengwarquenyacapII}
\DeclareOption{sindarin}{\input{sindarin.cfg}\tengwarsindarin}
\DeclareOption{sindarincapI}{\input{sindarincapI.cfg}\tengwarsindarincapI}
\DeclareOption{sindarincapII}{\input{sindarincapII.cfg}\tengwarsindarincapII}
\DeclareOption{noldor}{\input{noldor.cfg}\tengwarnoldor}
\DeclareOption{noldorcapI}{\input{noldorcapI.cfg}\tengwarnoldorcapI}
\DeclareOption{noldorcapII}{\input{noldorcapII.cfg}\tengwarnoldorcapII}
\DeclareOption{teleri}{\input{teleri.cfg}\tengwarteleri}
\DeclareOption{all}{\ExecuteOptions{%
  unicodeparmaite,elfica,gothika,formal,%
  annatar,annatarbold,annataritalic,annatarbolditalic,%
  quenya,quenyacapI,quenyacapII,%
  sindarin,sindarincapI,sindarincapII,%
  noldor,noldorcapI,noldorcapII,%
  teleri,parmaite%
}}
\DeclareOption*{\PackageError{tengwar}{Unknown option `\CurrentOption'}}

\def\teng@mag{1.0}
\def\teng@setfont{%
  \if\teng@usefont0%
    \font \teng@font=\fontname\font%
  \else%
    \def\teng@scaled{ scaled }%
    \FPmul{\teng@usemag}{\teng@mag}{\teng@defaultmag}%
    \FPround{\teng@usemag}{\teng@usemag}{0}%
    \font \teng@font=\teng@usefont\teng@scaled\teng@usemag%
  \fi%
}

\newcommand{\teng@setkern}[7]{%
  \FPset{\@kernt}{#1}\global\edef\teng@kernt{\@kernt}%             kern for upper tehtar
  \FPset{\@kernb}{#2}\global\edef\teng@kernb{\@kernb}%             kern for lower tehtar
  \FPset{\@lower}{#3}\global\edef\teng@lower{\@lower}%             amount to raise upper tehtar
  \FPset{\@raise}{#4}\global\edef\teng@raise{\@raise}%             amount to lower lower tehtar
  \FPset{\@kernhook}{#5}\global\edef\teng@kernhook{\@kernhook}%    kern for righthook
  \FPset{\@raisehook}{#6}\global\edef\teng@raisehook{\@raisehook}% amount to raise right hook
  \global\edef\teng@hookselect{#7}%                                hook type selector
}
\newcommand{\teng@addkern}[6]{%
  \FPadd{\@kernt}{\teng@kernt}{#1}\global\edef\teng@kernt{\@kernt}%
  \FPadd{\@kernb}{\teng@kernb}{#2}\global\edef\teng@kernb{\@kernb}%
  \FPadd{\@lower}{\teng@lower}{#3}\global\edef\teng@lower{\@lower}%
  \FPadd{\@raise}{\teng@raise}{#4}\global\edef\teng@raise{\@raise}%
  \FPadd{\@kernhook}{\teng@kernhook}{#5}\global\edef\teng@kernhook{\@kernhook}%
  \FPadd{\@raisehook}{\teng@raisehook}{#6}\global\edef\teng@raisehook{\@raisehook}%
}

\def\teng@place@tehta #1{\kern-\teng@kernt ex\makebox[0pt]{\raisebox{\teng@raise ex}{#1}}\kern\teng@kernt ex}
\def\teng@place@tehtabelow #1{\kern-\teng@kernb ex\makebox[0pt]{\raisebox{-\teng@lower ex}{#1}}\kern\teng@kernb ex}

\def\teng@strutwidth{0.0pt}
\def\teng@strut{\teng@strutt\teng@strutb}

\newcommand{\teng@type}[1]{\bgroup\teng@font#1\egroup}

\newcommand{\tengmag}[1]{%
  \def\teng@mag{#1}%
  \teng@setfont%
}

\newcommand{\tengwa}[1]{\bgroup\teng@font\teng@strut\char#1\egroup}

  % tengwar
\newcommand{\Tempty}             {\teng@type{\teng@empty}}
\newcommand{\Ttinco}             {\teng@type{\teng@tinco}}
\newcommand{\Tparma}             {\teng@type{\teng@parma}}
\newcommand{\Tcalma}             {\teng@type{\teng@calma}}
\newcommand{\Tquesse}            {\teng@type{\teng@quesse}}
\newcommand{\Tando}              {\teng@type{\teng@ando}}
\newcommand{\Tumbar}             {\teng@type{\teng@umbar}}
\newcommand{\Tanga}              {\teng@type{\teng@anga}}
\newcommand{\Tungwe}             {\teng@type{\teng@ungwe}}
\newcommand{\Tthuule}            {\teng@type{\teng@thuule}}
\newcommand{\Tformen}            {\teng@type{\teng@formen}}
\newcommand{\Taha}               {\teng@type{\teng@aha}}
\newcommand{\Thwesta}            {\teng@type{\teng@hwesta}}
\newcommand{\Tanto}              {\teng@type{\teng@anto}}
\newcommand{\Tampa}              {\teng@type{\teng@ampa}}
\newcommand{\Tanca}              {\teng@type{\teng@anca}}
\newcommand{\Tunque}             {\teng@type{\teng@unque}}
\newcommand{\Tnuumen}            {\teng@type{\teng@nuumen}}
\newcommand{\Tmalta}             {\teng@type{\teng@malta}}
\newcommand{\Tnoldo}             {\teng@type{\teng@noldo}}
\newcommand{\Tnwalme}            {\teng@type{\teng@nwalme}}
\newcommand{\Toore}              {\teng@type{\teng@oore}}
\newcommand{\Tvala}              {\teng@type{\teng@vala}}
\newcommand{\Tanna}              {\teng@type{\teng@anna}}
\newcommand{\Tvilya}             {\teng@type{\teng@vilya}}
\newcommand{\Textendedtinco}     {\teng@type{\teng@extendedtinco}}
\newcommand{\Textendedparma}     {\teng@type{\teng@extendedparma}}
\newcommand{\Textendedcalma}     {\teng@type{\teng@extendedcalma}}
\newcommand{\Textendedquesse}    {\teng@type{\teng@extendedquesse}}
\newcommand{\Textendedando}      {\teng@type{\teng@extendedando}}
\newcommand{\Textendedumbar}     {\teng@type{\teng@extendedumbar}}
\newcommand{\Textendedanga}      {\teng@type{\teng@extendedanga}}
\newcommand{\Textendedungwe}     {\teng@type{\teng@extendedungwe}}
\newcommand{\Troomen}            {\teng@type{\teng@roomen}}
\newcommand{\Tarda}              {\teng@type{\teng@arda}}
\newcommand{\Tlambe}             {\teng@type{\teng@lambe}}
\newcommand{\Talda}              {\teng@type{\teng@alda}}
\newcommand{\Troomenalt}         {\teng@type{\teng@roomenalt}}
\newcommand{\Tardaalt}           {\teng@type{\teng@ardaalt}}
\newcommand{\Tlambealt}          {\teng@type{\teng@lambealt}}
\newcommand{\Tsilme}             {\teng@type{\teng@silme}}
\newcommand{\Tsilmenuquerna}     {\teng@type{\teng@silmenuquerna}}
\newcommand{\Tesse}              {\teng@type{\teng@esse}}
\newcommand{\Tessenuquerna}      {\teng@type{\teng@essenuquerna}}
\newcommand{\Tsilmealt}          {\teng@type{\teng@silmealt}}
\newcommand{\Tsilmenuquernaalt}  {\teng@type{\teng@silmenuquernaalt}}
\newcommand{\Tessealt}           {\teng@type{\teng@essealt}}
\newcommand{\Tessenuquernaalt}   {\teng@type{\teng@essenuquernaalt}}
\newcommand{\Thyarmen}           {\teng@type{\teng@hyarmen}}
\newcommand{\Thalla}             {\teng@type{\teng@halla}}
\newcommand{\Thwestasindarinwa}  {\teng@type{\teng@hwestasindarinwa}}
\newcommand{\Tyanta}             {\teng@type{\teng@yanta}}
\newcommand{\Tuure}              {\teng@type{\teng@uure}}
\newcommand{\Tosse}              {\teng@type{\teng@osse}}
\newcommand{\Ttelco}             {\teng@type{\teng@telco}}
\newcommand{\Taara}              {\teng@type{\teng@aara}}
\newcommand{\Tlefthook}          {\teng@type{\teng@lefthook}}
\newcommand{\Trighthook}         {\teng@type{\csname teng@righthook\@Roman{\teng@hookselect}\endcsname}}%
\newcommand{\Tcurlyhook}         {\teng@type{\csname teng@curlyhook\@Roman{\teng@hookselect}\endcsname}}%
\newcommand{\Tuphook}            {\teng@type{\csname teng@uphook\@Roman{\teng@hookselect}\endcsname}}%
  % tehtar
\newcommand{\TTdot}              {\teng@type{\teng@tehta@dot}}
\newcommand{\TTacute}            {\teng@type{\teng@tehta@acute}}
\newcommand{\TTthreedots}        {\teng@type{\teng@tehta@threedots}}
\newcommand{\TTrightcurl}        {\teng@type{\teng@tehta@rightcurl}}
\newcommand{\TTleftcurl}         {\teng@type{\teng@tehta@leftcurl}}
\newcommand{\TTcaron}            {\teng@type{\teng@tehta@caron}}
\newcommand{\TTbreve}            {\teng@type{\teng@tehta@breve}}
\newcommand{\TTdoubleacute}      {\teng@type{\teng@tehta@doubleacute}}
\newcommand{\TTdoublerightcurl}  {\teng@type{\teng@tehta@doublerightcurl}}
\newcommand{\TTdoubleleftcurl}   {\teng@type{\teng@tehta@doubleleftcurl}}
\newcommand{\TTtwodots}          {\teng@type{\teng@tehta@twodots}}
\newcommand{\TTtilde}            {\teng@type{\teng@tehta@tilde}}
\newcommand{\TTlefttilde}        {\teng@type{\teng@tehta@lefttilde}}
\newcommand{\TTnasalizer}        {\teng@type{\teng@tehta@nasalizer}}
\newcommand{\TTdoubler}          {\teng@type{\teng@tehta@doubler}}
\newcommand{\TTdotbelow}         {\teng@type{\teng@tehta@dotbelow}}
\newcommand{\TTtwodotsbelow}     {\teng@type{\teng@tehta@twodotsbelow}}
\newcommand{\TTlefttwodotsbelow} {\teng@type{\teng@tehta@lefttwodotsbelow}}
\newcommand{\TTthreedotsbelow}   {\teng@type{\teng@tehta@threedotsbelow}}
\newcommand{\TTdoubleacutebelow} {\teng@type{\teng@tehta@doubleacutebelow}}
\newcommand{\TTrightcurlbelow}   {\teng@type{\teng@tehta@rightcurlbelow}}
\newcommand{\TTleftcurlbelow}    {\teng@type{\teng@tehta@leftcurlbelow}}
\newcommand{\TTverticalbarbelow} {\teng@type{\teng@tehta@verticalbarbelow}}
  % numbers
\newcommand{\Tzero}              {\teng@type{\teng@zero}}
\newcommand{\Tone}               {\teng@type{\teng@one}}
\newcommand{\Ttwo}               {\teng@type{\teng@two}}
\newcommand{\Tthree}             {\teng@type{\teng@three}}
\newcommand{\Tfour}              {\teng@type{\teng@four}}
\newcommand{\Tfive}              {\teng@type{\teng@five}}
\newcommand{\Tsix}               {\teng@type{\teng@six}}
\newcommand{\Tseven}             {\teng@type{\teng@seven}}
\newcommand{\Teight}             {\teng@type{\teng@eight}}
\newcommand{\Tnine}              {\teng@type{\teng@nine}}
\newcommand{\Tten}               {\teng@type{\teng@ten}}
\newcommand{\Televen}            {\teng@type{\teng@eleven}}
\newcommand{\TTdecimal}          {\teng@type{\teng@tehta@decimal}}
\newcommand{\TTduodecimal}       {\teng@type{\teng@tehta@duodecimal}}
\newcommand{\TTleastsignificant} {\teng@type{\teng@tehta@leastsignificant}}
  % punctuation
\newcommand{\Tcentereddot}       {\teng@type{\teng@centereddot}}
\newcommand{\Tcolon}             {\teng@type{\teng@colon}}
\newcommand{\Tthreeverticaldots} {\teng@type{\teng@threeverticaldots}}
\newcommand{\Tcenteredtilde}     {\teng@type{\teng@centeredtilde}}
\newcommand{\Tcenteredlongtilde} {\teng@type{\teng@centeredlongtilde}}
\newcommand{\Texclamation}       {\teng@type{\teng@exclamation}}
\newcommand{\Tquestion}          {\teng@type{\teng@question}}
\newcommand{\Tparenthesis}       {\teng@type{\teng@parenthesis}}
\newcommand{\Tromanquestion}     {\teng@type{\teng@romanquestion}}
\newcommand{\Tromanexclamation}  {\teng@type{\teng@romanexclamation}}
\newcommand{\Tromanperiod}       {\teng@type{\teng@romanperiod}}
\newcommand{\Tromancomma}        {\teng@type{\teng@romancomma}}
\newcommand{\Tromansemicolon}    {\teng@type{\teng@romansemicolon}}
\newcommand{\Tromanquoteleft}    {\teng@type{\teng@romanquoteleft}}
\newcommand{\Tromanquoteright}   {\teng@type{\teng@romanquoteright}}
\newcommand{\Tromandblquoteleft} {\teng@type{\teng@romandblquoteleft}}
\newcommand{\Tromandblquoteright}{\teng@type{\teng@romandblquoteright}}
\newcommand{\Tromanparenleft}    {\teng@type{\teng@romanparenleft}}
\newcommand{\Tromanparenright}   {\teng@type{\teng@romanparenright}}

  % additional
\newcommand{\Ts}                {\teng@type{\hspace{\teng@space}}}
\newcommand{\Tkern}[1]          {\teng@type{\kern#1ex}}
\newcommand{\Tbox}[3][0]        {\teng@type{\raisebox{#1ex}{\kern#2ex#3\kern-#2ex}}}

\newenvironment{tengwar}
{\teng@font%
  \hyphenchar\teng@font=-1\emergencystretch=2em
  \renewcommand{\teng@type}[1]{##1}%
}
{}

\def\teng@usefont{0}
\FPset{\teng@defaultmag}{1000}%
\def\teng@strutn{}
\def\teng@strutt{}
\def\teng@strutb{}
\def\teng@empty{[~]}
\def\teng@tinco{[tinco]}
\def\teng@parma{[parma]}
\def\teng@calma{[calma]}
\def\teng@quesse{[quesse]}
\def\teng@ando{[ando]}
\def\teng@umbar{[umbar]}
\def\teng@anga{[anga]}
\def\teng@ungwe{[ungwe]}
\def\teng@thuule{[th\'ule]}
\def\teng@formen{[formen]}
\def\teng@aha{[aha]}
\def\teng@hwesta{[hwesta]}
\def\teng@anto{[anto]}
\def\teng@ampa{[ampa]}
\def\teng@anca{[anca]}
\def\teng@unque{[unque]}
\def\teng@nuumen{[n\'umen]}
\def\teng@malta{[malta]}
\def\teng@noldo{[noldo]}
\def\teng@nwalme{[nwalme]}
\def\teng@oore{[\'ore]}
\def\teng@vala{[vala]}
\def\teng@anna{[anna]}
\def\teng@vilya{[vilya]}
\def\teng@extendedtinco{[extended~tinco]}
\def\teng@extendedparma{[extended~parma]}
\def\teng@extendedcalma{[extended~calma]}
\def\teng@extendedquesse{[extended~quesse]}
\def\teng@extendedando{[extended~ando]}
\def\teng@extendedumbar{[extended~umbar]}
\def\teng@extendedanga{[extended~anga]}
\def\teng@extendedungwe{[extended~ungwe]}
\def\teng@roomen{[r\'omen]}
\def\teng@arda{[arda]}
\def\teng@lambe{[lambe]}
\def\teng@alda{[alda]}
\def\teng@roomenalt{[alt.~r\'omen]}
\def\teng@ardaalt{[alt.~arda]}
\def\teng@lambealt{[alt.~lambe]}
\def\teng@silme{[silme]}
\def\teng@silmenuquerna{[silme~nuquerna]}
\def\teng@esse{[esse]}
\def\teng@essenuquerna{[esse~nuquerna]}
\def\teng@silmealt{[alt.~silme]}
\def\teng@silmenuquernaalt{[alt.~silme~nuquerna]}
\def\teng@essealt{[alt.~esse]}
\def\teng@essenuquernaalt{[alt.~esse~nuquerna]}
\def\teng@hyarmen{[hyarmen]}
\def\teng@halla{[halla]}
\def\teng@hwestasindarinwa{[hwesta~sindarinwa]}
\def\teng@yanta{[yanta]}
\def\teng@uure{[\'ure]}
\def\teng@osse{[osse]}
\def\teng@telco{[telco]}
\def\teng@aara{[\'ara]}
\def\teng@lefthook{[left~hook]}
\def\teng@righthook{[right~hook]}
\def\teng@curlyhook{[curly~hook]}
\def\teng@uphook{[up~hook]}
\def\teng@tehta@dot{[dot]}
\def\teng@tehta@acute{[acute]}
\def\teng@tehta@threedots{[three~dots]}
\def\teng@tehta@rightcurl{[right~curl]}
\def\teng@tehta@leftcurl{[left~curl]}
\def\teng@tehta@caron{[caron]}
\def\teng@tehta@breve{[breve]}
\def\teng@tehta@doubleacute{[double~acute]}
\def\teng@tehta@doublerightcurl{[double~right~curl]}
\def\teng@tehta@doubleleftcurl{[double~left~curl]}
\def\teng@tehta@twodots{[two~dots]}
\def\teng@tehta@tilde{[tilde]}
\def\teng@tehta@lefttilde{[left~tilde]}
\def\teng@tehta@nasalizer{[nasalizer]}
\def\teng@tehta@doubler{[doubler]}
\def\teng@tehta@dotbelow{[dot~below]}
\def\teng@tehta@twodotsbelow{[two~dots~below]}
\def\teng@tehta@lefttwodotsbelow{[left~two~dots~below]}
\def\teng@tehta@threedotsbelow{[three~dots~below]}
\def\teng@tehta@doubleacutebelow{[double~acute~below]}
\def\teng@tehta@rightcurlbelow{[right~curl~below]}
\def\teng@tehta@leftcurlbelow{[left~curl~below]}
\def\teng@tehta@verticalbarbelow{[vertical~bar~below]}
\def\teng@zero{[zero]}
\def\teng@one{[one]}
\def\teng@two{[two]}
\def\teng@three{[three]}
\def\teng@four{[four]}
\def\teng@five{[five]}
\def\teng@six{[six]}
\def\teng@seven{[seven]}
\def\teng@eight{[eight]}
\def\teng@nine{[nine]}
\def\teng@ten{[ten]}
\def\teng@eleven{[eleven]}
\def\teng@tehta@decimal{[decimal]}
\def\teng@tehta@duodecimal{[duodecimal]}
\def\teng@tehta@leastsignificant{[least~significant]}
\def\teng@centereddot{[centered~dot]}
\def\teng@colon{[colon]}
\def\teng@threeverticaldots{[three~vertical~dots]}
\def\teng@centeredtilde{[centered~tilde]}
\def\teng@centeredlongtilde{[centered~long~tilde]}
\def\teng@exclamation{[exclamation]}
\def\teng@question{[question]}
\def\teng@parenthesis{[parenthesis]}
\def\teng@romanquestion{[roman~question]}
\def\teng@romanexclamation{[roman~exclamation]}
\def\teng@romanperiod{[roman~period]}
\def\teng@romancomma{[roman~comma]}
\def\teng@romansemicolon{[roman~semicolon]}
\def\teng@romanquoteleft{[roman~left~quote]}
\def\teng@romanquoteright{[roman~right~quote]}
\def\teng@romandblquoteleft{[roman~left~double~quote]}
\def\teng@romandblquoteright{[roman~right~double~quote]}
\def\teng@romanparenleft{[roman~left~parenthesis]}
\def\teng@romanparenright{[roman~right~parenthesis]}
\ProcessOptions*\relax
\teng@setkern{0}{0}{0}{0}{0}{0}{0}
\tengmag{1.0}
\endinput
%%
%% End of file `tengwarscript.sty'.
