% \iffalse meta-comment % % Copyright 1994 the LaTeX3 project and the individual authors. % All rights reserved. For further copyright information see the file % legal.txt, and any other copyright indicated in this file. % % This file is part of the LaTeX2e system. % ---------------------------------------- % % This system is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % % % IMPORTANT NOTICE: % % For error reports in case of UNCHANGED versions see bugs.txt. % % Please do not request updates from us directly. Distribution is % done through Mail-Servers and TeX organizations. % % You are not allowed to change this file. % % You are allowed to distribute this file under the condition that % it is distributed together with all files mentioned in manifest.txt. % % If you receive only some of these files from someone, complain! % % You are NOT ALLOWED to distribute this file alone. You are NOT % ALLOWED to take money for the distribution or use of either this % file or a changed version, except for a nominal charge for copying % etc. % \fi % \iffalse %%% File: ltoutenc %<*driver> % \fi \ProvidesFile{ltoutenc.dtx} [1994/05/20 v1.5k LaTeX Kernel (font encodings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltoutenc.dtx} \title{\filename} \date{\filedate} \author{% Johannes Braams\and David Carlisle\and Alan Jeffrey\and Leslie Lamport\and Frank Mittelbach\and Chris Rowley\and Rainer Sch\"opf} \begin{document} \maketitle \DocInput{\filename} \end{document} % % \fi % % \CheckSum{744} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \changes{v1.5k}{1994/05/18}{Removed braces from \cs{pounds} and % \cs{dollar}.} % \changes{v1.5k}{1994/05/18}{Replaced \cs{defaultencoding} with % \cs{encodingdefault}.} % \changes{v1.5k}{1994/05/18}{Made dotted-i produce `i'.} % \changes{v1.5j}{1994/05/17}{Added braces to \cs{pounds} so it works % as a subscript.} % \changes{v1.5i}{1994/05/16}{Fixed a bug with \cs{d}.} % \changes{v1.5h}{1994/05/16}{Added \cs{NG}, \cs{ng}, \cs{TH}, % \cs{th}, \cs{DH}, \cs{dh}, \cs{DJ} and \cs{dj}.} % \changes{v1.5h}{1994/05/16}{Added \cs{r} (ring accent) and \cs{k} % (ogonek) accents.} % \changes{v1.5h}{1994/05/16}{Removed \cs{P} from the OT1 definitions % file.} % \changes{v1.5h}{1994/05/16}{Fixed a bug with \cs{pounds}.} % \changes{v1.5g}{1994/05/16}{Made fontenc.sty use the new mixed-case % encoding files.} % \changes{v1.5f}{1994/05/16}{Revert code so that the encoding % given is used in \cs{DeclareTextCommand} (FMi)} % \changes{v1.5f}{1994/05/16}{enc files now have uc encoding name % parts (FMi)} % \changes{v1.5e}{1994/05/14}{Replaced \cs{ENC@cmd} by \cs{ENC-cmd}.} % \changes{v1.5d}{1994/05/14}{Rewrote \cs{DeclareTextCommand} to define % its argument to use the current encoding by default, rather than % the encoding provided to \cs{DeclareTextCommand}.} % \changes{v1.5d}{1994/05/14}{Tidied up the documentation.} % \changes{v1.5c}{1994/05/14}{Added the fontenc package.} % \changes{v1.5c}{1994/05/14}{Fixed a bug which caused an infinite loop % if \cs{f@encoding} was incorrectly set.} % \changes{v1.5c}{1994/05/14}{Moved fontsmpl to its own dtx file.} % \changes{v1.5b}{1994/05/13}{Added \cmd\{, \cmd\} and \cmd\$.} % \changes{v1.5b}{1994/05/13} % {Replaces \cs{space} by `~' in \cs{csname}.} % \changes{v1.5b}{1994/05/13}{Renamed \cs{DeclareProtectedCommand} to % \cs{DeclareRobustCommand}.} % \changes{v1.5a}{1994/05/11}{Renamed the commands again. Made the % encoding part of the command syntax. Added the % \cs{DeclareTextCommand} interface. Used % \cs{DeclareProtectedCommand}.} % \changes{v1.4a}{1994/05/01}{Renamed the commands, removed the % \cs{EncodingSpecific} command. Turned all slots into decimal. % Added \cs{a}.} % \changes{v1.3d}{1993/12/18}{Some T1 stuff had drifted into the OT1 % file.} % \changes{v1.3c}{1993/12/18}{A new syntax, separating % accent-definitions from encoing-specific definitions, and % allowing encoding-specific `chardef, `let, etc.} % \changes{v1.3b}{1993/12/18}{Corrected typos.} % \changes{v1.3a}{1993/12/18}{Replaced OT3 by XXX} % \changes{v1.3}{1993/12/17}{Added `EncodingSpecificAccent, % `EncodingSpecificAccentedLetter and `EncodingSpecificCommand.} % \changes{v1.2b}{1993/12/13}{Corrected file name in driver code.} % \changes{v1.2a}{1993/12/11}{Corrected for t1enc, math.} % \changes{v1.2}{1993/12/10}{Added source code for t1enc.sty.} % \changes{v1.1}{1993/12/07}{Made all character numbers decimal.} % \changes{v1.1}{1993/12/07}{Removed a lot of equal signs and the like.} % % \section{Font encodings} % % This section of the kernel contains commands for declaring % encoding-specific % commands, such as accents. It also contains the code for the % |T1enc.def| and |OT1enc.def| files, which define the % |T1| and |OT1| encodings, and the |fontenc| package for selecting % encodings. % % The |fontenc| package has options for encodings, of which the last % option is the default encoding. For example, to use the |OT2|, % |OT3| and |T1| encodings, with |T1| as the default, you say: %\begin{verbatim} % \usepackage[OT2,OT3,T1]{fontenc} %\end{verbatim} % The syntax for declaring encoding-specific commands is: % \begin{quote} % |\DeclareTextCommand{|^^A % \meta{command}|}{|^^A % \meta{encoding}|}|\\\hspace*{\fill}|[|^^A % \meta{number}|][|^^A % \meta{default}|]{|^^A % \meta{commands}|}| % \end{quote} % This command is like |\newcommand|, except that it defines a % command which is specific to one encoding. The resulting command % is always robust, even if its definition is fragile. For example, % the definition of |\aa| in the |OT1| encoding is: %\begin{verbatim} % \DeclareTextCommand{\aa}{OT1}{{\accent23a}} %\end{verbatim} % |\DeclareTextCommands| takes the same optional arguments as % |\newcommand|. % \begin{quote} % |\DeclareTextSymbol{|^^A % \meta{command}|}{|^^A % \meta{encoding}|}{|^^A % \meta{slot}|}| % \end{quote} % This command defines a text symbol, with a particular slot in that % encoding. The commands: %\begin{verbatim} % \DeclareTextSymbol{\ss}{OT1}{25} % \DeclareTextCommand{\ss}{OT1}{{\char25}} %\end{verbatim} % have the same effect, but the |\DeclareTextSymbol| is faster. % \begin{quote} % |\DeclareTextAccent{|^^A % \meta{command}|}{|^^A % \meta{encoding}|}{|^^A % \meta{slot}|}| % \end{quote} % This command declares a text accent. The commands: %\begin{verbatim} % \DeclareTextAccent{\"}{OT1}{127} % \DeclareTextCommand{\"}{OT1}[1]{{\accent127#1}} %\end{verbatim} % have the same effect. % \begin{quote} % |\DeclareTextComposite{|^^A % \meta{command}|}{|^^A % \meta{encoding}|}{|^^A % \meta{slot}|}| % \end{quote} % This command declares a composite letter, for example in the |T1| % encoding |\'{a}| is slot 225, which is declared by: %\begin{verbatim} % \DeclareTextComposite{\'}{T1}{a}{225} %\end{verbatim} % The \emph{command} should have been declared with % |\DeclareTextAccent|, or as a one-argument |\DeclareTextCommand|. % % \StopEventually{} % % \subsection{Docstrip modules} % % This |.dtx| file is be used to generate several related files % containing font encoding definitions. The mutually exculsive % docstrip options are: % \begin{center} % \begin{tabular}{lp{10cm}} % |T1| & generates |T1enc.def| for the Cork encoding, \\ % |OT1| & generates |OT1enc.def| for Knuth's CM encoding, \\ % |package| & generates |fontenc.sty| for selecting encodings, \\ % |2ekernel| & for the kernel commands. % \end{tabular} % \end{center} % \changes{1.0d}{1993/07/17}{changed `catcoding @} % \changes{1.0f}{1993/08/13}{Protected against active @ sign.} % \changes{1.0g}{1993/08/16}{Needs space after `string} % \changes{1.1}{1993/12/07}{Protected all special characters with % `string.} % \changes{1.3}{1993/12/17}{Removed the catcode hackery, since the file % is only read as a package in the preamble, and removed all the % messages on the screen, which just confuse users. Replaced them % by the appropriate `ProvidesPackage commands. Added XXXenc.} % \changes{1.3b}{1993/12/18}{Fixed typos with `ProvidesPackage lines. % Added the `NeedsTeXFormat line. Added the last argument to % `DeclareEncoding. Moved the use of the encodings to after their % declaration. } % \changes{1.4a}{1994/04/29}{Removed Rokicki's OT1 variant encoding. % Moved the driver to the top.} % \changes{1.5a}{1994/05/11}{Made T1 and OT1 generate packages rather % than def files. Renamed the `package' module to `teststy'.} % \changes{1.5d}{1994/05/14}{Moved the driver to the top.} % % \subsection{Definitions for the kernel} % % \changes{1.3}{1993/12/17}{Added this section} % \changes{1.3c}{1993/12/18}{Split `EncodingSpecificAccent up into % `EncodingSpecific and `DeclareAccent.} % \changes{1.4a}{1994/04/29}{Removed \cs{EncodingSpecific}. Renamed % all the commands. Added \cs{DeclareTextGlyph} and % \cs{UndeclareTextCommand}.} % \changes{v1.5a}{1994/05/11}{Reimplemented \cs{DeclareTextCommand} % using \cs{@changed@cmd} and \cs{DeclareProtectedCommand}.} % \changes{v1.5c}{1994/05/14}{Fixed a bug which caused an infinite loop % if \cs{f@encoding} was incorrectly set.} % \changes{v1.5d}{1994/05/14}{Rewrote \cs{DeclareTextCommand} to define % its argument to use the current encoding by default, rather than % the encoding provided to \cs{DeclareTextCommand}.} % % This section contains definitions for commands such as accents which % depend on the current encoding. These commands will usually be kept % in |.def| files, for example |OT1enc.def| contains the definitions for % the |OT1| encoding. % \begin{macrocode} %<*2ekernel> \message{font encodings,} % \end{macrocode} % % \begin{macro}{\DeclareTextCommand} % \begin{macro}{\@changed@cmd} % \begin{macro}{\@changed@x} % This is quite a complicated macro! If the current encoding is |OT1| % and you say: %\begin{verbatim} % \DeclareTextCommand{\foo}{T1}... %\end{verbatim} % then |\DeclareRobustCommand| is used to define |\foo| as % |\protect\foo|, and |\foo| as |\OT1-cmd \OT1\foo| % (where |\OT1\foo| is \emph{one} control sequence, not two!) % We then call |\newcommand| to define |\T1\foo|. % \begin{macrocode} \def\DeclareTextCommand#1#2{% \expandafter\DeclareRobustCommand\expandafter#1% \expandafter{% \csname#2-cmd\expandafter\endcsname \csname#2\string#1\endcsname }% \let\@ifdefinable\@rc@ifdefinable \expandafter\newcommand\csname#2\string#1\endcsname } \@onlypreamble\DeclareTextCommand % \end{macrocode} % The sneaky bit in all this is what |\OT1-cmd| does. If the current % encoding is |OT1|, then |\OT1-cmd| is set to |\relax|, and so the % command |\OT1\foo| is executed. But if the current encoding is, % say, |T1|, then |\OT1-cmd| is set to |\@changed@cmd|, which parses % the command name |\OT1\foo|, defines |\foo| to be |\T1\foo|, % makes sure that |\T1\foo| is defined, and calls |\T1\foo|. % \begin{macrocode} \def\@changed@cmd#1{% \expandafter\@changed@x\string#1\@changed@x } \bgroup \lccode`\|=`\\ \lowercase{ \egroup \def\@changed@x|#1|#2\@changed@x{% \expandafter\def\csname#2 \expandafter\endcsname \expandafter{% \csname\f@encoding -cmd\expandafter\endcsname \csname\f@encoding |#2\endcsname }% \expandafter\ifx\csname\f@encoding |#2\endcsname\relax \@latexerr{Command |#2 undefined in encoding \f@encoding}\@eha \else \csname\f@encoding |#2\expandafter\endcsname \fi } } % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \changes{v1.5a}{1994/05/11}{Reimplemented \cs{DeclareTextAccent} using % \cs{DeclareTextCommand}.} % % \begin{macro}{\DeclareTextAccent} % This is just a disguise for defining a \TeX~|\accent| command. % \begin{macrocode} \def\DeclareTextAccent#1#2#3{% \DeclareTextCommand#1{#2}[1]{{\accent#3 ##1}} } % \end{macrocode} % \end{macro} % % \begin{macro}{\DeclareTextSymbol} % |\DeclareTextSymbol{\foo}{OT1}{123}| uses a similar trick to\\ % |\DeclareTextCommand|, but |\chardef|'s |\OT1\foo| to be slot 123. % \begin{macrocode} \def\DeclareTextSymbol#1#2#3{% \expandafter\DeclareRobustCommand\expandafter#1% \expandafter{% \csname\f@encoding -cmd\expandafter\endcsname \csname\f@encoding \string#1\endcsname }% \expandafter\chardef\csname#2\string#1\endcsname#3\relax } % \end{macrocode} % \end{macro} % % \begin{macro}{\DeclareTextComposite} % \begin{macro}{\@text@composite} % \begin{macro}{\@strip@args} % Another amusing game to play with |\expandafter|, |\csname|, and % |\string|. % % When you say |\DeclareTextComposite{\foo}{T1}{a}{123}|, % we first check to make sure that |\T1\foo| is a one-argument macro, % by making sure that its |\meaning| begins |macro:#1-|, and call an % error if it isn't. Assuming all's well, we look to see if the % expansion of |\T1\foo| begins with |\@text@composite|, and if it % doesn't, we redefine |\T1\foo| to be % |#1->\@text@composite\T1\foo{#1}{...}| where |...| is the previous % definition of |\T1\foo|. Finally, we define |\\T1\foo-a| % to gobble two arguments and expand to character 123. % \begin{macrocode} \def\DeclareTextComposite#1#2#3#4{% \expandafter\let\expandafter\@tempa\csname#2\string#1\endcsname \edef\@tempb{\string##1}% \edef\@tempc{\expandafter\@strip@args\meaning\@tempa:-\@strip@args}% \ifx\@tempb\@tempc \expandafter\expandafter\expandafter\ifx \expandafter\@car\@tempa\relax\relax\@nil \@text@composite \else \edef\@tempb##1{% \def\expandafter\noexpand\csname#2\string#1\endcsname####1{% \noexpand\@text@composite \expandafter\noexpand\csname#2\string#1\endcsname {####1}% {##1}% }% }% \expandafter\@tempb\expandafter{\@tempa{##1}}% \fi \bgroup \lccode`\@=#4\relax \lowercase{% \egroup \def\@tempa##1##2{@}% }% \expandafter\let\csname\expandafter\string\csname #2\endcsname\string#1-\string#3\endcsname\@tempa \else \@latexerr{% \string\DeclareTextComposite\space used on inappropriate command \string#1% }\@eha \fi } \@onlypreamble\DeclareTextComposite % \end{macrocode} % This all works because |\@text@composite\T1\foo{A}|\\ % expands to\\ % |\\T1\foo-A\@firstofone|.\\ % If |\\T1\foo-A| has been defined, it will % gobble up the two arguments, and expand to the composite letter. If % it hasn't then |\@firstofone| will remove the braces from the default % definition of |\T1\foo{A}|. % \begin{macrocode} \def\@text@composite#1#2{% \csname\string#1-\string#2\endcsname\@firstofone } % \end{macrocode} % The |\@strip@args| command just strips the arguments part out of % the |\meaning| of a description |macro:...->...|. % \begin{macrocode} \def\@strip@args#1:#2-#3\@strip@args{#2} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \changes{1.4a}{1994/05/01}{Added the \cs{a} command.} % % \begin{macro}{\a} % The |\a| command is used to access the accent commands even when % they have been redefined (for example by the |tabular| environment). % \begin{macrocode} \def\a#1{\expandafter\protect\csname#1 \endcsname} % % \end{macrocode} % \end{macro} % % \changes{1.4a}{1994/05/01}{Added the \cs{SaveAtCatcode} and % \cs{RestoreAtCatcode} commands.} % % \changes{1.5a}{1994/05/12}{Removed the \cs{SaveAtCatcode} and % \cs{RestoreAtCatcode} commands.} % % \subsection{The fontenc package} % % \changes{v1.5c}{1994/05/14}{Added the fontenc package} % \changes{v1.5g}{1994/05/16}{Removed the lowercasing of the filename.} % % This package allows authors to specify which encodings they will use. % For each encoding |FOO|, the package looks to see if the encoding % |FOO| has already been declared. If it hasn't, the file |FOOenc.def| % is loaded. The default encoding is set to be |FOO|. % % \begin{macrocode} %<*package> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{fontenc}[1994/05/18 Standard LaTeX package] \DeclareOption*{% \let\encodingdefault\CurrentOption \@ifundefined{T@\CurrentOption}{% \InputIfFileExists{\CurrentOption enc.def}{}{% \@warning{Encoding file `\CurrentOption enc.def' not found}% }% }{}% } \ProcessOptions* \fontencoding\encodingdefault\selectfont % % \end{macrocode} % % \subsection{Definitions for the OT1 encoding} % % \changes{1.3}{1993/12/17}{Removed all the hackery for use in % `DeclareFontEncoding', and redid everything using % `DeclareTextFoo.} % \changes{1.3b}{1993/12/18}{Replaced the missing last argument to % `DeclareFontEncoding.} % \changes{1.3c}{1993/12/18}{Rewrote for the new syntax of % `EncodingSpecific.} % \changes{1.4a}{1994/05/01}{Rewrote for the new syntax.} % \changes{1.5a}{1994/05/12}{Rewrote for the new syntax.} % \changes{1.5h}{1994/05/16}{\cs{pounds} was still using u rather than % ui shape.} % % The definitions for the `\TeX{} text' (OT1) encoding. % % \begin{macrocode} %<*OT1> \ProvidesFile{OT1enc.def}[1994/05/17 Standard LaTeX file] % \end{macrocode} % Declare the encoding. % \begin{macrocode} \DeclareFontEncoding{OT1}{}{} % \end{macrocode} % Declare the accents. % \begin{macrocode} \DeclareTextAccent{\"}{OT1}{127} \DeclareTextAccent{\'}{OT1}{19} \DeclareTextAccent{\.}{OT1}{95} \DeclareTextAccent{\=}{OT1}{22} \DeclareTextAccent{\^}{OT1}{94} \DeclareTextAccent{\`}{OT1}{18} \DeclareTextAccent{\~}{OT1}{126} \DeclareTextAccent{\H}{OT1}{125} \DeclareTextAccent{\u}{OT1}{21} \DeclareTextAccent{\v}{OT1}{20} \DeclareTextAccent{\r}{OT1}{23} \DeclareTextCommand{\b}{OT1}[1] {\oalign{#1\crcr\hidewidth \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}} \DeclareTextCommand{\c}{OT1}[1] {\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent24 #1% \else{\ooalign{\unhbox\z@\crcr\hidewidth\char24\hidewidth}}\fi} \DeclareTextCommand{\d}{OT1}[1] {\oalign{#1\crcr\hidewidth\sh@ft{08}.\hidewidth}} % \end{macrocode} % Declare the text symbols. % \begin{macrocode} \DeclareTextSymbol{\ss}{OT1}{25} \DeclareTextSymbol{\ae}{OT1}{26} \DeclareTextSymbol{\oe}{OT1}{27} \DeclareTextSymbol{\o}{OT1}{28} \DeclareTextSymbol{\AE}{OT1}{29} \DeclareTextSymbol{\OE}{OT1}{30} \DeclareTextSymbol{\O}{OT1}{31} \DeclareTextSymbol{\i}{OT1}{16} \DeclareTextSymbol{\j}{OT1}{17} \DeclareTextCommand{\aa}{OT1} {{\accent23a}} \DeclareTextCommand{\L}{OT1} {\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}} \DeclareTextCommand{\l}{OT1} {{\char32l}} \DeclareTextCommand{\_}{OT1} {\leavevmode \kern.06em \vbox{\hrule width.3em}} \DeclareTextCommand{\AA}{OT1} {\leavevmode\setbox0\hbox{h}\dimen@\ht0\advance\dimen@-1ex% \rlap{\raise.67\dimen@\hbox{\char'27}}A} \DeclareTextCommand{\SS}{OT1} {SS} \DeclareTextCommand{\S}{OT1} {\mathhexbox278} \DeclareTextCommand{\dag}{OT1} {\mathhexbox279} \DeclareTextCommand{\ddag}{OT1} {\mathhexbox27A} \DeclareTextCommand{\{}{OT1} {\ifmmode\lbrace\else$\m@th\lbrace$\fi} \DeclareTextCommand{\}}{OT1} {\ifmmode\rbrace\else$\m@th\rbrace$\fi} % \end{macrocode} % In the OT1 encoding, \pounds~and \$ share a slot. % \begin{macrocode} \DeclareTextCommand{\$}{OT1}{\nfss@text{% \ifdim \fontdimen\@ne\font >\z@ \slshape \else \upshape \fi \char`\$}} \DeclareTextCommand{\pounds}{OT1}{\nfss@text{% \ifdim \fontdimen\@ne\font >\z@ \itshape \else \fontshape{ui}\selectfont \fi \char`\$}} % % \end{macrocode} % % \subsection{Definitions for the T1 encoding} % % \changes{1.3}{1993/12/17}{Removed all the hackery for use in % `DeclareFontEncoding', and redid everything using % `DeclareTextFoo.} % \changes{1.3b}{1993/12/18}{Replaced the missing last argument to % `DeclareFontEncoding.} % \changes{1.3c}{1993/12/18}{Rewrote for the new syntax of % `EncodingSpecific.} % \changes{1.4a}{1994/05/01}{Rewrote for the new syntax.} % \changes{1.5a}{1994/05/12}{Rewrote for the new syntax.} % % The definitions for the `Extended \TeX{} text' (T1) encoding. % % \begin{macrocode} %<*T1> \ProvidesFile{T1enc.def}[1994/05/17 Standard LaTeX file] % \end{macrocode} % Declare the encoding. % \begin{macrocode} \DeclareFontEncoding{T1}{}{} % \end{macrocode} % Declare the accents. % \begin{macrocode} \DeclareTextAccent{\`}{T1}{0} \DeclareTextAccent{\'}{T1}{1} \DeclareTextAccent{\^}{T1}{2} \DeclareTextAccent{\~}{T1}{3} \DeclareTextAccent{\"}{T1}{4} \DeclareTextAccent{\H}{T1}{5} \DeclareTextAccent{\r}{T1}{6} \DeclareTextAccent{\v}{T1}{7} \DeclareTextAccent{\u}{T1}{8} \DeclareTextAccent{\=}{T1}{9} \DeclareTextAccent{\.}{T1}{10} \DeclareTextCommand{\b}{T1}[1] {\oalign{#1\crcr\hidewidth \vbox to.2ex{\hbox{\char9}\vss}\hidewidth}} \DeclareTextCommand{\c}{T1}[1] {\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1% \else{\ooalign{\hidewidth\char11\hidewidth \crcr\unhbox\z@}}\fi} \DeclareTextCommand{\d}{T1}[1] {\oalign{#1\crcr\hidewidth.\hidewidth}} \DeclareTextCommand{\k}{T1}[1] {\oalign{#1\crcr\char12\hidewidth}} % \end{macrocode} % Declare the text symbols. % \begin{macrocode} \DeclareTextSymbol{\AA}{T1}{197} \DeclareTextSymbol{\AE}{T1}{198} \DeclareTextSymbol{\L}{T1}{138} \DeclareTextSymbol{\O}{T1}{216} \DeclareTextSymbol{\OE}{T1}{215} \DeclareTextSymbol{\S}{T1}{159} \DeclareTextSymbol{\SS}{T1}{223} \DeclareTextSymbol{\_}{T1}{95} \DeclareTextSymbol{\aa}{T1}{229} \DeclareTextSymbol{\ae}{T1}{230} \DeclareTextSymbol{\guillemotleft}{T1}{19} \DeclareTextSymbol{\guillemotright}{T1}{20} \DeclareTextSymbol{\guilsinglleft}{T1}{14} \DeclareTextSymbol{\guilsinglright}{T1}{15} \DeclareTextSymbol{\i}{T1}{25} \DeclareTextSymbol{\j}{T1}{26} \DeclareTextSymbol{\l}{T1}{170} \DeclareTextSymbol{\o}{T1}{248} \DeclareTextSymbol{\oe}{T1}{247} \DeclareTextSymbol{\pounds}{T1}{191} \DeclareTextSymbol{\quotedblbase}{T1}{18} \DeclareTextSymbol{\quotesinglbase}{T1}{13} \DeclareTextSymbol{\ss}{T1}{255} \DeclareTextSymbol{\$}{T1}{`\$} \DeclareTextSymbol{\NG}{T1}{141} \DeclareTextSymbol{\ng}{T1}{173} \DeclareTextSymbol{\TH}{T1}{222} \DeclareTextSymbol{\th}{T1}{254} \DeclareTextSymbol{\DH}{T1}{208} \DeclareTextSymbol{\dh}{T1}{240} \DeclareTextSymbol{\DJ}{T1}{208} \DeclareTextSymbol{\dj}{T1}{158} \DeclareTextCommand{\{}{T1} {\ifmmode\lbrace\else\char`\{\fi} \DeclareTextCommand{\}}{T1} {\ifmmode\rbrace\else\char`\}\fi} % \end{macrocode} % Declare the composites. % \begin{macrocode} \DeclareTextComposite{\.}{T1}{i}{`\i} \DeclareTextComposite{\u}{T1}{A}{128} \DeclareTextComposite{\k}{T1}{A}{129} \DeclareTextComposite{\'}{T1}{C}{130} \DeclareTextComposite{\v}{T1}{C}{131} \DeclareTextComposite{\v}{T1}{D}{132} \DeclareTextComposite{\v}{T1}{E}{133} \DeclareTextComposite{\k}{T1}{E}{134} \DeclareTextComposite{\u}{T1}{G}{135} \DeclareTextComposite{\'}{T1}{L}{136} \DeclareTextComposite{\v}{T1}{L}{137} \DeclareTextComposite{\'}{T1}{N}{139} \DeclareTextComposite{\v}{T1}{N}{140} \DeclareTextComposite{\H}{T1}{O}{142} \DeclareTextComposite{\'}{T1}{R}{143} \DeclareTextComposite{\v}{T1}{R}{144} \DeclareTextComposite{\'}{T1}{S}{145} \DeclareTextComposite{\v}{T1}{S}{146} \DeclareTextComposite{\c}{T1}{S}{147} \DeclareTextComposite{\v}{T1}{T}{148} \DeclareTextComposite{\c}{T1}{T}{149} \DeclareTextComposite{\H}{T1}{U}{150} \DeclareTextComposite{\r}{T1}{U}{151} \DeclareTextComposite{\"}{T1}{Y}{152} \DeclareTextComposite{\'}{T1}{Z}{153} \DeclareTextComposite{\v}{T1}{Z}{154} \DeclareTextComposite{\.}{T1}{Z}{155} \DeclareTextComposite{\.}{T1}{I}{157} \DeclareTextComposite{\u}{T1}{a}{160} \DeclareTextComposite{\k}{T1}{a}{161} \DeclareTextComposite{\'}{T1}{c}{162} \DeclareTextComposite{\v}{T1}{c}{163} \DeclareTextComposite{\v}{T1}{d}{164} \DeclareTextComposite{\v}{T1}{e}{165} \DeclareTextComposite{\k}{T1}{e}{166} \DeclareTextComposite{\u}{T1}{g}{167} \DeclareTextComposite{\'}{T1}{l}{168} \DeclareTextComposite{\v}{T1}{l}{169} \DeclareTextComposite{\'}{T1}{n}{171} \DeclareTextComposite{\v}{T1}{n}{172} \DeclareTextComposite{\H}{T1}{o}{174} \DeclareTextComposite{\'}{T1}{r}{175} \DeclareTextComposite{\v}{T1}{r}{176} \DeclareTextComposite{\'}{T1}{s}{177} \DeclareTextComposite{\v}{T1}{s}{178} \DeclareTextComposite{\c}{T1}{s}{179} \DeclareTextComposite{\v}{T1}{t}{180} \DeclareTextComposite{\c}{T1}{t}{181} \DeclareTextComposite{\H}{T1}{u}{182} \DeclareTextComposite{\r}{T1}{u}{183} \DeclareTextComposite{\"}{T1}{y}{184} \DeclareTextComposite{\'}{T1}{z}{185} \DeclareTextComposite{\v}{T1}{z}{186} \DeclareTextComposite{\.}{T1}{z}{187} \DeclareTextComposite{\`}{T1}{A}{192} \DeclareTextComposite{\'}{T1}{A}{193} \DeclareTextComposite{\^}{T1}{A}{194} \DeclareTextComposite{\~}{T1}{A}{195} \DeclareTextComposite{\"}{T1}{A}{196} \DeclareTextComposite{\r}{T1}{A}{197} \DeclareTextComposite{\c}{T1}{C}{199} \DeclareTextComposite{\`}{T1}{E}{200} \DeclareTextComposite{\'}{T1}{E}{201} \DeclareTextComposite{\^}{T1}{E}{202} \DeclareTextComposite{\"}{T1}{E}{203} \DeclareTextComposite{\`}{T1}{I}{204} \DeclareTextComposite{\'}{T1}{I}{205} \DeclareTextComposite{\^}{T1}{I}{206} \DeclareTextComposite{\"}{T1}{I}{207} \DeclareTextComposite{\~}{T1}{N}{209} \DeclareTextComposite{\`}{T1}{O}{210} \DeclareTextComposite{\'}{T1}{O}{211} \DeclareTextComposite{\^}{T1}{O}{212} \DeclareTextComposite{\~}{T1}{O}{213} \DeclareTextComposite{\"}{T1}{O}{214} \DeclareTextComposite{\`}{T1}{U}{217} \DeclareTextComposite{\'}{T1}{U}{218} \DeclareTextComposite{\^}{T1}{U}{219} \DeclareTextComposite{\"}{T1}{U}{220} \DeclareTextComposite{\'}{T1}{Y}{221} \DeclareTextComposite{\`}{T1}{a}{224} \DeclareTextComposite{\'}{T1}{a}{225} \DeclareTextComposite{\^}{T1}{a}{226} \DeclareTextComposite{\~}{T1}{a}{227} \DeclareTextComposite{\"}{T1}{a}{228} \DeclareTextComposite{\r}{T1}{a}{229} \DeclareTextComposite{\c}{T1}{c}{231} \DeclareTextComposite{\`}{T1}{e}{232} \DeclareTextComposite{\'}{T1}{e}{233} \DeclareTextComposite{\^}{T1}{e}{234} \DeclareTextComposite{\"}{T1}{e}{235} \DeclareTextComposite{\`}{T1}{i}{236} \DeclareTextComposite{\`}{T1}{\i}{236} \DeclareTextComposite{\'}{T1}{i}{237} \DeclareTextComposite{\'}{T1}{\i}{237} \DeclareTextComposite{\^}{T1}{i}{238} \DeclareTextComposite{\^}{T1}{\i}{238} \DeclareTextComposite{\"}{T1}{i}{239} \DeclareTextComposite{\"}{T1}{\i}{239} \DeclareTextComposite{\~}{T1}{n}{241} \DeclareTextComposite{\`}{T1}{o}{242} \DeclareTextComposite{\'}{T1}{o}{243} \DeclareTextComposite{\^}{T1}{o}{244} \DeclareTextComposite{\~}{T1}{o}{245} \DeclareTextComposite{\"}{T1}{o}{246} \DeclareTextComposite{\`}{T1}{u}{249} \DeclareTextComposite{\'}{T1}{u}{250} \DeclareTextComposite{\^}{T1}{u}{251} \DeclareTextComposite{\"}{T1}{u}{252} \DeclareTextComposite{\'}{T1}{y}{253} % % \end{macrocode} % % \changes{1.4a}{1994/05/01}{Removed the uc/lc table settings, since % the T1 uc/lc table is now the default.} % % \changes{1.3}{1993/12/17}{Made Rockiki's encoding a proper encoding % scheme rather than a variant of OT1.} % \changes{1.3b}{1993/12/18}{Replaced the missing last argument to % `DeclareFontEncoding.} % \changes{1.3c}{1993/12/18}{Rewrote for the new syntax of % `EncodingSpecific.} % \changes{1.4a}{1994/05/01}{Removed Rockiki's encoding.} % % % \Finale % \endinput