% \iffalse meta-comment % -*-coding: utf-8; mode: latex;-*- % %<*driver> \ProvidesFile{ucs.dtx}[2013/05/11 v2.2 UCS: Master document for generating documentation for ucs.sty] % \documentclass{ltxdoc} \usepackage[postscript]{ucs} \usepackage[utf8x]{inputenc} \usepackage[univerb]{ucsutils} \usepackage[T2A,T1]{fontenc} \usepackage[hyperindex,unicode]{hyperref} %\makeatletter %\IfFileExists{srcltx.sty}{ % \usepackage{srcltx} % \src@everypar{\the\everypar\src@spec} % \gdef\MainFile{\jobname.dtx} %}{} % \newcommand\tobe{% \typeout{*** TO BE DONE ***}% [[[ TO BE DONE ]]]} \newcommand\univerbtt{\ttfamily\frenchspacing\univerb} %\overfullrule=10pt \setcounter{IndexColumns}{2} \GetFileInfo{ucs.sty} \CodelineIndex %\PageIndex \RecordChanges \EnableCrossrefs %\DisableCrossrefs %\OnlyDescription \begin{document} \DocInput{ucs.dtx} \end{document} % % \fi % % \changes{v1.99}{2004/10/17}{Last version by Dominique Unruh} % \changes{v2.0}{2012/04/20}{Switched to LPPL~1.3} % \changes{v2.0}{2012/04/20}{Changed the \texttt{mathletters} mappings of some greek small letters % from \cs{var\textit{letter}} to \cs{\textit{letter}} in order to % conform to the Unicode standard} % \changes{v2.0}{2012/04/20}{Added \texttt{mathletters} mappings for variants of greek small % letters} % \changes{v2.0}{2012/04/20}{Switched from \cs{mathbbm} to \cs{mathbb} for double-struck characters} % \changes{v2.0}{2012/04/20}{Added support for various symbols} % \changes{v2.0}{2012/04/20}{Created makefile} % \changes{v2.0}{2012/04/20}{Various small improvements} % \changes{v2.1}{2012/08/28}{Added support for various arrows, musical notes, and NON-BREAKING % HYPHEN} % \changes{v2.1}{2012/08/28}{Some small bug fixes} % \changes{v2.2}{2013/05/11}{Fixed a bug related to the optional definition of \cs{@ifnextchar} (see % \url{http://tinyurl.com/dxncfn9})} % ^^A FIXME: The page number of the changelog entry for the \show removal mentions page 48, although % ^^A the code appears on page 50. % ^^A FIXME: There are no index entries for macro descriptions (only for macro definitions and % ^^A usage). % ^^A FIXME: The index entries do not use hyperlinks. % % \expandafter\let\expandafter\percent\csname @percentchar\endcsname % \let\ucsdocmfour1^^A % \let\xsection\section %\ProvidesFile{ucs-doc.tex}[2004/10/17 Main documentation for package ucs] % %\ifx\ucsdocmfour\undefined %\documentclass{ltxdoc} %\overfullrule=10pt %\usepackage[utf8x]{inputenc} %\usepackage[T1]{fontenc} %\newcommand\tobe{^^A % \typeout{*** TO BE DONE ***}^^A % [[[ TO BE DONE ]]]} %\makeatletter %\let\percent\@percentchar %\begin{document} %\fi % %\title{\texttt{ucs.sty} - Unicode Support} %\author{Dominique~P.~G.~Unruh\\Wolfgang Jeltsch} %\maketitle % %\MakeShortVerb{\|} % %\makeatletter % %^^A\newcommand\task[1]{\fbox{\textbf{#1}}} %\newcommand\args[1]{\settowidth{\synwidth}{Synopsis: }Synopsis: % \texttt{#1}\\} %\newlength{\synwidth} %\newcommand\breakindent{\hskip0ptplus1fill^^A % \penalty0^^A % \hskip0ptplus-1fill^^A % \hskip-\synwidth^^A % \null\nobreak\hskip\synwidth\relax} %^^A\newcommand\marg[1]{\{\meta{#1}\}\breakindent} %^^A\newcommand\oarg[1]{[\meta{#1}]\breakindent} %\newenvironment{local}[1] % {\begin{macro}{#1}{\tiny (local)}} % {\end{macro}} %\newenvironment{local*}[1] % {\begin{macro}{#1}} % {\end{macro}} %\let\bs=\bslash %\def\SpecialMainOptionIndex#1{\@bsphack\special@index{^^A % #1\actualchar % {\string\ttfamily\space#1} % (option)^^A % \encapchar main}^^A % \special@index{options:\levelchar{^^A % \string\ttfamily\space#1}\encapchar % main}\@esphack} %\def\SpecialOptionIndex#1{\@bsphack % \index{#1\actualchar{\protect\ttfamily#1} % (option)\encapchar usage}^^A % \index{options:\levelchar{\protect\ttfamily#1}\encapchar % usage}\@esphack} %\def\DescribeOption{\leavevmode\@bsphack\begingroup\MakePrivateLetters % \Describe@Option} %\def\Describe@Option#1{\endgroup % \marginpar{\raggedleft\PrintDescribeEnv{#1}}^^A % \SpecialOptionIndex{#1}\@esphack\ignorespaces} %\def\PrintDescribeMacro#1{\strut \MacroFont \llap{\string #1}\ } % %\makeatother % %\parindent=0pt %\parskip=\medskipamount % %\tableofcontents % %\section{Usage} % %Simply use |\usepackage{ucs}| and |\usepackage[utf8x]{inputenc}|, %then you will be able %to write your LaTeX-Documents in UTF-8. % %You can access a Unicode character with %\texttt{\bs unichar\{\meta{code}\}}, even when the active input encoding is %not |utf8|. % %An unicode character can have an default glyph macro and several glyph %macros associated with options. If one of these options is set, the %associated macro is used, otherwise the default macro. If several %associated options %are set, an error is yielded. You may activate an option \meta{name} by %including it in the option list while loading the ucs package, or by %using \DescribeMacro{\SetUnicodeOption}^^A %\texttt{\bslash SetUnicodeOption\{\meta{name}\}}. To deactivate an %option, prefix its name by |no|. Note that you must load |ucs.sty| %before |\usepackage[utf8x]{inputenc}| if you want to supply options. %Any option which you want to use %must be used at least once in the preamble. % %When you activate an option, you can supply a priority as optional argument. %If there are several glyphs for a given code position, the one having the %option with the highest priority is taken (an error is yielded in case of %ambiguity). If you do not supply a priority, 100 is taken as default. %``Normal'' glyphs are associated with the option |default|, which is %initially activated with a priority of 0. % %NB: UTF-8 characters are interpreted by \TeX{} %as a sequence of commands, so don't use calls like %\texttt{\bslash macro ä} instead of %\texttt{\bslash macro\{ä\}} (this does not apply to ASCII characters). % %This input encoding does not change the fontencoding automatically. For that %purpose, you can use |autofe.sty|, which is included in the ucs package. % %\subsection{Special options} % %Several options have a special hardcoded meaning: %\begin{itemize} %\item |combine|: \DescribeOption{combine}Activates combining mode. See % section \ref{combiningmode}. %\item |default|: \DescribeOption{default}This option contains all % characters, which are not explicitly associated with another option. % But see also the option |document|. This option is activated per % default, but has priority 0, i.e.~any other activated option is % prefered, unless its priority is explicitly given to be smaller. %^^A %\item |document|: \DescribeOption{document}Every character you define % in your document using |\Declare|\-|UnicodeCharacter| has the option % |document|. This option is activated per default having the priority % 1000, therefore manually declared characters take precedence over % all other characters, unless some other option has explicitly gotten % a higher priority. %\item |fasterrors|: \DescribeOption{fasterrors}When used, the name of % an unicode character is not %included in error messages any more, which runs much faster. %\item |graphics|: \DescribeOption{graphics}^^A %When used, unknown characters are replaces by GIFs %downloaded from |unicode.org|. Commands to download and convert these are %executed if -shell-escape is passed to \LaTeX, otherwise they are proposed %to the user in a warning message. A UNIX-machine supporting the commands %|wget|, |giftopnm| and |pnmtops| is assumed. %\item |savemem|: \DescribeOption{savemem}^^A %When used, only the character needed at the moment is %loaded, not a whole page. This slows down operation, but saves space in the %\TeX-pool, especially with sparsly used character set like kanji. Use this, %if you get an out of pool error or similar %from \TeX. If you change the state of this %option during the run, you may get inexpected results. %\item |warnunknown|: \DescribeOption{warnunknown}^^A %When used, an unknown unicode character does not %generate an error, but a warning. %\end{itemize} % %\subsection{Normal options} % %The options described here are---strictly spoken---not part of %|ucs.sty|, but are defined by the unicode data files. They are included %here for convenience. %\begin{itemize} % %\item |autogenerated|: \DescribeOption{autogenerated}^^A %This enables the characters, which are autogenerated as composition %of other characters according to the informations in the UnicodeData.txt. %These may or may not look good. You may have to define the |\unicodecircle|, %|\unicodesquare|, |\unicodevertical|, |\unicodewide| and |\unicodesmall| %macros to let all autogenerated macros work. %Furthermore you may have to set some other options, when the autogenerated %characters are build out of characters, which are not in the default set. % %\item |cjkbg5|: \DescribeOption{cjkbg5}^^A %See the explanation for |cjkjis| below and substitute C40 by C00, %JIS by BIG-5 and |kanji48| by some appropriate font which has BIG-5 encoding %(e.g. one of the "Arphic AR PL * Big5" fonts). % %\item |cjkgb|: \DescribeOption{cjkgb}^^A %See the explanation for |cjkjis| below and substitute C40 by C10, %JIS by GB and |kanji48| by some appropriate font which has GB encoding %(e.g. one of the "Arphic AR PL * GB" fonts). % %\item |cjkhangul|: \DescribeOption{cjkhangul}^^A %See the explanation for |cjkjis| below and substitute C40 by C61, %JIS by ``KSC5601 hangul syllables'' and |kanji48| by some appropriate %font which has KSC5601 encoding and hangul syllables %(e.g. the |han| or the |han1| font from CJK-\LaTeX). % %\item |cjkjis|: \DescribeOption{cjkjis}^^A %This enables the use of C40 (JIS) or C42 (JISdnp) encoded fonts. %You need to have the |c40*.fd| files %which are contributed with the package |CJK| %and the |kanji48| font installed for this. %Further you have to load the %fontencoding |C40| (an option to the package |fontenc|). % %It is not necessary to load the package |CJK|. If you want to use it nevertheless %take care of the following: %\begin{itemize} %\item Load |CJK| before |fontenc|, or quite strange errors will occur. %\item Load |CJK| with option |encapsulated|, or it will overwrite some of the %UTF8 input encoding. %\item %Don't use the |CJK| environment, it destroys the input encoding. %Use |ucjk| instead, which is a patched version and takes no arguments. %\end{itemize} % %\item |fullmathletters|: \DescribeOption{fullmathletters}^^A %This option has been removed. Replace all occurrences by |mathletters|. % %\item |mathletters|: \DescribeOption{mathletters}^^A %When using this option is set, some unicode code %characters like greek or some hebrew letters generate the math mode %glyphs. This option is disabled by default, because using math greek in a %normal text does not look good. But you may set it in |\everymath| and %|\everydisplay| and such enable the use of unicode characters in math mode. %You can also use this to get a poor man's greek, it is however recommended %to use the |cb| fonts instead. % %\item |postscript|: \DescribeOption{postscript}^^A %This option enables use of postscript, e.g. of postscript fonts. %Some DVI-viewers may have problems with documents using this option, %but most viewers can handle it correctly. % %\item |privatecsur|: \DescribeOption{privatecsur}^^A %This option enables use of characters in the private area according to %the mapping by the ConScript Unicode Registry %{(\def\-{\discretionary{}{}{}}^^A %\texttt{http://\-www.evertype.com/\-standards/\-csur/} and also %\texttt{http://\-home.ccil.org/\-\textasciitilde %cowan/\-csur/\-index.html})}. % %\item |tipa|: \DescribeOption{tipa}^^A %This enables the use of the macros in the |tipa| package to display IPA %symbols. % %\end{itemize} % %\subsection{Combining mode}\label{combiningmode} % %\def\latinc{\textsc{U+0063 latin small letter c}} %\def\acuteacc{\textsc{U+0301 combining acute accent}} %In some cases, Unicode documents contain sequences like \latinc\space\acuteacc %(producing {^^A %\SetUnicodeOption{combine}\unichar{"63}^^A %\unichar{"301}\SetUnicodeOption{nocombine}}). In order to typeset them %correctly, we cannot render \latinc immediately when it occurs, %instead we have to wait whether some combining character is going to %follow. % %\DescribeOption{combine}^^A %To enable this way of parsing in |ucs.sty|, we have to use the option %|combine|. As long as this option is in effect, characters are not %immediately rendered, but stored in a token register until they are %output via %\begin{itemize} %\item resetting of the option (|\SetUnicodeOption{nocombine}|) or %\item \DescribeMacro{\unicodecombine}^^A % the command |\unicodecombine|. %\end{itemize} % %Since characters handled by |ucs.sty| are not immediately output while %ASCII characters are handled by \TeX and directly rendered, you should %not mix ASCII characters and non-ASCII characters while this option is %in effect. Thus to obtain the above glyph, you cannot use\\ %\null\qquad %|\SetUnicodeOption{combine}|\texttt{c\'o}|\SetUnicodeOption{nocombine}|\\ %(where \texttt{\'o} is \acuteacc), instead you can use one of the %following constructions: %\begin{itemize} %\item |\SetUnicodeOption{combine}\unichar{"63}|\texttt{\'o\percent}\\ % |\SetUnicodeOption{nocombine}| %\item % |\SetUnicodeOption{combine}\unicodevirtual{c}|\texttt{\'o\percent}\\ % |\SetUnicodeOption{nocombine}| (\DescribeMacro{\unicodevirtual}^^A % |\unicodevirtual| takes arbitrary \LaTeX\space code and inserts it, % as thou it was a Unicode character; do not use Unicode characters % inside |\unicodevirtual|). %\item % \MakeShortVerb\!\DeleteShortVerb\|^^A % !\SetUnicodeOption{combine}\myverbatim|!\texttt{c\'o|\percent}\\ % !\SetUnicodeOption{nocombine}!^^A % \MakeShortVerb\|\DeleteShortVerb\!^^A % \\ % where |\myverbatim|\footnote{This command is not provided by % \texttt{ucs.sty}, but some similar command may appear in future.} % is a command similar to |\verb|, but setting the catcodes of the % ASCII characters to 13 (active) and then defining character no.~$n$ % to expand to |\unichar{|$n$|}|. %\end{itemize} % %In cases where you only want to render occasional words containing %combining characters and \emph{no} ASCII, you can use a macro like\\ %\null\qquad|\newcommand\combword[1]{|^^A % |\SetUnicodeOption{combine}#1|\texttt{\percent}\\ % \null\qquad\qquad|\SetUnicodeOption{nocombine}}|\\ %and then simply typeset the concerning word as an argument to %|\combword|. % % %\subsection{Defining unicode data} % %A unicode character may be defined by\\ %\null\qquad %\DescribeMacro{\DeclareUnicodeCharacter}^^A %\texttt{\bs DeclareUnicodeCharacter\{\meta{code}\}\{\meta{macro}\}}\\ %or, when it is to be associated with a special option, by using\\\ %\null\qquad %\DescribeMacro{\DeclareUnicodeCharacterAsOptional}^^A %\texttt{\bs DeclareUnicodeCharacterAsOptional\{\meta{code}\}^^A % \{\meta{option}\}\{\meta{macro}\}}\\ %where \meta{code} is the unicode character number, \meta{option} the %associated option and \meta{macro} the glyph's macro. % %This definition is local. % %In the automatically loaded data files |\uc@dclc| should be used instead. % %An option \meta{option} can be defined by\\ %\null\qquad %\DescribeMacro{\DeclareUnicodeOption}^^A %\texttt{\bs DeclareUnicodeOption[\meta{pkg}]\{\meta{option}\}}.\\ %If \meta{pkg} is supplied, the option is set, if the package \meta{pkg} %is loaded. % %You can add further packages, which automatically set an option, by\\ %\null\qquad %\DescribeMacro{\LinkUnicodeOptionToPkg}^^A %\texttt{\bs LinkUnicodeOptionToPkg\{\meta{option}\}\{\meta{pkg}\}}. % %If a character $c$ is unknown, it is looked up in %in the \texttt{uni-$n$.def}-file, %whereby ${n=\lfloor\frac{c}{256}\rfloor}$. So characters which are not %document specific, %should be defined in those file. For generating them, you should you the %program |makeunidef.pl|. % %You may find |\dirtyunicode| and |\UnicodeNeeds| interesting for %writing glyphs macros, see in the implementation section. % %\subsection{Known problems} % %Note, that if a character from some not yet loaded Unicode page %appears, a file has to be loaded. If this appears inside a word, %kerning and ligatures do not work at that position. % %Further there are some commands, which expand their arguments in %non-executing contexts, this makes it impossible for |ucs.sty| to load %the character definition file at this place if this has not yet been %done. In this case the concerning character is replaced by some %message that you have to use |\PrerenderUnicode{|\dots|}|. % %\def\greekalpha{\textsc{U+03B1 greek small letter alpha}} %Both problems can be solved by preloading the offending characters. If %you have for example \greekalpha, which should be preloaded, simply use %\begin{itemize} %\item \DescribeMacro{\PreloadUnicodePage}^^A % |\PreloadUnicodePage{3}| (the argument to |\PreloadUnicodePage| % is $\lfloor\frac n{256}\rfloor$, where $n$ is the number of the % character (here $\textrm{0x3B1}=945$)) or %\item \DescribeMacro{\PrerenderUnicode}^^A % |\PrerenderUnicode{|$\alpha$|}| (the argument to % |\PrerenderUnicode| can contain any \LaTeX\space code, which is then % rendered in an hbox, all still unknown characters a loaded and the % result is thrown away; do not use e.g. |\footnote| or other commands which % might not like to be executed several times). %\end{itemize} % %\section{Thanks} % %Thanks to\dots\nopagebreak %\begin{itemize} %\item Michel Goossens who supplied many characters %(e.g. Vietnamese, polytonic Greek), %\item Manuel Kauers for testing my package %before the first upload, %\item Werner Lemberg, who wrote the |CJK| package, where I got the font %definitions in |cenccmn.tex| from, %\item Karsten Tinnefeld for %many of the glyph macros in |cyrillic.ucf|, %\item Pablo Rodriguez for reporting many bugs, especially concerning % the interaction between |ucs.sty| and other packages. %\item Stefan Röhrich for testing my package %before the first upload, %\item the authors of all those many \LaTeX-packages for different scripts. %\end{itemize} % % %\ifx\ucsdocmfour\undefined %\end{document} %\fi %^^A % % \StopEventually{\PrintIndex} % \section{Implementation} % \let\xsection\subsection % % \xsection{File \texttt{ucs.sty}} % \begin{macrocode} %<*ucs.sty> % ^^A FIXME: What is the following code for? Is it for people who want to use ucs.sty with Plain TeX % ^^A or ConTeXt? \catcode`\@11 \ifx\@gobble\undefined\def\@gobble#1{}\fi \ifx\@gobbletwo\undefined\def\@gobbletwo#1#2{}\fi \ifx\@gobblethree\undefined\def\@gobblethree#1#2#3{}\fi \ifx\@gobblefour\undefined\def\@gobblefour#1#2#3#4{}\fi \ifx\@firstofone\undefined\def\@firstofone#1{#1}\fi \ifx\@tempcnta\undefined\csname newcount\endcsname\@tempcnta\fi \ifx\@tempcntb\undefined\csname newcount\endcsname\@tempcntb\fi \ifx\@testopt\undefined \def\@testopt#1#2{% \@ifnextchar[{#1}{#1[{#2}]}}\fi \ifx\@protected@testopt\undefined\def\@protected@testopt{\expandafter\@testopt\@gobble}\fi \let\@let@token\relax % ^^A FIXME: The previous line was suggested on % ^^A % ^^A , % ^^A % ^^A where it says the following: % ^^A % ^^A [The code for optionally defining \@ifnextchar] fails in the case where the % ^^A immediately preceding use of \@let@token was by \newif. That's because it is the % ^^A \let to \iffalse, meaning that the conditional is unbalanced and everything 'runs % ^^A away'. \ifx\@ifnextchar\undefined \def\@ifnextchar#1#2#3{% \let\reserved@d=#1% \def\reserved@a{#2}% \def\reserved@b{#3}% \futurelet\@let@token\@ifnch}\fi \ifx\@ifnch\undefined \def\@ifnch{% \ifx\@let@token\@sptoken \let\reserved@c\@xifnch \else \ifx\@let@token\reserved@d \let\reserved@c\reserved@a \else \let\reserved@c\reserved@b \fi \fi \reserved@c}\fi \ifx\@inputcheck\undefined\newread\@inputcheck\fi \ifx\IfFileExists\undefined \long\def\IfFileExists#1#2#3{% \openin\@inputcheck#1 %SPACE \ifeof\@inputcheck\def\reserved@a{#3}% \else\closein\@inputcheck\def\reserved@a{#2}% \fi \reserved@a}% \fi \ifx\InputIfFileExists\undefined \long\def\InputIfFileExists#1#2{% \IfFileExists{#1}{#2\input #1 }} \fi \ifx\protect\undefined\let\protect\relax\fi \ifx\@typeset@protect\undefined\let\@typeset@protect\relax\fi \ifx\IeC\undefined\def\IeC{\ifx\protect\@typeset@protect \expandafter\@firstofone\else\noexpand\IeC\fi}\fi % \end{macrocode} % %^^A The following macros are defined using |\providecommand| before the package %^^A option processing, because they are needed during the processing. % % \begin{macro}{\XDeclareUnicodeOption} % \args{\marg{pkg}\marg{name}\marg{activate}^^A % \marg{on}\marg{off}} % \begin{macro}{\DeclareUnicodeOption} % \args{\oarg{pkg}\marg{name}} % Declare an unicode option, i.\,e.~the command % \texttt{\bslash ifUnicodeOption\meta{name}} to % test if \meta{name} is activated, further the commands % \texttt{\bslash @unicode@option@\meta{name}} and % \texttt{\bslash @unicode@option@no\meta{name}} to switch the option % on and off, which take a priority as argument (it is ignored in % case of the deactivation command). % If the optional argument \meta{pkg} is specified and not empty, % the option is % automatically activated, if package \meta{pkg} is loaded. % % If \marg{activate} is code % which is executed when the option is first used. % % \marg{on} and \marg{off} are executed every time the option is switched % on resp.~off. % % The activation and deactivation commands call |\uni@activate@option| at their % first call, which then sets their normal behaviour. This is done to ensure, % that on the initial call we can mark this option as ``in use'', so we % can do optimizations when loading data. % \begin{macrocode} \def\unicode@knownoptions{} \def\XDeclareUnicodeOption#1#2#3#4#5{% \expandafter\let\csname ifUnicodeOption#2\endcsname\iffalse \expandafter\def\csname UnicodeOption#2true% \expandafter\endcsname\expandafter{% \expandafter\let\csname ifUnicodeOption#2\endcsname\iftrue}% \expandafter\def\csname UnicodeOption#2false% \expandafter\endcsname\expandafter{% \expandafter\let\csname ifUnicodeOption#2\endcsname\iffalse}% \expandafter\def\csname @unicode@option@#2\endcsname{% #3\uni@activate@option{#2}{}{#4}{#5}}% \expandafter\def\csname @unicode@option@no#2\endcsname{% #3\uni@activate@option{#2}{no}{#4}{#5}}% \ifx~#1~\else\LinkUnicodeOptionToPkg{#2}{#1}\fi % \end{macrocode} % Keep a list of known options % \begin{macrocode} \let\uc@tempa\\\let\\\relax \edef\unicode@knownoptions{\\{#2}\unicode@knownoptions}% \let\\\uc@tempa }% \let\uc@newcommand\def \uc@newcommand\DeclareUnicodeOption{\@protected@testopt\DeclareUnicodeOption\DeclareUnicodeOption@{}} \uc@newcommand\DeclareUnicodeOption@[#1]#2{% \XDeclareUnicodeOption{#1}{#2}{}{}{}}% % \end{macrocode} % \end{macro}\end{macro} % % \begin{macro}{\uc@errormsg} % \tobe % \begin{macrocode} \uc@newcommand\uc@errormsg#1#2{% \ifx\PackageError\undefined {\newlinechar`\^^J\def\MessageBreak{^^J}% \errhelp{#2}\errmessage{Package ucs: #1}}% \else \PackageError{ucs}{#1}{#2}% \fi }% \uc@newcommand\uc@warnmsg#1{% \ifx\PackageWarning\undefined {\newlinechar`\^^J\def\MessageBreak{^^J}% \message{Package ucs: #1\MessageBreak}}% \else \PackageWarning{ucs}{#1}% \fi }% % \end{macrocode} % \end{macro} % % \begin{macro}{\uni@activate@option} % \args{\marg{option}\marg{no}\marg{on}\marg{off}\marg{prio}} % This sets the \texttt{\bslash @unicode@option@\meta{name}} and % \texttt{\bslash @unicode@option@no\meta{name}} commands % to their normal behavior (setting and unsetting the option), % and then executes the first (in case \meta{no} is empty) or % the latter (in case \meta{no} is |no|) with \meta{prio} as % argument. % % \marg{on} and \marg{off} are executed when the option is % swtiched on resp.~off. % \begin{macrocode} \def\uni@activate@option#1#2#3#4#5{% \ifx\uni@dataloaded\undefined \global\expandafter\def\csname @unicode@option@#1\endcsname##1{% \csname UnicodeOption#1true\endcsname \expandafter\def\csname uo-prio-#1\endcsname{##1}#3}% \global\expandafter\def\csname @unicode@option@no#1\endcsname##1% {\csname UnicodeOption#1false\endcsname#4}% % \end{macrocode} % Mark this option as in use \global\expandafter\let\csname uni@active@#1\endcsname1% % \begin{macrocode} \csname @unicode@option@#2#1\endcsname{#5}\else \uc@errormsg{Option #1 must be activated or deactivated %SPACE at least once in the preamble before using it in the document}{% For optimization causes I must know all %SPACE options before loading any unicode data.\MessageBreak Try e.g. #1 or no#1 as package option to ucs.}\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\LinkUnicodeOptionToPkg} % \args{\marg{option}\marg{pkg}} % Links the option \meta{option} to package \meta{pkg}, i.\,e.~if \meta{pkg} is % loaded, \meta{option} is set. % This mechanism is deprecated! % \begin{macrocode} \def\LinkUnicodeOptionToPkg#1#2{% \AtBeginDocument{\@ifpackageloaded{#2}{\SetUnicodeOption{#1}}{}}}% % \end{macrocode} % \end{macro} % \begin{macro}{\SetUnicodeOption} % \args{\oarg{prio}\marg{option}} % Activates the unicode option \meta{option}, or disables it, if % prefixed by |no|. The option get the priority \meta{prio} if activated, % whereby the default ist 100. % \begin{macrocode} \uc@newcommand\SetUnicodeOption{\@protected@testopt\SetUnicodeOption\SetUnicodeOption@{100}} \uc@newcommand\SetUnicodeOption@[#1]#2{% \edef\uc@temp@a{@unicode@option@#2}% \expandafter\ifx\csname\uc@temp@a\endcsname\relax \PackageError{ucs}{Unknown unicode option #2}{}% \else \csname\uc@temp@a\endcsname{#1}% \fi} % \end{macrocode} % \end{macro} % % \begin{macrocode} \ifx\ProvidesPackage\undefined\else \ProvidesPackage{ucs}[2013/05/11 v2.2 UCS: Unicode input support]% \fi % \end{macrocode} % ^^A FIXME: We should update the date of ucs.sty even if the file ucs.sty has not changed, but the % ^^A character mappings have. Otherwise, we cannot specify a complience level by adding a % ^^A date to \usepackage{ucs} or \RequirePackage{ucs}. % Loads the global definitions of the unicode data. This is done so early, % because we need the option definitions. % \begin{macrocode} \ifx\@@input\undefined\input uni-global.def \else\input{uni-global.def}\fi % \end{macrocode} % \SpecialMainOptionIndex{fasterrors} % If this option is set, we don't include the characters name in error % messages, which runs much faster. % \begin{macrocode} \DeclareUnicodeOption{fasterrors} % \end{macrocode} % \SpecialMainOptionIndex{warnunknown} % If this option is set, errors about unknown characters become warnings. % \begin{macrocode} \DeclareUnicodeOption{warnunknown} % \end{macrocode} % \SpecialMainOptionIndex{graphics} % If this option is set, we try to download and include % GIFs from |unicode.org| to replace missing characters. % \begin{macrocode} \DeclareUnicodeOption{graphics} % \end{macrocode} % \SpecialMainOptionIndex{savemem} % If this option is set, we try several memory saving optimizations, % which slow down the operation. % \begin{macrocode} \DeclareUnicodeOption{savemem} % \end{macrocode} % \SpecialMainOptionIndex{document} % This option is reserved for manual declarations in the document % (using % |\DeclareUnicodeCharacter| and |\DeclareUnicodeCharacterAsOptional|). % It is activated by default. % \begin{macrocode} \DeclareUnicodeOption{document} \SetUnicodeOption[1000]{document} % \end{macrocode} % \SpecialMainOptionIndex{default} % This option contains all normal characters. It is activated by default, % but with priority 0, i.e.~all other options take precedence. % \begin{macrocode} \DeclareUnicodeOption{default} \SetUnicodeOption[0]{default} % \end{macrocode} % \SpecialMainOptionIndex{combine} % This option switches character combination on and off % (see section \ref{combining}). Switching it off also flushes the % combination buffer. % \begin{macrocode} \XDeclareUnicodeOption{}{combine}{}{% \let\uc@cmb\empty}{% \ifx\unicodecombine\undefined\else\unicodecombine\fi \def\uc@cmb{\uc@warn@nocombine}}% \ifx\AtBeginDocument\undefined\else \AtEndDocument{\unicodecombine}\fi \SetUnicodeOption{nocombine}% % \end{macrocode} % \begin{macro}{\uc@cmb} % This is called by all combining characters to give a warning, if character % combination is not enabled. Its default value is to give a warning, it is % redefined to |\empty|, when character combination is enabled. % \begin{macrocode} \def\uc@cmb{\uc@warn@nocombine}% % \end{macrocode} % \end{macro} % The usual option processing stuff. % \begin{macrocode} \ifx\DeclareOption\undefined\else \DeclareOption{showmagickern}{\def\uc@magic@glue{6805678}}% \DeclareOption{hyperref}{\AtEndOfPackage{\RequirePackage{ucshyper}}}% \DeclareOption*{\SetUnicodeOption{\CurrentOption}}\ProcessOptions* \fi % \end{macrocode} % Patch some fontencodings. % \begin{macrocode} \ifx\AtBeginDocument\undefined \uc@warnmsg{Not loading ucsencs.def automatically.\MessageBreak Please load it after initializing fontencodings}% \else \AtBeginDocument{\input{ucsencs.def}}\fi % \end{macrocode} % % If the option |graphics| is set, we need to load the package |graphicx|. % \begin{macrocode} \AtBeginDocument{\ifUnicodeOptiongraphics\RequirePackage{graphicx}\fi}% % \end{macrocode} % % % \begin{macro}{\unicode@numtohex} % \args{\marg{target}\marg{number}\marg{len}} % Puts the hex representation of \meta{number} into the macro % \meta{target} with at least \meta{len} % digits. \meta{number} can be any valid \TeX-number. The result contains % uppercase letters. The assignment to \meta{target} is global. % \begin{macrocode} \uc@newcommand\unicode@numtohex{\protect\unicode@numtohex@}% \uc@newcommand\unicode@numtohex@#1#2#3{% {%\let\empty\relax\relax %\ifx\empty\relax\def\empty{}% \count255=#2\relax\gdef#1{}% \count252=#3% \loop \count253=\count252\advance\count253by\count255\relax \ifnum\count253>0% \ifnum\count252>0\advance\count252by-1\relax\fi \count254=\count255% \divide\count255by16% \multiply\count255by16% \advance\count254by-\count255% \xdef#1{\ifcase\count254 0\or1\or2\or3\or4\or5\or6\or7\or 8\or9\or A\or B\or C\or D\or E\or F\fi#1}% \divide\count255by16\relax \repeat %\else % \def#1{dec:#2}% %\fi }} % \end{macrocode} % \end{macro} % % \begin{macro}{\uc@spc} % Same meaning as |\space|, but |\space| is redefined in some contexts (e.g. % in a bookmark in hyperref with option |pdftex|). % \begin{macrocode} \let\uc@spc\space % \end{macrocode} % \end{macro} % % % \begin{macro}{\uc@secondtry} % If data is loaded to typeset a given character, its code position % is saved herein, % so when the character is called again, endless recursion in case of unfixable % errors can be avoided using the information in |\uc@secondtry| % \begin{macrocode} \newcount\uc@secondtry % \end{macrocode} % \end{macro} % % \begin{macro}{\unicode@invalid} % Expands into \LaTeX-Code, which is to be inserted for an unknown % unicode character. The character number is given as argument. % \begin{macrocode} \uc@newcommand\unicode@invalid#1{% \unicode@combine% % \end{macrocode} % If use of GIFs is activated, begin a group,\dots % \begin{macrocode} \ifUnicodeOptiongraphics{% % \end{macrocode} % \dots calculate URL without |http://| and trailing |.gif|, % save it to |\uc@temp@c| % \begin{macrocode} \ifx\unicode@graphicsdir\undefined \def\unicode@graphicsdir{ucs-glyphs}\fi \ifx\unicode@graphicscmd\undefined \def\unicode@graphicscmd{ucs-getglyph \hex\space \dec\space \path\space}\fi \unicode@numtohex\hex{#1}4% \count255=#1\relax \divide\count255 by256\relax \unicode@numtohex\uc@temp@b{\count255}2% \edef\path{\unicode@graphicsdir/\uc@temp@b/U\hex.ps}% \edef\dec{\number#1}% % \end{macrocode} % Test if we already have that image (as PS) % \begin{macrocode} \IfFileExists{\uc@temp@c}{}{% % \end{macrocode} % otherwise run shell commands for download and conversion % \begin{macrocode} \typeout{Running: \unicode@graphicscmd}% \immediate\write18{\unicode@graphicscmd}% }% % \end{macrocode} % Try if we have the file now % \begin{macrocode} \IfFileExists{\path}{% % \end{macrocode} % then include it % \begin{macrocode} \setbox255=\hbox{X}% \edef\uc@temp@b{\begingroup\noexpand\uni@resetcatcodes \noexpand\includegraphics[height=\the\ht255, trim=0 22.5 0 17.5]% {\path}% \noexpand\ProvidesFile{U\hex.ps}% [Downloaded glyph for U+\hex]% \endgroup}% \typeout{\meaning\uc@temp@b}% \expandafter\unicodevirtual\expandafter{\uc@temp@b}% }{% % \end{macrocode} % otherwise we give a warning % \begin{macrocode} \PackageWarning{ucs}{File \uc@temp@d\uc@temp@c.ps %SPACE not found.\MessageBreak Use\MessageBreak \space\space\space\space\unicode@graphicscmd\MessageBreak or start latex with option -shell-escape\MessageBreak if you have not already done so.}% % \end{macrocode} % and use the standard glyph for unknown characters % \begin{macrocode} \unicodevirtual{\unicode@invalidglyph{#1}}}}\else % \end{macrocode} % In case we don't want to use GIFs, simple include the standard glyph for % invalid characters % \begin{macrocode} \unicodevirtual{\unicode@invalidglyph{#1}}\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\unicode@invalidglyph} % This is macro creates the glyph to insert for an unknown character, if % everything else fails (see |\unicode@invalid|). The character code for % the substituted character is given in the first argument. % \begin{macrocode} \uc@newcommand\unicode@invalidglyph#1{% {\unicode@numtohex\uc@temp@d{#1}4% \fontencoding{OT1}\texttt{[U+\uc@temp@d]}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\uni@char} % \args{\marg{code}} % Expands into the \LaTeX-macro for unicode character \meta{code}. % Loads the corresponding \texttt{uni-\dots.def}-file if necessary. % \begin{macrocode} \uc@newcommand\uni@char#1{% \ucs@protected@unichar\iftrue \expandafter\ifx\csname u-\number#1-h/o\endcsname\relax % \end{macrocode} % If the character is not defined yet, load it. % \begin{macrocode} \begingroup % In case \let is not executed, this (until ===) expands % to \let\relax\relax, % otherwise we have \let\uc@notloaderr\@gobble % Number of \empty's must equal number of args of \uc@char@notloaded \let\uc@notloaderr\@gobble\empty\@gobbletwo\relax\relax % === \expandafter\endgroup % If \let not executed: Warning is emitted (see |\uc@notloaderr|) % otherwise: |\uc@char@notloaded| is called. \uc@notloaderr{\number#1}\uc@char@notloaded{#1}% \else % \end{macrocode} % If the character is loaded, run |\uc@checkopts| % with the options of this character % as first arg and the code position as second; this will % display the character with % the correct option. % \begin{macrocode} \expandafter\expandafter\expandafter\uc@checkopts \expandafter\expandafter\expandafter {\csname u-\number#1-h/o\endcsname}{#1}% \fi \else \noexpand\unichar{#1}% \fi } \begingroup \lccode`\A=`\{\lccode`\B=`\}\lccode`\C=`\\% \lccode`\P=`\P\lccode`\U=`\U% \lowercase{% \endgroup \uc@newcommand\uc@notloaderr#1#2#3{% \ifx\@gobble#1\else[Please insert %SPACE CPrerenderUnicodeACunicharA#1BB into preamble]\fi}} % \end{macrocode} % \end{macro} % \begin{macro}{\uc@checkopts} % \args{\marg{options}\marg{code}} % For the character \meta{code} which has options \meta{options} (each option enclosed in |{}|) % the corresponding macro is searched an executed. % \begin{macrocode} \uc@newcommand\uc@checkopts#1#2{% % \end{macrocode} % Start the automaton. See \ref{automaton} for an explanation. % \begin{macrocode} \expandafter\uc@checkopt@error\expandafter{\number#2}% {error}{error}{infinity}#1\@nil } % \end{macrocode} % \end{macro} % \begin{macro}{\uo-prio-infinity} % Set the priority of the option |infinity| to something near to $-\infty$. % This options does not exist, but is used internally in the automaton % described in \ref{automaton}. % \begin{macrocode} \expandafter\uc@newcommand\csname uo-prio-infinity\endcsname{-2100000000} % \end{macrocode} % \end{macro} % \begin{macro}{\uc@checkopt@stick} % \begin{macro}{\uc@checkopt@change} % \begin{macro}{\uc@checkopt@error} % \begin{macro}{\uc@checkopt@errorstick} % Now the autogenerated code for the automaton described in \ref{automaton} follows. It is % generated by |mkcovariants.pl|. % \begin{macrocode} %% === BEGIN AUTOGENERATED CODE \uc@newcommand\uc@checkopt@stick#1#2#3#4#5{% \ifx\@nil#5% \expandafter\ifx\csname u-#2-#1\endcsname\relax \uc@localdeferr{#1}{#2}% \else \uc@output{\csname u-#2-#1\endcsname}{#1}% \fi \expandafter\@gobblefour \else \iftrue\csname fi\endcsname \csname ifUnicodeOption#5\endcsname \ifnum\csname uo-prio-#2\endcsname>\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@stick \else \ifnum\csname uo-prio-#2\endcsname<\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@change \else \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@error \fi \fi \else \expandafter\expandafter\expandafter\uc@checkopt@stick \fi \fi {#1}{#2}{#5}{#2}% } \uc@newcommand\uc@checkopt@change#1#2#3#4#5{% \ifx\@nil#5% \expandafter\ifx\csname u-#3-#1\endcsname\relax \uc@localdeferr{#1}{#3}% \else \uc@output{\csname u-#3-#1\endcsname}{#1}% \fi \expandafter\@gobblefour \else \iftrue\csname fi\endcsname \csname ifUnicodeOption#5\endcsname \ifnum\csname uo-prio-#3\endcsname>\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@stick \else \ifnum\csname uo-prio-#3\endcsname<\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@change \else \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@error \fi \fi \else \expandafter\expandafter\expandafter\uc@checkopt@stick \fi \fi {#1}{#3}{#5}{#3}% } \uc@newcommand\uc@checkopt@error#1#2#3#4#5{% \ifx\@nil#5% \uc@errordrawopt{#1}{#2, #3}{#4}% \expandafter\@gobblefour \else \iftrue\csname fi\endcsname \csname ifUnicodeOption#5\endcsname \ifnum\csname uo-prio-#4\endcsname>\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@errorstick \else \ifnum\csname uo-prio-#4\endcsname<\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@change \else \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@error \fi \fi \else \expandafter\expandafter\expandafter\uc@checkopt@errorstick \fi \fi {#1}{#2, #3}{#5}{#4}% } \uc@newcommand\uc@checkopt@errorstick#1#2#3#4#5{% \ifx\@nil#5% \uc@errordrawopt{#1}{#2}{#4}% \expandafter\@gobblefour \else \iftrue\csname fi\endcsname \csname ifUnicodeOption#5\endcsname \ifnum\csname uo-prio-#4\endcsname>\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@errorstick \else \ifnum\csname uo-prio-#4\endcsname<\csname uo-prio-#5\endcsname\uc@spc \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@change \else \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter \uc@checkopt@error \fi \fi \else \expandafter\expandafter\expandafter\uc@checkopt@errorstick \fi \fi {#1}{#2}{#5}{#4}% } % === END AUTOGENERATED CODE % \end{macrocode} % \end{macro}\end{macro}\end{macro}\end{macro} % \begin{macro}{\uc@errordrawopt} % \args{\marg{code}\marg{bestopts}{\marg{prefopt}}} % This is called, if several options match the character \meta{code} with same priority or % when no option matches (then \meta{prefopt} is |infinity|). % % In case of several matching options, \meta{bestopts} is a comma separated list (with spaces, % intended for display) and \meta{prefopt} s one of these. % % After yielding an error or warning, the character is displayed with option \meta{prefopt} (except % when \meta{prefopt} is |infinity|, then |\unicode@invalid| is rendered. % \begin{macrocode} \let\unicode@empty\empty \uc@newcommand\uc@errordrawopt#1#2#3{% % \end{macrocode} % Check whether we are in executing context % \begin{macrocode} \let\unicode@empty\relax\relax \ifx\unicode@empty\relax\let\unicode@empty\empty % \end{macrocode} % if yes, operate normally % \begin{macrocode} \unicode@numtohex\uc@temp@b{#1}4% \ifnum\csname uo-prio-#3\endcsname=-2100000000\relax % \end{macrocode} % If \meta{prefopt} is |infinity|, give an unknown character error and display the character % \begin{macrocode} \expandafter\ifx\csname missing-unicode-warned-\number#1\endcsname\relax \global\expandafter\let\csname missing-unicode-warned-\number#1\endcsname\@ne \unicode@error@unknown\@ne{Character \number#1\uc@spc \uc@spc= U+\uc@temp@b\uc@spc matches no activated options.\MessageBreak Type H to see available options}{#1}% \else \PackageWarning{ucs}{Character % SPACE % \tobe: nothing rendered? \number#1 \uc@spc= 0x\uc@temp@b\uc@spc appeared again.}% \fi \else % \end{macrocode} % Otherwise inform the user of the collision\dots % \begin{macrocode} \@getcharinfo\uc@temp@c{#1}% \PackageWarning{ucs}{Character %SPACE \number#1 \uc@spc= 0x\uc@temp@b\uc@spc matches options\MessageBreak \uc@spc\uc@spc\uc@spc#2\MessageBreak with same priority \csname uo-prio-#3\endcsname. %SPACE Selecting option #3.\MessageBreak \uc@temp@c}% % \end{macrocode} % and render the glyph corresponding to option \meta{prefopt}. % \begin{macrocode} \uc@output{\csname u-#3-#1\endcsname}{#1}% \fi % \end{macrocode} % if we are in non-executing context, replace ourself by a |\unichar| call, % since otherwise % constructs like % |\section{abc \SetUnicodeOption{def} ghi}| may yield errors (because of % writing to the toc file). % Note that this is a hack, it is better to make |\unichar| protected % when this happens. % \begin{macrocode} \else \noexpand\unichar{#1}% \fi } % \end{macrocode} % \end{macro} % \begin{macro}{\uc@output} % \args{\marg{macro}\marg{code}} % Output an unicode character. Its glyph macro is \meta{macro}, % its code (for error messages) \meta{code}. % % If |\unicode@delay| equals 1 (via |\let|), the character is not output. % % If character combination is enabled, outputting is done by |\uc@combine|. % % If the glyph macro defines |\uc@throw|, |\uc@throw| is executed after defining % |\uc@got| to \meta{code}. This allows the macros to yield error messages containing % the character code. % \begin{macrocode} \uc@newcommand\uc@output#1#2{% \ifx\unicode@delay1\let\unicode@delay\relax\else \ifUnicodeOptioncombine % \end{macrocode} % If the character is combining, outputting is handled by |\uc@combine|. % \begin{macrocode} \expandafter\uc@combine\expandafter{#1}{#2}% \else % \end{macrocode} % Output the character % \begin{macrocode} \uc@prechar@exec{#2}% % \ifx\unicode@charfilter\undefined % #1{}% % \else \unicode@charfilter{#1{}}% % \fi \fi % \end{macrocode} % If an exception has been thrown by the glyph macro, execute it % with |\uc@got| defined to \meta{code}. % \begin{macrocode} \ifx\uc@throw\undefined\else \def\uc@got{#2}\uc@throw\global\let\uc@throw\undefined\fi \fi }% \uc@newcommand\uc@prechar@exec#1{% \ifx\uc@prechar\undefined\else\uc@prechar{#1}\fi} % \end{macrocode} % \end{macro} % \begin{macro}{\uc@localdeferr} % \tobe % \begin{macrocode} \uc@newcommand\uc@localdeferr#1#2{% \@getcharinfo\uc@temp@a{#1}% \PackageError{ucs}{Internal error in character \number#1, %SPACE option #2}{I probably got confused by intermixed local %SPACE and global definitions.\MessageBreak Try to load the needed %SPACE code page via \noexpand\PreloadUnicodePage before declaring anything by yourself.}{\uc@temp@a}% \unicode@invalid{#1}% }% % \end{macrocode} % \end{macro} % \begin{macro}{\uc@warn@nocombine} % Document me!!!\tobe % \begin{macrocode} \uc@newcommand\uc@warn@nocombine{% \PackageError{ucs}{Please activate option 'combine'}{Composed %SPACE characters can only be rendered correctly, when the option %SPACE 'combine' is activated}} % \end{macrocode} % \end{macro} % \begin{macro}{\uc@combtoks} % \begin{macro}{\uc@combtoksb} % \begin{macro}{\uc@temptokena} % Document me!!!\tobe % \begin{macrocode} \newtoks\uc@combtoks \newtoks\uc@combtoksb \newtoks\uc@temptokena % \end{macrocode} % \end{macro}\end{macro}\end{macro} % \begin{macro}{\unicode@combine} % Document me!!!\tobe % \begin{macrocode} \uc@newcommand\unicode@combine{% \uc@check@magicglue% \ifx\uc@combining@prechar\undefined\global\let\uc@comb@code\undefined\fi \ifx\uc@comb@code\undefined\uc@temptokena{}\else \uc@temptokena\expandafter{\expandafter\uc@prechar@exec \expandafter{\uc@comb@code}}\fi% \global\let\uc@comb@code\undefined \global\expandafter\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\uc@combtoksb \expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\expandafter{% \expandafter\expandafter\expandafter\the \expandafter\expandafter\expandafter\uc@combtoksb \expandafter\the\expandafter\uc@temptokena\the\uc@combtoks}% \global\uc@combtoks{}} %\def\uc@magic@glue{680567893} \def\uc@magic@glue{5381} \uc@newcommand\uc@check@magicglue{% \ifnum\lastskip=\uc@magic@glue\unskip\else \begingroup \edef\uc@temp@a{\the\uc@combtoks}% \ifx\uc@temp@a\empty\else \PackageWarning{ucs}{Magic kern expected. Probably some %SPACE non-unicode characters mixed in while option combine was %SPACE in effect.}\fi\endgroup \fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\unicodevirtual} % \begin{macrocode} \uc@newcommand\unicodevirtual#1{% \def\uc@temp@a##1{#1}\uc@output{\csname uc@temp@a\endcsname}{"FFFF}} % \end{macrocode} % \end{macro} % % \begin{macro}{\unicode@combine} % Document me!!!\tobe % \begin{macrocode} \uc@newcommand\unicodecombine{% \ifx\protect\@typeset@protect \unicode@combine% %\typeout{WRITING: \the\uc@combtoksb}% \the\uc@combtoksb \uc@prechar@exec{-1}% \global\uc@combtoksb{}% % \end{macrocode} % If an exception has been thrown by the glyph macro, execute it % with |\uc@got| defined to \meta{code}. % \begin{macrocode} \ifx\uc@throw\undefined\else \def\uc@got{-1}\uc@throw\global\let\uc@throw\undefined\fi \else \noexpand\unicodecombine\fi } % \end{macrocode} % \end{macro} % \begin{macro}{\uc@combine} % Document me!!!\tobe % \begin{macrocode} \uc@newcommand\uc@combine#1#2{% \ifx\protect\@typeset@protect \@temptokena\expandafter{#1{}}% \expandafter\expandafter\expandafter\ifx \expandafter\uc@firstofmany\the\@temptokena\uc@firstofmany\uc@cmb \uc@check@magicglue% \uc@combtoks\expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter{% \expandafter\expandafter\expandafter\@gobble \expandafter#1\expandafter{\the\uc@combtoks}}% \else \unicode@combine% \xdef\uc@comb@code{\number#2}% \global\uc@combtoks\expandafter{#1{}}% \fi %\typeout{->COMBTOKS: \the\uc@combtoks}% \hskip\uc@magic@glue spplus0ptminus0pt %SPACE ; Insert magic glue \else \noexpand\unichar{\number#2}\fi } % \end{macrocode} % \end{macro} % % \begin{macro}{\uc@char@notloaded} % Part of |\uni@char| which is only executed when the character is not % defined (yet). % % Note that this command breaks kerning and ligatures. % \begin{macrocode} \uc@newcommand\uc@char@notloaded#1{% % \end{macrocode} % Calculate the name of the corresponding file % \begin{macrocode} \count255=#1\divide\count255 by 256% \edef\uc@temp@a{uni-\number\count255.def}% % \end{macrocode} % If the file was not loaded yet % (\texttt{\bslash\meta{filename}} is not set) % and we are not just called by uni@char after a first failure % (|\uc@secondtry| is not set to actual character), jump to |\else|-Branch % \begin{macrocode} \expandafter\ifx\csname\uc@temp@a\endcsname\relax\else \uc@secondtry#1\relax\fi \ifnum\uc@secondtry=#1\relax % \end{macrocode} % If the file has already been loaded, but the character is unknown, % output an error and show the replacement glyph % \begin{macrocode} \unicode@numtohex\uc@temp@b{#1}4% \expandafter\ifx\csname missing-unicode-warned-\number#1\endcsname\relax \global\expandafter\let\csname missing-unicode-warned-\number#1\endcsname\@ne \unicode@error@unknown\@ne{Unknown Unicode character % SPACE \number#1 \uc@spc= U+\uc@temp@b,\MessageBreak possibly declared in \uc@temp@a.\MessageBreak Type H to see if it is available with options}{#1}% \else \PackageWarning{ucs}{Unknown character % SPACE \number#1 \uc@spc = 0x\uc@temp@b\uc@spc appeared again.}% \unicode@invalid{#1}% \fi \else % \end{macrocode} % Begin a group for included file, so that only explicitly exported % macros are defined globally % \begin{macrocode} \begingroup % \end{macrocode} % Mark file as loaded (premature, but that's OK) % \begin{macrocode} \ifUnicodeOptionsavemem % \expandafter\let\csname\uc@temp@a\endcsname\@ne \else \global\expandafter\let\csname\uc@temp@a\endcsname\@ne \fi % \end{macrocode} % Set |\uc@got| to the code position to be loaded (needed for option savemem) % \begin{macrocode} \def\uc@got{#1}% % \end{macrocode} % Reset catcodes to a reasonable default. % \begin{macrocode} \uni@resetcatcodes % \end{macrocode} % Load file. % \begin{macrocode} \expandafter\InputIfFileExists\expandafter{\uc@temp@a}{% % \end{macrocode} % Indicate, that unicode data has been loaded % (for |\uni@activate@option|). % \begin{macrocode} \global\let\uni@dataloaded1% }{% }% % \end{macrocode} % End of local group for inputted file % \begin{macrocode} \endgroup % \end{macrocode} % Retry displaying character. This won't cause infinite recursion, % because we have marked this file as loaded (globally or, if % |savemem| is set, at least here). % \begin{macrocode} \uc@secondtry#1\relax% \uni@char{#1}% \fi } % \end{macrocode} % \end{macro} % % \begin{macro}{\PreloadUnicodePage} % Loads the \texttt{uni-\dots.def}-file with the given number. % Deprecated, not maintained any more. May be removed in the future. % \begin{macrocode} \uc@newcommand\PreloadUnicodePage#1{% \begingroup \global\expandafter\let\csname uni-#1.def\endcsname\@ne \uni@resetcatcodes \InputIfFileExists{uni-#1.def}{\let\uni@dataloaded1}{% \PackageError{ucs}{Could not find uni-#1.def}{}}% \endgroup} % \end{macrocode} % \end{macro} % % \begin{macro}{\PrerenderUnicode} % \tobe % \begin{macrocode} \uc@newcommand\PrerenderUnicode{% \@ifstar{\@prerenderunicode\unichar}{\@prerenderunicode\@gobble}}% \uc@newcommand\@prerenderunicode#1#2{% \begingroup \UnicodeCharFilter\@gobble \let#1\@gobble\setbox0\hbox{#2}\endgroup} % \end{macrocode} % \end{macro} % % \begin{macro}{\DeclareUnicodeCharacter} % |\DeclareUnicodeCharacter||{|\meta{code}|}{|\meta{macro}|}| is an % abbreviation for\\ % |\DeclareUnicodeCharacterAsOptional||{|\meta{code}|}{|document% % |}{|\meta{macro}|}|. % \begin{macrocode} \uc@newcommand\DeclareUnicodeCharacter#1#2{% \DeclareUnicodeCharacterAsOptional{#1}{document}{#2}} % \end{macrocode} % \end{macro} % % \begin{macro}{\DeclareUnicodeCharacterAsOptional} % \begin{macro}{\uc@dclc} % \args{\marg{code}\marg{option}\marg{macro}} % Both macros set \meta{macro} to be the glyph % macro for the character \meta{code} % if option \meta{option} is set. % % The glyph macro is stored in \texttt{\bs u-\meta{option}-\meta{code}} % and \meta{options} is added to the list % \texttt{\bs u-\meta{code}-h/o}, which is a concatenation of % entries of the following syntax: \texttt{\bs\bs\{\meta{option}\}}. % % The following paragraph applies only to |\uc@dclc|: % The character is declared globally. % If |savemem| is set, % the character is only declared, if it's code % equals |\uc@got| and it's option is used (it does not matter, % whether enabled or disabled). % If |savemem| is not set and the option is not used, the macro is not defined % but the option is saved in \texttt{\bs u-\meta{code}-h/o} to support % informative error messages. An existing character declaration is not % overwritten. % |\uc@dclc| must not be used outside the automatically % loaded uni-*.def files. % % Note that if a character is declared by |\DeclareUnicodeCharacterAsOptional| % locally, and % than its |uni-*.def|-file is loaded, it is not % overwritten, so after leaving the group % the character is undefined, even if it was in the |uni-*.def|-file. % This constellation will not arise, if you declare document-local % characters with option |document|. % \begin{macrocode} \uc@newcommand\DeclareUnicodeCharacterAsOptional{% \let\uc@temp@a\relax\uni@declcharopt} \uc@newcommand\uc@dclc#1#2{% \let\next=\uni@declcharopt \ifUnicodeOptionsavemem \ifnum\uc@got=#1\else \let\next=\@gobblethree\fi \fi \ifx\next\uni@declcharopt \expandafter\ifx\csname uni@active@#2\endcsname\relax \let\next\@gobblethree\else \expandafter\ifx\csname u-#2-\number#1\endcsname\relax\else \let\next\@gobblethree\fi\fi \let\uc@temp@a\global \fi \next{#1}{#2}} % \end{macrocode} % \end{macro}\end{macro} % % \begin{macro}{\uni@declcharopt} % This macros does the real work for |\DeclareUnicodeCharacterAsOptional| % and |\uc@dclc|. The options are the same as with those macros. |\uc@temp@a| % must be |\relax| for a local definition and |\global| for a global % definition. % \begin{macrocode} \uc@newcommand\uni@declcharopt#1#2#3{% %\typeout{Defining: u-#2-\number#1 (\meaning\uc@temp@a)}% \ifx\utf@viii@map\undefined\else \expandafter\utf@viii@map\expandafter{\number#1}\fi \expandafter\uc@temp@a\expandafter\def \csname u-#2-\number#1\endcsname##1{#3}%\fi \expandafter\ifx\csname u-\number#1-h/o\endcsname\relax \expandafter\def\csname u-\number#1-h/o\endcsname{}\fi \expandafter\uc@temp@a\expandafter\edef \csname u-\number#1-h/o\endcsname{% {#2}\csname u-\number#1-h/o\endcsname}% }% % \end{macrocode} % \end{macro} % % \begin{macro}{\unichar} % Outputs the unicode character number |#1|. % \begin{macrocode} \let\unichar\uni@char % \end{macrocode} % \end{macro} % % \begin{macro}{\unicodesuper} % \begin{macro}{\unicodesub} % \begin{macro}{\unicodecircle} % \begin{macro}{\unicodesquare} % \begin{macro}{\unicodevertical} % \begin{macro}{\unicodewide} % \begin{macro}{\unicodesmall} % Commands to apply to compositions which have the flag % ||, ||, ||, ||, ||, || % resp.~|| 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! 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! 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} % % % % \end{macrocode} % % \xsection{File \texttt{ucsutils.sty}} % \begin{macrocode} %<*ucsutils.sty> % \end{macrocode} % If running under \LaTeX, parse options. Each option is assumed to be the % name of macro to be imported. All macro names are saved into |\@ucsutils|, % each prefixed by |\\|. % % When running Plain-\TeX, define |\@ucsutils| directly and then load % |ucsutils.sty| using |\input|. % \begin{macrocode} \ifx\DeclareOption\undefined\else \ProvidesPackage{ucsutils}[2002/04/23 UCS: Auxiliary macros]% \RequirePackage{ucs}% \ifx\@ucsutils\undefined\let\@ucsutils\empty\fi \DeclareOption*{% \edef\uc@temp@a{\csname\CurrentOption\endcsname}% \expandafter\g@addto@macro\expandafter\@ucsutils\expandafter {\expandafter\\\uc@temp@a}}% \ProcessOptions*% \fi % \end{macrocode} % Define each macro, which is to be loaded, to |1|. This is later using to be % able to check fast, whether a macro should be defined. % \begin{macrocode} {\def\\#1{\ifx#1\relax\global\let#11\fi}\@ucsutils}% % \end{macrocode} % \begin{macro}{\@ucsutils@section} % Checks whether the gives macro is to be defined. If yes, |^^B| is ignored, % otherwise |^^B| is a comment. So after a call to |\@ucsutils@section| every % line should be prefixes with |^^B|. % % This macro is only used during the loading of |ucsutils.sty|. % \begin{macrocode} \def\@ucsutils@section#1{\ifx#11\catcode2=9\else\catcode2=14\fi\relax}% % \end{macrocode} % \end{macro} % % Execute the following stuff (prefixed with |^^B|) only if |\UnicodeEmbedFont| % is to be loaded. % \begin{macrocode} \@ucsutils@section\UnicodeEmbedFont % \end{macrocode} % We need |keyval.sty| for |\setkeys| in |\UnicodeEmbedFont|. % \begin{macrocode} ^^B\RequirePackage{keyval}% % \end{macrocode} % \begin{macro}{\UnicodeEmbedFont} % \args{\marg{options}} % Declares an Unicode character range to be mapped directly to a font. % % \meta{options} is a comma separated list of key/value-pairs. The following % keys are supported. % \begin{itemize} % \item |encoding|: This is currently ignored. You may set it to the encoding % of the font. If your font has a fontencoding, then you should provide % it, since this key may be implemented in future. % \item |start|: Start of the mapped range (Unicode position). This % key is mandatory. % \item |fontstart|: Start of the mapped range (in the font). Default: |0|. % \item |num|: Length of the range. Default: Upto the end of the font. % \item |option|: Unicode-Option of the defined Unicode characters. Default: % |document|. % \end{itemize} % % Note that presently you have to switch to the desired font manually before % using the Unicode characters. No checking whether the correct font is % activated is done. % \begin{macrocode} ^^B\def\UnicodeEmbedFont#1{% % \end{macrocode} % Define keys for |\setkeys| if not yet done. % \begin{macrocode} ^^B \ifx\KV@ucembedfont@start\undefined ^^B \define@key{ucembedfont}{encoding}{\def\uc@embedfont@enc{##1}}% ^^B \define@key{ucembedfont}{start}{\def\uc@embedfont@start{##1}}% ^^B \define@key{ucembedfont}{fontstart}% ^^B {\def\uc@embedfont@fontstart{##1}}% ^^B \define@key{ucembedfont}{num}{\def\uc@embedfont@fontstart{##1}}% ^^B \define@key{ucembedfont}{option}{\def\uc@embedfont@option{##1}}% ^^B \fi % \end{macrocode} % Define defaults. % \begin{macrocode} ^^B \let\uc@embedfont@enc\undefined % Ignored ^^B \let\uc@embedfont@start\undefined ^^B \def\uc@embedfont@fontstart{0}% ^^B \let\uc@embedfont@num\undefined ^^B \def\uc@embedfont@option{document}% % \end{macrocode} % Parse arguments. % \begin{macrocode} ^^B \setkeys{ucembedfont}{#1}% % \end{macrocode} % Error, when no start of range is given. % \begin{macrocode} ^^B \ifx\uc@embedfont@start\undefined ^^B \uc@errormsg{\string\UnicodeEmbedFont\space ^^B needs argument start=...}{}\fi % \end{macrocode} % Rewrite numbers in |\uc@embedfont@fontstart| and |\uc@embedfont@start|, % so that we know them to be simple decimal (and hopefully positive) numbers. % \begin{macrocode} ^^B \edef\uc@embedfont@fontstart{\number\uc@embedfont@fontstart}% ^^B \edef\uc@embedfont@start{\number\uc@embedfont@start}% % \end{macrocode} % If no num-argument was given, calculate it so that the range goes until % the end of the font. % \begin{macrocode} ^^B \ifx\uc@embedfont@num\undefined ^^B \@tempcnta-\uc@embedfont@fontstart ^^B \advance\@tempcnta by256 ^^B \edef\uc@embedfont@num{\number\@tempcnta}% ^^B \fi % \end{macrocode} % Start real work. % % For |\@tempcnta|${}=0$ to |\uc@embedfont@num|\dots % For |\@tempcntb|${}=0$ to |\uc@embedfont@start+\uc@embedfont@num|\dots % \begin{macrocode} ^^B \@tempcnta0 ^^B \@tempcntb\uc@embedfont@fontstart ^^B \loop\ifnum\@tempcnta<\uc@embedfont@num % \end{macrocode} % Temporarily increase |\@tempcnta| by |\uc@embedfont@fontstart|, % now it points to the actual position in the font. % \begin{macrocode} ^^B \advance\@tempcnta by\uc@embedfont@start % \end{macrocode} % We put the |\char...|-call into |\uc@temp@a|. % \begin{macrocode} ^^B \edef\uc@temp@a{% ^^B \noexpand\char\number\@tempcntb\space}% % \end{macrocode} % And we define the Unicode character number |\@tempcntb| (option % |\uc@embedfont@option|) to % call character |\uc@temp@a|. % \begin{macrocode} ^^B \expandafter\DeclareUnicodeCharacterAsOptional ^^B \expandafter{\expandafter\@tempcnta\expandafter}% ^^B \expandafter{\expandafter\uc@embedfont@option\expandafter}% ^^B \expandafter{\uc@temp@a}% % \end{macrocode} % Restore \@tempcnta. % \begin{macrocode} ^^B \advance\@tempcnta by-\uc@embedfont@start % \end{macrocode} % Increase loop variables. % \begin{macrocode} ^^B \advance\@tempcntb by1 ^^B \advance\@tempcnta by1 ^^B \repeat ^^B} % \end{macrocode} % \end{macro} % % Execute the following stuff (prefixed with |^^B|) only if |\univerb| % is to be loaded. % \begin{macrocode} \@ucsutils@section\univerb % \end{macrocode} % \begin{macro}{\uc@vbsetchar} % \begin{macrocode} ^^B\def\uc@vbsetchar#1#2{% ^^B \catcode#1\active ^^B \begingroup\uccode`\~#1\uppercase{\endgroup\edef~}{#2}} % \end{macrocode} % \end{macro} % % \begin{macro}{\univerb} % This macro behaves similar to the |\verb| macro. % ^^A E.g.\\ % ^^A {\fontencoding{T2A}\selectfont % ^^A {\univerbtt!\univerb|Ha◌̣llo◌̱. Алло.|!}\quad gives\quad % ^^A “\univerb|Hạllo̱. Алло.|”\\ % ^^A } % Note the following: % \begin{itemize} % \item No font change is effectuated. % \item All characters${}<128$ (exceptions below) are handled by |\unichar|. % \item All characters${}>=128$ are handled by the active inputencoding % (try e.g. |utf8|). % \item Combining mode is activated during the |\univerb| execution. % \item Space (ASCII 32) does an implicit |\unicodecombine|. % \item CR (ASCII 13) gives a line break (and an implicit |\unicodecombine|), % but does not call |\unichar{13}|. % \item Do not use |[| as the beginning of the verbatim sequence, this % is reserved for future enhancements. % \end{itemize} % \begin{macrocode} ^^B\DeclareRobustCommand\univerb[1][]{\ifx\@nil#1\@nil\else\PackageError{ucs}{% ^^B \string\univerb\space has optional argument}{% ^^B \string\univerb[...] is not supported}\fi% ^^B \bgroup ^^B \@tempcnta\@ne ^^B \loop\ifnum\@tempcnta<128\relax ^^B \uc@vbsetchar\@tempcnta{\noexpand\unichar{\number\@tempcnta}}% ^^B \advance\@tempcnta by\@ne ^^B \repeat ^^B \uc@vbsetchar{32}{\noexpand\unicodecombine\noexpand\unichar{32}}% ^^B \uc@vbsetchar{13}{\noexpand\unicodecombine\noexpand\leavevmode\noexpand\\% ^^B \noexpand\leavevmode}% % \end{macrocode} % \end{macro} % % \begin{macro}{\verb@egroup} % \begin{macrocode} ^^B \def\verb@egroup{% ^^B \SetUnicodeOption{nocombine}% ^^B \global\let\verb@balance@group\@empty\egroup}% ^^B \SetUnicodeOption{combine}% ^^B \@sverb} % \end{macrocode} % \end{macro} % % \tobe % \begin{macrocode} \@ucsutils@section\unistring ^^B\def\uc@spacechar{\futurelet\uc@spacechar\empty}\expandafter\uc@spacechar\uc@spc ^^B\def\@unistring#1{% ^^B \ifx\uc@temp@a\uc@spacechar ^^B \@temptokena\expandafter{\the\@temptokena\unicodecombine\unichar{32}}% ^^B \fi ^^B \ifx\tw@#1\else ^^B \ifx\@ne#1\else ^^B \ifnum`#1<128 ^^B \@temptokena\expandafter{\the\@temptokena\unichar{`#1}}% ^^B \else ^^B \@temptokena\expandafter{\the\@temptokena#1}% ^^B \fi ^^B \fi% ^^B \expandafter\futurelet\expandafter\uc@temp@a\expandafter\@unistring ^^B \fi ^^B} ^^B\DeclareRobustCommand\unistring[1]{% ^^B \let\uc@temp@a\undefined ^^B \@temptokena{}% ^^B \@unistring\@ne#1\tw@ ^^B {\SetUnicodeOption{combine}% ^^B \the\@temptokena ^^B \SetUnicodeOption{nocombine}}} % \end{macrocode} % % Find out with macros where requested but not defined. % Give an error for each. Undefine them (they were defined to |1| above). % \begin{macrocode} {\def\\#1{% \ifx#11% \uc@errormsg{Can't load \string#1}{You have given the option \expandafter\@gobble\string#1 to ucsutils,\MessageBreak but there is no command called \string#1 in ucsutils.sty.}% \global\let#1\undefined \fi} \@ucsutils}% % \end{macrocode} % Clean up. % \begin{macrocode} \let\@ucsutils\undefined \let\@ucsutils@section\undefined \catcode2=15 % % % % % \end{macrocode} % % \xsection{File \texttt{utf8x.def}} % \begin{macrocode} %<*utf8x.def> \ifx\ProvidesFile\undefined\else \ProvidesFile{utf8x.def}[2004/10/17 UCS: Input encoding UTF-8]% \fi % \end{macrocode} % Only load this file once. If it has already been loaded, just execute % |\restore@utf@viii@actives|. % \begin{macrocode} \expandafter\ifx\csname restore@utf@viii@actives\endcsname\relax\else \csname restore@utf@viii@actives\endcsname\expandafter\endinput\fi \count255=\catcode`\@\catcode`\@11 %SPACE \ifx\@gobble\undefined\def\@gobble#1{}\fi \ifx\@gobbletwo\undefined\def\@gobbletwo#1#2{}\fi % \end{macrocode} % Checks if |\unichar| is defined. Otherwise yields an error. % This check is delayed until |\begin{document}| if necessary. % \begin{macrocode} \ifx\AtBeginDocument\undefined\else \ifx\@nodocument\relax\else\expandafter\AtBeginDocument\fi {\ifx\unichar\undefined{\PackageError{utf8x}{% Please use \protect\usepackage{ucs} to support encoding utf8x}{}}\fi}% \fi % \end{macrocode} % Requires package ucs at end of including inputenc package, if still in % preamble. % \begin{macrocode} \ifx\AtEndOfPackage\undefined\else \ifx\@nodocument\relax\else\AtEndOfPackage{\RequirePackage{ucs}}\fi% \fi % \end{macrocode} % % \begin{macrocode} \def\utf@viii@err#1{% \PackageError{utf8x}{Character \number#1 \uc@spc appeared alone}{% Characters 128-191 are only allowed as arguments to characters 194-244}} \def\utf@viii@xnum#1#2\utf@viii@err#3#4\@nil{% \ifx\empty#3% \count#1=-1\relax \PackageError{utf8x}{Malformed UTF-8 sequence}{% If the character is an argument, put it in {}}\else \count#1=#3\fi} \def\utf@viii@undef#1#2#3#4{% \begingroup \count0=#1\relax \ifx#3\@nil % Two-byte sequences \expandafter\utf@viii@xnum\expandafter1#2\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil \ifnum\count1=-1 \count0=192\count1="1007D\fi \multiply\count0by64\relax \advance\count0by\count1\relax \advance\count0by-12416\relax \else \ifx#4\@nil % Three-byte sequences \expandafter\utf@viii@xnum\expandafter1#2\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil \expandafter\utf@viii@xnum\expandafter2#3\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil \ifnum\count1=-1 \count0=224\count1=128\count2="1007D\fi \ifnum\count2=-1 \count0=224\count1=128\count2="1007D\fi \multiply\count0by64\relax \advance\count0by\count1\relax \multiply\count0by64\relax \advance\count0by\count2\relax \advance\count0by-925824\relax \else % Four-byte sequences \expandafter\utf@viii@xnum\expandafter1#2\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil \expandafter\utf@viii@xnum\expandafter2#3\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil \expandafter\utf@viii@xnum\expandafter3#4\empty\empty\empty\empty\empty\empty\empty\empty\empty\utf@viii@err\empty\@nil \ifnum\count1=-1 \count0=240\count1=128\count2=128\count3="1007D\fi \ifnum\count2=-1 \count0=240\count1=128\count2=128\count3="1007D\fi \ifnum\count3=-1 \count0=240\count1=128\count2=128\count3="1007D\fi \multiply\count0by64% \advance\count0by\count1% \multiply\count0by64% \advance\count0by\count2% \multiply\count0by64% \advance\count0by\count3% \advance\count0by-"3C82080\relax \fi\fi \begingroup\expandafter\utf@viii@map\expandafter{\number\count0}\endgroup \expandafter\endgroup \expandafter\unichar\expandafter{\number\count0}}% \def\utf@viii@make#1#2#3#4#5#6{% \count255=#1\relax \loop\ifnum\count255<#2\relax \catcode\count255\active \begingroup \uccode`\~\count255% \uccode`\u`\u% \uppercase{% \endgroup \edef~% #3{\noexpand\expandafter\noexpand\ifx\noexpand\csname u8-\number\count255-#4\noexpand\endcsname\relax \begingroup % \end{macrocode} % In case |\let| is not executed, this (until ===) expands % to |\let\relax\relax|, % otherwise we have |\let\utf@viii@undeferr\@gobble| % Number of \empty's must equal number of args of |\utf@viii@undef| % \begin{macrocode} \let\noexpand\utf@viii@undeferr \noexpand\@gobble\noexpand\empty\noexpand\empty \noexpand\empty\noexpand\empty\noexpand\@gobbletwo\relax\relax % === \noexpand\expandafter\endgroup % If \let not executed: \utf@viii@undeferr is called % otherwise: \utf@viii@undef. \noexpand\utf@viii@undeferr{\noexpand\string\noexpand~\noexpand\string#6}% \noexpand\utf@viii@undef{\number\count255}#5% \noexpand\else \noexpand\expandafter\noexpand\unichar\noexpand\expandafter{% \noexpand\csname u8-\number\count255-#4\noexpand\endcsname}\noexpand\fi}}% \advance\count255by1\relax \repeat}% % \end{macrocode} % % \begin{macrocode} \def\restore@utf@viii@actives{% \let\@inpenc@test\relax \utf@viii@make{194}{224}{####1}{\noexpand\string####1}{{####1}\noexpand\@nil\noexpand\@nil}{####1}% \utf@viii@make{224}{240}{####1####2}{\noexpand\string####1\noexpand\string####2}{{####1}{####2}\noexpand\@nil}{####1\noexpand\string####2}% \utf@viii@make{240}{245}{####1####2####3}{\noexpand\string####1\noexpand\string####2\noexpand\string####3}{{####1}{####2}{####3}}{####1\noexpand\string####2\noexpand\string####3}% % \count255=128\relax \loop\ifnum\count255<192\relax \catcode\count255\active \begingroup \uccode`\~\count255 %SPACE \uppercase{% \endgroup \edef~}% {\noexpand\utf@viii@err{\number\count255}}% \advance\count255by1\relax \repeat}% % \end{macrocode} % % \begin{macrocode} \def\utf@viii@map#1{% \begingroup \count0=#1\divide\count0by64\relax \ifnum#1<"80\relax % ASCII is not handled by utf8x.def \else\ifnum#1<"800\relax \count1=-\count0\multiply\count1by64\advance\count1by#1\relax \advance\count0by192\advance\count1by128\relax \begingroup \lccode`\B=\count1 %SPACE \lowercase{% \endgroup % \tracingassigns=3 \tracingonline=3 \expandafter\gdef\csname u8-\number\count0-B\endcsname}{#1}% \else\ifnum#1<"10000\relax \count2=-\count0\multiply\count2by64\advance\count2by#1\relax \divide\count0by64 %SPACE \count1=-\count0\multiply\count1by4096\advance\count1by#1% \divide\count1by64% \advance\count0by224\advance\count1by128\advance\count2by128 %SPACE \begingroup \lccode`\B=\count1 %SPACE \lccode`\C=\count2 %SPACE \lowercase{% \endgroup \expandafter\gdef\csname u8-\number\count0-BC\endcsname}{#1}% \else\ifnum#1<"110000 %SPACE \count3=-\count0\multiply\count3by64\advance\count3by#1\relax \divide\count0by64 %SPACE \count2=-\count0\multiply\count2by4096\advance\count2by#1% \divide\count2by64% \divide\count0by64 %SPACE \count1=-\count0\multiply\count1by262144\advance\count1by#1% \divide\count1by4096 %SPACE % \typeout{\number#1=\number\count0*262144+\number\count1*4096+\number\count2*64+\number\count3}% \advance\count0by240\advance\count1by128% \advance\count2by128\advance\count3by128 %SPACE \begingroup \lccode`\B=\count1 %SPACE \lccode`\C=\count2 %SPACE \lccode`\D=\count3 %SPACE \lowercase{% \endgroup \expandafter\gdef\csname u8-\number\count0-BCD\endcsname}{#1}% \else \PackageWarning{utf8x}{Invalid code position \number#1 \uc@spc defined,\MessageBreak unrepresentable in UTF-8}% \fi\fi\fi\fi \endgroup } \begingroup \lccode`\A=`\{\lccode`\B=`\}\lccode`\C=`\\% \lccode`\P=`\P\lccode`\U=`\U% \lowercase{% \endgroup \def\utf@viii@undeferr#1#2#3#4#5#6{% \ifx\@gobble#1\else[Please insert CPrerenderUnicodeA#1B into preamble]\fi}} % \end{macrocode} % Checks (at |\begin{document}|) whether some utf8-chars have been redefined % (e.g. by polutonikogreek.ldf). Warns and corrects if necessary. % \begin{macrocode} \ifx\AtBeginDocument\undefined\else \ifx\@nodocument\relax\else \AtBeginDocument{% \begingroup \expandafter\def\expandafter\temp@a\expandafter#\expandafter1% \string\utf@viii@#2\@nil{% \ifx\@nil#2\@nil\count2\count0\else\count1\count0\fi}% \count0=128 \count1=0 \count2=0 %SPACE \loop\ifnum\count0<245 %SPACE \ifnum\count0=192 \advance\count0by2 \fi \lccode`\~\count0 %SPACE \ifnum\catcode\count0=13 %SPACE \lowercase{% \expandafter\expandafter\expandafter\temp@a\expandafter\meaning\expandafter~% \string\utf@viii@\@nil}% \else \count2\count0\fi \advance\count0by1 %SPACE \repeat \ifnum\count1=0 \else\ifnum\count2=0 \else \PackageWarning{utf8x.def}{Character(s) \number\count2\space\space etc. got redefined somewhere.\MessageBreak Restoring to its utf8x-meaning}% \aftergroup\restore@utf@viii@actives \fi\fi \endgroup}% \fi \fi % \end{macrocode} % Restore |@| % \begin{macrocode} \catcode`\@=\count255\relax \csname restore@utf@viii@actives\endcsname % % % % \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}{E} ^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textEpsilon}{H} ^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textEta}{I} ^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textIota}{O} ^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textOmicron}{W} ^^A\DeclareTextCompositeCommand{\textdasia}{LGR}{\textOmega}{W|} ^^A\DeclareTextCompositeCommand{\textdasiaiota}{LGR}{\textOmega}{ % \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 % % % % \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 % % % \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 % % % \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 % % % \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}} % % % % \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}} % % % % \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 % % % \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} % % % \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}{}% % % % \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} % % % \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}{} % % % \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}{} % % % \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} % % % \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}{} % % % \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}{} % % % \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}{} % % % \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} % % % \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}{} % % % \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}{} % % % \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} % % % \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}{} % % % \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 % % % \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 }{}% % % % \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 } % % % \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}{} % % % \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}{} % % % \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}{} % % % \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 % % % \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}{} % % % \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}{} % % % \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} % % % % \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}{} % % % % \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}{} % % % % \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}{} % % % % \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}{} % % % % \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}% % % % \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} % % % \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 % % % \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 % % % \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}% % % % \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} % % % \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 % % % \end{macrocode} % % \Finale % \PrintChanges