% \iffalse meta-comment % % Copyright 1993-2022 % 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} % % \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] %\ProvidesFile{x2enc.def} %\ProvidesFile{t2aenc.def} %\ProvidesFile{t2benc.def} %\ProvidesFile{t2cenc.def} [2022/06/11 v1.0j 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} %\DeclareFontEncoding{X2}{}{} %\DeclareFontEncoding{T2A}{}{} %\DeclareFontEncoding{T2B}{}{} %\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} % % \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} %\DeclareTextSymbol{\i}{\LastDeclaredEncoding}{25} %\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} % % %<*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} % % %<*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} % % %<*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} % % \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} % \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} % \DeclareTextSymbol{\CYRQ}{\LastDeclaredEncoding}{81} \DeclareTextSymbol{\cyrq}{\LastDeclaredEncoding}{113} %<*X2> \DeclareTextSymbol{\CYRTDSC}{X2}{82} \DeclareTextSymbol{\cyrtdsc}{X2}{114} % %\DeclareTextSymbol{\CYRDZE}{\LastDeclaredEncoding}{83} %\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} % \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> \DeclareTextSymbol{\CYRDELTA}{X2}{28} \DeclareTextSymbol{\cyrdelta}{X2}{29} \DeclareTextSymbol{\CYRNLHK}{X2}{30} \DeclareTextSymbol{\cyrnlhk}{X2}{31} % % % \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|T2B> \DeclareTextComposite{\U}{\LastDeclaredEncoding}{\CYRU}{146} \DeclareTextComposite{\U}{\LastDeclaredEncoding}{\cyru}{178} % %<*X2> \DeclareTextComposite{\k}{X2}{\CYRABHCH}{69} \DeclareTextComposite{\k}{X2}{\cyrabhch}{101} % %<*T2C> \DeclareTextComposite{\k}{T2C}{\CYRABHCH}{146} \DeclareTextComposite{\k}{T2C}{\cyrabhch}{178} % % \end{macrocode} \endinput