1 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 L^{A}TEX 2ε distribution for details on the differences between L^{A}TEX font encodings.

When typesetting Cyrillic texts, there is a tradition to use Cyrillic letters (in some situations) inside math formulæ 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æ 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 L^{A}TEX 2ε 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.

1 ⟨∗X2 | T2A | T2B | T2C⟩

 2 \NeedsTeXFormat{LaTeX2e}[1998/12/01]
 3 ⟨X2⟩\ProvidesFile{x2enc.def}
 4 ⟨T2A⟩\ProvidesFile{t2aenc.def}
 5 ⟨T2B⟩\ProvidesFile{t2benc.def}
 6 ⟨T2C⟩\ProvidesFile{t2cenc.def}
 7 [2001/08/11 v1.0f Cyrillic encoding definition file]

To assure that \MakeUppercase and \MakeLowercase will work correctly, \@uclclist (defined in the L^{A}TEX kernel) contains all Cyrillic uppercase-lowercase letter pairs. This also needs at least December 1998 L^{A}TEX 2ε release.

 8 ⟨X2⟩\DeclareFontEncoding{X2}{}{}
 9 ⟨T2A⟩\DeclareFontEncoding{T2A}{}{}
10 ⟨T2B⟩\DeclareFontEncoding{T2B}{}{}
11 ⟨T2C⟩\DeclareFontEncoding{T2C}{}{}
12 \DeclareFontSubstitution{\LastDeclaredEncoding}{cmr}{m}{n}

Common accents.

