summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ucs/ucs.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ucs/ucs.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/ucs/ucs.dtx')
-rw-r--r--macros/latex/contrib/ucs/ucs.dtx5899
1 files changed, 5899 insertions, 0 deletions
diff --git a/macros/latex/contrib/ucs/ucs.dtx b/macros/latex/contrib/ucs/ucs.dtx
new file mode 100644
index 0000000000..1b2c866fe1
--- /dev/null
+++ b/macros/latex/contrib/ucs/ucs.dtx
@@ -0,0 +1,5899 @@
+% \iffalse meta-comment
+% -*-coding: utf-8; mode: latex;-*-
+%
+%<*driver>
+\ProvidesFile{ucs.dtx}[2013/05/11 v2.2
+ UCS: Master document for generating documentation for ucs.sty]
+%
+\documentclass{ltxdoc}
+\usepackage[postscript]{ucs}
+\usepackage[utf8x]{inputenc}
+\usepackage[univerb]{ucsutils}
+\usepackage[T2A,T1]{fontenc}
+\usepackage[hyperindex,unicode]{hyperref}
+%\makeatletter
+%\IfFileExists{srcltx.sty}{
+% \usepackage{srcltx}
+% \src@everypar{\the\everypar\src@spec}
+% \gdef\MainFile{\jobname.dtx}
+%}{}
+%
+\newcommand\tobe{%
+ \typeout{*** TO BE DONE ***}%
+ [[[ TO BE DONE ]]]}
+\newcommand\univerbtt{\ttfamily\frenchspacing\univerb}
+%\overfullrule=10pt
+\setcounter{IndexColumns}{2}
+\GetFileInfo{ucs.sty}
+\CodelineIndex
+%\PageIndex
+\RecordChanges
+\EnableCrossrefs
+%\DisableCrossrefs
+%\OnlyDescription
+\begin{document}
+\DocInput{ucs.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \changes{v1.99}{2004/10/17}{Last version by Dominique Unruh}
+% \changes{v2.0}{2012/04/20}{Switched to LPPL~1.3}
+% \changes{v2.0}{2012/04/20}{Changed the \texttt{mathletters} mappings of some greek small letters
+% from \cs{var\textit{letter}} to \cs{\textit{letter}} in order to
+% conform to the Unicode standard}
+% \changes{v2.0}{2012/04/20}{Added \texttt{mathletters} mappings for variants of greek small
+% letters}
+% \changes{v2.0}{2012/04/20}{Switched from \cs{mathbbm} to \cs{mathbb} for double-struck characters}
+% \changes{v2.0}{2012/04/20}{Added support for various symbols}
+% \changes{v2.0}{2012/04/20}{Created makefile}
+% \changes{v2.0}{2012/04/20}{Various small improvements}
+% \changes{v2.1}{2012/08/28}{Added support for various arrows, musical notes, and NON-BREAKING
+% HYPHEN}
+% \changes{v2.1}{2012/08/28}{Some small bug fixes}
+% \changes{v2.2}{2013/05/11}{Fixed a bug related to the optional definition of \cs{@ifnextchar} (see
+% \url{http://tinyurl.com/dxncfn9})}
+% ^^A FIXME: The page number of the changelog entry for the \show removal mentions page 48, although
+% ^^A the code appears on page 50.
+% ^^A FIXME: There are no index entries for macro descriptions (only for macro definitions and
+% ^^A usage).
+% ^^A FIXME: The index entries do not use hyperlinks.
+%
+% \expandafter\let\expandafter\percent\csname @percentchar\endcsname
+% \let\ucsdocmfour1^^A
+% \let\xsection\section
+%\ProvidesFile{ucs-doc.tex}[2004/10/17 Main documentation for package ucs]
+%
+%\ifx\ucsdocmfour\undefined
+%\documentclass{ltxdoc}
+%\overfullrule=10pt
+%\usepackage[utf8x]{inputenc}
+%\usepackage[T1]{fontenc}
+%\newcommand\tobe{^^A
+% \typeout{*** TO BE DONE ***}^^A
+% [[[ TO BE DONE ]]]}
+%\makeatletter
+%\let\percent\@percentchar
+%\begin{document}
+%\fi
+%
+%\title{\texttt{ucs.sty} - Unicode Support}
+%\author{Dominique~P.~G.~Unruh\\Wolfgang Jeltsch}
+%\maketitle
+%
+%\MakeShortVerb{\|}
+%
+%\makeatletter
+%
+%^^A\newcommand\task[1]{\fbox{\textbf{#1}}}
+%\newcommand\args[1]{\settowidth{\synwidth}{Synopsis: }Synopsis:
+% \texttt{#1}\\}
+%\newlength{\synwidth}
+%\newcommand\breakindent{\hskip0ptplus1fill^^A
+% \penalty0^^A
+% \hskip0ptplus-1fill^^A
+% \hskip-\synwidth^^A
+% \null\nobreak\hskip\synwidth\relax}
+%^^A\newcommand\marg[1]{\{\meta{#1}\}\breakindent}
+%^^A\newcommand\oarg[1]{[\meta{#1}]\breakindent}
+%\newenvironment{local}[1]
+% {\begin{macro}{#1}{\tiny (local)}}
+% {\end{macro}}
+%\newenvironment{local*}[1]
+% {\begin{macro}{#1}}
+% {\end{macro}}
+%\let\bs=\bslash
+%\def\SpecialMainOptionIndex#1{\@bsphack\special@index{^^A
+% #1\actualchar
+% {\string\ttfamily\space#1}
+% (option)^^A
+% \encapchar main}^^A
+% \special@index{options:\levelchar{^^A
+% \string\ttfamily\space#1}\encapchar
+% main}\@esphack}
+%\def\SpecialOptionIndex#1{\@bsphack
+% \index{#1\actualchar{\protect\ttfamily#1}
+% (option)\encapchar usage}^^A
+% \index{options:\levelchar{\protect\ttfamily#1}\encapchar
+% usage}\@esphack}
+%\def\DescribeOption{\leavevmode\@bsphack\begingroup\MakePrivateLetters
+% \Describe@Option}
+%\def\Describe@Option#1{\endgroup
+% \marginpar{\raggedleft\PrintDescribeEnv{#1}}^^A
+% \SpecialOptionIndex{#1}\@esphack\ignorespaces}
+%\def\PrintDescribeMacro#1{\strut \MacroFont \llap{\string #1}\ }
+%
+%\makeatother
+%
+%\parindent=0pt
+%\parskip=\medskipamount
+%
+%\tableofcontents
+%
+%\section{Usage}
+%
+%Simply use |\usepackage{ucs}| and |\usepackage[utf8x]{inputenc}|,
+%then you will be able
+%to write your LaTeX-Documents in UTF-8.
+%
+%You can access a Unicode character with
+%\texttt{\bs unichar\{\meta{code}\}}, even when the active input encoding is
+%not |utf8|.
+%
+%An unicode character can have an default glyph macro and several glyph
+%macros associated with options. If one of these options is set, the
+%associated macro is used, otherwise the default macro. If several
+%associated options
+%are set, an error is yielded. You may activate an option \meta{name} by
+%including it in the option list while loading the ucs package, or by
+%using \DescribeMacro{\SetUnicodeOption}^^A
+%\texttt{\bslash SetUnicodeOption\{\meta{name}\}}. To deactivate an
+%option, prefix its name by |no|. Note that you must load |ucs.sty|
+%before |\usepackage[utf8x]{inputenc}| if you want to supply options.
+%Any option which you want to use
+%must be used at least once in the preamble.
+%
+%When you activate an option, you can supply a priority as optional argument.
+%If there are several glyphs for a given code position, the one having the
+%option with the highest priority is taken (an error is yielded in case of
+%ambiguity). If you do not supply a priority, 100 is taken as default.
+%``Normal'' glyphs are associated with the option |default|, which is
+%initially activated with a priority of 0.
+%
+%NB: UTF-8 characters are interpreted by \TeX{}
+%as a sequence of commands, so don't use calls like
+%\texttt{\bslash macro ä} instead of
+%\texttt{\bslash macro\{ä\}} (this does not apply to ASCII characters).
+%
+%This input encoding does not change the fontencoding automatically. For that
+%purpose, you can use |autofe.sty|, which is included in the ucs package.
+%
+%\subsection{Special options}
+%
+%Several options have a special hardcoded meaning:
+%\begin{itemize}
+%\item |combine|: \DescribeOption{combine}Activates combining mode. See
+% section \ref{combiningmode}.
+%\item |default|: \DescribeOption{default}This option contains all
+% characters, which are not explicitly associated with another option.
+% But see also the option |document|. This option is activated per
+% default, but has priority 0, i.e.~any other activated option is
+% prefered, unless its priority is explicitly given to be smaller.
+%^^A
+%\item |document|: \DescribeOption{document}Every character you define
+% in your document using |\Declare|\-|UnicodeCharacter| has the option
+% |document|. This option is activated per default having the priority
+% 1000, therefore manually declared characters take precedence over
+% all other characters, unless some other option has explicitly gotten
+% a higher priority.
+%\item |fasterrors|: \DescribeOption{fasterrors}When used, the name of
+% an unicode character is not
+%included in error messages any more, which runs much faster.
+%\item |graphics|: \DescribeOption{graphics}^^A
+%When used, unknown characters are replaces by GIFs
+%downloaded from |unicode.org|. Commands to download and convert these are
+%executed if -shell-escape is passed to \LaTeX, otherwise they are proposed
+%to the user in a warning message. A UNIX-machine supporting the commands
+%|wget|, |giftopnm| and |pnmtops| is assumed.
+%\item |savemem|: \DescribeOption{savemem}^^A
+%When used, only the character needed at the moment is
+%loaded, not a whole page. This slows down operation, but saves space in the
+%\TeX-pool, especially with sparsly used character set like kanji. Use this,
+%if you get an out of pool error or similar
+%from \TeX. If you change the state of this
+%option during the run, you may get inexpected results.
+%\item |warnunknown|: \DescribeOption{warnunknown}^^A
+%When used, an unknown unicode character does not
+%generate an error, but a warning.
+%\end{itemize}
+%
+%\subsection{Normal options}
+%
+%The options described here are---strictly spoken---not part of
+%|ucs.sty|, but are defined by the unicode data files. They are included
+%here for convenience.
+%\begin{itemize}
+%
+%\item |autogenerated|: \DescribeOption{autogenerated}^^A
+%This enables the characters, which are autogenerated as composition
+%of other characters according to the informations in the UnicodeData.txt.
+%These may or may not look good. You may have to define the |\unicodecircle|,
+%|\unicodesquare|, |\unicodevertical|, |\unicodewide| and |\unicodesmall|
+%macros to let all autogenerated macros work.
+%Furthermore you may have to set some other options, when the autogenerated
+%characters are build out of characters, which are not in the default set.
+%
+%\item |cjkbg5|: \DescribeOption{cjkbg5}^^A
+%See the explanation for |cjkjis| below and substitute C40 by C00,
+%JIS by BIG-5 and |kanji48| by some appropriate font which has BIG-5 encoding
+%(e.g. one of the "Arphic AR PL * Big5" fonts).
+%
+%\item |cjkgb|: \DescribeOption{cjkgb}^^A
+%See the explanation for |cjkjis| below and substitute C40 by C10,
+%JIS by GB and |kanji48| by some appropriate font which has GB encoding
+%(e.g. one of the "Arphic AR PL * GB" fonts).
+%
+%\item |cjkhangul|: \DescribeOption{cjkhangul}^^A
+%See the explanation for |cjkjis| below and substitute C40 by C61,
+%JIS by ``KSC5601 hangul syllables'' and |kanji48| by some appropriate
+%font which has KSC5601 encoding and hangul syllables
+%(e.g. the |han| or the |han1| font from CJK-\LaTeX).
+%
+%\item |cjkjis|: \DescribeOption{cjkjis}^^A
+%This enables the use of C40 (JIS) or C42 (JISdnp) encoded fonts.
+%You need to have the |c40*.fd| files
+%which are contributed with the package |CJK|
+%and the |kanji48| font installed for this.
+%Further you have to load the
+%fontencoding |C40| (an option to the package |fontenc|).
+%
+%It is not necessary to load the package |CJK|. If you want to use it nevertheless
+%take care of the following:
+%\begin{itemize}
+%\item Load |CJK| before |fontenc|, or quite strange errors will occur.
+%\item Load |CJK| with option |encapsulated|, or it will overwrite some of the
+%UTF8 input encoding.
+%\item
+%Don't use the |CJK| environment, it destroys the input encoding.
+%Use |ucjk| instead, which is a patched version and takes no arguments.
+%\end{itemize}
+%
+%\item |fullmathletters|: \DescribeOption{fullmathletters}^^A
+%This option has been removed. Replace all occurrences by |mathletters|.
+%
+%\item |mathletters|: \DescribeOption{mathletters}^^A
+%When using this option is set, some unicode code
+%characters like greek or some hebrew letters generate the math mode
+%glyphs. This option is disabled by default, because using math greek in a
+%normal text does not look good. But you may set it in |\everymath| and
+%|\everydisplay| and such enable the use of unicode characters in math mode.
+%You can also use this to get a poor man's greek, it is however recommended
+%to use the |cb| fonts instead.
+%
+%\item |postscript|: \DescribeOption{postscript}^^A
+%This option enables use of postscript, e.g. of postscript fonts.
+%Some DVI-viewers may have problems with documents using this option,
+%but most viewers can handle it correctly.
+%
+%\item |privatecsur|: \DescribeOption{privatecsur}^^A
+%This option enables use of characters in the private area according to
+%the mapping by the ConScript Unicode Registry
+%{(\def\-{\discretionary{}{}{}}^^A
+%\texttt{http://\-www.evertype.com/\-standards/\-csur/} and also
+%\texttt{http://\-home.ccil.org/\-\textasciitilde
+%cowan/\-csur/\-index.html})}.
+%
+%\item |tipa|: \DescribeOption{tipa}^^A
+%This enables the use of the macros in the |tipa| package to display IPA
+%symbols.
+%
+%\end{itemize}
+%
+%\subsection{Combining mode}\label{combiningmode}
+%
+%\def\latinc{\textsc{U+0063 latin small letter c}}
+%\def\acuteacc{\textsc{U+0301 combining acute accent}}
+%In some cases, Unicode documents contain sequences like \latinc\space\acuteacc
+%(producing {^^A
+%\SetUnicodeOption{combine}\unichar{"63}^^A
+%\unichar{"301}\SetUnicodeOption{nocombine}}). In order to typeset them
+%correctly, we cannot render \latinc immediately when it occurs,
+%instead we have to wait whether some combining character is going to
+%follow.
+%
+%\DescribeOption{combine}^^A
+%To enable this way of parsing in |ucs.sty|, we have to use the option
+%|combine|. As long as this option is in effect, characters are not
+%immediately rendered, but stored in a token register until they are
+%output via
+%\begin{itemize}
+%\item resetting of the option (|\SetUnicodeOption{nocombine}|) or
+%\item \DescribeMacro{\unicodecombine}^^A
+% the command |\unicodecombine|.
+%\end{itemize}
+%
+%Since characters handled by |ucs.sty| are not immediately output while
+%ASCII characters are handled by \TeX and directly rendered, you should
+%not mix ASCII characters and non-ASCII characters while this option is
+%in effect. Thus to obtain the above glyph, you cannot use\\
+%\null\qquad
+%|\SetUnicodeOption{combine}|\texttt{c\'o}|\SetUnicodeOption{nocombine}|\\
+%(where \texttt{\'o} is \acuteacc), instead you can use one of the
+%following constructions:
+%\begin{itemize}
+%\item |\SetUnicodeOption{combine}\unichar{"63}|\texttt{\'o\percent}\\
+% |\SetUnicodeOption{nocombine}|
+%\item
+% |\SetUnicodeOption{combine}\unicodevirtual{c}|\texttt{\'o\percent}\\
+% |\SetUnicodeOption{nocombine}| (\DescribeMacro{\unicodevirtual}^^A
+% |\unicodevirtual| takes arbitrary \LaTeX\space code and inserts it,
+% as thou it was a Unicode character; do not use Unicode characters
+% inside |\unicodevirtual|).
+%\item
+% \MakeShortVerb\!\DeleteShortVerb\|^^A
+% !\SetUnicodeOption{combine}\myverbatim|!\texttt{c\'o|\percent}\\
+% !\SetUnicodeOption{nocombine}!^^A
+% \MakeShortVerb\|\DeleteShortVerb\!^^A
+% \\
+% where |\myverbatim|\footnote{This command is not provided by
+% \texttt{ucs.sty}, but some similar command may appear in future.}
+% is a command similar to |\verb|, but setting the catcodes of the
+% ASCII characters to 13 (active) and then defining character no.~$n$
+% to expand to |\unichar{|$n$|}|.
+%\end{itemize}
+%
+%In cases where you only want to render occasional words containing
+%combining characters and \emph{no} ASCII, you can use a macro like\\
+%\null\qquad|\newcommand\combword[1]{|^^A
+% |\SetUnicodeOption{combine}#1|\texttt{\percent}\\
+% \null\qquad\qquad|\SetUnicodeOption{nocombine}}|\\
+%and then simply typeset the concerning word as an argument to
+%|\combword|.
+%
+%
+%\subsection{Defining unicode data}
+%
+%A unicode character may be defined by\\
+%\null\qquad
+%\DescribeMacro{\DeclareUnicodeCharacter}^^A
+%\texttt{\bs DeclareUnicodeCharacter\{\meta{code}\}\{\meta{macro}\}}\\
+%or, when it is to be associated with a special option, by using\\\
+%\null\qquad
+%\DescribeMacro{\DeclareUnicodeCharacterAsOptional}^^A
+%\texttt{\bs DeclareUnicodeCharacterAsOptional\{\meta{code}\}^^A
+% \{\meta{option}\}\{\meta{macro}\}}\\
+%where \meta{code} is the unicode character number, \meta{option} the
+%associated option and \meta{macro} the glyph's macro.
+%
+%This definition is local.
+%
+%In the automatically loaded data files |\uc@dclc| should be used instead.
+%
+%An option \meta{option} can be defined by\\
+%\null\qquad
+%\DescribeMacro{\DeclareUnicodeOption}^^A
+%\texttt{\bs DeclareUnicodeOption[\meta{pkg}]\{\meta{option}\}}.\\
+%If \meta{pkg} is supplied, the option is set, if the package \meta{pkg}
+%is loaded.
+%
+%You can add further packages, which automatically set an option, by\\
+%\null\qquad
+%\DescribeMacro{\LinkUnicodeOptionToPkg}^^A
+%\texttt{\bs LinkUnicodeOptionToPkg\{\meta{option}\}\{\meta{pkg}\}}.
+%
+%If a character $c$ is unknown, it is looked up in
+%in the \texttt{uni-$n$.def}-file,
+%whereby ${n=\lfloor\frac{c}{256}\rfloor}$. So characters which are not
+%document specific,
+%should be defined in those file. For generating them, you should you the
+%program |makeunidef.pl|.
+%
+%You may find |\dirtyunicode| and |\UnicodeNeeds| interesting for
+%writing glyphs macros, see in the implementation section.
+%
+%\subsection{Known problems}
+%
+%Note, that if a character from some not yet loaded Unicode page
+%appears, a file has to be loaded. If this appears inside a word,
+%kerning and ligatures do not work at that position.
+%
+%Further there are some commands, which expand their arguments in
+%non-executing contexts, this makes it impossible for |ucs.sty| to load
+%the character definition file at this place if this has not yet been
+%done. In this case the concerning character is replaced by some
+%message that you have to use |\PrerenderUnicode{|\dots|}|.
+%
+%\def\greekalpha{\textsc{U+03B1 greek small letter alpha}}
+%Both problems can be solved by preloading the offending characters. If
+%you have for example \greekalpha, which should be preloaded, simply use
+%\begin{itemize}
+%\item \DescribeMacro{\PreloadUnicodePage}^^A
+% |\PreloadUnicodePage{3}| (the argument to |\PreloadUnicodePage|
+% is $\lfloor\frac n{256}\rfloor$, where $n$ is the number of the
+% character (here $\textrm{0x3B1}=945$)) or
+%\item \DescribeMacro{\PrerenderUnicode}^^A
+% |\PrerenderUnicode{|$\alpha$|}| (the argument to
+% |\PrerenderUnicode| can contain any \LaTeX\space code, which is then
+% rendered in an hbox, all still unknown characters a loaded and the
+% result is thrown away; do not use e.g. |\footnote| or other commands which
+% might not like to be executed several times).
+%\end{itemize}
+%
+%\section{Thanks}
+%
+%Thanks to\dots\nopagebreak
+%\begin{itemize}
+%\item Michel Goossens who supplied many characters
+%(e.g. Vietnamese, polytonic Greek),
+%\item Manuel Kauers for testing my package
+%before the first upload,
+%\item Werner Lemberg, who wrote the |CJK| package, where I got the font
+%definitions in |cenccmn.tex| from,
+%\item Karsten Tinnefeld for
+%many of the glyph macros in |cyrillic.ucf|,
+%\item Pablo Rodriguez for reporting many bugs, especially concerning
+% the interaction between |ucs.sty| and other packages.
+%\item Stefan Röhrich for testing my package
+%before the first upload,
+%\item the authors of all those many \LaTeX-packages for different scripts.
+%\end{itemize}
+%
+%
+%\ifx\ucsdocmfour\undefined
+%\end{document}
+%\fi
+%^^A
+%
+% \StopEventually{\PrintIndex}
+% \section{Implementation}
+% \let\xsection\subsection
+%
+% \xsection{File \texttt{ucs.sty}}
+% \begin{macrocode}
+%<*ucs.sty>
+% ^^A FIXME: What is the following code for? Is it for people who want to use ucs.sty with Plain TeX
+% ^^A or ConTeXt?
+\catcode`\@11
+\ifx\@gobble\undefined\def\@gobble#1{}\fi
+\ifx\@gobbletwo\undefined\def\@gobbletwo#1#2{}\fi
+\ifx\@gobblethree\undefined\def\@gobblethree#1#2#3{}\fi
+\ifx\@gobblefour\undefined\def\@gobblefour#1#2#3#4{}\fi
+\ifx\@firstofone\undefined\def\@firstofone#1{#1}\fi
+\ifx\@tempcnta\undefined\csname newcount\endcsname\@tempcnta\fi
+\ifx\@tempcntb\undefined\csname newcount\endcsname\@tempcntb\fi
+\ifx\@testopt\undefined
+ \def\@testopt#1#2{%
+ \@ifnextchar[{#1}{#1[{#2}]}}\fi
+\ifx\@protected@testopt\undefined\def\@protected@testopt{\expandafter\@testopt\@gobble}\fi
+\let\@let@token\relax
+% ^^A FIXME: The previous line was suggested on
+% ^^A
+% ^^A <http://tex.stackexchange.com/questions/113261/conflict-between-ifxetex-and-ucs-under-pdflatex-xelatex-why/113278#113278> ,
+% ^^A
+% ^^A where it says the following:
+% ^^A
+% ^^A [The code for optionally defining \@ifnextchar] fails in the case where the
+% ^^A immediately preceding use of \@let@token was by \newif. That's because it is the
+% ^^A \let to \iffalse, meaning that the conditional is unbalanced and everything 'runs
+% ^^A away'.
+\ifx\@ifnextchar\undefined
+ \def\@ifnextchar#1#2#3{%
+ \let\reserved@d=#1%
+ \def\reserved@a{#2}%
+ \def\reserved@b{#3}%
+ \futurelet\@let@token\@ifnch}\fi
+\ifx\@ifnch\undefined
+ \def\@ifnch{%
+ \ifx\@let@token\@sptoken
+ \let\reserved@c\@xifnch
+ \else
+ \ifx\@let@token\reserved@d
+ \let\reserved@c\reserved@a
+ \else
+ \let\reserved@c\reserved@b
+ \fi
+ \fi
+ \reserved@c}\fi
+\ifx\@inputcheck\undefined\newread\@inputcheck\fi
+\ifx\IfFileExists\undefined
+\long\def\IfFileExists#1#2#3{%
+ \openin\@inputcheck#1 %SPACE
+ \ifeof\@inputcheck\def\reserved@a{#3}%
+ \else\closein\@inputcheck\def\reserved@a{#2}%
+ \fi
+ \reserved@a}%
+\fi
+\ifx\InputIfFileExists\undefined
+\long\def\InputIfFileExists#1#2{%
+ \IfFileExists{#1}{#2\input #1 }}
+\fi
+\ifx\protect\undefined\let\protect\relax\fi
+\ifx\@typeset@protect\undefined\let\@typeset@protect\relax\fi
+\ifx\IeC\undefined\def\IeC{\ifx\protect\@typeset@protect
+ \expandafter\@firstofone\else\noexpand\IeC\fi}\fi
+% \end{macrocode}
+%
+%^^A The following macros are defined using |\providecommand| before the package
+%^^A option processing, because they are needed during the processing.
+%
+% \begin{macro}{\XDeclareUnicodeOption}
+% \args{\marg{pkg}\marg{name}\marg{activate}^^A
+% \marg{on}\marg{off}}
+% \begin{macro}{\DeclareUnicodeOption}
+% \args{\oarg{pkg}\marg{name}}
+% Declare an unicode option, i.\,e.~the command
+% \texttt{\bslash ifUnicodeOption\meta{name}} to
+% test if \meta{name} is activated, further the commands
+% \texttt{\bslash @unicode@option@\meta{name}} and
+% \texttt{\bslash @unicode@option@no\meta{name}} to switch the option
+% on and off, which take a priority as argument (it is ignored in
+% case of the deactivation command).
+% If the optional argument \meta{pkg} is specified and not empty,
+% the option is
+% automatically activated, if package \meta{pkg} is loaded.
+%
+% If \marg{activate} is code
+% which is executed when the option is first used.
+%
+% \marg{on} and \marg{off} are executed every time the option is switched
+% on resp.~off.
+%
+% The activation and deactivation commands call |\uni@activate@option| at their
+% first call, which then sets their normal behaviour. This is done to ensure,
+% that on the initial call we can mark this option as ``in use'', so we
+% can do optimizations when loading data.
+% \begin{macrocode}
+\def\unicode@knownoptions{}
+\def\XDeclareUnicodeOption#1#2#3#4#5{%
+ \expandafter\let\csname ifUnicodeOption#2\endcsname\iffalse
+ \expandafter\def\csname UnicodeOption#2true%
+ \expandafter\endcsname\expandafter{%
+ \expandafter\let\csname ifUnicodeOption#2\endcsname\iftrue}%
+ \expandafter\def\csname UnicodeOption#2false%
+ \expandafter\endcsname\expandafter{%
+ \expandafter\let\csname ifUnicodeOption#2\endcsname\iffalse}%
+ \expandafter\def\csname @unicode@option@#2\endcsname{%
+ #3\uni@activate@option{#2}{}{#4}{#5}}%
+ \expandafter\def\csname @unicode@option@no#2\endcsname{%
+ #3\uni@activate@option{#2}{no}{#4}{#5}}%
+ \ifx~#1~\else\LinkUnicodeOptionToPkg{#2}{#1}\fi
+% \end{macrocode}
+% Keep a list of known options
+% \begin{macrocode}
+ \let\uc@tempa\\\let\\\relax
+ \edef\unicode@knownoptions{\\{#2}\unicode@knownoptions}%
+ \let\\\uc@tempa
+ }%
+\let\uc@newcommand\def
+\uc@newcommand\DeclareUnicodeOption{\@protected@testopt\DeclareUnicodeOption\DeclareUnicodeOption@{}}
+\uc@newcommand\DeclareUnicodeOption@[#1]#2{%
+ \XDeclareUnicodeOption{#1}{#2}{}{}{}}%
+% \end{macrocode}
+% \end{macro}\end{macro}
+%
+% \begin{macro}{\uc@errormsg}
+% \tobe
+% \begin{macrocode}
+\uc@newcommand\uc@errormsg#1#2{%
+ \ifx\PackageError\undefined
+ {\newlinechar`\^^J\def\MessageBreak{^^J}%
+ \errhelp{#2}\errmessage{Package ucs: #1}}%
+ \else
+ \PackageError{ucs}{#1}{#2}%
+ \fi
+}%
+\uc@newcommand\uc@warnmsg#1{%
+ \ifx\PackageWarning\undefined
+ {\newlinechar`\^^J\def\MessageBreak{^^J}%
+ \message{Package ucs: #1\MessageBreak}}%
+ \else
+ \PackageWarning{ucs}{#1}%
+ \fi
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\uni@activate@option}
+% \args{\marg{option}\marg{no}\marg{on}\marg{off}\marg{prio}}
+% This sets the \texttt{\bslash @unicode@option@\meta{name}} and
+% \texttt{\bslash @unicode@option@no\meta{name}} commands
+% to their normal behavior (setting and unsetting the option),
+% and then executes the first (in case \meta{no} is empty) or
+% the latter (in case \meta{no} is |no|) with \meta{prio} as
+% argument.
+%
+% \marg{on} and \marg{off} are executed when the option is
+% swtiched on resp.~off.
+% \begin{macrocode}
+\def\uni@activate@option#1#2#3#4#5{%
+ \ifx\uni@dataloaded\undefined
+ \global\expandafter\def\csname @unicode@option@#1\endcsname##1{%
+ \csname UnicodeOption#1true\endcsname
+ \expandafter\def\csname uo-prio-#1\endcsname{##1}#3}%
+ \global\expandafter\def\csname @unicode@option@no#1\endcsname##1%
+ {\csname UnicodeOption#1false\endcsname#4}%
+% \end{macrocode}
+% Mark this option as in use
+ \global\expandafter\let\csname uni@active@#1\endcsname1%
+% \begin{macrocode}
+ \csname @unicode@option@#2#1\endcsname{#5}\else
+ \uc@errormsg{Option #1 must be activated or deactivated %SPACE
+ at least once in the preamble before using it in the document}{%
+ For optimization causes I must know all %SPACE
+ options before loading any unicode data.\MessageBreak
+ Try e.g. #1 or no#1 as package option to ucs.}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LinkUnicodeOptionToPkg}
+% \args{\marg{option}\marg{pkg}}
+% Links the option \meta{option} to package \meta{pkg}, i.\,e.~if \meta{pkg} is
+% loaded, \meta{option} is set.
+% This mechanism is deprecated!
+% \begin{macrocode}
+\def\LinkUnicodeOptionToPkg#1#2{%
+ \AtBeginDocument{\@ifpackageloaded{#2}{\SetUnicodeOption{#1}}{}}}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SetUnicodeOption}
+% \args{\oarg{prio}\marg{option}}
+% Activates the unicode option \meta{option}, or disables it, if
+% prefixed by |no|. The option get the priority \meta{prio} if activated,
+% whereby the default ist 100.
+% \begin{macrocode}
+\uc@newcommand\SetUnicodeOption{\@protected@testopt\SetUnicodeOption\SetUnicodeOption@{100}}
+\uc@newcommand\SetUnicodeOption@[#1]#2{%
+ \edef\uc@temp@a{@unicode@option@#2}%
+ \expandafter\ifx\csname\uc@temp@a\endcsname\relax
+ \PackageError{ucs}{Unknown unicode option #2}{}%
+ \else
+ \csname\uc@temp@a\endcsname{#1}%
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\ifx\ProvidesPackage\undefined\else
+\ProvidesPackage{ucs}[2013/05/11 v2.2 UCS: Unicode input support]%
+\fi
+% \end{macrocode}
+% ^^A FIXME: We should update the date of ucs.sty even if the file ucs.sty has not changed, but the
+% ^^A character mappings have. Otherwise, we cannot specify a complience level by adding a
+% ^^A date to \usepackage{ucs} or \RequirePackage{ucs}.
+% Loads the global definitions of the unicode data. This is done so early,
+% because we need the option definitions.
+% \begin{macrocode}
+\ifx\@@input\undefined\input uni-global.def \else\input{uni-global.def}\fi
+% \end{macrocode}
+% \SpecialMainOptionIndex{fasterrors}
+% If this option is set, we don't include the characters name in error
+% messages, which runs much faster.
+% \begin{macrocode}
+\DeclareUnicodeOption{fasterrors}
+% \end{macrocode}
+% \SpecialMainOptionIndex{warnunknown}
+% If this option is set, errors about unknown characters become warnings.
+% \begin{macrocode}
+\DeclareUnicodeOption{warnunknown}
+% \end{macrocode}
+% \SpecialMainOptionIndex{graphics}
+% If this option is set, we try to download and include
+% GIFs from |unicode.org| to replace missing characters.
+% \begin{macrocode}
+\DeclareUnicodeOption{graphics}
+% \end{macrocode}
+% \SpecialMainOptionIndex{savemem}
+% If this option is set, we try several memory saving optimizations,
+% which slow down the operation.
+% \begin{macrocode}
+\DeclareUnicodeOption{savemem}
+% \end{macrocode}
+% \SpecialMainOptionIndex{document}
+% This option is reserved for manual declarations in the document
+% (using
+% |\DeclareUnicodeCharacter| and |\DeclareUnicodeCharacterAsOptional|).
+% It is activated by default.
+% \begin{macrocode}
+\DeclareUnicodeOption{document}
+\SetUnicodeOption[1000]{document}
+% \end{macrocode}
+% \SpecialMainOptionIndex{default}
+% This option contains all normal characters. It is activated by default,
+% but with priority 0, i.e.~all other options take precedence.
+% \begin{macrocode}
+\DeclareUnicodeOption{default}
+\SetUnicodeOption[0]{default}
+% \end{macrocode}
+% \SpecialMainOptionIndex{combine}
+% This option switches character combination on and off
+% (see section \ref{combining}). Switching it off also flushes the
+% combination buffer.
+% \begin{macrocode}
+\XDeclareUnicodeOption{}{combine}{}{%
+ \let\uc@cmb\empty}{%
+ \ifx\unicodecombine\undefined\else\unicodecombine\fi
+ \def\uc@cmb{\uc@warn@nocombine}}%
+\ifx\AtBeginDocument\undefined\else
+ \AtEndDocument{\unicodecombine}\fi
+\SetUnicodeOption{nocombine}%
+% \end{macrocode}
+% \begin{macro}{\uc@cmb}
+% This is called by all combining characters to give a warning, if character
+% combination is not enabled. Its default value is to give a warning, it is
+% redefined to |\empty|, when character combination is enabled.
+% \begin{macrocode}
+\def\uc@cmb{\uc@warn@nocombine}%
+% \end{macrocode}
+% \end{macro}
+% The usual option processing stuff.
+% \begin{macrocode}
+\ifx\DeclareOption\undefined\else
+\DeclareOption{showmagickern}{\def\uc@magic@glue{6805678}}%
+\DeclareOption{hyperref}{\AtEndOfPackage{\RequirePackage{ucshyper}}}%
+\DeclareOption*{\SetUnicodeOption{\CurrentOption}}\ProcessOptions*
+\fi
+% \end{macrocode}
+% Patch some fontencodings.
+% \begin{macrocode}
+\ifx\AtBeginDocument\undefined
+ \uc@warnmsg{Not loading ucsencs.def automatically.\MessageBreak
+ Please load it after initializing fontencodings}%
+\else
+ \AtBeginDocument{\input{ucsencs.def}}\fi
+% \end{macrocode}
+%
+% If the option |graphics| is set, we need to load the package |graphicx|.
+% \begin{macrocode}
+\AtBeginDocument{\ifUnicodeOptiongraphics\RequirePackage{graphicx}\fi}%
+% \end{macrocode}
+%
+%
+% \begin{macro}{\unicode@numtohex}
+% \args{\marg{target}\marg{number}\marg{len}}
+% Puts the hex representation of \meta{number} into the macro
+% \meta{target} with at least \meta{len}
+% digits. \meta{number} can be any valid \TeX-number. The result contains
+% uppercase letters. The assignment to \meta{target} is global.
+% \begin{macrocode}
+\uc@newcommand\unicode@numtohex{\protect\unicode@numtohex@}%
+\uc@newcommand\unicode@numtohex@#1#2#3{%
+ {%\let\empty\relax\relax
+ %\ifx\empty\relax\def\empty{}%
+ \count255=#2\relax\gdef#1{}%
+ \count252=#3%
+ \loop
+ \count253=\count252\advance\count253by\count255\relax
+ \ifnum\count253>0%
+ \ifnum\count252>0\advance\count252by-1\relax\fi
+ \count254=\count255%
+ \divide\count255by16%
+ \multiply\count255by16%
+ \advance\count254by-\count255%
+ \xdef#1{\ifcase\count254 0\or1\or2\or3\or4\or5\or6\or7\or
+ 8\or9\or A\or B\or C\or D\or E\or F\fi#1}%
+ \divide\count255by16\relax
+ \repeat
+ %\else
+ % \def#1{dec:#2}%
+ %\fi
+ }}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\uc@spc}
+% Same meaning as |\space|, but |\space| is redefined in some contexts (e.g.
+% in a bookmark in hyperref with option |pdftex|).
+% \begin{macrocode}
+\let\uc@spc\space
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\uc@secondtry}
+% If data is loaded to typeset a given character, its code position
+% is saved herein,
+% so when the character is called again, endless recursion in case of unfixable
+% errors can be avoided using the information in |\uc@secondtry|
+% \begin{macrocode}
+\newcount\uc@secondtry
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\unicode@invalid}
+% Expands into \LaTeX-Code, which is to be inserted for an unknown
+% unicode character. The character number is given as argument.
+% \begin{macrocode}
+\uc@newcommand\unicode@invalid#1{%
+ \unicode@combine%
+% \end{macrocode}
+% If use of GIFs is activated, begin a group,\dots
+% \begin{macrocode}
+ \ifUnicodeOptiongraphics{%
+% \end{macrocode}
+% \dots calculate URL without |http://| and trailing |.gif|,
+% save it to |\uc@temp@c|
+% \begin{macrocode}
+ \ifx\unicode@graphicsdir\undefined
+ \def\unicode@graphicsdir{ucs-glyphs}\fi
+ \ifx\unicode@graphicscmd\undefined
+ \def\unicode@graphicscmd{ucs-getglyph \hex\space \dec\space \path\space}\fi
+ \unicode@numtohex\hex{#1}4%
+ \count255=#1\relax
+ \divide\count255 by256\relax
+ \unicode@numtohex\uc@temp@b{\count255}2%
+ \edef\path{\unicode@graphicsdir/\uc@temp@b/U\hex.ps}%
+ \edef\dec{\number#1}%
+% \end{macrocode}
+% Test if we already have that image (as PS)
+% \begin{macrocode}
+ \IfFileExists{\uc@temp@c}{}{%
+% \end{macrocode}
+% otherwise run shell commands for download and conversion
+% \begin{macrocode}
+ \typeout{Running: \unicode@graphicscmd}%
+ \immediate\write18{\unicode@graphicscmd}%
+ }%
+% \end{macrocode}
+% Try if we have the file now
+% \begin{macrocode}
+ \IfFileExists{\path}{%
+% \end{macrocode}
+% then include it
+% \begin{macrocode}
+ \setbox255=\hbox{X}%
+ \edef\uc@temp@b{\begingroup\noexpand\uni@resetcatcodes
+ \noexpand\includegraphics[height=\the\ht255, trim=0 22.5 0 17.5]%
+ {\path}%
+ \noexpand\ProvidesFile{U\hex.ps}%
+ [Downloaded glyph for U+\hex]%
+ \endgroup}%
+ \typeout{\meaning\uc@temp@b}%
+ \expandafter\unicodevirtual\expandafter{\uc@temp@b}%
+ }{%
+% \end{macrocode}
+% otherwise we give a warning
+% \begin{macrocode}
+ \PackageWarning{ucs}{File \uc@temp@d\uc@temp@c.ps %SPACE
+ not found.\MessageBreak
+ Use\MessageBreak
+ \space\space\space\space\unicode@graphicscmd\MessageBreak
+ or start latex with option -shell-escape\MessageBreak
+ if you have not already done so.}%
+% \end{macrocode}
+% and use the standard glyph for unknown characters
+% \begin{macrocode}
+ \unicodevirtual{\unicode@invalidglyph{#1}}}}\else
+% \end{macrocode}
+% In case we don't want to use GIFs, simple include the standard glyph for
+% invalid characters
+% \begin{macrocode}
+ \unicodevirtual{\unicode@invalidglyph{#1}}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\unicode@invalidglyph}
+% This is macro creates the glyph to insert for an unknown character, if
+% everything else fails (see |\unicode@invalid|). The character code for
+% the substituted character is given in the first argument.
+% \begin{macrocode}
+\uc@newcommand\unicode@invalidglyph#1{%
+ {\unicode@numtohex\uc@temp@d{#1}4%
+ \fontencoding{OT1}\texttt{[U+\uc@temp@d]}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\uni@char}
+% \args{\marg{code}}
+% Expands into the \LaTeX-macro for unicode character \meta{code}.
+% Loads the corresponding \texttt{uni-\dots.def}-file if necessary.
+% \begin{macrocode}
+\uc@newcommand\uni@char#1{%
+ \ucs@protected@unichar\iftrue
+ \expandafter\ifx\csname u-\number#1-h/o\endcsname\relax
+ % \end{macrocode}
+ % If the character is not defined yet, load it.
+ % \begin{macrocode}
+ \begingroup
+ % In case \let is not executed, this (until ===) expands
+ % to \let\relax\relax,
+ % otherwise we have \let\uc@notloaderr\@gobble
+ % Number of \empty's must equal number of args of \uc@char@notloaded
+ \let\uc@notloaderr\@gobble\empty\@gobbletwo\relax\relax
+ % ===
+ \expandafter\endgroup
+ % If \let not executed: Warning is emitted (see |\uc@notloaderr|)
+ % otherwise: |\uc@char@notloaded| is called.
+ \uc@notloaderr{\number#1}\uc@char@notloaded{#1}%
+ \else
+ % \end{macrocode}
+ % If the character is loaded, run |\uc@checkopts|
+ % with the options of this character
+ % as first arg and the code position as second; this will
+ % display the character with
+ % the correct option.
+ % \begin{macrocode}
+ \expandafter\expandafter\expandafter\uc@checkopts
+ \expandafter\expandafter\expandafter
+ {\csname u-\number#1-h/o\endcsname}{#1}%
+ \fi
+ \else
+ \noexpand\unichar{#1}%
+ \fi
+}
+\begingroup
+ \lccode`\A=`\{\lccode`\B=`\}\lccode`\C=`\\%
+ \lccode`\P=`\P\lccode`\U=`\U%
+ \lowercase{%
+\endgroup
+ \uc@newcommand\uc@notloaderr#1#2#3{%
+ \ifx\@gobble#1\else[Please insert %SPACE
+ CPrerenderUnicodeACunicharA#1BB into preamble]\fi}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uc@checkopts}
+% \args{\marg{options}\marg{code}}
+% For the character \meta{code} which has options \meta{options} (each option enclosed in |{}|)
+% the corresponding macro is searched an executed.
+% \begin{macrocode}
+\uc@newcommand\uc@checkopts#1#2{%
+% \end{macrocode}
+% Start the automaton. See \ref{automaton} for an explanation.
+% \begin{macrocode}
+ \expandafter\uc@checkopt@error\expandafter{\number#2}%
+ {error}{error}{infinity}#1\@nil
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uo-prio-infinity}
+% Set the priority of the option |infinity| to something near to $-\infty$.
+% This options does not exist, but is used internally in the automaton
+% described in \ref{automaton}.
+% \begin{macrocode}
+\expandafter\uc@newcommand\csname uo-prio-infinity\endcsname{-2100000000}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uc@checkopt@stick}
+% \begin{macro}{\uc@checkopt@change}
+% \begin{macro}{\uc@checkopt@error}
+% \begin{macro}{\uc@checkopt@errorstick}
+% Now the autogenerated code for the automaton described in \ref{automaton} follows. It is
+% generated by |mkcovariants.pl|.
+% \begin{macrocode}
+%% === BEGIN AUTOGENERATED CODE
+\uc@newcommand\uc@checkopt@stick#1#2#3#4#5{%
+ \ifx\@nil#5%
+\expandafter\ifx\csname u-#2-#1\endcsname\relax
+ \uc@localdeferr{#1}{#2}%
+\else
+ \uc@output{\csname u-#2-#1\endcsname}{#1}%
+\fi
+ \expandafter\@gobblefour
+ \else
+ \iftrue\csname fi\endcsname
+ \csname ifUnicodeOption#5\endcsname
+ \ifnum\csname uo-prio-#2\endcsname>\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@stick
+ \else
+ \ifnum\csname uo-prio-#2\endcsname<\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@change
+ \else
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@error
+ \fi
+ \fi
+ \else
+ \expandafter\expandafter\expandafter\uc@checkopt@stick
+ \fi
+ \fi
+ {#1}{#2}{#5}{#2}%
+}
+\uc@newcommand\uc@checkopt@change#1#2#3#4#5{%
+ \ifx\@nil#5%
+\expandafter\ifx\csname u-#3-#1\endcsname\relax
+ \uc@localdeferr{#1}{#3}%
+\else
+ \uc@output{\csname u-#3-#1\endcsname}{#1}%
+\fi
+ \expandafter\@gobblefour
+ \else
+ \iftrue\csname fi\endcsname
+ \csname ifUnicodeOption#5\endcsname
+ \ifnum\csname uo-prio-#3\endcsname>\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@stick
+ \else
+ \ifnum\csname uo-prio-#3\endcsname<\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@change
+ \else
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@error
+ \fi
+ \fi
+ \else
+ \expandafter\expandafter\expandafter\uc@checkopt@stick
+ \fi
+ \fi
+ {#1}{#3}{#5}{#3}%
+}
+\uc@newcommand\uc@checkopt@error#1#2#3#4#5{%
+ \ifx\@nil#5%
+\uc@errordrawopt{#1}{#2, #3}{#4}%
+ \expandafter\@gobblefour
+ \else
+ \iftrue\csname fi\endcsname
+ \csname ifUnicodeOption#5\endcsname
+ \ifnum\csname uo-prio-#4\endcsname>\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@errorstick
+ \else
+ \ifnum\csname uo-prio-#4\endcsname<\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@change
+ \else
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@error
+ \fi
+ \fi
+ \else
+ \expandafter\expandafter\expandafter\uc@checkopt@errorstick
+ \fi
+ \fi
+ {#1}{#2, #3}{#5}{#4}%
+}
+\uc@newcommand\uc@checkopt@errorstick#1#2#3#4#5{%
+ \ifx\@nil#5%
+\uc@errordrawopt{#1}{#2}{#4}%
+ \expandafter\@gobblefour
+ \else
+ \iftrue\csname fi\endcsname
+ \csname ifUnicodeOption#5\endcsname
+ \ifnum\csname uo-prio-#4\endcsname>\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@errorstick
+ \else
+ \ifnum\csname uo-prio-#4\endcsname<\csname uo-prio-#5\endcsname\uc@spc
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@change
+ \else
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter
+ \uc@checkopt@error
+ \fi
+ \fi
+ \else
+ \expandafter\expandafter\expandafter\uc@checkopt@errorstick
+ \fi
+ \fi
+ {#1}{#2}{#5}{#4}%
+}
+% === END AUTOGENERATED CODE
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}\end{macro}
+% \begin{macro}{\uc@errordrawopt}
+% \args{\marg{code}\marg{bestopts}{\marg{prefopt}}}
+% This is called, if several options match the character \meta{code} with same priority or
+% when no option matches (then \meta{prefopt} is |infinity|).
+%
+% In case of several matching options, \meta{bestopts} is a comma separated list (with spaces,
+% intended for display) and \meta{prefopt} s one of these.
+%
+% After yielding an error or warning, the character is displayed with option \meta{prefopt} (except
+% when \meta{prefopt} is |infinity|, then |\unicode@invalid| is rendered.
+% \begin{macrocode}
+\let\unicode@empty\empty
+\uc@newcommand\uc@errordrawopt#1#2#3{%
+% \end{macrocode}
+% Check whether we are in executing context
+% \begin{macrocode}
+ \let\unicode@empty\relax\relax
+ \ifx\unicode@empty\relax\let\unicode@empty\empty
+% \end{macrocode}
+% if yes, operate normally
+% \begin{macrocode}
+ \unicode@numtohex\uc@temp@b{#1}4%
+ \ifnum\csname uo-prio-#3\endcsname=-2100000000\relax
+% \end{macrocode}
+% If \meta{prefopt} is |infinity|, give an unknown character error and display the character
+% \begin{macrocode}
+ \expandafter\ifx\csname
+ missing-unicode-warned-\number#1\endcsname\relax
+ \global\expandafter\let\csname
+ missing-unicode-warned-\number#1\endcsname\@ne
+ \unicode@error@unknown\@ne{Character \number#1\uc@spc
+ \uc@spc= U+\uc@temp@b\uc@spc
+ matches no activated options.\MessageBreak
+ Type H to see available options}{#1}%
+ \else
+ \PackageWarning{ucs}{Character % SPACE
+% \tobe: nothing rendered?
+ \number#1 \uc@spc= 0x\uc@temp@b\uc@spc
+ appeared again.}%
+ \fi
+ \else
+% \end{macrocode}
+% Otherwise inform the user of the collision\dots
+% \begin{macrocode}
+ \@getcharinfo\uc@temp@c{#1}%
+ \PackageWarning{ucs}{Character %SPACE
+ \number#1 \uc@spc= 0x\uc@temp@b\uc@spc
+ matches options\MessageBreak
+ \uc@spc\uc@spc\uc@spc#2\MessageBreak
+ with same priority \csname uo-prio-#3\endcsname. %SPACE
+ Selecting option #3.\MessageBreak
+ \uc@temp@c}%
+% \end{macrocode}
+% and render the glyph corresponding to option \meta{prefopt}.
+% \begin{macrocode}
+ \uc@output{\csname u-#3-#1\endcsname}{#1}%
+ \fi
+% \end{macrocode}
+% if we are in non-executing context, replace ourself by a |\unichar| call,
+% since otherwise
+% constructs like
+% |\section{abc \SetUnicodeOption{def} ghi}| may yield errors (because of
+% writing to the toc file).
+% Note that this is a hack, it is better to make |\unichar| protected
+% when this happens.
+% \begin{macrocode}
+ \else
+ \noexpand\unichar{#1}%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uc@output}
+% \args{\marg{macro}\marg{code}}
+% Output an unicode character. Its glyph macro is \meta{macro},
+% its code (for error messages) \meta{code}.
+%
+% If |\unicode@delay| equals 1 (via |\let|), the character is not output.
+%
+% If character combination is enabled, outputting is done by |\uc@combine|.
+%
+% If the glyph macro defines |\uc@throw|, |\uc@throw| is executed after defining
+% |\uc@got| to \meta{code}. This allows the macros to yield error messages containing
+% the character code.
+% \begin{macrocode}
+\uc@newcommand\uc@output#1#2{%
+ \ifx\unicode@delay1\let\unicode@delay\relax\else
+ \ifUnicodeOptioncombine
+% \end{macrocode}
+% If the character is combining, outputting is handled by |\uc@combine|.
+% \begin{macrocode}
+ \expandafter\uc@combine\expandafter{#1}{#2}%
+ \else
+% \end{macrocode}
+% Output the character
+% \begin{macrocode}
+ \uc@prechar@exec{#2}%
+% \ifx\unicode@charfilter\undefined
+% #1{}%
+% \else
+ \unicode@charfilter{#1{}}%
+% \fi
+ \fi
+% \end{macrocode}
+% If an exception has been thrown by the glyph macro, execute it
+% with |\uc@got| defined to \meta{code}.
+% \begin{macrocode}
+ \ifx\uc@throw\undefined\else
+ \def\uc@got{#2}\uc@throw\global\let\uc@throw\undefined\fi
+ \fi
+}%
+\uc@newcommand\uc@prechar@exec#1{%
+ \ifx\uc@prechar\undefined\else\uc@prechar{#1}\fi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uc@localdeferr}
+% \tobe
+% \begin{macrocode}
+\uc@newcommand\uc@localdeferr#1#2{%
+ \@getcharinfo\uc@temp@a{#1}%
+ \PackageError{ucs}{Internal error in character \number#1, %SPACE
+ option #2}{I probably got confused by intermixed local %SPACE
+ and global definitions.\MessageBreak Try to load the needed %SPACE
+ code page via \noexpand\PreloadUnicodePage
+ before declaring anything by yourself.}{\uc@temp@a}%
+ \unicode@invalid{#1}%
+}%
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uc@warn@nocombine}
+% Document me!!!\tobe
+% \begin{macrocode}
+\uc@newcommand\uc@warn@nocombine{%
+ \PackageError{ucs}{Please activate option 'combine'}{Composed %SPACE
+ characters can only be rendered correctly, when the option %SPACE
+ 'combine' is activated}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uc@combtoks}
+% \begin{macro}{\uc@combtoksb}
+% \begin{macro}{\uc@temptokena}
+% Document me!!!\tobe
+% \begin{macrocode}
+\newtoks\uc@combtoks
+\newtoks\uc@combtoksb
+\newtoks\uc@temptokena
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}
+% \begin{macro}{\unicode@combine}
+% Document me!!!\tobe
+% \begin{macrocode}
+\uc@newcommand\unicode@combine{%
+ \uc@check@magicglue%
+ \ifx\uc@combining@prechar\undefined\global\let\uc@comb@code\undefined\fi
+ \ifx\uc@comb@code\undefined\uc@temptokena{}\else
+ \uc@temptokena\expandafter{\expandafter\uc@prechar@exec
+ \expandafter{\uc@comb@code}}\fi%
+ \global\let\uc@comb@code\undefined
+ \global\expandafter\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\uc@combtoksb
+ \expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter{%
+ \expandafter\expandafter\expandafter\the
+ \expandafter\expandafter\expandafter\uc@combtoksb
+ \expandafter\the\expandafter\uc@temptokena\the\uc@combtoks}%
+ \global\uc@combtoks{}}
+%\def\uc@magic@glue{680567893}
+\def\uc@magic@glue{5381}
+\uc@newcommand\uc@check@magicglue{%
+ \ifnum\lastskip=\uc@magic@glue\unskip\else
+ \begingroup
+ \edef\uc@temp@a{\the\uc@combtoks}%
+ \ifx\uc@temp@a\empty\else
+ \PackageWarning{ucs}{Magic kern expected. Probably some %SPACE
+ non-unicode characters mixed in while option combine was %SPACE
+ in effect.}\fi\endgroup
+ \fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\unicodevirtual}
+% \begin{macrocode}
+\uc@newcommand\unicodevirtual#1{%
+ \def\uc@temp@a##1{#1}\uc@output{\csname uc@temp@a\endcsname}{"FFFF}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\unicode@combine}
+% Document me!!!\tobe
+% \begin{macrocode}
+\uc@newcommand\unicodecombine{%
+ \ifx\protect\@typeset@protect
+ \unicode@combine%
+ %\typeout{WRITING: \the\uc@combtoksb}%
+ \the\uc@combtoksb
+ \uc@prechar@exec{-1}%
+ \global\uc@combtoksb{}%
+% \end{macrocode}
+% If an exception has been thrown by the glyph macro, execute it
+% with |\uc@got| defined to \meta{code}.
+% \begin{macrocode}
+ \ifx\uc@throw\undefined\else
+ \def\uc@got{-1}\uc@throw\global\let\uc@throw\undefined\fi
+ \else
+ \noexpand\unicodecombine\fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\uc@combine}
+% Document me!!!\tobe
+% \begin{macrocode}
+\uc@newcommand\uc@combine#1#2{%
+ \ifx\protect\@typeset@protect
+ \@temptokena\expandafter{#1{}}%
+ \expandafter\expandafter\expandafter\ifx
+ \expandafter\uc@firstofmany\the\@temptokena\uc@firstofmany\uc@cmb
+ \uc@check@magicglue%
+ \uc@combtoks\expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter{%
+ \expandafter\expandafter\expandafter\@gobble
+ \expandafter#1\expandafter{\the\uc@combtoks}}%
+ \else
+ \unicode@combine%
+ \xdef\uc@comb@code{\number#2}%
+ \global\uc@combtoks\expandafter{#1{}}%
+ \fi
+ %\typeout{->COMBTOKS: \the\uc@combtoks}%
+ \hskip\uc@magic@glue spplus0ptminus0pt %SPACE ; Insert magic glue
+ \else
+ \noexpand\unichar{\number#2}\fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\uc@char@notloaded}
+% Part of |\uni@char| which is only executed when the character is not
+% defined (yet).
+%
+% Note that this command breaks kerning and ligatures.
+% \begin{macrocode}
+\uc@newcommand\uc@char@notloaded#1{%
+% \end{macrocode}
+% Calculate the name of the corresponding file
+% \begin{macrocode}
+ \count255=#1\divide\count255 by 256%
+ \edef\uc@temp@a{uni-\number\count255.def}%
+% \end{macrocode}
+% If the file was not loaded yet
+% (\texttt{\bslash\meta{filename}} is not set)
+% and we are not just called by uni@char after a first failure
+% (|\uc@secondtry| is not set to actual character), jump to |\else|-Branch
+% \begin{macrocode}
+ \expandafter\ifx\csname\uc@temp@a\endcsname\relax\else
+ \uc@secondtry#1\relax\fi
+ \ifnum\uc@secondtry=#1\relax
+% \end{macrocode}
+ % If the file has already been loaded, but the character is unknown,
+ % output an error and show the replacement glyph
+% \begin{macrocode}
+ \unicode@numtohex\uc@temp@b{#1}4%
+ \expandafter\ifx\csname
+ missing-unicode-warned-\number#1\endcsname\relax
+ \global\expandafter\let\csname
+ missing-unicode-warned-\number#1\endcsname\@ne
+ \unicode@error@unknown\@ne{Unknown Unicode character % SPACE
+ \number#1 \uc@spc= U+\uc@temp@b,\MessageBreak
+ possibly declared in \uc@temp@a.\MessageBreak
+ Type H to see if it is available with options}{#1}%
+ \else
+ \PackageWarning{ucs}{Unknown character % SPACE
+ \number#1 \uc@spc = 0x\uc@temp@b\uc@spc
+ appeared again.}%
+ \unicode@invalid{#1}%
+ \fi
+ \else
+% \end{macrocode}
+% Begin a group for included file, so that only explicitly exported
+% macros are defined globally
+% \begin{macrocode}
+ \begingroup
+% \end{macrocode}
+% Mark file as loaded (premature, but that's OK)
+% \begin{macrocode}
+ \ifUnicodeOptionsavemem
+% \expandafter\let\csname\uc@temp@a\endcsname\@ne
+ \else
+ \global\expandafter\let\csname\uc@temp@a\endcsname\@ne
+ \fi
+% \end{macrocode}
+% Set |\uc@got| to the code position to be loaded (needed for option savemem)
+% \begin{macrocode}
+ \def\uc@got{#1}%
+% \end{macrocode}
+% Reset catcodes to a reasonable default.
+% \begin{macrocode}
+ \uni@resetcatcodes
+% \end{macrocode}
+% Load file.
+% \begin{macrocode}
+ \expandafter\InputIfFileExists\expandafter{\uc@temp@a}{%
+% \end{macrocode}
+% Indicate, that unicode data has been loaded
+% (for |\uni@activate@option|).
+% \begin{macrocode}
+ \global\let\uni@dataloaded1%
+ }{%
+ }%
+% \end{macrocode}
+ % End of local group for inputted file
+% \begin{macrocode}
+ \endgroup
+% \end{macrocode}
+ % Retry displaying character. This won't cause infinite recursion,
+ % because we have marked this file as loaded (globally or, if
+ % |savemem| is set, at least here).
+% \begin{macrocode}
+ \uc@secondtry#1\relax%
+ \uni@char{#1}%
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PreloadUnicodePage}
+% Loads the \texttt{uni-\dots.def}-file with the given number.
+% Deprecated, not maintained any more. May be removed in the future.
+% \begin{macrocode}
+\uc@newcommand\PreloadUnicodePage#1{%
+ \begingroup
+ \global\expandafter\let\csname uni-#1.def\endcsname\@ne
+ \uni@resetcatcodes
+ \InputIfFileExists{uni-#1.def}{\let\uni@dataloaded1}{%
+ \PackageError{ucs}{Could not find uni-#1.def}{}}%
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PrerenderUnicode}
+% \tobe
+% \begin{macrocode}
+\uc@newcommand\PrerenderUnicode{%
+ \@ifstar{\@prerenderunicode\unichar}{\@prerenderunicode\@gobble}}%
+\uc@newcommand\@prerenderunicode#1#2{%
+ \begingroup
+ \UnicodeCharFilter\@gobble
+ \let#1\@gobble\setbox0\hbox{#2}\endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\DeclareUnicodeCharacter}
+% |\DeclareUnicodeCharacter||{|\meta{code}|}{|\meta{macro}|}| is an
+% abbreviation for\\
+% |\DeclareUnicodeCharacterAsOptional||{|\meta{code}|}{|document%
+% |}{|\meta{macro}|}|.
+% \begin{macrocode}
+\uc@newcommand\DeclareUnicodeCharacter#1#2{%
+ \DeclareUnicodeCharacterAsOptional{#1}{document}{#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\DeclareUnicodeCharacterAsOptional}
+% \begin{macro}{\uc@dclc}
+% \args{\marg{code}\marg{option}\marg{macro}}
+% Both macros set \meta{macro} to be the glyph
+% macro for the character \meta{code}
+% if option \meta{option} is set.
+%
+% The glyph macro is stored in \texttt{\bs u-\meta{option}-\meta{code}}
+% and \meta{options} is added to the list
+% \texttt{\bs u-\meta{code}-h/o}, which is a concatenation of
+% entries of the following syntax: \texttt{\bs\bs\{\meta{option}\}}.
+%
+% The following paragraph applies only to |\uc@dclc|:
+% The character is declared globally.
+% If |savemem| is set,
+% the character is only declared, if it's code
+% equals |\uc@got| and it's option is used (it does not matter,
+% whether enabled or disabled).
+% If |savemem| is not set and the option is not used, the macro is not defined
+% but the option is saved in \texttt{\bs u-\meta{code}-h/o} to support
+% informative error messages. An existing character declaration is not
+% overwritten.
+% |\uc@dclc| must not be used outside the automatically
+% loaded uni-*.def files.
+%
+% Note that if a character is declared by |\DeclareUnicodeCharacterAsOptional|
+% locally, and
+% than its |uni-*.def|-file is loaded, it is not
+% overwritten, so after leaving the group
+% the character is undefined, even if it was in the |uni-*.def|-file.
+% This constellation will not arise, if you declare document-local
+% characters with option |document|.
+% \begin{macrocode}
+\uc@newcommand\DeclareUnicodeCharacterAsOptional{%
+ \let\uc@temp@a\relax\uni@declcharopt}
+\uc@newcommand\uc@dclc#1#2{%
+ \let\next=\uni@declcharopt
+ \ifUnicodeOptionsavemem
+ \ifnum\uc@got=#1\else
+ \let\next=\@gobblethree\fi
+ \fi
+ \ifx\next\uni@declcharopt
+ \expandafter\ifx\csname uni@active@#2\endcsname\relax
+ \let\next\@gobblethree\else
+ \expandafter\ifx\csname u-#2-\number#1\endcsname\relax\else
+ \let\next\@gobblethree\fi\fi
+ \let\uc@temp@a\global
+ \fi
+ \next{#1}{#2}}
+% \end{macrocode}
+% \end{macro}\end{macro}
+%
+% \begin{macro}{\uni@declcharopt}
+% This macros does the real work for |\DeclareUnicodeCharacterAsOptional|
+% and |\uc@dclc|. The options are the same as with those macros. |\uc@temp@a|
+% must be |\relax| for a local definition and |\global| for a global
+% definition.
+% \begin{macrocode}
+\uc@newcommand\uni@declcharopt#1#2#3{%
+ %\typeout{Defining: u-#2-\number#1 (\meaning\uc@temp@a)}%
+ \ifx\utf@viii@map\undefined\else
+ \expandafter\utf@viii@map\expandafter{\number#1}\fi
+ \expandafter\uc@temp@a\expandafter\def
+ \csname u-#2-\number#1\endcsname##1{#3}%\fi
+ \expandafter\ifx\csname u-\number#1-h/o\endcsname\relax
+ \expandafter\def\csname u-\number#1-h/o\endcsname{}\fi
+ \expandafter\uc@temp@a\expandafter\edef
+ \csname u-\number#1-h/o\endcsname{%
+ {#2}\csname u-\number#1-h/o\endcsname}%
+ }%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\unichar}
+% Outputs the unicode character number |#1|.
+% \begin{macrocode}
+\let\unichar\uni@char
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\unicodesuper}
+% \begin{macro}{\unicodesub}
+% \begin{macro}{\unicodecircle}
+% \begin{macro}{\unicodesquare}
+% \begin{macro}{\unicodevertical}
+% \begin{macro}{\unicodewide}
+% \begin{macro}{\unicodesmall}
+% Commands to apply to compositions which have the flag
+% |<super>|, |<sub>|, |<circle>|, |<square>|, |<vertical>|, |<wide>|
+% resp.~|<small>| in the unicode database.
+% These are needed for some autogenerated macros, but you have to define
+% them by yourself.
+% These macros are only used inside |\uc@output|,
+% |\uc@throw| can be used.
+% \begin{macrocode}
+\uc@newcommand\unicodesuper#1{\textsuperscript{#1}}%
+%\uc@newcommand\unicodesub#1{%
+% \@latex@error{\protect\unicodesub\uc@spc not supported}\@eha}
+%\uc@newcommand\unicodecircle#1{%
+% \@latex@error{\protect\unicodecircle\uc@spc not supported}\@eha}
+%\uc@newcommand\unicodesquare#1{%
+% \@latex@error{\protect\unicodesquare\uc@spc not supported}\@eha}
+%\uc@newcommand\unicodevertical#1{%
+% \@latex@error{\protect\unicodevertical\uc@spc not supported}\@eha}
+%\uc@newcommand\unicodewide#1{%
+% \@latex@error{\protect\unicodewide\uc@spc not supported}\@eha}
+%\uc@newcommand\unicodesmall#1{%
+% \@latex@error{\protect\unicodesmall\uc@spc not supported}\@eha}
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}\end{macro}
+% \end{macro}\end{macro}\end{macro}
+%
+% \begin{macro}{\@getcharinfo}
+% \args{\marg{\bs target}\marg{code}}
+% Generates information for character \meta{code} and stores it into
+% \texttt{\meta{\bs target}}. |uninames.dat| is scanned for this purpose,
+% unless disabled by the option |fasterrors|.
+% \begin{macrocode}
+\uc@newcommand\@getcharinfo#1#2{%
+ \begingroup
+ \countdef\uc@got0\relax\uc@got#2\relax
+ \global\def#1{Character's name unknown}%
+ \def\info##1{\xdef#1{##1}}%
+ \uni@resetcatcodes
+ \ifUnicodeOptionfasterrors
+ \global\def#1{No further informations known % SPACE
+ because of option fasterrors.}\else
+ {\InputIfFileExists{uninames.dat}{}{%
+ \global\def#1{Character database uninames.dat not found. %SPACE
+ \MessageBreak Character \number#2 \uc@spc unknown}}}%
+ \fi
+%
+ \toks255{}%
+ \def\uc@dclc##1##2##3{\ifnum##1=\uc@got
+ \toks255\expandafter{\the\toks255, ##2}\fi}%
+ \count255\uc@got\divide\count255by256\relax
+ %\edef\temp@a{uni-\number\count255.def}%
+ \InputIfFileExists{uni-\number\count255.def}{}{}%
+ \expandafter\ifx\expandafter\@nil\the\toks255 \@nil
+ \xdef#1{#1\noexpand\MessageBreak
+ Character is not defined in uni-*.def files}%
+ \else
+ \expandafter\expandafter\expandafter\@getcharinfo@
+ \expandafter\expandafter\expandafter#1%
+ \expandafter\expandafter\expandafter
+ {\expandafter#1\expandafter}\the\toks255 \@nil%
+ \fi
+ \endgroup}
+\def\@getcharinfo@#1#2, #3\@nil{\gdef#1{#2\MessageBreak
+ Character available with following options:\MessageBreak
+ \uc@spc\uc@spc\uc@spc #3}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\PrintUnicodeName}
+% \args{\marg{number}}
+% Prints information on character \meta{number} via |\typeout|.
+% \begin{macrocode}
+\uc@newcommand\PrintUnicodeName#1{{%
+ \@getcharinfo{\ci}{#1}%
+ \def\MessageBreak{^^J}%
+ \typeout{^^J\ci^^J}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\UnicodeCharFilter}
+% \args{\marg{\bs command}}
+% Sets \texttt{\meta{\bs command}}
+% to be called as a filter for each glyph macro. The
+% glyph macro is given as the only argument.
+% \begin{macrocode}
+\uc@newcommand\UnicodeCharFilter#1{\let\unicode@charfilter=#1}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\UCSProtectionNone}
+% \begin{macro}{\UCSProtectionIeC}
+% \begin{macro}{\UCSProtectionUnichar}
+% \begin{macrocode}
+\uc@newcommand\UCSProtectionNone{%
+ \def\ucs@protected@unichar{}%
+ \UnicodeCharFilter\@firstofone}
+\uc@newcommand\UCSProtectionIeC{%
+ \def\ucs@protected@unichar{}%
+ \UnicodeCharFilter\IeC}
+\uc@newcommand\UCSProtectionUnichar{%
+ \def\ucs@protected@unichar##1{\ifx\protect\@typeset@protect}%
+ \UnicodeCharFilter\@firstofone}
+\UCSProtectionIeC
+% \end{macrocode}
+% \end{macro}\end{macro}\end{macro}
+%
+% \begin{macro}{\uni@resetcatcodes}
+% Sets the catcode to reasonable defaults. Used before inputting
+% |uni-....def|-files, because this can occur anywere. Note that |@| is
+% of category ``letter''.
+% \begin{macrocode}
+\uc@newcommand\uni@resetcatcodes{%
+ \endlinechar=13\relax
+ \def\reserved@a##1##2{%
+ \@tempcnta##1\relax
+ \@tempcntb##2\relax
+ \reserved@b
+ }%
+ \def\reserved@b{%
+ \ifnum\@tempcnta>\@tempcntb\else
+ \reserved@c\@tempcnta
+ \advance\@tempcnta\@ne
+ \expandafter\reserved@b
+ \fi
+ }%
+ \catcode`\ =10\relax
+ \catcode`\#=6\relax
+ \catcode`\$=3\relax
+ \catcode`\%=14\relax
+ \catcode`\&=4\relax
+ \catcode`\\=0\relax
+ \catcode`\^=7\relax
+ \catcode`\_=8\relax
+ \catcode`\{=1\relax
+ \catcode`\}=2\relax
+ \catcode`\~=13\relax
+ \catcode`\@=11\relax
+ \catcode`\^^I=10\relax
+ \catcode`\^^J=12\relax
+ \catcode`\^^L=12\relax
+ \catcode`\^^M=5\relax
+ \def\reserved@c##1{\catcode##1=12\relax}%
+ \reserved@c{`\!}%
+ \reserved@c{`\"}%
+ \reserved@a{`\'}{`\?}%
+ \reserved@c{`\[}%
+ \reserved@c{`\]}%
+ \reserved@c{`\`}%
+ \reserved@c{`\|}%
+ \def\reserved@c##1{\catcode##1=11\relax}%
+ \reserved@a{`\A}{`\Z}%
+ \reserved@a{`\a}{`\z}%
+ \def\reserved@c##1{\catcode##1=15\relax}%
+ \reserved@a{0}{`\^^H}%
+ \reserved@c{`\^^K}%
+ \reserved@a{`\^^N}{31}%
+ \catcode"7F=15\relax
+ \relax}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\unicode@error@unknown}
+% \args{\marg{replacement}\marg{msg}\marg{code}}
+% Outputs a warning or an error, depending of option |warnunknown|.
+% When the user types ``I!'', he is asked for a definition for the missing
+% glyph which is defined with option default.
+% If \meta{replacement} is \@ne, typeset the invalid
+% glyph or the newly defined one.
+% \meta{replacement} must be \@z otherwise.
+% character.
+%
+% |\@getcharinfo| is used for the detail message.
+% \begin{macrocode}
+\catcode`\!13\relax
+\uc@newcommand\unicode@error@unknown{\protect\unicode@error@unknown@}%
+\uc@newcommand\unicode@error@unknown@#1#2#3{%
+% \end{macrocode}
+% When we are in an |amstex| environment like |align|, errors and warnings are
+% disabled during measurement. Since an missing character error is
+% only yielded once, this should not be so. So we trick amstex by setting
+% |\measuring@false| locally.
+% \begin{macrocode}
+ {\expandafter\countdef\expandafter\uc@got\expandafter0%
+ \expandafter\relax\expandafter\uc@got\number#3\relax
+ \ifx\measuring@false\undefined\else\measuring@false\fi
+ \@getcharinfo\uc@temp@c{#3}%
+ \ifUnicodeOptionwarnunknown
+ \PackageWarning{ucs}{#2\MessageBreak\uc@temp@c.\MessageBreak
+ Enter I\noexpand!<RET> to define the glyph.}%
+ \ifx#1\@ne\unicode@invalid{#3}\fi
+ \else
+ \let!\unicode@read@definition\catcode`\!13\relax
+ \let\uc@read@definition\undefined
+ \PackageError{ucs}{#2}{\uc@temp@c.\MessageBreak
+ Enter I\noexpand!<RET> to define the glyph.}%
+ \ifx#1\@ne
+ \ifx\uc@read@definition\undefined\unicode@invalid{#3}%
+ \else\uc@read@definition\fi\fi
+ \fi}}
+\catcode`\!12\relax
+\uc@newcommand\unicode@read@definition{%
+ \uni@resetcatcodes
+ \typein[\definition]{Please enter definition for %SPACE
+ unicode character \number\uc@got}%
+ \global\let\uc@read@definition\definition
+ \toks255\expandafter{\definition}%
+ \edef\definition{\noexpand\DeclareUnicodeCharacter%
+ {\number\uc@got}{\the\toks255}}%
+ \toks255\expandafter{\definition}%
+ \typeout{Tip:\MessageBreak You may include\MessageBreak
+ \uc@spc\uc@spc\the\toks255\MessageBreak
+ into your document source.}%
+ \the\toks255\relax
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\uc@firstofmany}
+% Use |\uc@firstofmany|\meta{args}|\uc@firstofmany| to get the first token of \meta{args}.
+% \begin{macrocode}
+\def\uc@firstofmany#1#2\uc@firstofmany{#1}
+% \end{macrocode}
+% \end{macro}
+%
+% utf8.def has been renamed to utf8x.def, utf8.def is now the LaTeX kernel's
+% UTF-8. To support old documents, we detect whether ucs.sty and utf8.def are
+% in used, but utf8x is not loaded. In that case we emit a warning and try to
+% patch |\inputencoding| to emulate the old behaviour. (If no
+% |\usepackage{ucs}| appears, we are helpless, of course.)
+% \begin{macrocode}
+\ifx\AtBeginDocument\undefined\else
+\AtBeginDocument{\def\uc@tempa{\@inpenc@undefined@{utf8}}%
+ \ifx\@inpenc@undefined\uc@tempa
+ \ifx\restore@utf@viii@actives\undefined
+ \PackageWarning{ucs}{***************************\MessageBreak You %SPACE
+ seem to have loaded inputencoding utf8\MessageBreak (LaTeX kernel %SPACE
+ UTF-8) instead of utf8x (ucs.sty UTF-8).\MessageBreak Probably you %SPACE
+ are compiling a document written for a\MessageBreak
+ pre-august-2004 ucs.sty.\MessageBreak
+ ***************************\MessageBreak Please use %SPACE
+ \string\usepackage[utf8x]{inputenc} instead of\MessageBreak
+ \string\usepackage[utf8]{inputenc}.\MessageBreak
+ ***************************\MessageBreak If you should really want %SPACE
+ to use ucs.sty and kernel's\MessageBreak utf8.def together, use %SPACE
+ \string\usepackage[utf8x,utf8]{inputenc}\MessageBreak to disable %SPACE
+ compatibility mode\MessageBreak
+ ***************************\MessageBreak Activating compatibility %SPACE
+ mode.\MessageBreak ***************************\MessageBreak}%
+ \global\let\uc@inputencoding\inputencoding
+ \inputencoding{utf8x}%
+ \def\inputencoding#1{%
+ {\def\uc@tempa{#1}\def\uc@tempb{utf8}\ifx\uc@tempa\uc@tempb
+ \aftergroup\@firstoftwo\else\aftergroup\@secondoftwo\fi}%
+ {\restore@utf@viii@actives}{\uc@inputencoding{#1}}}%
+ \fi\fi
+}\fi
+% \end{macrocode}
+% \begin{macrocode}
+%
+%
+%</ucs.sty>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ucsutils.sty}}
+% \begin{macrocode}
+%<*ucsutils.sty>
+% \end{macrocode}
+% If running under \LaTeX, parse options. Each option is assumed to be the
+% name of macro to be imported. All macro names are saved into |\@ucsutils|,
+% each prefixed by |\\|.
+%
+% When running Plain-\TeX, define |\@ucsutils| directly and then load
+% |ucsutils.sty| using |\input|.
+% \begin{macrocode}
+\ifx\DeclareOption\undefined\else
+\ProvidesPackage{ucsutils}[2002/04/23 UCS: Auxiliary macros]%
+\RequirePackage{ucs}%
+\ifx\@ucsutils\undefined\let\@ucsutils\empty\fi
+\DeclareOption*{%
+ \edef\uc@temp@a{\csname\CurrentOption\endcsname}%
+ \expandafter\g@addto@macro\expandafter\@ucsutils\expandafter
+ {\expandafter\\\uc@temp@a}}%
+\ProcessOptions*%
+\fi
+% \end{macrocode}
+% Define each macro, which is to be loaded, to |1|. This is later using to be
+% able to check fast, whether a macro should be defined.
+% \begin{macrocode}
+{\def\\#1{\ifx#1\relax\global\let#11\fi}\@ucsutils}%
+% \end{macrocode}
+% \begin{macro}{\@ucsutils@section}
+% Checks whether the gives macro is to be defined. If yes, |^^B| is ignored,
+% otherwise |^^B| is a comment. So after a call to |\@ucsutils@section| every
+% line should be prefixes with |^^B|.
+%
+% This macro is only used during the loading of |ucsutils.sty|.
+% \begin{macrocode}
+\def\@ucsutils@section#1{\ifx#11\catcode2=9\else\catcode2=14\fi\relax}%
+% \end{macrocode}
+% \end{macro}
+%
+% Execute the following stuff (prefixed with |^^B|) only if |\UnicodeEmbedFont|
+% is to be loaded.
+% \begin{macrocode}
+\@ucsutils@section\UnicodeEmbedFont
+% \end{macrocode}
+% We need |keyval.sty| for |\setkeys| in |\UnicodeEmbedFont|.
+% \begin{macrocode}
+^^B\RequirePackage{keyval}%
+% \end{macrocode}
+% \begin{macro}{\UnicodeEmbedFont}
+% \args{\marg{options}}
+% Declares an Unicode character range to be mapped directly to a font.
+%
+% \meta{options} is a comma separated list of key/value-pairs. The following
+% keys are supported.
+% \begin{itemize}
+% \item |encoding|: This is currently ignored. You may set it to the encoding
+% of the font. If your font has a fontencoding, then you should provide
+% it, since this key may be implemented in future.
+% \item |start|: Start of the mapped range (Unicode position). This
+% key is mandatory.
+% \item |fontstart|: Start of the mapped range (in the font). Default: |0|.
+% \item |num|: Length of the range. Default: Upto the end of the font.
+% \item |option|: Unicode-Option of the defined Unicode characters. Default:
+% |document|.
+% \end{itemize}
+%
+% Note that presently you have to switch to the desired font manually before
+% using the Unicode characters. No checking whether the correct font is
+% activated is done.
+% \begin{macrocode}
+^^B\def\UnicodeEmbedFont#1{%
+% \end{macrocode}
+% Define keys for |\setkeys| if not yet done.
+% \begin{macrocode}
+^^B \ifx\KV@ucembedfont@start\undefined
+^^B \define@key{ucembedfont}{encoding}{\def\uc@embedfont@enc{##1}}%
+^^B \define@key{ucembedfont}{start}{\def\uc@embedfont@start{##1}}%
+^^B \define@key{ucembedfont}{fontstart}%
+^^B {\def\uc@embedfont@fontstart{##1}}%
+^^B \define@key{ucembedfont}{num}{\def\uc@embedfont@fontstart{##1}}%
+^^B \define@key{ucembedfont}{option}{\def\uc@embedfont@option{##1}}%
+^^B \fi
+% \end{macrocode}
+% Define defaults.
+% \begin{macrocode}
+^^B \let\uc@embedfont@enc\undefined % Ignored
+^^B \let\uc@embedfont@start\undefined
+^^B \def\uc@embedfont@fontstart{0}%
+^^B \let\uc@embedfont@num\undefined
+^^B \def\uc@embedfont@option{document}%
+% \end{macrocode}
+% Parse arguments.
+% \begin{macrocode}
+^^B \setkeys{ucembedfont}{#1}%
+% \end{macrocode}
+% Error, when no start of range is given.
+% \begin{macrocode}
+^^B \ifx\uc@embedfont@start\undefined
+^^B \uc@errormsg{\string\UnicodeEmbedFont\space
+^^B needs argument start=...}{}\fi
+% \end{macrocode}
+% Rewrite numbers in |\uc@embedfont@fontstart| and |\uc@embedfont@start|,
+% so that we know them to be simple decimal (and hopefully positive) numbers.
+% \begin{macrocode}
+^^B \edef\uc@embedfont@fontstart{\number\uc@embedfont@fontstart}%
+^^B \edef\uc@embedfont@start{\number\uc@embedfont@start}%
+% \end{macrocode}
+% If no num-argument was given, calculate it so that the range goes until
+% the end of the font.
+% \begin{macrocode}
+^^B \ifx\uc@embedfont@num\undefined
+^^B \@tempcnta-\uc@embedfont@fontstart
+^^B \advance\@tempcnta by256
+^^B \edef\uc@embedfont@num{\number\@tempcnta}%
+^^B \fi
+% \end{macrocode}
+% Start real work.
+%
+% For |\@tempcnta|${}=0$ to |\uc@embedfont@num|\dots
+% For |\@tempcntb|${}=0$ to |\uc@embedfont@start+\uc@embedfont@num|\dots
+% \begin{macrocode}
+^^B \@tempcnta0
+^^B \@tempcntb\uc@embedfont@fontstart
+^^B \loop\ifnum\@tempcnta<\uc@embedfont@num
+% \end{macrocode}
+% Temporarily increase |\@tempcnta| by |\uc@embedfont@fontstart|,
+% now it points to the actual position in the font.
+% \begin{macrocode}
+^^B \advance\@tempcnta by\uc@embedfont@start
+% \end{macrocode}
+% We put the |\char...|-call into |\uc@temp@a|.
+% \begin{macrocode}
+^^B \edef\uc@temp@a{%
+^^B \noexpand\char\number\@tempcntb\space}%
+% \end{macrocode}
+% And we define the Unicode character number |\@tempcntb| (option
+% |\uc@embedfont@option|) to
+% call character |\uc@temp@a|.
+% \begin{macrocode}
+^^B \expandafter\DeclareUnicodeCharacterAsOptional
+^^B \expandafter{\expandafter\@tempcnta\expandafter}%
+^^B \expandafter{\expandafter\uc@embedfont@option\expandafter}%
+^^B \expandafter{\uc@temp@a}%
+% \end{macrocode}
+% Restore \@tempcnta.
+% \begin{macrocode}
+^^B \advance\@tempcnta by-\uc@embedfont@start
+% \end{macrocode}
+% Increase loop variables.
+% \begin{macrocode}
+^^B \advance\@tempcntb by1
+^^B \advance\@tempcnta by1
+^^B \repeat
+^^B}
+% \end{macrocode}
+% \end{macro}
+%
+% Execute the following stuff (prefixed with |^^B|) only if |\univerb|
+% is to be loaded.
+% \begin{macrocode}
+\@ucsutils@section\univerb
+% \end{macrocode}
+% \begin{macro}{\uc@vbsetchar}
+% \begin{macrocode}
+^^B\def\uc@vbsetchar#1#2{%
+^^B \catcode#1\active
+^^B \begingroup\uccode`\~#1\uppercase{\endgroup\edef~}{#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\univerb}
+% This macro behaves similar to the |\verb| macro.
+% ^^A E.g.\\
+% ^^A {\fontencoding{T2A}\selectfont
+% ^^A {\univerbtt!\univerb|Ha◌̣llo◌̱. Алло.|!}\quad gives\quad
+% ^^A “\univerb|Hạllo̱. Алло.|”\\
+% ^^A }
+% Note the following:
+% \begin{itemize}
+% \item No font change is effectuated.
+% \item All characters${}<128$ (exceptions below) are handled by |\unichar|.
+% \item All characters${}>=128$ are handled by the active inputencoding
+% (try e.g. |utf8|).
+% \item Combining mode is activated during the |\univerb| execution.
+% \item Space (ASCII 32) does an implicit |\unicodecombine|.
+% \item CR (ASCII 13) gives a line break (and an implicit |\unicodecombine|),
+% but does not call |\unichar{13}|.
+% \item Do not use |[| as the beginning of the verbatim sequence, this
+% is reserved for future enhancements.
+% \end{itemize}
+% \begin{macrocode}
+^^B\DeclareRobustCommand\univerb[1][]{\ifx\@nil#1\@nil\else\PackageError{ucs}{%
+^^B \string\univerb\space has optional argument}{%
+^^B \string\univerb[...] is not supported}\fi%
+^^B \bgroup
+^^B \@tempcnta\@ne
+^^B \loop\ifnum\@tempcnta<128\relax
+^^B \uc@vbsetchar\@tempcnta{\noexpand\unichar{\number\@tempcnta}}%
+^^B \advance\@tempcnta by\@ne
+^^B \repeat
+^^B \uc@vbsetchar{32}{\noexpand\unicodecombine\noexpand\unichar{32}}%
+^^B \uc@vbsetchar{13}{\noexpand\unicodecombine\noexpand\leavevmode\noexpand\\%
+^^B \noexpand\leavevmode}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\verb@egroup}
+% \begin{macrocode}
+^^B \def\verb@egroup{%
+^^B \SetUnicodeOption{nocombine}%
+^^B \global\let\verb@balance@group\@empty\egroup}%
+^^B \SetUnicodeOption{combine}%
+^^B \@sverb}
+% \end{macrocode}
+% \end{macro}
+%
+% \tobe
+% \begin{macrocode}
+\@ucsutils@section\unistring
+^^B\def\uc@spacechar{\futurelet\uc@spacechar\empty}\expandafter\uc@spacechar\uc@spc
+^^B\def\@unistring#1{%
+^^B \ifx\uc@temp@a\uc@spacechar
+^^B \@temptokena\expandafter{\the\@temptokena\unicodecombine\unichar{32}}%
+^^B \fi
+^^B \ifx\tw@#1\else
+^^B \ifx\@ne#1\else
+^^B \ifnum`#1<128
+^^B \@temptokena\expandafter{\the\@temptokena\unichar{`#1}}%
+^^B \else
+^^B \@temptokena\expandafter{\the\@temptokena#1}%
+^^B \fi
+^^B \fi%
+^^B \expandafter\futurelet\expandafter\uc@temp@a\expandafter\@unistring
+^^B \fi
+^^B}
+^^B\DeclareRobustCommand\unistring[1]{%
+^^B \let\uc@temp@a\undefined
+^^B \@temptokena{}%
+^^B \@unistring\@ne#1\tw@
+^^B {\SetUnicodeOption{combine}%
+^^B \the\@temptokena
+^^B \SetUnicodeOption{nocombine}}}
+% \end{macrocode}
+%
+% Find out with macros where requested but not defined.
+% Give an error for each. Undefine them (they were defined to |1| above).
+% \begin{macrocode}
+{\def\\#1{%
+ \ifx#11%
+ \uc@errormsg{Can't load \string#1}{You have given the option
+ \expandafter\@gobble\string#1 to ucsutils,\MessageBreak but
+ there is no command called \string#1 in ucsutils.sty.}%
+ \global\let#1\undefined
+ \fi}
+ \@ucsutils}%
+% \end{macrocode}
+% Clean up.
+% \begin{macrocode}
+\let\@ucsutils\undefined
+\let\@ucsutils@section\undefined
+\catcode2=15
+%
+%
+%
+%</ucsutils.sty>
+% \end{macrocode}
+%
+% \xsection{File \texttt{utf8x.def}}
+% \begin{macrocode}
+%<*utf8x.def>
+\ifx\ProvidesFile\undefined\else
+\ProvidesFile{utf8x.def}[2004/10/17 UCS: Input encoding UTF-8]%
+\fi
+% \end{macrocode}
+% Only load this file once. If it has already been loaded, just execute
+% |\restore@utf@viii@actives|.
+% \begin{macrocode}
+\expandafter\ifx\csname restore@utf@viii@actives\endcsname\relax\else
+ \csname restore@utf@viii@actives\endcsname\expandafter\endinput\fi
+\count255=\catcode`\@\catcode`\@11 %SPACE
+\ifx\@gobble\undefined\def\@gobble#1{}\fi
+\ifx\@gobbletwo\undefined\def\@gobbletwo#1#2{}\fi
+% \end{macrocode}
+% Checks if |\unichar| is defined. Otherwise yields an error.
+% This check is delayed until |\begin{document}| if necessary.
+% \begin{macrocode}
+\ifx\AtBeginDocument\undefined\else
+ \ifx\@nodocument\relax\else\expandafter\AtBeginDocument\fi
+ {\ifx\unichar\undefined{\PackageError{utf8x}{%
+ Please use \protect\usepackage{ucs} to support encoding utf8x}{}}\fi}%
+\fi
+% \end{macrocode}
+% Requires package ucs at end of including inputenc package, if still in
+% preamble.
+% \begin{macrocode}
+\ifx\AtEndOfPackage\undefined\else
+\ifx\@nodocument\relax\else\AtEndOfPackage{\RequirePackage{ucs}}\fi%
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\utf@viii@err#1{%
+ \PackageError{utf8x}{Character \number#1 \uc@spc appeared alone}{%
+ Characters 128-191 are only allowed as arguments to characters 194-244}}
+\def\utf@viii@xnum#1#2\utf@viii@err#3#4\@nil{%
+ \ifx\empty#3%
+ \count#1=-1\relax
+ \PackageError{utf8x}{Malformed UTF-8 sequence}{%
+ If the character is an argument, put it in {}}\else
+ \count#1=#3\fi}
+\def\utf@viii@undef#1#2#3#4{%
+ \begingroup
+ \count0=#1\relax
+ \ifx#3\@nil % Two-byte sequences
+ \expandafter\utf@viii@xnum\expandafter1#2\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil
+ \ifnum\count1=-1 \count0=192\count1="1007D\fi
+ \multiply\count0by64\relax
+ \advance\count0by\count1\relax
+ \advance\count0by-12416\relax
+ \else
+ \ifx#4\@nil % Three-byte sequences
+ \expandafter\utf@viii@xnum\expandafter1#2\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil
+ \expandafter\utf@viii@xnum\expandafter2#3\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil
+ \ifnum\count1=-1 \count0=224\count1=128\count2="1007D\fi
+ \ifnum\count2=-1 \count0=224\count1=128\count2="1007D\fi
+ \multiply\count0by64\relax
+ \advance\count0by\count1\relax
+ \multiply\count0by64\relax
+ \advance\count0by\count2\relax
+ \advance\count0by-925824\relax
+ \else % Four-byte sequences
+ \expandafter\utf@viii@xnum\expandafter1#2\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil
+ \expandafter\utf@viii@xnum\expandafter2#3\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil
+ \expandafter\utf@viii@xnum\expandafter3#4\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil
+ \ifnum\count1=-1 \count0=240\count1=128\count2=128\count3="1007D\fi
+ \ifnum\count2=-1 \count0=240\count1=128\count2=128\count3="1007D\fi
+ \ifnum\count3=-1 \count0=240\count1=128\count2=128\count3="1007D\fi
+ \multiply\count0by64%
+ \advance\count0by\count1%
+ \multiply\count0by64%
+ \advance\count0by\count2%
+ \multiply\count0by64%
+ \advance\count0by\count3%
+ \advance\count0by-"3C82080\relax
+ \fi\fi
+ \begingroup\expandafter\utf@viii@map\expandafter{\number\count0}\endgroup
+ \expandafter\endgroup
+ \expandafter\unichar\expandafter{\number\count0}}%
+\def\utf@viii@make#1#2#3#4#5#6{%
+ \count255=#1\relax
+ \loop\ifnum\count255<#2\relax
+ \catcode\count255\active
+ \begingroup
+ \uccode`\~\count255%
+ \uccode`\u`\u%
+ \uppercase{%
+ \endgroup
+ \edef~%
+ #3{\noexpand\expandafter\noexpand\ifx\noexpand\csname u8-\number\count255-#4\noexpand\endcsname\relax
+ \begingroup
+% \end{macrocode}
+% In case |\let| is not executed, this (until ===) expands
+% to |\let\relax\relax|,
+% otherwise we have |\let\utf@viii@undeferr\@gobble|
+% Number of \empty's must equal number of args of |\utf@viii@undef|
+% \begin{macrocode}
+ \let\noexpand\utf@viii@undeferr
+ \noexpand\@gobble\noexpand\empty\noexpand\empty
+ \noexpand\empty\noexpand\empty\noexpand\@gobbletwo\relax\relax
+ % ===
+ \noexpand\expandafter\endgroup
+ % If \let not executed: \utf@viii@undeferr is called
+ % otherwise: \utf@viii@undef.
+ \noexpand\utf@viii@undeferr{\noexpand\string\noexpand~\noexpand\string#6}%
+ \noexpand\utf@viii@undef{\number\count255}#5%
+ \noexpand\else
+ \noexpand\expandafter\noexpand\unichar\noexpand\expandafter{%
+ \noexpand\csname u8-\number\count255-#4\noexpand\endcsname}\noexpand\fi}}%
+ \advance\count255by1\relax
+ \repeat}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\restore@utf@viii@actives{%
+ \let\@inpenc@test\relax
+ \utf@viii@make{194}{224}{####1}{\noexpand\string####1}{{####1}\noexpand\@nil\noexpand\@nil}{####1}%
+ \utf@viii@make{224}{240}{####1####2}{\noexpand\string####1\noexpand\string####2}{{####1}{####2}\noexpand\@nil}{####1\noexpand\string####2}%
+ \utf@viii@make{240}{245}{####1####2####3}{\noexpand\string####1\noexpand\string####2\noexpand\string####3}{{####1}{####2}{####3}}{####1\noexpand\string####2\noexpand\string####3}%
+%
+ \count255=128\relax
+ \loop\ifnum\count255<192\relax
+ \catcode\count255\active
+ \begingroup
+ \uccode`\~\count255 %SPACE
+ \uppercase{%
+ \endgroup
+ \edef~}%
+ {\noexpand\utf@viii@err{\number\count255}}%
+ \advance\count255by1\relax
+ \repeat}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\utf@viii@map#1{%
+ \begingroup
+ \count0=#1\divide\count0by64\relax
+ \ifnum#1<"80\relax
+ % ASCII is not handled by utf8x.def
+ \else\ifnum#1<"800\relax
+ \count1=-\count0\multiply\count1by64\advance\count1by#1\relax
+ \advance\count0by192\advance\count1by128\relax
+ \begingroup
+ \lccode`\B=\count1 %SPACE
+ \lowercase{%
+ \endgroup
+% \tracingassigns=3 \tracingonline=3
+ \expandafter\gdef\csname u8-\number\count0-B\endcsname}{#1}%
+ \else\ifnum#1<"10000\relax
+ \count2=-\count0\multiply\count2by64\advance\count2by#1\relax
+ \divide\count0by64 %SPACE
+ \count1=-\count0\multiply\count1by4096\advance\count1by#1%
+ \divide\count1by64%
+ \advance\count0by224\advance\count1by128\advance\count2by128 %SPACE
+ \begingroup
+ \lccode`\B=\count1 %SPACE
+ \lccode`\C=\count2 %SPACE
+ \lowercase{%
+ \endgroup
+ \expandafter\gdef\csname u8-\number\count0-BC\endcsname}{#1}%
+ \else\ifnum#1<"110000 %SPACE
+ \count3=-\count0\multiply\count3by64\advance\count3by#1\relax
+ \divide\count0by64 %SPACE
+ \count2=-\count0\multiply\count2by4096\advance\count2by#1%
+ \divide\count2by64%
+ \divide\count0by64 %SPACE
+ \count1=-\count0\multiply\count1by262144\advance\count1by#1%
+ \divide\count1by4096 %SPACE
+% \typeout{\number#1=\number\count0*262144+\number\count1*4096+\number\count2*64+\number\count3}%
+ \advance\count0by240\advance\count1by128%
+ \advance\count2by128\advance\count3by128 %SPACE
+ \begingroup
+ \lccode`\B=\count1 %SPACE
+ \lccode`\C=\count2 %SPACE
+ \lccode`\D=\count3 %SPACE
+ \lowercase{%
+ \endgroup
+ \expandafter\gdef\csname u8-\number\count0-BCD\endcsname}{#1}%
+ \else
+ \PackageWarning{utf8x}{Invalid code position \number#1 \uc@spc
+ defined,\MessageBreak unrepresentable in UTF-8}%
+ \fi\fi\fi\fi
+ \endgroup
+}
+\begingroup
+ \lccode`\A=`\{\lccode`\B=`\}\lccode`\C=`\\%
+ \lccode`\P=`\P\lccode`\U=`\U%
+ \lowercase{%
+\endgroup
+ \def\utf@viii@undeferr#1#2#3#4#5#6{%
+ \ifx\@gobble#1\else[Please insert CPrerenderUnicodeA#1B into preamble]\fi}}
+% \end{macrocode}
+% Checks (at |\begin{document}|) whether some utf8-chars have been redefined
+% (e.g. by polutonikogreek.ldf). Warns and corrects if necessary.
+% \begin{macrocode}
+\ifx\AtBeginDocument\undefined\else
+ \ifx\@nodocument\relax\else
+ \AtBeginDocument{%
+ \begingroup
+ \expandafter\def\expandafter\temp@a\expandafter#\expandafter1%
+ \string\utf@viii@#2\@nil{%
+ \ifx\@nil#2\@nil\count2\count0\else\count1\count0\fi}%
+ \count0=128 \count1=0 \count2=0 %SPACE
+ \loop\ifnum\count0<245 %SPACE
+ \ifnum\count0=192 \advance\count0by2 \fi
+ \lccode`\~\count0 %SPACE
+ \ifnum\catcode\count0=13 %SPACE
+ \lowercase{%
+ \expandafter\expandafter\expandafter\temp@a\expandafter\meaning\expandafter~%
+ \string\utf@viii@\@nil}%
+ \else
+ \count2\count0\fi
+ \advance\count0by1 %SPACE
+ \repeat
+ \ifnum\count1=0 \else\ifnum\count2=0 \else
+ \PackageWarning{utf8x.def}{Character(s) \number\count2\space\space
+ etc. got redefined somewhere.\MessageBreak
+ Restoring to its utf8x-meaning}%
+ \aftergroup\restore@utf@viii@actives
+ \fi\fi
+ \endgroup}%
+ \fi
+\fi
+% \end{macrocode}
+% Restore |@|
+% \begin{macrocode}
+\catcode`\@=\count255\relax
+\csname restore@utf@viii@actives\endcsname
+%
+%
+%</utf8x.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ucsencs.def}}
+% \begin{macrocode}
+%<*ucsencs.def>
+\ifx\ProvidesFile\undefined\else
+\ProvidesFile{ucsencs.def}[2011/01/21 Fixes to fontencodings LGR, T3]
+\fi
+\expandafter\edef\csname uc@temp@d\endcsname{%
+ \noexpand\catcode`\noexpand\@=\number\catcode`\@\relax
+ \noexpand\catcode`\noexpand\^=\number\catcode`\^\relax
+ \noexpand\catcode`\noexpand\"=\number\catcode`\"\relax
+ \noexpand\catcode1=\number\catcode1\relax
+ \noexpand\catcode2=\number\catcode2\relax
+}%
+\catcode`\@11
+\catcode`\"12
+\ifx\@backslashchar\undefined
+ \edef\@backslashchar{\expandafter\@gobble\string\\}\fi
+\catcode`\^7
+\@tempcnta\catcode1
+\@tempcntb\catcode2
+\catcode1=13\relax
+\def\uc@temp@c#1
+{}%
+\def^^A#1{%
+ \let\uc@temp@a\undefined
+% \ifx#1\newcommand\let\uc@temp@a\providecommand\fi
+ \ifx#1\def\let\uc@temp@a\thr@@\fi
+ \ifx#1\DeclareTextSymbol\let\uc@temp@a\@ne\fi
+ \ifx#1\DeclareTextComposite\let\uc@temp@a\tw@\fi
+ \ifx#1\DeclareTextCommand\let\uc@temp@a\@ne\fi
+ \ifx#1\DeclareTextAccent\let\uc@temp@a\@ne\fi
+ \ifx#1\DeclareTextCompositeCommand\let\uc@temp@a\tw@\fi
+ \ifx#1\typeout\let\uc@temp@a\typeout\fi
+ \ifx\uc@temp@a\@ne
+ \def\uc@temp@a##1##2{%
+ \expandafter\ifx\csname ##2\string##1\endcsname\relax
+ \expandafter#1%
+ \else
+ \wlog{##2\string##1 already defined.}%
+ \expandafter\uc@temp@c
+ \fi##1{##2}}%
+ \fi
+ \ifx\uc@temp@a\tw@
+ \def\uc@temp@a##1##2##3{%
+ \expandafter\ifx\csname\@backslashchar##2\string##1-\string##3\endcsname\relax
+ \expandafter#1%
+ \else
+ \wlog{\@backslashchar##2\string##1-\string##3 already defined.}%
+ \expandafter\uc@temp@c
+ \fi##1{##2}##3}%
+ \fi
+ \ifx\uc@temp@a\thr@@
+ \def\uc@temp@a##1{%
+ \ifx##1\undefined
+ \expandafter\def\expandafter##1%
+ \else
+ \expandafter\def\expandafter\uc@temp@a
+ \fi}
+ \fi
+ \ifx\uc@temp@a\undefined
+ \errmessage{ucsencs.def: Dont know how to handle \string#1}%
+ \let\uc@temp@a#1%
+ \fi
+ \uc@temp@a}
+\def\uc@temp@b#1{\expandafter\ifx\csname T@#1\endcsname\relax
+ \catcode1=14\relax\catcode2=14\relax
+ \else\catcode1=13\relax\catcode2=9\relax\fi}%
+\ifx\autofe@mode\undefined\else\ifx\autofe@mode0\else\let\autofe@mode1\fi\fi
+% \end{macrocode}
+% |\textascii| is a wrapper for outputting ASCII chars in the range 0x21--0x7e
+% characters |&#%| must be preceded by |\| (i.e. |\textascii\&|),
+% all other characters must be given as is (i.e. |\textascii:| or
+% |\textascii A|).
+% \begin{macrocode}
+\ProvideTextCommandDefault{\textascii}[1]{\@textascii{#1}}%
+\def\@textascii#1{\expandafter\@@textascii\string#1\empty\@nil}%
+\def\@@textascii#1#2\@nil{\ifx#2\empty#1\else#2\fi}%
+\def\textasciiencoding{\encodingdefault}%
+\def\@textascii@switch#1{\begingroup\@use@text@encoding{\textasciiencoding}\def\textasciiencoding{OT1}\textascii{#1}\endgroup}%
+\let\uc@text@composite\@text@composite
+\def\@text@composite#1#2#3\@text@composite{%
+ \ifx\textascii#2\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
+ {\uc@text@composite{#1}{#2}{#3}\@text@composite}%
+ {\uc@text@composite{#1}#3\@text@composite}}%
+%
+\uc@temp@b{LGR}
+% \end{macrocode}
+% Commands for an encoding-portable access to Greek characters in LGR
+% follow.
+% The accents are used as follows (the Unicode character codes give the
+% according non combining characters as examples):
+% \begin{itemize}
+% \item |\'|: Tonos (U+0384).
+% \item |\greekoxia|: Oxia (U+1FFD). In the LGR encoding it is
+% identical to |\'|: (it calls the latter), but fonts may want to render a
+% tonos and an oxia differently, so another name has been reserved for the
+% oxia.
+% \item |\`|: Varia (U+1FEF).
+% \item |\~|: Perispomeni (U+1FC0).
+% \item |\"|: Dialytika (U+00A8)
+% \item |\greeksubiota|: Subscript iota (U+1FBE).
+% Both for capital and small letters.
+% \item |\greekdasia|: Dasia (U+1FFE).
+% \item |\greekpsili|: Psili (U+1FBF).
+% \item |\u|: Vrachy (U+0306).
+% \item |\=|: Macron (U+0304).
+%
+% \item |\greekdasiaoxia|: Dasia and oxia (U+1FDE)
+% \item |\greekdasiavaria|: Dasia and varia (U+1FDD)
+% \item |\greekdasiaperispomeni|: Perispomeni over dasia (U+1FDF)
+% \item |\greekpsilioxia|: Psili and oxia (U+1FCE)
+% \item |\greekpsilivaria|: Psili and varia (U+1FCD)
+% \item |\greekpsiliperispomeni|: Perispomeni over psili (U+1FCF)
+% \item |\greekdialytikatonos|: Tonos over dialytika (U+0385)
+% \item |\greekdialytikaoxia|: Tonos over oxia (U+1FEE)
+% (here identical to |\greekdialytikatonos|)
+% \item |\greekdialytikavaria|: Varia over dialytika (U+1FED)
+% \item |\greekdialytikaperispomeni|: Perispomeni over dialytika (U+1FC1)
+%
+% \item |\greekoxiaiota|: Oxia + subscript iota
+% \item |\greekvariaiota|: Varia + subscript iota
+% \item |\greekpsiliiota|: Psili + subscript iota
+% \item |\greekdasiaiota|: Dasia + subscript iota
+% \item |\greekperispomeniiota|: Perispomeni + subscript iota
+% \item |\greekdasiaoxiaiota|: Dasia and oxia + subscript iota
+% \item |\greekdasiavariaiota|: Dasia and varia + subscript iota
+% \item |\greekdasiaperispomeniiota|: Perispomeni over dasia + subscript iota
+% \item |\greekpsilioxiaiota|: Psili and oxia + subscript iota
+% \item |\greekpsilivariaiota|: Psili and varia + subscript iota
+% \item |\greekpsiliperispomeniiota|: Perispomeni over psili + subscript iota
+% \end{itemize}
+% \begin{macrocode}
+% 00 hyphen
+% 01 TODO
+^^A\DeclareTextCommand{\textascii}{LGR}[1]{\@textascii@switch{#1}}
+^^A\DeclareTextSymbol{\textpentedeka}{LGR}{2}
+^^A\DeclareTextSymbol{\textpentehkaton}{LGR}{3}
+^^A\DeclareTextSymbol{\textpenteqilioi}{LGR}{4}
+^^A\DeclareTextSymbol{\textpentemuria}{LGR}{5}
+^^A\DeclareTextSymbol{\textstigma}{LGR}{6}
+^^A\DeclareTextSymbol{\textstigmavariant}{LGR}{7}
+% 08 adscript iota (done by \textsubiota, "7C)
+% 09--0B see 7C (\textsubiota)
+% 0C--11 TODO
+^^A\DeclareTextSymbol{\textqoppa}{LGR}{"12}
+^^A\DeclareTextSymbol{\textqoppavariant}{LGR}{"13}
+% 14--17 TODO
+^^A\DeclareTextSymbol{\texteuro}{LGR}{"18}
+^^A\DeclareTextSymbol{\textperthousand}{LGR}{"19}
+% 1A TODO
+^^A\DeclareTextSymbol{\textsanpi}{LGR}{"1B}
+^^A\DeclareTextSymbol{\textquoteleft}{LGR}{"1C}
+^^A\DeclareTextSymbol{\textquoteright}{LGR}{"1D}
+^^A\DeclareTextAccent{\u}{LGR}{"1E}
+^^A\DeclareTextAccent{\=}{LGR}{"1F}
+^^A\DeclareTextAccent{\textdialytikaperispomeni}{LGR}{"20}
+% 21 exclamation mark
+^^A\DeclareTextAccent{\"}{LGR}{"22}
+^^A\DeclareTextAccent{\textdialytikatonos}{LGR}{"23}
+^^A\DeclareTextCommand{\textdialytikaoxia}{LGR}[1]{\textdialytikatonos{#1}}
+^^A\DeclareTextAccent{\textdialytikavaria}{LGR}{"24}
+^^A\DeclareTextSymbol{\textpercent}{LGR}{"25}
+^^A\DeclareTextSymbol{\textperiodcentered}{LGR}{"26}
+^^A\DeclareTextAccent{\'}{LGR}{"27}
+^^A\DeclareTextCommand{\textoxia}{LGR}[1]{\@tabacckludge'{#1}}
+^^A\DeclareTextSymbol{\textparenleft}{LGR}{"28}
+^^A\DeclareTextSymbol{\textparenright}{LGR}{"29}
+% 2A asterisk
+% 2B plus
+% 2C comma
+% 2D hyphen
+% 2E period
+% 2F slash
+% 30--39 digits 0-9
+% 3A colon
+^^A\DeclareTextSymbol{\textanoteleia}{LGR}{"3B}
+^^A\DeclareTextAccent{\textdasia}{LGR}{"3C}
+% 3D equal
+^^A\DeclareTextAccent{\textpsili}{LGR}{"3E}
+^^A\DeclareTextSymbol{\textquestion}{LGR}{"3F}
+^^A\DeclareTextAccent{\textdasiaperispomeni}{LGR}{"40}
+^^A\DeclareTextSymbol{\textAlpha}{LGR}{"41}
+^^A\DeclareTextSymbol{\textBeta}{LGR}{"42}
+^^A\DeclareTextAccent{\textdasiavaria}{LGR}{"43}
+^^A\DeclareTextSymbol{\textDelta}{LGR}{"44}
+^^A\DeclareTextSymbol{\textEpsilon}{LGR}{"45}
+^^A\DeclareTextSymbol{\textPhi}{LGR}{"46}
+^^A\DeclareTextSymbol{\textGamma}{LGR}{"47}
+^^A\DeclareTextSymbol{\textEta}{LGR}{"48}
+^^A\DeclareTextSymbol{\textIota}{LGR}{"49}
+^^A\DeclareTextSymbol{\textTheta}{LGR}{"4A}
+^^A\DeclareTextSymbol{\textKappa}{LGR}{"4B}
+^^A\DeclareTextSymbol{\textLambda}{LGR}{"4C}
+^^A\DeclareTextSymbol{\textMu}{LGR}{"4D}
+^^A\DeclareTextSymbol{\textNu}{LGR}{"4E}
+^^A\DeclareTextSymbol{\textOmicron}{LGR}{"4F}
+^^A\DeclareTextSymbol{\textPi}{LGR}{"50}
+^^A\DeclareTextSymbol{\textChi}{LGR}{"51}
+^^A\DeclareTextSymbol{\textRho}{LGR}{"52}
+^^A\DeclareTextSymbol{\textSigma}{LGR}{"53}
+^^A\DeclareTextSymbol{\textTau}{LGR}{"54}
+^^A\DeclareTextSymbol{\textUpsilon}{LGR}{"55}
+^^A\DeclareTextAccent{\textdasiaoxia}{LGR}{"56}
+^^A\DeclareTextSymbol{\textOmega}{LGR}{"57}
+^^A\DeclareTextSymbol{\textXi}{LGR}{"58}
+^^A\DeclareTextSymbol{\textPsi}{LGR}{"59}
+^^A\DeclareTextSymbol{\textZeta}{LGR}{"5A}
+% 5B left bracket '['
+^^A\DeclareTextAccent{\textpsiliperispomeni}{LGR}{"5C}
+% 5D right bracket
+^^A\DeclareTextAccent{\textpsilioxia}{LGR}{"5E}
+^^A\DeclareTextAccent{\textpsilivaria}{LGR}{"5F}
+^^A\DeclareTextAccent{\`}{LGR}{"60}
+^^A\DeclareTextSymbol{\textalpha}{LGR}{"61}
+^^A\DeclareTextSymbol{\textbeta}{LGR}{"62}
+^^A\DeclareTextSymbol{\textvarsigma}{LGR}{"63}
+^^A\DeclareTextSymbol{\textdelta}{LGR}{"64}
+^^A\DeclareTextSymbol{\textepsilon}{LGR}{"65}
+^^A\DeclareTextSymbol{\textphi}{LGR}{"66}
+^^A\DeclareTextSymbol{\textgamma}{LGR}{"67}
+^^A\DeclareTextSymbol{\texteta}{LGR}{"68}
+^^A\DeclareTextSymbol{\textiota}{LGR}{"69}
+^^A\DeclareTextSymbol{\texttheta}{LGR}{"6A}
+^^A\DeclareTextSymbol{\textkappa}{LGR}{"6B}
+^^A\DeclareTextSymbol{\textlambda}{LGR}{"6C}
+^^A\DeclareTextSymbol{\textmu}{LGR}{"6D}
+^^A\DeclareTextSymbol{\textnu}{LGR}{"6E}
+^^A\DeclareTextSymbol{\textomicron}{LGR}{"6F}
+^^A\DeclareTextSymbol{\textpi}{LGR}{"70}
+^^A\DeclareTextSymbol{\textchi}{LGR}{"71}
+^^A\DeclareTextSymbol{\textrho}{LGR}{"72}
+^^A\DeclareTextSymbol{\textautosigma}{LGR}{"73}
+% \end{macrocode}
+% With the CB-fonts, |"73| is an automatic sigma.
+% To force a mid sigma, I insert |\char"9B| afterwards
+% (iff fontfamily start with |cm|).
+% Whoever knows a better macro for |\textsigma|, please tell me.
+% \begin{macrocode}
+^^B\ifx\lgr@sig@fix\undefined\def\lgr@sig@fix#1cm#2\@nil{\ifx!#1!\char"9B \fi}\fi
+^^A\DeclareTextCommand{\textsigma}{LGR}{\char"73 \expandafter\lgr@sig@fix\f@family cm\@nil}
+^^A\DeclareTextSymbol{\texttau}{LGR}{"74}
+^^A\DeclareTextSymbol{\textupsilon}{LGR}{"75}
+% 76 undefined
+^^A\DeclareTextSymbol{\textomega}{LGR}{"77}
+^^A\DeclareTextSymbol{\textxi}{LGR}{"78}
+^^A\DeclareTextSymbol{\textpsi}{LGR}{"79}
+^^A\DeclareTextSymbol{\textzeta}{LGR}{"7A}
+^^A\DeclareTextSymbol{\guillemotleft}{LGR}{"7B}
+% 7C the following commands:
+^^A\DeclareTextCommand{\textsubiota}{LGR}[1]{#1|}
+^^A\DeclareTextCommand{\textpsiliiota}{LGR}[1]{\textpsili{#1}|}
+^^A\DeclareTextCommand{\textdasiaiota}{LGR}[1]{\textdasia{#1}|}
+^^A\DeclareTextCommand{\textvariaiota}{LGR}[1]{\@tabacckludge`{#1}|}
+^^A\DeclareTextCommand{\textoxiaiota}{LGR}[1]{\@tabacckludge'{#1}|}
+^^A\DeclareTextCommand{\textpsilivariaiota}{LGR}[1]{\textpsilivaria{#1}|}
+^^A\DeclareTextCommand{\textdasiavariaiota}{LGR}[1]{\textdasiavaria{#1}|}
+^^A\DeclareTextCommand{\textpsilioxiaiota}{LGR}[1]{\textpsilioxia{#1}|}
+^^A\DeclareTextCommand{\textdasiaoxiaiota}{LGR}[1]{\textdasiaoxia{#1}|}
+^^A\DeclareTextCommand{\textperispomeniiota}{LGR}[1]{\@tabacckludge~{#1}|}
+^^A\DeclareTextCommand{\textpsiliperispomeniiota}{LGR}[1]{\textpsiliperispomeni{#1}|}
+^^A\DeclareTextCommand{\textdasiaperispomeniiota}{LGR}[1]{\textdasiaperispomeni{#1}|}
+^^A\DeclareTextComposite{\textsubiota}{LGR}{\textAlpha}{9}
+^^A\DeclareTextComposite{\textsubiota}{LGR}{\textEta}{"A}
+^^A\DeclareTextComposite{\textsubiota}{LGR}{\textOmega}{"B}
+^^A\DeclareTextSymbol{\guillemotright}{LGR}{"7D}
+^^A\DeclareTextAccent{\~}{LGR}{"7E}
+^^A\DeclareTextSymbol{\textemdash}{LGR}{"7F}
+^^A\DeclareTextComposite{\`}{LGR}{\textalpha}{"80}
+^^A\DeclareTextComposite{\textdasia}{LGR}{\textalpha}{"81}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\textalpha}{"82}
+^^A\DeclareTextComposite{\textdasiavaria}{LGR}{\textalpha}{"83}
+% 84--87 subiota combinations are created correctly
+^^A\DeclareTextComposite{\'}{LGR}{\textalpha}{"88}
+^^A\DeclareTextComposite{\textdasiaoxia}{LGR}{\textalpha}{"89}
+^^A\DeclareTextComposite{\textpsilioxia}{LGR}{\textalpha}{"8A}
+^^A\DeclareTextComposite{\textpsilivaria}{LGR}{\textalpha}{"8B}
+% 8C--8F subiota combinations are created correctly
+^^A\DeclareTextComposite{\~}{LGR}{\textalpha}{"90}
+^^A\DeclareTextComposite{\textdasiaperispomeni}{LGR}{\textalpha}{"91}
+^^A\DeclareTextComposite{\textpsiliperispomeni}{LGR}{\textalpha}{"92}
+^^A\DeclareTextSymbol{\textdigamma}{LGR}{"93}
+% 94--96 subiota combinations are created correctly
+% 97 TODO
+^^A\DeclareTextComposite{\`}{LGR}{\texteta}{"98}
+^^A\DeclareTextComposite{\textdasia}{LGR}{\texteta}{"99}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\texteta}{"9A}
+% 9B undefined
+% 9C--9E subiota combinations are created correctly
+% 9F undefined
+^^A\DeclareTextComposite{\'}{LGR}{\texteta}{"A0}
+^^A\DeclareTextComposite{\textdasiaoxia}{LGR}{\texteta}{"A1}
+^^A\DeclareTextComposite{\textpsilioxia}{LGR}{\texteta}{"A2}
+^^A\DeclareTextComposite{\textdasiavaria}{LGR}{\texteta}{"A3}
+% A4--A7 subiota combinations are created correctly
+^^A\DeclareTextComposite{\~}{LGR}{\texteta}{"A8}
+^^A\DeclareTextComposite{\textdasiaperispomeni}{LGR}{\texteta}{"A9}
+^^A\DeclareTextComposite{\textpsiliperispomeni}{LGR}{\texteta}{"AA}
+^^A\DeclareTextComposite{\textpsilivaria}{LGR}{\texteta}{"AB}
+% AC--AF subiota combinations are created correctly
+^^A\DeclareTextComposite{\`}{LGR}{\textomega}{"B0}
+^^A\DeclareTextComposite{\textdasia}{LGR}{\textomega}{"B1}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\textomega}{"B2}
+^^A\DeclareTextComposite{\textdasiavaria}{LGR}{\textomega}{"B3}
+% B4--B7 subiota combinations are created correctly
+^^A\DeclareTextComposite{\'}{LGR}{\textomega}{"B8}
+^^A\DeclareTextComposite{\textdasiaoxia}{LGR}{\textomega}{"B9}
+^^A\DeclareTextComposite{\textpsilioxia}{LGR}{\textomega}{"BA}
+^^A\DeclareTextComposite{\textpsilivaria}{LGR}{\textomega}{"BB}
+% BC--BF subiota combinations are created correctly
+^^A\DeclareTextComposite{\~}{LGR}{\textomega}{"C0}
+^^A\DeclareTextComposite{\textdasiaperispomeni}{LGR}{\textomega}{"C1}
+^^A\DeclareTextComposite{\textpsiliperispomeni}{LGR}{\textomega}{"C2}
+^^A\DeclareTextSymbol{\textDigamma}{LGR}{"C3}
+% C4--C6 subiota combinations are created correctly
+% C7 undefined
+^^A\DeclareTextComposite{\`}{LGR}{\textiota}{"C8}
+^^A\DeclareTextComposite{\textdasia}{LGR}{\textiota}{"C9}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\textiota}{"CA}
+^^A\DeclareTextComposite{\textdasiavaria}{LGR}{\textiota}{"CB}
+^^A\DeclareTextComposite{\`}{LGR}{\textupsilon}{"CC}
+^^A\DeclareTextComposite{\textdasia}{LGR}{\textupsilon}{"CD}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\textupsilon}{"CE}
+^^A\DeclareTextComposite{\textdasiavaria}{LGR}{\textupsilon}{"CF}
+^^A\DeclareTextComposite{\'}{LGR}{\textiota}{"D0}
+^^A\DeclareTextComposite{\textdasiaoxia}{LGR}{\textiota}{"D1}
+^^A\DeclareTextComposite{\textpsilioxia}{LGR}{\textiota}{"D2}
+^^A\DeclareTextComposite{\textpsilivaria}{LGR}{\textiota}{"D3}
+^^A\DeclareTextComposite{\'}{LGR}{\textupsilon}{"D4}
+^^A\DeclareTextComposite{\textdasiaoxia}{LGR}{\textupsilon}{"D5}
+^^A\DeclareTextComposite{\textpsilioxia}{LGR}{\textupsilon}{"D6}
+^^A\DeclareTextComposite{\textpsilivaria}{LGR}{\textupsilon}{"D7}
+^^A\DeclareTextComposite{\~}{LGR}{\textiota}{"D8}
+^^A\DeclareTextComposite{\textdasiaperispomeni}{LGR}{\textiota}{"D9}
+^^A\DeclareTextComposite{\textpsiliperispomeni}{LGR}{\textiota}{"DA}
+^^A\DeclareTextComposite{\"}{LGR}{\textIota}{"DB}
+^^A\DeclareTextComposite{\~}{LGR}{\textupsilon}{"DC}
+^^A\DeclareTextComposite{\textdasiaperispomeni}{LGR}{\textupsilon}{"DD}
+^^A\DeclareTextComposite{\textpsiliperispomeni}{LGR}{\textupsilon}{"DE}
+^^A\DeclareTextComposite{\"}{LGR}{\textUpsilon}{"DF}
+^^A\DeclareTextComposite{\`}{LGR}{\textepsilon}{"E0}
+^^A\DeclareTextComposite{\textdasia}{LGR}{\textepsilon}{"E1}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\textepsilon}{"E2}
+^^A\DeclareTextComposite{\textdasiavaria}{LGR}{\textepsilon}{"E3}
+^^A\DeclareTextComposite{\`}{LGR}{\textomicron}{"E4}
+^^A\DeclareTextComposite{\textdasia}{LGR}{\textomicron}{"E5}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\textomicron}{"E6}
+^^A\DeclareTextComposite{\textdasiavaria}{LGR}{\textomicron}{"E7}
+^^A\DeclareTextComposite{\'}{LGR}{\textepsilon}{"E8}
+^^A\DeclareTextComposite{\textdasiaoxia}{LGR}{\textepsilon}{"E9}
+^^A\DeclareTextComposite{\textpsilioxia}{LGR}{\textepsilon}{"EA}
+^^A\DeclareTextComposite{\textpsilivaria}{LGR}{\textepsilon}{"EB}
+^^A\DeclareTextComposite{\'}{LGR}{\textomicron}{"EC}
+^^A\DeclareTextComposite{\textdasiaoxia}{LGR}{\textomicron}{"ED}
+^^A\DeclareTextComposite{\textpsilioxia}{LGR}{\textomicron}{"EE}
+^^A\DeclareTextComposite{\textpsilivaria}{LGR}{\textomicron}{"EF}
+^^A\DeclareTextComposite{\"}{LGR}{\textiota}{"F0}
+^^A\DeclareTextComposite{\textdialytikavaria}{LGR}{\textiota}{"F1}
+^^A\DeclareTextComposite{\textdialytikatonos}{LGR}{\textiota}{"F2}
+^^A\DeclareTextComposite{\textdialytikaperispomeni}{LGR}{\textiota}{"F3}
+^^A\DeclareTextComposite{\"}{LGR}{\textupsilon}{"F4}
+^^A\DeclareTextComposite{\textdialytikavaria}{LGR}{\textupsilon}{"F5}
+^^A\DeclareTextComposite{\textdialytikatonos}{LGR}{\textupsilon}{"F6}
+^^A\DeclareTextComposite{\textdialytikaperispomeni}{LGR}{\textupsilon}{"F7}
+% F8--FA subiota combinations are created correctly
+^^A\DeclareTextComposite{\textdasia}{LGR}{\textrho}{"FB}
+^^A\DeclareTextComposite{\textpsili}{LGR}{\textrho}{"FC}
+% FD undefined
+^^A\DeclareTextSymbol{\textdexiakeraia}{LGR}{"FE}
+^^A\DeclareTextSymbol{\textaristerikeraia}{LGR}{"FF}
+% \end{macrocode}
+% Some composites follow, which are intuitively accents,
+% but must be generated as ligatures in the CB fonts:
+% \begin{macrocode}
+^^A\DeclareTextCompositeCommand{\`}{LGR}{\textAlpha}{`A}
+^^A\DeclareTextCompositeCommand{\'}{LGR}{\textAlpha}{'A}
+^^A\DeclareTextCompositeCommand{\textpsili}{LGR}{\textAlpha}{>A}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textAlpha}{<A}
+^^A\DeclareTextCompositeCommand{\textpsilivaria}{LGR}{\textAlpha}{\char"5F A}
+^^A\DeclareTextCompositeCommand{\textdasiavaria}{LGR}{\textAlpha}{CA}
+^^A\DeclareTextCompositeCommand{\textpsilioxia}{LGR}{\textAlpha}{\char"5E A}
+^^A\DeclareTextCompositeCommand{\textdasiaoxia}{LGR}{\textAlpha}{VA}
+^^A\DeclareTextCompositeCommand{\textpsiliperispomeni}{LGR}{\textAlpha}{\char"5C A}
+^^A\DeclareTextCompositeCommand{\textdasiaperispomeni}{LGR}{\textAlpha}{@A}
+^^A\DeclareTextCompositeCommand{\`}{LGR}{\textEpsilon}{`E}
+^^A\DeclareTextCompositeCommand{\'}{LGR}{\textEpsilon}{'E}
+^^A\DeclareTextCompositeCommand{\textpsili}{LGR}{\textEpsilon}{>E}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textEpsilon}{<E}
+^^A\DeclareTextCompositeCommand{\textpsilivaria}{LGR}{\textEpsilon}{\char"5F E}
+^^A\DeclareTextCompositeCommand{\textdasiavaria}{LGR}{\textEpsilon}{CE}
+^^A\DeclareTextCompositeCommand{\textpsilioxia}{LGR}{\textEpsilon}{\char"5E E}
+^^A\DeclareTextCompositeCommand{\textdasiaoxia}{LGR}{\textEpsilon}{VE}
+^^A\DeclareTextCompositeCommand{\`}{LGR}{\textEta}{`H}
+^^A\DeclareTextCompositeCommand{\'}{LGR}{\textEta}{'H}
+^^A\DeclareTextCompositeCommand{\textpsili}{LGR}{\textEta}{>H}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textEta}{<H}
+^^A\DeclareTextCompositeCommand{\textpsilivaria}{LGR}{\textEta}{\char"5F H}
+^^A\DeclareTextCompositeCommand{\textdasiavaria}{LGR}{\textEta}{CH}
+^^A\DeclareTextCompositeCommand{\textpsilioxia}{LGR}{\textEta}{\char"5E H}
+^^A\DeclareTextCompositeCommand{\textdasiaoxia}{LGR}{\textEta}{VH}
+^^A\DeclareTextCompositeCommand{\textpsiliperispomeni}{LGR}{\textEta}{\char"5C H}
+^^A\DeclareTextCompositeCommand{\textdasiaperispomeni}{LGR}{\textEta}{@H}
+^^A\DeclareTextCompositeCommand{\`}{LGR}{\textIota}{`I}
+^^A\DeclareTextCompositeCommand{\'}{LGR}{\textIota}{'I}
+^^A\DeclareTextCompositeCommand{\textpsili}{LGR}{\textIota}{>I}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textIota}{<I}
+^^A\DeclareTextCompositeCommand{\textpsilivaria}{LGR}{\textIota}{\char"5F I}
+^^A\DeclareTextCompositeCommand{\textdasiavaria}{LGR}{\textIota}{CI}
+^^A\DeclareTextCompositeCommand{\textpsilioxia}{LGR}{\textIota}{\char"5E I}
+^^A\DeclareTextCompositeCommand{\textdasiaoxia}{LGR}{\textIota}{VI}
+^^A\DeclareTextCompositeCommand{\textpsiliperispomeni}{LGR}{\textIota}{\char"5C I}
+^^A\DeclareTextCompositeCommand{\textdasiaperispomeni}{LGR}{\textIota}{@I}
+^^A\DeclareTextCompositeCommand{\'}{LGR}{\textOmicron}{'O}
+^^A\DeclareTextCompositeCommand{\`}{LGR}{\textOmicron}{`O}
+^^A\DeclareTextCompositeCommand{\textpsili}{LGR}{\textOmicron}{>O}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textOmicron}{<O}
+^^A\DeclareTextCompositeCommand{\textpsilivaria}{LGR}{\textOmicron}{\char"5F O}
+^^A\DeclareTextCompositeCommand{\textdasiavaria}{LGR}{\textOmicron}{CO}
+^^A\DeclareTextCompositeCommand{\textpsilioxia}{LGR}{\textOmicron}{\char"5E O}
+^^A\DeclareTextCompositeCommand{\textdasiaoxia}{LGR}{\textOmicron}{VO}
+^^A\DeclareTextCompositeCommand{\`}{LGR}{\textUpsilon}{`U}
+^^A\DeclareTextCompositeCommand{\'}{LGR}{\textUpsilon}{'U}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textUpsilon}{<U}
+^^A\DeclareTextCompositeCommand{\textdasiavaria}{LGR}{\textUpsilon}{CU}
+^^A\DeclareTextCompositeCommand{\textdasiaoxia}{LGR}{\textUpsilon}{VU}
+^^A\DeclareTextCompositeCommand{\textdasiaperispomeni}{LGR}{\textUpsilon}{@U}
+^^A\DeclareTextCompositeCommand{\'}{LGR}{\textOmega}{'W}
+^^A\DeclareTextCompositeCommand{\`}{LGR}{\textOmega}{`W}
+^^A\DeclareTextCompositeCommand{\textpsili}{LGR}{\textOmega}{>W}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textOmega}{<W}
+^^A\DeclareTextCompositeCommand{\textpsilivaria}{LGR}{\textOmega}{\char"5F W}
+^^A\DeclareTextCompositeCommand{\textdasiavaria}{LGR}{\textOmega}{CW}
+^^A\DeclareTextCompositeCommand{\textpsilioxia}{LGR}{\textOmega}{\char"5E W}
+^^A\DeclareTextCompositeCommand{\textdasiaoxia}{LGR}{\textOmega}{VW}
+^^A\DeclareTextCompositeCommand{\textpsiliperispomeni}{LGR}{\textOmega}{\char"5C W}
+^^A\DeclareTextCompositeCommand{\textdasiaperispomeni}{LGR}{\textOmega}{@W}
+^^A\DeclareTextCompositeCommand{\textpsiliiota}{LGR}{\textOmega}{>W|}
+^^A\DeclareTextCompositeCommand{\textdasiaiota}{LGR}{\textOmega}{<W|}
+^^A\DeclareTextCompositeCommand{\textpsilivariaiota}{LGR}{\textOmega}{\char"5F W|}
+^^A\DeclareTextCompositeCommand{\textdasiavariaiota}{LGR}{\textOmega}{CW|}
+^^A\DeclareTextCompositeCommand{\textpsilioxiaiota}{LGR}{\textOmega}{\char"5E W|}
+^^A\DeclareTextCompositeCommand{\textdasiaoxiaiota}{LGR}{\textOmega}{VW|}
+^^A\DeclareTextCompositeCommand{\textpsiliperispomeniiota}{LGR}{\textOmega}{\char"5C W|}
+^^A\DeclareTextCompositeCommand{\textdasiaperispomeniiota}{LGR}{\textOmega}{@W|}
+^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textRho}{<R}
+% \end{macrocode}
+% Uppercase-lowercase mapping:
+% \begin{macrocode}
+\ifx\@uclclist\undefined\else
+^^A\def\update@uclc@with@text{%
+^^B \expandafter\def\expandafter\@uclclist\expandafter
+^^B {\@uclclist
+% \end{macrocode}
+% Not that mapping for |\textautosigma| must come last, otherwise
+% |\MakeLowercase{\textSigma}| is not |\textautosigma|.
+% \begin{macrocode}
+^^B \textalpha\textAlpha \textbeta\textBeta \textdelta\textDelta
+^^B \textepsilon\textEpsilon \textphi\textPhi
+^^B \textgamma\textGamma \texteta\textEta \textiota\textIota
+^^B \texttheta\textTheta \textkappa\textKappa
+^^B \textlambda\textLambda \textmu\textMu \textnu\textNu
+^^B \textomicron\textOmicron \textpi\textPi \textchi\textChi
+^^B \textrho\textRho \textsigma\textSigma
+^^B \textvarsigma\textSigma \textautosigma\textSigma
+^^B \texttau\textTau \textupsilon\textUpsilon
+^^B \textomega\textOmega \textxi\textXi \textpsi\textPsi
+^^B \textzeta\textZeta \textdigamma\textDigamma}%
+^^B \let\update@uclc@with@text\empty}
+^^B\update@uclc@with@text
+\fi
+^^A\typeout{fontencoding LGR patched}
+% \end{macrocode}
+%
+% Patches for encoding T3 follow
+% \begin{macrocode}
+\uc@temp@b{T3}
+\def\ifxx#1#2{\toks255{#1==#2}\typeout{ifx:\the\toks255}\ifx#1#2}
+% \end{macrocode}
+% \changes{v2.0}{2012/04/20}{Removed the redefinition of \cs{show} from \texttt{ucsencs.def}}
+% Older TIPA versions (pre 1.0) do not have |\textscriptg|
+% \begin{macrocode}
+^^A\DeclareTextSymbol{\textscriptg}{T3}{103}
+^^A\DeclareTextCommand{\textascii}{T3}[1]{\ifx#1g\char164 \else\@textascii{#1}\fi}
+^^A\typeout{fontencoding T3 patched}
+% \end{macrocode}
+%
+% Patches for encoding T5 follow
+% \begin{macrocode}
+\uc@temp@b{T5}
+^^A\DeclareTextCompositeCommand{\~}{T5}{\i}{\~i}
+^^A\DeclareTextCompositeCommand{\`}{T5}{\i}{\`i}
+^^A\DeclareTextCompositeCommand{\'}{T5}{\i}{\'i}
+^^A\typeout{fontencoding T5 patched}
+% \end{macrocode}
+%
+% Patches for encoding T4 follow
+% \begin{macrocode}
+\uc@temp@b{T4}
+^^A\DeclareTextCommand\texthbar{T4}{\B h}
+^^A\DeclareTextCommand\textHbar{T4}{\B H}
+^^A\DeclareTextCommand\textbhook{T4}{\m b}
+^^A\DeclareTextCommand\textBhook{T4}{\m B}
+^^A\DeclareTextCommand\textdhook{T4}{\m d}
+^^A\DeclareTextCommand\textDhook{T4}{\m D}
+^^A\DeclareTextCommand\texteopen{T4}{\m e}
+^^A\DeclareTextCommand\textEopen{T4}{\m E}
+^^A\DeclareTextCommand\textschwa{T4}{\M e}
+^^A\DeclareTextCommand\texteturned{T4}{\M e}
+^^A\DeclareTextCommand\textEreversed{T4}{\M E}
+^^A\DeclareTextCommand\textGammaafrican{T4}{\m G}
+^^A\DeclareTextCommand\textgammalatinsmall{T4}{\m g}
+^^A\DeclareTextCommand\textKhook{T4}{\m K}
+^^A\DeclareTextCommand\textkhook{T4}{\m k}
+^^A\DeclareTextCommand\textDafrican{T4}{\M D}
+^^A\DeclareTextCommand\textdtail{T4}{\M d}
+^^A\DeclareTextCommand\textTretroflexhook{T4}{\M T}
+^^A\DeclareTextCommand\texttretroflexhook{T4}{\M t}
+^^A\DeclareTextCommand\textOopen{T4}{\m O}
+^^A\DeclareTextCommand\textoopen{T4}{\m o}
+^^A\DeclareTextCommand\textIotaafrican{T4}{\m I}
+^^A\DeclareTextCommand\textiotalatin{T4}{\m i}
+^^A\DeclareTextCommand\textFhook{T4}{\m F}
+^^A\DeclareTextCommand\textflorin{T4}{\m f}
+^^A\DeclareTextCommand\textYhook{T4}{\m Y}
+^^A\DeclareTextCommand\textyhook{T4}{\m y}
+^^A\DeclareTextCommand\textEsh{T4}{\m S}
+^^A\DeclareTextCommand\textesh{T4}{\m s}
+^^A\DeclareTextCommand\textThook{T4}{\m T}
+^^A\DeclareTextCommand\textthook{T4}{\m t}
+^^A\DeclareTextCommand\textEzh{T4}{\m Z}
+^^A\DeclareTextCommand\textezh{T4}{\m z}
+^^A\DeclareTextCommand\textChook{T4}{\m C}
+^^A\DeclareTextCommand\textchook{T4}{\m c}
+^^A\DeclareTextCommand\textTbar{T4}{\B T}
+^^A\DeclareTextCommand\texttbar{T4}{\B t}
+^^A\DeclareTextCommand\textVhook{T4}{\m V}
+^^A\DeclareTextCommand\textvhook{T4}{\m v}
+^^A\DeclareTextCommand\textPhook{T4}{\m P}
+^^A\DeclareTextCommand\textphook{T4}{\m p}
+^^A\DeclareTextCommand\textNhookleft{T4}{\m J}
+^^A\DeclareTextCommand\textnhookleft{T4}{\m j}
+^^A\DeclareTextCommand\texttesh{T4}{\tsh}
+^^A\DeclareTextCompositeCommand{\~}{T4}{\textEopen}{\T E}
+^^A\DeclareTextCompositeCommand{\~}{T4}{\texteopen}{\T e}
+^^A\DeclareTextCompositeCommand{\~}{T4}{\textOopen}{\T O}
+^^A\DeclareTextCompositeCommand{\~}{T4}{\textoopen}{\T o}
+^^A\DeclareTextSymbol\textexclamdown{T4}{'275}
+^^A\DeclareTextSymbol\textquestiondown{T4}{'276}
+^^A\DeclareTextAccent\textdblgravecmb{T4}{'237}
+^^A\typeout{fontencoding T4 patched}
+% \end{macrocode}
+%
+% Clean up.
+% \begin{macrocode}
+\uc@temp@d
+%
+%
+%</ucsencs.def>
+% \end{macrocode}
+% \section{Contributed files}
+% \let\xsection\subsection
+%
+% These files are needed by some glyph macros. They are not really part of
+% the UCS package, but they stay here until available somewhere else.
+%
+%
+% \xsection{File \texttt{autofe.sty}}
+% \begin{macrocode}
+%<*autofe.sty>
+\ProvidesPackage{autofe}[2002/12/17 Automatic switching of fontencodings]
+
+\let\autofe@mode1
+
+\let\autofe@DeclareTextCommand\DeclareTextCommand
+\def\DeclareTextCommand{\autofe@parse@declaretextcommand\autofe@DeclareTextCommand}
+\let\autofe@ProvideTextCommand\ProvideTextCommand
+\def\ProvideTextCommand{\autofe@parse@declaretextcommand\autofe@ProvideTextCommand}
+\let\autofe@DeclareTextSymbol\DeclareTextSymbol
+
+\def\autofe@parse@declaretextcommand#1#2#3{%
+ \@ifnextchar[%
+ {\autofe@parse@declaretextcommand@a{#1}{#2}{#3}}%
+ {\autofe@parse@declaretextcommand@dd{#1}{#2}{#3}}}
+\def\autofe@parse@declaretextcommand@a#1#2#3[#4]{%
+ \@ifnextchar[%
+ {\autofe@parse@declaretextcommand@aa{#1}{#2}{#3}{#4}}%
+ {\autofe@parse@declaretextcommand@ad{#1}{#2}{#3}{#4}}}
+
+
+\def\autofe@parse@declaretextcommand@aa#1#2#3#4[#5]#6{%
+ %{\toks255{#1{#2}{#3}[#4][#5]{#6}}\typeout{Running \the\toks255}}%
+ \ifx\autofe@mode0\else\expandafter\autofe@defdef\expandafter{#3}{\autofe@ProvideTextCommand{#2}{?}[#4][#5]}{#6}\fi
+ #1{#2}{#3}[#4][#5]{#6}%
+}
+\def\autofe@parse@declaretextcommand@ad#1#2#3#4#5{%
+ %{\toks255{#1{#2}{#3}[#4]{#5}}\typeout{Running \the\toks255}}%
+ \ifx\autofe@mode0\else\expandafter\autofe@defdef\expandafter{#3}{\autofe@ProvideTextCommand{#2}{?}[#4]}{#5}\fi
+ #1{#2}{#3}[#4]{#5}%
+}
+\def\autofe@parse@declaretextcommand@dd#1#2#3#4{%
+ %{\toks255{#1{#2}{#3}{#4}}\typeout{Running \the\toks255}}%
+ \ifx\autofe@mode0\else\expandafter\autofe@defdef\expandafter{#3}{#1{#2}{?}}{#4}\fi
+ #1{#2}{#3}{#4}%
+}
+\def\DeclareTextSymbol#1#2#3{%
+ %{\toks255{\autofe@DeclareTextSymbol{#1}{#2}{#3}}\typeout{Running \the\toks255}}%
+ \ifx\autofe@mode0\else\expandafter\autofe@defdef\expandafter{#2}{\autofe@ProvideTextCommand{#1}{?}}{\char#3}\fi
+ \autofe@DeclareTextSymbol{#1}{#2}{#3}%
+}
+
+\def\autofe@defdef#1#2#3{%
+ \begingroup
+ \def\temp@a{#1}\def\temp@b{?}%
+ \ifx\temp@a\temp@b
+ \let\temp@a\@gobbletwo
+ \else
+ \ifx\autofe@mode1%
+ \let\temp@a\@firstoftwo
+ \else
+ \let\temp@a\@secondoftwo
+ \fi
+ \fi
+ \expandafter\endgroup
+ \temp@a
+ {#2{{\fontencoding{#1}\selectfont#3}}}%
+ {#2{\fontencoding{#1}\selectfont#3}}%
+}
+
+\def\autofe@options{}
+\def\autofe@add@fe#1{\g@addto@macro\autofe@options{\RequirePackage[#1]{fontenc}}}
+%\DeclareOption{global}{\PackageError{autofe}{Option global not supported yet}{Changing to local mode}\g@addto@macro\autofe@options{\let\autofe@mode1}}
+\DeclareOption{global}{\g@addto@macro\autofe@options{\let\autofe@mode2}}
+\DeclareOption{local}{\g@addto@macro\autofe@options{\let\autofe@mode1}}
+\DeclareOption{off}{\g@addto@macro\autofe@options{\let\autofe@mode0}}
+\DeclareOption*{\expandafter\autofe@add@fe\expandafter{\CurrentOption}}
+\ProcessOptions*
+
+\typeout{\meaning\autofe@options}
+\autofe@options
+
+\let\autofe@options\undefined
+\let\autofe@add@fe\undefined
+
+%
+%
+%</autofe.sty>
+% \end{macrocode}
+%
+% \xsection{File \texttt{cenccmn.tex}}
+% \begin{macrocode}
+%<*cenccmn.tex>
+\ProvidesFile{cenccmn.tex}[2001/10/25
+ Macros common to fontencodings C00, C40, C61]%
+%\gdef\CJK@plane{***___SET_CJK@plane_before_using_fontencoding_%
+% \f@encoding___***}
+\def\CJK@@empty#1{%
+ \ifx\CJK@plane\undefined\def\mandatory@arg{cmr10}\else
+ \edef\mandatory@arg{\mandatory@arg\CJK@plane}\fi%
+ \empty@sfcnt#1%
+ \xdef\font@name{\csname \curr@fontshape/\f@size/%
+ \ifx\CJK@plane\undefined\else\CJK@plane\fi\endcsname}}
+\def\CJK@@sub#1{%
+ \expandafter\ifx\csname CJK@\mandatory@arg/\f@size\endcsname\relax
+ \expandafter\gdef\csname CJK@\mandatory@arg/\f@size\endcsname{}%
+ \sub@sfcnt#1%
+ \else
+ \sub@sfcnt\@gobble
+ \fi}
+\def\CJK@DNPgen{%
+ \ifx\CJK@plane\undefined\def\external@font{cmr10}\else
+ \edef\external@font{%
+ \mandatory@arg\CJK@plane\f@size}\fi
+ \xdef\font@name{%
+ \csname \curr@fontshape/\f@size/%
+ \ifx\CJK@plane\undefined\else\CJK@plane\fi\endcsname}}%
+\def\CJK@DNP{%
+ \ifx\CJK@plane\undefined\def\external@font{cmr10}\else
+ \@tempdimb \f@size\p@
+ \edef\external@font{%
+ \mandatory@arg\CJK@plane\optional@arg\space at \the\@tempdimb}\fi
+ \xdef\font@name{%
+ \csname \curr@fontshape/\f@size/%
+ \ifx\CJK@plane\undefined\else\CJK@plane\fi\endcsname\endcsname}}
+%
+\DeclareSizeFunction{CJK}{\CJK@@empty\@font@warning}
+\DeclareSizeFunction{CJKb}{\CJK@@empty\@font@warning}
+\DeclareSizeFunction{sCJK}{\CJK@@empty\@font@info}
+\DeclareSizeFunction{sCJKb}{\CJK@@empty\@font@info}
+\DeclareSizeFunction{CJKsub}{\CJK@@sub\@font@warning}
+\DeclareSizeFunction{CJKssub}{\CJK@@sub\@font@info}
+\DeclareSizeFunction{DNPgen}{\CJK@DNPgen}
+\DeclareSizeFunction{DNPgenb}{\CJK@DNPgen}
+\DeclareSizeFunction{DNP}{\CJK@DNP}
+\DeclareSizeFunction{DNPb}{\CJK@DNP}
+%
+\@ifpackageloaded{CJK}{}{%
+ \AtBeginDocument{%
+ \@ifpackageloaded{CJK}{%
+ \PackageError{fontenc C??}{Load fontencoding C00/C40/... after CJK}{%
+ Otherwise strange things may happen, when you use those encodings}}{}}}
+\def\CJKresetplane{\let\CJK@plane\undefined}
+%%% Local Variables:
+%%% mode: latex
+%%% coding: utf-8
+%%% TeX-master: "../test.tex"
+%%% End:
+%%% Local IspellDict: british
+%
+%</cenccmn.tex>
+% \end{macrocode}
+%
+% \xsection{File \texttt{c00enc.def}}
+% \begin{macrocode}
+%<*c00enc.def>
+\ProvidesFile{c00enc.def}[2001/10/11 Fontencoding C00 (Big5)]%
+\DeclareFontEncoding{C00}{}{}%
+\DeclareFontSubstitution{C00}{song}{m}{n}%
+\input{cenccmn.tex}%
+\expandafter\let\csname C00/song/m/n\endcsname\undefined
+%
+%</c00enc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{c10enc.def}}
+% \begin{macrocode}
+%<*c10enc.def>
+\ProvidesFile{c10enc.def}[2001/10/11 Fontencoding C10 (Big5)]%
+\DeclareFontEncoding{C10}{}{}%
+\DeclareFontSubstitution{C10}{song}{m}{n}%
+\input{cenccmn.tex}%
+\expandafter\let\csname C10/song/m/n\endcsname\undefined
+%
+%</c10enc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{c40enc.def}}
+% \begin{macrocode}
+%<*c40enc.def>
+\ProvidesFile{c40enc.def}[2002/11/25 Fontencoding C40 (JIS)]%
+\DeclareFontEncoding{C40}{}{}%
+\DeclareFontSubstitution{C40}{song}{m}{n}%
+\input{cenccmn.tex}%
+\expandafter\let\csname C40/song/m/n\endcsname\undefined
+\def\cjk@Cforty#1#2#3#4{% Takes JIS0208 codepos in hex
+ {%
+ \count0="#1#2
+ \multiply\count0 by94
+ \advance\count0 by"#3#4
+ \advance\count0 by-"B3F
+ \count1\count0
+ \divide\count0 by256
+ \multiply\count0 by256
+ \advance\count1 by-\count0
+ \divide\count0 by256
+ %\typeout{C0=\number\count0, C1=\number\count1}%
+ \edef\temp@a{\ifnum\count0<10 0\fi\number\count0}%
+ \edef\temp@b{\ifx\temp@a\CJK@plane\else
+ \def\noexpand\CJK@plane{\temp@a}\noexpand\selectfont\fi
+ \char\number\count\@ne\space}%
+ %\typeout{C40: \meaning\temp@b}%
+ \expandafter}\temp@b%
+ }%
+\DeclareTextCommand\jischar{C40}[1]{\cjk@Cforty#1}
+\DeclareTextCommandDefault\jischar[1]{{\fontencoding{C40}%
+ \let\CJK@plane\undefined\cjk@Cforty#1}}
+%
+%
+%</c40enc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{c42enc.def}}
+% \begin{macrocode}
+%<*c42enc.def>
+\ProvidesFile{c42enc.def}[2002/11/25 Fontencoding C42 (JISdnp)]%
+\DeclareFontEncoding{C42}{}{}%
+\DeclareFontSubstitution{C42}{song}{m}{n}%
+\input{cenccmn.tex}%
+\expandafter\let\csname C42/song/m/n\endcsname\undefined
+\def\cjk@Cfrttw@#1#2#3{%
+ \advance\count1 by#3
+ \ifnum\count1>256\advance\count1by-256\def\temp@a{#2}\else\def\temp@a{#1}\fi
+ %\typeout{#1/#2/#3, \meaning\temp@a, \number\count1}%
+}
+\def\cjk@Cfrttw#1#2#3#4{% Takes JIS0208 codepos in hex
+ %\typeout{JIS: #1#2#3#4}%
+ {%
+ \count0="#1#2 \count1="#3#4
+ \advance\count0by-33
+ \expandafter\cjk@Cfrttw@
+ \ifcase\count0
+ {sy}{err}{-32}\or % 0
+ {sy}{err}{68}\or % 1
+ {roma}{err}{0}\or % 2
+ {hira}{err}{-32}\or % 3
+ {kata}{err}{-32}\or % 4
+ {greek}{err}{-32}\or % 5
+ {russian}{err}{-32}\or % 6
+ {keisen}{err}{-32}\or % 7
+ {err}{err}{128}\or % 8
+ {err}{err}{128}\or % 9
+ {err}{err}{128}\or % 10
+ {err}{err}{128}\or % 11
+ {err}{err}{128}\or % 12
+ {err}{err}{128}\or % 13
+ {err}{err}{128}\or % 14
+ {ka}{err}{-33}\or % 15
+ {ka}{err}{61}\or % 16
+ {ka}{kb}{155}\or % 17
+ {kb}{err}{-7}\or % 18
+ {kb}{err}{87}\or % 19
+ {kb}{kc}{181}\or % 20
+ {kc}{err}{19}\or % 21
+ {kc}{err}{113}\or % 22
+ {kc}{kd}{207}\or % 23
+ {kd}{err}{45}\or % 24
+ {kd}{ke}{139}\or % 25
+ {ke}{err}{-23}\or % 26
+ {ke}{err}{71}\or % 27
+ {ke}{kf}{165}\or % 28
+ {kf}{err}{3}\or % 29
+ {kf}{err}{97}\or % 30
+ {kf}{kg}{191}\or % 31
+ {kg}{err}{29}\or % 32
+ {kg}{err}{123}\or % 33
+ {kg}{kh}{217}\or % 34
+ {kh}{err}{55}\or % 35
+ {kh}{ki}{149}\or % 36
+ {ki}{err}{-13}\or % 37
+ {ki}{err}{81}\or % 38
+ {ki}{kj}{175}\or % 39
+ {kj}{err}{13}\or % 40
+ {kj}{err}{107}\or % 41
+ {kj}{kk}{201}\or % 42
+ {kk}{err}{39}\or % 43
+ {kk}{kl}{133}\or % 44
+ {kl}{err}{-29}\or % 45
+ {kl}{err}{65}\or % 46
+ {km}{err}{-33}\or % 47
+ {km}{err}{61}\or % 48
+ {km}{kn}{155}\or % 49
+ {kn}{err}{-7}\or % 50
+ {kn}{err}{87}\or % 51
+ {kn}{ko}{181}\or % 52
+ {ko}{err}{19}\or % 53
+ {ko}{err}{113}\or % 54
+ {ko}{kp}{207}\or % 55
+ {kp}{err}{45}\or % 56
+ {kp}{kq}{139}\or % 57
+ {kq}{err}{-23}\or % 58
+ {kq}{err}{71}\or % 59
+ {kq}{kr}{165}\or % 60
+ {kr}{err}{3}\or % 61
+ {kr}{err}{97}\or % 62
+ {kr}{ks}{191}\or % 63
+ {ks}{err}{29}\or % 64
+ {ks}{err}{123}\or % 65
+ {ks}{kt}{217}\or % 66
+ {kt}{err}{55}\or % 67
+ {kt}{ku}{149}\or % 68
+ {ku}{err}{-13}\or % 69
+ {ku}{err}{81}\or % 70
+ {ku}{kv}{175}\or % 71
+ {kv}{err}{13}\or % 72
+ {kv}{err}{107}\or % 73
+ {kv}{kw}{201}\or % 74
+ {kw}{err}{39}\or % 75
+ {kw}{kx}{133}\or % 76
+ {kx}{err}{-29}\or % 77
+ {kx}{err}{65}\or % 78
+ {kx}{ky}{159}\or % 79
+ {ky}{err}{-3}\or % 80
+ {ky}{err}{91}\or % 81
+ {ky}{kz}{185}\or % 82
+ {kz}{err}{23}\else % 83
+ {err}{err}0\fi
+ \edef\temp@b{\ifx\temp@a\CJK@plane\else
+ \def\noexpand\CJK@plane{\temp@a}\noexpand\selectfont\fi
+ \char\number\count\@ne\space}%
+ %\typeout{C42: \meaning\temp@b}%
+ \expandafter}\temp@b%
+ }%
+\DeclareTextCommand\jischar{C42}[1]{\cjk@Cfrttw#1}
+\DeclareTextCommandDefault\jischar[1]{{\fontencoding{C42}%
+ \let\CJK@plane\undefined\cjk@Cfrttw#1}}
+%
+%
+%</c42enc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{c61enc.def}}
+% \begin{macrocode}
+%<*c61enc.def>
+\ProvidesFile{c61enc.def}[2001/10/11 Fontencoding C61 (KSC5601 hangul)]%
+\DeclareFontEncoding{C61}{}{}%
+\DeclareFontSubstitution{C61}{mj}{m}{n}%
+\input{cenccmn.tex}%
+\expandafter\let\csname C61/mj/m/n\endcsname\undefined
+%
+%</c61enc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{lklenc.def}}
+% \begin{macrocode}
+%<*lklenc.def>
+\ProvidesFile{lklenc.def}[2001/10/17 Okuda (Klingon) Font Encoding LKL]
+\DeclareFontEncoding{LKL}{}{}
+\DeclareFontSubstitution{LKL}{kli}{m}{n}
+\DeclareTextSymbol{\klingona}{LKL}{`\a}
+\DeclareTextSymbol{\klingonb}{LKL}{`\b}
+\DeclareTextSymbol{\klingonch}{LKL}{`\C}
+\DeclareTextSymbol{\klingonD}{LKL}{`\D}
+\DeclareTextSymbol{\klingone}{LKL}{`\e}
+\DeclareTextSymbol{\klingongh}{LKL}{`\G}
+\DeclareTextSymbol{\klingonH}{LKL}{`\H}
+\DeclareTextSymbol{\klingonI}{LKL}{`\I}
+\DeclareTextSymbol{\klingonj}{LKL}{`\j}
+\DeclareTextSymbol{\klingonl}{LKL}{`\l}
+\DeclareTextSymbol{\klingonm}{LKL}{`\m}
+\DeclareTextSymbol{\klingonn}{LKL}{`\n}
+\DeclareTextSymbol{\klingonng}{LKL}{`\N}
+\DeclareTextSymbol{\klingono}{LKL}{`\o}
+\DeclareTextSymbol{\klingonp}{LKL}{`\p}
+\DeclareTextSymbol{\klingonq}{LKL}{`\q}
+\DeclareTextSymbol{\klingonQ}{LKL}{`\Q}
+\DeclareTextSymbol{\klingonr}{LKL}{`\r}
+\DeclareTextSymbol{\klingonS}{LKL}{`\S}
+\DeclareTextSymbol{\klingont}{LKL}{`\t}
+\DeclareTextSymbol{\klingontlh}{LKL}{`\T}
+\DeclareTextSymbol{\klingonu}{LKL}{`\u}
+\DeclareTextSymbol{\klingonv}{LKL}{`\v}
+\DeclareTextSymbol{\klingonw}{LKL}{`\w}
+\DeclareTextSymbol{\klingony}{LKL}{`\y}
+\DeclareTextSymbol{\klingonglotstop}{LKL}{`\'}
+\DeclareTextSymbol{\klingonzero}{LKL}{`\0}
+\DeclareTextSymbol{\klingonone}{LKL}{`\1}
+\DeclareTextSymbol{\klingontwo}{LKL}{`\2}
+\DeclareTextSymbol{\klingonthree}{LKL}{`\3}
+\DeclareTextSymbol{\klingonfour}{LKL}{`\4}
+\DeclareTextSymbol{\klingonfive}{LKL}{`\5}
+\DeclareTextSymbol{\klingonsix}{LKL}{`\6}
+\DeclareTextSymbol{\klingonseven}{LKL}{`\7}
+\DeclareTextSymbol{\klingoneight}{LKL}{`\8}
+\DeclareTextSymbol{\klingonnine}{LKL}{`\9}
+%
+%</lklenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{lklkli.fd}}
+% \begin{macrocode}
+%<*lklkli.fd>
+% \end{macrocode}
+% I have named this fontfamily kli, since it uses the font found on the
+% KLI homepage (http://www.kli.org)
+% \begin{macrocode}
+\ProvidesFile{lklkli.fd}[2001/10/11 Fontfamily kli for Fontencoding LKL]%
+\DeclareFontFamily{LKL}{kli}{}%
+\DeclareFontShape{LKL}{kli}{m}{n}{<-> pIq}{}%
+% \end{macrocode}
+% Since there is no case distinction, small caps is identical to normal.
+% \begin{macrocode}
+\DeclareFontShape{LKL}{kli}{m}{sc}{<-> pIq}{}%
+%
+%</lklkli.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ldvenc.def}}
+% \begin{macrocode}
+%<*ldvenc.def>
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesFile{ldvenc.def}[2004/10/17 Autogenerated encoding LDV]
+\DeclareFontEncoding{LDV}{}{}
+\DeclareFontSubstitution{LDV}{arial}{m}{n}
+\DeclareTextSymbol{\guillemotleft}{LDV}{19}
+\DeclareTextSymbol{\guillemotright}{LDV}{20}
+\DeclareTextSymbol{\guilsinglleft}{LDV}{14}
+\DeclareTextSymbol{\guilsinglright}{LDV}{15}
+\DeclareTextSymbol{\i}{LDV}{25}
+\DeclareTextSymbol{\quotedblbase}{LDV}{18}
+\DeclareTextSymbol{\quotesinglbase}{LDV}{13}
+\DeclareTextSymbol{\textasciicircum}{LDV}{`\^}
+\DeclareTextSymbol{\textasciitilde}{LDV}{`\~}
+\DeclareTextSymbol{\textbackslash}{LDV}{`\\}
+\DeclareTextSymbol{\textbar}{LDV}{`\|}
+\DeclareTextSymbol{\textbraceleft}{LDV}{`\{}
+\DeclareTextSymbol{\textbraceright}{LDV}{`\}}
+\DeclareTextSymbol{\textdollar}{LDV}{`\$}
+\DeclareTextSymbol{\textemdash}{LDV}{22}
+\DeclareTextSymbol{\textendash}{LDV}{21}
+\DeclareTextSymbol{\textgreater}{LDV}{`\>}
+\DeclareTextSymbol{\textless}{LDV}{`\<}
+\DeclareTextSymbol{\textquotedblleft}{LDV}{16}
+\DeclareTextSymbol{\textquotedblright}{LDV}{17}
+\DeclareTextSymbol{\textquotedbl}{LDV}{`\"}
+\DeclareTextSymbol{\textquoteleft}{LDV}{`\`}
+\DeclareTextSymbol{\textquoteright}{LDV}{`\'}
+\DeclareTextSymbol{\textunderscore}{LDV}{95}
+\DeclareTextCommand{\textdevanagaricandrabindu}{LDV}[1]{#1\char129 }
+\DeclareTextCommand{\textdevanagarianusvara}{LDV}[1]{#1\char130 }
+\DeclareTextCommand{\textdevanagarivisarga}{LDV}[1]{#1\char131 }
+\DeclareTextSymbol{\textdevanagaria}{LDV}{133}
+\DeclareTextSymbol{\textdevanagariaa}{LDV}{134}
+\DeclareTextSymbol{\textdevanagarii}{LDV}{135}
+\DeclareTextSymbol{\textdevanagariii}{LDV}{136}
+\DeclareTextSymbol{\textdevanagariu}{LDV}{137}
+\DeclareTextSymbol{\textdevanagariuu}{LDV}{138}
+\DeclareTextSymbol{\textdevanagarivocalicr}{LDV}{139}
+\DeclareTextSymbol{\textdevanagarivocalicl}{LDV}{140}
+\DeclareTextSymbol{\textdevanagaricandrae}{LDV}{141}
+\DeclareTextSymbol{\textdevanagarishorte}{LDV}{142}
+\DeclareTextSymbol{\textdevanagarie}{LDV}{143}
+\DeclareTextSymbol{\textdevanagariai}{LDV}{144}
+\DeclareTextSymbol{\textdevanagaricandrao}{LDV}{145}
+\DeclareTextSymbol{\textdevanagarishorto}{LDV}{146}
+\DeclareTextSymbol{\textdevanagario}{LDV}{147}
+\DeclareTextSymbol{\textdevanagariau}{LDV}{148}
+\DeclareTextSymbol{\textdevanagarika}{LDV}{149}
+\DeclareTextSymbol{\textdevanagarikha}{LDV}{150}
+\DeclareTextSymbol{\textdevanagariga}{LDV}{151}
+\DeclareTextSymbol{\textdevanagarigha}{LDV}{152}
+\DeclareTextSymbol{\textdevanagaringa}{LDV}{153}
+\DeclareTextSymbol{\textdevanagarica}{LDV}{154}
+\DeclareTextSymbol{\textdevanagaricha}{LDV}{155}
+\DeclareTextSymbol{\textdevanagarija}{LDV}{156}
+\DeclareTextSymbol{\textdevanagarijha}{LDV}{157}
+\DeclareTextSymbol{\textdevanagarinya}{LDV}{158}
+\DeclareTextSymbol{\textdevanagaritta}{LDV}{159}
+\DeclareTextSymbol{\textdevanagarittha}{LDV}{160}
+\DeclareTextSymbol{\textdevanagaridda}{LDV}{161}
+\DeclareTextSymbol{\textdevanagariddha}{LDV}{162}
+\DeclareTextSymbol{\textdevanagarinna}{LDV}{163}
+\DeclareTextSymbol{\textdevanagarita}{LDV}{164}
+\DeclareTextSymbol{\textdevanagaritha}{LDV}{165}
+\DeclareTextSymbol{\textdevanagarida}{LDV}{166}
+\DeclareTextSymbol{\textdevanagaridha}{LDV}{167}
+\DeclareTextSymbol{\textdevanagarina}{LDV}{168}
+\DeclareTextSymbol{\textdevanagarinnna}{LDV}{169}
+\DeclareTextSymbol{\textdevanagaripa}{LDV}{170}
+\DeclareTextSymbol{\textdevanagaripha}{LDV}{171}
+\DeclareTextSymbol{\textdevanagariba}{LDV}{172}
+\DeclareTextSymbol{\textdevanagaribha}{LDV}{173}
+\DeclareTextSymbol{\textdevanagarima}{LDV}{174}
+\DeclareTextSymbol{\textdevanagariya}{LDV}{175}
+\DeclareTextSymbol{\textdevanagarira}{LDV}{176}
+\DeclareTextSymbol{\textdevanagarirra}{LDV}{177}
+\DeclareTextSymbol{\textdevanagarila}{LDV}{178}
+\DeclareTextSymbol{\textdevanagarilla}{LDV}{179}
+\DeclareTextSymbol{\textdevanagarillla}{LDV}{180}
+\DeclareTextSymbol{\textdevanagariva}{LDV}{181}
+\DeclareTextSymbol{\textdevanagarisha}{LDV}{182}
+\DeclareTextSymbol{\textdevanagarissa}{LDV}{183}
+\DeclareTextSymbol{\textdevanagarisa}{LDV}{184}
+\DeclareTextSymbol{\textdevanagariha}{LDV}{185}
+\DeclareTextCommand{\textdevanagarinukta}{LDV}[1]{#1\char188 }
+\DeclareTextSymbol{\textdevanagariavagraha}{LDV}{189}
+\DeclareTextCommand{\textdevanagarivowelaa}{LDV}[1]{#1\char190 }
+\DeclareTextCommand{\textdevanagarivoweli}{LDV}[1]{\char191 #1}
+\DeclareTextCommand{\textdevanagarivowelii}{LDV}[1]{#1\char192 }
+\DeclareTextCommand{\textdevanagarivowelu}{LDV}[1]{#1\char193 }
+\DeclareTextCommand{\textdevanagarivoweluu}{LDV}[1]{#1\char194 }
+\DeclareTextCommand{\textdevanagarivowelvocalicr}{LDV}[1]{#1\char195 }
+\DeclareTextCommand{\textdevanagarivowelvocalicrr}{LDV}[1]{#1\char196 }
+\DeclareTextCommand{\textdevanagarivowelcandrae}{LDV}[1]{#1\char197 }
+\DeclareTextCommand{\textdevanagarivowelshorte}{LDV}[1]{#1\char198 }
+\DeclareTextCommand{\textdevanagarivowele}{LDV}[1]{#1\char199 }
+\DeclareTextCommand{\textdevanagarivowelai}{LDV}[1]{#1\char200 }
+\DeclareTextCommand{\textdevanagarivowelcandrao}{LDV}[1]{#1\char201 }
+\DeclareTextCommand{\textdevanagarivowelshorto}{LDV}[1]{#1\char202 }
+\DeclareTextCommand{\textdevanagarivowelo}{LDV}[1]{#1\char203 }
+\DeclareTextCommand{\textdevanagarivowelau}{LDV}[1]{#1\char204 }
+\DeclareTextCommand{\textdevanagarivirama}{LDV}[1]{#1\char205 }
+\DeclareTextSymbol{\textdevanagariom}{LDV}{208}
+\DeclareTextCommand{\textdevanagariudatta}{LDV}[1]{#1\char209 }
+\DeclareTextCommand{\textdevanagarianudatta}{LDV}[1]{#1\char210 }
+\DeclareTextCommand{\`}{LDV}[1]{#1\char211 }
+\DeclareTextCommand{\'}{LDV}[1]{#1\char212 }
+\DeclareTextSymbol{\textdevanagariqa}{LDV}{216}
+\DeclareTextSymbol{\textdevanagarikhha}{LDV}{217}
+\DeclareTextSymbol{\textdevanagarighha}{LDV}{218}
+\DeclareTextSymbol{\textdevanagariza}{LDV}{219}
+\DeclareTextSymbol{\textdevanagaridddha}{LDV}{220}
+\DeclareTextSymbol{\textdevanagarirha}{LDV}{221}
+\DeclareTextSymbol{\textdevanagarifa}{LDV}{222}
+\DeclareTextSymbol{\textdevanagariyya}{LDV}{223}
+\DeclareTextSymbol{\textdevanagarivocalicrr}{LDV}{224}
+\DeclareTextSymbol{\textdevanagarivocalicll}{LDV}{225}
+\DeclareTextCommand{\textdevanagarivowelvocalicl}{LDV}[1]{#1\char226 }
+\DeclareTextCommand{\textdevanagarivowelvocalicll}{LDV}[1]{#1\char227 }
+\DeclareTextSymbol{\textdevanagaridanda}{LDV}{228}
+\DeclareTextSymbol{\textdevanagaridoubledanda}{LDV}{229}
+\DeclareTextSymbol{\textdevanagarizero}{LDV}{230}
+\DeclareTextSymbol{\textdevanagarione}{LDV}{231}
+\DeclareTextSymbol{\textdevanagaritwo}{LDV}{232}
+\DeclareTextSymbol{\textdevanagarithree}{LDV}{233}
+\DeclareTextSymbol{\textdevanagarifour}{LDV}{234}
+\DeclareTextSymbol{\textdevanagarifive}{LDV}{235}
+\DeclareTextSymbol{\textdevanagarisix}{LDV}{236}
+\DeclareTextSymbol{\textdevanagariseven}{LDV}{237}
+\DeclareTextSymbol{\textdevanagarieight}{LDV}{238}
+\DeclareTextSymbol{\textdevanagarinine}{LDV}{239}
+\DeclareTextSymbol{\textdevanagariabbreviation}{LDV}{240}
+%
+%</ldvenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ldvarial.fd}}
+% \begin{macrocode}
+%<*ldvarial.fd>
+\ProvidesFile{ldvarial.fd}[2004/10/17 Autogenerated .fd file for encoding LDV, family arial]
+\DeclareFontFamily{LDV}{arial}{}
+\DeclareFontShape{LDV}{arial}{m}{n}{<-> * arialuni090t}{}
+%
+%</ldvarial.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ldvc2000.fd}}
+% \begin{macrocode}
+%<*ldvc2000.fd>
+\ProvidesFile{ldvc2000.fd}[2004/10/17 Autogenerated .fd file for encoding LDV, family c2000]
+\DeclareFontFamily{LDV}{c2000}{}
+\DeclareFontShape{LDV}{c2000}{m}{n}{<-> * code2k090t}{}
+%
+%</ldvc2000.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{letenc.def}}
+% \begin{macrocode}
+%<*letenc.def>
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesFile{letenc.def}[2004/10/17 Autogenerated encodings LET, Let]
+\DeclareFontEncoding{LET}{}{}
+\DeclareFontSubstitution{LET}{gfzem}{m}{n}
+\DeclareFontEncoding{Let}{}{}
+\DeclareFontSubstitution{Let}{gfzem}{m}{n}
+\DeclareTextCommand{\textascii}{LET}[1]{\@textascii@switch{#1}}
+\DeclareTextCommand{\textascii}{Let}[1]{\@textascii@switch{#1}}
+\DeclareTextSymbol{\textethiopicha}{LET}{0}
+\DeclareTextCommand{\textethiopicha}{Let}{\fontencoding{LET}\selectfont\textethiopicha}
+\DeclareTextSymbol{\textethiopichu}{LET}{1}
+\DeclareTextCommand{\textethiopichu}{Let}{\fontencoding{LET}\selectfont\textethiopichu}
+\DeclareTextSymbol{\textethiopichi}{LET}{2}
+\DeclareTextCommand{\textethiopichi}{Let}{\fontencoding{LET}\selectfont\textethiopichi}
+\DeclareTextSymbol{\textethiopichaa}{LET}{3}
+\DeclareTextCommand{\textethiopichaa}{Let}{\fontencoding{LET}\selectfont\textethiopichaa}
+\DeclareTextSymbol{\textethiopichee}{LET}{4}
+\DeclareTextCommand{\textethiopichee}{Let}{\fontencoding{LET}\selectfont\textethiopichee}
+\DeclareTextSymbol{\textethiopiche}{LET}{5}
+\DeclareTextCommand{\textethiopiche}{Let}{\fontencoding{LET}\selectfont\textethiopiche}
+\DeclareTextSymbol{\textethiopicho}{LET}{6}
+\DeclareTextCommand{\textethiopicho}{Let}{\fontencoding{LET}\selectfont\textethiopicho}
+\DeclareTextSymbol{\textethiopicla}{LET}{8}
+\DeclareTextCommand{\textethiopicla}{Let}{\fontencoding{LET}\selectfont\textethiopicla}
+\DeclareTextSymbol{\textethiopiclu}{LET}{9}
+\DeclareTextCommand{\textethiopiclu}{Let}{\fontencoding{LET}\selectfont\textethiopiclu}
+\DeclareTextSymbol{\textethiopicli}{LET}{10}
+\DeclareTextCommand{\textethiopicli}{Let}{\fontencoding{LET}\selectfont\textethiopicli}
+\DeclareTextSymbol{\textethiopiclaa}{LET}{11}
+\DeclareTextCommand{\textethiopiclaa}{Let}{\fontencoding{LET}\selectfont\textethiopiclaa}
+\DeclareTextSymbol{\textethiopiclee}{LET}{12}
+\DeclareTextCommand{\textethiopiclee}{Let}{\fontencoding{LET}\selectfont\textethiopiclee}
+\DeclareTextSymbol{\textethiopicle}{LET}{13}
+\DeclareTextCommand{\textethiopicle}{Let}{\fontencoding{LET}\selectfont\textethiopicle}
+\DeclareTextSymbol{\textethiopiclo}{LET}{14}
+\DeclareTextCommand{\textethiopiclo}{Let}{\fontencoding{LET}\selectfont\textethiopiclo}
+\DeclareTextSymbol{\textethiopiclwa}{LET}{15}
+\DeclareTextCommand{\textethiopiclwa}{Let}{\fontencoding{LET}\selectfont\textethiopiclwa}
+\DeclareTextSymbol{\textethiopichha}{LET}{16}
+\DeclareTextCommand{\textethiopichha}{Let}{\fontencoding{LET}\selectfont\textethiopichha}
+\DeclareTextSymbol{\textethiopichhu}{LET}{17}
+\DeclareTextCommand{\textethiopichhu}{Let}{\fontencoding{LET}\selectfont\textethiopichhu}
+\DeclareTextSymbol{\textethiopichhi}{LET}{18}
+\DeclareTextCommand{\textethiopichhi}{Let}{\fontencoding{LET}\selectfont\textethiopichhi}
+\DeclareTextSymbol{\textethiopichhaa}{LET}{19}
+\DeclareTextCommand{\textethiopichhaa}{Let}{\fontencoding{LET}\selectfont\textethiopichhaa}
+\DeclareTextSymbol{\textethiopichhee}{LET}{20}
+\DeclareTextCommand{\textethiopichhee}{Let}{\fontencoding{LET}\selectfont\textethiopichhee}
+\DeclareTextSymbol{\textethiopichhe}{LET}{21}
+\DeclareTextCommand{\textethiopichhe}{Let}{\fontencoding{LET}\selectfont\textethiopichhe}
+\DeclareTextSymbol{\textethiopichho}{LET}{22}
+\DeclareTextCommand{\textethiopichho}{Let}{\fontencoding{LET}\selectfont\textethiopichho}
+\DeclareTextSymbol{\textethiopichhwa}{LET}{23}
+\DeclareTextCommand{\textethiopichhwa}{Let}{\fontencoding{LET}\selectfont\textethiopichhwa}
+\DeclareTextSymbol{\textethiopicma}{LET}{24}
+\DeclareTextCommand{\textethiopicma}{Let}{\fontencoding{LET}\selectfont\textethiopicma}
+\DeclareTextSymbol{\textethiopicmu}{LET}{25}
+\DeclareTextCommand{\textethiopicmu}{Let}{\fontencoding{LET}\selectfont\textethiopicmu}
+\DeclareTextSymbol{\textethiopicmi}{LET}{26}
+\DeclareTextCommand{\textethiopicmi}{Let}{\fontencoding{LET}\selectfont\textethiopicmi}
+\DeclareTextSymbol{\textethiopicmaa}{LET}{27}
+\DeclareTextCommand{\textethiopicmaa}{Let}{\fontencoding{LET}\selectfont\textethiopicmaa}
+\DeclareTextSymbol{\textethiopicmee}{LET}{28}
+\DeclareTextCommand{\textethiopicmee}{Let}{\fontencoding{LET}\selectfont\textethiopicmee}
+\DeclareTextSymbol{\textethiopicme}{LET}{29}
+\DeclareTextCommand{\textethiopicme}{Let}{\fontencoding{LET}\selectfont\textethiopicme}
+\DeclareTextSymbol{\textethiopicmo}{LET}{30}
+\DeclareTextCommand{\textethiopicmo}{Let}{\fontencoding{LET}\selectfont\textethiopicmo}
+\DeclareTextSymbol{\textethiopicmwa}{LET}{31}
+\DeclareTextCommand{\textethiopicmwa}{Let}{\fontencoding{LET}\selectfont\textethiopicmwa}
+\DeclareTextSymbol{\textethiopicsza}{LET}{32}
+\DeclareTextCommand{\textethiopicsza}{Let}{\fontencoding{LET}\selectfont\textethiopicsza}
+\DeclareTextSymbol{\textethiopicszu}{LET}{33}
+\DeclareTextCommand{\textethiopicszu}{Let}{\fontencoding{LET}\selectfont\textethiopicszu}
+\DeclareTextSymbol{\textethiopicszi}{LET}{34}
+\DeclareTextCommand{\textethiopicszi}{Let}{\fontencoding{LET}\selectfont\textethiopicszi}
+\DeclareTextSymbol{\textethiopicszaa}{LET}{35}
+\DeclareTextCommand{\textethiopicszaa}{Let}{\fontencoding{LET}\selectfont\textethiopicszaa}
+\DeclareTextSymbol{\textethiopicszee}{LET}{36}
+\DeclareTextCommand{\textethiopicszee}{Let}{\fontencoding{LET}\selectfont\textethiopicszee}
+\DeclareTextSymbol{\textethiopicsze}{LET}{37}
+\DeclareTextCommand{\textethiopicsze}{Let}{\fontencoding{LET}\selectfont\textethiopicsze}
+\DeclareTextSymbol{\textethiopicszo}{LET}{38}
+\DeclareTextCommand{\textethiopicszo}{Let}{\fontencoding{LET}\selectfont\textethiopicszo}
+\DeclareTextSymbol{\textethiopicszwa}{LET}{39}
+\DeclareTextCommand{\textethiopicszwa}{Let}{\fontencoding{LET}\selectfont\textethiopicszwa}
+\DeclareTextSymbol{\textethiopicra}{LET}{40}
+\DeclareTextCommand{\textethiopicra}{Let}{\fontencoding{LET}\selectfont\textethiopicra}
+\DeclareTextSymbol{\textethiopicru}{LET}{41}
+\DeclareTextCommand{\textethiopicru}{Let}{\fontencoding{LET}\selectfont\textethiopicru}
+\DeclareTextSymbol{\textethiopicri}{LET}{42}
+\DeclareTextCommand{\textethiopicri}{Let}{\fontencoding{LET}\selectfont\textethiopicri}
+\DeclareTextSymbol{\textethiopicraa}{LET}{43}
+\DeclareTextCommand{\textethiopicraa}{Let}{\fontencoding{LET}\selectfont\textethiopicraa}
+\DeclareTextSymbol{\textethiopicree}{LET}{44}
+\DeclareTextCommand{\textethiopicree}{Let}{\fontencoding{LET}\selectfont\textethiopicree}
+\DeclareTextSymbol{\textethiopicre}{LET}{45}
+\DeclareTextCommand{\textethiopicre}{Let}{\fontencoding{LET}\selectfont\textethiopicre}
+\DeclareTextSymbol{\textethiopicro}{LET}{46}
+\DeclareTextCommand{\textethiopicro}{Let}{\fontencoding{LET}\selectfont\textethiopicro}
+\DeclareTextSymbol{\textethiopicrwa}{LET}{47}
+\DeclareTextCommand{\textethiopicrwa}{Let}{\fontencoding{LET}\selectfont\textethiopicrwa}
+\DeclareTextSymbol{\textethiopicsa}{LET}{48}
+\DeclareTextCommand{\textethiopicsa}{Let}{\fontencoding{LET}\selectfont\textethiopicsa}
+\DeclareTextSymbol{\textethiopicsu}{LET}{49}
+\DeclareTextCommand{\textethiopicsu}{Let}{\fontencoding{LET}\selectfont\textethiopicsu}
+\DeclareTextSymbol{\textethiopicsi}{LET}{50}
+\DeclareTextCommand{\textethiopicsi}{Let}{\fontencoding{LET}\selectfont\textethiopicsi}
+\DeclareTextSymbol{\textethiopicsaa}{LET}{51}
+\DeclareTextCommand{\textethiopicsaa}{Let}{\fontencoding{LET}\selectfont\textethiopicsaa}
+\DeclareTextSymbol{\textethiopicsee}{LET}{52}
+\DeclareTextCommand{\textethiopicsee}{Let}{\fontencoding{LET}\selectfont\textethiopicsee}
+\DeclareTextSymbol{\textethiopicse}{LET}{53}
+\DeclareTextCommand{\textethiopicse}{Let}{\fontencoding{LET}\selectfont\textethiopicse}
+\DeclareTextSymbol{\textethiopicso}{LET}{54}
+\DeclareTextCommand{\textethiopicso}{Let}{\fontencoding{LET}\selectfont\textethiopicso}
+\DeclareTextSymbol{\textethiopicswa}{LET}{55}
+\DeclareTextCommand{\textethiopicswa}{Let}{\fontencoding{LET}\selectfont\textethiopicswa}
+\DeclareTextSymbol{\textethiopicsha}{LET}{56}
+\DeclareTextCommand{\textethiopicsha}{Let}{\fontencoding{LET}\selectfont\textethiopicsha}
+\DeclareTextSymbol{\textethiopicshu}{LET}{57}
+\DeclareTextCommand{\textethiopicshu}{Let}{\fontencoding{LET}\selectfont\textethiopicshu}
+\DeclareTextSymbol{\textethiopicshi}{LET}{58}
+\DeclareTextCommand{\textethiopicshi}{Let}{\fontencoding{LET}\selectfont\textethiopicshi}
+\DeclareTextSymbol{\textethiopicshaa}{LET}{59}
+\DeclareTextCommand{\textethiopicshaa}{Let}{\fontencoding{LET}\selectfont\textethiopicshaa}
+\DeclareTextSymbol{\textethiopicshee}{LET}{60}
+\DeclareTextCommand{\textethiopicshee}{Let}{\fontencoding{LET}\selectfont\textethiopicshee}
+\DeclareTextSymbol{\textethiopicshe}{LET}{61}
+\DeclareTextCommand{\textethiopicshe}{Let}{\fontencoding{LET}\selectfont\textethiopicshe}
+\DeclareTextSymbol{\textethiopicsho}{LET}{62}
+\DeclareTextCommand{\textethiopicsho}{Let}{\fontencoding{LET}\selectfont\textethiopicsho}
+\DeclareTextSymbol{\textethiopicshwa}{LET}{63}
+\DeclareTextCommand{\textethiopicshwa}{Let}{\fontencoding{LET}\selectfont\textethiopicshwa}
+\DeclareTextSymbol{\textethiopicqa}{LET}{64}
+\DeclareTextCommand{\textethiopicqa}{Let}{\fontencoding{LET}\selectfont\textethiopicqa}
+\DeclareTextSymbol{\textethiopicqu}{LET}{65}
+\DeclareTextCommand{\textethiopicqu}{Let}{\fontencoding{LET}\selectfont\textethiopicqu}
+\DeclareTextSymbol{\textethiopicqi}{LET}{66}
+\DeclareTextCommand{\textethiopicqi}{Let}{\fontencoding{LET}\selectfont\textethiopicqi}
+\DeclareTextSymbol{\textethiopicqaa}{LET}{67}
+\DeclareTextCommand{\textethiopicqaa}{Let}{\fontencoding{LET}\selectfont\textethiopicqaa}
+\DeclareTextSymbol{\textethiopicqee}{LET}{68}
+\DeclareTextCommand{\textethiopicqee}{Let}{\fontencoding{LET}\selectfont\textethiopicqee}
+\DeclareTextSymbol{\textethiopicqe}{LET}{69}
+\DeclareTextCommand{\textethiopicqe}{Let}{\fontencoding{LET}\selectfont\textethiopicqe}
+\DeclareTextSymbol{\textethiopicqo}{LET}{70}
+\DeclareTextCommand{\textethiopicqo}{Let}{\fontencoding{LET}\selectfont\textethiopicqo}
+\DeclareTextSymbol{\textethiopicqwa}{LET}{72}
+\DeclareTextCommand{\textethiopicqwa}{Let}{\fontencoding{LET}\selectfont\textethiopicqwa}
+\DeclareTextSymbol{\textethiopicqwi}{LET}{74}
+\DeclareTextCommand{\textethiopicqwi}{Let}{\fontencoding{LET}\selectfont\textethiopicqwi}
+\DeclareTextSymbol{\textethiopicqwaa}{LET}{75}
+\DeclareTextCommand{\textethiopicqwaa}{Let}{\fontencoding{LET}\selectfont\textethiopicqwaa}
+\DeclareTextSymbol{\textethiopicqwee}{LET}{76}
+\DeclareTextCommand{\textethiopicqwee}{Let}{\fontencoding{LET}\selectfont\textethiopicqwee}
+\DeclareTextSymbol{\textethiopicqwe}{LET}{77}
+\DeclareTextCommand{\textethiopicqwe}{Let}{\fontencoding{LET}\selectfont\textethiopicqwe}
+\DeclareTextSymbol{\textethiopicqha}{LET}{80}
+\DeclareTextCommand{\textethiopicqha}{Let}{\fontencoding{LET}\selectfont\textethiopicqha}
+\DeclareTextSymbol{\textethiopicqhu}{LET}{81}
+\DeclareTextCommand{\textethiopicqhu}{Let}{\fontencoding{LET}\selectfont\textethiopicqhu}
+\DeclareTextSymbol{\textethiopicqhi}{LET}{82}
+\DeclareTextCommand{\textethiopicqhi}{Let}{\fontencoding{LET}\selectfont\textethiopicqhi}
+\DeclareTextSymbol{\textethiopicqhaa}{LET}{83}
+\DeclareTextCommand{\textethiopicqhaa}{Let}{\fontencoding{LET}\selectfont\textethiopicqhaa}
+\DeclareTextSymbol{\textethiopicqhee}{LET}{84}
+\DeclareTextCommand{\textethiopicqhee}{Let}{\fontencoding{LET}\selectfont\textethiopicqhee}
+\DeclareTextSymbol{\textethiopicqhe}{LET}{85}
+\DeclareTextCommand{\textethiopicqhe}{Let}{\fontencoding{LET}\selectfont\textethiopicqhe}
+\DeclareTextSymbol{\textethiopicqho}{LET}{86}
+\DeclareTextCommand{\textethiopicqho}{Let}{\fontencoding{LET}\selectfont\textethiopicqho}
+\DeclareTextSymbol{\textethiopicqhwa}{LET}{88}
+\DeclareTextCommand{\textethiopicqhwa}{Let}{\fontencoding{LET}\selectfont\textethiopicqhwa}
+\DeclareTextSymbol{\textethiopicqhwi}{LET}{90}
+\DeclareTextCommand{\textethiopicqhwi}{Let}{\fontencoding{LET}\selectfont\textethiopicqhwi}
+\DeclareTextSymbol{\textethiopicqhwaa}{LET}{91}
+\DeclareTextCommand{\textethiopicqhwaa}{Let}{\fontencoding{LET}\selectfont\textethiopicqhwaa}
+\DeclareTextSymbol{\textethiopicqhwee}{LET}{92}
+\DeclareTextCommand{\textethiopicqhwee}{Let}{\fontencoding{LET}\selectfont\textethiopicqhwee}
+\DeclareTextSymbol{\textethiopicqhwe}{LET}{93}
+\DeclareTextCommand{\textethiopicqhwe}{Let}{\fontencoding{LET}\selectfont\textethiopicqhwe}
+\DeclareTextSymbol{\textethiopicba}{LET}{96}
+\DeclareTextCommand{\textethiopicba}{Let}{\fontencoding{LET}\selectfont\textethiopicba}
+\DeclareTextSymbol{\textethiopicbu}{LET}{97}
+\DeclareTextCommand{\textethiopicbu}{Let}{\fontencoding{LET}\selectfont\textethiopicbu}
+\DeclareTextSymbol{\textethiopicbi}{LET}{98}
+\DeclareTextCommand{\textethiopicbi}{Let}{\fontencoding{LET}\selectfont\textethiopicbi}
+\DeclareTextSymbol{\textethiopicbaa}{LET}{99}
+\DeclareTextCommand{\textethiopicbaa}{Let}{\fontencoding{LET}\selectfont\textethiopicbaa}
+\DeclareTextSymbol{\textethiopicbee}{LET}{100}
+\DeclareTextCommand{\textethiopicbee}{Let}{\fontencoding{LET}\selectfont\textethiopicbee}
+\DeclareTextSymbol{\textethiopicbe}{LET}{101}
+\DeclareTextCommand{\textethiopicbe}{Let}{\fontencoding{LET}\selectfont\textethiopicbe}
+\DeclareTextSymbol{\textethiopicbo}{LET}{102}
+\DeclareTextCommand{\textethiopicbo}{Let}{\fontencoding{LET}\selectfont\textethiopicbo}
+\DeclareTextSymbol{\textethiopicbwa}{LET}{103}
+\DeclareTextCommand{\textethiopicbwa}{Let}{\fontencoding{LET}\selectfont\textethiopicbwa}
+\DeclareTextSymbol{\textethiopicva}{LET}{104}
+\DeclareTextCommand{\textethiopicva}{Let}{\fontencoding{LET}\selectfont\textethiopicva}
+\DeclareTextSymbol{\textethiopicvu}{LET}{105}
+\DeclareTextCommand{\textethiopicvu}{Let}{\fontencoding{LET}\selectfont\textethiopicvu}
+\DeclareTextSymbol{\textethiopicvi}{LET}{106}
+\DeclareTextCommand{\textethiopicvi}{Let}{\fontencoding{LET}\selectfont\textethiopicvi}
+\DeclareTextSymbol{\textethiopicvaa}{LET}{107}
+\DeclareTextCommand{\textethiopicvaa}{Let}{\fontencoding{LET}\selectfont\textethiopicvaa}
+\DeclareTextSymbol{\textethiopicvee}{LET}{108}
+\DeclareTextCommand{\textethiopicvee}{Let}{\fontencoding{LET}\selectfont\textethiopicvee}
+\DeclareTextSymbol{\textethiopicve}{LET}{109}
+\DeclareTextCommand{\textethiopicve}{Let}{\fontencoding{LET}\selectfont\textethiopicve}
+\DeclareTextSymbol{\textethiopicvo}{LET}{110}
+\DeclareTextCommand{\textethiopicvo}{Let}{\fontencoding{LET}\selectfont\textethiopicvo}
+\DeclareTextSymbol{\textethiopicvwa}{LET}{111}
+\DeclareTextCommand{\textethiopicvwa}{Let}{\fontencoding{LET}\selectfont\textethiopicvwa}
+\DeclareTextSymbol{\textethiopicta}{LET}{112}
+\DeclareTextCommand{\textethiopicta}{Let}{\fontencoding{LET}\selectfont\textethiopicta}
+\DeclareTextSymbol{\textethiopictu}{LET}{113}
+\DeclareTextCommand{\textethiopictu}{Let}{\fontencoding{LET}\selectfont\textethiopictu}
+\DeclareTextSymbol{\textethiopicti}{LET}{114}
+\DeclareTextCommand{\textethiopicti}{Let}{\fontencoding{LET}\selectfont\textethiopicti}
+\DeclareTextSymbol{\textethiopictaa}{LET}{115}
+\DeclareTextCommand{\textethiopictaa}{Let}{\fontencoding{LET}\selectfont\textethiopictaa}
+\DeclareTextSymbol{\textethiopictee}{LET}{116}
+\DeclareTextCommand{\textethiopictee}{Let}{\fontencoding{LET}\selectfont\textethiopictee}
+\DeclareTextSymbol{\textethiopicte}{LET}{117}
+\DeclareTextCommand{\textethiopicte}{Let}{\fontencoding{LET}\selectfont\textethiopicte}
+\DeclareTextSymbol{\textethiopicto}{LET}{118}
+\DeclareTextCommand{\textethiopicto}{Let}{\fontencoding{LET}\selectfont\textethiopicto}
+\DeclareTextSymbol{\textethiopictwa}{LET}{119}
+\DeclareTextCommand{\textethiopictwa}{Let}{\fontencoding{LET}\selectfont\textethiopictwa}
+\DeclareTextSymbol{\textethiopicca}{LET}{120}
+\DeclareTextCommand{\textethiopicca}{Let}{\fontencoding{LET}\selectfont\textethiopicca}
+\DeclareTextSymbol{\textethiopiccu}{LET}{121}
+\DeclareTextCommand{\textethiopiccu}{Let}{\fontencoding{LET}\selectfont\textethiopiccu}
+\DeclareTextSymbol{\textethiopicci}{LET}{122}
+\DeclareTextCommand{\textethiopicci}{Let}{\fontencoding{LET}\selectfont\textethiopicci}
+\DeclareTextSymbol{\textethiopiccaa}{LET}{123}
+\DeclareTextCommand{\textethiopiccaa}{Let}{\fontencoding{LET}\selectfont\textethiopiccaa}
+\DeclareTextSymbol{\textethiopiccee}{LET}{124}
+\DeclareTextCommand{\textethiopiccee}{Let}{\fontencoding{LET}\selectfont\textethiopiccee}
+\DeclareTextSymbol{\textethiopicce}{LET}{125}
+\DeclareTextCommand{\textethiopicce}{Let}{\fontencoding{LET}\selectfont\textethiopicce}
+\DeclareTextSymbol{\textethiopicco}{LET}{126}
+\DeclareTextCommand{\textethiopicco}{Let}{\fontencoding{LET}\selectfont\textethiopicco}
+\DeclareTextSymbol{\textethiopiccwa}{LET}{127}
+\DeclareTextCommand{\textethiopiccwa}{Let}{\fontencoding{LET}\selectfont\textethiopiccwa}
+\DeclareTextSymbol{\textethiopicxa}{LET}{128}
+\DeclareTextCommand{\textethiopicxa}{Let}{\fontencoding{LET}\selectfont\textethiopicxa}
+\DeclareTextSymbol{\textethiopicxu}{LET}{129}
+\DeclareTextCommand{\textethiopicxu}{Let}{\fontencoding{LET}\selectfont\textethiopicxu}
+\DeclareTextSymbol{\textethiopicxi}{LET}{130}
+\DeclareTextCommand{\textethiopicxi}{Let}{\fontencoding{LET}\selectfont\textethiopicxi}
+\DeclareTextSymbol{\textethiopicxaa}{LET}{131}
+\DeclareTextCommand{\textethiopicxaa}{Let}{\fontencoding{LET}\selectfont\textethiopicxaa}
+\DeclareTextSymbol{\textethiopicxee}{LET}{132}
+\DeclareTextCommand{\textethiopicxee}{Let}{\fontencoding{LET}\selectfont\textethiopicxee}
+\DeclareTextSymbol{\textethiopicxe}{LET}{133}
+\DeclareTextCommand{\textethiopicxe}{Let}{\fontencoding{LET}\selectfont\textethiopicxe}
+\DeclareTextSymbol{\textethiopicxo}{LET}{134}
+\DeclareTextCommand{\textethiopicxo}{Let}{\fontencoding{LET}\selectfont\textethiopicxo}
+\DeclareTextSymbol{\textethiopicxwa}{LET}{136}
+\DeclareTextCommand{\textethiopicxwa}{Let}{\fontencoding{LET}\selectfont\textethiopicxwa}
+\DeclareTextSymbol{\textethiopicxwi}{LET}{138}
+\DeclareTextCommand{\textethiopicxwi}{Let}{\fontencoding{LET}\selectfont\textethiopicxwi}
+\DeclareTextSymbol{\textethiopicxwaa}{LET}{139}
+\DeclareTextCommand{\textethiopicxwaa}{Let}{\fontencoding{LET}\selectfont\textethiopicxwaa}
+\DeclareTextSymbol{\textethiopicxwee}{LET}{140}
+\DeclareTextCommand{\textethiopicxwee}{Let}{\fontencoding{LET}\selectfont\textethiopicxwee}
+\DeclareTextSymbol{\textethiopicxwe}{LET}{141}
+\DeclareTextCommand{\textethiopicxwe}{Let}{\fontencoding{LET}\selectfont\textethiopicxwe}
+\DeclareTextSymbol{\textethiopicna}{LET}{144}
+\DeclareTextCommand{\textethiopicna}{Let}{\fontencoding{LET}\selectfont\textethiopicna}
+\DeclareTextSymbol{\textethiopicnu}{LET}{145}
+\DeclareTextCommand{\textethiopicnu}{Let}{\fontencoding{LET}\selectfont\textethiopicnu}
+\DeclareTextSymbol{\textethiopicni}{LET}{146}
+\DeclareTextCommand{\textethiopicni}{Let}{\fontencoding{LET}\selectfont\textethiopicni}
+\DeclareTextSymbol{\textethiopicnaa}{LET}{147}
+\DeclareTextCommand{\textethiopicnaa}{Let}{\fontencoding{LET}\selectfont\textethiopicnaa}
+\DeclareTextSymbol{\textethiopicnee}{LET}{148}
+\DeclareTextCommand{\textethiopicnee}{Let}{\fontencoding{LET}\selectfont\textethiopicnee}
+\DeclareTextSymbol{\textethiopicne}{LET}{149}
+\DeclareTextCommand{\textethiopicne}{Let}{\fontencoding{LET}\selectfont\textethiopicne}
+\DeclareTextSymbol{\textethiopicno}{LET}{150}
+\DeclareTextCommand{\textethiopicno}{Let}{\fontencoding{LET}\selectfont\textethiopicno}
+\DeclareTextSymbol{\textethiopicnwa}{LET}{151}
+\DeclareTextCommand{\textethiopicnwa}{Let}{\fontencoding{LET}\selectfont\textethiopicnwa}
+\DeclareTextSymbol{\textethiopicnya}{LET}{152}
+\DeclareTextCommand{\textethiopicnya}{Let}{\fontencoding{LET}\selectfont\textethiopicnya}
+\DeclareTextSymbol{\textethiopicnyu}{LET}{153}
+\DeclareTextCommand{\textethiopicnyu}{Let}{\fontencoding{LET}\selectfont\textethiopicnyu}
+\DeclareTextSymbol{\textethiopicnyi}{LET}{154}
+\DeclareTextCommand{\textethiopicnyi}{Let}{\fontencoding{LET}\selectfont\textethiopicnyi}
+\DeclareTextSymbol{\textethiopicnyaa}{LET}{155}
+\DeclareTextCommand{\textethiopicnyaa}{Let}{\fontencoding{LET}\selectfont\textethiopicnyaa}
+\DeclareTextSymbol{\textethiopicnyee}{LET}{156}
+\DeclareTextCommand{\textethiopicnyee}{Let}{\fontencoding{LET}\selectfont\textethiopicnyee}
+\DeclareTextSymbol{\textethiopicnye}{LET}{157}
+\DeclareTextCommand{\textethiopicnye}{Let}{\fontencoding{LET}\selectfont\textethiopicnye}
+\DeclareTextSymbol{\textethiopicnyo}{LET}{158}
+\DeclareTextCommand{\textethiopicnyo}{Let}{\fontencoding{LET}\selectfont\textethiopicnyo}
+\DeclareTextSymbol{\textethiopicnywa}{LET}{159}
+\DeclareTextCommand{\textethiopicnywa}{Let}{\fontencoding{LET}\selectfont\textethiopicnywa}
+\DeclareTextSymbol{\textethiopicglottala}{LET}{160}
+\DeclareTextCommand{\textethiopicglottala}{Let}{\fontencoding{LET}\selectfont\textethiopicglottala}
+\DeclareTextSymbol{\textethiopicglottalu}{LET}{161}
+\DeclareTextCommand{\textethiopicglottalu}{Let}{\fontencoding{LET}\selectfont\textethiopicglottalu}
+\DeclareTextSymbol{\textethiopicglottali}{LET}{162}
+\DeclareTextCommand{\textethiopicglottali}{Let}{\fontencoding{LET}\selectfont\textethiopicglottali}
+\DeclareTextSymbol{\textethiopicglottalaa}{LET}{163}
+\DeclareTextCommand{\textethiopicglottalaa}{Let}{\fontencoding{LET}\selectfont\textethiopicglottalaa}
+\DeclareTextSymbol{\textethiopicglottalee}{LET}{164}
+\DeclareTextCommand{\textethiopicglottalee}{Let}{\fontencoding{LET}\selectfont\textethiopicglottalee}
+\DeclareTextSymbol{\textethiopicglottale}{LET}{165}
+\DeclareTextCommand{\textethiopicglottale}{Let}{\fontencoding{LET}\selectfont\textethiopicglottale}
+\DeclareTextSymbol{\textethiopicglottalo}{LET}{166}
+\DeclareTextCommand{\textethiopicglottalo}{Let}{\fontencoding{LET}\selectfont\textethiopicglottalo}
+\DeclareTextSymbol{\textethiopicglottalwa}{LET}{167}
+\DeclareTextCommand{\textethiopicglottalwa}{Let}{\fontencoding{LET}\selectfont\textethiopicglottalwa}
+\DeclareTextSymbol{\textethiopicka}{LET}{168}
+\DeclareTextCommand{\textethiopicka}{Let}{\fontencoding{LET}\selectfont\textethiopicka}
+\DeclareTextSymbol{\textethiopicku}{LET}{169}
+\DeclareTextCommand{\textethiopicku}{Let}{\fontencoding{LET}\selectfont\textethiopicku}
+\DeclareTextSymbol{\textethiopicki}{LET}{170}
+\DeclareTextCommand{\textethiopicki}{Let}{\fontencoding{LET}\selectfont\textethiopicki}
+\DeclareTextSymbol{\textethiopickaa}{LET}{171}
+\DeclareTextCommand{\textethiopickaa}{Let}{\fontencoding{LET}\selectfont\textethiopickaa}
+\DeclareTextSymbol{\textethiopickee}{LET}{172}
+\DeclareTextCommand{\textethiopickee}{Let}{\fontencoding{LET}\selectfont\textethiopickee}
+\DeclareTextSymbol{\textethiopicke}{LET}{173}
+\DeclareTextCommand{\textethiopicke}{Let}{\fontencoding{LET}\selectfont\textethiopicke}
+\DeclareTextSymbol{\textethiopicko}{LET}{174}
+\DeclareTextCommand{\textethiopicko}{Let}{\fontencoding{LET}\selectfont\textethiopicko}
+\DeclareTextSymbol{\textethiopickwa}{LET}{176}
+\DeclareTextCommand{\textethiopickwa}{Let}{\fontencoding{LET}\selectfont\textethiopickwa}
+\DeclareTextSymbol{\textethiopickwi}{LET}{178}
+\DeclareTextCommand{\textethiopickwi}{Let}{\fontencoding{LET}\selectfont\textethiopickwi}
+\DeclareTextSymbol{\textethiopickwaa}{LET}{179}
+\DeclareTextCommand{\textethiopickwaa}{Let}{\fontencoding{LET}\selectfont\textethiopickwaa}
+\DeclareTextSymbol{\textethiopickwee}{LET}{180}
+\DeclareTextCommand{\textethiopickwee}{Let}{\fontencoding{LET}\selectfont\textethiopickwee}
+\DeclareTextSymbol{\textethiopickwe}{LET}{181}
+\DeclareTextCommand{\textethiopickwe}{Let}{\fontencoding{LET}\selectfont\textethiopickwe}
+\DeclareTextSymbol{\textethiopickxa}{LET}{184}
+\DeclareTextCommand{\textethiopickxa}{Let}{\fontencoding{LET}\selectfont\textethiopickxa}
+\DeclareTextSymbol{\textethiopickxu}{LET}{185}
+\DeclareTextCommand{\textethiopickxu}{Let}{\fontencoding{LET}\selectfont\textethiopickxu}
+\DeclareTextSymbol{\textethiopickxi}{LET}{186}
+\DeclareTextCommand{\textethiopickxi}{Let}{\fontencoding{LET}\selectfont\textethiopickxi}
+\DeclareTextSymbol{\textethiopickxaa}{LET}{187}
+\DeclareTextCommand{\textethiopickxaa}{Let}{\fontencoding{LET}\selectfont\textethiopickxaa}
+\DeclareTextSymbol{\textethiopickxee}{LET}{188}
+\DeclareTextCommand{\textethiopickxee}{Let}{\fontencoding{LET}\selectfont\textethiopickxee}
+\DeclareTextSymbol{\textethiopickxe}{LET}{189}
+\DeclareTextCommand{\textethiopickxe}{Let}{\fontencoding{LET}\selectfont\textethiopickxe}
+\DeclareTextSymbol{\textethiopickxo}{LET}{190}
+\DeclareTextCommand{\textethiopickxo}{Let}{\fontencoding{LET}\selectfont\textethiopickxo}
+\DeclareTextSymbol{\textethiopickxwa}{LET}{192}
+\DeclareTextCommand{\textethiopickxwa}{Let}{\fontencoding{LET}\selectfont\textethiopickxwa}
+\DeclareTextSymbol{\textethiopickxwi}{LET}{194}
+\DeclareTextCommand{\textethiopickxwi}{Let}{\fontencoding{LET}\selectfont\textethiopickxwi}
+\DeclareTextSymbol{\textethiopickxwaa}{LET}{195}
+\DeclareTextCommand{\textethiopickxwaa}{Let}{\fontencoding{LET}\selectfont\textethiopickxwaa}
+\DeclareTextSymbol{\textethiopickxwee}{LET}{196}
+\DeclareTextCommand{\textethiopickxwee}{Let}{\fontencoding{LET}\selectfont\textethiopickxwee}
+\DeclareTextSymbol{\textethiopickxwe}{LET}{197}
+\DeclareTextCommand{\textethiopickxwe}{Let}{\fontencoding{LET}\selectfont\textethiopickxwe}
+\DeclareTextSymbol{\textethiopicwa}{LET}{200}
+\DeclareTextCommand{\textethiopicwa}{Let}{\fontencoding{LET}\selectfont\textethiopicwa}
+\DeclareTextSymbol{\textethiopicwu}{LET}{201}
+\DeclareTextCommand{\textethiopicwu}{Let}{\fontencoding{LET}\selectfont\textethiopicwu}
+\DeclareTextSymbol{\textethiopicwi}{LET}{202}
+\DeclareTextCommand{\textethiopicwi}{Let}{\fontencoding{LET}\selectfont\textethiopicwi}
+\DeclareTextSymbol{\textethiopicwaa}{LET}{203}
+\DeclareTextCommand{\textethiopicwaa}{Let}{\fontencoding{LET}\selectfont\textethiopicwaa}
+\DeclareTextSymbol{\textethiopicwee}{LET}{204}
+\DeclareTextCommand{\textethiopicwee}{Let}{\fontencoding{LET}\selectfont\textethiopicwee}
+\DeclareTextSymbol{\textethiopicwe}{LET}{205}
+\DeclareTextCommand{\textethiopicwe}{Let}{\fontencoding{LET}\selectfont\textethiopicwe}
+\DeclareTextSymbol{\textethiopicwo}{LET}{206}
+\DeclareTextCommand{\textethiopicwo}{Let}{\fontencoding{LET}\selectfont\textethiopicwo}
+\DeclareTextSymbol{\textethiopicpharyngeala}{LET}{208}
+\DeclareTextCommand{\textethiopicpharyngeala}{Let}{\fontencoding{LET}\selectfont\textethiopicpharyngeala}
+\DeclareTextSymbol{\textethiopicpharyngealu}{LET}{209}
+\DeclareTextCommand{\textethiopicpharyngealu}{Let}{\fontencoding{LET}\selectfont\textethiopicpharyngealu}
+\DeclareTextSymbol{\textethiopicpharyngeali}{LET}{210}
+\DeclareTextCommand{\textethiopicpharyngeali}{Let}{\fontencoding{LET}\selectfont\textethiopicpharyngeali}
+\DeclareTextSymbol{\textethiopicpharyngealaa}{LET}{211}
+\DeclareTextCommand{\textethiopicpharyngealaa}{Let}{\fontencoding{LET}\selectfont\textethiopicpharyngealaa}
+\DeclareTextSymbol{\textethiopicpharyngealee}{LET}{212}
+\DeclareTextCommand{\textethiopicpharyngealee}{Let}{\fontencoding{LET}\selectfont\textethiopicpharyngealee}
+\DeclareTextSymbol{\textethiopicpharyngeale}{LET}{213}
+\DeclareTextCommand{\textethiopicpharyngeale}{Let}{\fontencoding{LET}\selectfont\textethiopicpharyngeale}
+\DeclareTextSymbol{\textethiopicpharyngealo}{LET}{214}
+\DeclareTextCommand{\textethiopicpharyngealo}{Let}{\fontencoding{LET}\selectfont\textethiopicpharyngealo}
+\DeclareTextSymbol{\textethiopicza}{LET}{216}
+\DeclareTextCommand{\textethiopicza}{Let}{\fontencoding{LET}\selectfont\textethiopicza}
+\DeclareTextSymbol{\textethiopiczu}{LET}{217}
+\DeclareTextCommand{\textethiopiczu}{Let}{\fontencoding{LET}\selectfont\textethiopiczu}
+\DeclareTextSymbol{\textethiopiczi}{LET}{218}
+\DeclareTextCommand{\textethiopiczi}{Let}{\fontencoding{LET}\selectfont\textethiopiczi}
+\DeclareTextSymbol{\textethiopiczaa}{LET}{219}
+\DeclareTextCommand{\textethiopiczaa}{Let}{\fontencoding{LET}\selectfont\textethiopiczaa}
+\DeclareTextSymbol{\textethiopiczee}{LET}{220}
+\DeclareTextCommand{\textethiopiczee}{Let}{\fontencoding{LET}\selectfont\textethiopiczee}
+\DeclareTextSymbol{\textethiopicze}{LET}{221}
+\DeclareTextCommand{\textethiopicze}{Let}{\fontencoding{LET}\selectfont\textethiopicze}
+\DeclareTextSymbol{\textethiopiczo}{LET}{222}
+\DeclareTextCommand{\textethiopiczo}{Let}{\fontencoding{LET}\selectfont\textethiopiczo}
+\DeclareTextSymbol{\textethiopiczwa}{LET}{223}
+\DeclareTextCommand{\textethiopiczwa}{Let}{\fontencoding{LET}\selectfont\textethiopiczwa}
+\DeclareTextSymbol{\textethiopiczha}{LET}{224}
+\DeclareTextCommand{\textethiopiczha}{Let}{\fontencoding{LET}\selectfont\textethiopiczha}
+\DeclareTextSymbol{\textethiopiczhu}{LET}{225}
+\DeclareTextCommand{\textethiopiczhu}{Let}{\fontencoding{LET}\selectfont\textethiopiczhu}
+\DeclareTextSymbol{\textethiopiczhi}{LET}{226}
+\DeclareTextCommand{\textethiopiczhi}{Let}{\fontencoding{LET}\selectfont\textethiopiczhi}
+\DeclareTextSymbol{\textethiopiczhaa}{LET}{227}
+\DeclareTextCommand{\textethiopiczhaa}{Let}{\fontencoding{LET}\selectfont\textethiopiczhaa}
+\DeclareTextSymbol{\textethiopiczhee}{LET}{228}
+\DeclareTextCommand{\textethiopiczhee}{Let}{\fontencoding{LET}\selectfont\textethiopiczhee}
+\DeclareTextSymbol{\textethiopiczhe}{LET}{229}
+\DeclareTextCommand{\textethiopiczhe}{Let}{\fontencoding{LET}\selectfont\textethiopiczhe}
+\DeclareTextSymbol{\textethiopiczho}{LET}{230}
+\DeclareTextCommand{\textethiopiczho}{Let}{\fontencoding{LET}\selectfont\textethiopiczho}
+\DeclareTextSymbol{\textethiopiczhwa}{LET}{231}
+\DeclareTextCommand{\textethiopiczhwa}{Let}{\fontencoding{LET}\selectfont\textethiopiczhwa}
+\DeclareTextSymbol{\textethiopicya}{LET}{232}
+\DeclareTextCommand{\textethiopicya}{Let}{\fontencoding{LET}\selectfont\textethiopicya}
+\DeclareTextSymbol{\textethiopicyu}{LET}{233}
+\DeclareTextCommand{\textethiopicyu}{Let}{\fontencoding{LET}\selectfont\textethiopicyu}
+\DeclareTextSymbol{\textethiopicyi}{LET}{234}
+\DeclareTextCommand{\textethiopicyi}{Let}{\fontencoding{LET}\selectfont\textethiopicyi}
+\DeclareTextSymbol{\textethiopicyaa}{LET}{235}
+\DeclareTextCommand{\textethiopicyaa}{Let}{\fontencoding{LET}\selectfont\textethiopicyaa}
+\DeclareTextSymbol{\textethiopicyee}{LET}{236}
+\DeclareTextCommand{\textethiopicyee}{Let}{\fontencoding{LET}\selectfont\textethiopicyee}
+\DeclareTextSymbol{\textethiopicye}{LET}{237}
+\DeclareTextCommand{\textethiopicye}{Let}{\fontencoding{LET}\selectfont\textethiopicye}
+\DeclareTextSymbol{\textethiopicyo}{LET}{238}
+\DeclareTextCommand{\textethiopicyo}{Let}{\fontencoding{LET}\selectfont\textethiopicyo}
+\DeclareTextSymbol{\textethiopicda}{LET}{240}
+\DeclareTextCommand{\textethiopicda}{Let}{\fontencoding{LET}\selectfont\textethiopicda}
+\DeclareTextSymbol{\textethiopicdu}{LET}{241}
+\DeclareTextCommand{\textethiopicdu}{Let}{\fontencoding{LET}\selectfont\textethiopicdu}
+\DeclareTextSymbol{\textethiopicdi}{LET}{242}
+\DeclareTextCommand{\textethiopicdi}{Let}{\fontencoding{LET}\selectfont\textethiopicdi}
+\DeclareTextSymbol{\textethiopicdaa}{LET}{243}
+\DeclareTextCommand{\textethiopicdaa}{Let}{\fontencoding{LET}\selectfont\textethiopicdaa}
+\DeclareTextSymbol{\textethiopicdee}{LET}{244}
+\DeclareTextCommand{\textethiopicdee}{Let}{\fontencoding{LET}\selectfont\textethiopicdee}
+\DeclareTextSymbol{\textethiopicde}{LET}{245}
+\DeclareTextCommand{\textethiopicde}{Let}{\fontencoding{LET}\selectfont\textethiopicde}
+\DeclareTextSymbol{\textethiopicdo}{LET}{246}
+\DeclareTextCommand{\textethiopicdo}{Let}{\fontencoding{LET}\selectfont\textethiopicdo}
+\DeclareTextSymbol{\textethiopicdwa}{LET}{247}
+\DeclareTextCommand{\textethiopicdwa}{Let}{\fontencoding{LET}\selectfont\textethiopicdwa}
+\DeclareTextSymbol{\textethiopicdda}{LET}{248}
+\DeclareTextCommand{\textethiopicdda}{Let}{\fontencoding{LET}\selectfont\textethiopicdda}
+\DeclareTextSymbol{\textethiopicddu}{LET}{249}
+\DeclareTextCommand{\textethiopicddu}{Let}{\fontencoding{LET}\selectfont\textethiopicddu}
+\DeclareTextSymbol{\textethiopicddi}{LET}{250}
+\DeclareTextCommand{\textethiopicddi}{Let}{\fontencoding{LET}\selectfont\textethiopicddi}
+\DeclareTextSymbol{\textethiopicddaa}{LET}{251}
+\DeclareTextCommand{\textethiopicddaa}{Let}{\fontencoding{LET}\selectfont\textethiopicddaa}
+\DeclareTextSymbol{\textethiopicddee}{LET}{252}
+\DeclareTextCommand{\textethiopicddee}{Let}{\fontencoding{LET}\selectfont\textethiopicddee}
+\DeclareTextSymbol{\textethiopicdde}{LET}{253}
+\DeclareTextCommand{\textethiopicdde}{Let}{\fontencoding{LET}\selectfont\textethiopicdde}
+\DeclareTextSymbol{\textethiopicddo}{LET}{254}
+\DeclareTextCommand{\textethiopicddo}{Let}{\fontencoding{LET}\selectfont\textethiopicddo}
+\DeclareTextSymbol{\textethiopicddwa}{LET}{255}
+\DeclareTextCommand{\textethiopicddwa}{Let}{\fontencoding{LET}\selectfont\textethiopicddwa}
+\DeclareTextSymbol{\textethiopicja}{Let}{0}
+\DeclareTextCommand{\textethiopicja}{LET}{\fontencoding{Let}\selectfont\textethiopicja}
+\DeclareTextSymbol{\textethiopicju}{Let}{1}
+\DeclareTextCommand{\textethiopicju}{LET}{\fontencoding{Let}\selectfont\textethiopicju}
+\DeclareTextSymbol{\textethiopicji}{Let}{2}
+\DeclareTextCommand{\textethiopicji}{LET}{\fontencoding{Let}\selectfont\textethiopicji}
+\DeclareTextSymbol{\textethiopicjaa}{Let}{3}
+\DeclareTextCommand{\textethiopicjaa}{LET}{\fontencoding{Let}\selectfont\textethiopicjaa}
+\DeclareTextSymbol{\textethiopicjee}{Let}{4}
+\DeclareTextCommand{\textethiopicjee}{LET}{\fontencoding{Let}\selectfont\textethiopicjee}
+\DeclareTextSymbol{\textethiopicje}{Let}{5}
+\DeclareTextCommand{\textethiopicje}{LET}{\fontencoding{Let}\selectfont\textethiopicje}
+\DeclareTextSymbol{\textethiopicjo}{Let}{6}
+\DeclareTextCommand{\textethiopicjo}{LET}{\fontencoding{Let}\selectfont\textethiopicjo}
+\DeclareTextSymbol{\textethiopicjwa}{Let}{7}
+\DeclareTextCommand{\textethiopicjwa}{LET}{\fontencoding{Let}\selectfont\textethiopicjwa}
+\DeclareTextSymbol{\textethiopicga}{Let}{8}
+\DeclareTextCommand{\textethiopicga}{LET}{\fontencoding{Let}\selectfont\textethiopicga}
+\DeclareTextSymbol{\textethiopicgu}{Let}{9}
+\DeclareTextCommand{\textethiopicgu}{LET}{\fontencoding{Let}\selectfont\textethiopicgu}
+\DeclareTextSymbol{\textethiopicgi}{Let}{10}
+\DeclareTextCommand{\textethiopicgi}{LET}{\fontencoding{Let}\selectfont\textethiopicgi}
+\DeclareTextSymbol{\textethiopicgaa}{Let}{11}
+\DeclareTextCommand{\textethiopicgaa}{LET}{\fontencoding{Let}\selectfont\textethiopicgaa}
+\DeclareTextSymbol{\textethiopicgee}{Let}{12}
+\DeclareTextCommand{\textethiopicgee}{LET}{\fontencoding{Let}\selectfont\textethiopicgee}
+\DeclareTextSymbol{\textethiopicge}{Let}{13}
+\DeclareTextCommand{\textethiopicge}{LET}{\fontencoding{Let}\selectfont\textethiopicge}
+\DeclareTextSymbol{\textethiopicgo}{Let}{14}
+\DeclareTextCommand{\textethiopicgo}{LET}{\fontencoding{Let}\selectfont\textethiopicgo}
+\DeclareTextSymbol{\textethiopicgwa}{Let}{16}
+\DeclareTextCommand{\textethiopicgwa}{LET}{\fontencoding{Let}\selectfont\textethiopicgwa}
+\DeclareTextSymbol{\textethiopicgwi}{Let}{18}
+\DeclareTextCommand{\textethiopicgwi}{LET}{\fontencoding{Let}\selectfont\textethiopicgwi}
+\DeclareTextSymbol{\textethiopicgwaa}{Let}{19}
+\DeclareTextCommand{\textethiopicgwaa}{LET}{\fontencoding{Let}\selectfont\textethiopicgwaa}
+\DeclareTextSymbol{\textethiopicgwee}{Let}{20}
+\DeclareTextCommand{\textethiopicgwee}{LET}{\fontencoding{Let}\selectfont\textethiopicgwee}
+\DeclareTextSymbol{\textethiopicgwe}{Let}{21}
+\DeclareTextCommand{\textethiopicgwe}{LET}{\fontencoding{Let}\selectfont\textethiopicgwe}
+\DeclareTextSymbol{\textethiopicgga}{Let}{24}
+\DeclareTextCommand{\textethiopicgga}{LET}{\fontencoding{Let}\selectfont\textethiopicgga}
+\DeclareTextSymbol{\textethiopicggu}{Let}{25}
+\DeclareTextCommand{\textethiopicggu}{LET}{\fontencoding{Let}\selectfont\textethiopicggu}
+\DeclareTextSymbol{\textethiopicggi}{Let}{26}
+\DeclareTextCommand{\textethiopicggi}{LET}{\fontencoding{Let}\selectfont\textethiopicggi}
+\DeclareTextSymbol{\textethiopicggaa}{Let}{27}
+\DeclareTextCommand{\textethiopicggaa}{LET}{\fontencoding{Let}\selectfont\textethiopicggaa}
+\DeclareTextSymbol{\textethiopicggee}{Let}{28}
+\DeclareTextCommand{\textethiopicggee}{LET}{\fontencoding{Let}\selectfont\textethiopicggee}
+\DeclareTextSymbol{\textethiopicgge}{Let}{29}
+\DeclareTextCommand{\textethiopicgge}{LET}{\fontencoding{Let}\selectfont\textethiopicgge}
+\DeclareTextSymbol{\textethiopicggo}{Let}{30}
+\DeclareTextCommand{\textethiopicggo}{LET}{\fontencoding{Let}\selectfont\textethiopicggo}
+\DeclareTextSymbol{\textethiopictha}{Let}{32}
+\DeclareTextCommand{\textethiopictha}{LET}{\fontencoding{Let}\selectfont\textethiopictha}
+\DeclareTextSymbol{\textethiopicthu}{Let}{33}
+\DeclareTextCommand{\textethiopicthu}{LET}{\fontencoding{Let}\selectfont\textethiopicthu}
+\DeclareTextSymbol{\textethiopicthi}{Let}{34}
+\DeclareTextCommand{\textethiopicthi}{LET}{\fontencoding{Let}\selectfont\textethiopicthi}
+\DeclareTextSymbol{\textethiopicthaa}{Let}{35}
+\DeclareTextCommand{\textethiopicthaa}{LET}{\fontencoding{Let}\selectfont\textethiopicthaa}
+\DeclareTextSymbol{\textethiopicthee}{Let}{36}
+\DeclareTextCommand{\textethiopicthee}{LET}{\fontencoding{Let}\selectfont\textethiopicthee}
+\DeclareTextSymbol{\textethiopicthe}{Let}{37}
+\DeclareTextCommand{\textethiopicthe}{LET}{\fontencoding{Let}\selectfont\textethiopicthe}
+\DeclareTextSymbol{\textethiopictho}{Let}{38}
+\DeclareTextCommand{\textethiopictho}{LET}{\fontencoding{Let}\selectfont\textethiopictho}
+\DeclareTextSymbol{\textethiopicthwa}{Let}{39}
+\DeclareTextCommand{\textethiopicthwa}{LET}{\fontencoding{Let}\selectfont\textethiopicthwa}
+\DeclareTextSymbol{\textethiopiccha}{Let}{40}
+\DeclareTextCommand{\textethiopiccha}{LET}{\fontencoding{Let}\selectfont\textethiopiccha}
+\DeclareTextSymbol{\textethiopicchu}{Let}{41}
+\DeclareTextCommand{\textethiopicchu}{LET}{\fontencoding{Let}\selectfont\textethiopicchu}
+\DeclareTextSymbol{\textethiopicchi}{Let}{42}
+\DeclareTextCommand{\textethiopicchi}{LET}{\fontencoding{Let}\selectfont\textethiopicchi}
+\DeclareTextSymbol{\textethiopicchaa}{Let}{43}
+\DeclareTextCommand{\textethiopicchaa}{LET}{\fontencoding{Let}\selectfont\textethiopicchaa}
+\DeclareTextSymbol{\textethiopicchee}{Let}{44}
+\DeclareTextCommand{\textethiopicchee}{LET}{\fontencoding{Let}\selectfont\textethiopicchee}
+\DeclareTextSymbol{\textethiopicche}{Let}{45}
+\DeclareTextCommand{\textethiopicche}{LET}{\fontencoding{Let}\selectfont\textethiopicche}
+\DeclareTextSymbol{\textethiopiccho}{Let}{46}
+\DeclareTextCommand{\textethiopiccho}{LET}{\fontencoding{Let}\selectfont\textethiopiccho}
+\DeclareTextSymbol{\textethiopicchwa}{Let}{47}
+\DeclareTextCommand{\textethiopicchwa}{LET}{\fontencoding{Let}\selectfont\textethiopicchwa}
+\DeclareTextSymbol{\textethiopicpha}{Let}{48}
+\DeclareTextCommand{\textethiopicpha}{LET}{\fontencoding{Let}\selectfont\textethiopicpha}
+\DeclareTextSymbol{\textethiopicphu}{Let}{49}
+\DeclareTextCommand{\textethiopicphu}{LET}{\fontencoding{Let}\selectfont\textethiopicphu}
+\DeclareTextSymbol{\textethiopicphi}{Let}{50}
+\DeclareTextCommand{\textethiopicphi}{LET}{\fontencoding{Let}\selectfont\textethiopicphi}
+\DeclareTextSymbol{\textethiopicphaa}{Let}{51}
+\DeclareTextCommand{\textethiopicphaa}{LET}{\fontencoding{Let}\selectfont\textethiopicphaa}
+\DeclareTextSymbol{\textethiopicphee}{Let}{52}
+\DeclareTextCommand{\textethiopicphee}{LET}{\fontencoding{Let}\selectfont\textethiopicphee}
+\DeclareTextSymbol{\textethiopicphe}{Let}{53}
+\DeclareTextCommand{\textethiopicphe}{LET}{\fontencoding{Let}\selectfont\textethiopicphe}
+\DeclareTextSymbol{\textethiopicpho}{Let}{54}
+\DeclareTextCommand{\textethiopicpho}{LET}{\fontencoding{Let}\selectfont\textethiopicpho}
+\DeclareTextSymbol{\textethiopicphwa}{Let}{55}
+\DeclareTextCommand{\textethiopicphwa}{LET}{\fontencoding{Let}\selectfont\textethiopicphwa}
+\DeclareTextSymbol{\textethiopictsa}{Let}{56}
+\DeclareTextCommand{\textethiopictsa}{LET}{\fontencoding{Let}\selectfont\textethiopictsa}
+\DeclareTextSymbol{\textethiopictsu}{Let}{57}
+\DeclareTextCommand{\textethiopictsu}{LET}{\fontencoding{Let}\selectfont\textethiopictsu}
+\DeclareTextSymbol{\textethiopictsi}{Let}{58}
+\DeclareTextCommand{\textethiopictsi}{LET}{\fontencoding{Let}\selectfont\textethiopictsi}
+\DeclareTextSymbol{\textethiopictsaa}{Let}{59}
+\DeclareTextCommand{\textethiopictsaa}{LET}{\fontencoding{Let}\selectfont\textethiopictsaa}
+\DeclareTextSymbol{\textethiopictsee}{Let}{60}
+\DeclareTextCommand{\textethiopictsee}{LET}{\fontencoding{Let}\selectfont\textethiopictsee}
+\DeclareTextSymbol{\textethiopictse}{Let}{61}
+\DeclareTextCommand{\textethiopictse}{LET}{\fontencoding{Let}\selectfont\textethiopictse}
+\DeclareTextSymbol{\textethiopictso}{Let}{62}
+\DeclareTextCommand{\textethiopictso}{LET}{\fontencoding{Let}\selectfont\textethiopictso}
+\DeclareTextSymbol{\textethiopictswa}{Let}{63}
+\DeclareTextCommand{\textethiopictswa}{LET}{\fontencoding{Let}\selectfont\textethiopictswa}
+\DeclareTextSymbol{\textethiopictza}{Let}{64}
+\DeclareTextCommand{\textethiopictza}{LET}{\fontencoding{Let}\selectfont\textethiopictza}
+\DeclareTextSymbol{\textethiopictzu}{Let}{65}
+\DeclareTextCommand{\textethiopictzu}{LET}{\fontencoding{Let}\selectfont\textethiopictzu}
+\DeclareTextSymbol{\textethiopictzi}{Let}{66}
+\DeclareTextCommand{\textethiopictzi}{LET}{\fontencoding{Let}\selectfont\textethiopictzi}
+\DeclareTextSymbol{\textethiopictzaa}{Let}{67}
+\DeclareTextCommand{\textethiopictzaa}{LET}{\fontencoding{Let}\selectfont\textethiopictzaa}
+\DeclareTextSymbol{\textethiopictzee}{Let}{68}
+\DeclareTextCommand{\textethiopictzee}{LET}{\fontencoding{Let}\selectfont\textethiopictzee}
+\DeclareTextSymbol{\textethiopictze}{Let}{69}
+\DeclareTextCommand{\textethiopictze}{LET}{\fontencoding{Let}\selectfont\textethiopictze}
+\DeclareTextSymbol{\textethiopictzo}{Let}{70}
+\DeclareTextCommand{\textethiopictzo}{LET}{\fontencoding{Let}\selectfont\textethiopictzo}
+\DeclareTextSymbol{\textethiopicfa}{Let}{72}
+\DeclareTextCommand{\textethiopicfa}{LET}{\fontencoding{Let}\selectfont\textethiopicfa}
+\DeclareTextSymbol{\textethiopicfu}{Let}{73}
+\DeclareTextCommand{\textethiopicfu}{LET}{\fontencoding{Let}\selectfont\textethiopicfu}
+\DeclareTextSymbol{\textethiopicfi}{Let}{74}
+\DeclareTextCommand{\textethiopicfi}{LET}{\fontencoding{Let}\selectfont\textethiopicfi}
+\DeclareTextSymbol{\textethiopicfaa}{Let}{75}
+\DeclareTextCommand{\textethiopicfaa}{LET}{\fontencoding{Let}\selectfont\textethiopicfaa}
+\DeclareTextSymbol{\textethiopicfee}{Let}{76}
+\DeclareTextCommand{\textethiopicfee}{LET}{\fontencoding{Let}\selectfont\textethiopicfee}
+\DeclareTextSymbol{\textethiopicfe}{Let}{77}
+\DeclareTextCommand{\textethiopicfe}{LET}{\fontencoding{Let}\selectfont\textethiopicfe}
+\DeclareTextSymbol{\textethiopicfo}{Let}{78}
+\DeclareTextCommand{\textethiopicfo}{LET}{\fontencoding{Let}\selectfont\textethiopicfo}
+\DeclareTextSymbol{\textethiopicfwa}{Let}{79}
+\DeclareTextCommand{\textethiopicfwa}{LET}{\fontencoding{Let}\selectfont\textethiopicfwa}
+\DeclareTextSymbol{\textethiopicpa}{Let}{80}
+\DeclareTextCommand{\textethiopicpa}{LET}{\fontencoding{Let}\selectfont\textethiopicpa}
+\DeclareTextSymbol{\textethiopicpu}{Let}{81}
+\DeclareTextCommand{\textethiopicpu}{LET}{\fontencoding{Let}\selectfont\textethiopicpu}
+\DeclareTextSymbol{\textethiopicpi}{Let}{82}
+\DeclareTextCommand{\textethiopicpi}{LET}{\fontencoding{Let}\selectfont\textethiopicpi}
+\DeclareTextSymbol{\textethiopicpaa}{Let}{83}
+\DeclareTextCommand{\textethiopicpaa}{LET}{\fontencoding{Let}\selectfont\textethiopicpaa}
+\DeclareTextSymbol{\textethiopicpee}{Let}{84}
+\DeclareTextCommand{\textethiopicpee}{LET}{\fontencoding{Let}\selectfont\textethiopicpee}
+\DeclareTextSymbol{\textethiopicpe}{Let}{85}
+\DeclareTextCommand{\textethiopicpe}{LET}{\fontencoding{Let}\selectfont\textethiopicpe}
+\DeclareTextSymbol{\textethiopicpo}{Let}{86}
+\DeclareTextCommand{\textethiopicpo}{LET}{\fontencoding{Let}\selectfont\textethiopicpo}
+\DeclareTextSymbol{\textethiopicpwa}{Let}{87}
+\DeclareTextCommand{\textethiopicpwa}{LET}{\fontencoding{Let}\selectfont\textethiopicpwa}
+\DeclareTextSymbol{\textethiopicrya}{Let}{88}
+\DeclareTextCommand{\textethiopicrya}{LET}{\fontencoding{Let}\selectfont\textethiopicrya}
+\DeclareTextSymbol{\textethiopicmya}{Let}{89}
+\DeclareTextCommand{\textethiopicmya}{LET}{\fontencoding{Let}\selectfont\textethiopicmya}
+\DeclareTextSymbol{\textethiopicfya}{Let}{90}
+\DeclareTextCommand{\textethiopicfya}{LET}{\fontencoding{Let}\selectfont\textethiopicfya}
+\DeclareTextSymbol{\textethiopicwordspace}{Let}{97}
+\DeclareTextCommand{\textethiopicwordspace}{LET}{\fontencoding{Let}\selectfont\textethiopicwordspace}
+\DeclareTextSymbol{\textethiopicfullstop}{Let}{98}
+\DeclareTextCommand{\textethiopicfullstop}{LET}{\fontencoding{Let}\selectfont\textethiopicfullstop}
+\DeclareTextSymbol{\textethiopiccomma}{Let}{99}
+\DeclareTextCommand{\textethiopiccomma}{LET}{\fontencoding{Let}\selectfont\textethiopiccomma}
+\DeclareTextSymbol{\textethiopicsemicolon}{Let}{100}
+\DeclareTextCommand{\textethiopicsemicolon}{LET}{\fontencoding{Let}\selectfont\textethiopicsemicolon}
+\DeclareTextSymbol{\textethiopiccolon}{Let}{101}
+\DeclareTextCommand{\textethiopiccolon}{LET}{\fontencoding{Let}\selectfont\textethiopiccolon}
+\DeclareTextSymbol{\textethiopicprefacecolon}{Let}{102}
+\DeclareTextCommand{\textethiopicprefacecolon}{LET}{\fontencoding{Let}\selectfont\textethiopicprefacecolon}
+\DeclareTextSymbol{\textethiopicquestionmark}{Let}{103}
+\DeclareTextCommand{\textethiopicquestionmark}{LET}{\fontencoding{Let}\selectfont\textethiopicquestionmark}
+\DeclareTextSymbol{\textethiopicparagraph}{Let}{104}
+\DeclareTextCommand{\textethiopicparagraph}{LET}{\fontencoding{Let}\selectfont\textethiopicparagraph}
+\DeclareTextSymbol{\textethiopicone}{Let}{105}
+\DeclareTextCommand{\textethiopicone}{LET}{\fontencoding{Let}\selectfont\textethiopicone}
+\DeclareTextSymbol{\textethiopictwo}{Let}{106}
+\DeclareTextCommand{\textethiopictwo}{LET}{\fontencoding{Let}\selectfont\textethiopictwo}
+\DeclareTextSymbol{\textethiopicthree}{Let}{107}
+\DeclareTextCommand{\textethiopicthree}{LET}{\fontencoding{Let}\selectfont\textethiopicthree}
+\DeclareTextSymbol{\textethiopicfour}{Let}{108}
+\DeclareTextCommand{\textethiopicfour}{LET}{\fontencoding{Let}\selectfont\textethiopicfour}
+\DeclareTextSymbol{\textethiopicfive}{Let}{109}
+\DeclareTextCommand{\textethiopicfive}{LET}{\fontencoding{Let}\selectfont\textethiopicfive}
+\DeclareTextSymbol{\textethiopicsix}{Let}{110}
+\DeclareTextCommand{\textethiopicsix}{LET}{\fontencoding{Let}\selectfont\textethiopicsix}
+\DeclareTextSymbol{\textethiopicseven}{Let}{111}
+\DeclareTextCommand{\textethiopicseven}{LET}{\fontencoding{Let}\selectfont\textethiopicseven}
+\DeclareTextSymbol{\textethiopiceight}{Let}{112}
+\DeclareTextCommand{\textethiopiceight}{LET}{\fontencoding{Let}\selectfont\textethiopiceight}
+\DeclareTextSymbol{\textethiopicnine}{Let}{113}
+\DeclareTextCommand{\textethiopicnine}{LET}{\fontencoding{Let}\selectfont\textethiopicnine}
+\DeclareTextSymbol{\textethiopicten}{Let}{114}
+\DeclareTextCommand{\textethiopicten}{LET}{\fontencoding{Let}\selectfont\textethiopicten}
+\DeclareTextSymbol{\textethiopictwenty}{Let}{115}
+\DeclareTextCommand{\textethiopictwenty}{LET}{\fontencoding{Let}\selectfont\textethiopictwenty}
+\DeclareTextSymbol{\textethiopicthirty}{Let}{116}
+\DeclareTextCommand{\textethiopicthirty}{LET}{\fontencoding{Let}\selectfont\textethiopicthirty}
+\DeclareTextSymbol{\textethiopicforty}{Let}{117}
+\DeclareTextCommand{\textethiopicforty}{LET}{\fontencoding{Let}\selectfont\textethiopicforty}
+\DeclareTextSymbol{\textethiopicfifty}{Let}{118}
+\DeclareTextCommand{\textethiopicfifty}{LET}{\fontencoding{Let}\selectfont\textethiopicfifty}
+\DeclareTextSymbol{\textethiopicsixty}{Let}{119}
+\DeclareTextCommand{\textethiopicsixty}{LET}{\fontencoding{Let}\selectfont\textethiopicsixty}
+\DeclareTextSymbol{\textethiopicseventy}{Let}{120}
+\DeclareTextCommand{\textethiopicseventy}{LET}{\fontencoding{Let}\selectfont\textethiopicseventy}
+\DeclareTextSymbol{\textethiopiceighty}{Let}{121}
+\DeclareTextCommand{\textethiopiceighty}{LET}{\fontencoding{Let}\selectfont\textethiopiceighty}
+\DeclareTextSymbol{\textethiopicninety}{Let}{122}
+\DeclareTextCommand{\textethiopicninety}{LET}{\fontencoding{Let}\selectfont\textethiopicninety}
+\DeclareTextSymbol{\textethiopichundred}{Let}{123}
+\DeclareTextCommand{\textethiopichundred}{LET}{\fontencoding{Let}\selectfont\textethiopichundred}
+\DeclareTextSymbol{\textethiopictenthousand}{Let}{124}
+\DeclareTextCommand{\textethiopictenthousand}{LET}{\fontencoding{Let}\selectfont\textethiopictenthousand}
+%
+%</letenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{letgfzem.fd}}
+% \begin{macrocode}
+%<*letgfzem.fd>
+\ProvidesFile{letgfzem.fd}[2004/10/17 Autogenerated .fd file for encodings LET, Let, family gfzem]
+\DeclareFontFamily{LET}{gfzem}{}
+\DeclareFontFamily{Let}{gfzem}{}
+\DeclareFontShape{LET}{gfzem}{m}{n}{<-> * gfzemen12}{}
+\DeclareFontShape{Let}{gfzem}{m}{n}{<-> * gfzemen13}{}
+%
+%</letgfzem.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{letjiret.fd}}
+% \begin{macrocode}
+%<*letjiret.fd>
+\ProvidesFile{letjiret.fd}[2004/10/17 Autogenerated .fd file for encodings LET, Let, family jiret]
+\DeclareFontFamily{LET}{jiret}{}
+\DeclareFontFamily{Let}{jiret}{}
+\DeclareFontShape{LET}{jiret}{m}{n}{<-> * jiret12}{}
+\DeclareFontShape{Let}{jiret}{m}{n}{<-> * jiret13}{}
+%
+%</letjiret.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{letc2000.fd}}
+% \begin{macrocode}
+%<*letc2000.fd>
+\ProvidesFile{letc2000.fd}[2004/10/17 Autogenerated .fd file for encodings LET, Let, family c2000]
+\DeclareFontFamily{LET}{c2000}{}
+\DeclareFontFamily{Let}{c2000}{}
+\DeclareFontShape{LET}{c2000}{m}{n}{<-> * code2k12}{}
+\DeclareFontShape{Let}{c2000}{m}{n}{<-> * code2k13}{}
+%
+%</letc2000.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltaenc.def}}
+% \begin{macrocode}
+%<*ltaenc.def>
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesFile{ltaenc.def}[2004/10/17 Autogenerated encoding LTA]
+\DeclareFontEncoding{LTA}{}{}
+\DeclareFontSubstitution{LTA}{arial}{m}{n}
+\DeclareTextSymbol{\guillemotleft}{LTA}{19}
+\DeclareTextSymbol{\guillemotright}{LTA}{20}
+\DeclareTextSymbol{\guilsinglleft}{LTA}{14}
+\DeclareTextSymbol{\guilsinglright}{LTA}{15}
+\DeclareTextSymbol{\i}{LTA}{25}
+\DeclareTextSymbol{\quotedblbase}{LTA}{18}
+\DeclareTextSymbol{\quotesinglbase}{LTA}{13}
+\DeclareTextSymbol{\textasciicircum}{LTA}{`\^}
+\DeclareTextSymbol{\textasciitilde}{LTA}{`\~}
+\DeclareTextSymbol{\textbackslash}{LTA}{`\\}
+\DeclareTextSymbol{\textbar}{LTA}{`\|}
+\DeclareTextSymbol{\textbraceleft}{LTA}{`\{}
+\DeclareTextSymbol{\textbraceright}{LTA}{`\}}
+\DeclareTextSymbol{\textdollar}{LTA}{`\$}
+\DeclareTextSymbol{\textemdash}{LTA}{22}
+\DeclareTextSymbol{\textendash}{LTA}{21}
+\DeclareTextSymbol{\textgreater}{LTA}{`\>}
+\DeclareTextSymbol{\textless}{LTA}{`\<}
+\DeclareTextSymbol{\textquotedblleft}{LTA}{16}
+\DeclareTextSymbol{\textquotedblright}{LTA}{17}
+\DeclareTextSymbol{\textquotedbl}{LTA}{`\"}
+\DeclareTextSymbol{\textquoteleft}{LTA}{`\`}
+\DeclareTextSymbol{\textquoteright}{LTA}{`\'}
+\DeclareTextSymbol{\textunderscore}{LTA}{95}
+\DeclareTextSymbol{\thaiKoKai}{LTA}{129}
+\DeclareTextSymbol{\thaiKhoKhai}{LTA}{130}
+\DeclareTextSymbol{\thaiKhoKhuat}{LTA}{131}
+\DeclareTextSymbol{\thaiKhoKhwai}{LTA}{132}
+\DeclareTextSymbol{\thaiKhoKhon}{LTA}{133}
+\DeclareTextSymbol{\thaiKhoRakhang}{LTA}{134}
+\DeclareTextSymbol{\thaiNgoNgu}{LTA}{135}
+\DeclareTextSymbol{\thaiChoChan}{LTA}{136}
+\DeclareTextSymbol{\thaiChoChing}{LTA}{137}
+\DeclareTextSymbol{\thaiChoChang}{LTA}{138}
+\DeclareTextSymbol{\thaiSoSo}{LTA}{139}
+\DeclareTextSymbol{\thaiChoChoe}{LTA}{140}
+\DeclareTextSymbol{\thaiYoYing}{LTA}{141}
+\DeclareTextSymbol{\thaiDoChada}{LTA}{142}
+\DeclareTextSymbol{\thaiToPatak}{LTA}{143}
+\DeclareTextSymbol{\thaiThoThan}{LTA}{144}
+\DeclareTextSymbol{\thaiThoNangmontho}{LTA}{145}
+\DeclareTextSymbol{\thaiThoPhuthao}{LTA}{146}
+\DeclareTextSymbol{\thaiNoNen}{LTA}{147}
+\DeclareTextSymbol{\thaiDoDek}{LTA}{148}
+\DeclareTextSymbol{\thaiToTao}{LTA}{149}
+\DeclareTextSymbol{\thaiThoThung}{LTA}{150}
+\DeclareTextSymbol{\thaiThoThahan}{LTA}{151}
+\DeclareTextSymbol{\thaiThoThong}{LTA}{152}
+\DeclareTextSymbol{\thaiNoNu}{LTA}{153}
+\DeclareTextSymbol{\thaiBoBaimai}{LTA}{154}
+\DeclareTextSymbol{\thaiPoPla}{LTA}{155}
+\DeclareTextSymbol{\thaiPhoPhung}{LTA}{156}
+\DeclareTextSymbol{\thaiFoFa}{LTA}{157}
+\DeclareTextSymbol{\thaiPhoPhan}{LTA}{158}
+\DeclareTextSymbol{\thaiFoFan}{LTA}{159}
+\DeclareTextSymbol{\thaiPhoSamphao}{LTA}{160}
+\DeclareTextSymbol{\thaiMoMa}{LTA}{161}
+\DeclareTextSymbol{\thaiYoYak}{LTA}{162}
+\DeclareTextSymbol{\thaiRoRua}{LTA}{163}
+\DeclareTextSymbol{\thaiRu}{LTA}{164}
+\DeclareTextSymbol{\thaiLoLing}{LTA}{165}
+\DeclareTextSymbol{\thaiLu}{LTA}{166}
+\DeclareTextSymbol{\thaiWoWaen}{LTA}{167}
+\DeclareTextSymbol{\thaiSoSala}{LTA}{168}
+\DeclareTextSymbol{\thaiSoRusi}{LTA}{169}
+\DeclareTextSymbol{\thaiSoSua}{LTA}{170}
+\DeclareTextSymbol{\thaiHoHip}{LTA}{171}
+\DeclareTextSymbol{\thaiLoChula}{LTA}{172}
+\DeclareTextSymbol{\thaiOAng}{LTA}{173}
+\DeclareTextSymbol{\thaiHoNokhuk}{LTA}{174}
+\DeclareTextSymbol{\thaiPaiyannoi}{LTA}{175}
+\DeclareTextSymbol{\thaiSaraA}{LTA}{176}
+\DeclareTextSymbol{\thaiMaiHanakat}{LTA}{177}
+\DeclareTextSymbol{\thaiSaraAa}{LTA}{178}
+\DeclareTextSymbol{\thaiSaraAm}{LTA}{179}
+\DeclareTextSymbol{\thaiSaraI}{LTA}{180}
+\DeclareTextSymbol{\thaiSaraIi}{LTA}{181}
+\DeclareTextSymbol{\thaiSaraUe}{LTA}{182}
+\DeclareTextSymbol{\thaiSaraUee}{LTA}{183}
+\DeclareTextSymbol{\thaiSaraU}{LTA}{184}
+\DeclareTextSymbol{\thaiSaraUu}{LTA}{185}
+\DeclareTextSymbol{\thaiPhinthu}{LTA}{186}
+\DeclareTextSymbol{\textbaht}{LTA}{191}
+\DeclareTextSymbol{\thaiSaraE}{LTA}{192}
+\DeclareTextSymbol{\thaiSaraAe}{LTA}{193}
+\DeclareTextSymbol{\thaiSaraO}{LTA}{194}
+\DeclareTextSymbol{\thaiSaraAiMaimuan}{LTA}{195}
+\DeclareTextSymbol{\thaiSaraAiMaimalai}{LTA}{196}
+\DeclareTextSymbol{\thaiLakkhangyao}{LTA}{197}
+\DeclareTextSymbol{\thaiMaiyamok}{LTA}{198}
+\DeclareTextSymbol{\thaiMaitaikhu}{LTA}{199}
+\DeclareTextSymbol{\thaiMaiEk}{LTA}{200}
+\DeclareTextSymbol{\thaiMaiTho}{LTA}{201}
+\DeclareTextSymbol{\thaiMaiTri}{LTA}{202}
+\DeclareTextSymbol{\thaiMaiChattawa}{LTA}{203}
+\DeclareTextSymbol{\thaiThanthakhat}{LTA}{204}
+\DeclareTextSymbol{\thaiNikhahit}{LTA}{205}
+\DeclareTextSymbol{\thaiYamakkan}{LTA}{206}
+\DeclareTextSymbol{\thaiFongman}{LTA}{207}
+\DeclareTextSymbol{\thaizero}{LTA}{208}
+\DeclareTextSymbol{\thaione}{LTA}{209}
+\DeclareTextSymbol{\thaitwo}{LTA}{210}
+\DeclareTextSymbol{\thaithree}{LTA}{211}
+\DeclareTextSymbol{\thaifour}{LTA}{212}
+\DeclareTextSymbol{\thaifive}{LTA}{213}
+\DeclareTextSymbol{\thaisix}{LTA}{214}
+\DeclareTextSymbol{\thaiseven}{LTA}{215}
+\DeclareTextSymbol{\thaieight}{LTA}{216}
+\DeclareTextSymbol{\thainine}{LTA}{217}
+\DeclareTextSymbol{\thaiAngkhankhu}{LTA}{218}
+\DeclareTextSymbol{\thaiKhomut}{LTA}{219}
+%
+%</ltaenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltaarial.fd}}
+% \begin{macrocode}
+%<*ltaarial.fd>
+\ProvidesFile{ltaarial.fd}[2004/10/17 Autogenerated .fd file for encoding LTA, family arial]
+\DeclareFontFamily{LTA}{arial}{}
+\DeclareFontShape{LTA}{arial}{m}{n}{<-> * arialuni0e0t}{}
+%
+%</ltaarial.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltac2000.fd}}
+% \begin{macrocode}
+%<*ltac2000.fd>
+\ProvidesFile{ltac2000.fd}[2004/10/17 Autogenerated .fd file for encoding LTA, family c2000]
+\DeclareFontFamily{LTA}{c2000}{}
+\DeclareFontShape{LTA}{c2000}{m}{n}{<-> * code2k0e0t}{}
+%
+%</ltac2000.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltgenc.def}}
+% \begin{macrocode}
+%<*ltgenc.def>
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+\ProvidesFile{ltgenc.def}[2004/10/17 Autogenerated encoding LTG]
+\DeclareFontEncoding{LTG}{}{}
+\DeclareFontSubstitution{LTG}{c2000}{m}{n}
+\DeclareTextCommand{\texttelugustart}{LTG}{}
+\DeclareTextCommand{\texttelugustop}{LTG}{}
+\DeclareTextSymbol{\guillemotleft}{LTG}{19}
+\DeclareTextSymbol{\guillemotright}{LTG}{20}
+\DeclareTextSymbol{\guilsinglleft}{LTG}{14}
+\DeclareTextSymbol{\guilsinglright}{LTG}{15}
+\DeclareTextSymbol{\i}{LTG}{25}
+\DeclareTextSymbol{\quotedblbase}{LTG}{18}
+\DeclareTextSymbol{\quotesinglbase}{LTG}{13}
+\DeclareTextSymbol{\textasciicircum}{LTG}{`\^}
+\DeclareTextSymbol{\textasciitilde}{LTG}{`\~}
+\DeclareTextSymbol{\textbackslash}{LTG}{`\\}
+\DeclareTextSymbol{\textbar}{LTG}{`\|}
+\DeclareTextSymbol{\textbraceleft}{LTG}{`\{}
+\DeclareTextSymbol{\textbraceright}{LTG}{`\}}
+\DeclareTextSymbol{\textdollar}{LTG}{`\$}
+\DeclareTextSymbol{\textemdash}{LTG}{22}
+\DeclareTextSymbol{\textendash}{LTG}{21}
+\DeclareTextSymbol{\textgreater}{LTG}{`\>}
+\DeclareTextSymbol{\textless}{LTG}{`\<}
+\DeclareTextSymbol{\textquotedblleft}{LTG}{16}
+\DeclareTextSymbol{\textquotedblright}{LTG}{17}
+\DeclareTextSymbol{\textquotedbl}{LTG}{`\"}
+\DeclareTextSymbol{\textquoteleft}{LTG}{`\`}
+\DeclareTextSymbol{\textquoteright}{LTG}{`\'}
+\DeclareTextSymbol{\textunderscore}{LTG}{95}
+\DeclareTextCommand{\texttelugucandrabindu}{LTG}[1]{#1\char129 }
+\DeclareTextCommand{\textteluguanusvara}{LTG}[1]{#1\char130 }
+\DeclareTextCommand{\textteluguvisarga}{LTG}[1]{#1\char131 }
+\DeclareTextSymbol{\texttelugua}{LTG}{133}
+\DeclareTextSymbol{\textteluguaa}{LTG}{134}
+\DeclareTextSymbol{\texttelugui}{LTG}{135}
+\DeclareTextSymbol{\textteluguii}{LTG}{136}
+\DeclareTextSymbol{\textteluguu}{LTG}{137}
+\DeclareTextSymbol{\textteluguuu}{LTG}{138}
+\DeclareTextSymbol{\textteluguvocalicr}{LTG}{139}
+\DeclareTextSymbol{\textteluguvocalicl}{LTG}{140}
+\DeclareTextSymbol{\texttelugue}{LTG}{142}
+\DeclareTextSymbol{\textteluguee}{LTG}{143}
+\DeclareTextSymbol{\textteluguai}{LTG}{144}
+\DeclareTextSymbol{\textteluguo}{LTG}{146}
+\DeclareTextSymbol{\textteluguoo}{LTG}{147}
+\DeclareTextSymbol{\textteluguau}{LTG}{148}
+\DeclareTextSymbol{\textteluguka}{LTG}{149}
+\DeclareTextSymbol{\texttelugukha}{LTG}{150}
+\DeclareTextSymbol{\textteluguga}{LTG}{151}
+\DeclareTextSymbol{\texttelugugha}{LTG}{152}
+\DeclareTextSymbol{\texttelugunga}{LTG}{153}
+\DeclareTextSymbol{\textteluguca}{LTG}{154}
+\DeclareTextSymbol{\texttelugucha}{LTG}{155}
+\DeclareTextSymbol{\textteluguja}{LTG}{156}
+\DeclareTextSymbol{\texttelugujha}{LTG}{157}
+\DeclareTextSymbol{\texttelugunya}{LTG}{158}
+\DeclareTextSymbol{\texttelugutta}{LTG}{159}
+\DeclareTextSymbol{\textteluguttha}{LTG}{160}
+\DeclareTextSymbol{\texttelugudda}{LTG}{161}
+\DeclareTextSymbol{\textteluguddha}{LTG}{162}
+\DeclareTextSymbol{\texttelugunna}{LTG}{163}
+\DeclareTextSymbol{\textteluguta}{LTG}{164}
+\DeclareTextSymbol{\texttelugutha}{LTG}{165}
+\DeclareTextSymbol{\textteluguda}{LTG}{166}
+\DeclareTextSymbol{\texttelugudha}{LTG}{167}
+\DeclareTextSymbol{\textteluguna}{LTG}{168}
+\DeclareTextSymbol{\texttelugupa}{LTG}{170}
+\DeclareTextSymbol{\texttelugupha}{LTG}{171}
+\DeclareTextSymbol{\textteluguba}{LTG}{172}
+\DeclareTextSymbol{\texttelugubha}{LTG}{173}
+\DeclareTextSymbol{\textteluguma}{LTG}{174}
+\DeclareTextSymbol{\textteluguya}{LTG}{175}
+\DeclareTextSymbol{\texttelugura}{LTG}{176}
+\DeclareTextSymbol{\texttelugurra}{LTG}{177}
+\DeclareTextSymbol{\texttelugula}{LTG}{178}
+\DeclareTextSymbol{\texttelugulla}{LTG}{179}
+\DeclareTextSymbol{\textteluguva}{LTG}{181}
+\DeclareTextSymbol{\texttelugusha}{LTG}{182}
+\DeclareTextSymbol{\texttelugussa}{LTG}{183}
+\DeclareTextSymbol{\texttelugusa}{LTG}{184}
+\DeclareTextSymbol{\textteluguha}{LTG}{185}
+\DeclareTextCommand{\textteluguvowelaa}{LTG}[1]{#1\char190 }
+\DeclareTextCommand{\textteluguvoweli}{LTG}[1]{#1\char191 }
+\DeclareTextCommand{\textteluguvowelii}{LTG}[1]{#1\char192 }
+\DeclareTextCommand{\textteluguvowelu}{LTG}[1]{#1\char193 }
+\DeclareTextCommand{\textteluguvoweluu}{LTG}[1]{#1\char194 }
+\DeclareTextCommand{\textteluguvowelvocalicr}{LTG}[1]{#1\char195 }
+\DeclareTextCommand{\textteluguvowelvocalicrr}{LTG}[1]{#1\char196 }
+\DeclareTextCommand{\textteluguvowele}{LTG}[1]{#1\char198 }
+\DeclareTextCommand{\textteluguvowelee}{LTG}[1]{#1\char199 }
+\DeclareTextCommand{\textteluguvowelai}{LTG}[1]{#1\char200 }
+\DeclareTextCommand{\textteluguvowelo}{LTG}[1]{#1\char202 }
+\DeclareTextCommand{\textteluguvoweloo}{LTG}[1]{#1\char203 }
+\DeclareTextCommand{\textteluguvowelau}{LTG}[1]{#1\char204 }
+\DeclareTextCommand{\textteluguvirama}{LTG}[1]{#1\char205 }
+\DeclareTextCommand{\texttelugulengthmark}{LTG}[1]{#1\char213 }
+\DeclareTextCommand{\textteluguailengthmark}{LTG}[1]{#1\char214 }
+\DeclareTextSymbol{\textteluguvocalicrr}{LTG}{224}
+\DeclareTextSymbol{\textteluguvocalicll}{LTG}{225}
+\DeclareTextSymbol{\textteluguzero}{LTG}{230}
+\DeclareTextSymbol{\textteluguone}{LTG}{231}
+\DeclareTextSymbol{\texttelugutwo}{LTG}{232}
+\DeclareTextSymbol{\textteluguthree}{LTG}{233}
+\DeclareTextSymbol{\texttelugufour}{LTG}{234}
+\DeclareTextSymbol{\texttelugufive}{LTG}{235}
+\DeclareTextSymbol{\texttelugusix}{LTG}{236}
+\DeclareTextSymbol{\textteluguseven}{LTG}{237}
+\DeclareTextSymbol{\texttelugueight}{LTG}{238}
+\DeclareTextSymbol{\texttelugunine}{LTG}{239}
+%
+%</ltgenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltgc2000.fd}}
+% \begin{macrocode}
+%<*ltgc2000.fd>
+\ProvidesFile{ltgc2000.fd}[2004/10/17 Autogenerated .fd file for encoding LTG, family c2000]
+\DeclareFontFamily{LTG}{c2000}{}
+\DeclareFontShape{LTG}{c2000}{m}{n}{<-> * code2k0c0t}{}
+\DeclareFontShape{LTG}{c2000}{m}{n}{<-> * arialuni0c0t}{}
+%
+%</ltgc2000.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltlenc.def}}
+% \begin{macrocode}
+%<*ltlenc.def>
+\DeclareFontEncoding{LTL}{}{}
+\DeclareFontSubstitution{LTL}{cmr}{m}{n}
+% \end{macrocode}
+% Load tlsyllable.tex, but disable loading of
+% tlxlate.tex
+% \begin{macrocode}
+\let\uc@temp@a\@@input
+\def\@@input#1 {\def\@tempa{tlxlate}\def\@tempb{#1}\ifx\@tempb\@tempa\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi{\@gobble}{\uc@temp@a#1 }}%
+\input tlsyllable
+\let\@@input\uc@temp@a
+%
+\let\ltl@state0
+\let\ltl@tlvoa\tlvoa
+\DeclareTextCommand{\texttelugustart}{LTL}{\let\ltl@state1}
+\newcommand\ltl@vowel[2]{\let\ltl@tlvoa\empty#1\let\ltl@tlvoa\tlvoa\ifx\ltl@state2\let\ltl@state1\fi#2}
+\newcommand\ltl@cons[1]{\ifx\ltl@state2\let\ltl@state1\fi#1\ltl@tlvoa}
+\newcommand\ltl@ivowel[1]{\ifx\ltl@state2\let\ltl@state1\tlvoX\fi#1}
+\newcommand\ltl@dcons[1]{\ifx\ltl@state1\let\ltl@state2\fi#1\ifx\ltl@state0\tlvoX\fi}
+\DeclareTextCommand{\texttelugustop}{LTL}{\ifx\ltl@state2\tlvoX\fi\let\ltl@state0}
+%
+% \newcommand\ltl@gencons[2]{%
+% \expandafter\ifx\csname tlcb#2\endcsname\relax
+% \PackageError{ltlenc.def}{\expandafter\string\csname tlcb#2\endcsname\space
+% undefined}{}\fi
+% \edef\@tempa{%
+% \noexpand\DeclareTextCommand{\expandafter\noexpand\csname
+% texttelugu#1\endcsname}{LTL}%
+% {\noexpand\ltl@cons{\expandafter\noexpand\csname tlcb#2\endcsname}}%
+% \noexpand\DeclareTextCompositeCommand{\noexpand\textteluguvirama}{LTL}%
+% {\expandafter\noexpand\csname texttelugu#1\endcsname}%
+% {\noexpand\ltl@dcons{\expandafter\noexpand\csname tlcb#2\endcsname}}}
+% \toks255\expandafter{\@tempa}\typeout{\the\toks255}%
+% \@tempa}
+% \newcommand\ltl@genvow[2]{%
+% \expandafter\ifx\csname tlvo#2\endcsname\relax
+% \PackageError{ltlenc.def}{\expandafter\string\csname tlvo#2\endcsname\space
+% undefined}{}\fi
+% \edef\@tempa{%
+% \noexpand\DeclareTextCommand{\expandafter\noexpand\csname
+% textteluguvowel#1\endcsname}{LTL}[1]%
+% {\noexpand\ltl@vowel{####1}{\expandafter\noexpand\csname tlvo#2\endcsname}}%
+% \noexpand\DeclareTextCommand{\expandafter\noexpand\csname texttelugu#1\endcsname}{LTL}%
+% {\noexpand\ltl@ivowel{\expandafter\noexpand\csname tlvo#2\endcsname}}}
+% \toks255\expandafter{\@tempa}\typeout{\the\toks255}%
+% \@tempa}
+% \newcommand\ltl@gensymb[2]{%
+% \edef\@tempa{%
+% \noexpand\DeclareTextCommand{\expandafter\noexpand\csname texttelugu#1\endcsname}{LTL}%
+% {\noexpand\ltl@ivowel{#2}}}
+% \toks255\expandafter{\@tempa}\typeout{\the\toks255}%
+% \@tempa}
+%
+\DeclareTextCommand{\textascii}{LTL}[1]{\@textascii@switch{#1}}
+\DeclareTextCommand{\textteluguvirama}{LTL}[1]{\ltl@vowel{#1}{\tlvoX}}
+%\DeclareTextCommand{\texttelugucandrabindu}{LTL}[1]{\ltl@vowel{#1}{\tluaas}}
+%\DeclareTextCommand{\textteluguanusvara}{LTL}[1]{\ltl@vowel{#1}{\tluasu}}
+%\DeclareTextCommand{\textteluguvisarga}{LTL}[1]{\ltl@vowel{#1}{\tluavi}}
+\DeclareTextCommand{\texttelugucandrabindu}{LTL}[1]{#1\ltl@ivowel{\tluaas}}
+\DeclareTextCommand{\textteluguanusvara}{LTL}[1]{#1\ltl@ivowel{\tluasu}}
+\DeclareTextCommand{\textteluguvisarga}{LTL}[1]{#1\ltl@ivowel{\tluavi}}
+%
+\DeclareTextCommand{\texttelugudda}{LTL}{\ltl@cons{\tlcbD}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugudda}{\ltl@dcons{\tlcbD}}
+\DeclareTextCommand{\texttelugubha}{LTL}{\ltl@cons{\tlcbbh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugubha}{\ltl@dcons{\tlcbbh}}
+\DeclareTextCommand{\texttelugunga}{LTL}{\ltl@cons{\tlcbNG}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugunga}{\ltl@dcons{\tlcbNG}}
+\DeclareTextCommand{\texttelugudha}{LTL}{\ltl@cons{\tlcbdh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugudha}{\ltl@dcons{\tlcbdh}}
+\DeclareTextCommand{\textteluguka}{LTL}{\ltl@cons{\tlcbk}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguka}{\ltl@dcons{\tlcbk}}
+\DeclareTextCommand{\texttelugussa}{LTL}{\ltl@cons{\tlcbSh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugussa}{\ltl@dcons{\tlcbSh}}
+\DeclareTextCommand{\textteluguma}{LTL}{\ltl@cons{\tlcbm}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguma}{\ltl@dcons{\tlcbm}}
+\DeclareTextCommand{\texttelugutta}{LTL}{\ltl@cons{\tlcbT}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugutta}{\ltl@dcons{\tlcbT}}
+\DeclareTextCommand{\texttelugusha}{LTL}{\ltl@cons{\tlcbS}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugusha}{\ltl@dcons{\tlcbS}}
+\DeclareTextCommand{\textteluguba}{LTL}{\ltl@cons{\tlcbb}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguba}{\ltl@dcons{\tlcbb}}
+\DeclareTextCommand{\texttelugusa}{LTL}{\ltl@cons{\tlcbs}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugusa}{\ltl@dcons{\tlcbs}}
+\DeclareTextCommand{\textteluguda}{LTL}{\ltl@cons{\tlcbd}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguda}{\ltl@dcons{\tlcbd}}
+\DeclareTextCommand{\texttelugujha}{LTL}{\ltl@cons{\tlcbjh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugujha}{\ltl@dcons{\tlcbjh}}
+\DeclareTextCommand{\textteluguha}{LTL}{\ltl@cons{\tlcbH}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguha}{\ltl@dcons{\tlcbH}}
+\DeclareTextCommand{\textteluguttha}{LTL}{\ltl@cons{\tlcbTh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguttha}{\ltl@dcons{\tlcbTh}}
+\DeclareTextCommand{\textteluguya}{LTL}{\ltl@cons{\tlcbY}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguya}{\ltl@dcons{\tlcbY}}
+\DeclareTextCommand{\texttelugucha}{LTL}{\ltl@cons{\tlcbch}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugucha}{\ltl@dcons{\tlcbch}}
+\DeclareTextCommand{\textteluguja}{LTL}{\ltl@cons{\tlcbj}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguja}{\ltl@dcons{\tlcbj}}
+\DeclareTextCommand{\texttelugunya}{LTL}{\ltl@cons{\tlcbnx}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugunya}{\ltl@dcons{\tlcbnx}}
+\DeclareTextCommand{\texttelugulla}{LTL}{\ltl@cons{\tlcbL}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugulla}{\ltl@dcons{\tlcbL}}
+\DeclareTextCommand{\texttelugupha}{LTL}{\ltl@cons{\tlcbph}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugupha}{\ltl@dcons{\tlcbph}}
+\DeclareTextCommand{\textteluguna}{LTL}{\ltl@cons{\tlcbn}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguna}{\ltl@dcons{\tlcbn}}
+\DeclareTextCommand{\texttelugugha}{LTL}{\ltl@cons{\tlcbgh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugugha}{\ltl@dcons{\tlcbgh}}
+\DeclareTextCommand{\textteluguddha}{LTL}{\ltl@cons{\tlcbDh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguddha}{\ltl@dcons{\tlcbDh}}
+\DeclareTextCommand{\texttelugunna}{LTL}{\ltl@cons{\tlcbN}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugunna}{\ltl@dcons{\tlcbN}}
+\DeclareTextCommand{\texttelugupa}{LTL}{\ltl@cons{\tlcbp}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugupa}{\ltl@dcons{\tlcbp}}
+\DeclareTextCommand{\texttelugura}{LTL}{\ltl@cons{\tlcbr}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugura}{\ltl@dcons{\tlcbr}}
+\DeclareTextCommand{\textteluguca}{LTL}{\ltl@cons{\tlcbc}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguca}{\ltl@dcons{\tlcbc}}
+\DeclareTextCommand{\texttelugutha}{LTL}{\ltl@cons{\tlcbth}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugutha}{\ltl@dcons{\tlcbth}}
+\DeclareTextCommand{\texttelugukha}{LTL}{\ltl@cons{\tlcbkh}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugukha}{\ltl@dcons{\tlcbkh}}
+\DeclareTextCommand{\textteluguga}{LTL}{\ltl@cons{\tlcbg}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguga}{\ltl@dcons{\tlcbg}}
+\DeclareTextCommand{\texttelugurra}{LTL}{\ltl@cons{\tlcbR}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugurra}{\ltl@dcons{\tlcbR}}
+\DeclareTextCommand{\texttelugula}{LTL}{\ltl@cons{\tlcbl}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugula}{\ltl@dcons{\tlcbl}}
+\DeclareTextCommand{\textteluguta}{LTL}{\ltl@cons{\tlcbt}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguta}{\ltl@dcons{\tlcbt}}
+\DeclareTextCommand{\textteluguva}{LTL}{\ltl@cons{\tlcbv}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguva}{\ltl@dcons{\tlcbv}}
+\DeclareTextCommand{\texttelugublackbox}{LTL}{\ltl@cons{\tlcbbb}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\texttelugublackbox}{\ltl@dcons{\tlcbbb}}
+\DeclareTextCommand{\textteluguemptybox}{LTL}{\ltl@cons{\tlcbeb}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguemptybox}{\ltl@dcons{\tlcbeb}}
+\DeclareTextCommand{\textteluguoutlinebox}{LTL}{\ltl@cons{\tlcbob}}
+\DeclareTextCompositeCommand{\textteluguvirama}{LTL}{\textteluguoutlinebox}{\ltl@dcons{\tlcbob}}
+% \ltl@gencons{dda}{D}
+% \ltl@gencons{bha}{bh}
+% \ltl@gencons{nga}{NG}
+% \ltl@gencons{dha}{dh}
+% \ltl@gencons{ka}{k}
+% \ltl@gencons{ssa}{Sh}
+% \ltl@gencons{ma}{m}
+% \ltl@gencons{tta}{T}
+% \ltl@gencons{sha}{S}
+% \ltl@gencons{ba}{b}
+% \ltl@gencons{sa}{s}
+% \ltl@gencons{da}{d}
+% \ltl@gencons{jha}{jh}
+% \ltl@gencons{ha}{H}
+% \ltl@gencons{ttha}{Th}
+% \ltl@gencons{ya}{Y}
+% \ltl@gencons{cha}{ch}
+% \ltl@gencons{ja}{j}
+% \ltl@gencons{nya}{nx}
+% \ltl@gencons{lla}{L}
+% \ltl@gencons{pha}{ph}
+% \ltl@gencons{na}{n}
+% \ltl@gencons{gha}{gh}
+% \ltl@gencons{ddha}{Dh}
+% \ltl@gencons{nna}{N}
+% \ltl@gencons{pa}{p}
+% \ltl@gencons{ra}{r}
+% \ltl@gencons{ca}{c}
+% \ltl@gencons{tha}{th}
+% \ltl@gencons{kha}{kh}
+% \ltl@gencons{ga}{g}
+% \ltl@gencons{rra}{R}
+% \ltl@gencons{la}{l}
+% \ltl@gencons{ta}{t}
+% \ltl@gencons{va}{v}
+% \ltl@gencons{blackbox}{bb}
+% \ltl@gencons{emptybox}{eb}
+% \ltl@gencons{outlinebox}{ob}
+%
+\DeclareTextCommand{\textteluguvowela}{LTL}[1]{\ltl@vowel{#1}{\tlvoa}}
+\DeclareTextCommand{\texttelugua}{LTL}{\ltl@ivowel{\tlvoa}}
+\DeclareTextCommand{\textteluguvowelaa}{LTL}[1]{\ltl@vowel{#1}{\tlvoA}}
+\DeclareTextCommand{\textteluguaa}{LTL}{\ltl@ivowel{\tlvoA}}
+\DeclareTextCommand{\textteluguvoweli}{LTL}[1]{\ltl@vowel{#1}{\tlvoi}}
+\DeclareTextCommand{\texttelugui}{LTL}{\ltl@ivowel{\tlvoi}}
+\DeclareTextCommand{\textteluguvowelii}{LTL}[1]{\ltl@vowel{#1}{\tlvoI}}
+\DeclareTextCommand{\textteluguii}{LTL}{\ltl@ivowel{\tlvoI}}
+\DeclareTextCommand{\textteluguvowelu}{LTL}[1]{\ltl@vowel{#1}{\tlvou}}
+\DeclareTextCommand{\textteluguu}{LTL}{\ltl@ivowel{\tlvou}}
+\DeclareTextCommand{\textteluguvoweluu}{LTL}[1]{\ltl@vowel{#1}{\tlvoU}}
+\DeclareTextCommand{\textteluguuu}{LTL}{\ltl@ivowel{\tlvoU}}
+\DeclareTextCommand{\textteluguvowelvocalicr}{LTL}[1]{\ltl@vowel{#1}{\tlvorx}}
+\DeclareTextCommand{\textteluguvocalicr}{LTL}{\ltl@ivowel{\tlvorx}}
+\DeclareTextCommand{\textteluguvowelvocalicl}{LTL}[1]{\ltl@vowel{#1}{\tlvolx}}
+\DeclareTextCommand{\textteluguvocalicl}{LTL}{\ltl@ivowel{\tlvolx}}
+\DeclareTextCommand{\textteluguvowelvocalicrr}{LTL}[1]{\ltl@vowel{#1}{\tlvoRx}}
+\DeclareTextCommand{\textteluguvocalicrr}{LTL}{\ltl@ivowel{\tlvoRx}}
+\DeclareTextCommand{\textteluguvowelvocalicll}{LTL}[1]{\ltl@vowel{#1}{\tlvoLx}}
+\DeclareTextCommand{\textteluguvocalicll}{LTL}{\ltl@ivowel{\tlvoLx}}
+\DeclareTextCommand{\textteluguvowele}{LTL}[1]{\ltl@vowel{#1}{\tlvoe}}
+\DeclareTextCommand{\texttelugue}{LTL}{\ltl@ivowel{\tlvoe}}
+\DeclareTextCommand{\textteluguvowelee}{LTL}[1]{\ltl@vowel{#1}{\tlvoE}}
+\DeclareTextCommand{\textteluguee}{LTL}{\ltl@ivowel{\tlvoE}}
+\DeclareTextCommand{\textteluguvowelai}{LTL}[1]{\ltl@vowel{#1}{\tlvoy}}
+\DeclareTextCommand{\textteluguai}{LTL}{\ltl@ivowel{\tlvoy}}
+\DeclareTextCommand{\textteluguvowelo}{LTL}[1]{\ltl@vowel{#1}{\tlvoo}}
+\DeclareTextCommand{\textteluguo}{LTL}{\ltl@ivowel{\tlvoo}}
+\DeclareTextCommand{\textteluguvoweloo}{LTL}[1]{\ltl@vowel{#1}{\tlvoO}}
+\DeclareTextCommand{\textteluguoo}{LTL}{\ltl@ivowel{\tlvoO}}
+\DeclareTextCommand{\textteluguvowelau}{LTL}[1]{\ltl@vowel{#1}{\tlvoow}}
+\DeclareTextCommand{\textteluguau}{LTL}{\ltl@ivowel{\tlvoow}}
+% \ltl@genvow{a}{a}
+% \ltl@genvow{aa}{A}
+% \ltl@genvow{i}{i}
+% \ltl@genvow{ii}{I}
+% \ltl@genvow{u}{u}
+% \ltl@genvow{uu}{U}
+% \ltl@genvow{vocalicr}{rx}
+% \ltl@genvow{vocalicl}{lx}
+% \ltl@genvow{vocalicrr}{Rx}
+% \ltl@genvow{vocalicll}{Lx}
+% \ltl@genvow{e}{e}
+% \ltl@genvow{ee}{E}
+% \ltl@genvow{ai}{y}
+% \ltl@genvow{o}{o}
+% \ltl@genvow{oo}{O}
+% \ltl@genvow{au}{ow}
+%
+\DeclareTextCommand{\textteluguzero}{LTL}{\ltl@ivowel{\char\dtzeroCODE}}
+\DeclareTextCommand{\textteluguone}{LTL}{\ltl@ivowel{\char\dtoneCODE}}
+\DeclareTextCommand{\texttelugutwo}{LTL}{\ltl@ivowel{\char\dttwoCODE}}
+\DeclareTextCommand{\textteluguthree}{LTL}{\ltl@ivowel{\char\dtthreeCODE}}
+\DeclareTextCommand{\texttelugufour}{LTL}{\ltl@ivowel{\char\dtfourCODE}}
+\DeclareTextCommand{\texttelugufive}{LTL}{\ltl@ivowel{\char\dtfiveCODE}}
+\DeclareTextCommand{\texttelugusix}{LTL}{\ltl@ivowel{\char\dtsixCODE}}
+\DeclareTextCommand{\textteluguseven}{LTL}{\ltl@ivowel{\char\dtsevenCODE}}
+\DeclareTextCommand{\texttelugueight}{LTL}{\ltl@ivowel{\char\dteightCODE}}
+\DeclareTextCommand{\texttelugunine}{LTL}{\ltl@ivowel{\char\dtnineCODE}}
+% \ltl@gensymb{zero}{\char\dtzeroCODE}%
+% \ltl@gensymb{one}{\char\dtoneCODE}%
+% \ltl@gensymb{two}{\char\dttwoCODE}%
+% \ltl@gensymb{three}{\char\dtthreeCODE}%
+% \ltl@gensymb{four}{\char\dtfourCODE}%
+% \ltl@gensymb{five}{\char\dtfiveCODE}%
+% \ltl@gensymb{six}{\char\dtsixCODE}%
+% \ltl@gensymb{seven}{\char\dtsevenCODE}%
+% \ltl@gensymb{eight}{\char\dteightCODE}%
+% \ltl@gensymb{nine}{\char\dtnineCODE}%
+%%% Local Variables:
+%%% mode: latex
+%%% coding: utf-8
+%%% TeX-master: "../test.tex"
+%%% End:
+%%% Local IspellDict: british
+%
+%</ltlenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltlcmr.fd}}
+% \begin{macrocode}
+%<*ltlcmr.fd>
+\DeclareFontFamily{LTL}{cmr}{}%
+\DeclareFontShape{LTL}{cmr}{m}{n}{%
+ <10> <11> <12> <15> <18> <20> <25> <30> <35> <40> <55> <72> <100> <172>
+ gen * tel
+ }{}%
+\DeclareFontShape{LTL}{cmr}{bx}{n}{%
+ <10> tel10b
+ <11> tel11b
+ <12> tel12b
+ <15> tel15b
+ <18> tel18b
+ <20> tel20b
+ <25> tel25b
+ }{}%
+\DeclareFontShape{LTL}{cmr}{b}{n}{%
+ <-> sub * cmr/m/bx }{}%
+\DeclareFontShape{LTL}{cmr}{m}{sl}{%
+ <10> tel10s
+ <11> tel11s
+ <12> tel12s
+ <15> tel15s
+ <18> tel18s
+ <20> tel20s
+ <25> tel25s
+ <30> tel30s
+ <35> tel35s
+ <40> tel40s
+ <55> tel55s
+ }{}%
+\DeclareFontShape{LTL}{cmr}{m}{it}{%
+ <-> sub * cmr/m/sl }{}%
+\DeclareFontShape{LTL}{cmr}{nx}{n}{%
+ <10> tel10nx
+ <11> tel11nx
+ <12> tel12nx
+ }{}%
+\DeclareFontShape{LTL}{cmr}{ny}{n}{%
+ <10> tel10ny
+ <11> tel11ny
+ <12> tel12ny
+ }{}%
+\DeclareFontShape{LTL}{cmr}{nx}{sl}{%
+ <-> sub * cmr/m/sl }{}%
+\DeclareFontShape{LTL}{cmr}{ny}{sl}{%
+ <-> sub * cmr/m/sl }{}%
+\DeclareFontShape{LTL}{cmr}{nx}{it}{%
+ <-> sub * cmr/m/sl }{}%
+\DeclareFontShape{LTL}{cmr}{ny}{it}{%
+ <-> sub * cmr/m/sl }{}%
+%
+%</ltlcmr.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltwenc.def}}
+% \begin{macrocode}
+%<*ltwenc.def>
+% \end{macrocode}
+% This encoding is for tengwar fonts ordered according to the Unicode
+% page \texttt{0xE0xx} as defined on
+% \texttt{http://www.evertype.com/standards/csur/tengwar.html}.
+%
+% \texttt{U+E000..U+E07F} is at positions \texttt{0x00..0x7F}.
+% The upper half is reserved for extensions.
+% \begin{macrocode}
+\ProvidesFile{ltwenc.def}[2001/10/17 Fontencoding LTW for Tengwar]
+\DeclareFontEncoding{LTW}{}{}
+\DeclareFontSubstitution{LTW}{dsque}{m}{n}
+% \end{macrocode}
+% Tengwar (normal letters)
+% \begin{macrocode}
+\DeclareTextSymbol{\tengwarTinco}{LTW}{"00}
+\DeclareTextSymbol{\tengwarParma}{LTW}{"01}
+\DeclareTextSymbol{\tengwarCalma}{LTW}{"02}
+\DeclareTextSymbol{\tengwarQuesse}{LTW}{"03}
+\DeclareTextSymbol{\tengwarAndo}{LTW}{"04}
+\DeclareTextSymbol{\tengwarUmbar}{LTW}{"05}
+\DeclareTextSymbol{\tengwarAnga}{LTW}{"06}
+\DeclareTextSymbol{\tengwarUngwe}{LTW}{"07}
+\DeclareTextSymbol{\tengwarThuule}{LTW}{"08}
+\DeclareTextSymbol{\tengwarFormen}{LTW}{"09}
+\DeclareTextSymbol{\tengwarHarma}{LTW}{"0A}
+\DeclareTextSymbol{\tengwarHwesta}{LTW}{"0B}
+\DeclareTextSymbol{\tengwarAnto}{LTW}{"0C}
+\DeclareTextSymbol{\tengwarAmpa}{LTW}{"0D}
+\DeclareTextSymbol{\tengwarAnca}{LTW}{"0E}
+\DeclareTextSymbol{\tengwarUnque}{LTW}{"0F}
+\DeclareTextSymbol{\tengwarNuumen}{LTW}{"10}
+\DeclareTextSymbol{\tengwarMalta}{LTW}{"11}
+\DeclareTextSymbol{\tengwarNoldo}{LTW}{"12}
+\DeclareTextSymbol{\tengwarNwalme}{LTW}{"13}
+\DeclareTextSymbol{\tengwarOore}{LTW}{"14}
+\DeclareTextSymbol{\tengwarVala}{LTW}{"15}
+\DeclareTextSymbol{\tengwarAnna}{LTW}{"16}
+\DeclareTextSymbol{\tengwarVilya}{LTW}{"17}
+\DeclareTextSymbol{\tengwarRoomen}{LTW}{"18}
+\DeclareTextSymbol{\tengwarArda}{LTW}{"19}
+\DeclareTextSymbol{\tengwarLambe}{LTW}{"1A}
+\DeclareTextSymbol{\tengwarAlda}{LTW}{"1B}
+\DeclareTextSymbol{\tengwarSilme}{LTW}{"1C}
+\DeclareTextSymbol{\tengwarSilmeNuquerna}{LTW}{"1D}
+\DeclareTextSymbol{\tengwarAare}{LTW}{"1E}
+\DeclareTextSymbol{\tengwarAareNuquerna}{LTW}{"1F}
+\DeclareTextSymbol{\tengwarHyarmen}{LTW}{"20}
+\DeclareTextSymbol{\tengwarHwestaSindarinwa}{LTW}{"21}
+\DeclareTextSymbol{\tengwarYanta}{LTW}{"22}
+\DeclareTextSymbol{\tengwarUure}{LTW}{"23}
+\DeclareTextSymbol{\tengwarHalla}{LTW}{"24}
+\DeclareTextSymbol{\tengwarShortCarrier}{LTW}{"25}
+\DeclareTextSymbol{\tengwarLongCarrier}{LTW}{"26}
+\DeclareTextSymbol{\tengwarAnnaSindarinwa}{LTW}{"27}
+\DeclareTextSymbol{\tengwarExtThuule}{LTW}{"28}
+\DeclareTextSymbol{\tengwarExtFormen}{LTW}{"29}
+\DeclareTextSymbol{\tengwarExtHarma}{LTW}{"2A}
+\DeclareTextSymbol{\tengwarExtHwesta}{LTW}{"2B}
+\DeclareTextSymbol{\tengwarExtAnto}{LTW}{"2C}
+\DeclareTextSymbol{\tengwarExtAmpa}{LTW}{"2D}
+\DeclareTextSymbol{\tengwarExtAnca}{LTW}{"2E}
+\DeclareTextSymbol{\tengwarExtUnque}{LTW}{"2F}
+\DeclareTextSymbol{\tengwarStemlessOore}{LTW}{"30}
+\DeclareTextSymbol{\tengwarStemlessVala}{LTW}{"31}
+\DeclareTextSymbol{\tengwarStemlessAnna}{LTW}{"32}
+\DeclareTextSymbol{\tengwarStemlessVilya}{LTW}{"33}
+% \end{macrocode}
+% Punctuation
+% \begin{macrocode}
+\DeclareTextSymbol{\tengwarPusta}{LTW}{"50}
+\DeclareTextSymbol{\tengwarDoublePusta}{LTW}{"51}
+\DeclareTextSymbol{\tengwarExclam}{LTW}{"52}
+\DeclareTextSymbol{\tengwarQuestion}{LTW}{"53}
+\DeclareTextSymbol{\tengwarSection}{LTW}{"54}
+\DeclareTextSymbol{\tengwarLongSection}{LTW}{"55}
+% \end{macrocode}
+% Digits
+% \begin{macrocode}
+\ProvideTextCommandDefault{\tengwarZero}{\tengwarStemlessOore}
+\ProvideTextCommandDefault{\tengwarOne}{\tengwarStemlessVilya}
+\DeclareTextSymbol{\tengwarTwo}{LTW}{"62}
+\DeclareTextSymbol{\tengwarThree}{LTW}{"63}
+\DeclareTextSymbol{\tengwarFour}{LTW}{"64}
+\DeclareTextSymbol{\tengwarFive}{LTW}{"65}
+\DeclareTextSymbol{\tengwarSix}{LTW}{"66}
+\DeclareTextSymbol{\tengwarSeven}{LTW}{"67}
+\DeclareTextSymbol{\tengwarEight}{LTW}{"68}
+\DeclareTextSymbol{\tengwarNine}{LTW}{"69}
+\DeclareTextSymbol{\tengwarTen}{LTW}{"6A}
+\DeclareTextSymbol{\tengwarEleven}{LTW}{"6B}
+% \end{macrocode}
+% Tehta (accents)
+% \begin{macrocode}
+\DeclareTextCommand{\tengwarThreeDotsAbove}{LTW}[1]{#1\char"40 }
+\DeclareTextCommand{\tengwarThreeDotsBelow}{LTW}[1]{#1\char"41 }
+\DeclareTextCommand{\tengwarTwoDotsAbove}{LTW}[1]{#1\char"42 }
+\DeclareTextCommand{\tengwarTwoDotsBelow}{LTW}[1]{#1\char"43 }
+\DeclareTextCommand{\tengwarAmaticse}{LTW}[1]{#1\char"44 }
+\DeclareTextCommand{\tengwarNunticse}{LTW}[1]{#1\char"45 }
+\DeclareTextCommand{\tengwarAcute}{LTW}[1]{#1\char"46 }
+\DeclareTextCommand{\tengwarDoubleAcute}{LTW}[1]{#1\char"47 }
+\DeclareTextCommand{\tengwarRightCurl}{LTW}[1]{#1\char"48 }
+\DeclareTextCommand{\tengwarDoubleRightCurl}{LTW}[1]{#1\char"49 }
+\DeclareTextCommand{\tengwarLeftCurl}{LTW}[1]{#1\char"4A }
+\DeclareTextCommand{\tengwarDoubleLeftCurl}{LTW}[1]{#1\char"4B }
+\DeclareTextCommand{\tengwarNasalizer}{LTW}[1]{#1\char"4C }
+\DeclareTextCommand{\tengwarDoubler}{LTW}[1]{#1\char"4D }
+\DeclareTextCommand{\tengwarTilde}{LTW}[1]{#1\char"4E }
+\DeclareTextCommand{\tengwarBreve}{LTW}[1]{#1\char"4F }
+\DeclareTextCommand{\tengwarLongCarrierBelow}{LTW}[1]{#1\char"56 }
+\DeclareTextCommand{\tengwarDoubleAcuteBelow}{LTW}[1]{#1\char"57 }
+\DeclareTextCommand{\tengwarRightCurlBelow}{LTW}[1]{#1\char"58 }
+\DeclareTextCommand{\tengwarLeftCurlBelow}{LTW}[1]{#1\char"59 }
+
+%
+%</ltwenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltwdsque.fd}}
+% \begin{macrocode}
+%<*ltwdsque.fd>
+% \end{macrocode}
+% This fontfamily loads the Quenya fonts from Dan Smith.
+% \begin{macrocode}
+\ProvidesFile{ltwdsque.fd}[2001/10/11 Fontfamily dsque for Fontencoding LTW]%
+\DeclareFontFamily{LTW}{dsque}{}
+\DeclareFontShape{LTW}{dsque}{m}{n}{<-> tengdsq}{}
+%
+%</ltwdsque.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltwdsnol.fd}}
+% \begin{macrocode}
+%<*ltwdsnol.fd>
+% \end{macrocode}
+% This fontfamily loads the Noldor fonts from Dan Smith.
+% \begin{macrocode}
+\ProvidesFile{ltwdsnol.fd}[2001/10/11 Fontfamily dsnol for Fontencoding LTW]%
+\DeclareFontFamily{LTW}{dsnol}{}
+\DeclareFontShape{LTW}{dsnol}{m}{n}{<-> tengdsn}{}
+%
+%</ltwdsnol.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ltwdssin.fd}}
+% \begin{macrocode}
+%<*ltwdssin.fd>
+% \end{macrocode}
+% This fontfamily loads the Sindarin fonts from Dan Smith.
+% \begin{macrocode}
+\ProvidesFile{ltwdssin.fd}[2001/10/11 Fontfamily dssin for Fontencoding LTW]%
+\DeclareFontFamily{LTW}{dssin}{}
+\DeclareFontShape{LTW}{dssin}{m}{n}{<-> tengdss}{}
+%
+%</ltwdssin.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{lucenc.def}}
+% \begin{macrocode}
+%<*lucenc.def>
+% Stuff working with TeX:
+\catcode`\@11
+\ifx\@tempcnta\undefined\csname newcount\endcsname\@tempcnta\fi
+\ifx\@tempcntb\undefined\csname newcount\endcsname\@tempcntb\fi
+\def\lucchar#1{%
+ \begingroup
+ \@tempcnta=#1\divide\@tempcnta by"1000
+ \multiply\@tempcnta by-"1000\advance\@tempcnta by#1%
+ \divide\@tempcnta by"100%
+ \@tempcntb=#1\divide\@tempcntb by"10000
+ \multiply\@tempcntb by-"10000\advance\@tempcntb by#1%
+ \divide\@tempcntb by"1000%
+ \xdef\LUC@plane@LUC{%
+ \ifcase\@tempcntb0\or1\or2\or3\or4\or5\or6\or7\or
+ 8\or9\or a\or b\or c\or d\or e\or f\fi
+ \ifcase\@tempcnta0\or1\or2\or3\or4\or5\or6\or7\or
+ 8\or9\or a\or b\or c\or d\or e\or f\fi}%
+ \ifnum#1>"FFFF
+ \@tempcnta=#1\divide\@tempcnta by"100000
+ \multiply\@tempcnta by-"100000\advance\@tempcnta by#1%
+ \divide\@tempcnta by"10000%
+ \xdef\LUC@plane@LUC{%
+ \ifcase\@tempcnta0\or1\or2\or3\or4\or5\or6\or7\or
+ 8\or9\or a\or b\or c\or d\or e\or f\fi
+ \LUC@plane@LUC}%
+ \ifnum#1>"FFFFF
+ \@tempcnta=#1\divide\@tempcnta by"1000000
+ \multiply\@tempcnta by-"1000000\advance\@tempcnta by#1%
+ \divide\@tempcnta by"100000%
+ \xdef\LUC@plane@LUC{%
+ \ifcase\@tempcnta0\or1\or2\or3\or4\or5\or6\or7\or
+ 8\or9\or a\or b\or c\or d\or e\or f\fi
+ \LUC@plane@LUC}%
+ \fi
+ \fi
+ \@tempcnta=#1\divide\@tempcnta by"100
+ \multiply\@tempcnta by-"100\advance\@tempcnta by#1%
+ \relax
+ %\typeout{Plane: \LUC@plane@LUC, Char: \number\@tempcnta}%
+ \expandafter\endgroup
+ \expandafter\luc@char\expandafter{\number\@tempcnta}%
+}
+\def\luc@loadfont{%
+ \expandafter\ifx\csname LUC-font-\LUCfont\LUC@plane@LUC\endcsname\relax
+ \expandafter\font\csname LUC-font-\LUCfont\LUC@plane@LUC\endcsname=%
+ \LUCfont\LUC@plane@LUC\fi
+ \csname LUC-font-\LUCfont\LUC@plane@LUC\endcsname}
+\def\luc@char#1{%
+ \ifx\LUC@plane@LUC\LUC@plane@old\else
+ \ifx\LUCfont\undefined\selectfont
+ \else\luc@loadfont\fi
+ \fi
+ \char#1 }
+\ifx\NeedsTeXFormat\undefined\endinput\fi
+
+% LaTeX-only stuff follows.
+\ProvidesFile{lucenc.def}[2002/02/20 Encoding for Unicode fonts]
+\DeclareFontEncoding{LUC}{}{}%
+\DeclareFontSubstitution{LUC}{arial}{m}{n}%
+%
+\providecommand\LUC@@empty[1]{%
+ \edef\mandatory@arg{\mandatory@arg\csname LUC@plane@\f@encoding\endcsname}%
+ \empty@sfcnt#1%
+ \edef\uc@temp@a{\csname LUC@plane@\f@encoding\endcsname}%
+ \xdef\font@name{\csname \curr@fontshape/\f@size/\uc@temp@a\endcsname}}
+\providecommand\LUC@@sub[1]{%
+ \expandafter\ifx\csname LUC@\mandatory@arg/\f@size\endcsname\relax
+ \expandafter\gdef\csname LUC@\mandatory@arg/\f@size\endcsname{}%
+ \sub@sfcnt#1%
+ \else
+ \sub@sfcnt\@gobble
+ \fi}
+\DeclareSizeFunction{LUC}{\LUC@@empty\@font@warning}
+\DeclareSizeFunction{LUCb}{\LUC@@empty\@font@warning}
+\DeclareSizeFunction{sLUC}{\LUC@@empty\@font@info}
+\DeclareSizeFunction{sLUCb}{\LUC@@empty\@font@info}
+\DeclareSizeFunction{LUCsub}{\LUC@@sub\@font@warning}
+\DeclareSizeFunction{LUCssub}{\LUC@@sub\@font@info}
+%
+\gdef\LUC@plane@LUC{00}%
+\DeclareTextCommand{\textascii}{\LastDeclaredEncoding}[1]{\textunicodechar{`#1}}
+\DeclareTextCommand{\textunicodechar}{\LastDeclaredEncoding}[1]{\lucchar{#1}}
+
+%%% Local Variables:
+%%% mode: latex
+%%% coding: utf-8
+%%% TeX-master: "../test.tex"
+%%% End:
+%%% Local IspellDict: british
+%
+%</lucenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{lucarial.fd}}
+% \begin{macrocode}
+%<*lucarial.fd>
+\ProvidesFile{lucarial.fd}[2002/02/17 .fd file for encoding LUC, family arial]
+\DeclareFontFamily{LUC}{arial}{}
+\DeclareFontShape{LUC}{arial}{m}{n}{<-> LUC * arialuni}{}
+%
+%</lucarial.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{lucc2000.fd}}
+% \begin{macrocode}
+%<*lucc2000.fd>
+\ProvidesFile{lucc2000.fd}[2002/02/17 .fd file for encoding LUC, family c2000]
+\DeclareFontFamily{LUC}{c2000}{}
+\DeclareFontShape{LUC}{c2000}{m}{n}{<-> LUC * code2k}{}
+%
+%</lucc2000.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{mkrenc.def}}
+% \begin{macrocode}
+%<*mkrenc.def>
+\ProvidesFile{mkrenc.def}[2003/11/29 Fontencoding MKR for use with package makor]
+\makeatletter
+%
+\AtBeginDocument{%
+ \let\mkr@quote\"
+ \RequirePackage{makor}%
+ \let\"\mkr@quote
+ \expandafter\ifx\csname !hdefaultfont\endcsname\relax
+ \expandafter\def\csname !hdefaultfont\endcsname{NFSS}\fi
+ }%
+\expandafter\g@addto@macro\csname selectfont \endcsname{\protect\@hfontadapt}
+%
+\begingroup
+\escapechar=-1
+\edef\temp@a{%
+ \gdef\noexpand\@hfontadapt@
+ \expandafter\string\csname select font \endcsname##1 ##2%
+ \noexpand\@nil{%
+ \edef\noexpand\temp@a{%
+ \noexpand\noexpand\noexpand\hfontdef{\noexpand\mkr@font}{##1}{\noexpand\f@size pt}}\noexpand\temp@a}}\temp@a
+\xdef\mkr@at{\expandafter\string\csname\space at \endcsname}%
+\endgroup
+%
+\def\@hfont@enc{MKR}
+\def\@hfontadapt{%
+ \ifx\f@encoding\@hfont@enc%
+ \edef\mkr@font{mkr@\f@family\f@series\f@shape-\f@size}%
+ %\typeout{HFONTADAPT: ID:\mkr@font, SIZE: \f@size}%
+ \@ifundefined{\mkr@font}{%
+ %\typeout{Needs adapting. (\expandafter\meaning\the\font)}%
+ \edef\temp@a{\noexpand\@hfontadapt@\expandafter\meaning\the\font\space\noexpand\@nil}\temp@a%
+ }{}%
+ \expandafter\hfont\expandafter{\mkr@font}%
+ \fi
+}
+%
+%
+\DeclareFontEncoding{MKR}{}{}
+\DeclareFontSubstitution{MKR}{omega}{m}{n}
+%
+\DeclareTextCommand\hebalef{MKR}{`}
+\DeclareTextCommand\hebbet{MKR}{v}
+\DeclareTextCommand\hebgimel{MKR}{g}
+\DeclareTextCommand\hebdalet{MKR}{d}
+\DeclareTextCommand\hebhe{MKR}{h}
+\DeclareTextCommand\hebvav{MKR}{w}
+\DeclareTextCommand\hebzayin{MKR}{z}
+\DeclareTextCommand\hebhet{MKR}{x}
+\DeclareTextCommand\hebtet{MKR}{t}
+\DeclareTextCommand\hebyod{MKR}{y}
+\DeclareTextCommand\hebfinalkaf{MKR}{K\char94 }
+\DeclareTextCommand\hebkaf{MKR}{K\NOBOUNDARY}
+\DeclareTextCommand\heblamed{MKR}{l}
+\DeclareTextCommand\hebfinalmem{MKR}{m\char94 }
+\DeclareTextCommand\hebmem{MKR}{m\NOBOUNDARY}
+\DeclareTextCommand\hebfinalnun{MKR}{n\char94 }
+\DeclareTextCommand\hebnun{MKR}{n\NOBOUNDARY}
+\DeclareTextCommand\hebsamekh{MKR}{s}
+\DeclareTextCommand\hebayin{MKR}{``}
+\DeclareTextCommand\hebfinalpe{MKR}{f\char94 }
+\DeclareTextCommand\hebpe{MKR}{f\NOBOUNDARY}
+\DeclareTextCommand\hebfinaltsadi{MKR}{ts\char94 }
+\DeclareTextCommand\hebtsadi{MKR}{ts\NOBOUNDARY}
+\DeclareTextCommand\hebqof{MKR}{q}
+\DeclareTextCommand\hebresh{MKR}{r}
+\DeclareTextCommand\hebshin{MKR}{sh}
+\DeclareTextCommand\hebtav{MKR}{s\char94 }
+\DeclareTextSymbol\doublevav{MKR}{"83}
+\DeclareTextSymbol\vavyod{MKR}{"84}
+\DeclareTextSymbol\doubleyod{MKR}{"81}
+\DeclareTextCommand\maqaf{MKR}{-{}}
+\DeclareTextCommand\sofpasuq{MKR}{:}
+\DeclareTextSymbol\geresh{MKR}{251}
+\DeclareTextSymbol\gershayim{MKR}{"22}
+\DeclareTextSymbol\hebaleflamed{MKR}{"A4}
+%
+\DeclareTextCommand\dagesh{MKR}[1]{#1*}
+\DeclareTextCommand\sheva{MKR}[1]{#1\vwlSHEVA}
+\DeclareTextCommand\hatafsegol{MKR}[1]{#1\vwlCOLON\vwlE}
+\DeclareTextCommand\hatafpatah{MKR}[1]{#1\vwlCOLON\vwlA}
+\DeclareTextCommand\hatafqamats{MKR}[1]{#1\vwlCOLON\vwlPLUS}
+\DeclareTextCommand\hiriq{MKR}[1]{#1\vwlI}
+\DeclareTextCommand\tsere{MKR}[1]{#1\vwlE\vwlI}
+\DeclareTextCommand\segol{MKR}[1]{#1\vwlE}
+\DeclareTextCommand\patah{MKR}[1]{#1\vwlA}
+\DeclareTextCommand\qamats{MKR}[1]{#1\vwlPLUS}
+\DeclareTextCommand\qubuts{MKR}[1]{#1\vwlU}
+\DeclareTextCommand\meteg{MKR}[1]{#1\vwlVERT}
+\DeclareTextCommand\holam{MKR}[1]{#1o}
+\DeclareTextCommand\shindot{MKR}[1]{sh\char94 }% Only useful as \shindot\shin
+\DeclareTextCommand\sindot{MKR}[1]{\char94s}% Only useful as \sindot\shin
+%
+\DeclareTextCommand{\textascii}{MKR}[1]{\@textascii@switch{#1}}
+\DeclareTextComposite\patach{MKR}\doubleyod{"82}
+\DeclareTextCompositeCommand\dagesh{MKR}\finalkaf{K*\char94 }
+\DeclareTextCompositeCommand\dagesh{MKR}\kaf{K*\NOBOUNDARY}
+\DeclareTextCompositeCommand\dagesh{MKR}\finalmem{m*{}}
+\DeclareTextCompositeCommand\dagesh{MKR}\mem{m*\NOBOUNDARY}
+\DeclareTextCompositeCommand\dagesh{MKR}\finalnun{n*{}}
+\DeclareTextCompositeCommand\dagesh{MKR}\nun{n*\NOBOUNDARY}
+%\DeclareTextCompositeCommand\dagesh{MKR}\finalpe{f*\char94 }
+\DeclareTextCompositeCommand\dagesh{MKR}\pe{f*\NOBOUNDARY}
+%\DeclareTextCompositeCommand\dagesh{MKR}\finaltsadi{ts*\char94 }
+\DeclareTextCompositeCommand\dagesh{MKR}\tsadi{ts*\NOBOUNDARY}
+%
+%
+%</mkrenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{mkrezra.fd}}
+% \begin{macrocode}
+%<*mkrezra.fd>
+\ProvidesFile{mkrezra.fd}[2002/09/20 ezra family for encoding MKR]%
+\DeclareFontFamily{MKR}{ezra}{}
+\DeclareFontShape{MKR}{ezra}{m}{n}{<-> * ezramm}{}
+\DeclareFontShape{MKR}{ezra}{m}{it}{<-> * ezraimm}{}
+\DeclareFontShape{MKR}{ezra}{bx}{n}{<-> * ezrabmm}{}
+\DeclareFontShape{MKR}{ezra}{bx}{it}{<-> * ezrabimm}{}
+\DeclareFontShape{MKR}{ezra}{m}{o}{<-> * ezraomm}{}
+%
+%
+%</mkrezra.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{mkrhadas.fd}}
+% \begin{macrocode}
+%<*mkrhadas.fd>
+\ProvidesFile{mkrhadas.fd}[2002/09/20 hadas family for encoding MKR]%
+\DeclareFontFamily{MKR}{hadas}{}
+\DeclareFontShape{MKR}{hadas}{m}{n}{<-> * hadassahmm}{}
+\DeclareFontShape{MKR}{hadas}{m}{it}{<-> * hadassaimm}{}
+\DeclareFontShape{MKR}{hadas}{bx}{n}{<-> * hadassabmm}{}
+\DeclareFontShape{MKR}{hadas}{bx}{it}{<-> * hadassbimm}{}
+%
+%
+%</mkrhadas.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{mkromega.fd}}
+% \begin{macrocode}
+%<*mkromega.fd>
+\ProvidesFile{mkromega.fd}[2002/09/20 omega family for encoding MKR]%
+\DeclareFontFamily{MKR}{omega}{}
+\DeclareFontShape{MKR}{omega}{m}{n}{<-> * ohebrmm}{}
+%
+%
+%</mkromega.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{mkrrashi.fd}}
+% \begin{macrocode}
+%<*mkrrashi.fd>
+\ProvidesFile{mkrrashi.fd}[2002/09/20 rashi family for encoding MKR]%
+\DeclareFontFamily{MKR}{rashi}{}
+\DeclareFontShape{MKR}{rashi}{m}{n}{<-> * rashimm}{}
+\DeclareFontShape{MKR}{rashi}{bx}{n}{<-> * rashbmm}{}
+%
+%
+%</mkrrashi.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{t2denc.def}}
+% \begin{macrocode}
+%<*t2denc.def>
+% This file is a hack. When a manually created t2denc.def
+% appears (e.g. contributed with the LH fonts), this hack should be deleted.
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]%
+\ProvidesFile{t2denc.def}[Experimental T2D]%
+\DeclareFontEncoding{T2D}{}{}%
+\DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}%
+\DeclareTextSymbol\CYRA\LastDeclaredEncoding{"C0}%
+\DeclareTextSymbol\cyra\LastDeclaredEncoding{"E0}%
+\DeclareTextSymbol\CYRB\LastDeclaredEncoding{"C1}%
+\DeclareTextSymbol\cyrb\LastDeclaredEncoding{"E1}%
+\DeclareTextSymbol\CYRV\LastDeclaredEncoding{"C2}%
+\DeclareTextSymbol\cyrv\LastDeclaredEncoding{"E2}%
+\DeclareTextSymbol\CYRG\LastDeclaredEncoding{"C3}%
+\DeclareTextSymbol\cyrg\LastDeclaredEncoding{"E3}%
+\DeclareTextSymbol\CYRD\LastDeclaredEncoding{"C4}%
+\DeclareTextSymbol\cyrd\LastDeclaredEncoding{"E4}%
+\DeclareTextSymbol\CYRE\LastDeclaredEncoding{"C5}%
+\DeclareTextSymbol\cyre\LastDeclaredEncoding{"E5}%
+\DeclareTextSymbol\CYRZH\LastDeclaredEncoding{"C6}%
+\DeclareTextSymbol\cyrzh\LastDeclaredEncoding{"E6}%
+\DeclareTextSymbol\CYRZ\LastDeclaredEncoding{"C7}%
+\DeclareTextSymbol\cyrz\LastDeclaredEncoding{"E7}%
+\DeclareTextSymbol\CYRI\LastDeclaredEncoding{"C8}%
+\DeclareTextSymbol\cyri\LastDeclaredEncoding{"E8}%
+\DeclareTextSymbol\CYRISHRT\LastDeclaredEncoding{"C9}%
+\DeclareTextSymbol\cyrishrt\LastDeclaredEncoding{"E9}%
+\DeclareTextSymbol\CYRK\LastDeclaredEncoding{"CA}%
+\DeclareTextSymbol\cyrk\LastDeclaredEncoding{"EA}%
+\DeclareTextSymbol\CYRL\LastDeclaredEncoding{"CB}%
+\DeclareTextSymbol\cyrl\LastDeclaredEncoding{"EB}%
+\DeclareTextSymbol\CYRM\LastDeclaredEncoding{"CC}%
+\DeclareTextSymbol\cyrm\LastDeclaredEncoding{"EC}%
+\DeclareTextSymbol\CYRN\LastDeclaredEncoding{"CD}%
+\DeclareTextSymbol\cyrn\LastDeclaredEncoding{"ED}%
+\DeclareTextSymbol\CYRO\LastDeclaredEncoding{"CE}%
+\DeclareTextSymbol\cyro\LastDeclaredEncoding{"EE}%
+\DeclareTextSymbol\CYRP\LastDeclaredEncoding{"CF}%
+\DeclareTextSymbol\cyrp\LastDeclaredEncoding{"EF}%
+\DeclareTextSymbol\CYRR\LastDeclaredEncoding{"D0}%
+\DeclareTextSymbol\cyrr\LastDeclaredEncoding{"F0}%
+\DeclareTextSymbol\CYRS\LastDeclaredEncoding{"D1}%
+\DeclareTextSymbol\cyrs\LastDeclaredEncoding{"F1}%
+\DeclareTextSymbol\CYRT\LastDeclaredEncoding{"D2}%
+\DeclareTextSymbol\cyrt\LastDeclaredEncoding{"F2}%
+\DeclareTextSymbol\CYRU\LastDeclaredEncoding{"D3}%
+\DeclareTextSymbol\cyru\LastDeclaredEncoding{"F3}%
+\DeclareTextSymbol\CYRF\LastDeclaredEncoding{"D4}%
+\DeclareTextSymbol\cyrf\LastDeclaredEncoding{"F4}%
+\DeclareTextSymbol\CYRH\LastDeclaredEncoding{"D5}%
+\DeclareTextSymbol\cyrh\LastDeclaredEncoding{"F5}%
+\DeclareTextSymbol\CYRC\LastDeclaredEncoding{"D6}%
+\DeclareTextSymbol\cyrc\LastDeclaredEncoding{"F6}%
+\DeclareTextSymbol\CYRCH\LastDeclaredEncoding{"D7}%
+\DeclareTextSymbol\cyrch\LastDeclaredEncoding{"F7}%
+\DeclareTextSymbol\CYRSH\LastDeclaredEncoding{"D8}%
+\DeclareTextSymbol\cyrsh\LastDeclaredEncoding{"F8}%
+\DeclareTextSymbol\CYRSHCH\LastDeclaredEncoding{"D9}%
+\DeclareTextSymbol\cyrshch\LastDeclaredEncoding{"F9}%
+\DeclareTextSymbol\CYRHRDSN\LastDeclaredEncoding{"DA}%
+\DeclareTextSymbol\cyrhrdsn\LastDeclaredEncoding{"FA}%
+\DeclareTextSymbol\CYRERY\LastDeclaredEncoding{"DB}%
+\DeclareTextSymbol\cyrery\LastDeclaredEncoding{"FB}%
+\DeclareTextSymbol\CYRSFTSN\LastDeclaredEncoding{"DC}%
+\DeclareTextSymbol\cyrsftsn\LastDeclaredEncoding{"FC}%
+\DeclareTextSymbol\CYREREV\LastDeclaredEncoding{"DD}%
+\DeclareTextSymbol\cyrerev\LastDeclaredEncoding{"FD}%
+\DeclareTextSymbol\CYRYU\LastDeclaredEncoding{"DE}%
+\DeclareTextSymbol\cyryu\LastDeclaredEncoding{"FE}%
+\DeclareTextSymbol\CYRYA\LastDeclaredEncoding{"DF}%
+\DeclareTextSymbol\cyrya\LastDeclaredEncoding{"FF}%
+\DeclareTextSymbol\CYRYO\LastDeclaredEncoding{"9C}%
+\DeclareTextSymbol\cyryo\LastDeclaredEncoding{"BC}%
+\DeclareTextSymbol\CYRDZE\LastDeclaredEncoding{"8F}%
+\DeclareTextSymbol\cyrdze\LastDeclaredEncoding{"AF}%
+\DeclareTextSymbol\CYRYAT\LastDeclaredEncoding{"93}%
+\DeclareTextSymbol\cyryat\LastDeclaredEncoding{"B3}%
+\DeclareTextSymbol\CYRBYUS\LastDeclaredEncoding{"97}%
+\DeclareTextSymbol\cyrbyus\LastDeclaredEncoding{"B7}%
+\DeclareTextSymbol\CYRIZH\LastDeclaredEncoding{"8A}%
+\DeclareTextSymbol\cyrizh\LastDeclaredEncoding{"AA}%
+\DeclareTextSymbol\CYRIE\LastDeclaredEncoding{"99}%
+\DeclareTextSymbol\cyrie\LastDeclaredEncoding{"B9}%
+\DeclareTextSymbol\CYREPS\LastDeclaredEncoding{"9B}%
+\DeclareTextSymbol\cyreps\LastDeclaredEncoding{"BB}%
+\DeclareTextSymbol\CYRAZ\LastDeclaredEncoding{"80}%
+\DeclareTextSymbol\cyraz\LastDeclaredEncoding{"A0}%
+\DeclareTextSymbol\CYRIAZ\LastDeclaredEncoding{"81}%
+\DeclareTextSymbol\cyriaz\LastDeclaredEncoding{"A1}%
+\DeclareTextSymbol\CYRLYUS\LastDeclaredEncoding{"82}%
+\DeclareTextSymbol\cyrlyus\LastDeclaredEncoding{"A2}%
+\DeclareTextSymbol\CYRIOTLYUS\LastDeclaredEncoding{"83}%
+\DeclareTextSymbol\cyriotlyus\LastDeclaredEncoding{"A3}%
+\DeclareTextSymbol\CYRGERV\LastDeclaredEncoding{"84}%
+\DeclareTextSymbol\cyrgerv\LastDeclaredEncoding{"A4}%
+\DeclareTextSymbol\CYRZEMLA\LastDeclaredEncoding{"86}%
+\DeclareTextSymbol\cyrzemla\LastDeclaredEncoding{"A6}%
+\DeclareTextSymbol\CYRKSI\LastDeclaredEncoding{"87}%
+\DeclareTextSymbol\cyrksi\LastDeclaredEncoding{"A7}%
+\DeclareTextSymbol\CYRVARIZHE\LastDeclaredEncoding{"88}%
+\DeclareTextSymbol\cyrvarizhe\LastDeclaredEncoding{"A8}%
+\DeclareTextSymbol\CYRIZHE\LastDeclaredEncoding{"89}%
+\DeclareTextSymbol\cyrizhe\LastDeclaredEncoding{"A9}%
+\DeclareTextSymbol\CYROMGA\LastDeclaredEncoding{"8B}%
+\DeclareTextSymbol\cyromga\LastDeclaredEncoding{"AB}%
+\DeclareTextSymbol\CYROMRND\LastDeclaredEncoding{"8C}%
+\DeclareTextSymbol\cyromrnd\LastDeclaredEncoding{"AC}%
+\DeclareTextSymbol\CYROT\LastDeclaredEncoding{"8D}%
+\DeclareTextSymbol\cyrot\LastDeclaredEncoding{"AD}%
+\DeclareTextSymbol\CYROMTLO\LastDeclaredEncoding{"8E}%
+\DeclareTextSymbol\cyromtlo\LastDeclaredEncoding{"AE}%
+\DeclareTextSymbol\CYRFITA\LastDeclaredEncoding{"90}%
+\DeclareTextSymbol\cyrfita\LastDeclaredEncoding{"B0}%
+\DeclareTextSymbol\CYRKOPPA\LastDeclaredEncoding{"91}%
+\DeclareTextSymbol\cyrkoppa\LastDeclaredEncoding{"B1}%
+\DeclareTextSymbol\CYRUK\LastDeclaredEncoding{"92}%
+\DeclareTextSymbol\cyruk\LastDeclaredEncoding{"B2}%
+\DeclareTextSymbol\CYRCHERV\LastDeclaredEncoding{"94}%
+\DeclareTextSymbol\cyrcherv\LastDeclaredEncoding{"B4}%
+\DeclareTextSymbol\CYRPSI\LastDeclaredEncoding{"95}%
+\DeclareTextSymbol\cyrpsi\LastDeclaredEncoding{"B5}%
+\DeclareTextSymbol\CYRSHTA\LastDeclaredEncoding{"96}%
+\DeclareTextSymbol\cyrshta\LastDeclaredEncoding{"B6}%
+\DeclareTextSymbol\CYRIOTBYUS\LastDeclaredEncoding{"98}%
+\DeclareTextSymbol\cyriotbyus\LastDeclaredEncoding{"B8}%
+\DeclareTextSymbol\CYRIOTEST\LastDeclaredEncoding{"9A}%
+\DeclareTextSymbol\cyriotest\LastDeclaredEncoding{"BA}%
+\DeclareTextSymbol\CYRNARROWE\LastDeclaredEncoding{"9B}%
+\DeclareTextSymbol\cyrnarrowe\LastDeclaredEncoding{"BB}%
+\DeclareTextAccent\`\LastDeclaredEncoding{"00}%
+\DeclareTextAccent\'\LastDeclaredEncoding{"01}%
+\DeclareTextAccent\^\LastDeclaredEncoding{"02}%
+\DeclareTextAccent\~\LastDeclaredEncoding{"03}%
+\DeclareTextAccent\"\LastDeclaredEncoding{"04}%
+\DeclareTextAccent\H\LastDeclaredEncoding{"05}%
+\DeclareTextAccent\r\LastDeclaredEncoding{"06}%
+\DeclareTextAccent\v\LastDeclaredEncoding{"07}%
+\DeclareTextAccent\u\LastDeclaredEncoding{"08}%
+\DeclareTextAccent\=\LastDeclaredEncoding{"09}%
+\DeclareTextAccent\.\LastDeclaredEncoding{"0A}%
+\DeclareTextSymbol\cyrlangle\LastDeclaredEncoding{"0E}%
+\DeclareTextSymbol\cyrrangle\LastDeclaredEncoding{"0F}%
+\DeclareTextAccent\F\LastDeclaredEncoding{"12}%
+\DeclareTextAccent\C\LastDeclaredEncoding{"13}%
+\DeclareTextAccent\U\LastDeclaredEncoding{"14}%
+\DeclareTextSymbol\cyrdash\LastDeclaredEncoding{"16}%
+\DeclareTextSymbol\perthousand\LastDeclaredEncoding{"18}%
+\DeclareTextSymbol\i\LastDeclaredEncoding{"19}%
+\DeclareTextSymbol\j\LastDeclaredEncoding{"1A}%
+\DeclareTextSymbol\CYRNo\LastDeclaredEncoding{"9D}%
+\DeclareTextSymbol\textsection\LastDeclaredEncoding{"9F}%
+\DeclareTextSymbol\quotedblbase\LastDeclaredEncoding{"BD}%
+\DeclareTextSymbol\guillemotleft\LastDeclaredEncoding{"BE}%
+\DeclareTextSymbol\guillemotright\LastDeclaredEncoding{"BF}%
+\DeclareTextAccent\CYRtitlo\LastDeclaredEncoding{"0B}%
+\DeclareTextAccent\CYRpalatal\LastDeclaredEncoding{"0C}%
+\DeclareTextAccent\CYRpaerok\LastDeclaredEncoding{"0D}%
+\DeclareTextAccent\CYRkamora\LastDeclaredEncoding{"17}%
+\DeclareTextAccent\CYRpsili\LastDeclaredEncoding{"1B}%
+\DeclareTextAccent\CYRdasia\LastDeclaredEncoding{"1C}%
+\DeclareTextAccent\CYRzvat\LastDeclaredEncoding{"1D}%
+\DeclareTextAccent\CYRpneuac\LastDeclaredEncoding{"1E}%
+\DeclareTextAccent\CYRpneugrav\LastDeclaredEncoding{"1F}%
+\DeclareTextAccent\CYRthousands\LastDeclaredEncoding{"9E}%
+\DeclareTextSymbol\CYRNASH\LastDeclaredEncoding{"85}%
+\DeclareTextSymbol\cyrnash\LastDeclaredEncoding{"A5}%
+%
+%</t2denc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{t2dcmr.fd}}
+% \begin{macrocode}
+%<*t2dcmr.fd>
+\ProvidesFile{t2dcmr.fd}
+ [Experimental T2D cmr]
+\providecommand{\EC@family}[5]{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}%
+ {<5><6><7><8><9><10><10.95><12><14.4>%
+ <17.28><20.74><24.88><29.86><35.83>genb*#5}{}}
+\DeclareFontFamily{T2D}{cmr}{}
+\EC@family{T2D}{cmr}{m}{n}{ldrm}
+\EC@family{T2D}{cmr}{m}{sl}{ldsl}
+\EC@family{T2D}{cmr}{m}{it}{ldti}
+\EC@family{T2D}{cmr}{m}{sc}{ldcc}
+\EC@family{T2D}{cmr}{bx}{n}{ldbx}
+\EC@family{T2D}{cmr}{b}{n}{ldrb}
+\EC@family{T2D}{cmr}{bx}{it}{ldbi}
+\EC@family{T2D}{cmr}{bx}{sl}{ldbl}
+\EC@family{T2D}{cmr}{bx}{sc}{ldxc}
+\EC@family{T2D}{cmr}{m}{ui}{ldui}
+%
+%</t2dcmr.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{tengwarDS.enc}}
+% \begin{macrocode}
+%<*tengwarDS.enc>
+%
+%
+% nomapping(anna_sindarinwa,h) % (in Quenya-A)
+% nomapping(stl_vala,???)
+%
+% nomapping(double_acute)
+% nomapping(double_right_curl)
+% nomapping(double_left_curl)
+% nomapping(tilde)
+
+%
+
+%
+%
+% ligature tinco three_above (one E) is OK.
+%
+% ligature anna three_above (h E) is OK.
+% ligature anna acute (h R) is OK.
+% ligature anna amaticse (h T) is OK.
+% ligature anna right_curl (h Y) is OK.
+% ligature anna chevron (h Ugrave) is OK.
+% ligature anna nasalizer (h bracketleft) is OK.
+
+% ligature quesse three_above (z E) is OK.
+% ligature quesse acute (z R) is OK.
+% ligature quesse amaticse (z T) is OK.
+% ligature quesse right_curl (z Y) is OK.
+% ligature quesse chevron (z Ugrave) is OK.
+% ligature quesse nasalizer (z bracketleft) is OK.
+
+% ligature lambe three_above (j E) is OK.
+% ligature lambe acute (j R) is OK.
+% ligature lambe amaticse (j T) is OK.
+% ligature lambe right_curl (j Y) is OK.
+% ligature lambe chevron (j Ugrave) is OK.
+% ligature lambe nasalizer (j bracketleft) is OK.
+
+% ligature malta three_above:
+% LIGKERN t E |=:> numbersign
+% ligature malta acute:
+% LIGKERN t R |=:> dollar
+% ligature malta amaticse:
+% LIGKERN t T |=:> percent
+% ligature malta right_curl:
+% LIGKERN t Y |=:> asciicircum
+% ligature malta chevron:
+% LIGKERN t Ugrave |=:> Oslash
+% ligature malta nasalizer:
+% LIGKERN t bracketleft |=:> braceleft
+
+% ligature nuumen three_above:
+% LIGKERN five E |=:> numbersign
+% ligature nuumen acute:
+% LIGKERN five R |=:> dollar
+% ligature nuumen amaticse:
+% LIGKERN five T |=:> percent
+% ligature nuumen right_curl:
+% LIGKERN five Y |=:> asciicircum
+% ligature nuumen chevron:
+% LIGKERN five Ugrave |=:> Oslash
+% ligature nuumen nasalizer:
+% LIGKERN five bracketleft |=:> braceleft
+
+% ligature parma three_above (q E) is OK.
+% ligature parma acute (q R) is OK.
+% ligature parma amaticse (q T) is OK.
+% ligature parma right_curl (q Y) is OK.
+% ligature parma chevron (q Ugrave) is OK.
+% ligature parma nasalizer (q bracketleft) is OK.
+
+% ligature silme_nuquerna three_above (i E) is OK.
+% ligature silme_nuquerna acute (i R) is OK.
+% ligature silme_nuquerna amaticse (i T) is OK.
+% ligature silme_nuquerna right_curl (i Y) is OK.
+% ligature silme_nuquerna chevron (i Ugrave) is OK.
+% ligature silme_nuquerna nasalizer (i bracketleft) is OK.
+
+% ligature tinco three_above (one E) is OK.
+% ligature tinco acute (one R) is OK.
+% ligature tinco amaticse (one T) is OK.
+% ligature tinco right_curl (one Y) is OK.
+% ligature tinco chevron (one Ugrave) is OK.
+% ligature tinco nasalizer (one bracketleft) is OK.
+
+% ligature vala three_above (y E) is OK.
+% ligature vala acute (y R) is OK.
+% ligature vala amaticse (y T) is OK.
+% ligature vala right_curl (y Y) is OK.
+% ligature vala chevron (y Ugrave) is OK.
+% ligature vala nasalizer (y bracketleft) is OK.
+
+% ligature short_carrier three_above:
+% LIGKERN grave E |=:> C
+% ligature short_carrier acute:
+% LIGKERN grave R |=:> V
+% ligature short_carrier amaticse:
+% LIGKERN grave T |=:> B
+% ligature short_carrier right_curl:
+% LIGKERN grave Y |=:> N
+% ligature short_carrier chevron:
+% LIGKERN grave Ugrave |=:> Ucircumflex
+% ligature short_carrier nasalizer (grave bracketleft) is OK.
+
+% ligature three_above nasalizer:
+% LIGKERN numbersign bracketleft |=:> braceleft
+% ligature acute nasalizer:
+% LIGKERN dollar bracketleft |=:> braceleft
+% ligature amaticse nasalizer:
+% LIGKERN percent bracketleft |=:> braceleft
+% ligature right_curl nasalizer:
+% LIGKERN asciicircum bracketleft |=:> braceleft
+% ligature chevron nasalizer:
+% LIGKERN Oslash bracketleft |=:> braceleft
+
+% ligature nasalizer three_above:
+% LIGKERN braceleft E |=:> numbersign
+% ligature nasalizer acute:
+% LIGKERN braceleft R |=:> dollar
+% ligature nasalizer amaticse:
+% LIGKERN braceleft T |=:> percent
+% ligature nasalizer right_curl:
+% LIGKERN braceleft Y |=:> asciicircum
+% ligature nasalizer chevron:
+% LIGKERN braceleft Ugrave |=:> Oslash
+%
+%
+%
+/TengwarEncoding [
+
+% 0x00
+ /one /q /a /z
+ /two /w /s /x
+ /three /e /d /c
+ /four /r /f /v
+% 0x10
+ /five /t /g /b
+ /six /y /h /n
+ /seven /eight /j /m
+ /eight /i /k /comma
+% 0x20
+ /nine /o /l /period
+ /onehalf /grave /asciitilde /.c0x7f
+ /exclam /Q /A /Z
+ /at /W /S /X
+% 0x30
+ /.c240 /.c0x7f /bracketright /.c241
+ /space /space /space /space % 4567
+ /space /space /space /space % 89AB
+ /space /space /space /space % CDEF
+% 0x40
+ /E /.c209 /.c213 /.c205
+ /T /.c201 /R /.c0x7f
+ /Y /.c0x7f /.c225 /.c0x7f
+ /bracketleft /quotesingle /.c0x7f /.c0x7f
+% 0x50
+ /equal /hyphen /.c193 /.c192
+ /backslash /.c194 /.c0x7f /.c0x7f
+ /.c0x7f /space /.c0x7f /space
+ /.c0x7f /.c0x7f /space /space
+% 0x60
+ /space /space /.c242 /.c243
+ /.c244 /.c245 /.c246 /.c247
+ /.c248 /.c249 /.c250 /.c251
+ /.c0x7f /.c0x7f /.c0x7f /space
+% 0x70
+ /space /space /space /space % 0123
+ /space /space /space /space % 4567
+ /space /space /space /space % 89AB
+ /space /space /space /space
+
+% 0x80
+ /numbersign /D /C /Oslash % 0123
+ /Uacute /Ucircumflex /dollar /F % 4567
+ /V /percent /G /B % 89AB
+ /asciicircum /H /N /braceleft % CDEF
+% 0x90
+ /quotedbl /question /.c212 /.c214 % 0123
+ /.c215 /.c204 /.c206 /.c207 % 4567
+ /.c208 /.c210 /.c211 /.c200 % 89AB
+ /.c202 /.c203 /.c224 /.c226 % CDEF
+% 0xA0
+ /.c227 /.notdef /.notdef /.notdef % 0123
+ /.notdef /.notdef /.notdef /.notdef % 4567
+ /.notdef /.notdef /.notdef /.notdef % 89AB
+ /.notdef /.notdef /.notdef /.notdef % CDEF
+% 0xB0
+ /.notdef /.notdef /.notdef /.notdef % 0123
+ /.notdef /.notdef /.notdef /.notdef % 4567
+ /.notdef /.notdef /.notdef /.notdef % 89AB
+ /.notdef /.notdef /.notdef /.notdef % CDEF
+% 0xC0
+ /.notdef /.notdef /.notdef /.notdef % 0123
+ /.notdef /.notdef /.notdef /.notdef % 4567
+ /.notdef /.notdef /.notdef /.notdef % 89AB
+ /.notdef /.notdef /.notdef /.notdef % CDEF
+% 0xD0
+ /.notdef /.notdef /.notdef /.notdef % 0123
+ /.notdef /.notdef /.notdef /.notdef % 4567
+ /.notdef /.notdef /.notdef /.notdef % 89AB
+ /.notdef /.notdef /.notdef /.notdef % CDEF
+% 0xE0
+ /.notdef /.notdef /.notdef /.notdef % 0123
+ /.notdef /.notdef /.notdef /.notdef % 4567
+ /.notdef /.notdef /.notdef /.notdef % 89AB
+ /.notdef /.notdef /.notdef /.notdef % CDEF
+% 0xF0
+ /.notdef /.notdef /.notdef /.notdef % 0123
+ /.notdef /.notdef /.notdef /.notdef % 4567
+ /.notdef /.notdef /.notdef /.notdef % 89AB
+ /.notdef /.notdef /.notdef /.notdef % CDEF
+] def
+
+
+% eof
+%
+%</tengwarDS.enc>
+% \end{macrocode}
+%
+% \xsection{File \texttt{cp1252.enc}}
+% \begin{macrocode}
+%<*cp1252.enc>
+/CP1252Encoding [
+/.c0x0000 /.c0x0001 /.c0x0002 /.c0x0003 /.c0x0004 /.c0x0005 /.c0x0006
+/.c0x0007 /.c0x0008 /.c0x0009 /.c0x000A /.c0x000B /.c0x000C /.c0x000D
+/.c0x000E /.c0x000F /.c0x0010 /.c0x0011 /.c0x0012 /.c0x0013 /.c0x0014
+/.c0x0015 /.c0x0016 /.c0x0017 /.c0x0018 /.c0x0019 /.c0x001A /.c0x001B
+/.c0x001C /.c0x001D /.c0x001E /.c0x001F /.c0x0020 /.c0x0021 /.c0x0022
+/.c0x0023 /.c0x0024 /.c0x0025 /.c0x0026 /.c0x0027 /.c0x0028 /.c0x0029
+/.c0x002A /.c0x002B /.c0x002C /.c0x002D /.c0x002E /.c0x002F /.c0x0030
+/.c0x0031 /.c0x0032 /.c0x0033 /.c0x0034 /.c0x0035 /.c0x0036 /.c0x0037
+/.c0x0038 /.c0x0039 /.c0x003A /.c0x003B /.c0x003C /.c0x003D /.c0x003E
+/.c0x003F /.c0x0040 /.c0x0041 /.c0x0042 /.c0x0043 /.c0x0044 /.c0x0045
+/.c0x0046 /.c0x0047 /.c0x0048 /.c0x0049 /.c0x004A /.c0x004B /.c0x004C
+/.c0x004D /.c0x004E /.c0x004F /.c0x0050 /.c0x0051 /.c0x0052 /.c0x0053
+/.c0x0054 /.c0x0055 /.c0x0056 /.c0x0057 /.c0x0058 /.c0x0059 /.c0x005A
+/.c0x005B /.c0x005C /.c0x005D /.c0x005E /.c0x005F /.c0x0060 /.c0x0061
+/.c0x0062 /.c0x0063 /.c0x0064 /.c0x0065 /.c0x0066 /.c0x0067 /.c0x0068
+/.c0x0069 /.c0x006A /.c0x006B /.c0x006C /.c0x006D /.c0x006E /.c0x006F
+/.c0x0070 /.c0x0071 /.c0x0072 /.c0x0073 /.c0x0074 /.c0x0075 /.c0x0076
+/.c0x0077 /.c0x0078 /.c0x0079 /.c0x007A /.c0x007B /.c0x007C /.c0x007D
+/.c0x007E /.c0x007F /.c0x20AC /.notdef /.c0x201A /.c0x0192 /.c0x201E
+/.c0x2026 /.c0x2020 /.c0x2021 /.c0x02C6 /.c0x2030 /.c0x0160 /.c0x2039
+/.c0x0152 /.notdef /.c0x017D /.notdef /.notdef /.c0x2018 /.c0x2019
+/.c0x201C /.c0x201D /.c0x2022 /.c0x2013 /.c0x2014 /.c0x02DC /.c0x2122
+/.c0x0161 /.c0x203A /.c0x0153 /.notdef /.c0x017E /.c0x0178 /.c0x00A0
+/.c0x00A1 /.c0x00A2 /.c0x00A3 /.c0x00A4 /.c0x00A5 /.c0x00A6 /.c0x00A7
+/.c0x00A8 /.c0x00A9 /.c0x00AA /.c0x00AB /.c0x00AC /.c0x00AD /.c0x00AE
+/.c0x00AF /.c0x00B0 /.c0x00B1 /.c0x00B2 /.c0x00B3 /.c0x00B4 /.c0x00B5
+/.c0x00B6 /.c0x00B7 /.c0x00B8 /.c0x00B9 /.c0x00BA /.c0x00BB /.c0x00BC
+/.c0x00BD /.c0x00BE /.c0x00BF /.c0x00C0 /.c0x00C1 /.c0x00C2 /.c0x00C3
+/.c0x00C4 /.c0x00C5 /.c0x00C6 /.c0x00C7 /.c0x00C8 /.c0x00C9 /.c0x00CA
+/.c0x00CB /.c0x00CC /.c0x00CD /.c0x00CE /.c0x00CF /.c0x00D0 /.c0x00D1
+/.c0x00D2 /.c0x00D3 /.c0x00D4 /.c0x00D5 /.c0x00D6 /.c0x00D7 /.c0x00D8
+/.c0x00D9 /.c0x00DA /.c0x00DB /.c0x00DC /.c0x00DD /.c0x00DE /.c0x00DF
+/.c0x00E0 /.c0x00E1 /.c0x00E2 /.c0x00E3 /.c0x00E4 /.c0x00E5 /.c0x00E6
+/.c0x00E7 /.c0x00E8 /.c0x00E9 /.c0x00EA /.c0x00EB /.c0x00EC /.c0x00ED
+/.c0x00EE /.c0x00EF /.c0x00F0 /.c0x00F1 /.c0x00F2 /.c0x00F3 /.c0x00F4
+/.c0x00F5 /.c0x00F6 /.c0x00F7 /.c0x00F8 /.c0x00F9 /.c0x00FA /.c0x00FB
+/.c0x00FC /.c0x00FD /.c0x00FE /.c0x00FF
+] def
+
+% eof
+%
+%</cp1252.enc>
+% \end{macrocode}
+%
+% \xsection{File \texttt{xsenc.def}}
+% \begin{macrocode}
+%<*xsenc.def>
+% This file is a hack. When a manually created xsenc.def
+% appears (e.g. contributed with the LH fonts), this hack should be deleted.
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]%
+\ProvidesFile{xsenc.def}[Experimental XS]%
+\DeclareFontEncoding{XS}{}{}%
+\DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}%
+\DeclareTextSymbol\CYRII\LastDeclaredEncoding{"41}%
+\DeclareTextSymbol\cyrii\LastDeclaredEncoding{"61}%
+\DeclareTextSymbol\CYRJE\LastDeclaredEncoding{"42}%
+\DeclareTextSymbol\cyrje\LastDeclaredEncoding{"62}%
+\DeclareTextSymbol\CYRDZE\LastDeclaredEncoding{"43}%
+\DeclareTextSymbol\cyrdze\LastDeclaredEncoding{"63}%
+\DeclareTextSymbol\CYRYAT\LastDeclaredEncoding{"44}%
+\DeclareTextSymbol\cyryat\LastDeclaredEncoding{"64}%
+\DeclareTextSymbol\CYRBYUS\LastDeclaredEncoding{"45}%
+\DeclareTextSymbol\cyrbyus\LastDeclaredEncoding{"65}%
+\DeclareTextSymbol\CYRIZH\LastDeclaredEncoding{"46}%
+\DeclareTextSymbol\cyrizh\LastDeclaredEncoding{"66}%
+\DeclareTextSymbol\CYRYI\LastDeclaredEncoding{"47}%
+\DeclareTextSymbol\cyryi\LastDeclaredEncoding{"67}%
+\DeclareTextSymbol\CYRNG\LastDeclaredEncoding{"48}%
+\DeclareTextSymbol\cyrng\LastDeclaredEncoding{"68}%
+\DeclareTextSymbol\CYRIE\LastDeclaredEncoding{"49}%
+\DeclareTextSymbol\cyrie\LastDeclaredEncoding{"69}%
+\DeclareTextSymbol\CYRAZ\LastDeclaredEncoding{"4A}%
+\DeclareTextSymbol\cyraz\LastDeclaredEncoding{"6A}%
+\DeclareTextSymbol\CYRIAZ\LastDeclaredEncoding{"4B}%
+\DeclareTextSymbol\cyriaz\LastDeclaredEncoding{"6B}%
+\DeclareTextSymbol\CYRLYUS\LastDeclaredEncoding{"4C}%
+\DeclareTextSymbol\cyrlyus\LastDeclaredEncoding{"6C}%
+\DeclareTextSymbol\CYRIOTLYUS\LastDeclaredEncoding{"4D}%
+\DeclareTextSymbol\cyriotlyus\LastDeclaredEncoding{"6D}%
+\DeclareTextSymbol\CYRGERV\LastDeclaredEncoding{"4E}%
+\DeclareTextSymbol\cyrgerv\LastDeclaredEncoding{"6E}%
+\DeclareTextSymbol\CYRZEMLA\LastDeclaredEncoding{"50}%
+\DeclareTextSymbol\cyrzemla\LastDeclaredEncoding{"70}%
+\DeclareTextSymbol\CYRKSI\LastDeclaredEncoding{"51}%
+\DeclareTextSymbol\cyrksi\LastDeclaredEncoding{"71}%
+\DeclareTextSymbol\CYRVARIZHE\LastDeclaredEncoding{"52}%
+\DeclareTextSymbol\cyrvarizhe\LastDeclaredEncoding{"72}%
+\DeclareTextSymbol\CYRIZHE\LastDeclaredEncoding{"53}%
+\DeclareTextSymbol\cyrizhe\LastDeclaredEncoding{"73}%
+\DeclareTextSymbol\CYROMGA\LastDeclaredEncoding{"54}%
+\DeclareTextSymbol\cyromga\LastDeclaredEncoding{"74}%
+\DeclareTextSymbol\CYROMRND\LastDeclaredEncoding{"55}%
+\DeclareTextSymbol\cyromrnd\LastDeclaredEncoding{"75}%
+\DeclareTextSymbol\CYROT\LastDeclaredEncoding{"56}%
+\DeclareTextSymbol\cyrot\LastDeclaredEncoding{"76}%
+\DeclareTextSymbol\CYROMTLO\LastDeclaredEncoding{"57}%
+\DeclareTextSymbol\cyromtlo\LastDeclaredEncoding{"77}%
+\DeclareTextSymbol\CYRFITA\LastDeclaredEncoding{"58}%
+\DeclareTextSymbol\cyrfita\LastDeclaredEncoding{"78}%
+\DeclareTextSymbol\CYRKOPPA\LastDeclaredEncoding{"59}%
+\DeclareTextSymbol\cyrkoppa\LastDeclaredEncoding{"79}%
+\DeclareTextSymbol\CYRUK\LastDeclaredEncoding{"5A}%
+\DeclareTextSymbol\cyruk\LastDeclaredEncoding{"7A}%
+\DeclareTextSymbol\CYRCHERV\LastDeclaredEncoding{"80}%
+\DeclareTextSymbol\cyrcherv\LastDeclaredEncoding{"A0}%
+\DeclareTextSymbol\CYRPSI\LastDeclaredEncoding{"81}%
+\DeclareTextSymbol\cyrpsi\LastDeclaredEncoding{"A1}%
+\DeclareTextSymbol\CYRSHTA\LastDeclaredEncoding{"82}%
+\DeclareTextSymbol\cyrshta\LastDeclaredEncoding{"A2}%
+\DeclareTextSymbol\CYRIOTBYUS\LastDeclaredEncoding{"83}%
+\DeclareTextSymbol\cyriotbyus\LastDeclaredEncoding{"A3}%
+\DeclareTextSymbol\CYRIOTEST\LastDeclaredEncoding{"84}%
+\DeclareTextSymbol\cyriotest\LastDeclaredEncoding{"A4}%
+\DeclareTextSymbol\CYRNARROWE\LastDeclaredEncoding{"85}%
+\DeclareTextSymbol\cyrnarrowe\LastDeclaredEncoding{"A5}%
+\DeclareTextSymbol\CYRZELO\LastDeclaredEncoding{"86}%
+\DeclareTextSymbol\cyrzelo\LastDeclaredEncoding{"A6}%
+\DeclareTextSymbol\CYRVARUK\LastDeclaredEncoding{"87}%
+\DeclareTextSymbol\cyrvaruk\LastDeclaredEncoding{"A7}%
+\DeclareTextSymbol\CYRVIA\LastDeclaredEncoding{"88}%
+\DeclareTextSymbol\cyrvia\LastDeclaredEncoding{"A8}%
+\DeclareTextSymbol\CYRVLYUS\LastDeclaredEncoding{"89}%
+\DeclareTextSymbol\cyrvlyus\LastDeclaredEncoding{"A9}%
+\DeclareTextSymbol\CYRIZHDGR\LastDeclaredEncoding{"8A}%
+\DeclareTextSymbol\cyrizhdgr\LastDeclaredEncoding{"AA}%
+\DeclareTextSymbol\CYRIZHUML\LastDeclaredEncoding{"8B}%
+\DeclareTextSymbol\cyrizhuml\LastDeclaredEncoding{"AB}%
+\DeclareTextSymbol\CYROLG\LastDeclaredEncoding{"8C}%
+\DeclareTextSymbol\cyrolg\LastDeclaredEncoding{"AC}%
+\DeclareTextSymbol\CYROERY\LastDeclaredEncoding{"8D}%
+\DeclareTextSymbol\cyroery\LastDeclaredEncoding{"AD}%
+\DeclareTextSymbol\CYROHSN\LastDeclaredEncoding{"8E}%
+\DeclareTextSymbol\cyrohsn\LastDeclaredEncoding{"AE}%
+\DeclareTextSymbol\CYROOCDOT\LastDeclaredEncoding{"8F}%
+\DeclareTextSymbol\cyroocdot\LastDeclaredEncoding{"AF}%
+\DeclareTextSymbol\CYROOCDDOT\LastDeclaredEncoding{"90}%
+\DeclareTextSymbol\cyroocddot\LastDeclaredEncoding{"B0}%
+\DeclareTextSymbol\CYRVIZH\LastDeclaredEncoding{"91}%
+\DeclareTextSymbol\cyrvizh\LastDeclaredEncoding{"B1}%
+\DeclareTextSymbol\CYRPPETER\LastDeclaredEncoding{"92}%
+\DeclareTextSymbol\cyrppeter\LastDeclaredEncoding{"B2}%
+\DeclareTextSymbol\CYRTPETER\LastDeclaredEncoding{"93}%
+\DeclareTextSymbol\cyrtpeter\LastDeclaredEncoding{"B3}%
+\DeclareTextSymbol\CYRZELOM\LastDeclaredEncoding{"94}%
+\DeclareTextSymbol\cyrzelom\LastDeclaredEncoding{"B4}%
+\DeclareTextAccent\F\LastDeclaredEncoding{"00}%
+\DeclareTextAccent\C\LastDeclaredEncoding{"01}%
+\DeclareTextAccent\U\LastDeclaredEncoding{"02}%
+\DeclareTextSymbol\cyrdash\LastDeclaredEncoding{"16}%
+\DeclareTextAccent\CYRtitlo\LastDeclaredEncoding{"05}%
+\DeclareTextAccent\CYRpalatal\LastDeclaredEncoding{"06}%
+\DeclareTextAccent\CYRpaerok\LastDeclaredEncoding{"07}%
+\DeclareTextAccent\CYRkamora\LastDeclaredEncoding{"17}%
+\DeclareTextAccent\CYRpsili\LastDeclaredEncoding{"1B}%
+\DeclareTextAccent\CYRdasia\LastDeclaredEncoding{"1C}%
+\DeclareTextAccent\CYRzvat\LastDeclaredEncoding{"1D}%
+\DeclareTextAccent\CYRpneuac\LastDeclaredEncoding{"1E}%
+\DeclareTextAccent\CYRpneugrav\LastDeclaredEncoding{"1F}%
+\DeclareTextAccent\CYRthousands\LastDeclaredEncoding{"9E}%
+\DeclareTextAccent\CYRaccte\LastDeclaredEncoding{"08}%
+\DeclareTextAccent\CYRtma\LastDeclaredEncoding{"09}%
+\DeclareTextAccent\CYRlegion\LastDeclaredEncoding{"0A}%
+\DeclareTextAccent\CYRleodr\LastDeclaredEncoding{"0B}%
+\DeclareTextAccent\CYRvran\LastDeclaredEncoding{"0C}%
+\DeclareTextAccent\CYRkoloda\LastDeclaredEncoding{"0E}%
+\DeclareTextAccent\CYRtmatem\LastDeclaredEncoding{"0F}%
+\DeclareTextAccent\CYRvzvat\LastDeclaredEncoding{"10}%
+\DeclareTextAccent\CYRvdasia\LastDeclaredEncoding{"11}%
+\DeclareTextAccent\CYRvpsili\LastDeclaredEncoding{"12}%
+\DeclareTextAccent\CYRvpneuac\LastDeclaredEncoding{"13}%
+\DeclareTextAccent\CYRvpneugrav\LastDeclaredEncoding{"14}%
+\DeclareTextSymbol\CYRNASH\LastDeclaredEncoding{"4F}%
+\DeclareTextSymbol\cyrnash\LastDeclaredEncoding{"6F}%
+%
+%</xsenc.def>
+% \end{macrocode}
+%
+% \xsection{File \texttt{xscmr.fd}}
+% \begin{macrocode}
+%<*xscmr.fd>
+\ProvidesFile{xscmr.fd}
+ [Experimental XS cmr]
+\providecommand{\EC@family}[5]{%
+ \DeclareFontShape{#1}{#2}{#3}{#4}%
+ {<5><6><7><8><9><10><10.95><12><14.4>%
+ <17.28><20.74><24.88><29.86><35.83>genb*#5}{}}
+\DeclareFontFamily{XS}{cmr}{}
+\EC@family{XS}{cmr}{m}{n}{rsrm}
+\EC@family{XS}{cmr}{m}{sl}{rssl}
+\EC@family{XS}{cmr}{m}{it}{rsti}
+\EC@family{XS}{cmr}{m}{sc}{rscc}
+\EC@family{XS}{cmr}{bx}{n}{rsbx}
+\EC@family{XS}{cmr}{b}{n}{rsrb}
+\EC@family{XS}{cmr}{bx}{it}{rsbi}
+\EC@family{XS}{cmr}{bx}{sl}{rsbl}
+\EC@family{XS}{cmr}{bx}{sc}{rsxc}
+\EC@family{XS}{cmr}{m}{ui}{rsui}
+%
+%</xscmr.fd>
+% \end{macrocode}
+%
+% \xsection{File \texttt{ucshyper.sty}}
+% \begin{macrocode}
+%<*ucshyper.sty>
+\ProvidesPackage{ucshyper}[2002/03/05
+ UCS: Unicode in Hyperref's PDF bookmarks]%
+\ifx\pdfoutput\undefined
+ \PackageWarning{ucshyper}{ucshyper needs to be run with
+ pdflatex.\MessageBreak Disabling functionality}%
+ \expandafter\endinput\fi
+\RequirePackage[pdftex,unicode]{hyperref}
+%
+\newif\ifucshyper@prerender\ucshyper@prerendertrue
+\newif\ifucshyper@direct\ucshyper@directtrue
+\DeclareOption{nodirect}{\ucshyper@directfalse}%
+\DeclareOption{direct}{\ucshyper@directtrue}%
+\DeclareOption{noprerender}{\ucshyper@prerenderfalse}%
+\DeclareOption{prerender}{\ucshyper@prerendertrue}%
+\ProcessOptions*%
+%
+\newcommand\UCSPU@tmp{}%
+\newcommand\UCSPU[1]{%
+ \begingroup\let\UCSPU@tmp\relax\relax\ifx\UCSPU@tmp\relax
+ \ifx\utf@viii@map\undefined\else
+ \expandafter\utf@viii@map\expandafter{\number#1}\fi
+ \ifnum#1>"FFFF
+ \PackageError{ucshy}{UCSPU does not support codes greater than
+ \number"FFFF}\fi
+ \@tempcntb#1\divide\@tempcntb by'40000
+ \edef\uc@temp@a{\@backslashchar\number\@tempcntb}%
+ \multiply\@tempcntb by'40000 \@tempcnta#1\advance\@tempcnta by-\@tempcntb
+ \@tempcntb\@tempcnta\divide\@tempcntb by'4000
+ \edef\uc@temp@a{\uc@temp@a\number\@tempcntb}%
+ \multiply\@tempcntb by'4000\advance\@tempcnta by-\@tempcntb
+ \@tempcntb\@tempcnta\divide\@tempcntb by'400
+ \edef\uc@temp@a{\uc@temp@a\number\@tempcntb\@backslashchar}%
+ \multiply\@tempcntb by'400\advance\@tempcnta by-\@tempcntb
+ \@tempcntb\@tempcnta\divide\@tempcntb by'100
+ \edef\uc@temp@a{\uc@temp@a\number\@tempcntb}%
+ \multiply\@tempcntb by'100\advance\@tempcnta by-\@tempcntb
+ \@tempcntb\@tempcnta\divide\@tempcntb by'10
+ \edef\uc@temp@a{\uc@temp@a\number\@tempcntb}%
+ \multiply\@tempcntb by'10\advance\@tempcnta by-\@tempcntb
+ \@tempcntb\@tempcnta
+ \expandafter\xdef\csname UCS2PU\number#1\endcsname{%
+ \uc@temp@a\number\@tempcntb}%
+% \typeout{UCS2PU: \number#1 -> \uc@temp@a\number\@tempcntb}%
+ \fi\endgroup
+}
+\newcommand\ucspu@err[1]{%
+ \csname[*** Insert \string\UCSPU{\number#1}
+ into preamble ***]\endcsname}
+\@ifundefined{pdfstringdefPreHook}{\let\pdfstringdefPreHook\@empty}{}
+\g@addto@macro\pdfstringdefPreHook{%
+ \ifucshyper@direct
+ \let\old@unichar\unichar
+ \def\unichar#1{%
+ \expandafter\ifx\csname UCS2PU\number#1\endcsname\relax
+ \ucspu@err{#1}\old@unichar{#1}\else
+ \csname UCS2PU\number#1\endcsname\fi
+ }%
+ \fi
+ \let\selectfont\empty
+ \let\fontencoding\@gobble
+ \let\selectlanguage\@gobble
+ \let\foreignlanguage\@gobble
+ }
+\let\ucshyper@old@pdfstringdef\pdfstringdef
+\def\pdfstringdef#1#2{%
+ \ifucshyper@prerender
+ \begingroup
+ \let\old@unichar\unichar
+ \let\uc@output\@gobbletwo
+ \fontencoding{PU}\enc@update
+ \def\unichar##1{\old@unichar{##1}\UCSPU{##1}}%
+ \edef\0{\string\0}%
+ \edef\1{\string\1}%
+ \edef\2{\string\2}%
+ \edef\3{\string\3}%
+ \edef\8{\string\8}%
+ \edef\9{\string\9}%
+ \Hy@pdfstringtrue
+ \PrerenderUnicode{#2}%
+ \endgroup
+ \fi
+ \ucshyper@old@pdfstringdef{#1}{#2}}
+\newcommand\UCSPUrange[2]{%
+ \count255=#1\relax
+ \loop\ifnum\count255>#2\relax\else
+ \UCSPU{\count255}%
+ \advance\count255 by1\relax
+ \repeat}
+\@onlypreamble\UCSPUrange
+%
+%</ucshyper.sty>
+% \end{macrocode}
+%
+% \Finale
+% \PrintChanges