summaryrefslogtreecommitdiff
path: root/macros/latex/required/cyrillic/cyoutenc.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/required/cyrillic/cyoutenc.dtx
Initial commit
Diffstat (limited to 'macros/latex/required/cyrillic/cyoutenc.dtx')
-rw-r--r--macros/latex/required/cyrillic/cyoutenc.dtx611
1 files changed, 611 insertions, 0 deletions
diff --git a/macros/latex/required/cyrillic/cyoutenc.dtx b/macros/latex/required/cyrillic/cyoutenc.dtx
new file mode 100644
index 0000000000..4b510de97f
--- /dev/null
+++ b/macros/latex/required/cyrillic/cyoutenc.dtx
@@ -0,0 +1,611 @@
+% \iffalse meta-comment
+%
+% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2008 2009
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the Standard LaTeX `Cyrillic Bundle'.
+% ----------------------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3b
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3b or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% The list of all files belonging to the `Cyrillic Bundle' is
+% given in the file `manifest.txt'.
+%
+% \fi
+% \iffalse
+% This is the file |cyoutenc.dtx| of the cyrillic bundle for LaTeX2e.
+%
+%<*driver>
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{cyoutenc.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \section{The Cyrillic font encodings: T2A, T2B, T2C, and X2}
+%
+% Since the number of Cyrillic glyphs exceeds the limit for a `T'
+% encoding, it is necessary to create multiple glyph containers. The
+% output encodings `T2A', `T2B', and `T2C' are the result of long
+% discussions in various Internet mailing lists; they emerged from the
+% `X2' glyph container which was previously called `T2'. Please
+% consult section~6.4 (`Naming conventions') in the file
+% |fntguide.tex| of the base \LaTeXe\ distribution for details on the
+% differences between \LaTeX\ font encodings.
+%
+% When typesetting Cyrillic texts, there is a tradition to use Cyrillic
+% letters (in some situations) inside math formul\ae\ just like Latin
+% letters. By default, this does not work, because symbols declared
+% with |\DeclareTextSymbol| may not be used inside math. If you need to
+% `transparently' typeset symbols in math formul\ae\ which are declared
+% in encoding definition files, you could use the |mathtext| package
+% available at |CTAN:macros/latex/contrib/supported/t2|. Note that this
+% package uses at least one additional math alphabet per font encoding.
+%
+% To make code more compact, we use the |\LastDeclaredEncoding| macro to
+% share the same lines in the DTX file for different encodings. This macro
+% appeared in the December 1998 \LaTeXe\ release (together with the
+% integration of Cyrillic stuff), thus we use |\NeedsTeXFormat|
+% below. We will probably change this `sharing mechanism' to use
+% a yet-to-be-written |docstrip| extension (namely, substring substitution)
+% in the future.
+%
+% \begin{macrocode}
+%<*X2|T2A|T2B|T2C>
+\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+%<X2>\ProvidesFile{x2enc.def}
+%<T2A>\ProvidesFile{t2aenc.def}
+%<T2B>\ProvidesFile{t2benc.def}
+%<T2C>\ProvidesFile{t2cenc.def}
+ [2005/09/27 v1.0i Cyrillic encoding definition file]
+% \end{macrocode}
+%
+% To assure that |\MakeUppercase| and |\MakeLowercase| will work
+% correctly, |\@uclclist| (defined in the \LaTeX\ kernel) contains all
+% Cyrillic uppercase-lowercase letter pairs. This also needs at least
+% December 1998 \LaTeXe\ release.
+%
+% \begin{macrocode}
+%<X2>\DeclareFontEncoding{X2}{}{}
+%<T2A>\DeclareFontEncoding{T2A}{}{}
+%<T2B>\DeclareFontEncoding{T2B}{}{}
+%<T2C>\DeclareFontEncoding{T2C}{}{}
+\DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}
+% \end{macrocode}
+%
+% Common accents.
+%
+% \begin{macrocode}
+\DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
+\DeclareTextAccent{\'}{\LastDeclaredEncoding}{1}
+\DeclareTextAccent{\^}{\LastDeclaredEncoding}{2}
+\DeclareTextAccent{\~}{\LastDeclaredEncoding}{3}
+\DeclareTextAccent{\"}{\LastDeclaredEncoding}{4}
+\DeclareTextAccent{\H}{\LastDeclaredEncoding}{5}
+\DeclareTextAccent{\r}{\LastDeclaredEncoding}{6}
+\DeclareTextAccent{\v}{\LastDeclaredEncoding}{7}
+\DeclareTextAccent{\u}{\LastDeclaredEncoding}{8}
+\DeclareTextAccent{\=}{\LastDeclaredEncoding}{9}
+\DeclareTextAccent{\.}{\LastDeclaredEncoding}{10}
+% 11 cedilla
+% 12 ogonek
+% Cyrillic flex (inverted breve) accent:
+\DeclareTextAccent{\f}{\LastDeclaredEncoding}{18}
+% double grave (`Cyrillic umlaut') accent:
+\DeclareTextAccent{\C}{\LastDeclaredEncoding}{19}
+% Cyrillic breve accent:
+\DeclareTextAccent{\U}{\LastDeclaredEncoding}{20}
+% \end{macrocode}
+% In these definitions we no longer use the helper function |\sh@ft|
+% from plain.tex since that now has two incompatible definitions.
+% \changes{v1.0i}{2005/09/27}{Replace \cs{sh@ft} by \cs{ltx@sh@ft}}
+% \begin{macrocode}
+\DeclareTextCommand{\b}{\LastDeclaredEncoding}[1]
+ {\hmode@bgroup\o@lign{\relax#1\crcr\hidewidth\ltx@sh@ft{-3ex}%
+ \vbox to.2ex{\hbox{\char9}\vss}\hidewidth}\egroup}
+\DeclareTextCommand{\c}{\LastDeclaredEncoding}[1]
+ {\leavevmode\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1%
+ \else{\ooalign{\hidewidth\char11\hidewidth
+ \crcr\unhbox\z@}}\fi}
+\DeclareTextCommand{\d}{\LastDeclaredEncoding}[1]
+ {\hmode@bgroup
+ \o@lign{\relax#1\crcr\hidewidth\ltx@sh@ft{-1ex}.\hidewidth}\egroup}
+\DeclareTextCommand{\k}{\LastDeclaredEncoding}[1]
+ {\oalign{\null#1\crcr\hidewidth\char12}}
+\DeclareTextCommand{\textperthousand}{\LastDeclaredEncoding}
+ {\%\char 24 }
+\DeclareTextCommand{\textpertenthousand}{\LastDeclaredEncoding}
+ {\%\char 24\char 24 }
+%<*!X2&AAhack>
+\DeclareTextCompositeCommand{\r}{\LastDeclaredEncoding}{A}
+ {\leavevmode\setbox\z@\hbox{!}\dimen@\ht\z@\advance\dimen@-1ex%
+ \rlap{\raise.67\dimen@\hbox{\char6}}A}
+%</!X2&AAhack>
+% \end{macrocode}
+%
+% Common symbolic glyphs.
+%
+% \begin{macrocode}
+\DeclareTextSymbol{\textendash}{\LastDeclaredEncoding}{21}
+% \end{macrocode}
+% Slot 22 is a `cyrillic emdash' --- |\cyrdash| which is longer
+% than endash, but shorter than english emdash (but we define an
+% alias too).
+% \begin{macrocode}
+\DeclareTextSymbol{\cyrdash}{\LastDeclaredEncoding}{22}
+\DeclareTextSymbol{\textemdash}{\LastDeclaredEncoding}{22}
+\DeclareTextSymbol{\textcompwordmark}{\LastDeclaredEncoding}{23}
+% 24 perthousandzero
+\DeclareTextSymbol{\textvisiblespace}{\LastDeclaredEncoding}{32}
+\DeclareTextSymbol{\textdollar}{\LastDeclaredEncoding}{36}
+\DeclareTextSymbol{\textless}{\LastDeclaredEncoding}{60}
+\DeclareTextSymbol{\textgreater}{\LastDeclaredEncoding}{62}
+%\DeclareTextSymbol{\texthyphenchar}{\LastDeclaredEncoding}{127}
+%\DeclareTextSymbol{\texthyphen}{\LastDeclaredEncoding}{45}
+\DeclareTextSymbol{\textbackslash}{\LastDeclaredEncoding}{92}
+\DeclareTextSymbol{\textasciicircum}{\LastDeclaredEncoding}{94}
+\DeclareTextSymbol{\textunderscore}{\LastDeclaredEncoding}{95}
+\DeclareTextSymbol{\textbraceleft}{\LastDeclaredEncoding}{123}
+\DeclareTextSymbol{\textbar}{\LastDeclaredEncoding}{124}
+\DeclareTextSymbol{\textbraceright}{\LastDeclaredEncoding}{125}
+\DeclareTextSymbol{\textasciitilde}{\LastDeclaredEncoding}{126}
+\DeclareTextSymbol{\textnumero}{\LastDeclaredEncoding}{157}
+\DeclareTextSymbol{\textcurrency}{\LastDeclaredEncoding}{158}
+\DeclareTextSymbol{\textsection}{\LastDeclaredEncoding}{159}
+%
+\DeclareTextSymbol{\textquotedbl}{\LastDeclaredEncoding}{34}
+\DeclareTextSymbol{\textquoteleft}{\LastDeclaredEncoding}{96}
+\DeclareTextSymbol{\textquoteright}{\LastDeclaredEncoding}{39}
+\DeclareTextSymbol{\textquotedblleft}{\LastDeclaredEncoding}{16}
+\DeclareTextSymbol{\textquotedblright}{\LastDeclaredEncoding}{17}
+\DeclareTextSymbol{\quotedblbase}{\LastDeclaredEncoding}{189}
+\DeclareTextSymbol{\CYRpalochka}{\LastDeclaredEncoding}{13}
+\DeclareTextSymbol{\cyrlangle}{\LastDeclaredEncoding}{14}
+\DeclareTextSymbol{\cyrrangle}{\LastDeclaredEncoding}{15}
+\DeclareTextSymbol{\guillemotleft}{\LastDeclaredEncoding}{190}
+\DeclareTextSymbol{\guillemotright}{\LastDeclaredEncoding}{191}
+% \end{macrocode}
+%
+% |\i| and |\j| are unused in Cyrillic languages, so are absent
+% in X2. Slots 25, 26, 27 in the X2 encoding are `cross grave',
+% `cross acute', and `hcross' modifiers, respectively.
+%
+% \begin{macrocode}
+%<!X2>\DeclareTextSymbol{\i}{\LastDeclaredEncoding}{25}
+%<!X2>\DeclareTextSymbol{\j}{\LastDeclaredEncoding}{26}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareTextComposite{\.}{\LastDeclaredEncoding}{i}{`\i}
+% \end{macrocode}
+%
+% Here are the letters common to all font encodings.
+%
+% \begin{macrocode}
+\DeclareTextSymbol{\CYRA}{\LastDeclaredEncoding}{192}
+\DeclareTextSymbol{\cyra}{\LastDeclaredEncoding}{224}
+\DeclareTextSymbol{\CYRB}{\LastDeclaredEncoding}{193}
+\DeclareTextSymbol{\cyrb}{\LastDeclaredEncoding}{225}
+\DeclareTextSymbol{\CYRV}{\LastDeclaredEncoding}{194}
+\DeclareTextSymbol{\cyrv}{\LastDeclaredEncoding}{226}
+\DeclareTextSymbol{\CYRG}{\LastDeclaredEncoding}{195}
+\DeclareTextSymbol{\cyrg}{\LastDeclaredEncoding}{227}
+\DeclareTextSymbol{\CYRD}{\LastDeclaredEncoding}{196}
+\DeclareTextSymbol{\cyrd}{\LastDeclaredEncoding}{228}
+\DeclareTextSymbol{\CYRE}{\LastDeclaredEncoding}{197}
+\DeclareTextSymbol{\cyre}{\LastDeclaredEncoding}{229}
+\DeclareTextSymbol{\CYRZH}{\LastDeclaredEncoding}{198}
+\DeclareTextSymbol{\cyrzh}{\LastDeclaredEncoding}{230}
+\DeclareTextSymbol{\CYRZ}{\LastDeclaredEncoding}{199}
+\DeclareTextSymbol{\cyrz}{\LastDeclaredEncoding}{231}
+\DeclareTextSymbol{\CYRI}{\LastDeclaredEncoding}{200}
+\DeclareTextSymbol{\cyri}{\LastDeclaredEncoding}{232}
+\DeclareTextSymbol{\CYRISHRT}{\LastDeclaredEncoding}{201}
+\DeclareTextSymbol{\cyrishrt}{\LastDeclaredEncoding}{233}
+\DeclareTextSymbol{\CYRK}{\LastDeclaredEncoding}{202}
+\DeclareTextSymbol{\cyrk}{\LastDeclaredEncoding}{234}
+\DeclareTextSymbol{\CYRL}{\LastDeclaredEncoding}{203}
+\DeclareTextSymbol{\cyrl}{\LastDeclaredEncoding}{235}
+\DeclareTextSymbol{\CYRM}{\LastDeclaredEncoding}{204}
+\DeclareTextSymbol{\cyrm}{\LastDeclaredEncoding}{236}
+\DeclareTextSymbol{\CYRN}{\LastDeclaredEncoding}{205}
+\DeclareTextSymbol{\cyrn}{\LastDeclaredEncoding}{237}
+\DeclareTextSymbol{\CYRO}{\LastDeclaredEncoding}{206}
+\DeclareTextSymbol{\cyro}{\LastDeclaredEncoding}{238}
+\DeclareTextSymbol{\CYRP}{\LastDeclaredEncoding}{207}
+\DeclareTextSymbol{\cyrp}{\LastDeclaredEncoding}{239}
+\DeclareTextSymbol{\CYRR}{\LastDeclaredEncoding}{208}
+\DeclareTextSymbol{\cyrr}{\LastDeclaredEncoding}{240}
+\DeclareTextSymbol{\CYRS}{\LastDeclaredEncoding}{209}
+\DeclareTextSymbol{\cyrs}{\LastDeclaredEncoding}{241}
+\DeclareTextSymbol{\CYRT}{\LastDeclaredEncoding}{210}
+\DeclareTextSymbol{\cyrt}{\LastDeclaredEncoding}{242}
+\DeclareTextSymbol{\CYRU}{\LastDeclaredEncoding}{211}
+\DeclareTextSymbol{\cyru}{\LastDeclaredEncoding}{243}
+\DeclareTextSymbol{\CYRF}{\LastDeclaredEncoding}{212}
+\DeclareTextSymbol{\cyrf}{\LastDeclaredEncoding}{244}
+\DeclareTextSymbol{\CYRH}{\LastDeclaredEncoding}{213}
+\DeclareTextSymbol{\cyrh}{\LastDeclaredEncoding}{245}
+\DeclareTextSymbol{\CYRC}{\LastDeclaredEncoding}{214}
+\DeclareTextSymbol{\cyrc}{\LastDeclaredEncoding}{246}
+\DeclareTextSymbol{\CYRCH}{\LastDeclaredEncoding}{215}
+\DeclareTextSymbol{\cyrch}{\LastDeclaredEncoding}{247}
+\DeclareTextSymbol{\CYRSH}{\LastDeclaredEncoding}{216}
+\DeclareTextSymbol{\cyrsh}{\LastDeclaredEncoding}{248}
+\DeclareTextSymbol{\CYRSHCH}{\LastDeclaredEncoding}{217}
+\DeclareTextSymbol{\cyrshch}{\LastDeclaredEncoding}{249}
+\DeclareTextSymbol{\CYRHRDSN}{\LastDeclaredEncoding}{218}
+\DeclareTextSymbol{\cyrhrdsn}{\LastDeclaredEncoding}{250}
+\DeclareTextSymbol{\CYRERY}{\LastDeclaredEncoding}{219}
+\DeclareTextSymbol{\cyrery}{\LastDeclaredEncoding}{251}
+\DeclareTextSymbol{\CYRSFTSN}{\LastDeclaredEncoding}{220}
+\DeclareTextSymbol{\cyrsftsn}{\LastDeclaredEncoding}{252}
+\DeclareTextSymbol{\CYREREV}{\LastDeclaredEncoding}{221}
+\DeclareTextSymbol{\cyrerev}{\LastDeclaredEncoding}{253}
+\DeclareTextSymbol{\CYRYU}{\LastDeclaredEncoding}{222}
+\DeclareTextSymbol{\cyryu}{\LastDeclaredEncoding}{254}
+\DeclareTextSymbol{\CYRYA}{\LastDeclaredEncoding}{223}
+\DeclareTextSymbol{\cyrya}{\LastDeclaredEncoding}{255}
+% \end{macrocode}
+%
+% And now the remaining letters.
+%
+% \begin{macrocode}
+%<*X2>
+\DeclareTextSymbol{\CYRGUP}{X2}{128}
+\DeclareTextSymbol{\cyrgup}{X2}{160}
+\DeclareTextSymbol{\CYRGHCRS}{X2}{129}
+\DeclareTextSymbol{\cyrghcrs}{X2}{161}
+\DeclareTextSymbol{\CYRGDSC}{X2}{130}
+\DeclareTextSymbol{\cyrgdsc}{X2}{162}
+\DeclareTextSymbol{\CYRGHK}{X2}{131}
+\DeclareTextSymbol{\cyrghk}{X2}{163}
+\DeclareTextSymbol{\CYRSHHA}{X2}{132}
+\DeclareTextSymbol{\cyrshha}{X2}{164}
+\DeclareTextSymbol{\CYRZHDSC}{X2}{133}
+\DeclareTextSymbol{\cyrzhdsc}{X2}{165}
+\DeclareTextSymbol{\CYRZDSC}{X2}{134}
+\DeclareTextSymbol{\cyrzdsc}{X2}{166}
+\DeclareTextSymbol{\CYRABHDZE}{X2}{135}
+\DeclareTextSymbol{\cyrabhdze}{X2}{167}
+\DeclareTextSymbol{\CYRYI}{X2}{136}
+\DeclareTextSymbol{\cyryi}{X2}{168}
+\DeclareTextSymbol{\CYRKDSC}{X2}{137}
+\DeclareTextSymbol{\cyrkdsc}{X2}{169}
+\DeclareTextSymbol{\CYRKBEAK}{X2}{138}
+\DeclareTextSymbol{\cyrkbeak}{X2}{170}
+\DeclareTextSymbol{\CYRKHK}{X2}{139}
+\DeclareTextSymbol{\cyrkhk}{X2}{171}
+\DeclareTextSymbol{\CYRLHK}{X2}{140}
+\DeclareTextSymbol{\cyrlhk}{X2}{172}
+\DeclareTextSymbol{\CYRNDSC}{X2}{141}
+\DeclareTextSymbol{\cyrndsc}{X2}{173}
+\DeclareTextSymbol{\CYRNG}{X2}{142}
+\DeclareTextSymbol{\cyrng}{X2}{174}
+\DeclareTextSymbol{\CYRNHK}{X2}{143}
+\DeclareTextSymbol{\cyrnhk}{X2}{175}
+\DeclareTextSymbol{\CYROTLD}{X2}{144}
+\DeclareTextSymbol{\cyrotld}{X2}{176}
+\DeclareTextSymbol{\CYRSDSC}{X2}{145}
+\DeclareTextSymbol{\cyrsdsc}{X2}{177}
+\DeclareTextSymbol{\CYRUSHRT}{X2}{146}
+\DeclareTextSymbol{\cyrushrt}{X2}{178}
+\DeclareTextSymbol{\CYRY}{X2}{147}
+\DeclareTextSymbol{\cyry}{X2}{179}
+\DeclareTextSymbol{\CYRYHCRS}{X2}{148}
+\DeclareTextSymbol{\cyryhcrs}{X2}{180}
+\DeclareTextSymbol{\CYRHDSC}{X2}{149}
+\DeclareTextSymbol{\cyrhdsc}{X2}{181}
+\DeclareTextSymbol{\CYRHHK}{X2}{150}
+\DeclareTextSymbol{\cyrhhk}{X2}{182}
+\DeclareTextSymbol{\CYRCHLDSC}{X2}{151}
+\DeclareTextSymbol{\cyrchldsc}{X2}{183}
+\DeclareTextSymbol{\CYRCHRDSC}{X2}{152}
+\DeclareTextSymbol{\cyrchrdsc}{X2}{184}
+\DeclareTextSymbol{\CYRIE}{X2}{153}
+\DeclareTextSymbol{\cyrie}{X2}{185}
+\DeclareTextSymbol{\CYRSCHWA}{X2}{154}
+\DeclareTextSymbol{\cyrschwa}{X2}{186}
+\DeclareTextSymbol{\CYREPS}{X2}{155}
+\DeclareTextSymbol{\cyreps}{X2}{187}
+%</X2>
+%
+%<*T2A>
+\DeclareTextSymbol{\CYRGUP}{T2A}{128}
+\DeclareTextSymbol{\cyrgup}{T2A}{160}
+\DeclareTextSymbol{\CYRGHCRS}{T2A}{129}
+\DeclareTextSymbol{\cyrghcrs}{T2A}{161}
+\DeclareTextSymbol{\CYRDJE}{T2A}{130}
+\DeclareTextSymbol{\cyrdje}{T2A}{162}
+\DeclareTextSymbol{\CYRTSHE}{T2A}{131}
+\DeclareTextSymbol{\cyrtshe}{T2A}{163}
+\DeclareTextSymbol{\CYRSHHA}{T2A}{132}
+\DeclareTextSymbol{\cyrshha}{T2A}{164}
+\DeclareTextSymbol{\CYRZHDSC}{T2A}{133}
+\DeclareTextSymbol{\cyrzhdsc}{T2A}{165}
+\DeclareTextSymbol{\CYRZDSC}{T2A}{134}
+\DeclareTextSymbol{\cyrzdsc}{T2A}{166}
+\DeclareTextSymbol{\CYRLJE}{T2A}{135}
+\DeclareTextSymbol{\cyrlje}{T2A}{167}
+\DeclareTextSymbol{\CYRYI}{T2A}{136}
+\DeclareTextSymbol{\cyryi}{T2A}{168}
+\DeclareTextSymbol{\CYRKDSC}{T2A}{137}
+\DeclareTextSymbol{\cyrkdsc}{T2A}{169}
+\DeclareTextSymbol{\CYRKBEAK}{T2A}{138}
+\DeclareTextSymbol{\cyrkbeak}{T2A}{170}
+\DeclareTextSymbol{\CYRKVCRS}{T2A}{139}
+\DeclareTextSymbol{\cyrkvcrs}{T2A}{171}
+\DeclareTextSymbol{\CYRAE}{T2A}{140}
+\DeclareTextSymbol{\cyrae}{T2A}{172}
+\DeclareTextSymbol{\CYRNDSC}{T2A}{141}
+\DeclareTextSymbol{\cyrndsc}{T2A}{173}
+\DeclareTextSymbol{\CYRNG}{T2A}{142}
+\DeclareTextSymbol{\cyrng}{T2A}{174}
+\DeclareTextSymbol{\CYRDZE}{T2A}{143}
+\DeclareTextSymbol{\cyrdze}{T2A}{175}
+\DeclareTextSymbol{\CYROTLD}{T2A}{144}
+\DeclareTextSymbol{\cyrotld}{T2A}{176}
+\DeclareTextSymbol{\CYRSDSC}{T2A}{145}
+\DeclareTextSymbol{\cyrsdsc}{T2A}{177}
+\DeclareTextSymbol{\CYRUSHRT}{T2A}{146}
+\DeclareTextSymbol{\cyrushrt}{T2A}{178}
+\DeclareTextSymbol{\CYRY}{T2A}{147}
+\DeclareTextSymbol{\cyry}{T2A}{179}
+\DeclareTextSymbol{\CYRYHCRS}{T2A}{148}
+\DeclareTextSymbol{\cyryhcrs}{T2A}{180}
+\DeclareTextSymbol{\CYRHDSC}{T2A}{149}
+\DeclareTextSymbol{\cyrhdsc}{T2A}{181}
+\DeclareTextSymbol{\CYRDZHE}{T2A}{150}
+\DeclareTextSymbol{\cyrdzhe}{T2A}{182}
+\DeclareTextSymbol{\CYRCHVCRS}{T2A}{151}
+\DeclareTextSymbol{\cyrchvcrs}{T2A}{183}
+\DeclareTextSymbol{\CYRCHRDSC}{T2A}{152}
+\DeclareTextSymbol{\cyrchrdsc}{T2A}{184}
+\DeclareTextSymbol{\CYRIE}{T2A}{153}
+\DeclareTextSymbol{\cyrie}{T2A}{185}
+\DeclareTextSymbol{\CYRSCHWA}{T2A}{154}
+\DeclareTextSymbol{\cyrschwa}{T2A}{186}
+\DeclareTextSymbol{\CYRNJE}{T2A}{155}
+\DeclareTextSymbol{\cyrnje}{T2A}{187}
+%</T2A>
+%
+%<*T2B>
+\DeclareTextSymbol{\CYRGDSCHCRS}{T2B}{128}
+\DeclareTextSymbol{\cyrgdschcrs}{T2B}{160}
+\DeclareTextSymbol{\CYRGHCRS}{T2B}{129}
+\DeclareTextSymbol{\cyrghcrs}{T2B}{161}
+\DeclareTextSymbol{\CYRGDSC}{T2B}{130}
+\DeclareTextSymbol{\cyrgdsc}{T2B}{162}
+\DeclareTextSymbol{\CYRGHK}{T2B}{131}
+\DeclareTextSymbol{\cyrghk}{T2B}{163}
+\DeclareTextSymbol{\CYRSHHA}{T2B}{132}
+\DeclareTextSymbol{\cyrshha}{T2B}{164}
+\DeclareTextSymbol{\CYRZHDSC}{T2B}{133}
+\DeclareTextSymbol{\cyrzhdsc}{T2B}{165}
+\DeclareTextSymbol{\CYRDELTA}{T2B}{134}
+\DeclareTextSymbol{\cyrdelta}{T2B}{166}
+\DeclareTextSymbol{\CYRABHDZE}{T2B}{135}
+\DeclareTextSymbol{\cyrabhdze}{T2B}{167}
+\DeclareTextSymbol{\CYRLJE}{T2B}{136}
+\DeclareTextSymbol{\cyrlje}{T2B}{168}
+\DeclareTextSymbol{\CYRKDSC}{T2B}{137}
+\DeclareTextSymbol{\cyrkdsc}{T2B}{169}
+\DeclareTextSymbol{\CYRLDSC}{T2B}{138}
+\DeclareTextSymbol{\cyrldsc}{T2B}{170}
+\DeclareTextSymbol{\CYRKHK}{T2B}{139}
+\DeclareTextSymbol{\cyrkhk}{T2B}{171}
+\DeclareTextSymbol{\CYRLHK}{T2B}{140}
+\DeclareTextSymbol{\cyrlhk}{T2B}{172}
+\DeclareTextSymbol{\CYRNDSC}{T2B}{141}
+\DeclareTextSymbol{\cyrndsc}{T2B}{173}
+\DeclareTextSymbol{\CYRNG}{T2B}{142}
+\DeclareTextSymbol{\cyrng}{T2B}{174}
+\DeclareTextSymbol{\CYRNHK}{T2B}{143}
+\DeclareTextSymbol{\cyrnhk}{T2B}{175}
+\DeclareTextSymbol{\CYROTLD}{T2B}{144}
+\DeclareTextSymbol{\cyrotld}{T2B}{176}
+\DeclareTextSymbol{\CYRSACRS}{T2B}{145}
+\DeclareTextSymbol{\cyrsacrs}{T2B}{177}
+\DeclareTextSymbol{\CYRUSHRT}{T2B}{146}
+\DeclareTextSymbol{\cyrushrt}{T2B}{178}
+\DeclareTextSymbol{\CYRY}{T2B}{147}
+\DeclareTextSymbol{\cyry}{T2B}{179}
+\DeclareTextSymbol{\CYRHHCRS}{T2B}{148}
+\DeclareTextSymbol{\cyrhhcrs}{T2B}{180}
+\DeclareTextSymbol{\CYRHDSC}{T2B}{149}
+\DeclareTextSymbol{\cyrhdsc}{T2B}{181}
+\DeclareTextSymbol{\CYRHHK}{T2B}{150}
+\DeclareTextSymbol{\cyrhhk}{T2B}{182}
+\DeclareTextSymbol{\CYRCHLDSC}{T2B}{151}
+\DeclareTextSymbol{\cyrchldsc}{T2B}{183}
+\DeclareTextSymbol{\CYRCHRDSC}{T2B}{152}
+\DeclareTextSymbol{\cyrchrdsc}{T2B}{184}
+\DeclareTextSymbol{\CYRNJE}{T2B}{153}
+\DeclareTextSymbol{\cyrnje}{T2B}{185}
+\DeclareTextSymbol{\CYRSCHWA}{T2B}{154}
+\DeclareTextSymbol{\cyrschwa}{T2B}{186}
+\DeclareTextSymbol{\CYREPS}{T2B}{155}
+\DeclareTextSymbol{\cyreps}{T2B}{187}
+%</T2B>
+%
+%<*T2C>
+\DeclareTextSymbol{\CYRPHK}{T2C}{128}
+\DeclareTextSymbol{\cyrphk}{T2C}{160}
+\DeclareTextSymbol{\CYRTETSE}{T2C}{129}
+\DeclareTextSymbol{\cyrtetse}{T2C}{161}
+\DeclareTextSymbol{\CYRTDSC}{T2C}{130}
+\DeclareTextSymbol{\cyrtdsc}{T2C}{162}
+\DeclareTextSymbol{\CYRGHK}{T2C}{131}
+\DeclareTextSymbol{\cyrghk}{T2C}{163}
+\DeclareTextSymbol{\CYRSHHA}{T2C}{132}
+\DeclareTextSymbol{\cyrshha}{T2C}{164}
+\DeclareTextSymbol{\CYRRDSC}{T2C}{133}
+\DeclareTextSymbol{\cyrrdsc}{T2C}{165}
+\DeclareTextSymbol{\CYRRTICK}{T2C}{134}
+\DeclareTextSymbol{\cyrrtick}{T2C}{166}
+\DeclareTextSymbol{\CYRABHDZE}{T2C}{135}
+\DeclareTextSymbol{\cyrabhdze}{T2C}{167}
+\DeclareTextSymbol{\CYRMDSC}{T2C}{136}
+\DeclareTextSymbol{\cyrmdsc}{T2C}{168}
+\DeclareTextSymbol{\CYRKDSC}{T2C}{137}
+\DeclareTextSymbol{\cyrkdsc}{T2C}{169}
+\DeclareTextSymbol{\CYRLDSC}{T2C}{138}
+\DeclareTextSymbol{\cyrldsc}{T2C}{170}
+\DeclareTextSymbol{\CYRKHCRS}{T2C}{139}
+\DeclareTextSymbol{\cyrkhcrs}{T2C}{171}
+\DeclareTextSymbol{\CYRLHK}{T2C}{140}
+\DeclareTextSymbol{\cyrlhk}{T2C}{172}
+\DeclareTextSymbol{\CYRNDSC}{T2C}{141}
+\DeclareTextSymbol{\cyrndsc}{T2C}{173}
+\DeclareTextSymbol{\CYRMHK}{T2C}{142}
+\DeclareTextSymbol{\cyrmhk}{T2C}{174}
+\DeclareTextSymbol{\CYRNHK}{T2C}{143}
+\DeclareTextSymbol{\cyrnhk}{T2C}{175}
+\DeclareTextSymbol{\CYROTLD}{T2C}{144}
+\DeclareTextSymbol{\cyrotld}{T2C}{176}
+\DeclareTextSymbol{\CYRABHCH}{T2C}{145}
+\DeclareTextSymbol{\cyrabhch}{T2C}{177}
+\DeclareTextSymbol{\CYRABHCHDSC}{T2C}{146}
+\DeclareTextSymbol{\cyrabhchdsc}{T2C}{178}
+\DeclareTextSymbol{\CYRSEMISFTSN}{T2C}{147}
+\DeclareTextSymbol{\cyrsemisftsn}{T2C}{179}
+\DeclareTextSymbol{\CYRISHRTDSC}{T2C}{148}
+\DeclareTextSymbol{\cyrishrtdsc}{T2C}{180}
+\DeclareTextSymbol{\CYRHDSC}{T2C}{149}
+\DeclareTextSymbol{\cyrhdsc}{T2C}{181}
+\DeclareTextSymbol{\CYRDZHE}{T2C}{150}
+\DeclareTextSymbol{\cyrdzhe}{T2C}{182}
+\DeclareTextSymbol{\CYRABHHA}{T2C}{151}
+\DeclareTextSymbol{\cyrabhha}{T2C}{183}
+\DeclareTextSymbol{\CYRCHRDSC}{T2C}{152}
+\DeclareTextSymbol{\cyrchrdsc}{T2C}{184}
+\DeclareTextSymbol{\CYRNLHK}{T2C}{153}
+\DeclareTextSymbol{\cyrnlhk}{T2C}{185}
+\DeclareTextSymbol{\CYRSCHWA}{T2C}{154}
+\DeclareTextSymbol{\cyrschwa}{T2C}{186}
+\DeclareTextSymbol{\CYRRHK}{T2C}{155}
+\DeclareTextSymbol{\cyrrhk}{T2C}{187}
+%</T2C>
+%
+\DeclareTextSymbol{\CYRYO}{\LastDeclaredEncoding}{156}
+\DeclareTextSymbol{\cyryo}{\LastDeclaredEncoding}{188}
+% \end{macrocode}
+%
+% The final block of Cyrillic letters occupies the space covered with
+% Latin letters in ASCII. These letters are only present
+% in X2 encoding (which does not contain Latin letters at all). However,
+% some Cyrillic glyphs here look exactly like some Latin analogues, and we
+% declare them also for T2* encodings, so that they are accessible
+% from inputenc files. In T2* encodings, these letters share the same
+% slots with the corresponding Latin letters. The affected letters are:
+% |\CYRII|, |\CYRJE|, |\CYRQ|, |\CYRDZE|, |\CYRW| (and lowercase
+% forms).
+%
+% \begin{macrocode}
+%<*X2>
+\DeclareTextSymbol{\CYRAE}{X2}{65}
+\DeclareTextSymbol{\cyrae}{X2}{97}
+\DeclareTextSymbol{\CYRDJE}{X2}{66}
+\DeclareTextSymbol{\cyrdje}{X2}{98}
+\DeclareTextSymbol{\CYRTSHE}{X2}{67}
+\DeclareTextSymbol{\cyrtshe}{X2}{99}
+\DeclareTextSymbol{\CYRABHCH}{X2}{68}
+\DeclareTextSymbol{\cyrabhch}{X2}{100}
+\DeclareTextSymbol{\CYRABHCHDSC}{X2}{69}
+\DeclareTextSymbol{\cyrabhchdsc}{X2}{101}
+\DeclareTextSymbol{\CYRKVCRS}{X2}{70}
+\DeclareTextSymbol{\cyrkvcrs}{X2}{102}
+\DeclareTextSymbol{\CYRKHCRS}{X2}{71}
+\DeclareTextSymbol{\cyrkhcrs}{X2}{103}
+\DeclareTextSymbol{\CYRLDSC}{X2}{72}
+\DeclareTextSymbol{\cyrldsc}{X2}{104}
+%</X2>
+\DeclareTextSymbol{\CYRII}{\LastDeclaredEncoding}{73}
+\DeclareTextSymbol{\cyrii}{\LastDeclaredEncoding}{105}
+\DeclareTextSymbol{\CYRJE}{\LastDeclaredEncoding}{74}
+\DeclareTextSymbol{\cyrje}{\LastDeclaredEncoding}{106}
+%<*X2>
+\DeclareTextSymbol{\CYRLJE}{X2}{75}
+\DeclareTextSymbol{\cyrlje}{X2}{107}
+\DeclareTextSymbol{\CYRMDSC}{X2}{76}
+\DeclareTextSymbol{\cyrmdsc}{X2}{108}
+\DeclareTextSymbol{\CYRNJE}{X2}{77}
+\DeclareTextSymbol{\cyrnje}{X2}{109}
+\DeclareTextSymbol{\CYRABHHA}{X2}{78}
+\DeclareTextSymbol{\cyrabhha}{X2}{110}
+\DeclareTextSymbol{\CYRPHK}{X2}{79}
+\DeclareTextSymbol{\cyrphk}{X2}{111}
+\DeclareTextSymbol{\CYRRDSC}{X2}{80}
+\DeclareTextSymbol{\cyrrdsc}{X2}{112}
+%</X2>
+\DeclareTextSymbol{\CYRQ}{\LastDeclaredEncoding}{81}
+\DeclareTextSymbol{\cyrq}{\LastDeclaredEncoding}{113}
+%<*X2>
+\DeclareTextSymbol{\CYRTDSC}{X2}{82}
+\DeclareTextSymbol{\cyrtdsc}{X2}{114}
+%</X2>
+%<!T2A>\DeclareTextSymbol{\CYRDZE}{\LastDeclaredEncoding}{83}
+%<!T2A>\DeclareTextSymbol{\cyrdze}{\LastDeclaredEncoding}{115}
+%<*X2>
+\DeclareTextSymbol{\CYRTETSE}{X2}{84}
+\DeclareTextSymbol{\cyrtetse}{X2}{116}
+\DeclareTextSymbol{\CYRDZHE}{X2}{85}
+\DeclareTextSymbol{\cyrdzhe}{X2}{117}
+\DeclareTextSymbol{\CYRCHVCRS}{X2}{86}
+\DeclareTextSymbol{\cyrchvcrs}{X2}{118}
+%</X2>
+\DeclareTextSymbol{\CYRW}{\LastDeclaredEncoding}{87}
+\DeclareTextSymbol{\cyrw}{\LastDeclaredEncoding}{119}
+%<*X2>
+\DeclareTextSymbol{\CYRYAT}{X2}{88}
+\DeclareTextSymbol{\cyryat}{X2}{120}
+\DeclareTextSymbol{\CYRBYUS}{X2}{89}
+\DeclareTextSymbol{\cyrbyus}{X2}{121}
+\DeclareTextSymbol{\CYRIZH}{X2}{90}
+\DeclareTextSymbol{\cyrizh}{X2}{122}
+%</X2>
+%<*X2>
+\DeclareTextSymbol{\CYRDELTA}{X2}{28}
+\DeclareTextSymbol{\cyrdelta}{X2}{29}
+\DeclareTextSymbol{\CYRNLHK}{X2}{30}
+\DeclareTextSymbol{\cyrnlhk}{X2}{31}
+%</X2>
+%</X2|T2A|T2B|T2C>
+% \end{macrocode}
+% Text composites. The following declarations will not work for 8-bit
+% chars generated via |inputenc| unless a |dblaccnt| package is used.
+% \begin{macrocode}
+\DeclareTextComposite{\"}{\LastDeclaredEncoding}{\CYRE}{156}
+\DeclareTextComposite{\"}{\LastDeclaredEncoding}{\cyre}{188}
+\DeclareTextComposite{\U}{\LastDeclaredEncoding}{\CYRI}{201}
+\DeclareTextComposite{\U}{\LastDeclaredEncoding}{\cyri}{233}
+%<*X2|T2A>
+\DeclareTextComposite{\"}{\LastDeclaredEncoding}{\CYRII}{136}
+\DeclareTextComposite{\"}{\LastDeclaredEncoding}{\cyrii}{168}
+\DeclareTextComposite{\c}{\LastDeclaredEncoding}{\CYRZ}{134}
+\DeclareTextComposite{\c}{\LastDeclaredEncoding}{\cyrz}{166}
+\DeclareTextComposite{\k}{\LastDeclaredEncoding}{\CYRS}{145}
+\DeclareTextComposite{\k}{\LastDeclaredEncoding}{\cyrs}{177}
+%</X2|T2A>
+%<*X2|T2A|T2B>
+\DeclareTextComposite{\U}{\LastDeclaredEncoding}{\CYRU}{146}
+\DeclareTextComposite{\U}{\LastDeclaredEncoding}{\cyru}{178}
+%</X2|T2A|T2B>
+%<*X2>
+\DeclareTextComposite{\k}{X2}{\CYRABHCH}{69}
+\DeclareTextComposite{\k}{X2}{\cyrabhch}{101}
+%</X2>
+%<*T2C>
+\DeclareTextComposite{\k}{T2C}{\CYRABHCH}{146}
+\DeclareTextComposite{\k}{T2C}{\cyrabhch}{178}
+%</T2C>
+% \end{macrocode}
+\endinput