% \iffalse meta-comment
%
% Copyright 1993-2023
% 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.3c
% 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.3c or later is part of all distributions of LaTeX
% version 2008 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}
  [2023/11/07 v1.0k 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}
%    \end{macrocode}
%    
% \changes{v1.0k}{2023/11/07}{Add \cs{hmode@bgroup} to \cs{k} to match
%            other encoding definitions (gh/1148)}
%    \begin{macrocode}
\DeclareTextCommand{\k}{\LastDeclaredEncoding}[1]
   {\hmode@bgroup\oalign{\null#1\crcr\hidewidth\char12}\egroup}
\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{\guillemetleft}{\LastDeclaredEncoding}{190}
\DeclareTextSymbol{\guillemotright}{\LastDeclaredEncoding}{191}
\DeclareTextSymbol{\guillemetright}{\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