13 \DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
14 \DeclareTextAccent{\'}{\LastDeclaredEncoding}{1}
15 \DeclareTextAccent{\^}{\LastDeclaredEncoding}{2}
16 \DeclareTextAccent{\~}{\LastDeclaredEncoding}{3}
17 \DeclareTextAccent{\"}{\LastDeclaredEncoding}{4}
18 \DeclareTextAccent{\H}{\LastDeclaredEncoding}{5}
19 \DeclareTextAccent{\r}{\LastDeclaredEncoding}{6}
20 \DeclareTextAccent{\v}{\LastDeclaredEncoding}{7}
21 \DeclareTextAccent{\u}{\LastDeclaredEncoding}{8}
22 \DeclareTextAccent{\=}{\LastDeclaredEncoding}{9}
23 \DeclareTextAccent{\.}{\LastDeclaredEncoding}{10}

24 % 11 cedilla
25 % 12 ogonek
26 % Cyrillic flex (inverted breve) accent:
27 \DeclareTextAccent{\f}{\LastDeclaredEncoding}{18}
28 % double grave (`Cyrillic umlaut') accent:
29 \DeclareTextAccent{\C}{\LastDeclaredEncoding}{19}
30 % Cyrillic breve accent:
31 \DeclareTextAccent{\U}{\LastDeclaredEncoding}{20}
32 \DeclareTextCommand{\b}{\LastDeclaredEncoding}[1]
33 {\hmode@bgroup\o@lign{\relax#1\crcr\hidewidth\sh@ft{29}%
34  \vbox to.2ex{\hbox{\char9}\vss}\hidewidth}\egroup}
35 \DeclareTextCommand{\c}{\LastDeclaredEncoding}[1]
36 {\leavevmode\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent11 #1%
37  \else{\ooalign{\hidewidth\char11\hidewidth
38  \crcr\unhbox\z@}}\fi}
39 \DeclareTextCommand{\d}{\LastDeclaredEncoding}[1]
40 {\hmode@bgroup
41  \o@lign{\relax#1\crcr\hidewidth\sh@ft{10}.\hidewidth}\egroup}
42 \DeclareTextCommand{\k}{\LastDeclaredEncoding}[1]
43 {\oalign{\null#1\crcr\hidewidth\char12}}
44 \DeclareTextCommand{\textperthousand}{\LastDeclaredEncoding}
45 {\%\char 24 }
46 \DeclareTextCommand{\textpertenthousand}{\LastDeclaredEncoding}
47 {\%\char 24\char 24 }

48 ⟨∗!X2⟩

49 \DeclareTextCompositeCommand{\r}{\LastDeclaredEncoding}{A}
50 {\leavevmode\setbox\z@\hbox{h}\dimen@\ht\z@\advance\dimen@-1ex%
51  \rlap{\raise.67\dimen@\hbox{\char6}}A}

52 ⟨/!X2⟩

Common symbolic glyphs.

53 \DeclareTextSymbol{\textendash}{\LastDeclaredEncoding}{21}

Slot 22 is a ‘cyrillic emdash’ — \cyrdash which is longer than endash, but shorter than english emdash (but we define an alias too).

54 \DeclareTextSymbol{\cyrdash}{\LastDeclaredEncoding}{22}
55 \DeclareTextSymbol{\textemdash}{\LastDeclaredEncoding}{22}
56 \DeclareTextSymbol{\textcompwordmark}{\LastDeclaredEncoding}{23}
57 % 24 perthousandzero
58 \DeclareTextSymbol{\textvisiblespace}{\LastDeclaredEncoding}{32}
59 \DeclareTextSymbol{\textdollar}{\LastDeclaredEncoding}{36}
60 \DeclareTextSymbol{\textless}{\LastDeclaredEncoding}{60}
61 \DeclareTextSymbol{\textgreater}{\LastDeclaredEncoding}{62}
62 %\DeclareTextSymbol{\texthyphenchar}{\LastDeclaredEncoding}{127}
63 %\DeclareTextSymbol{\texthyphen}{\LastDeclaredEncoding}{45}
64 \DeclareTextSymbol{\textbackslash}{\LastDeclaredEncoding}{92}
65 \DeclareTextSymbol{\textasciicircum}{\LastDeclaredEncoding}{94}
66 \DeclareTextSymbol{\textunderscore}{\LastDeclaredEncoding}{95}
67 \DeclareTextSymbol{\textbraceleft}{\LastDeclaredEncoding}{123}
68 \DeclareTextSymbol{\textbar}{\LastDeclaredEncoding}{124}
69 \DeclareTextSymbol{\textbraceright}{\LastDeclaredEncoding}{125}
70 \DeclareTextSymbol{\textasciitilde}{\LastDeclaredEncoding}{126}
71 \DeclareTextSymbol{\textnumero}{\LastDeclaredEncoding}{157}
72 \DeclareTextSymbol{\textcurrency}{\LastDeclaredEncoding}{158}

73 \DeclareTextSymbol{\textsection}{\LastDeclaredEncoding}{159}

74 %

75 \DeclareTextSymbol{\textquotedbl}{\LastDeclaredEncoding}{34}
76 \DeclareTextSymbol{\textquoteleft}{\LastDeclaredEncoding}{96}
77 \DeclareTextSymbol{\textquoteright}{\LastDeclaredEncoding}{39}
78 \DeclareTextSymbol{\textquotedblleft}{\LastDeclaredEncoding}{16}
79 \DeclareTextSymbol{\textquotedblright}{\LastDeclaredEncoding}{17}
80 \DeclareTextSymbol{\quotedblbase}{\LastDeclaredEncoding}{189}
81 \DeclareTextSymbol{\CYRpalochka}{\LastDeclaredEncoding}{13}
82 \DeclareTextSymbol{\cyrlangle}{\LastDeclaredEncoding}{14}
83 \DeclareTextSymbol{\cyrrangle}{\LastDeclaredEncoding}{15}
84 \DeclareTextSymbol{\guillemotleft}{\LastDeclaredEncoding}{190}
85 \DeclareTextSymbol{\guillemotright}{\LastDeclaredEncoding}{191}

\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.

86 ⟨!X2⟩\DeclareTextSymbol{\i}{\LastDeclaredEncoding}{25}
87 ⟨!X2⟩\DeclareTextSymbol{\j}{\LastDeclaredEncoding}{26}
88 \DeclareTextComposite{\.}{\LastDeclaredEncoding}{i}{`\i}

Here are the letters common to all font encodings.

89 \DeclareTextSymbol{\CYRA}{\LastDeclaredEncoding}{192}
90 \DeclareTextSymbol{\cyra}{\LastDeclaredEncoding}{224}
91 \DeclareTextSymbol{\CYRB}{\LastDeclaredEncoding}{193}
92 \DeclareTextSymbol{\cyrb}{\LastDeclaredEncoding}{225}
93 \DeclareTextSymbol{\CYRV}{\LastDeclaredEncoding}{194}
94 \DeclareTextSymbol{\cyrv}{\LastDeclaredEncoding}{226}
95 \DeclareTextSymbol{\CYRG}{\LastDeclaredEncoding}{195}
96 \DeclareTextSymbol{\cyrg}{\LastDeclaredEncoding}{227}
97 \DeclareTextSymbol{\CYRD}{\LastDeclaredEncoding}{196}
98 \DeclareTextSymbol{\cyrd}{\LastDeclaredEncoding}{228}
99 \DeclareTextSymbol{\CYRE}{\LastDeclaredEncoding}{197}
100 \DeclareTextSymbol{\cyre}{\LastDeclaredEncoding}{229}
101 \DeclareTextSymbol{\CYRZH}{\LastDeclaredEncoding}{198}
102 \DeclareTextSymbol{\cyrzh}{\LastDeclaredEncoding}{230}
103 \DeclareTextSymbol{\CYRZ}{\LastDeclaredEncoding}{199}
104 \DeclareTextSymbol{\cyrz}{\LastDeclaredEncoding}{231}
105 \DeclareTextSymbol{\CYRI}{\LastDeclaredEncoding}{200}
106 \DeclareTextSymbol{\cyri}{\LastDeclaredEncoding}{232}
107 \DeclareTextSymbol{\CYRISHRT}{\LastDeclaredEncoding}{201}
108 \DeclareTextSymbol{\cyrishrt}{\LastDeclaredEncoding}{233}
109 \DeclareTextSymbol{\CYRK}{\LastDeclaredEncoding}{202}
110 \DeclareTextSymbol{\cyrk}{\LastDeclaredEncoding}{234}
111 \DeclareTextSymbol{\CYRL}{\LastDeclaredEncoding}{203}
112 \DeclareTextSymbol{\cyrl}{\LastDeclaredEncoding}{235}
113 \DeclareTextSymbol{\CYRM}{\LastDeclaredEncoding}{204}
114 \DeclareTextSymbol{\cyrm}{\LastDeclaredEncoding}{236}
115 \DeclareTextSymbol{\CYRN}{\LastDeclaredEncoding}{205}
116 \DeclareTextSymbol{\cyrn}{\LastDeclaredEncoding}{237}
117 \DeclareTextSymbol{\CYRO}{\LastDeclaredEncoding}{206}
118 \DeclareTextSymbol{\cyro}{\LastDeclaredEncoding}{238}
119 \DeclareTextSymbol{\CYRP}{\LastDeclaredEncoding}{207}
120 \DeclareTextSymbol{\cyrp}{\LastDeclaredEncoding}{239}

121 \DeclareTextSymbol{\CYRR}{\LastDeclaredEncoding}{208}
122 \DeclareTextSymbol{\cyrr}{\LastDeclaredEncoding}{240}
123 \DeclareTextSymbol{\CYRS}{\LastDeclaredEncoding}{209}
124 \DeclareTextSymbol{\cyrs}{\LastDeclaredEncoding}{241}
125 \DeclareTextSymbol{\CYRT}{\LastDeclaredEncoding}{210}
126 \DeclareTextSymbol{\cyrt}{\LastDeclaredEncoding}{242}
127 \DeclareTextSymbol{\CYRU}{\LastDeclaredEncoding}{211}
128 \DeclareTextSymbol{\cyru}{\LastDeclaredEncoding}{243}
129 \DeclareTextSymbol{\CYRF}{\LastDeclaredEncoding}{212}
130 \DeclareTextSymbol{\cyrf}{\LastDeclaredEncoding}{244}
131 \DeclareTextSymbol{\CYRH}{\LastDeclaredEncoding}{213}
132 \DeclareTextSymbol{\cyrh}{\LastDeclaredEncoding}{245}
133 \DeclareTextSymbol{\CYRC}{\LastDeclaredEncoding}{214}
134 \DeclareTextSymbol{\cyrc}{\LastDeclaredEncoding}{246}
135 \DeclareTextSymbol{\CYRCH}{\LastDeclaredEncoding}{215}
136 \DeclareTextSymbol{\cyrch}{\LastDeclaredEncoding}{247}
137 \DeclareTextSymbol{\CYRSH}{\LastDeclaredEncoding}{216}
138 \DeclareTextSymbol{\cyrsh}{\LastDeclaredEncoding}{248}
139 \DeclareTextSymbol{\CYRSHCH}{\LastDeclaredEncoding}{217}
140 \DeclareTextSymbol{\cyrshch}{\LastDeclaredEncoding}{249}
141 \DeclareTextSymbol{\CYRHRDSN}{\LastDeclaredEncoding}{218}
142 \DeclareTextSymbol{\cyrhrdsn}{\LastDeclaredEncoding}{250}
143 \DeclareTextSymbol{\CYRERY}{\LastDeclaredEncoding}{219}
144 \DeclareTextSymbol{\cyrery}{\LastDeclaredEncoding}{251}
145 \DeclareTextSymbol{\CYRSFTSN}{\LastDeclaredEncoding}{220}
146 \DeclareTextSymbol{\cyrsftsn}{\LastDeclaredEncoding}{252}
147 \DeclareTextSymbol{\CYREREV}{\LastDeclaredEncoding}{221}
148 \DeclareTextSymbol{\cyrerev}{\LastDeclaredEncoding}{253}
149 \DeclareTextSymbol{\CYRYU}{\LastDeclaredEncoding}{222}
150 \DeclareTextSymbol{\cyryu}{\LastDeclaredEncoding}{254}
151 \DeclareTextSymbol{\CYRYA}{\LastDeclaredEncoding}{223}
152 \DeclareTextSymbol{\cyrya}{\LastDeclaredEncoding}{255}

And now the remaining letters.

153 ⟨∗X2⟩

154 \DeclareTextSymbol{\CYRGUP}{X2}{128}
155 \DeclareTextSymbol{\cyrgup}{X2}{160}
156 \DeclareTextSymbol{\CYRGHCRS}{X2}{129}
157 \DeclareTextSymbol{\cyrghcrs}{X2}{161}
158 \DeclareTextSymbol{\CYRGDSC}{X2}{130}
159 \DeclareTextSymbol{\cyrgdsc}{X2}{162}
160 \DeclareTextSymbol{\CYRGHK}{X2}{131}
161 \DeclareTextSymbol{\cyrghk}{X2}{163}
162 \DeclareTextSymbol{\CYRSHHA}{X2}{132}
163 \DeclareTextSymbol{\cyrshha}{X2}{164}
164 \DeclareTextSymbol{\CYRZHDSC}{X2}{133}
165 \DeclareTextSymbol{\cyrzhdsc}{X2}{165}
166 \DeclareTextSymbol{\CYRZDSC}{X2}{134}
167 \DeclareTextSymbol{\cyrzdsc}{X2}{166}
168 \DeclareTextSymbol{\CYRABHDZE}{X2}{135}
169 \DeclareTextSymbol{\cyrabhdze}{X2}{167}
170 \DeclareTextSymbol{\CYRYI}{X2}{136}
171 \DeclareTextSymbol{\cyryi}{X2}{168}
172 \DeclareTextSymbol{\CYRKDSC}{X2}{137}

173 \DeclareTextSymbol{\cyrkdsc}{X2}{169}
174 \DeclareTextSymbol{\CYRKBEAK}{X2}{138}
175 \DeclareTextSymbol{\cyrkbeak}{X2}{170}
176 \DeclareTextSymbol{\CYRKHK}{X2}{139}
177 \DeclareTextSymbol{\cyrkhk}{X2}{171}
178 \DeclareTextSymbol{\CYRLHK}{X2}{140}
179 \DeclareTextSymbol{\cyrlhk}{X2}{172}
180 \DeclareTextSymbol{\CYRNDSC}{X2}{141}
181 \DeclareTextSymbol{\cyrndsc}{X2}{173}
182 \DeclareTextSymbol{\CYRNG}{X2}{142}
183 \DeclareTextSymbol{\cyrng}{X2}{174}
184 \DeclareTextSymbol{\CYRNHK}{X2}{143}
185 \DeclareTextSymbol{\cyrnhk}{X2}{175}
186 \DeclareTextSymbol{\CYROTLD}{X2}{144}
187 \DeclareTextSymbol{\cyrotld}{X2}{176}
188 \DeclareTextSymbol{\CYRSDSC}{X2}{145}
189 \DeclareTextSymbol{\cyrsdsc}{X2}{177}
190 \DeclareTextSymbol{\CYRUSHRT}{X2}{146}
191 \DeclareTextSymbol{\cyrushrt}{X2}{178}
192 \DeclareTextSymbol{\CYRY}{X2}{147}
193 \DeclareTextSymbol{\cyry}{X2}{179}
194 \DeclareTextSymbol{\CYRYHCRS}{X2}{148}
195 \DeclareTextSymbol{\cyryhcrs}{X2}{180}
196 \DeclareTextSymbol{\CYRHDSC}{X2}{149}
197 \DeclareTextSymbol{\cyrhdsc}{X2}{181}
198 \DeclareTextSymbol{\CYRHHK}{X2}{150}
199 \DeclareTextSymbol{\cyrhhk}{X2}{182}
200 \DeclareTextSymbol{\CYRCHLDSC}{X2}{151}
201 \DeclareTextSymbol{\cyrchldsc}{X2}{183}
202 \DeclareTextSymbol{\CYRCHRDSC}{X2}{152}
203 \DeclareTextSymbol{\cyrchrdsc}{X2}{184}
204 \DeclareTextSymbol{\CYRIE}{X2}{153}
205 \DeclareTextSymbol{\cyrie}{X2}{185}
206 \DeclareTextSymbol{\CYRSCHWA}{X2}{154}
207 \DeclareTextSymbol{\cyrschwa}{X2}{186}
208 \DeclareTextSymbol{\CYREPS}{X2}{155}
209 \DeclareTextSymbol{\cyreps}{X2}{187}

210 ⟨/X2⟩ 211 % 212 ⟨∗T2A⟩

213 \DeclareTextSymbol{\CYRGUP}{T2A}{128}
214 \DeclareTextSymbol{\cyrgup}{T2A}{160}
215 \DeclareTextSymbol{\CYRGHCRS}{T2A}{129}
216 \DeclareTextSymbol{\cyrghcrs}{T2A}{161}
217 \DeclareTextSymbol{\CYRDJE}{T2A}{130}
218 \DeclareTextSymbol{\cyrdje}{T2A}{162}
219 \DeclareTextSymbol{\CYRTSHE}{T2A}{131}
220 \DeclareTextSymbol{\cyrtshe}{T2A}{163}
221 \DeclareTextSymbol{\CYRSHHA}{T2A}{132}
222 \DeclareTextSymbol{\cyrshha}{T2A}{164}
223 \DeclareTextSymbol{\CYRZHDSC}{T2A}{133}
224 \DeclareTextSymbol{\cyrzhdsc}{T2A}{165}
225 \DeclareTextSymbol{\CYRZDSC}{T2A}{134}
226 \DeclareTextSymbol{\cyrzdsc}{T2A}{166}

227 \DeclareTextSymbol{\CYRLJE}{T2A}{135}
228 \DeclareTextSymbol{\cyrlje}{T2A}{167}
229 \DeclareTextSymbol{\CYRYI}{T2A}{136}
230 \DeclareTextSymbol{\cyryi}{T2A}{168}
231 \DeclareTextSymbol{\CYRKDSC}{T2A}{137}
232 \DeclareTextSymbol{\cyrkdsc}{T2A}{169}
233 \DeclareTextSymbol{\CYRKBEAK}{T2A}{138}
234 \DeclareTextSymbol{\cyrkbeak}{T2A}{170}
235 \DeclareTextSymbol{\CYRKVCRS}{T2A}{139}
236 \DeclareTextSymbol{\cyrkvcrs}{T2A}{171}
237 \DeclareTextSymbol{\CYRAE}{T2A}{140}
238 \DeclareTextSymbol{\cyrae}{T2A}{172}
239 \DeclareTextSymbol{\CYRNDSC}{T2A}{141}
240 \DeclareTextSymbol{\cyrndsc}{T2A}{173}
241 \DeclareTextSymbol{\CYRNG}{T2A}{142}
242 \DeclareTextSymbol{\cyrng}{T2A}{174}
243 \DeclareTextSymbol{\CYRDZE}{T2A}{143}
244 \DeclareTextSymbol{\cyrdze}{T2A}{175}
245 \DeclareTextSymbol{\CYROTLD}{T2A}{144}
246 \DeclareTextSymbol{\cyrotld}{T2A}{176}
247 \DeclareTextSymbol{\CYRSDSC}{T2A}{145}
248 \DeclareTextSymbol{\cyrsdsc}{T2A}{177}
249 \DeclareTextSymbol{\CYRUSHRT}{T2A}{146}
250 \DeclareTextSymbol{\cyrushrt}{T2A}{178}
251 \DeclareTextSymbol{\CYRY}{T2A}{147}
252 \DeclareTextSymbol{\cyry}{T2A}{179}
253 \DeclareTextSymbol{\CYRYHCRS}{T2A}{148}
254 \DeclareTextSymbol{\cyryhcrs}{T2A}{180}
255 \DeclareTextSymbol{\CYRHDSC}{T2A}{149}
256 \DeclareTextSymbol{\cyrhdsc}{T2A}{181}
257 \DeclareTextSymbol{\CYRDZHE}{T2A}{150}
258 \DeclareTextSymbol{\cyrdzhe}{T2A}{182}
259 \DeclareTextSymbol{\CYRCHVCRS}{T2A}{151}
260 \DeclareTextSymbol{\cyrchvcrs}{T2A}{183}
261 \DeclareTextSymbol{\CYRCHRDSC}{T2A}{152}
262 \DeclareTextSymbol{\cyrchrdsc}{T2A}{184}
263 \DeclareTextSymbol{\CYRIE}{T2A}{153}
264 \DeclareTextSymbol{\cyrie}{T2A}{185}
265 \DeclareTextSymbol{\CYRSCHWA}{T2A}{154}
266 \DeclareTextSymbol{\cyrschwa}{T2A}{186}
267 \DeclareTextSymbol{\CYRNJE}{T2A}{155}
268 \DeclareTextSymbol{\cyrnje}{T2A}{187}

269 ⟨/T2A⟩ 270 % 271 ⟨∗T2B⟩

272 \DeclareTextSymbol{\CYRGDSCHCRS}{T2B}{128}
273 \DeclareTextSymbol{\cyrgdschcrs}{T2B}{160}
274 \DeclareTextSymbol{\CYRGHCRS}{T2B}{129}
275 \DeclareTextSymbol{\cyrghcrs}{T2B}{161}
276 \DeclareTextSymbol{\CYRGDSC}{T2B}{130}
277 \DeclareTextSymbol{\cyrgdsc}{T2B}{162}
278 \DeclareTextSymbol{\CYRGHK}{T2B}{131}
279 \DeclareTextSymbol{\cyrghk}{T2B}{163}
280 \DeclareTextSymbol{\CYRSHHA}{T2B}{132}

281 \DeclareTextSymbol{\cyrshha}{T2B}{164}
282 \DeclareTextSymbol{\CYRZHDSC}{T2B}{133}
283 \DeclareTextSymbol{\cyrzhdsc}{T2B}{165}
284 \DeclareTextSymbol{\CYRDELTA}{T2B}{134}
285 \DeclareTextSymbol{\cyrdelta}{T2B}{166}
286 \DeclareTextSymbol{\CYRABHDZE}{T2B}{135}
287 \DeclareTextSymbol{\cyrabhdze}{T2B}{167}
288 \DeclareTextSymbol{\CYRLJE}{T2B}{136}
289 \DeclareTextSymbol{\cyrlje}{T2B}{168}
290 \DeclareTextSymbol{\CYRKDSC}{T2B}{137}
291 \DeclareTextSymbol{\cyrkdsc}{T2B}{169}
292 \DeclareTextSymbol{\CYRLDSC}{T2B}{138}
293 \DeclareTextSymbol{\cyrldsc}{T2B}{170}
294 \DeclareTextSymbol{\CYRKHK}{T2B}{139}
295 \DeclareTextSymbol{\cyrkhk}{T2B}{171}
296 \DeclareTextSymbol{\CYRLHK}{T2B}{140}
297 \DeclareTextSymbol{\cyrlhk}{T2B}{172}
298 \DeclareTextSymbol{\CYRNDSC}{T2B}{141}
299 \DeclareTextSymbol{\cyrndsc}{T2B}{173}
300 \DeclareTextSymbol{\CYRNG}{T2B}{142}
301 \DeclareTextSymbol{\cyrng}{T2B}{174}
302 \DeclareTextSymbol{\CYRNHK}{T2B}{143}
303 \DeclareTextSymbol{\cyrnhk}{T2B}{175}
304 \DeclareTextSymbol{\CYROTLD}{T2B}{144}
305 \DeclareTextSymbol{\cyrotld}{T2B}{176}
306 \DeclareTextSymbol{\CYRSACRS}{T2B}{145}
307 \DeclareTextSymbol{\cyrsacrs}{T2B}{177}
308 \DeclareTextSymbol{\CYRUSHRT}{T2B}{146}
309 \DeclareTextSymbol{\cyrushrt}{T2B}{178}
310 \DeclareTextSymbol{\CYRY}{T2B}{147}
311 \DeclareTextSymbol{\cyry}{T2B}{179}
312 \DeclareTextSymbol{\CYRHHCRS}{T2B}{148}
313 \DeclareTextSymbol{\cyrhhcrs}{T2B}{180}
314 \DeclareTextSymbol{\CYRHDSC}{T2B}{149}
315 \DeclareTextSymbol{\cyrhdsc}{T2B}{181}
316 \DeclareTextSymbol{\CYRHHK}{T2B}{150}
317 \DeclareTextSymbol{\cyrhhk}{T2B}{182}
318 \DeclareTextSymbol{\CYRCHLDSC}{T2B}{151}
319 \DeclareTextSymbol{\cyrchldsc}{T2B}{183}
320 \DeclareTextSymbol{\CYRCHRDSC}{T2B}{152}
321 \DeclareTextSymbol{\cyrchrdsc}{T2B}{184}
322 \DeclareTextSymbol{\CYRNJE}{T2B}{153}
323 \DeclareTextSymbol{\cyrnje}{T2B}{185}
324 \DeclareTextSymbol{\CYRSCHWA}{T2B}{154}
325 \DeclareTextSymbol{\cyrschwa}{T2B}{186}
326 \DeclareTextSymbol{\CYREPS}{T2B}{155}
327 \DeclareTextSymbol{\cyreps}{T2B}{187}

328 ⟨/T2B⟩ 329 % 330 ⟨∗T2C⟩

331 \DeclareTextSymbol{\CYRPHK}{T2C}{128}
332 \DeclareTextSymbol{\cyrphk}{T2C}{160}
333 \DeclareTextSymbol{\CYRTETSE}{T2C}{129}
334 \DeclareTextSymbol{\cyrtetse}{T2C}{161}

335 \DeclareTextSymbol{\CYRTDSC}{T2C}{130}
336 \DeclareTextSymbol{\cyrtdsc}{T2C}{162}
337 \DeclareTextSymbol{\CYRGHK}{T2C}{131}
338 \DeclareTextSymbol{\cyrghk}{T2C}{163}
339 \DeclareTextSymbol{\CYRSHHA}{T2C}{132}
340 \DeclareTextSymbol{\cyrshha}{T2C}{164}
341 \DeclareTextSymbol{\CYRRDSC}{T2C}{133}
342 \DeclareTextSymbol{\cyrrdsc}{T2C}{165}
343 \DeclareTextSymbol{\CYRRTICK}{T2C}{134}
344 \DeclareTextSymbol{\cyrrtick}{T2C}{166}
345 \DeclareTextSymbol{\CYRABHDZE}{T2C}{135}
346 \DeclareTextSymbol{\cyrabhdze}{T2C}{167}
347 \DeclareTextSymbol{\CYRMDSC}{T2C}{136}
348 \DeclareTextSymbol{\cyrmdsc}{T2C}{168}
349 \DeclareTextSymbol{\CYRKDSC}{T2C}{137}
350 \DeclareTextSymbol{\cyrkdsc}{T2C}{169}
351 \DeclareTextSymbol{\CYRLDSC}{T2C}{138}
352 \DeclareTextSymbol{\cyrldsc}{T2C}{170}
353 \DeclareTextSymbol{\CYRKHCRS}{T2C}{139}
354 \DeclareTextSymbol{\cyrkhcrs}{T2C}{171}
355 \DeclareTextSymbol{\CYRLHK}{T2C}{140}
356 \DeclareTextSymbol{\cyrlhk}{T2C}{172}
357 \DeclareTextSymbol{\CYRNDSC}{T2C}{141}
358 \DeclareTextSymbol{\cyrndsc}{T2C}{173}
359 \DeclareTextSymbol{\CYRMHK}{T2C}{142}
360 \DeclareTextSymbol{\cyrmhk}{T2C}{174}
361 \DeclareTextSymbol{\CYRNHK}{T2C}{143}
362 \DeclareTextSymbol{\cyrnhk}{T2C}{175}
363 \DeclareTextSymbol{\CYROTLD}{T2C}{144}
364 \DeclareTextSymbol{\cyrotld}{T2C}{176}
365 \DeclareTextSymbol{\CYRABHCH}{T2C}{145}
366 \DeclareTextSymbol{\cyrabhch}{T2C}{177}
367 \DeclareTextSymbol{\CYRABHCHDSC}{T2C}{146}
368 \DeclareTextSymbol{\cyrabhchdsc}{T2C}{178}
369 \DeclareTextSymbol{\CYRSEMISFTSN}{T2C}{147}
370 \DeclareTextSymbol{\cyrsemisftsn}{T2C}{179}
371 \DeclareTextSymbol{\CYRISHRTDSC}{T2C}{148}
372 \DeclareTextSymbol{\cyrishrtdsc}{T2C}{180}
373 \DeclareTextSymbol{\CYRHDSC}{T2C}{149}
374 \DeclareTextSymbol{\cyrhdsc}{T2C}{181}
375 \DeclareTextSymbol{\CYRDZHE}{T2C}{150}
376 \DeclareTextSymbol{\cyrdzhe}{T2C}{182}
377 \DeclareTextSymbol{\CYRABHHA}{T2C}{151}
378 \DeclareTextSymbol{\cyrabhha}{T2C}{183}
379 \DeclareTextSymbol{\CYRCHRDSC}{T2C}{152}
380 \DeclareTextSymbol{\cyrchrdsc}{T2C}{184}
381 \DeclareTextSymbol{\CYRNLHK}{T2C}{153}
382 \DeclareTextSymbol{\cyrnlhk}{T2C}{185}
383 \DeclareTextSymbol{\CYRSCHWA}{T2C}{154}
384 \DeclareTextSymbol{\cyrschwa}{T2C}{186}
385 \DeclareTextSymbol{\CYRRHK}{T2C}{155}
386 \DeclareTextSymbol{\cyrrhk}{T2C}{187}

387 ⟨/T2C⟩ 388 %

389 \DeclareTextSymbol{\CYRYO}{\LastDeclaredEncoding}{156}
390 \DeclareTextSymbol{\cyryo}{\LastDeclaredEncoding}{188}

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).

391 ⟨∗X2⟩

392 \DeclareTextSymbol{\CYRAE}{X2}{65}
393 \DeclareTextSymbol{\cyrae}{X2}{97}
394 \DeclareTextSymbol{\CYRDJE}{X2}{66}
395 \DeclareTextSymbol{\cyrdje}{X2}{98}
396 \DeclareTextSymbol{\CYRTSHE}{X2}{67}
397 \DeclareTextSymbol{\cyrtshe}{X2}{99}
398 \DeclareTextSymbol{\CYRABHCH}{X2}{68}
399 \DeclareTextSymbol{\cyrabhch}{X2}{100}
400 \DeclareTextSymbol{\CYRABHCHDSC}{X2}{69}
401 \DeclareTextSymbol{\cyrabhchdsc}{X2}{101}
402 \DeclareTextSymbol{\CYRKVCRS}{X2}{70}
403 \DeclareTextSymbol{\cyrkvcrs}{X2}{102}
404 \DeclareTextSymbol{\CYRKHCRS}{X2}{71}
405 \DeclareTextSymbol{\cyrkhcrs}{X2}{103}
406 \DeclareTextSymbol{\CYRLDSC}{X2}{72}
407 \DeclareTextSymbol{\cyrldsc}{X2}{104}

408 ⟨/X2⟩

409 \DeclareTextSymbol{\CYRII}{\LastDeclaredEncoding}{73}
410 \DeclareTextSymbol{\cyrii}{\LastDeclaredEncoding}{105}
411 \DeclareTextSymbol{\CYRJE}{\LastDeclaredEncoding}{74}
412 \DeclareTextSymbol{\cyrje}{\LastDeclaredEncoding}{106}

413 ⟨∗X2⟩

414 \DeclareTextSymbol{\CYRLJE}{X2}{75}
415 \DeclareTextSymbol{\cyrlje}{X2}{107}
416 \DeclareTextSymbol{\CYRMDSC}{X2}{76}
417 \DeclareTextSymbol{\cyrmdsc}{X2}{108}
418 \DeclareTextSymbol{\CYRNJE}{X2}{77}
419 \DeclareTextSymbol{\cyrnje}{X2}{109}
420 \DeclareTextSymbol{\CYRABHHA}{X2}{78}
421 \DeclareTextSymbol{\cyrabhha}{X2}{110}
422 \DeclareTextSymbol{\CYRPHK}{X2}{79}
423 \DeclareTextSymbol{\cyrphk}{X2}{111}
424 \DeclareTextSymbol{\CYRRDSC}{X2}{80}
425 \DeclareTextSymbol{\cyrrdsc}{X2}{112}

426 ⟨/X2⟩

427 \DeclareTextSymbol{\CYRQ}{\LastDeclaredEncoding}{81}
428 \DeclareTextSymbol{\cyrq}{\LastDeclaredEncoding}{113}

429 ⟨∗X2⟩

430 \DeclareTextSymbol{\CYRTDSC}{X2}{82}
431 \DeclareTextSymbol{\cyrtdsc}{X2}{114}

432 ⟨/X2⟩

433 ⟨!T2A⟩\DeclareTextSymbol{\CYRDZE}{\LastDeclaredEncoding}{83}
434 ⟨!T2A⟩\DeclareTextSymbol{\cyrdze}{\LastDeclaredEncoding}{115}

435 ⟨∗X2⟩

436 \DeclareTextSymbol{\CYRTETSE}{X2}{84}
437 \DeclareTextSymbol{\cyrtetse}{X2}{116}
438 \DeclareTextSymbol{\CYRDZHE}{X2}{85}
439 \DeclareTextSymbol{\cyrdzhe}{X2}{117}
440 \DeclareTextSymbol{\CYRCHVCRS}{X2}{86}
441 \DeclareTextSymbol{\cyrchvcrs}{X2}{118}

442 ⟨/X2⟩

443 \DeclareTextSymbol{\CYRW}{\LastDeclaredEncoding}{87}
444 \DeclareTextSymbol{\cyrw}{\LastDeclaredEncoding}{119}

445 ⟨∗X2⟩

446 \DeclareTextSymbol{\CYRYAT}{X2}{88}
447 \DeclareTextSymbol{\cyryat}{X2}{120}
448 \DeclareTextSymbol{\CYRBYUS}{X2}{89}
449 \DeclareTextSymbol{\cyrbyus}{X2}{121}
450 \DeclareTextSymbol{\CYRIZH}{X2}{90}
451 \DeclareTextSymbol{\cyrizh}{X2}{122}

452 ⟨/X2⟩ 453 ⟨∗X2⟩

454 \DeclareTextSymbol{\CYRDELTA}{X2}{28}
455 \DeclareTextSymbol{\cyrdelta}{X2}{29}
456 \DeclareTextSymbol{\CYRNLHK}{X2}{30}
457 \DeclareTextSymbol{\cyrnlhk}{X2}{31}

458 ⟨/X2⟩ 459 ⟨/X2 | T2A | T2B | T2C⟩

Text composites. The following declarations will not work for 8-bit chars generated via inputenc unless a dblaccnt package is used.

460 \DeclareTextComposite{\"}{\LastDeclaredEncoding}{\CYRE}{156}
461 \DeclareTextComposite{\"}{\LastDeclaredEncoding}{\cyre}{188}
462 \DeclareTextComposite{\U}{\LastDeclaredEncoding}{\CYRI}{201}
463 \DeclareTextComposite{\U}{\LastDeclaredEncoding}{\cyri}{233}

464 ⟨∗X2 | T2A⟩

465 \DeclareTextComposite{\"}{\LastDeclaredEncoding}{\CYRII}{136}
466 \DeclareTextComposite{\"}{\LastDeclaredEncoding}{\cyrii}{168}
467 \DeclareTextComposite{\c}{\LastDeclaredEncoding}{\CYRZ}{134}
468 \DeclareTextComposite{\c}{\LastDeclaredEncoding}{\cyrz}{166}
469 \DeclareTextComposite{\k}{\LastDeclaredEncoding}{\CYRS}{145}
470 \DeclareTextComposite{\k}{\LastDeclaredEncoding}{\cyrs}{177}

471 ⟨/X2 | T2A⟩ 472 ⟨∗X2 | T2A | T2B⟩

473 \DeclareTextComposite{\U}{\LastDeclaredEncoding}{\CYRU}{146}
474 \DeclareTextComposite{\U}{\LastDeclaredEncoding}{\cyru}{178}

475 ⟨/X2 | T2A | T2B⟩ 476 ⟨∗X2⟩

477 \DeclareTextComposite{\k}{X2}{\CYRABHCH}{69}
478 \DeclareTextComposite{\k}{X2}{\cyrabhch}{101}

479 ⟨/X2⟩ 480 ⟨∗T2C⟩

481 \DeclareTextComposite{\k}{T2C}{\CYRABHCH}{146}
482 \DeclareTextComposite{\k}{T2C}{\cyrabhch}{178}

483 ⟨/T2C⟩