diff options
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/ucs/ucs.dtx | 6003 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/ucs/ucs.ins | 91 |
2 files changed, 6094 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/ucs/ucs.dtx b/Master/texmf-dist/source/latex/ucs/ucs.dtx new file mode 100644 index 00000000000..053662393b6 --- /dev/null +++ b/Master/texmf-dist/source/latex/ucs/ucs.dtx @@ -0,0 +1,6003 @@ +% \iffalse meta-comment +% -*-coding: utf-8; mode: latex;-*- +% +%<*driver> +\ProvidesFile{ucs.dtx}[2022/08/07 v2.3 + UCS: Master document for generating documentation for ucs.sty] +% +\documentclass{ltxdoc} +%\usepackage[postscript]{ucls} +\usepackage[utf8x]{inputenc} +%\usepackage[univerb]{ucsutils} +\def\SetUnicodeOption#1{} + +\setcounter{section}{-1} +\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}[2022/108/07 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\\David Carlisle (2022 +%update)\thanks{\url{https://github.com/LaTeX-Package-Repositories/ucs}}} +%\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{2022 Update Notes} +% \large\bfseries +% When |ucs/uf8x| was first written, its Unicode support was far +% more extensive than the standard release, and users could simply +% opt in via the |[utf8x]| option. In the years since then Standard +% \LaTeX\ Unicode support has been extended and enabled by default. +% Various features such as filenames, |\label| arguments and upper/lower +% case changing now work by default with UTF-8, but assuming the standard +% implementation. +% +% With the June 2022 \LaTeX\ release these incompatibilities meant +% that simply loading |inputenc| with the |utf8x| option could produce +% low level \TeX\ errors. +% +% The original maintainers kindly allowed the \LaTeX\ project members +% to make this |2022/08/07 v2.3| release. +% +% The remaining documentation is unchanged but version 2.3 introduces +% the following changes +% +% \begin{itemize} +% \item If a document uses |\usepackage[utf8x]{inputenc}| when the +% |ucs| package has \emph{not} been loaded, a message is issued on the +% terminal, and the standard |[utf8]| option is used instead. +% +% The warning can be avoided by simply deleting\\ +% |\usepackage[utf8x]{inputenc}|\\ +% as UTF-8 is the default encoding. +% +% \item If the |ucs| package is loaded explicitly, then the |utf8x.def| +% file is input in the normal way. |utf8x.def| and |ucs.sty| have both +% been modified to be more compatible with current \LaTeX\ releases. +% Notably making the active characters |\protected| so that they work +% with the new |\MakeUppercase|. +% +% \end{itemize} +% +% \normalsize\normalfont +% +%\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 +%\'c). 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\AddToHook\@undefined\else +\AddToHook{package/hyperref/after}{% + \def\HyPsd@expand@utfvii{% + \count@"C2 + \@tempcnta"E0 + \def\UTFviii@tmp{% +\expandafter\def\expandafter~\expandafter####\expandafter1\expandafter{~{####1}}% +}% + \UTFviii@loop + \count@"E0 + \@tempcnta"F0 + \def\UTFviii@tmp{% +\expandafter\def\expandafter~\expandafter####\expandafter1\expandafter####\expandafter2\expandafter{~{####1}{####2}}% +}% + \UTFviii@loop + \count@"F0 + \@tempcnta"F5 + \def\UTFviii@tmp{% +\expandafter\def\expandafter~\expandafter####\expandafter1\expandafter####\expandafter2\expandafter####\expandafter3\expandafter{~{####1}{####2}{####3}}% +}% + \UTFviii@loop + + } +} +\fi + +\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}[2022/08/07 v2.3 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\protected\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}[2022/08/07 UCS: Input encoding UTF-8]% + +\ifx\uc@char@notloaded\@undefined + +\PackageNoteNoLine{ucs}{% +utf8x\space disabled,\space assuming\space standard\space utf8\space processing\MessageBreak +load\space ucs\space package\space to\space force\space utf8x\space processing} + +\let\ucs@parse@XML@charref\parse@XML@charref +\let\ucs@parse@UTFviii@a\parse@UTFviii@a +\let\ucs@parse@UTFviii@b\parse@UTFviii@b +\AddToHook{begindocument/end}{% +\let\parse@XML@charref\ucs@parse@XML@charref +\let\parse@UTFviii@a\ucs@parse@UTFviii@a +\let\parse@UTFviii@b\ucs@parse@UTFviii@b +} + +\protected\def\unichar#1{% +\begingroup +\count@#1\relax +\ifnum\count@>127 +\parse@XML@charref +\else +\edef\UTFviii@tmp{\char\the\count@\relax}% +\fi +\expandafter +\endgroup +\UTFviii@tmp +} +% +\def\inputencodingname{utf8} +% need to re-input this to undo the RawInputEncoding +\input{utf8.def}% +% +\expandafter\expandafter\expandafter\endinput +\fi +\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 + \protected\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 + \protected\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 diff --git a/Master/texmf-dist/source/latex/ucs/ucs.ins b/Master/texmf-dist/source/latex/ucs/ucs.ins new file mode 100644 index 00000000000..345494c8e80 --- /dev/null +++ b/Master/texmf-dist/source/latex/ucs/ucs.ins @@ -0,0 +1,91 @@ +\input docstrip.tex +\keepsilent + +\preamble + +Copyright 2001 Dominique Unruh <unruh@ut.ee> +Copyright 2013 Wolfgang Jeltsch <wolfgang@cs.ioc.ee> +Copyright 2022 David Carlisle https://github.com/LaTeX-Package-Repositories/ucs + +This program is provided under the terms of the LaTeX Project Public License with some +modifications. See the file LICENSE for information. + +\endpreamble + +%\askonceonly +\askforoverwritefalse +\nopostamble + +\def\gen#1{\xdef\filesgen{\filesgen\space#1}\file{#1}{\from{ucs.dtx}{#1}}} +\def\filesgen{} + +\Msg{***********************************************************} +\Msg{* Generating LaTeX files} +\Msg{***********************************************************} + +\usedir{tex/latex/ucs} +\generate{\gen{ucs.sty} + \gen{utf8x.def} + \gen{ucsencs.def} + \gen{ucsutils.sty} + \gen{ucshyper.sty} + } +\usedir{tex/latex/ucs/utils} +\generate{\gen{c00enc.def} + \gen{c10enc.def} + \gen{c40enc.def} + \gen{c42enc.def} + \gen{c61enc.def} + \gen{cenccmn.tex} + \gen{lklenc.def} + \gen{lklkli.fd} + \gen{autofe.sty} + \gen{ldvenc.def} + \gen{ldvarial.fd} + \gen{ldvc2000.fd} + \gen{letenc.def} + \gen{letgfzem.fd} + \gen{letjiret.fd} + \gen{letc2000.fd} + \gen{ltaenc.def} + \gen{ltaarial.fd} + \gen{ltac2000.fd} + \gen{ltgenc.def} + \gen{ltgc2000.fd} + \gen{ltlenc.def} + \gen{ltlcmr.fd} + \gen{lucenc.def} + \gen{lucc2000.fd} + \gen{lucarial.fd} + \gen{mkrenc.def} + \gen{mkrezra.fd} + \gen{mkrhadas.fd} + \gen{mkromega.fd} + \gen{mkrrashi.fd} + \gen{t2denc.def} + \gen{t2dcmr.fd} + \gen{tengwarDS.enc} + \gen{ltwenc.def} + \gen{ltwdsque.fd} + \gen{ltwdsnol.fd} + \gen{ltwdssin.fd} + \gen{xsenc.def} + \gen{xscmr.fd} + \gen{cp1252.enc} + } + + +\Msg{***********************************************************} +\Msg{* To finish the installation you have to move the files} +\Msg{*\filesgen} +\Msg{* into a directory searched by LaTeX,} +\Msg{* (suggestion: <TEXBASE-DIR>/tex/latex/ucs/)} +\Msg{* To produce the documentation do:} +\Msg{* \space\space pdflatex ucs.dtx} +\Msg{* \space\space makeindex -s gind ucs.idx} +\Msg{* \space\space makeindex -s gglo -o ucs.gls ucs.glo} +\Msg{* \space\space pdflatex ucs.dtx} +\Msg{* or whatever is appropiate for your system.} +\Msg{***********************************************************} + +\endbatchfile |