blob: 329a55e30cea71d6d2eac6926ad2b97d96ce9bc8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
% cyrchars.tex
%%%%%%%%%%%%%%%%%%%%%%%%
% Petr Olsak Jun 2014
% This macros implement the handling of characters from cyrillic in 8bit fonts.
% Inspired by exchars.tex. See exchars.tex and the end of this file
% for more informations.
% Macros:
\def\exchardef #1#2 #3 {\def#1{\printexchar#1{#2}{#3}}}
\def\printexchar#1#2#3{% if \addprotect\exfont then all \exchars are protected.
\ifx\exfont\relax \noexpand#1\else
\ifx\exxfont\undefined
{\exfont{#2}%
\ifx\exxfont\undefined
\excharblackbox{#1}{#2}{#3}%
\message{WARNING: extra font unavailable for \string#1/#2 in \tmpa.}%
\else
\char#3
\fi}%
\else \char#3
\fi\fi
}
\def\exfont#1{\expandafter\expandafter\expandafter
\separethefont\expandafter\fontname\expandafter\font\space\relax
\expandafter \ifx\csname ex:\tmpa/#1\endcsname \relax \else
\font\exxfont=\csname ex:\tmpa/#1\endcsname\space\tmpb\relax \exxfont
\fi
}
\def\separethefont#1 #2\relax{\def\tmpa{#1}\def\tmpb{#2}}
\def\excharblackbox #1#2#3%
{\leavevmode\kern.05em\vrule height.5em width.5em depth0pt\kern.05em }
\def\setexfont #1 #2 #3 {\expandafter\def\csname ex:#1/#2\endcsname{#3}}
% Fonts declarations:
\newif\ifselectedfontfamily \selectedfontfamilyfalse
\expandafter\expandafter\expandafter
\separethefont\expandafter\fontname\expandafter\tenrm\space\relax
\edef\tmpa{\meaning\tmpa}
\edef\tmpb{csr10}\edef\tmpb{\meaning\tmpb} \ifx\tmpa\tmpb \selectedfontfamilytrue \fi
\edef\tmpb{csr12}\edef\tmpb{\meaning\tmpb} \ifx\tmpa\tmpb \selectedfontfamilytrue \fi
\edef\tmpb{csr8}\edef\tmpb{\meaning\tmpb} \ifx\tmpa\tmpb \selectedfontfamilytrue \fi
\edef\tmpb{csr9}\edef\tmpb{\meaning\tmpb} \ifx\tmpa\tmpb \selectedfontfamilytrue \fi
\ifselectedfontfamily
\message{CYRCHARS: cyrillic characters in X2 encoding using cm-super activated}
\setexfont csr8 X2 rxrm0800
\setexfont csr9 X2 rxrm0900
\setexfont csr10 X2 rxrm1000
\setexfont csr12 X2 rxrm1200
\setexfont csr17 X2 rxrm1700
\setexfont csbx8 X2 rxbx0800
\setexfont csbx9 X2 rxbx0900
\setexfont csbx10 X2 rxbx1000
\setexfont csbx12 X2 rxbx1200
\setexfont csti8 X2 rxti0800
\setexfont csti9 X2 rxti0900
\setexfont csti10 X2 rxti1000
\setexfont csti12 X2 rxti1200
\setexfont csbxti10 X2 rxbi1000
\setexfont cstt10 X2 rxtt1000
\setexfont cstt12 X2 rxtt1200
\setexfont cstt8 X2 rxtt0800
\setexfont cstt9 X2 rxtt0900
\else \message{CYRCHARS: use \noexpand\setexfont for your selected family}
\fi
% Character codes:
\exchardef \CYRA X2 192
\exchardef \cyra X2 224
\exchardef \CYRB X2 193
\exchardef \cyrb X2 225
\exchardef \CYRV X2 194
\exchardef \cyrv X2 226
\exchardef \CYRG X2 195
\exchardef \cyrg X2 227
\exchardef \CYRD X2 196
\exchardef \cyrd X2 228
\exchardef \CYRE X2 197
\exchardef \cyre X2 229
\exchardef \CYRZH X2 198
\exchardef \cyrzh X2 230
\exchardef \CYRZ X2 199
\exchardef \cyrz X2 231
\exchardef \CYRI X2 200
\exchardef \cyri X2 232
\exchardef \CYRISHRT X2 201
\exchardef \cyrishrt X2 233
\exchardef \CYRK X2 202
\exchardef \cyrk X2 234
\exchardef \CYRL X2 203
\exchardef \cyrl X2 235
\exchardef \CYRM X2 204
\exchardef \cyrm X2 236
\exchardef \CYRN X2 205
\exchardef \cyrn X2 237
\exchardef \CYRO X2 206
\exchardef \cyro X2 238
\exchardef \CYRP X2 207
\exchardef \cyrp X2 239
\exchardef \CYRR X2 208
\exchardef \cyrr X2 240
\exchardef \CYRS X2 209
\exchardef \cyrs X2 241
\exchardef \CYRT X2 210
\exchardef \cyrt X2 242
\exchardef \CYRU X2 211
\exchardef \cyru X2 243
\exchardef \CYRF X2 212
\exchardef \cyrf X2 244
\exchardef \CYRH X2 213
\exchardef \cyrh X2 245
\exchardef \CYRC X2 214
\exchardef \cyrc X2 246
\exchardef \CYRCH X2 215
\exchardef \cyrch X2 247
\exchardef \CYRSH X2 216
\exchardef \cyrsh X2 248
\exchardef \CYRSHCH X2 217
\exchardef \cyrshch X2 249
\exchardef \CYRHRDSN X2 218
\exchardef \cyrhrdsn X2 250
\exchardef \CYRERY X2 219
\exchardef \cyrery X2 251
\exchardef \CYRSFTSN X2 220
\exchardef \cyrsftsn X2 252
\exchardef \CYREREV X2 221
\exchardef \cyrerev X2 253
\exchardef \CYRYU X2 222
\exchardef \cyryu X2 254
\exchardef \CYRYA X2 223
\exchardef \cyrya X2 255
\exchardef \CYRGUP X2 128
\exchardef \cyrgup X2 160
\exchardef \CYRGHCRS X2 129
\exchardef \cyrghcrs X2 161
\exchardef \CYRGDSC X2 130
\exchardef \cyrgdsc X2 162
\exchardef \CYRGHK X2 131
\exchardef \cyrghk X2 163
\exchardef \CYRSHHA X2 132
\exchardef \cyrshha X2 164
\exchardef \CYRZHDSC X2 133
\exchardef \cyrzhdsc X2 165
\exchardef \CYRZDSC X2 134
\exchardef \cyrzdsc X2 166
\exchardef \CYRABHDZE X2 135
\exchardef \cyrabhdze X2 167
\exchardef \CYRYI X2 136
\exchardef \cyryi X2 168
\exchardef \CYRKDSC X2 137
\exchardef \cyrkdsc X2 169
\exchardef \CYRKBEAK X2 138
\exchardef \cyrkbeak X2 170
\exchardef \CYRKHK X2 139
\exchardef \cyrkhk X2 171
\exchardef \CYRLHK X2 140
\exchardef \cyrlhk X2 172
\exchardef \CYRNDSC X2 141
\exchardef \cyrndsc X2 173
\exchardef \CYRNG X2 142
\exchardef \cyrng X2 174
\exchardef \CYRNHK X2 143
\exchardef \cyrnhk X2 175
\exchardef \CYROTLD X2 144
\exchardef \cyrotld X2 176
\exchardef \CYRSDSC X2 145
\exchardef \cyrsdsc X2 177
\exchardef \CYRUSHRT X2 146
\exchardef \cyrushrt X2 178
\exchardef \CYRY X2 147
\exchardef \cyry X2 179
\exchardef \CYRYHCRS X2 148
\exchardef \cyryhcrs X2 180
\exchardef \CYRHDSC X2 149
\exchardef \cyrhdsc X2 181
\exchardef \CYRHHK X2 150
\exchardef \cyrhhk X2 182
\exchardef \CYRCHLDSC X2 151
\exchardef \cyrchldsc X2 183
\exchardef \CYRCHRDSC X2 152
\exchardef \cyrchrdsc X2 184
\exchardef \CYRIE X2 153
\exchardef \cyrie X2 185
\exchardef \CYRSCHWA X2 154
\exchardef \cyrschwa X2 186
\exchardef \CYREPS X2 155
\exchardef \cyreps X2 187
\exchardef \CYRYO X2 156
\exchardef \cyryo X2 188
\exchardef \CYRAE X2 65
\exchardef \cyrae X2 97
\exchardef \CYRDJE X2 66
\exchardef \cyrdje X2 98
\exchardef \CYRTSHE X2 67
\exchardef \cyrtshe X2 99
\exchardef \CYRABHCH X2 68
\exchardef \cyrabhch X2 100
\exchardef \CYRABHCHDSC X2 69
\exchardef \cyrabhchdsc X2 101
\exchardef \CYRKVCRS X2 70
\exchardef \cyrkvcrs X2 102
\exchardef \CYRKHCRS X2 71
\exchardef \cyrkhcrs X2 103
\exchardef \CYRLDSC X2 72
\exchardef \cyrldsc X2 104
\exchardef \CYRII X2 73
\exchardef \cyrii X2 105
\exchardef \CYRJE X2 74
\exchardef \cyrje X2 106
\exchardef \CYRLJE X2 75
\exchardef \cyrlje X2 107
\exchardef \CYRMDSC X2 76
\exchardef \cyrmdsc X2 108
\exchardef \CYRNJE X2 77
\exchardef \cyrnje X2 109
\exchardef \CYRABHHA X2 78
\exchardef \cyrabhha X2 110
\exchardef \CYRPHK X2 79
\exchardef \cyrphk X2 111
\exchardef \CYRRDSC X2 80
\exchardef \cyrrdsc X2 112
\exchardef \CYRQ X2 81
\exchardef \cyrq X2 113
\exchardef \CYRTDSC X2 82
\exchardef \cyrtdsc X2 114
\exchardef \CYRDZE X2 83
\exchardef \cyrdze X2 115
\exchardef \CYRTETSE X2 84
\exchardef \cyrtetse X2 116
\exchardef \CYRDZHE X2 85
\exchardef \cyrdzhe X2 117
\exchardef \CYRCHVCRS X2 86
\exchardef \cyrchvcrs X2 118
\exchardef \CYRW X2 87
\exchardef \cyrw X2 119
\exchardef \CYRYAT X2 88
\exchardef \cyryat X2 120
\exchardef \CYRBYUS X2 89
\exchardef \cyrbyus X2 121
\exchardef \CYRIZH X2 90
\exchardef \cyrizh X2 122
\exchardef \CYRDELTA X2 28
\exchardef \cyrdelta X2 29
\exchardef \CYRNLHK X2 30
\exchardef \cyrnlhk X2 31
% UTF-8 encoding declaration:
\ifx \mubyte\undefined
\message{CYRCHARS WARNING: encTeX not detected, UTF-8 codes are not set}
\endinput \fi
\mubyte \CYRA ^^d0^^90\endmubyte % А
\mubyte \CYRB ^^d0^^91\endmubyte % Б
\mubyte \CYRV ^^d0^^92\endmubyte % В
\mubyte \CYRG ^^d0^^93\endmubyte % Г
\mubyte \CYRGUP ^^d2^^90\endmubyte % Ґ
\mubyte \CYRD ^^d0^^94\endmubyte % Д
\mubyte \CYRDJE ^^d0^^82\endmubyte % Ђ
\mubyte \CYRE ^^d0^^95\endmubyte % Е
\mubyte \CYRYO ^^d0^^81\endmubyte % Ё
\mubyte \CYRIE ^^d0^^84\endmubyte % Є
\mubyte \CYRZH ^^d0^^96\endmubyte % Ж
\mubyte \CYRZ ^^d0^^97\endmubyte % З
\mubyte \CYRDZE ^^d0^^85\endmubyte % Ѕ
\mubyte \CYRI ^^d0^^98\endmubyte % И
\mubyte \CYRII ^^d0^^86\endmubyte % І
\mubyte \CYRYI ^^d0^^87\endmubyte % Ї
\mubyte \CYRISHRT ^^d0^^99\endmubyte % Й
\mubyte \CYRJE ^^d0^^88\endmubyte % Ј
\mubyte \CYRK ^^d0^^9a\endmubyte % К
\mubyte \CYRL ^^d0^^9b\endmubyte % Л
\mubyte \CYRLJE ^^d0^^89\endmubyte % Љ
\mubyte \CYRM ^^d0^^9c\endmubyte % М
\mubyte \CYRN ^^d0^^9d\endmubyte % Н
\mubyte \CYRNJE ^^d0^^8a\endmubyte % Њ
\mubyte \CYRO ^^d0^^9e\endmubyte % О
\mubyte \CYRP ^^d0^^9f\endmubyte % П
\mubyte \CYRR ^^d0^^a0\endmubyte % Р
\mubyte \CYRS ^^d0^^a1\endmubyte % С
\mubyte \CYRT ^^d0^^a2\endmubyte % T
\mubyte \CYRTSHE ^^d0^^8b\endmubyte % Ћ
\mubyte \CYRU ^^d0^^a3\endmubyte % У
\mubyte \CYRUSHRT ^^d0^^8e\endmubyte % Ў
\mubyte \CYRF ^^d0^^a4\endmubyte % Ф
\mubyte \CYRH ^^d0^^a5\endmubyte % Х
\mubyte \CYRC ^^d0^^a6\endmubyte % Ц
\mubyte \CYRCH ^^d0^^a7\endmubyte % Ч
\mubyte \CYRDZHE ^^d0^^8f\endmubyte % Џ
\mubyte \CYRSH ^^d0^^a8\endmubyte % Ш
\mubyte \CYRSHCH ^^d0^^a9\endmubyte % Щ
\mubyte \CYRHRDSN ^^d0^^aa\endmubyte % Ъ
\mubyte \CYRERY ^^d0^^ab\endmubyte % Ы
\mubyte \CYRSFTSN ^^d0^^ac\endmubyte % Ь
\mubyte \CYREREV ^^d0^^ad\endmubyte % Э
\mubyte \CYRYU ^^d0^^ae\endmubyte % Ю
\mubyte \CYRYA ^^d0^^af\endmubyte % Я
\mubyte \cyra ^^d0^^b0\endmubyte % а - U+0430 - cyra
\mubyte \cyrb ^^d0^^b1\endmubyte % б - U+0431 - cyrb
\mubyte \cyrv ^^d0^^b2\endmubyte % в - U+0432 - cyrv
\mubyte \cyrg ^^d0^^b3\endmubyte % г - U+0433 - cyrg
\mubyte \cyrd ^^d0^^b4\endmubyte % д - U+0434 - cyrd
\mubyte \cyre ^^d0^^b5\endmubyte % е - U+0435 - cyre
\mubyte \cyrzh ^^d0^^b6\endmubyte % ж - U+0436 - cyrzh
\mubyte \cyrz ^^d0^^b7\endmubyte % з - U+0437 - cyrz
\mubyte \cyri ^^d0^^b8\endmubyte % и - U+0438 - cyri
\mubyte \cyrishrt ^^d0^^b9\endmubyte % й - U+0439 - cyrishrt
\mubyte \cyrk ^^d0^^ba\endmubyte % к - U+043A - cyrk
\mubyte \cyrl ^^d0^^bb\endmubyte % л - U+043B - cyrl
\mubyte \cyrm ^^d0^^bc\endmubyte % м - U+043C - cyrm
\mubyte \cyrn ^^d0^^bd\endmubyte % н - U+043D - cyrn
\mubyte \cyro ^^d0^^be\endmubyte % о - U+043E - cyro
\mubyte \cyrp ^^d0^^bf\endmubyte % п - U+043F - cyrp
\mubyte \cyrr ^^d1^^80\endmubyte % р - U+0440 - cyrr
\mubyte \cyrs ^^d1^^81\endmubyte % с - U+0441 - cyrs
\mubyte \cyrt ^^d1^^82\endmubyte % т - U+0442 - cyrt
\mubyte \cyru ^^d1^^83\endmubyte % у - U+0443 - cyru
\mubyte \cyrf ^^d1^^84\endmubyte % ф - U+0444 - cyrf
\mubyte \cyrh ^^d1^^85\endmubyte % х - U+0445 - cyrh
\mubyte \cyrc ^^d1^^86\endmubyte % ц - U+0446 - cyrc
\mubyte \cyrch ^^d1^^87\endmubyte % ч - U+0447 - cyrch
\mubyte \cyrsh ^^d1^^88\endmubyte % ш - U+0448 - cyrsh
\mubyte \cyrshch ^^d1^^89\endmubyte % щ - U+0449 - cyrshch
\mubyte \cyrhrdsn ^^d1^^8a\endmubyte % ъ - U+044A - cyrhrdsn
\mubyte \cyrery ^^d1^^8b\endmubyte % ы - U+044B - cyrery
\mubyte \cyrsftsn ^^d1^^8c\endmubyte % ь - U+044C - cyrsftsn
\mubyte \cyrerev ^^d1^^8d\endmubyte % э - U+044D - cyrerev
\mubyte \cyryu ^^d1^^8e\endmubyte % ю - U+044E - cyryu
\mubyte \cyrya ^^d1^^8f\endmubyte % я - U+044F - cyrya
\mubyte \cyryo ^^d1^^91\endmubyte % ё - U+0451 - cyryo
\mubyte \cyry ^^d2^^af\endmubyte % ү - U+04AF - cyry
\mubyte \cyrotld ^^d3^^a9\endmubyte % ө - U+04E9 - cyrotld
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This is a ``poor cyrillic'' used in 8bit TeX/pdfTeX with 8bit fonts.
EncTeX have to be activated during format generation.
Usage:
\input cyrchars
Normal text and текст на русском языке.
{\it Normal text in italics and текст на русском языке}.
\end
Use csplain or pdfcsplain. If you are using OPmac then cyrillic will work at
arbitrary selected font size.
The cyrillic words are not kerned and hyphenated. If you need kerning, then
you have to explicitly swith the font:
Normal text and {\exfont{X2}текст на русском языке}.
{\it Normal text in italics and {\exfont{X2}текст на русском языке}}.
If you need to activate hyphenation then you have to load hyphenation
patterns in X2 encoding during format generation and you have to set
the \language register appropriately.
Here i normal text and here is {\language=222\exfont{X2}текст на русском языке}.
That is all.
If you needs more: use Unicoded TeX engine (XeTeX, LuaTeX) plus appropriate
Unicode font and doesn't use this macro file!
-------------------------------------------------------------
|