summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/t2
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/contrib/t2
Initial commit
Diffstat (limited to 'macros/latex/contrib/t2')
-rw-r--r--macros/latex/contrib/t2/README109
-rw-r--r--macros/latex/contrib/t2/cyrfinst/6r.etx945
-rw-r--r--macros/latex/contrib/t2/cyrfinst/README51
-rw-r--r--macros/latex/contrib/t2/cyrfinst/cyrillic.mtx829
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcyc.etx47
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcyci.etx47
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcycij.etx48
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcycj.etx47
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcyctt.etx48
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcyi.etx19
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcyij.etx19
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcyitt.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcyj.etx19
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/lcytt.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/ot2c.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/ot2cj.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/ot2i.etx18
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/ot2ij.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/ot2j.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2ac.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2acj.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2ai.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2aij.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2aj.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2bc.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2bcj.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2bi.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2bij.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2bj.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2cc.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2ccj.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2ci.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2cij.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/t2cj.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/x2c.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/x2cj.etx46
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/x2i.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/x2ij.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/derivatives/x2j.etx20
-rw-r--r--macros/latex/contrib/t2/cyrfinst/etc/alias-cmc.tex70
-rw-r--r--macros/latex/contrib/t2/cyrfinst/etc/alias-wncy.tex94
-rw-r--r--macros/latex/contrib/t2/cyrfinst/etc/cyralias.tex223
-rw-r--r--macros/latex/contrib/t2/cyrfinst/etc/fnstcorr.tex38
-rw-r--r--macros/latex/contrib/t2/cyrfinst/etc/showenc18
-rw-r--r--macros/latex/contrib/t2/cyrfinst/lcy-hi.etx347
-rw-r--r--macros/latex/contrib/t2/cyrfinst/lcy.etx815
-rw-r--r--macros/latex/contrib/t2/cyrfinst/ot2.etx703
-rw-r--r--macros/latex/contrib/t2/cyrfinst/t2a.etx1284
-rw-r--r--macros/latex/contrib/t2/cyrfinst/t2b.etx1284
-rw-r--r--macros/latex/contrib/t2/cyrfinst/t2c.etx1284
-rw-r--r--macros/latex/contrib/t2/cyrfinst/x2.etx1102
-rw-r--r--macros/latex/contrib/t2/cyrplain/README86
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyramstx.ini10
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyrblue.ini3
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyrcmfnt.tex82
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyrecfnt.tex82
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyrtex.cfg45
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyrtex.ini2
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyrtex.tex29
-rw-r--r--macros/latex/contrib/t2/cyrplain/cyrtxinf.ini25
-rw-r--r--macros/latex/contrib/t2/cyrplain/makefmts.bat4
-rw-r--r--macros/latex/contrib/t2/cyrplain/makefmts.sh8
-rw-r--r--macros/latex/contrib/t2/cyrplain/plainenc.tex262
-rw-r--r--macros/latex/contrib/t2/cyrplain/txxdefs.tex38
-rw-r--r--macros/latex/contrib/t2/cyrplain/txxextra.tex27
-rw-r--r--macros/latex/contrib/t2/enc-maps/.x2extra17
-rw-r--r--macros/latex/contrib/t2/enc-maps/Makefile11
-rw-r--r--macros/latex/contrib/t2/enc-maps/OT2uni.map128
-rw-r--r--macros/latex/contrib/t2/enc-maps/README64
-rw-r--r--macros/latex/contrib/t2/enc-maps/T2Auni.map265
-rw-r--r--macros/latex/contrib/t2/enc-maps/T2Buni.map265
-rw-r--r--macros/latex/contrib/t2/enc-maps/T2Cuni.map265
-rw-r--r--macros/latex/contrib/t2/enc-maps/X2uni.map268
-rw-r--r--macros/latex/contrib/t2/enc-maps/amscyr.txt92
-rw-r--r--macros/latex/contrib/t2/enc-maps/broken1.txt67
-rw-r--r--macros/latex/contrib/t2/enc-maps/broken2.txt66
-rw-r--r--macros/latex/contrib/t2/enc-maps/cyrcset7.txt128
-rw-r--r--macros/latex/contrib/t2/enc-maps/cyrcset8.txt256
-rw-r--r--macros/latex/contrib/t2/enc-maps/cyrcsets.ind26
-rw-r--r--macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod1.enc290
-rw-r--r--macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod2.enc290
-rw-r--r--macros/latex/contrib/t2/enc-maps/encfiles/t2a.enc290
-rw-r--r--macros/latex/contrib/t2/enc-maps/encfiles/t2b.enc290
-rw-r--r--macros/latex/contrib/t2/enc-maps/encfiles/t2c.enc290
-rw-r--r--macros/latex/contrib/t2/enc-maps/encfiles/x2.enc290
-rw-r--r--macros/latex/contrib/t2/enc-maps/make-enc.pl48
-rw-r--r--macros/latex/contrib/t2/enc-maps/mkencs.sh16
-rw-r--r--macros/latex/contrib/t2/enc-maps/mtcyr.txt181
-rw-r--r--macros/latex/contrib/t2/enc-maps/t2cyr.txt292
-rw-r--r--macros/latex/contrib/t2/enc-maps/t2lat.txt130
-rw-r--r--macros/latex/contrib/t2/enc-maps/urwcyr.txt95
-rw-r--r--macros/latex/contrib/t2/etc/amsppt.diff61
-rw-r--r--macros/latex/contrib/t2/etc/citehack.sty88
-rw-r--r--macros/latex/contrib/t2/etc/mathtext.dtx226
-rw-r--r--macros/latex/contrib/t2/etc/mathtext.ins8
-rw-r--r--macros/latex/contrib/t2/etc/misccorr.sty309
-rw-r--r--macros/latex/contrib/t2/etc/rubibtex/README50
-rw-r--r--macros/latex/contrib/t2/etc/rubibtex/rubibtex110
-rw-r--r--macros/latex/contrib/t2/etc/rubibtex/rubibtex.bat5
-rw-r--r--macros/latex/contrib/t2/etc/rubibtex/rubibtex.old80
-rw-r--r--macros/latex/contrib/t2/etc/rubibtex/rubibtex.sed68
-rw-r--r--macros/latex/contrib/t2/etc/ruinpenc67
-rw-r--r--macros/latex/contrib/t2/etc/rumkidx/README44
-rw-r--r--macros/latex/contrib/t2/etc/rumkidx/rumakeindex77
-rw-r--r--macros/latex/contrib/t2/etc/rumkidx/rumkidx1.sed68
-rw-r--r--macros/latex/contrib/t2/etc/rumkidx/rumkidx2.sed1
-rw-r--r--macros/latex/contrib/t2/etc/rumkidx/rumkidx3.sed1
-rw-r--r--macros/latex/contrib/t2/etc/rumkidx/rumkidxd.bat2
-rw-r--r--macros/latex/contrib/t2/etc/rumkidx/rumkidxw.bat2
-rw-r--r--macros/latex/contrib/t2/etc/t2filter.c51
-rw-r--r--macros/latex/contrib/t2/etc/utf-8/test-utf8.tex28
-rw-r--r--macros/latex/contrib/t2/etc/utf-8/utf-8.def68
-rw-r--r--macros/latex/contrib/t2/etc/utf-8/utfcyr.def264
-rw-r--r--macros/latex/contrib/t2/etc/utf-8/utflat.def228
-rw-r--r--macros/latex/contrib/t2/examples/example1.tex72
-rw-r--r--macros/latex/contrib/t2/examples/example2.tex25
-rw-r--r--macros/latex/contrib/t2/examples/example3.tex26
-rw-r--r--macros/latex/contrib/t2/examples/example4.tex62
-rw-r--r--macros/latex/contrib/t2/examples/example5.tex35
119 files changed, 17537 insertions, 0 deletions
diff --git a/macros/latex/contrib/t2/README b/macros/latex/contrib/t2/README
new file mode 100644
index 0000000000..4770e1b518
--- /dev/null
+++ b/macros/latex/contrib/t2/README
@@ -0,0 +1,109 @@
+This is the file README of the T2 package.
+
+T2 package is Copyright 1997-1999 Werner Lemberg, Vladimir Volovich
+and any individual authors listed elsewhere in package files.
+
+It may be distributed under the conditions of the LaTeX Project Public
+License, either version 1.1 of this license or (at your option) any
+later version. The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.1 or later is part of all distributions of LaTeX
+version 1999/06/01 or later.
+
+The `T2' package is available at
+
+ CTAN:macros/latex/contrib/t2
+ ftp://ftp.vsu.ru/pub/tex/t2-current.tar.gz
+
+Starting with the 1998/12/01 release, LaTeX2e officially supports new
+standard Cyrillic font encodings (T2A, T2B, T2C, X2) and various
+Cyrillic input encodings, which form the `cyrillic' bundle of the
+official LaTeX distribution (CTAN:macros/latex/required/cyrillic).
+Installation procedure is described in the file `00readme.txt' which
+is part of the `cyrillic' bundle. Note: the `cyrillic' bundle will not
+work with LaTeX2e releases older than 1998/12/01.
+
+Starting with the version 3.6k, BABEL system officially supports T2
+encodings. You can get the distribution at
+
+ CTAN:macros/latex/required/babel
+
+The installation and usage of Cyrillic in LaTeX are also described in
+the file `cyrguide.tex' which is part of the base LaTeX2e
+distribution. In particular, in addition to the `cyrillic' bundle you
+will need at least LH fonts and hyphenation patterns.
+
+The latest version of the LH fonts package (v3.20) which supports T2A,
+T2B, T2C, X2 standard Cyrillic TeX font encodings (and also LCY, OT2,
+and some other encodings) is available at
+
+ CTAN:fonts/cyrillic/lh
+ http://www.cemi.rssi.ru/cyrtug/files/cyremtex.98
+ http://www.cemi.rssi.ru/cyrtug/eng/news.htm
+ ftp://ftp.vsu.ru/pub/tex/lhfnt-3.20.tar.gz
+
+You can find a collection of Russian hyphenation patterns which
+support T2 (and other) font encodings in a `ruhyphen' package at
+
+ CTAN:language/hyphenation/ruhyphen
+ ftp://ftp.vsu.ru/pub/tex/ruhyphen.tar.gz
+
+Some additional support files and packages are located in
+subdirectories of the `T2' package.
+
+* the `mathtext' package which makes it possible to use Cyrillic
+ letters `transparently' in math formulae. To generate the package file
+ `mathtext.sty', run the command "latex mathtext.ins". The package
+ supports an option `warn', which will produce warning messages in case
+ of using Cyrillic letters in math formulae. Load this package _before_
+ babel and/or fontenc.
+
+* the package `citehack.sty' redefines some of the LaTeX commands in
+ order to make it possible to use Cyrillic letters as arguments of
+ \cite and \bibitem commands (it is not specific to Cyrillic; the same
+ problems would arise if one will try to use characters defined via the
+ inputenc package as labels or notes of \cite and \bibitem commands).
+ It also makes it possible to use inputenc-generated characters in
+ \label and \ref arguments.
+
+ This is a temporary hack. Hopefully, the corresponding commands will
+ be corrected in the next release of LaTeX2e.
+
+* read a `README' file in the `etc/rubibtex' directory if you are
+ using bibtex.
+
+* read a `README' file in the `etc/rumkidx' directory if you are using
+ makeindex.
+
+* the directory `examples' contains some examples which demonstrate
+ usage of Cyrillic packages. In particular, the `example1.tex' contains
+ examples of using different Cyrillic font encodings and input
+ encodings in LaTeX.
+
+* read a `README' file in the `cyrplain' directory if you would like
+ to use Cyrillic in Plain TeX based macro-packages.
+
+* the `cyrfinst' directory contains Cyrillic support for fontinst
+ package.
+
+* the `enc-maps' directory contains various mappings for charsets and
+ encodings.
+
+There are mailing lists devoted to problems of Cyrillic and
+multilingual TeX and T2 encodings, where you can try to get support on
+setting up and using Cyrillic packages with TeX & friends.
+
+To subscribe to english-language list, mail to CyrTeX-en-on@vsu.ru
+
+To subscribe to russian-language list, mail to CyrTeX-ru-on@vsu.ru
+
+You will be asked to confirm your action by additional email.
+Mailing list archives are available at
+
+ https://info.vsu.ru/Lists/default.html
+
+
+Happy TeXing!
+
+ Werner LEMBERG <wl@gnu.org>
+ Vladimir VOLOVICH <vvv@vsu.ru>
diff --git a/macros/latex/contrib/t2/cyrfinst/6r.etx b/macros/latex/contrib/t2/cyrfinst/6r.etx
new file mode 100644
index 0000000000..875e0b825b
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/6r.etx
@@ -0,0 +1,945 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[koi8-r]{inputenc}
+\usepackage[X2,T2A]{fontenc}
+\usepackage{fontdoc}
+\catcode`\`=13 \def`#1'{\textquoteleft{\UseTextSymbol{X2}{#1}}\textquoteright}
+
+\title{The \TeX Base2 (6r) encoding vector}
+\author{Vladimir Volovich, Anatoliy Malyarenko}
+\date{22 August 1999\\
+Version 0.1}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+ \TeX Base2 (6r)
+ \TeX Base1 (8r).
+ \cite[.~387]{g} ( ~---
+). 8r.enc
+ .
+\begin{quote}
+The aim was to have available for typesetting all the characters
+normally included in Type~1 fonts. This is effectively the
+characters in Adobe Standard Encoding, plus ISO Latin~1, plus
+extra characters available in Lucida Bright.
+\end{quote}
+
+ Adobe
+. $A$~--- Adobe Standard Cyrillic
+Font Specification \cite{a}. $\{8r\}$~---
+\TeX Base1, $\{6r\}$~--- \TeX Base2.
+We do not want to duplicate slots present in 8r encoding, in the 6r
+encoding.
+
+$$
+A\setminus\{8r\}\subset\{6r\}.
+$$
+ ӣ $\{6r\}$ $A$,
+ , : \emph{infinity,
+partialdiff, notequal, approxequal, lessequal, radical}.
+ ~1,
+ X2,
+~--- \cite{a} cyralias.mtx.
+
+ , , ,
+ "" Cyrillic Asian, ݣ
+ X2. , , cyrfita
+cyrotld~--- ,
+Unicode "".
+
+ \cite{g}:
+\begin{quote}
+The Windows ANSI characters are almost all in their Windows
+positions, since some Windows users cannot easily re-encode the
+fonts and it makes no difference on other systems.
+\end{quote}
+ ,
+cp1251, .
+\begin{quote}
+The remaining characters are arbitrarily assigned to the lower
+part of the range, avoiding 0, 10, and 13 to allow for software
+that assumes that these are used for special operations.
+\end{quote}
+ .
+
+\begin{thebibliography}{9}
+
+\bibitem{a} Adobe Standard Cyrillic Font Specification,
+http://www.adobe.com
+
+\bibitem{g} Goossens, M., Rahtz, S. and Mittelbach, F. 1997.
+\emph{The \LaTeX Graphics Companion}, Reading, MA:
+Addison--Wesley.
+
+\end{thebibliography}
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+\comment{\section{Default values}}
+
+\setstr{codingscheme}{TEX BASE2 encoding - 6R}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\comment{\section{The encoding}}
+
+\nextslot{3}
+
+\setslot{\lc{cyrBreve}{cyrbreve}}
+ \comment{The cyrillic breve accent.}
+\endsetslot
+
+\setslot{\lc{cyrFlex}{cyrflex}}
+ \comment{Cyrillic circumflex.}
+\endsetslot
+
+\setslot{\lc{dblGrave}{dblgrave}}
+ \comment{The cyrillic dblgrave accent.}
+\endsetslot
+
+\nextslot{7}
+
+\setslot{\lc{DieresisAcute}{dieresisacute}}
+ \comment{The cyrillic dieresisacute accent.}
+\endsetslot
+
+\setslot{\lc{DieresisGrave}{dieresisgrave}}
+ \comment{The cyrillic dieresisgrave accent.}
+\endsetslot
+
+\nextslot{17}
+
+\setslot{\uc{Acute}{acute}}
+ \comment{The cyrillic Acute accent.}
+\endsetslot
+
+\setslot{\uc{Caron}{caron}}
+ \comment{The Caron or h\'a\v cek accent.}
+\endsetslot
+
+\setslot{\uc{cyrBreve}{cyrbreve}}
+ \comment{The cyrillic Breve accent.}
+\endsetslot
+
+\setslot{\uc{cyrFlex}{cyrflex}}
+ \comment{Cyrillic Circumflex.}
+\endsetslot
+
+\setslot{\uc{dblGrave}{dblgrave}}
+ \comment{The cyrillic dblGrave accent.}
+\endsetslot
+
+\setslot{\uc{Dieresis}{dieresis}}
+ \comment{The cyrillic Dieresis accent.}
+\endsetslot
+
+\setslot{\uc{DieresisAcute}{dieresisacute}}
+ \comment{The cyrillic DieresisAcute accent.}
+\endsetslot
+
+\setslot{\uc{DieresisGrave}{dieresisgrave}}
+ \comment{The cyrillic DieresisGrave accent.}
+\endsetslot
+
+\setslot{\uc{Grave}{grave}}
+ \comment{The cyrillic Grave accent.}
+\endsetslot
+
+\setslot{\uc{Hungarumlaut}{hungarumlaut}}
+ \comment{The long Hungarian umlaut.}
+\endsetslot
+
+\setslot{\uc{Macron}{macron}}
+ \comment{The Macron accent.}
+\endsetslot
+
+\nextslot{32}
+
+\setslot{\uc{CYRAE}{cyrae}}
+ \comment{Cyrillic capital ligature a ie `\CYRAE'.}
+\endsetslot
+
+\setslot{\uc{CYRGDSC}{cyrgdsc}}
+ \comment{Cyrillic capital letter ghe with descender `\CYRGDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.}
+\endsetslot
+
+\setslot{\uc{CYRABHCH}{cyrabhch}}
+ \comment{Cyrillic capital letter abkhasian che `\CYRABHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRABHCHDSC}{cyrabhchdsc}}
+ \comment{Cyrillic capital letter abkhasian che with descender `\CYRABHCHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic capital letter shha `\CYRSHHA'.}
+\endsetslot
+
+\setslot{\uc{CYRGDSC}{cyrgdsc}}
+ \comment{Cyrillic capital letter ghe with descender `\CYRGDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.}
+\endsetslot
+
+\setslot{\uc{CYRZDSC}{cyrzdsc}}
+ \comment{Cyrillic capital letter ze with descender `\CYRZDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKBEAK}{cyrkbeak}}
+ \comment{Cyrillic capital letter bashkir ka `\CYRKBEAK'.}
+\endsetslot
+
+\setslot{\uc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKHCRS}{cyrkhcrs}}
+ \comment{Cyrillic capital letter ka with stroke `\CYRKHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRKHK}{cyrkhk}}
+ \comment{Cyrillic capital letter ka with hook `\CYRKHK'.}
+\endsetslot
+
+\setslot{\uc{CYRKVCRS}{cyrkvcrs}}
+ \comment{Cyrillic capital letter ka with vertical stroke `\CYRKVCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRLDSC}{cyrldsc}}
+ \comment{Cyrillic capital letter el with descender `\CYRLDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRLHK}{cyrlhk}}
+ \comment{Cyrillic capital letter el with hook `\CYRLHK'.}
+\endsetslot
+
+\setslot{\uc{CYRMDSC}{cyrmdsc}}
+ \comment{Cyrillic capital letter em with descender `\CYRMDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic capital letter en with descender `\CYRNDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNG}{cyrng}}
+ \comment{Cyrillic capital ligature en ghe `\CYRNG'.}
+\endsetslot
+
+\setslot{\uc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic capital letter en with hook `\CYRNHK'.}
+\endsetslot
+
+\setslot{\uc{CYRNLHK}{cyrnlhk}}
+ \comment{Cyrillic capital letter en with left hook `\CYRNLHK'.}
+\endsetslot
+
+\setslot{\uc{CYRABHHA}{cyrabhha}}
+ \comment{Cyrillic capital letter abkhasian ha `\CYRABHHA'.}
+\endsetslot
+
+\setslot{\uc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic capital letter barred o `\CYROTLD'.}
+\endsetslot
+
+\setslot{\uc{CYRPHK}{cyrphk}}
+ \comment{Cyrillic capital letter pe with middle hook `\CYRPHK'.}
+\endsetslot
+
+\setslot{\uc{CYRRDSC}{cyrrdsc}}
+ \comment{Cyrillic capital letter er with descender `\CYRRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRSDSC}{cyrsdsc}}
+ \comment{Cyrillic capital letter es with descender `\CYRSDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRTDSC}{cyrtdsc}}
+ \comment{Cyrillic capital letter te with descender `\CYRTDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRY}{cyry}}
+ \comment{Cyrillic capital letter straight u `\CYRY'.}
+\endsetslot
+
+\setslot{\uc{CYRYHCRS}{cyryhcrs}}
+ \comment{Cyrillic capital letter straight u with stroke `\CYRYHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRHHK}{cyrhhk}}
+ \comment{Cyrillic capital letter ha with hook `\CYRHHK'.}
+\endsetslot
+
+\setslot{\uc{CYRCHLDSC}{cyrchldsc}}
+ \comment{Cyrillic capital letter khakassian che `\CYRCHLDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRCHVCRS}{cyrchvcrs}}
+ \comment{Cyrillic capital letter che with vertical stroke `\CYRCHVCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic capital letter schwa `\CYRSCHWA'.}
+\endsetslot
+
+\setslot{\uc{CYRBYUS}{cyrbyus}}
+ \comment{Cyrillic capital letter big yus `\CYRBYUS'.}
+\endsetslot
+
+\setslot{\uc{CYRFITA}{cyrfita}}
+ \comment{Cyrillic capital letter fita.}
+\endsetslot
+
+\setslot{\uc{CYRIZH}{cyrizh}}
+ \comment{Cyrillic capital letter izhitsa `\CYRIZH'.}
+\endsetslot
+
+\setslot{\uc{CYRYAT}{cyryat}}
+ \comment{Cyrillic capital letter yat `\CYRYAT'.}
+\endsetslot
+
+\setslot{\uc{CYRQ}{cyrq}}
+ \comment{Cyrillic capital letter q `\CYRQ'.}
+\endsetslot
+
+\setslot{\uc{CYRW}{cyrw}}
+ \comment{Cyrillic capital letter w `\CYRW'.}
+\endsetslot
+
+\setslot{\uc{CYREPS}{cyreps}}
+ \comment{Cyrillic capital letter epsilon `\CYREPS'.}
+\endsetslot
+
+\nextslot{80}
+
+\setslot{\lc{CYRAE}{cyrae}}
+ \comment{Cyrillic small ligature a ie `\cyrae'.}
+\endsetslot
+
+\setslot{\lc{CYRGDSC}{cyrgdsc}}
+ \comment{Cyrillic small letter ghe with descender `\cyrgdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.}
+\endsetslot
+
+\setslot{\lc{CYRABHCH}{cyrabhch}}
+ \comment{Cyrillic small letter abkhasian che `\cyrabhch'.}
+\endsetslot
+
+\setslot{\lc{CYRABHCHDSC}{cyrabhchdsc}}
+ \comment{Cyrillic small letter abkhasian che with descender `\cyrabhchdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic small letter shha `\cyrshha'.}
+\endsetslot
+
+\setslot{\lc{CYRGDSC}{cyrgdsc}}
+ \comment{Cyrillic small letter ghe with descender `\cyrgdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.}
+\endsetslot
+
+\setslot{\lc{CYRZDSC}{cyrzdsc}}
+ \comment{Cyrillic small letter ze with descender `\cyrzdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKBEAK}{cyrkbeak}}
+ \comment{Cyrillic small letter bashkir ka `\cyrkbeak'.}
+\endsetslot
+
+\setslot{\lc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic small letter ka with descender `\cyrkdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKHCRS}{cyrkhcrs}}
+ \comment{Cyrillic small letter ka with stroke `\cyrkhcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRKHK}{cyrkhk}}
+ \comment{Cyrillic small letter ka with hook `\cyrkhk'.}
+\endsetslot
+
+\setslot{\lc{CYRKVCRS}{cyrkvcrs}}
+ \comment{Cyrillic small letter ka with vertical stroke `\cyrkvcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRLDSC}{cyrldsc}}
+ \comment{Cyrillic small letter el with descender `\cyrldsc'.}
+\endsetslot
+
+\setslot{\lc{CYRLHK}{cyrlhk}}
+ \comment{Cyrillic small letter el with hook `\cyrlhk'.}
+\endsetslot
+
+\setslot{\lc{CYRMDSC}{cyrmdsc}}
+ \comment{Cyrillic small letter em with descender `\cyrmdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic small letter en with descender `\cyrndsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNG}{cyrng}}
+ \comment{Cyrillic small ligature en ghe `\cyrng'.}
+\endsetslot
+
+\setslot{\lc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic small letter en with hook `\cyrnhk'.}
+\endsetslot
+
+\setslot{\lc{CYRNLHK}{cyrnlhk}}
+ \comment{Cyrillic small letter en with left hook `\cyrnlhk'.}
+\endsetslot
+
+\setslot{\lc{CYRABHHA}{cyrabhha}}
+ \comment{Cyrillic small letter abkhasian ha `\cyrabhha'.}
+\endsetslot
+
+\setslot{\lc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic small letter barred o `\cyrotld'.}
+\endsetslot
+
+\setslot{\lc{CYRPHK}{cyrphk}}
+ \comment{Cyrillic small letter pe with middle hook `\cyrphk'.}
+\endsetslot
+
+\setslot{\lc{CYRRDSC}{cyrrdsc}}
+ \comment{Cyrillic small letter er with descender `\cyrrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRSDSC}{cyrsdsc}}
+ \comment{Cyrillic small letter es with descender `\cyrsdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRTDSC}{cyrtdsc}}
+ \comment{Cyrillic small letter te with descender `\cyrtdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRY}{cyry}}
+ \comment{Cyrillic small letter straight u `\cyry'.}
+\endsetslot
+
+\setslot{\lc{CYRYHCRS}{cyryhcrs}}
+ \comment{Cyrillic small letter straight u with stroke `\cyryhcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic small letter ha with descender `\cyrhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRHHK}{cyrhhk}}
+ \comment{Cyrillic small letter ha with hook `\cyrhhk'.}
+\endsetslot
+
+\setslot{\lc{CYRCHLDSC}{cyrchldsc}}
+ \comment{Cyrillic small letter khakassian che `\cyrchldsc'.}
+\endsetslot
+
+\setslot{\lc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic small letter che with descender `\cyrchrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRCHVCRS}{cyrchvcrs}}
+ \comment{Cyrillic small letter che with vertical stroke `\cyrchvcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic small letter schwa `\cyrschwa'.}
+\endsetslot
+
+\setslot{\lc{CYRBYUS}{cyrbyus}}
+ \comment{Cyrillic small letter big yus `\cyrbyus'.}
+\endsetslot
+
+\setslot{\lc{CYRFITA}{cyrfita}}
+ \comment{Cyrillic small letter fita.}
+\endsetslot
+
+\setslot{\lc{CYRIZH}{cyrizh}}
+ \comment{Cyrillic small letter izhitsa `\cyrizh'.}
+\endsetslot
+
+\setslot{\lc{CYRYAT}{cyryat}}
+ \comment{Cyrillic small letter yat `\cyryat'.}
+\endsetslot
+
+\setslot{\lc{CYRQ}{cyrq}}
+ \comment{Cyrillic small letter q `\cyrq'.}
+\endsetslot
+
+\setslot{\lc{CYRW}{cyrw}}
+ \comment{Cyrillic small letter w `\cyrw'.}
+\endsetslot
+
+\setslot{\lc{CYREPS}{cyreps}}
+ \comment{Cyrillic small letter epsilon `\cyreps'.}
+\endsetslot
+
+\setslot{cyrvarb}
+ \comment{Serbian variant of the letter b.}
+\endsetslot
+
+\setslot{cyrvard}
+ \comment{Serbian variant of the letter d.}
+\endsetslot
+
+\setslot{cyrvarg}
+ \comment{Serbian variant of the letter g.}
+\endsetslot
+
+\setslot{cyrvarp}
+ \comment{Serbian variant of the letter p.}
+\endsetslot
+
+\setslot{cyrvart}
+ \comment{Serbian variant of the letter t.}
+\endsetslot
+
+\setslot{\uc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic capital letter dje `\CYRDJE'.}
+\endsetslot
+
+\setslot{\uc{CYRGJE}{cyrgje}}
+ \comment{Cyrillic capital letter gje `\'\CYRG'.}
+\endsetslot
+
+\nextslot{131}
+
+\setslot{\lc{CYRGJE}{cyrgje}}
+ \comment{Cyrillic small letter gje `\'\cyrg'.}
+\endsetslot
+
+\nextslot{138}
+
+\setslot{\uc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic capital letter lje `\CYRLJE'.}
+\endsetslot
+
+\nextslot{140}
+
+\setslot{\uc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic capital letter nje `\CYRNJE'.}
+\endsetslot
+
+\setslot{\uc{CYRKJE}{cyrkje}}
+ \comment{Cyrillic capital letter kje.}
+\endsetslot
+
+\setslot{\uc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic capital letter tshe `\CYRTSHE'.}
+\endsetslot
+
+\setslot{\uc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic capital letter dzhe `\CYRDZHE'.}
+\endsetslot
+
+\setslot{\lc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic small letter dje `\cyrdje'.}
+\endsetslot
+
+\nextslot{154}
+
+\setslot{\lc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic small letter lje `\cyrlje'.}
+\endsetslot
+
+\nextslot{156}
+
+\setslot{\lc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic small letter nje.}
+\endsetslot
+
+\setslot{\lc{CYRKJE}{cyrkje}}
+ \comment{Cyrillic small letter kje.}
+\endsetslot
+
+\setslot{\lc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic small letter tshe `\cyrtshe'.}
+\endsetslot
+
+\setslot{\lc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic small letter dzhe `\cyrdzhe'.}
+\endsetslot
+
+\nextslot{161}
+
+\setslot{\uc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic capital letter short u `\CYRUSHRT'.}
+\endsetslot
+
+\setslot{\lc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic small letter short u `\cyrushrt'.}
+\endsetslot
+
+\setslot{\uc{CYRJE}{cyrje}}
+ \comment{Cyrillic capital letter je `\CYRJE'.}
+\endsetslot
+
+\nextslot{165}
+
+\setslot{\uc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.}
+\endsetslot
+
+\nextslot{168}
+
+\setslot{\uc{CYRYO}{cyryo}}
+ \comment{Cyrillic capital letter io `\CYRYO'.}
+\endsetslot
+
+\nextslot{170}
+
+\setslot{\uc{CYRIE}{cyrie}}
+ \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.}
+\endsetslot
+
+\nextslot{175}
+
+\setslot{\uc{CYRYI}{cyryi}}
+ \comment{Cyrillic capital letter yi `\CYRYI'.}
+\endsetslot
+
+\nextslot{178}
+
+\setslot{\uc{CYRII}{cyrii}}
+ \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.}
+\endsetslot
+
+\setslot{\lc{CYRII}{cyrii}}
+ \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.}
+\endsetslot
+
+\setslot{\lc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic small letter ghe with upturn `\cyrgup'.}
+\endsetslot
+
+\nextslot{184}
+
+\setslot{\lc{CYRYO}{cyryo}}
+ \comment{Cyrillic small letter io `\cyryo'.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{\lc{CYRIE}{cyrie}}
+ \comment{Cyrillic small letter ukrainian ie `\cyrie'.}
+\endsetslot
+
+\nextslot{188}
+
+\setslot{\lc{CYRJE}{cyrje}}
+ \comment{Cyrillic small letter je `\cyrje'.}
+\endsetslot
+
+\setslot{\uc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic capital letter dze `\CYRDZE'.}
+\endsetslot
+
+\setslot{\lc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic small letter dze `\cyrdze'.}
+\endsetslot
+
+\setslot{\lc{CYRYI}{cyryi}}
+ \comment{Cyrillic small letter yi `\cyryi'.}
+\endsetslot
+
+\setslot{\uc{CYRA}{cyra}}
+ \comment{Cyrillic capital letter a `\CYRA'.}
+\endsetslot
+
+\setslot{\uc{CYRB}{cyrb}}
+ \comment{Cyrillic capital letter be `\CYRB'.}
+\endsetslot
+
+\setslot{\uc{CYRV}{cyrv}}
+ \comment{Cyrillic capital letter ve `\CYRV'.}
+\endsetslot
+
+\setslot{\uc{CYRG}{cyrg}}
+ \comment{Cyrillic capital letter ghe `\CYRG'.}
+\endsetslot
+
+\setslot{\uc{CYRD}{cyrd}}
+ \comment{Cyrillic capital letter de `\CYRD'.}
+\endsetslot
+
+\setslot{\uc{CYRE}{cyre}}
+ \comment{Cyrillic capital letter ie `\CYRE'.}
+\endsetslot
+
+\setslot{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter zhe `\CYRZH'.}
+\endsetslot
+
+\setslot{\uc{CYRZ}{cyrz}}
+ \comment{Cyrillic capital letter ze `\CYRZ'.}
+\endsetslot
+
+\setslot{\uc{CYRI}{cyri}}
+ \comment{Cyrillic capital letter i `\CYRI'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic capital letter short i `\CYRISHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRK}{cyrk}}
+ \comment{Cyrillic capital letter ka `\CYRK'.}
+\endsetslot
+
+\setslot{\uc{CYRL}{cyrl}}
+ \comment{Cyrillic capital letter el `\CYRL'.}
+\endsetslot
+
+\setslot{\uc{CYRM}{cyrm}}
+ \comment{Cyrillic capital letter em `\CYRM'.}
+\endsetslot
+
+\setslot{\uc{CYRN}{cyrn}}
+ \comment{Cyrillic capital letter en `\CYRN'.}
+\endsetslot
+
+\setslot{\uc{CYRO}{cyro}}
+ \comment{Cyrillic capital letter o `\CYRO'.}
+\endsetslot
+
+\setslot{\uc{CYRP}{cyrp}}
+ \comment{Cyrillic capital letter pe `\CYRP'.}
+\endsetslot
+
+\setslot{\uc{CYRR}{cyrr}}
+ \comment{Cyrillic capital letter er `\CYRR'.}
+\endsetslot
+
+\setslot{\uc{CYRS}{cyrs}}
+ \comment{Cyrillic capital letter es `\CYRS'.}
+\endsetslot
+
+\setslot{\uc{CYRT}{cyrt}}
+ \comment{Cyrillic capital letter te `\CYRT'.}
+\endsetslot
+
+\setslot{\uc{CYRU}{cyru}}
+ \comment{Cyrillic capital letter u `\CYRU'.}
+\endsetslot
+
+\setslot{\uc{CYRF}{cyrf}}
+ \comment{Cyrillic capital letter ef `\CYRF'.}
+\endsetslot
+
+\setslot{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ha `\CYRH'.}
+\endsetslot
+
+\setslot{\uc{CYRC}{cyrc}}
+ \comment{Cyrillic capital letter tse `\CYRC'.}
+\endsetslot
+
+\setslot{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter che `\CYRCH'.}
+\endsetslot
+
+\setslot{\uc{CYRSH}{cyrsh}}
+ \comment{Cyrillic capital letter sha `\CYRSH'.}
+\endsetslot
+
+\setslot{\uc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic capital letter shcha `\CYRSHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.}
+\endsetslot
+
+\setslot{\uc{CYRERY}{cyrery}}
+ \comment{Cyrillic capital letter yeru `\CYRERY'.}
+\endsetslot
+
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYREREV}{cyrerev}}
+ \comment{Cyrillic capital letter e `\CYREREV'.}
+\endsetslot
+
+\setslot{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yu `\CYRYU'.}
+\endsetslot
+
+\setslot{\uc{CYRYA}{cyrya}}
+ \comment{Cyrillic capital letter ya `\CYRYA'.}
+\endsetslot
+
+\setslot{\lc{CYRA}{cyra}}
+ \comment{Cyrillic small letter a `\cyra'.}
+\endsetslot
+
+\setslot{\lc{CYRB}{cyrb}}
+ \comment{Cyrillic small letter be `\cyrb'.}
+\endsetslot
+
+\setslot{\lc{CYRV}{cyrv}}
+ \comment{Cyrillic small letter ve `\cyrv'.}
+\endsetslot
+
+\setslot{\lc{CYRG}{cyrg}}
+ \comment{Cyrillic small letter ghe `\cyrg'.}
+\endsetslot
+
+\setslot{\lc{CYRD}{cyrd}}
+ \comment{Cyrillic small letter de `\cyrd'.}
+\endsetslot
+
+\setslot{\lc{CYRE}{cyre}}
+ \comment{Cyrillic small letter ie `\cyre'.}
+\endsetslot
+
+\setslot{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter zhe `\cyrzh'.}
+\endsetslot
+
+\setslot{\lc{CYRZ}{cyrz}}
+ \comment{Cyrillic small letter ze `\cyrz'.}
+\endsetslot
+
+\setslot{\lc{CYRI}{cyri}}
+ \comment{Cyrillic small letter i `\cyri'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic small letter short i `\cyrishrt'.}
+\endsetslot
+
+\setslot{\lc{CYRK}{cyrk}}
+ \comment{Cyrillic small letter ka `\cyrk'.}
+\endsetslot
+
+\setslot{\lc{CYRL}{cyrl}}
+ \comment{Cyrillic small letter el `\cyrl'.}
+\endsetslot
+
+\setslot{\lc{CYRM}{cyrm}}
+ \comment{Cyrillic small letter em `\cyrm'.}
+\endsetslot
+
+\setslot{\lc{CYRN}{cyrn}}
+ \comment{Cyrillic small letter en `\cyrn'.}
+\endsetslot
+
+\setslot{\lc{CYRO}{cyro}}
+ \comment{Cyrillic small letter o `\cyro'.}
+\endsetslot
+
+\setslot{\lc{CYRP}{cyrp}}
+ \comment{Cyrillic small letter pe `\cyrp'.}
+\endsetslot
+
+\setslot{\lc{CYRR}{cyrr}}
+ \comment{Cyrillic small letter er `\cyrr'.}
+\endsetslot
+
+\setslot{\lc{CYRS}{cyrs}}
+ \comment{Cyrillic small letter es `\cyrs'.}
+\endsetslot
+
+\setslot{\lc{CYRT}{cyrt}}
+ \comment{Cyrillic small letter te `\cyrt'.}
+\endsetslot
+
+\setslot{\lc{CYRU}{cyru}}
+ \comment{Cyrillic small letter u `\cyru'.}
+\endsetslot
+
+\setslot{\lc{CYRF}{cyrf}}
+ \comment{Cyrillic small letter ef `\cyrf'.}
+\endsetslot
+
+\setslot{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ha `\cyrh'.}
+\endsetslot
+
+\setslot{\lc{CYRC}{cyrc}}
+ \comment{Cyrillic small letter tse `\cyrc'.}
+\endsetslot
+
+\setslot{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter che `\cyrch'.}
+\endsetslot
+
+\setslot{\lc{CYRSH}{cyrsh}}
+ \comment{Cyrillic small letter sha `\cyrsh'.}
+\endsetslot
+
+\setslot{\lc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic small letter shcha `\cyrshch'.}
+\endsetslot
+
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter hard sign `\cyrhrdsn'.}
+\endsetslot
+
+\setslot{\lc{CYRERY}{cyrery}}
+ \comment{Cyrillic small letter yeru `\cyrery'.}
+\endsetslot
+
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic small letter soft sign `\cyrsftsn'.}
+\endsetslot
+
+\setslot{\lc{CYREREV}{cyrerev}}
+ \comment{Cyrillic small letter e `\cyrerev'.}
+\endsetslot
+
+\setslot{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yu `\cyryu'.}
+\endsetslot
+
+\setslot{\lc{CYRYA}{cyrya}}
+ \comment{Cyrillic small letter ya `\cyrya'.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrfinst/README b/macros/latex/contrib/t2/cyrfinst/README
new file mode 100644
index 0000000000..e5214358b3
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/README
@@ -0,0 +1,51 @@
+This directory contains files which provide support of Cyrillic fonts
+and encodings for FONTINST.
+
+Several font encodings (with variants) are supported (all *.etx
+files). Install all *.etx, *.mtx, *.tex files contained in this
+directory and subdirectories to your texmf tree. In this package, we
+support various glyph naming schemes (not only Adobe one). If you have
+Cyrillic fonts which use different glyph names which are not supported
+here, please send AFM files or information about glyph naming schemes,
+so that those fonts will also be supported for using with
+fontinst/cyrfinst. Please send additional glyph naming schemes used
+in various Cyrillic fonts (type1, type3, truetype) to add into this
+file.
+
+To use fontinst with Cyrillic, put the following lines in the
+beginning of the fontinst job:
+
+\input fontinst.sty
+\input fnstcorr
+\input cyralias
+
+Then for all non-adobe fonts (with non-standard glyph names, or
+speaking more strictly, for all fonts that require non-empty glyph
+name prefix shown below) write:
+
+\aliasfonts{prefix1-}{prefix2}{font1,font2,%
+font3,...,fontN}
+
+where "prefix1-" is a glyph name prefix defined in cyralias.tex; and
+"prefix2" is a font name prefix (it may well be empty; it was only
+made for space economy), so that font names are constructed by
+concatenation of "prefix2" and "font*". This will generate mtx and pl
+files for all specified fonts with T2 glyph names.
+
+Warning: the command \fromafm regenerates mtx file, so do not use this
+command for fonts which require non-empty "prefix1-", --- use \frommtx
+instead (or ensure to set \charnameprefix accordingly), or \fromany
+in recent versions of fontinst.
+
+The idea behind glyph aliasing is that standard T2 cyrillic glyph
+names could be used everywhere (cyrillic.mtx, *.etx, your local mtx
+files, etc), and one file serves all possible non-standard glyph
+names! We also consider this glyph aliasing mechanism as an important
+way to correct glyph naming bugs in certain fonts.
+
+Note also, that one should process fontinst cyrillic files with LaTeX
+(not Plain TeX).
+
+You can get nicely formatted sources of *.etx and *.mtx files by
+processing them with LaTeX. E.g., "latex t2a.etx" will generate
+"t2a.dvi" which documents the T2A encoding vector.
diff --git a/macros/latex/contrib/t2/cyrfinst/cyrillic.mtx b/macros/latex/contrib/t2/cyrfinst/cyrillic.mtx
new file mode 100644
index 0000000000..3a7dd11a43
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/cyrillic.mtx
@@ -0,0 +1,829 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The {\tt fontinst} cyrillic glyphs}
+\author{Werner Lemberg, Vladimir Volovich}
+\date{31 October 1998\\
+Version 0.2}
+
+\begin{document}
+\maketitle
+
+\metrics
+
+\needsfontinstversion{1.800}
+
+% \unfakable is a glyph which can't be faked.
+
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \ifisglyph{#1-not}\then
+ \moveup{\neg{\depth{#1-not}}}
+ \glyphrule{
+ \width{#1-not}
+ }{
+ \add{\depth{#1-not}}{\height{#1-not}}
+ }
+ \resetitalic{\italic{#1-not}}
+ \moveup{\depth{#1-not}}
+ \else
+ \glyphrule{500}{500}
+ \fi
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+
+% A top accent is set by placing the center of the accent at the given
+% position along the width of the letter, raised up by the difference
+% between the height of the letter and the xheight.
+
+\setcommand\topaccent#1#2#3{
+ \push
+ \moveup{\max{0}{\sub{\height{#1}}{\int{xheight}}}}
+ \movert{\add{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}}
+ {\scale{\sub{\height{#1}}{\int{xheight}}}{\int{italicslant}}}}
+ \glyph{#2}{1000}
+ \pop
+ \glyph{#1}{1000}
+}
+
+% A bottom accent is set by placing the center of the accent at the given
+% position along the width of the letter.
+
+\setcommand\botaccent#1#2#3{
+ \push
+ \movert{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}}
+ \glyph{#2}{1000}
+ \pop
+ \glyph{#1}{1000}
+}
+
+% A c&sc glyph is created by shrinking the cap glyph, and adding extra
+% space.
+
+\setcommand\cscglyph#1{
+ \movert{\int{smallcapsextraspace}}
+ \glyph{#1}{\int{smallcapsscale}}
+ \movert{\int{smallcapsextraspace}}
+}
+
+% A c&sc accent is created by moving a shrunk accent up by the
+% difference between a scaled x and a scaled X.
+
+\setcommand\cscaccent#1{
+ \moveup{\scale{\int{xheight}}{\sub{1000}{\int{smallcapsscale}}}}
+ \cscglyph{#1}
+ \moveup{\scale{\int{xheight}}{\sub{\int{smallcapsscale}}{1000}}}
+}
+
+\comment{\section{Default values}}
+
+\setint{italicslant}{0}
+\setint{xheight}{\height{x}}
+\setint{capheight}{\height{A}}
+\setint{ascender}{\height{d}}
+\setint{descender}{\depth{g}}
+\setint{underlinethickness}{40}
+\setint{visiblespacedepth}{200}
+\setint{visiblespacewidth}{400}
+\setint{visiblespacesurround}{50}
+\setint{smallcapsscale}{800}
+\setint{smallcapskerning}{900}
+
+\ifisint{monowidth}\then
+ \setint{capspacing}{0}
+ \setint{smallcapsextraspace}
+ {\div{\scale{\width{x}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+\else
+ \setint{capspacing}{50}
+ \setint{smallcapsextraspace}{0}
+\fi
+
+\makeatletter
+\setcommand\cyrglyph#1#2#3 {
+ \@for\temp@a:=#2\do{
+ \ifisglyph{\temp@a}\then
+ \setglyph{#1}\glyph{\temp@a}{1000}\endsetglyph
+ \fi
+ }
+ \unfakable{#1}
+ \csname cyr@extra@#3\endcsname{#1}
+}
+\let\cyr@extra@\@gobble
+\expandafter\def\csname cyr@extra@*\endcsname#1{
+ \setglyph{#1small}
+ \cscglyph{#1}
+ \endsetglyph
+ \setleftrightkerning{#1small}{#1}{\int{smallcapskerning}}
+}
+\def\cyr@extra@A#1{
+ \setglyph{#1small}
+ \cscaccent{#1}
+ \endsetglyph
+}
+\makeatother
+
+\unfakable{cedilla}
+\unfakable{acute}
+\unfakable{dieresis}
+\unfakable{breve}
+\unfakable{dotlessi}
+\unfakable{endash}
+\unfakable{emdash}
+\cyrglyph{currency}{}
+\cyrglyph{angleleft}{}
+\cyrglyph{angleright}{}
+
+% MODIFIER LETTER LOW GRAVE ACCENT
+\cyrglyph{gravecross}{}
+
+% MODIFIER LETTER LOW ACUTE ACCENT
+\cyrglyph{acutecross}{}
+
+% COMBINING SHORT STROKE OVERLAY
+\cyrglyph{hcross}{}
+
+% CAPITAL CYRILLIC BREVE
+\cyrglyph{cyrBreve}{}A
+
+% CAPITAL CYRILLIC CIRCUMFLEX
+\cyrglyph{cyrFlex}{}A
+
+% CAPITAL DOUBLE GRAVE ACCENT
+\cyrglyph{dblGrave}{}A
+
+% CYRILLIC BREVE
+\cyrglyph{cyrbreve}{breve}A
+
+% CYRILLIC CIRCUMFLEX
+\cyrglyph{cyrflex}{}A
+
+% DOUBLE GRAVE ACCENT
+\cyrglyph{dblgrave}{}A
+
+% CYRILLIC CAPITAL LETTER IO
+\setglyph{CYRYO}\topaccent{CYRE}{dieresis}{500}\endsetglyph
+\cyrglyph{CYRYO}{}*
+
+% CYRILLIC CAPITAL LETTER DJE
+\cyrglyph{CYRDJE}{}*
+
+% CYRILLIC CAPITAL LETTER GJE
+\setglyph{CYRGJE}\topaccent{CYRG}{acute}{500}\endsetglyph
+\cyrglyph{CYRGJE}{}*
+
+% CYRILLIC CAPITAL LETTER UKRAINIAN IE
+\cyrglyph{CYRIE}{}*
+
+% CYRILLIC CAPITAL LETTER DZE
+\cyrglyph{CYRDZE}{S}*
+
+% CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+\cyrglyph{CYRII}{I}*
+
+% CYRILLIC CAPITAL LETTER YI
+\setglyph{CYRYI}\topaccent{I}{dieresis}{500}\endsetglyph
+\cyrglyph{CYRYI}{}*
+
+% CYRILLIC CAPITAL LETTER JE
+\cyrglyph{CYRJE}{J}*
+
+% CYRILLIC CAPITAL LETTER LJE
+\cyrglyph{CYRLJE}{}*
+
+% CYRILLIC CAPITAL LETTER NJE
+\cyrglyph{CYRNJE}{}*
+
+% CYRILLIC CAPITAL LETTER TSHE
+\cyrglyph{CYRTSHE}{}*
+
+% CYRILLIC CAPITAL LETTER KJE
+\setglyph{CYRKJE}\topaccent{CYRK}{acute}{500}\endsetglyph
+\cyrglyph{CYRKJE}{}*
+
+% CYRILLIC CAPITAL LETTER SHORT U
+\setglyph{CYRUSHRT}\topaccent{CYRU}{cyrbreve}{500}\endsetglyph
+\cyrglyph{CYRUSHRT}{}*
+
+% CYRILLIC CAPITAL LETTER DZHE
+\cyrglyph{CYRDZHE}{}*
+
+% CYRILLIC CAPITAL LETTER A
+\cyrglyph{CYRA}{}*
+
+% CYRILLIC CAPITAL LETTER BE
+\cyrglyph{CYRB}{}*
+
+% CYRILLIC CAPITAL LETTER VE
+\cyrglyph{CYRV}{}*
+
+% CYRILLIC CAPITAL LETTER GHE
+\cyrglyph{CYRG}{}*
+
+% CYRILLIC CAPITAL LETTER DE
+\cyrglyph{CYRD}{}*
+
+% CYRILLIC CAPITAL LETTER IE
+\cyrglyph{CYRE}{}*
+
+% CYRILLIC CAPITAL LETTER ZHE
+\cyrglyph{CYRZH}{}*
+
+% CYRILLIC CAPITAL LETTER ZE
+\cyrglyph{CYRZ}{}*
+
+% CYRILLIC CAPITAL LETTER I
+\cyrglyph{CYRI}{}*
+
+% CYRILLIC CAPITAL LETTER SHORT I
+\cyrglyph{CYRISHRT}{}*
+
+% CYRILLIC CAPITAL LETTER KA
+\cyrglyph{CYRK}{}*
+
+% CYRILLIC CAPITAL LETTER EL
+\cyrglyph{CYRL}{}*
+
+% CYRILLIC CAPITAL LETTER EM
+\cyrglyph{CYRM}{}*
+
+% CYRILLIC CAPITAL LETTER EN
+\cyrglyph{CYRN}{}*
+
+% CYRILLIC CAPITAL LETTER O
+\cyrglyph{CYRO}{}*
+
+% CYRILLIC CAPITAL LETTER PE
+\cyrglyph{CYRP}{}*
+
+% CYRILLIC CAPITAL LETTER ER
+\cyrglyph{CYRR}{}*
+
+% CYRILLIC CAPITAL LETTER ES
+\cyrglyph{CYRS}{}*
+
+% CYRILLIC CAPITAL LETTER TE
+\cyrglyph{CYRT}{}*
+
+% CYRILLIC CAPITAL LETTER U
+\cyrglyph{CYRU}{}*
+
+% CYRILLIC CAPITAL LETTER EF
+\cyrglyph{CYRF}{}*
+
+% CYRILLIC CAPITAL LETTER HA
+\cyrglyph{CYRH}{}*
+
+% CYRILLIC CAPITAL LETTER TSE
+\cyrglyph{CYRC}{}*
+
+% CYRILLIC CAPITAL LETTER CHE
+\cyrglyph{CYRCH}{}*
+
+% CYRILLIC CAPITAL LETTER SHA
+\cyrglyph{CYRSH}{}*
+
+% CYRILLIC CAPITAL LETTER SHCHA
+\cyrglyph{CYRSHCH}{}*
+
+% CYRILLIC CAPITAL LETTER HARD SIGN
+\cyrglyph{CYRHRDSN}{}*
+
+% CYRILLIC CAPITAL LETTER YERU
+\cyrglyph{CYRERY}{}*
+
+% CYRILLIC CAPITAL LETTER SOFT SIGN
+\cyrglyph{CYRSFTSN}{}*
+
+% CYRILLIC CAPITAL LETTER E
+\cyrglyph{CYREREV}{}*
+
+% CYRILLIC CAPITAL LETTER YU
+\cyrglyph{CYRYU}{}*
+
+% CYRILLIC CAPITAL LETTER YA
+\cyrglyph{CYRYA}{}*
+
+% CYRILLIC SMALL LETTER A
+\cyrglyph{cyra}{}
+
+% CYRILLIC SMALL LETTER BE
+\cyrglyph{cyrb}{}
+
+% CYRILLIC SMALL LETTER VE
+\cyrglyph{cyrv}{}
+
+% CYRILLIC SMALL LETTER GHE
+\cyrglyph{cyrg}{}
+
+% CYRILLIC SMALL LETTER DE
+\cyrglyph{cyrd}{}
+
+% CYRILLIC SMALL LETTER IE
+\cyrglyph{cyre}{}
+
+% CYRILLIC SMALL LETTER ZHE
+\cyrglyph{cyrzh}{}
+
+% CYRILLIC SMALL LETTER ZE
+\cyrglyph{cyrz}{}
+
+% CYRILLIC SMALL LETTER I
+\cyrglyph{cyri}{}
+
+% CYRILLIC SMALL LETTER SHORT I
+\cyrglyph{cyrishrt}{}
+
+% CYRILLIC SMALL LETTER KA
+\cyrglyph{cyrk}{}
+
+% CYRILLIC SMALL LETTER EL
+\cyrglyph{cyrl}{}
+
+% CYRILLIC SMALL LETTER EM
+\cyrglyph{cyrm}{}
+
+% CYRILLIC SMALL LETTER EN
+\cyrglyph{cyrn}{}
+
+% CYRILLIC SMALL LETTER O
+\cyrglyph{cyro}{}
+
+% CYRILLIC SMALL LETTER PE
+\cyrglyph{cyrp}{}
+
+% CYRILLIC SMALL LETTER ER
+\cyrglyph{cyrr}{}
+
+% CYRILLIC SMALL LETTER ES
+\cyrglyph{cyrs}{}
+
+% CYRILLIC SMALL LETTER TE
+\cyrglyph{cyrt}{}
+
+% CYRILLIC SMALL LETTER U
+\cyrglyph{cyru}{}
+
+% CYRILLIC SMALL LETTER EF
+\cyrglyph{cyrf}{}
+
+% CYRILLIC SMALL LETTER HA
+\cyrglyph{cyrh}{}
+
+% CYRILLIC SMALL LETTER TSE
+\cyrglyph{cyrc}{}
+
+% CYRILLIC SMALL LETTER CHE
+\cyrglyph{cyrch}{}
+
+% CYRILLIC SMALL LETTER SHA
+\cyrglyph{cyrsh}{}
+
+% CYRILLIC SMALL LETTER SHCHA
+\cyrglyph{cyrshch}{}
+
+% CYRILLIC SMALL LETTER HARD SIGN
+\cyrglyph{cyrhrdsn}{}
+
+% CYRILLIC SMALL LETTER YERU
+\cyrglyph{cyrery}{}
+
+% CYRILLIC SMALL LETTER SOFT SIGN
+\cyrglyph{cyrsftsn}{}
+
+% CYRILLIC SMALL LETTER E
+\cyrglyph{cyrerev}{}
+
+% CYRILLIC SMALL LETTER YU
+\cyrglyph{cyryu}{}
+
+% CYRILLIC SMALL LETTER YA
+\cyrglyph{cyrya}{}
+
+% CYRILLIC SMALL LETTER IO
+\setglyph{cyryo}\topaccent{cyre}{dieresis}{500}\endsetglyph
+\cyrglyph{cyryo}{}
+
+% CYRILLIC SMALL LETTER DJE
+\cyrglyph{cyrdje}{}
+
+% CYRILLIC SMALL LETTER GJE
+\setglyph{cyrgje}\topaccent{cyrg}{acute}{500}\endsetglyph
+\cyrglyph{cyrgje}{}
+
+% CYRILLIC SMALL LETTER UKRAINIAN IE
+\cyrglyph{cyrie}{}
+
+% CYRILLIC SMALL LETTER DZE
+\cyrglyph{cyrdze}{s}
+
+% CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+\cyrglyph{cyrii}{i}
+
+% CYRILLIC SMALL LETTER YI
+\setglyph{cyryi}\topaccent{dotlessi}{dieresis}{500}\endsetglyph
+\cyrglyph{cyryi}{}
+
+% CYRILLIC SMALL LETTER JE
+\cyrglyph{cyrje}{j}
+
+% CYRILLIC SMALL LETTER LJE
+\cyrglyph{cyrlje}{}
+
+% CYRILLIC SMALL LETTER NJE
+\cyrglyph{cyrnje}{}
+
+% CYRILLIC SMALL LETTER TSHE
+\cyrglyph{cyrtshe}{}
+
+% CYRILLIC SMALL LETTER KJE
+\setglyph{cyrkje}\topaccent{cyrk}{acute}{500}\endsetglyph
+\cyrglyph{cyrkje}{}
+
+% CYRILLIC SMALL LETTER SHORT U
+\setglyph{cyrushrt}\topaccent{cyru}{cyrbreve}{500}\endsetglyph
+\cyrglyph{cyrushrt}{}
+
+% CYRILLIC SMALL LETTER DZHE
+\cyrglyph{cyrdzhe}{}
+
+% CYRILLIC CAPITAL LETTER YAT
+\cyrglyph{CYRYAT}{}*
+
+% CYRILLIC SMALL LETTER YAT
+\cyrglyph{cyryat}{}
+
+% CYRILLIC CAPITAL LETTER BIG YUS
+\cyrglyph{CYRBYUS}{}*
+
+% CYRILLIC SMALL LETTER BIG YUS
+\cyrglyph{cyrbyus}{}
+
+% CYRILLIC CAPITAL LETTER FITA
+\cyrglyph{CYRFITA}{CYROTLD}*
+
+% CYRILLIC SMALL LETTER FITA
+\cyrglyph{cyrfita}{cyrotld}
+
+% CYRILLIC CAPITAL LETTER BARRED O
+\cyrglyph{CYROTLD}{CYRFITA}*
+
+% CYRILLIC SMALL LETTER BARRED O
+\cyrglyph{cyrotld}{cyrfita}
+
+% CYRILLIC CAPITAL LETTER IZHITSA
+\cyrglyph{CYRIZH}{}*
+
+% CYRILLIC SMALL LETTER IZHITSA
+\cyrglyph{cyrizh}{}
+
+% CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+\cyrglyph{CYRGUP}{CYRG}*
+
+% CYRILLIC SMALL LETTER GHE WITH UPTURN
+\cyrglyph{cyrgup}{cyrg}
+
+% CYRILLIC CAPITAL LETTER GHE WITH STROKE
+\cyrglyph{CYRGHCRS}{}*
+
+% CYRILLIC SMALL LETTER GHE WITH STROKE
+\cyrglyph{cyrghcrs}{}
+
+% CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+\cyrglyph{CYRGHK}{}*
+
+% CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+\cyrglyph{cyrghk}{}
+
+% CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+\cyrglyph{CYRZHDSC}{}*
+
+% CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+\cyrglyph{cyrzhdsc}{}
+
+% CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+\setglyph{CYRZDSC}\botaccent{CYRZ}{cedilla}{500}\endsetglyph
+\cyrglyph{CYRZDSC}{}*
+
+% CYRILLIC SMALL LETTER ZE WITH DESCENDER
+\setglyph{cyrzdsc}\botaccent{cyrz}{cedilla}{500}\endsetglyph
+\cyrglyph{cyrzdsc}{}
+
+% CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+\cyrglyph{CYRKDSC}{}*
+
+% CYRILLIC SMALL LETTER KA WITH DESCENDER
+\cyrglyph{cyrkdsc}{}
+
+% CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+\cyrglyph{CYRKVCRS}{}*
+
+% CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+\cyrglyph{cyrkvcrs}{}
+
+% CYRILLIC CAPITAL LETTER KA WITH STROKE
+\cyrglyph{CYRKHCRS}{}*
+
+% CYRILLIC SMALL LETTER KA WITH STROKE
+\cyrglyph{cyrkhcrs}{}
+
+% CYRILLIC CAPITAL LETTER BASHKIR KA
+\cyrglyph{CYRKBEAK}{}*
+
+% CYRILLIC SMALL LETTER BASHKIR KA
+\cyrglyph{cyrkbeak}{}
+
+% CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+\cyrglyph{CYRNDSC}{}*
+
+% CYRILLIC SMALL LETTER EN WITH DESCENDER
+\cyrglyph{cyrndsc}{}
+
+% CYRILLIC CAPITAL LIGATURE EN GHE
+\cyrglyph{CYRNG}{}*
+
+% CYRILLIC SMALL LIGATURE EN GHE
+\cyrglyph{cyrng}{}
+
+% CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+\cyrglyph{CYRPHK}{}*
+
+% CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+\cyrglyph{cyrphk}{}
+
+% CYRILLIC CAPITAL LETTER ABKHASIAN HA
+\cyrglyph{CYRABHHA}{}*
+
+% CYRILLIC SMALL LETTER ABKHASIAN HA
+\cyrglyph{cyrabhha}{}
+
+% CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+\setglyph{CYRSDSC}\botaccent{CYRS}{cedilla}{500}\endsetglyph
+\cyrglyph{CYRSDSC}{}*
+
+% CYRILLIC SMALL LETTER ES WITH DESCENDER
+\setglyph{cyrsdsc}\botaccent{cyrs}{cedilla}{500}\endsetglyph
+\cyrglyph{cyrsdsc}{}
+
+% CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+\cyrglyph{CYRTDSC}{}*
+
+% CYRILLIC SMALL LETTER TE WITH DESCENDER
+\cyrglyph{cyrtdsc}{}
+
+% CYRILLIC CAPITAL LETTER STRAIGHT U
+\cyrglyph{CYRY}{}*
+
+% CYRILLIC SMALL LETTER STRAIGHT U
+\cyrglyph{cyry}{}
+
+% CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+\cyrglyph{CYRYHCRS}{}*
+
+% CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+\cyrglyph{cyryhcrs}{}
+
+% CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+\cyrglyph{CYRHDSC}{}*
+
+% CYRILLIC SMALL LETTER HA WITH DESCENDER
+\cyrglyph{cyrhdsc}{}
+
+% CYRILLIC CAPITAL LIGATURE TE TSE
+\cyrglyph{CYRTETSE}{}*
+
+% CYRILLIC SMALL LIGATURE TE TSE
+\cyrglyph{cyrtetse}{}
+
+% CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+\cyrglyph{CYRCHRDSC}{}*
+
+% CYRILLIC SMALL LETTER CHE WITH DESCENDER
+\cyrglyph{cyrchrdsc}{}
+
+% CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+\cyrglyph{CYRCHVCRS}{}*
+
+% CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+\cyrglyph{cyrchvcrs}{}
+
+% CYRILLIC CAPITAL LETTER SHHA
+\cyrglyph{CYRSHHA}{}*
+
+% CYRILLIC SMALL LETTER SHHA
+\cyrglyph{cyrshha}{}
+
+% CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+\cyrglyph{CYRABHCH}{}*
+
+% CYRILLIC SMALL LETTER ABKHASIAN CHE
+\cyrglyph{cyrabhch}{}
+
+% CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+\cyrglyph{CYRABHCHDSC}{}*
+
+% CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+\cyrglyph{cyrabhchdsc}{}
+
+% CYRILLIC LETTER PALOCHKA
+\cyrglyph{CYRpalochka}{I}
+
+% CYRILLIC CAPITAL LETTER KA WITH HOOK
+\cyrglyph{CYRKHK}{}*
+
+% CYRILLIC SMALL LETTER KA WITH HOOK
+\cyrglyph{cyrkhk}{}
+
+% CYRILLIC CAPITAL LETTER EN WITH HOOK
+\cyrglyph{CYRNHK}{}*
+
+% CYRILLIC SMALL LETTER EN WITH HOOK
+\cyrglyph{cyrnhk}{}
+
+% CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+\cyrglyph{CYRCHLDSC}{}*
+
+% CYRILLIC SMALL LETTER KHAKASSIAN CHE
+\cyrglyph{cyrchldsc}{}
+
+% CYRILLIC CAPITAL LIGATURE A IE
+\cyrglyph{CYRAE}{AE}*
+
+% CYRILLIC SMALL LIGATURE A IE
+\cyrglyph{cyrae}{ae}
+
+% CYRILLIC CAPITAL LETTER SCHWA
+\cyrglyph{CYRSCHWA}{}*
+
+% CYRILLIC SMALL LETTER SCHWA
+\cyrglyph{cyrschwa}{}
+
+% CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+\cyrglyph{CYRABHDZE}{}*
+
+% CYRILLIC SMALL LETTER ABKHASIAN DZE
+\cyrglyph{cyrabhdze}{}
+
+% CYRILLIC CAPITAL LETTER ER WITH HOOK
+\cyrglyph{CYRRHK}{}*
+
+% CYRILLIC SMALL LETTER ER WITH HOOK
+\cyrglyph{cyrrhk}{}
+
+% NUMERO SIGN
+\cyrglyph{numero}{}
+
+% LEFT-POINTING ANGLE BRACKET
+\cyrglyph{cyrlangle}{angleleft}
+
+% RIGHT-POINTING ANGLE BRACKET
+\cyrglyph{cyrrangle}{angleright}
+
+% CYRILLIC CAPITAL LETTER DELTA
+\cyrglyph{CYRDELTA}{}*
+
+% CYRILLIC CAPITAL LETTER EPSILON
+\cyrglyph{CYREPS}{}*
+
+% CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+\cyrglyph{CYRGDSC}{}*
+
+% CYRILLIC CAPITAL LETTER GHE WITH STROKE AND DESCENDER
+\cyrglyph{CYRGDSCHCRS}{}*
+
+% CYRILLIC CAPITAL LETTER HA WITH STROKE
+\cyrglyph{CYRHHCRS}{}*
+
+% CYRILLIC CAPITAL LETTER HA WITH HOOK
+\cyrglyph{CYRHHK}{}*
+
+% CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+\cyrglyph{CYRLDSC}{}*
+
+% CYRILLIC CAPITAL LETTER EL WITH HOOK
+\cyrglyph{CYRLHK}{}*
+
+% CYRILLIC CAPITAL LETTER EM WITH DESCENDER
+\cyrglyph{CYRMDSC}{}*
+
+% CYRILLIC CAPITAL LETTER EM WITH HOOK
+\cyrglyph{CYRMHK}{}*
+
+% CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
+\cyrglyph{CYRNLHK}{}*
+
+% CYRILLIC CAPITAL LETTER Q
+\cyrglyph{CYRQ}{Q}*
+
+% CYRILLIC CAPITAL LETTER ER WITH DESCENDER
+\cyrglyph{CYRRDSC}{}*
+
+% CYRILLIC CAPITAL LETTER ER WITH STROKE
+\cyrglyph{CYRRTICK}{}*
+
+% CYRILLIC CAPITAL LETTER ES WITH STROKE
+\cyrglyph{CYRSACRS}{}*
+
+% CYRILLIC CAPITAL LETTER W
+\cyrglyph{CYRW}{W}*
+
+% CYRILLIC SMALL LETTER DELTA
+\cyrglyph{cyrdelta}{}
+
+% CYRILLIC SMALL LETTER EPSILON
+\cyrglyph{cyreps}{}
+
+% CYRILLIC SMALL LETTER GHE WITH DESCENDER
+\cyrglyph{cyrgdsc}{}
+
+% CYRILLIC SMALL LETTER GHE WITH STROKE AND DESCENDER
+\cyrglyph{cyrgdschcrs}{}
+
+% CYRILLIC SMALL LETTER HA WITH STROKE
+\cyrglyph{cyrhhcrs}{}
+
+% CYRILLIC SMALL LETTER HA WITH HOOK
+\cyrglyph{cyrhhk}{}
+
+% CYRILLIC SMALL LETTER EL WITH DESCENDER
+\cyrglyph{cyrldsc}{}
+
+% CYRILLIC SMALL LETTER EL WITH HOOK
+\cyrglyph{cyrlhk}{}
+
+% CYRILLIC SMALL LETTER EM WITH DESCENDER
+\cyrglyph{cyrmdsc}{}
+
+% CYRILLIC SMALL LETTER EM WITH HOOK
+\cyrglyph{cyrmhk}{}
+
+% CYRILLIC SMALL LETTER EN WITH LEFT HOOK
+\cyrglyph{cyrnlhk}{}
+
+% CYRILLIC SMALL LETTER Q
+\cyrglyph{cyrq}{q}
+
+% CYRILLIC SMALL LETTER ER WITH DESCENDER
+\cyrglyph{cyrrdsc}{}
+
+% CYRILLIC SMALL LETTER ER WITH STROKE
+\cyrglyph{cyrrtick}{}
+
+% CYRILLIC SMALL LETTER ES WITH STROKE
+\cyrglyph{cyrsacrs}{}
+
+% CYRILLIC SMALL LETTER W
+\cyrglyph{cyrw}{w}
+
+% CYRILLIC EM DASH
+\setglyph{cyrdash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \glyph{hyphen}{1000}
+ \else
+ \glyph{emdash}{1000}
+ \fi
+\endsetglyph
+
+% CYRILLIC SMALL LETTER GHE VARIANT
+\cyrglyph{cyrvarg}{}
+
+% CYRILLIC SMALL LETTER BE VARIANT
+\cyrglyph{cyrvarb}{}
+
+% CYRILLIC SMALL LETTER DE VARIANT
+\cyrglyph{cyrvard}{}
+
+% CYRILLIC SMALL LETTER PE VARIANT
+\cyrglyph{cyrvarp}{}
+
+% CYRILLIC SMALL LETTER TE VARIANT
+\cyrglyph{cyrvart}{}
+
+% monotype-only variant glyphs
+
+% CYRILLIC CAPITAL LETTER ZHE BULGARIAN
+\cyrglyph{CYRZHBULG}{}*
+
+% CYRILLIC SMALL LETTER ZHE BULGARIAN
+\cyrglyph{cyrzhbulg}{}
+
+% CYRILLIC SMALL LETTER EF VARIANT
+\cyrglyph{cyrvarf}{}
+
+% CYRILLIC SMALL LETTER EM VARIANT
+\cyrglyph{cyrvarm}{}
+
+% CYRILLIC SMALL LETTER ZHE VARIANT
+\cyrglyph{cyrvarzh}{}
+
+% CYRILLIC SMALL LETTER VE VARIANT
+\cyrglyph{cyrvarv}{}
+
+% CYRILLIC SMALL LETTER TSE VARIANT
+\cyrglyph{cyrvarc}{}
+
+\endmetrics
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcyc.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyc.etx
new file mode 100644
index 0000000000..62a85186c9
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyc.etx
@@ -0,0 +1,47 @@
+\relax
+
+% LCYc.etx -- install an LCY-encoded faked small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default LCY.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\setcommand\currency{dollar}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{0}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\else
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\fi
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcyci.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyci.etx
new file mode 100644
index 0000000000..9679f33bb7
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyci.etx
@@ -0,0 +1,47 @@
+\relax
+
+% LCYci.etx -- install an LCY-encoded faked italic small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default LCY.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\setcommand\currency{sterling}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{0}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\else
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\fi
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcycij.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcycij.etx
new file mode 100644
index 0000000000..2d4e2e2a6a
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcycij.etx
@@ -0,0 +1,48 @@
+\relax
+
+% LCYcij.etx -- install an LCY-encoded faked italic small-caps
+% & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default LCY.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+\setcommand\currency{sterling}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{0}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\else
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\fi
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcycj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcycj.etx
new file mode 100644
index 0000000000..853fe71833
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcycj.etx
@@ -0,0 +1,47 @@
+\relax
+
+% LCYcj.etx -- install an LCY-encoded faked small-caps & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default LCY.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+\setcommand\currency{dollar}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{0}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\else
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\fi
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcyctt.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyctt.etx
new file mode 100644
index 0000000000..d20f92a636
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyctt.etx
@@ -0,0 +1,48 @@
+\relax
+
+% LCYctt.etx -- install an LCY-encoded faked typewriter small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default LCY.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\setcommand\tty{y}
+\setcommand\currency{dollar}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsspacing}
+ {\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}
+\else
+ \setint{smallcapsspacing}{100}
+\fi
+
+\setglyph{everyglyph}
+ \movert{\div{\int{smallcapsspacing}}{2}}
+\endsetglyph
+
+\setglyph{everyendglyph}
+ \movert{\div{\int{smallcapsspacing}}{2}}
+\endsetglyph
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcyi.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyi.etx
new file mode 100644
index 0000000000..d591b32b01
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyi.etx
@@ -0,0 +1,19 @@
+\relax
+
+% LCYi.etx -- install an LCY-encoded italic font
+%
+% We _do_ need to distinguish between upright and italic in LCY,
+% because of `sterling' and `dollar' sharing the same slot.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\setcommand\currency{sterling}
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcyij.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyij.etx
new file mode 100644
index 0000000000..b501311133
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyij.etx
@@ -0,0 +1,19 @@
+\relax
+
+% LCYij.etx -- install an LCY-encoded italic font with oldstyle digits
+%
+% We _do_ need to distinguish between upright and italic in LCY,
+% because of `sterling' and `dollar' sharing the same slot.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+\setcommand\currency{sterling}
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcyitt.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyitt.etx
new file mode 100644
index 0000000000..bd16d5125b
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyitt.etx
@@ -0,0 +1,20 @@
+\relax
+
+% LCYitt.etx -- install an LCY-encoded italic typewriter font
+%
+% We _do_ need to distinguish between upright and italic in LCY,
+% because of `sterling' and `dollar' sharing the same slot.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\setcommand\tty{y}
+\setcommand\currency{sterling}
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcyj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyj.etx
new file mode 100644
index 0000000000..f20187b3b2
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcyj.etx
@@ -0,0 +1,19 @@
+\relax
+
+% LCYj.etx -- install an LCY-encoded upright font with oldstyle digits
+%
+% We _do_ need to distinguish between upright and italic in LCY,
+% because of `sterling' and `dollar' sharing the same slot.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+\setcommand\currency{dollar}
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/lcytt.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/lcytt.etx
new file mode 100644
index 0000000000..4b476fb3d4
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/lcytt.etx
@@ -0,0 +1,20 @@
+\relax
+
+% LCYtt.etx -- install an LCY-encoded typewriter font
+%
+% We _do_ need to distinguish between upright and italic in LCY,
+% because of `sterling' and `dollar' sharing the same slot.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\setcommand\tty{y}
+\setcommand\currency{dollar}
+
+\inputetx{LCY}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/ot2c.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2c.etx
new file mode 100644
index 0000000000..7b18d90746
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2c.etx
@@ -0,0 +1,46 @@
+\relax
+
+% OT2c.etx -- install a OT2-encoded faked small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default OT2.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{0}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\else
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\fi
+
+\inputetx{OT2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/ot2cj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2cj.etx
new file mode 100644
index 0000000000..9f0d9a38b6
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2cj.etx
@@ -0,0 +1,46 @@
+\relax
+
+% OT2cj.etx -- install a OT2-encoded faked small-caps & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default OT2.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{0}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\else
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\fi
+
+\inputetx{OT2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/ot2i.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2i.etx
new file mode 100644
index 0000000000..8473e9a767
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2i.etx
@@ -0,0 +1,18 @@
+\relax
+
+% OT2i.etx -- install a OT2-encoded italic font
+%
+% We do not need to distinguish between upright and italic in OT2,
+% hence we simply call OT2.etx with default parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\inputetx{OT2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/ot2ij.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2ij.etx
new file mode 100644
index 0000000000..a635ea1cfe
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2ij.etx
@@ -0,0 +1,20 @@
+\relax
+
+% OT2ij.etx -- install a OT2-encoded italic font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in OT2,
+% hence we simply call OT2.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{OT2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/ot2j.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2j.etx
new file mode 100644
index 0000000000..bf5793c26a
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/ot2j.etx
@@ -0,0 +1,20 @@
+\relax
+
+% OT2j.etx -- install a OT2-encoded upright font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in OT2,
+% hence we simply call OT2.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{OT2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2ac.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ac.etx
new file mode 100644
index 0000000000..89940040f0
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ac.etx
@@ -0,0 +1,46 @@
+\relax
+
+% T2Ac.etx -- install a T2A-encoded faked small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default T2A.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{T2A}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2acj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2acj.etx
new file mode 100644
index 0000000000..f5964e92e2
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2acj.etx
@@ -0,0 +1,46 @@
+\relax
+
+% T2Acj.etx -- install a T2A-encoded faked small-caps & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default T2A.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1oldstyle}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{T2A}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2ai.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ai.etx
new file mode 100644
index 0000000000..f615e2ebf2
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ai.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Ai.etx -- install a T2A-encoded italic font
+%
+% We do not need to distinguish between upright and italic in T2A,
+% hence we simply call T2A.etx with default parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\inputetx{T2A}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2aij.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2aij.etx
new file mode 100644
index 0000000000..aff193d942
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2aij.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Aij.etx -- install a T2A-encoded italic font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in T2A,
+% hence we simply call T2A.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{T2A}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2aj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2aj.etx
new file mode 100644
index 0000000000..67d5813bc4
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2aj.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Aj.etx -- install a T2A-encoded upright font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in T2A,
+% hence we simply call T2A.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{T2A}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2bc.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bc.etx
new file mode 100644
index 0000000000..6e48e3eadb
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bc.etx
@@ -0,0 +1,46 @@
+\relax
+
+% T2Bc.etx -- install a T2B-encoded faked small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default T2B.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{T2B}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2bcj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bcj.etx
new file mode 100644
index 0000000000..c9a0cbba82
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bcj.etx
@@ -0,0 +1,46 @@
+\relax
+
+% T2Bcj.etx -- install a T2B-encoded faked small-caps & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default T2B.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1oldstyle}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{T2B}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2bi.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bi.etx
new file mode 100644
index 0000000000..27f2f3fc9a
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bi.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Bi.etx -- install a T2B-encoded italic font
+%
+% We do not need to distinguish between upright and italic in T2B,
+% hence we simply call T2B.etx with default parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\inputetx{T2B}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2bij.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bij.etx
new file mode 100644
index 0000000000..d6bf83fd55
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bij.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Bij.etx -- install a T2B-encoded italic font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in T2B,
+% hence we simply call T2B.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{T2B}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2bj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bj.etx
new file mode 100644
index 0000000000..0a242585eb
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2bj.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Bj.etx -- install a T2B-encoded upright font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in T2B,
+% hence we simply call T2B.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{T2B}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2cc.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2cc.etx
new file mode 100644
index 0000000000..92ec06376d
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2cc.etx
@@ -0,0 +1,46 @@
+\relax
+
+% T2Cc.etx -- install a T2C-encoded faked small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default T2C.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{T2C}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2ccj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ccj.etx
new file mode 100644
index 0000000000..9519294030
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ccj.etx
@@ -0,0 +1,46 @@
+\relax
+
+% T2Ccj.etx -- install a T2C-encoded faked small-caps & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default T2C.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1oldstyle}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{T2C}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2ci.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ci.etx
new file mode 100644
index 0000000000..323d6db833
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2ci.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Ci.etx -- install a T2C-encoded italic font
+%
+% We do not need to distinguish between upright and italic in T2C,
+% hence we simply call T2C.etx with default parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\inputetx{T2C}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2cij.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2cij.etx
new file mode 100644
index 0000000000..050ff110f0
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2cij.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Cij.etx -- install a T2C-encoded italic font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in T2C,
+% hence we simply call T2C.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{T2C}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/t2cj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/t2cj.etx
new file mode 100644
index 0000000000..5c8955a658
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/t2cj.etx
@@ -0,0 +1,20 @@
+\relax
+
+% T2Cj.etx -- install a T2C-encoded upright font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in T2C,
+% hence we simply call T2C.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{T2C}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/x2c.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/x2c.etx
new file mode 100644
index 0000000000..1ee9145017
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/x2c.etx
@@ -0,0 +1,46 @@
+\relax
+
+% X2c.etx -- install a X2-encoded faked small-caps font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default X2.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{X2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/x2cj.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/x2cj.etx
new file mode 100644
index 0000000000..fa88c0b71e
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/x2cj.etx
@@ -0,0 +1,46 @@
+\relax
+
+% X2cj.etx -- install a X2-encoded faked small-caps & oldstyle font
+%
+% This is used exclusively to install faked small-caps fonts;
+% real small caps fonts are installed using the default X2.etx.
+
+\encoding
+
+\setcommand\lc#1#2{#1small}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#1small}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#1small}
+\setcommand\uclig#1#2{#1spaced}
+\setcommand\digit#1{#1oldstyle}
+
+% The default letter spacing is 1/10 of the design size, with small
+% caps 80% the size of large caps.
+
+\setint{smallcapsscale}{800}
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\div{\scale{\int{interword}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
+ \setint{smallcapsspacing}{0}
+\else
+ \setint{smallcapsextraspace}{50}
+ \setint{smallcapsspacing}{50}
+\fi
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\fi
+
+\inputetx{X2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/x2i.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/x2i.etx
new file mode 100644
index 0000000000..e85eab9769
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/x2i.etx
@@ -0,0 +1,20 @@
+\relax
+
+% X2i.etx -- install a X2-encoded italic font
+%
+% We do not need to distinguish between upright and italic in X2,
+% hence we simply call X2.etx with default parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\inputetx{X2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/x2ij.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/x2ij.etx
new file mode 100644
index 0000000000..06e8caa0fc
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/x2ij.etx
@@ -0,0 +1,20 @@
+\relax
+
+% X2ij.etx -- install a X2-encoded italic font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in X2,
+% hence we simply call X2.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{X2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/derivatives/x2j.etx b/macros/latex/contrib/t2/cyrfinst/derivatives/x2j.etx
new file mode 100644
index 0000000000..00ece78d31
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/derivatives/x2j.etx
@@ -0,0 +1,20 @@
+\relax
+
+% X2j.etx -- install a X2-encoded upright font with oldstyle digits
+%
+% We do not need to distinguish between upright and italic in X2,
+% hence we simply call X2.etx with oldstyle parameters.
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1oldstyle}
+
+\inputetx{X2}
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/etc/alias-cmc.tex b/macros/latex/contrib/t2/cyrfinst/etc/alias-cmc.tex
new file mode 100644
index 0000000000..656cff9ea7
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/etc/alias-cmc.tex
@@ -0,0 +1,70 @@
+% aliases for type1 paradissa cyrillic fonts (obsolete)
+\galias{guillemotleft}{cmc-AE}
+\galias{guillemotright}{cmc-OE}
+\galias{CYRYO}{cmc-questiondown,cmc-greater}
+\galias{CYRA}{cmc-a}
+\galias{CYRB}{cmc-b}
+\galias{CYRV}{cmc-w}
+\galias{CYRG}{cmc-g}
+\galias{CYRD}{cmc-d}
+\galias{CYRE}{cmc-e}
+\galias{CYRZH}{cmc-v}
+\galias{CYRZ}{cmc-z}
+\galias{CYRI}{cmc-i}
+\galias{CYRISHRT}{cmc-j}
+\galias{CYRK}{cmc-k}
+\galias{CYRL}{cmc-l}
+\galias{CYRM}{cmc-m}
+\galias{CYRN}{cmc-n}
+\galias{CYRO}{cmc-o}
+\galias{CYRP}{cmc-p}
+\galias{CYRR}{cmc-r}
+\galias{CYRS}{cmc-s}
+\galias{CYRT}{cmc-t}
+\galias{CYRU}{cmc-u}
+\galias{CYRF}{cmc-f}
+\galias{CYRH}{cmc-h}
+\galias{CYRC}{cmc-c}
+\galias{CYRCH}{cmc-tilde,cmc-asciitilde}
+\galias{CYRSH}{cmc-endash,cmc-braceleft}
+\galias{CYRSHCH}{cmc-hungarumlaut,cmc-braceright}
+\galias{CYRHRDSN}{cmc-dieresis}
+\galias{CYRERY}{cmc-y}
+\galias{CYRSFTSN}{cmc-x}
+\galias{CYREREV}{cmc-emdash,cmc-bar}
+\galias{CYRYU}{cmc-quoteleft}
+\galias{CYRYA}{cmc-q}
+\galias{cyra}{cmc-A}
+\galias{cyrb}{cmc-B}
+\galias{cyrv}{cmc-W}
+\galias{cyrg}{cmc-G}
+\galias{cyrd}{cmc-D}
+\galias{cyre}{cmc-E}
+\galias{cyrzh}{cmc-V}
+\galias{cyrz}{cmc-Z}
+\galias{cyri}{cmc-I}
+\galias{cyrishrt}{cmc-J}
+\galias{cyrk}{cmc-K}
+\galias{cyrl}{cmc-L}
+\galias{cyrm}{cmc-M}
+\galias{cyrn}{cmc-N}
+\galias{cyro}{cmc-O}
+\galias{cyrp}{cmc-P}
+\galias{cyrr}{cmc-R}
+\galias{cyrs}{cmc-S}
+\galias{cyrt}{cmc-T}
+\galias{cyru}{cmc-U}
+\galias{cyrf}{cmc-F}
+\galias{cyrh}{cmc-H}
+\galias{cyrc}{cmc-C}
+\galias{cyrch}{cmc-circumflex,cmc-asciicircum}
+\galias{cyrsh}{cmc-bracketleft}
+\galias{cyrshch}{cmc-bracketright}
+\galias{cyrhrdsn}{cmc-dotaccent,cmc-underscore}
+\galias{cyrery}{cmc-Y}
+\galias{cyrsftsn}{cmc-X}
+\galias{cyrerev}{cmc-quotedblleft,cmc-backslash}
+\galias{cyryu}{cmc-at}
+\galias{cyrya}{cmc-Q}
+\galias{cyryo}{cmc-exclamdown}
+\galias{numero}{cmc-germandbls}
diff --git a/macros/latex/contrib/t2/cyrfinst/etc/alias-wncy.tex b/macros/latex/contrib/t2/cyrfinst/etc/alias-wncy.tex
new file mode 100644
index 0000000000..fca40602bb
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/etc/alias-wncy.tex
@@ -0,0 +1,94 @@
+% aliases for type1 AMS CM cyrillic fonts
+% (not needed as metrics should be taken from TFM files)
+\galias{CYRYO}{wncy-Yo}
+\galias{CYRDJE}{wncy-Dj}
+\galias{CYRIE}{wncy-Ye}
+\galias{CYRDZE}{wncy-Zelo}
+\galias{CYRII}{wncy-Iroman}
+\galias{CYRJE}{wncy-J}
+\galias{CYRLJE}{wncy-Lj}
+\galias{CYRNJE}{wncy-Nj}
+\galias{CYRTSHE}{wncy-Tsoft}
+\galias{CYRDZHE}{wncy-Dzh}
+\galias{CYRA}{wncy-A}
+\galias{CYRB}{wncy-B}
+\galias{CYRV}{wncy-V}
+\galias{CYRG}{wncy-G}
+\galias{CYRD}{wncy-D}
+\galias{CYRE}{wncy-E}
+\galias{CYRZH}{wncy-Zhe}
+\galias{CYRZ}{wncy-Z}
+\galias{CYRI}{wncy-I}
+\galias{CYRISHRT}{wncy-Ishort}
+\galias{CYRK}{wncy-K}
+\galias{CYRL}{wncy-L}
+\galias{CYRM}{wncy-M}
+\galias{CYRN}{wncy-N}
+\galias{CYRO}{wncy-O}
+\galias{CYRP}{wncy-P}
+\galias{CYRR}{wncy-R}
+\galias{CYRS}{wncy-S}
+\galias{CYRT}{wncy-T}
+\galias{CYRU}{wncy-U}
+\galias{CYRF}{wncy-F}
+\galias{CYRH}{wncy-H}
+\galias{CYRC}{wncy-C}
+\galias{CYRCH}{wncy-Q}
+\galias{CYRSH}{wncy-X}
+\galias{CYRSHCH}{wncy-W}
+\galias{CYRHRDSN}{wncy-Hard}
+\galias{CYRERY}{wncy-Y}
+\galias{CYRSFTSN}{wncy-Soft}
+\galias{CYREREV}{wncy-Ze}
+\galias{CYRYU}{wncy-Yu}
+\galias{CYRYA}{wncy-Ya}
+\galias{cyra}{wncy-a}
+\galias{cyrb}{wncy-b}
+\galias{cyrv}{wncy-v}
+\galias{cyrg}{wncy-g}
+\galias{cyrd}{wncy-d}
+\galias{cyre}{wncy-e}
+\galias{cyrzh}{wncy-zhe}
+\galias{cyrz}{wncy-z}
+\galias{cyri}{wncy-i}
+\galias{cyrishrt}{wncy-ishort}
+\galias{cyrk}{wncy-k}
+\galias{cyrl}{wncy-l}
+\galias{cyrm}{wncy-m}
+\galias{cyrn}{wncy-n}
+\galias{cyro}{wncy-o}
+\galias{cyrp}{wncy-p}
+\galias{cyrr}{wncy-r}
+\galias{cyrs}{wncy-s}
+\galias{cyrt}{wncy-t}
+\galias{cyru}{wncy-u}
+\galias{cyrf}{wncy-f}
+\galias{cyrh}{wncy-h}
+\galias{cyrc}{wncy-c}
+\galias{cyrch}{wncy-q}
+\galias{cyrsh}{wncy-x}
+\galias{cyrshch}{wncy-w}
+\galias{cyrhrdsn}{wncy-hard}
+\galias{cyrery}{wncy-y}
+\galias{cyrsftsn}{wncy-soft}
+\galias{cyrerev}{wncy-ze}
+\galias{cyryu}{wncy-yu}
+\galias{cyrya}{wncy-ya}
+\galias{cyryo}{wncy-yo}
+\galias{cyrdje}{wncy-dj}
+\galias{cyrie}{wncy-ye}
+\galias{cyrdze}{wncy-zelo}
+\galias{cyrii}{wncy-iroman}
+\galias{cyrje}{wncy-j}
+\galias{cyrlje}{wncy-lj}
+\galias{cyrnje}{wncy-nj}
+\galias{cyrtshe}{wncy-tsoft}
+\galias{cyrdzhe}{wncy-dzh}
+\galias{CYRYAT}{wncy-Yatz}
+\galias{cyryat}{wncy-yatz}
+\galias{CYRFITA}{wncy-Fita}
+\galias{cyrfita}{wncy-fita}
+\galias{CYRIZH}{wncy-Izhitsa}
+\galias{cyrizh}{wncy-izhitsa}
+\galias{numero}{wncy-number}
+\galias{cyrbreve}{wncy-breve1}
diff --git a/macros/latex/contrib/t2/cyrfinst/etc/cyralias.tex b/macros/latex/contrib/t2/cyrfinst/etc/cyralias.tex
new file mode 100644
index 0000000000..611b695f58
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/etc/cyralias.tex
@@ -0,0 +1,223 @@
+% aliases for type1 cyrillic fonts: adobe, urw, monotype
+\galias{bar}{mt-vertical}
+\galias{guilsinglleft}{quilsinglleft}
+\galias{guilsinglright}{quilsinglright}
+\galias{CYRYO}{afii10023,urw-cyrYEdieresis,mt-Jehstdieresis}
+\galias{CYRDJE}{afii10051,urw-cyrTY,mt-Djsche}
+\galias{CYRGJE}{afii10052,urw-cyrGacute,mt-Glagolmac}
+\galias{CYRIE}{afii10053,urw-cyrsovYE,mt-Ye}
+\galias{CYRDZE}{afii10054,urw-cyrDZ,mt-Zelo}
+\galias{CYRII}{afii10055,urw-cyrsovI,mt-I}
+\galias{CYRYI}{afii10056,urw-cyrsovIdieresis,mt-Idieresis}
+\galias{CYRJE}{afii10057,urw-cyrJ,mt-Je}
+\galias{CYRLJE}{afii10058,urw-cyrLY,mt-Elj}
+\galias{CYRNJE}{afii10059,urw-cyrNY,mt-Nj}
+\galias{CYRTSHE}{afii10060,urw-cyrDY,mt-Tjsche}
+\galias{CYRKJE}{afii10061,urw-cyrKacute,mt-Kakoacute}
+\galias{CYRUSHRT}{afii10062,urw-cyrUbreve,mt-Ubreve}
+\galias{CYRDZHE}{afii10145,urw-cyrDZH,mt-Dsche}
+\galias{CYRA}{afii10017,urw-cyrA,mt-As}
+\galias{CYRB}{afii10018,urw-cyrB,mt-Buki}
+\galias{CYRV}{afii10019,urw-cyrV,mt-Wjedi}
+\galias{CYRG}{afii10020,urw-cyrG,mt-Glagol}
+\galias{CYRD}{afii10021,urw-cyrD,mt-Dobro}
+\galias{CYRE}{afii10022,urw-cyrYE,mt-Jehst}
+\galias{CYRZH}{afii10024,urw-cyrZH,mt-Schiwete}
+\galias{CYRZ}{afii10025,urw-cyrZ,mt-Semlja}
+\galias{CYRI}{afii10026,urw-cyrI,mt-Ische}
+\galias{CYRISHRT}{afii10027,urw-cyrIbreve,mt-Ischedipthong}
+\galias{CYRK}{afii10028,urw-cyrK,mt-Kako}
+\galias{CYRL}{afii10029,urw-cyrL,mt-Ljudi}
+\galias{CYRM}{afii10030,urw-cyrM,mt-Muislete}
+\galias{CYRN}{afii10031,urw-cyrN,mt-Nasche}
+\galias{CYRO}{afii10032,urw-cyrO,mt-On}
+\galias{CYRP}{afii10033,urw-cyrP,mt-Pakoy}
+\galias{CYRR}{afii10034,urw-cyrR,mt-Rzui}
+\galias{CYRS}{afii10035,urw-cyrS,mt-Ssiowo}
+\galias{CYRT}{afii10036,urw-cyrT,mt-Twerdo}
+\galias{CYRU}{afii10037,urw-cyrU,mt-U}
+\galias{CYRF}{afii10038,urw-cyrF,mt-Fert}
+\galias{CYRH}{afii10039,urw-cyrKH,mt-Chherr}
+\galias{CYRC}{afii10040,urw-cyrTS,mt-Zui}
+\galias{CYRCH}{afii10041,urw-cyrCH,mt-Tscherw}
+\galias{CYRSH}{afii10042,urw-cyrSH,mt-Scha}
+\galias{CYRSHCH}{afii10043,urw-cyrSHCH,mt-Schtscha}
+\galias{CYRHRDSN}{afii10044,urw-cyrHARDsign,mt-Jerr}
+\galias{CYRERY}{afii10045,urw-cyrYERU,mt-Jerui}
+\galias{CYRSFTSN}{afii10046,urw-cyrSOFTsign,mt-Jher}
+\galias{CYREREV}{afii10047,urw-cyrE,mt-E}
+\galias{CYRYU}{afii10048,urw-cyrYU,mt-Ju}
+\galias{CYRYA}{afii10049,urw-cyrYA,mt-Ja}
+\galias{cyra}{afii10065,urw-cyra,mt-as}
+\galias{cyrb}{afii10066,urw-cyrb,mt-buki}
+\galias{cyrv}{afii10067,urw-cyrv,mt-wjedi}
+\galias{cyrg}{afii10068,urw-cyrg,mt-glagol}
+\galias{cyrd}{afii10069,urw-cyrd,mt-dobro}
+\galias{cyre}{afii10070,urw-cyrye,mt-jehst}
+\galias{cyrzh}{afii10072,urw-cyrzh,mt-schiwete}
+\galias{cyrz}{afii10073,urw-cyrz,mt-semlja}
+\galias{cyri}{afii10074,urw-cyri,mt-ische}
+\galias{cyrishrt}{afii10075,urw-cyribreve,mt-ischedipthong}
+\galias{cyrk}{afii10076,urw-cyrk,mt-kako}
+\galias{cyrl}{afii10077,urw-cyrl,mt-ljudi}
+\galias{cyrm}{afii10078,urw-cyrm,mt-muislette}
+\galias{cyrn}{afii10079,urw-cyrn,mt-nasch}
+\galias{cyro}{afii10080,urw-cyro,mt-on}
+\galias{cyrp}{afii10081,urw-cyrp,mt-pakoy}
+\galias{cyrr}{afii10082,urw-cyrr,mt-rzui}
+\galias{cyrs}{afii10083,urw-cyrs,mt-ssiowo}
+\galias{cyrt}{afii10084,urw-cyrt,mt-twerdo}
+\galias{cyru}{afii10085,urw-cyru,mt-u}
+\galias{cyrf}{afii10086,urw-cyrf,mt-fert}
+\galias{cyrh}{afii10087,urw-cyrkh,mt-chherr}
+\galias{cyrc}{afii10088,urw-cyrts,mt-zui}
+\galias{cyrch}{afii10089,urw-cyrch,mt-tscherw}
+\galias{cyrsh}{afii10090,urw-cyrsh,mt-scha}
+\galias{cyrshch}{afii10091,urw-cyrshch,mt-schtscha}
+\galias{cyrhrdsn}{afii10092,urw-cyrhardsign,mt-jerr}
+\galias{cyrery}{afii10093,urw-cyryeru,mt-jerui}
+\galias{cyrsftsn}{afii10094,urw-cyrsoftsign,mt-jher}
+\galias{cyrerev}{afii10095,urw-cyre,mt-e}
+\galias{cyryu}{afii10096,urw-cyryu,mt-ju}
+\galias{cyrya}{afii10097,urw-cyrya,mt-ja}
+\galias{cyryo}{afii10071,urw-cyryedieresis,mt-jehstdieresis}
+\galias{cyrdje}{afii10099,urw-cyrty,mt-djsche}
+\galias{cyrgje}{afii10100,urw-cyrgacute,mt-glagolmac}
+\galias{cyrie}{afii10101,urw-cyrsovye,mt-ye}
+\galias{cyrdze}{afii10102,urw-cyrdz,mt-zelo}
+\galias{cyrii}{afii10103,urw-cyrsovi,mt-i}
+\galias{cyryi}{afii10104,urw-cyrsovidieresis,mt-idieresis}
+\galias{cyrje}{afii10105,urw-cyrj,mt-je}
+\galias{cyrlje}{afii10106,urw-cyrly,mt-elj}
+\galias{cyrnje}{afii10107,urw-cyrny,mt-nj}
+\galias{cyrtshe}{afii10108,urw-cyrdy,mt-tjsche}
+\galias{cyrkje}{afii10109,urw-cyrkacute,mt-kakoacute}
+\galias{cyrushrt}{afii10110,urw-cyrubreve,mt-ubreve}
+\galias{cyrdzhe}{afii10193,urw-cyrdzh,mt-dsche}
+\galias{CYRYAT}{afii10146,mt-Jat}
+\galias{cyryat}{afii10194,mt-jat}
+\galias{CYRFITA}{afii10147,mt-Fita}
+\galias{cyrfita}{afii10195,mt-fita}
+\galias{CYRIZH}{afii10148,mt-Jschiza}
+\galias{cyrizh}{afii10196,mt-jschiza}
+\galias{CYRGUP}{afii10050,urw-cyrsovG}
+\galias{cyrgup}{afii10098,urw-cyrsovg}
+\galias{cyrschwa}{afii10846}
+\galias{numero}{afii61352,urw-numero,mt-nosign}
+%\galias{cyrlangle}{angleleft}
+%\galias{cyrrangle}{angleright}
+\galias{cyrvarg}{afii10063,mt-glagolserb}
+\galias{cyrvarb}{afii10064,mt-bukiserb}
+\galias{cyrvard}{afii10192,mt-dobroserb}
+\galias{cyrvarp}{afii10831,mt-pakoyserb}
+\galias{cyrvart}{afii10832,mt-twerdoserb}
+\galias{CYRZHBULG}{mt-Schiwetebulg}
+\galias{cyrzhbulg}{mt-schiwetebulg}
+\galias{cyrvarf}{mt-fertserb}
+\galias{cyrvarm}{mt-muisletteserb}
+\galias{cyrvarzh}{mt-schiweteserb}
+\galias{cyrvarv}{mt-wjediserb}
+\galias{cyrvarc}{mt-zuiserb}
+
+% cyrillic acute vowel glyphs present in monotype fonts:
+\galias{CYRAacute}{mt-Asacute}
+\galias{CYREREVacute}{mt-Eacute}
+\galias{CYRIacute}{mt-Ischeacute}
+\galias{CYRYAacute}{mt-Jaacute}
+\galias{CYREacute}{mt-Jehstacute}
+\galias{CYRERYacute}{mt-Jeruiacute}
+\galias{CYRYUacute}{mt-Juacute}
+\galias{CYROacute}{mt-Onacute}
+\galias{CYRUacute}{mt-Uacute}
+\galias{CYRIEacute}{mt-Yeacute}
+\galias{cyraacute}{mt-asacute}
+\galias{cyrerevacute}{mt-eacute}
+\galias{cyriacute}{mt-ischeacute}
+\galias{cyryaacute}{mt-jaacute}
+\galias{cyreacute}{mt-jehstacute}
+\galias{cyreryacute}{mt-jeruiacute}
+\galias{cyryuacute}{mt-juacute}
+\galias{cyroacute}{mt-onacute}
+\galias{cyruacute}{mt-uacute}
+\galias{cyrieacute}{mt-yeacute}
+
+% ParaType Cyrillic Asian fonts (thanks to Anatoliy A. Malyarenko):
+\galias{CYRCHVCRS}{cyrCHverticalbar,par1-cyrCHvbar,par2-CyrTchBar}
+\galias{cyrchvcrs}{cyrchverticalbar,par1-cyrchvbar,par2-cyrTchBar}
+\galias{CYRGHCRS}{cyrGbar,par1-cyrGbar,par2-CyrGCross}
+\galias{cyrghcrs}{cyrgbar,par1-cyrgbar,par2-cyrGCross}
+\galias{CYRHDSC}{cyrKHrightdesc,par1-cyrKHtail,par2-CyrXMark}
+\galias{cyrhdsc}{cyrkhrightdesc,par1-cyrkhtail,par2-cyrXMark}
+\galias{CYRKBEAK}{cyrreversedGK,par1-cyrKarm,par2-CyrKBack}
+\galias{cyrkbeak}{cyrreversedgk,par1-cyrkarm,par2-cyrKBack}
+\galias{CYRKDSC}{cyrKrightdesc,par1-cyrKtail,par2-CyrKMark}
+\galias{cyrkdsc}{cyrkrightdesc,par1-cyrktail,par2-cyrKMark}
+\galias{CYRKVCRS}{cyrKverticalbar,par1-cyrKvbar,par2-CyrKBar}
+\galias{cyrkvcrs}{cyrkverticalbar,par1-cyrkvbar,par2-cyrKBar}
+\galias{CYRNDSC}{cyrNrightdesc,par1-cyrNtail,par2-CyrHMark}
+\galias{cyrndsc}{cyrnrightdesc,par1-cyrntail,par2-cyrHMark}
+\galias{CYROTLD}{cyrObar,par1-cyrOE,par2-cyrOE}
+\galias{cyrotld}{cyrobar,par1-cyroe,par2-cyroe}
+\galias{CYRSCHWA}{cyrinvE,par1-cyrINVE,par2-CyrUpDnECap}
+\galias{cyrschwa}{cyrinve,par1-cyrinve,par2-cyrUpDnE}
+\galias{CYRSDSC}{cyrCtail,par1-cyrCtail,par2-CTail}
+\galias{cyrsdsc}{cyrctail,par1-cyrctail,par2-cTail}
+\galias{CYRSHHA}{cyrH,par1-cyrH,par2-CyrHCap}
+\galias{cyrshha}{cyrh,par1-cyrh,par2-cyrHCap}
+\galias{CYRY}{cyrstraightU,par1-cyrUE,par2-CyrCloseY}
+\galias{cyry}{cyrstraightu,par1-cyrue,par2-cyrCloseY}
+\galias{CYRYHCRS}{cyrstraightUbar,par1-cyrUEbar,par2-CyrCloseYCross}
+\galias{cyryhcrs}{cyrstraightubar,par1-cyruebar,par2-cyrCloseYCross}
+\galias{CYRZDSC}{cyrZtail,par1-cyrZtail,par2-Cyr3Tail}
+\galias{cyrzdsc}{cyrztail,par1-cyrztail,par2-cyr3Tail}
+\galias{CYRZHDSC}{cyrZHrightdesc,par1-cyrZHtail,par2-CyrZhMark}
+\galias{cyrzhdsc}{cyrzhrightdesc,par1-cyrzhtail,par2-cyrZhMark}
+
+% ParaType's ITC New Baskerville Roman Expert SmallCaps Cyrillic:
+\galias{CYRGJEsmall}{afii10052s}
+\galias{CYRDJEsmall}{afii10051s}
+\galias{CYRLJEsmall}{afii10058s}
+\galias{CYRNJEsmall}{afii10059s}
+\galias{CYRKJEsmall}{afii10061s}
+\galias{CYRTSHEsmall}{afii10060s}
+\galias{CYRDZHEsmall}{afii10145s}
+\galias{CYRUSHRTsmall}{afii10062s}
+\galias{CYRIIsmall}{afii10055s}
+\galias{CYRGUPsmall}{afii10050s}
+\galias{CYRYOsmall}{afii10023s}
+\galias{CYRIEsmall}{afii10053s}
+\galias{CYRJEsmall}{afii10057s}
+\galias{CYRDZEsmall}{afii10054s}
+\galias{CYRYIsmall}{afii10056s}
+\galias{CYRAsmall}{afii10017s}
+\galias{CYRBsmall}{afii10018s}
+\galias{CYRVsmall}{afii10019s}
+\galias{CYRGsmall}{afii10020s}
+\galias{CYRDsmall}{afii10021s}
+\galias{CYREsmall}{afii10022s}
+\galias{CYRZHsmall}{afii10024s}
+\galias{CYRZsmall}{afii10025s}
+\galias{CYRIsmall}{afii10026s}
+\galias{CYRISHRTsmall}{afii10027s}
+\galias{CYRKsmall}{afii10028s}
+\galias{CYRLsmall}{afii10029s}
+\galias{CYRMsmall}{afii10030s}
+\galias{CYRNsmall}{afii10031s}
+\galias{CYROsmall}{afii10032s}
+\galias{CYRPsmall}{afii10033s}
+\galias{CYRRsmall}{afii10034s}
+\galias{CYRSsmall}{afii10035s}
+\galias{CYRTsmall}{afii10036s}
+\galias{CYRUsmall}{afii10037s}
+\galias{CYRFsmall}{afii10038s}
+\galias{CYRHsmall}{afii10039s}
+\galias{CYRCsmall}{afii10040s}
+\galias{CYRCHsmall}{afii10041s}
+\galias{CYRSHsmall}{afii10042s}
+\galias{CYRSHCHsmall}{afii10043s}
+\galias{CYRHRDSNsmall}{afii10044s}
+\galias{CYRERYsmall}{afii10045s}
+\galias{CYRSFTSNsmall}{afii10046s}
+\galias{CYREREVsmall}{afii10047s}
+\galias{CYRYUsmall}{afii10048s}
+\galias{CYRYAsmall}{afii10049s}
diff --git a/macros/latex/contrib/t2/cyrfinst/etc/fnstcorr.tex b/macros/latex/contrib/t2/cyrfinst/etc/fnstcorr.tex
new file mode 100644
index 0000000000..c49df3c04b
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/etc/fnstcorr.tex
@@ -0,0 +1,38 @@
+\needsfontinstversion{1.926}
+\fontinstcc
+
+\let\charnameprefix\empty
+\def\charnamealias#1{%
+ \@ifundefined{GN@\charnameprefix#1}%
+ {\@ifundefined{GN@#1}{#1}{\csname GN@#1\endcsname}}% was just {#1}
+ {\csname GN@\charnameprefix#1\endcsname}}
+\def\init_cc#1{%
+ \out_line{\string\setglyph{\charnamealias{#1}}}
+ \edef\char_name{\charnamealias{#1}}
+}
+\list_def{N}(#1){\edef\char_name{\charnamealias{#1}}}
+\afm_def{KP}(#1~#2~#3~#4){
+ \if\first_char#1=.\else
+ \if\first_char#2=.\else
+ \afm_length\a_count{#3}
+ \ifnum \a_count>\minimum_kern
+ \out_line{\string\setkern{\charnamealias{#1}}{\charnamealias{#2}}{\the\a_count}}
+ \else\ifnum \a_count<-\minimum_kern
+ \out_line{\string\setkern{\charnamealias{#1}}{\charnamealias{#2}}{\the\a_count}}
+ \fi\fi
+ \fi\fi
+}
+\afm_let{KPX}{KP}
+
+\def\galias#1#2{\def\temp@a{#1}%
+ \@for\temp@b:=#2\do{\expandafter\let\csname GN@\temp@b\endcsname\temp@a}}
+\def\aliasfonts#1#2#3{%
+ \def\charnameprefix{#1}%
+ \@for\temp@font:=#3\do
+ {\afmtomtx{#2\temp@font}{#2\temp@font}\mtxtopl{#2\temp@font}{#2\temp@font}}%
+ \let\charnameprefix\empty
+}
+
+\normalcc
+
+\endinput
diff --git a/macros/latex/contrib/t2/cyrfinst/etc/showenc b/macros/latex/contrib/t2/cyrfinst/etc/showenc
new file mode 100644
index 0000000000..ef0ca64104
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/etc/showenc
@@ -0,0 +1,18 @@
+#!/bin/sh
+# sample usage:
+# showenc T2A
+# showenc OT1 '\setint{monowidth}{1}'
+
+latex << EOF | perl -ne 'next if (!s/^SLOT: //); s,\n,\0,; $q.=$_;
+ END { $_=$q; s,\0\[LIG] ([^\0]*), L $1,g; s,\0,\n,g; print }'
+\input fontinst.sty
+\catcode\`\_=11
+$2
+\def\setint#1#2{}
+\def\setslot#1{\edef\slot_name{#1}\do_slot
+ \typeout{SLOT: \the\slot_number\space\slot_name\space;}}
+\def\ligature#1#2#3{\typeout{SLOT: [#1] #2 #3 ;}\vpl_ligature{#1}{#2}{#3}}
+\inputetx{$1}
+\bye
+EOF
+rm -f fontinst.log
diff --git a/macros/latex/contrib/t2/cyrfinst/lcy-hi.etx b/macros/latex/contrib/t2/cyrfinst/lcy-hi.etx
new file mode 100644
index 0000000000..3cc5a4772d
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/lcy-hi.etx
@@ -0,0 +1,347 @@
+\relax
+
+\encoding
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+
+\nextslot{"80}
+
+\setslot{\uc{CYRA}{cyra}}
+ \comment{Cyrillic capital letter a `\CYRA'.}
+\endsetslot
+
+\setslot{\uc{CYRB}{cyrb}}
+ \comment{Cyrillic capital letter be `\CYRB'.}
+\endsetslot
+
+\setslot{\uc{CYRV}{cyrv}}
+ \comment{Cyrillic capital letter ve `\CYRV'.}
+\endsetslot
+
+\setslot{\uc{CYRG}{cyrg}}
+ \comment{Cyrillic capital letter ghe `\CYRG'.}
+\endsetslot
+
+\setslot{\uc{CYRD}{cyrd}}
+ \comment{Cyrillic capital letter de `\CYRD'.}
+\endsetslot
+
+\setslot{\uc{CYRE}{cyre}}
+ \comment{Cyrillic capital letter ie `\CYRE'.}
+\endsetslot
+
+\setslot{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter zhe `\CYRZH'.}
+\endsetslot
+
+\setslot{\uc{CYRZ}{cyrz}}
+ \comment{Cyrillic capital letter ze `\CYRZ'.}
+\endsetslot
+
+\setslot{\uc{CYRI}{cyri}}
+ \comment{Cyrillic capital letter i `\CYRI'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic capital letter short i `\CYRISHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRK}{cyrk}}
+ \comment{Cyrillic capital letter ka `\CYRK'.}
+\endsetslot
+
+\setslot{\uc{CYRL}{cyrl}}
+ \comment{Cyrillic capital letter el `\CYRL'.}
+\endsetslot
+
+\setslot{\uc{CYRM}{cyrm}}
+ \comment{Cyrillic capital letter em `\CYRM'.}
+\endsetslot
+
+\setslot{\uc{CYRN}{cyrn}}
+ \comment{Cyrillic capital letter en `\CYRN'.}
+\endsetslot
+
+\setslot{\uc{CYRO}{cyro}}
+ \comment{Cyrillic capital letter o `\CYRO'.}
+\endsetslot
+
+\setslot{\uc{CYRP}{cyrp}}
+ \comment{Cyrillic capital letter pe `\CYRP'.}
+\endsetslot
+
+\setslot{\uc{CYRR}{cyrr}}
+ \comment{Cyrillic capital letter er `\CYRR'.}
+\endsetslot
+
+\setslot{\uc{CYRS}{cyrs}}
+ \comment{Cyrillic capital letter es `\CYRS'.}
+\endsetslot
+
+\setslot{\uc{CYRT}{cyrt}}
+ \comment{Cyrillic capital letter te `\CYRT'.}
+\endsetslot
+
+\setslot{\uc{CYRU}{cyru}}
+ \comment{Cyrillic capital letter u `\CYRU'.}
+\endsetslot
+
+\setslot{\uc{CYRF}{cyrf}}
+ \comment{Cyrillic capital letter ef `\CYRF'.}
+\endsetslot
+
+\setslot{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ha `\CYRH'.}
+\endsetslot
+
+\setslot{\uc{CYRC}{cyrc}}
+ \comment{Cyrillic capital letter tse `\CYRC'.}
+\endsetslot
+
+\setslot{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter che `\CYRCH'.}
+\endsetslot
+
+\setslot{\uc{CYRSH}{cyrsh}}
+ \comment{Cyrillic capital letter sha `\CYRSH'.}
+\endsetslot
+
+\setslot{\uc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic capital letter shcha `\CYRSHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.}
+\endsetslot
+
+\setslot{\uc{CYRERY}{cyrery}}
+ \comment{Cyrillic capital letter yeru `\CYRERY'.}
+\endsetslot
+
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYREREV}{cyrerev}}
+ \comment{Cyrillic capital letter e `\CYREREV'.}
+\endsetslot
+
+\setslot{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yu `\CYRYU'.}
+\endsetslot
+
+\setslot{\uc{CYRYA}{cyrya}}
+ \comment{Cyrillic capital letter ya `\CYRYA'.}
+\endsetslot
+
+\setslot{\lc{CYRA}{cyra}}
+ \comment{Cyrillic small letter a `\cyra'.}
+\endsetslot
+
+\setslot{\lc{CYRB}{cyrb}}
+ \comment{Cyrillic small letter be `\cyrb'.}
+\endsetslot
+
+\setslot{\lc{CYRV}{cyrv}}
+ \comment{Cyrillic small letter ve `\cyrv'.}
+\endsetslot
+
+\setslot{\lc{CYRG}{cyrg}}
+ \comment{Cyrillic small letter ghe `\cyrg'.}
+\endsetslot
+
+\setslot{\lc{CYRD}{cyrd}}
+ \comment{Cyrillic small letter de `\cyrd'.}
+\endsetslot
+
+\setslot{\lc{CYRE}{cyre}}
+ \comment{Cyrillic small letter ie `\cyre'.}
+\endsetslot
+
+\setslot{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter zhe `\cyrzh'.}
+\endsetslot
+
+\setslot{\lc{CYRZ}{cyrz}}
+ \comment{Cyrillic small letter ze `\cyrz'.}
+\endsetslot
+
+\setslot{\lc{CYRI}{cyri}}
+ \comment{Cyrillic small letter i `\cyri'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic small letter short i `\cyrishrt'.}
+\endsetslot
+
+\setslot{\lc{CYRK}{cyrk}}
+ \comment{Cyrillic small letter ka `\cyrk'.}
+\endsetslot
+
+\setslot{\lc{CYRL}{cyrl}}
+ \comment{Cyrillic small letter el `\cyrl'.}
+\endsetslot
+
+\setslot{\lc{CYRM}{cyrm}}
+ \comment{Cyrillic small letter em `\cyrm'.}
+\endsetslot
+
+\setslot{\lc{CYRN}{cyrn}}
+ \comment{Cyrillic small letter en `\cyrn'.}
+\endsetslot
+
+\setslot{\lc{CYRO}{cyro}}
+ \comment{Cyrillic small letter o `\cyro'.}
+\endsetslot
+
+\setslot{\lc{CYRP}{cyrp}}
+ \comment{Cyrillic small letter pe `\cyrp'.}
+\endsetslot
+
+\nextslot{"C4}
+
+\setslot{cyrdash}
+ \comment{Cyrillic em dash---longer than endash, but shorter
+ than english emdash: `\cyrdash'.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\nextslot{"E0}
+
+\setslot{\lc{CYRR}{cyrr}}
+ \comment{Cyrillic small letter er `\cyrr'.}
+\endsetslot
+
+\setslot{\lc{CYRS}{cyrs}}
+ \comment{Cyrillic small letter es `\cyrs'.}
+\endsetslot
+
+\setslot{\lc{CYRT}{cyrt}}
+ \comment{Cyrillic small letter te `\cyrt'.}
+\endsetslot
+
+\setslot{\lc{CYRU}{cyru}}
+ \comment{Cyrillic small letter u `\cyru'.}
+\endsetslot
+
+\setslot{\lc{CYRF}{cyrf}}
+ \comment{Cyrillic small letter ef `\cyrf'.}
+\endsetslot
+
+\setslot{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ha `\cyrh'.}
+\endsetslot
+
+\setslot{\lc{CYRC}{cyrc}}
+ \comment{Cyrillic small letter tse `\cyrc'.}
+\endsetslot
+
+\setslot{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter che `\cyrch'.}
+\endsetslot
+
+\setslot{\lc{CYRSH}{cyrsh}}
+ \comment{Cyrillic small letter sha `\cyrsh'.}
+\endsetslot
+
+\setslot{\lc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic small letter shcha `\cyrshch'.}
+\endsetslot
+
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter hard sign `\cyrhrdsn'.}
+\endsetslot
+
+\setslot{\lc{CYRERY}{cyrery}}
+ \comment{Cyrillic small letter yeru `\cyrery'.}
+\endsetslot
+
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic small letter soft sign `\cyrsftsn'.}
+\endsetslot
+
+\setslot{\lc{CYREREV}{cyrerev}}
+ \comment{Cyrillic small letter e `\cyrerev'.}
+\endsetslot
+
+\setslot{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yu `\cyryu'.}
+\endsetslot
+
+\setslot{\lc{CYRYA}{cyrya}}
+ \comment{Cyrillic small letter ya `\cyrya'.}
+\endsetslot
+
+\setslot{\uc{CYRYO}{cyryo}}
+ \comment{Cyrillic capital letter io `\CYRYO'.}
+\endsetslot
+
+\setslot{\lc{CYRYO}{cyryo}}
+ \comment{Cyrillic small letter io `\cyryo'.}
+\endsetslot
+
+\setslot{\uc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.}
+\endsetslot
+
+\setslot{\lc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic small letter ghe with upturn `\cyrgup'.}
+\endsetslot
+
+\setslot{\uc{CYRIE}{cyrie}}
+ \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.}
+\endsetslot
+
+\setslot{\lc{CYRIE}{cyrie}}
+ \comment{Cyrillic small letter ukrainian ie `\cyrie'.}
+\endsetslot
+
+\setslot{\uc{CYRII}{cyrii}}
+ \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.}
+\endsetslot
+
+\setslot{\lc{CYRII}{cyrii}}
+ \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.}
+\endsetslot
+
+\setslot{\uc{CYRYI}{cyryi}}
+ \comment{Cyrillic capital letter yi `\CYRYI'.}
+\endsetslot
+
+\setslot{\lc{CYRYI}{cyryi}}
+ \comment{Cyrillic small letter yi `\cyryi'.}
+\endsetslot
+
+\setslot{\uc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic capital letter short u `\CYRUSHRT'.}
+\endsetslot
+
+\setslot{\lc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic small letter short u `\cyrushrt'.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A Cyrillic double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A Cyrillic double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{quotedblbase}
+ \comment{A German double quote mark `\quotedblbase' similar to two commas,
+ but with tighter letterspacing and different sidebearings.}
+\endsetslot
+
+\endencoding
diff --git a/macros/latex/contrib/t2/cyrfinst/lcy.etx b/macros/latex/contrib/t2/cyrfinst/lcy.etx
new file mode 100644
index 0000000000..783b87d4bb
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/lcy.etx
@@ -0,0 +1,815 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[LCY]{fontenc}
+\usepackage{fontdoc}
+
+\title{The \TeX\ Cyrillic LCY text encoding vector}
+\author{Werner Lemberg, Vladimir Volovich}
+\date{15 October 1998\\
+Version 0.1}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX\ text Cyrillic (LCY) encoding. It is
+an 8-bit extension of the OT1 encoding, so the first 128 slots fully
+coincide with OT1, and this part of file was taken from `ot1.etx' by
+Alan Jeffrey and Ulrik Vieth. This font encoding is not standard (as
+follows from it's name), but is important e.g.\ for Plain TeX-based
+macro packages for Cyrillic typesetting. This encoding is close to the
+so-called `New Alternative Variant' of the Microsoft MS-DOS cp866
+Cyrillic encoding, and supports at least Russian, Ukrainian and
+Byelorussian glyph repertory.
+
+To use this encoding, you should define the following macros:
+\begin{itemize}
+\item \verb|\lc{A}{a}| should return the name of a lower-case
+ glyph, for example `{\tt a}' or `{\tt Asmall}'.
+
+\item \verb|\uc{A}{a}| should return the name of an upper-case
+ glyph, for example `{\tt A}' or `{\tt Amedium}'.
+
+\item \verb|\lclig{FI}{fi}| should return the name of a lower-case
+ ligature, for example `{\tt fi}' or `{\tt FIsmall}'.
+
+\item \verb|\uclig{FI}{fi}| should return the name of an upper-case
+ ligature, for example `{\tt FI}' or `{\tt FImedium}'.
+
+\item \verb|\digit{zero}| should return the name of a digit, for
+ example `{\tt zero}' or `{\tt zerooldstyle}'.
+
+\item \verb|\tty| should be `y' if the encoding is \TeX\ typewriter
+ (cmtt) encoding, and `n' otherwise.
+
+\item \verb|\currency| should be the name of the currency glyph, either
+ `sterling' or `dollar'.
+\end{itemize}
+These should all expand in the mouth, otherwise you may get error
+messages!
+
+For example, to get the standard upper and lower case font, you should
+define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#2}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lclig#1#2{#2}
+ \setcommand\uclig#1#2{#1}
+ \setcommand\digit#1{#1}
+ \setcommand\tty{n}
+ \setcommand\currency{dollar}
+\end{verbatim}
+To get a caps and small caps font with old style digits and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1small}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lclig#1#2{#2small}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1oldstyle}
+ \setcommand\tty{n}
+ \setcommand\currency{dollar}
+\end{verbatim}
+To get an all-caps font with medium-cap composite letters and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lclig#1#2{#1spaced}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1}
+ \setcommand\tty{n}
+ \setcommand\currency{dollar}
+\end{verbatim}
+This document describes the upper and lower case encoding.
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+
+\comment{\section{Default values}}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+\ifisint{monowidth}\then
+ \setcommand\tty{y}
+\else
+ \setcommand\tty{n}
+\fi
+\setcommand\currency{dollar}
+
+\if \tty y
+ \setstr{codingscheme}{TEX CYRILLIC TYPEWRITER TEXT}
+\else
+ \setstr{codingscheme}{TEX CYRILLIC TEXT}
+\fi
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\else
+ \setint{xheight}{500}
+\fi
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+\fi
+
+\comment{\section{The encoding}
+ There are 130 glyphs in this encoding. 128 of these are in Knuth's CM
+ encoding, and the other two are `\l' and `\L', which are composite
+ letters in CM, but are single glyphs in almost every other font.}
+
+\setslot{Gamma}
+ \comment{The greek letter `$\Gamma$'.}
+\endsetslot
+
+\setslot{Delta}
+ \comment{The greek letter `$\Delta$'.}
+\endsetslot
+
+\setslot{Theta}
+ \comment{The greek letter `$\Theta$'.}
+\endsetslot
+
+\setslot{Lambda}
+ \comment{The greek letter `$\Lambda$'.}
+\endsetslot
+
+\setslot{Xi}
+ \comment{The greek letter `$\Xi$'.}
+\endsetslot
+
+\setslot{Pi}
+ \comment{The greek letter `$\Pi$'.}
+\endsetslot
+
+\setslot{Sigma}
+ \comment{The greek letter `$\Sigma$'.}
+\endsetslot
+
+\setslot{Upsilon}
+ \comment{The greek letter `$\Upsilon$' named `Upsilon1' by Adobe.}
+\endsetslot
+
+\setslot{Phi}
+ \comment{The greek letter `$\Phi$'.}
+\endsetslot
+
+\setslot{Psi}
+ \comment{The greek letter `$\Psi$'.}
+\endsetslot
+
+\setslot{Omega}
+ \comment{The greek letter `$\Omega$'.}
+\endsetslot
+
+\if \tty y
+
+\setslot{arrowup}
+ \comment{An upwards-facing arrow `$\uparrow$'.}
+\endsetslot
+
+\setslot{arrowdown}
+ \comment{A downwards-facing arrow `$\downarrow$'.}
+\endsetslot
+
+\setslot{quotesingle}
+ \comment{The `neutral' single quotation mark `{\tt\char`\'}', for use
+ with monowidth fonts.}
+\endsetslot
+
+\setslot{exclamdown}
+ \comment{The Spanish punctuation mark `!`'.}
+\endsetslot
+
+\setslot{questiondown}
+ \comment{The Spanish punctuation mark `?`'.}
+\endsetslot
+
+\else
+
+\setslot{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+ \comment{The `ff' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FI}{fi}}
+ \comment{The `fi' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FL}{fl}}
+ \comment{The `fl' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFI}{ffi}}
+ \comment{The `ffi' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFL}{ffl}}
+ \comment{The `ffl' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\fi
+
+\setslot{\lc{dotlessI}{dotlessi}}
+ \comment{A dotless i `\i', used to produce accented letters such as
+ `\=\i'.}
+\endsetslot
+
+\setslot{\lc{dotlessJ}{dotlessj}}
+ \comment{A dotless j `\j', used to produce accented letters such as
+ `\=\j'. Most non-\TeX\ fonts do not have this glyph.}
+\endsetslot
+
+\setslot{grave}
+ \comment{The grave accent `\`a'.}
+\endsetslot
+
+\setslot{acute}
+ \comment{The acute accent `\'a'.}
+\endsetslot
+
+\setslot{caron}
+ \comment{The caron or h\'a\v cek accent `\v a'.}
+\endsetslot
+
+\setslot{breve}
+ \comment{The breve accent `\u a'.}
+\endsetslot
+
+\setslot{macron}
+ \comment{The macron accent `\=a'.}
+\endsetslot
+
+\setslot{ringfitted}
+ \comment{The ring accent `\aa', fitted to be the same width as an
+ upper case `A'.}
+\endsetslot
+
+\setslot{cedilla}
+ \comment{The cedilla accent `\c a'.}
+\endsetslot
+
+\setslot{\lc{SS}{germandbls}}
+ \comment{The letter `\ss'.}
+\endsetslot
+
+\setslot{\lc{AE}{ae}}
+ \comment{The letter `\ae'. This is a single letter, and should not be
+ faked with `ae'.}
+\endsetslot
+
+\setslot{\lc{OE}{oe}}
+ \comment{The letter `\oe'. This is a single letter, and should not be
+ faked with `oe'.}
+\endsetslot
+
+\setslot{\lc{Oslash}{oslash}}
+ \comment{The letter `\o'.}
+\endsetslot
+
+\setslot{\uc{AE}{ae}}
+ \comment{The letter `\AE'. This is a single letter, and should not be
+ faked with `AE'.}
+\endsetslot
+
+\setslot{\uc{OE}{oe}}
+ \comment{The letter `\OE'. This is a single letter, and should not be
+ faked with `OE'.}
+\endsetslot
+
+\setslot{\uc{Oslash}{oslash}}
+ \comment{The letter `\o'.}
+\endsetslot
+
+\if \tty y
+
+\setslot{visiblespace}
+ \comment{A visible space glyph `{\tt\char`\ }'.}
+\endsetslot
+
+\else
+
+\setslot{lslashslash}
+% \ligature{LIG}{\lc{L}{l}}{\lc{Lslash}{lslash}}
+% \ligature{LIG}{\uc{L}{l}}{\uc{Lslash}{lslash}}
+ \comment{The slash used to make `\l' and `\L'. Since most fonts do
+ not have a separate glyph for this, I've added ligatures to `\l'
+ and `\L'.}
+\endsetslot
+
+\fi
+
+\setslot{exclam}
+ \ligature{LIG}{quoteleft}{exclamdown}
+ \comment{The exclamation mark `!'.}
+\endsetslot
+
+\if \tty y
+
+\setslot{quotedbl}
+ \comment{The `neutral' quotation mark `{\tt\char`\"}', included for
+ use in monowidth fonts, or for setting computer programs.}
+\endsetslot
+
+\else
+
+\setslot{quotedblright}
+ \comment{An English double closing quote mark `\,''\,'.}
+\endsetslot
+
+\fi
+
+\setslot{numbersign}
+ \comment{The hash sign `\#'.}
+\endsetslot
+
+\setslot{\currency}
+ \comment{Either the dollar sign `\$' or the pound sign `\pounds',
+ depending on the font.}
+\endsetslot
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{ampersand}
+ \comment{The ampersand sign `\&'.}
+\endsetslot
+
+\setslot{quoteright}
+ \if \tty y \else \ligature{LIG}{quoteright}{quotedblright} \fi
+ \comment{The English closing quotation mark `\,'\,'.}
+\endsetslot
+
+\setslot{parenleft}
+ \comment{The opening parenthesis `('.}
+\endsetslot
+
+\setslot{parenright}
+ \comment{The closing parenthesis `)'.}
+\endsetslot
+
+\setslot{asterisk}
+ \comment{The raised asterisk `*'.}
+\endsetslot
+
+\setslot{plus}
+ \comment{The addition sign `+'.}
+\endsetslot
+
+\setslot{comma}
+ \comment{The comma `,'.}
+\endsetslot
+
+\setslot{hyphen}
+ \if \tty y \else \ligature{LIG}{hyphen}{rangedash} \fi
+ \comment{The hyphen `-'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The full point `.'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forward oblique `/'.}
+\endsetslot
+
+\setslot{\digit{zero}}
+ \comment{The number zero `0'. This (and all the other numerals) may be
+ old style or ranging digits.}
+\endsetslot
+
+\setslot{\digit{one}}
+ \comment{The number one `1'.}
+\endsetslot
+
+\setslot{\digit{two}}
+ \comment{The number two `2'.}
+\endsetslot
+
+\setslot{\digit{three}}
+ \comment{The number three `3'.}
+\endsetslot
+
+\setslot{\digit{four}}
+ \comment{The number four `4'.}
+\endsetslot
+
+\setslot{\digit{five}}
+ \comment{The number five `5'.}
+\endsetslot
+
+\setslot{\digit{six}}
+ \comment{The number six `6'.}
+\endsetslot
+
+\setslot{\digit{seven}}
+ \comment{The number seven `7'.}
+\endsetslot
+
+\setslot{\digit{eight}}
+ \comment{The number eight `8'.}
+\endsetslot
+
+\setslot{\digit{nine}}
+ \comment{The number nine `9'.}
+\endsetslot
+
+\setslot{colon}
+ \comment{The colon punctuation mark `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon punctuation mark `;'.}
+\endsetslot
+
+\if \tty y
+
+\setslot{less}
+ \ligature{LIG}{less}{guillemotleft}
+ \comment{The less-than sign `$<$'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \ligature{LIG}{greater}{guillemotright}
+ \comment{The greater-than sign `$>$'.}
+\endsetslot
+
+\else
+
+\setslot{exclamdown}
+ \comment{The Spanish punctuation mark `!`'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{questiondown}
+ \comment{The Spanish punctuation mark `?`'.}
+\endsetslot
+
+\fi
+
+\setslot{question}
+ \ligature{LIG}{quoteleft}{questiondown}
+ \comment{The question mark `?'.}
+\endsetslot
+
+\setslot{at}
+ \comment{The at sign `@'.}
+\endsetslot
+
+\setslot{\uc{A}{a}}
+ \comment{The letter `{A}'.}
+\endsetslot
+
+\setslot{\uc{B}{b}}
+ \comment{The letter `{B}'.}
+\endsetslot
+
+\setslot{\uc{C}{c}}
+ \comment{The letter `{C}'.}
+\endsetslot
+
+\setslot{\uc{D}{d}}
+ \comment{The letter `{D}'.}
+\endsetslot
+
+\setslot{\uc{E}{e}}
+ \comment{The letter `{E}'.}
+\endsetslot
+
+\setslot{\uc{F}{f}}
+ \comment{The letter `{F}'.}
+\endsetslot
+
+\setslot{\uc{G}{g}}
+ \comment{The letter `{G}'.}
+\endsetslot
+
+\setslot{\uc{H}{h}}
+ \comment{The letter `{H}'.}
+\endsetslot
+
+\setslot{\uc{I}{i}}
+ \comment{The letter `{I}'.}
+\endsetslot
+
+\setslot{\uc{J}{j}}
+ \comment{The letter `{J}'.}
+\endsetslot
+
+\setslot{\uc{K}{k}}
+ \comment{The letter `{K}'.}
+\endsetslot
+
+\setslot{\uc{L}{l}}
+ \comment{The letter `{L}'.}
+\endsetslot
+
+\setslot{\uc{M}{m}}
+ \comment{The letter `{M}'.}
+\endsetslot
+
+\setslot{\uc{N}{n}}
+ \comment{The letter `{N}'.}
+\endsetslot
+
+\setslot{\uc{O}{o}}
+ \comment{The letter `{O}'.}
+\endsetslot
+
+\setslot{\uc{P}{p}}
+ \comment{The letter `{P}'.}
+\endsetslot
+
+\setslot{\uc{Q}{q}}
+ \comment{The letter `{Q}'.}
+\endsetslot
+
+\setslot{\uc{R}{r}}
+ \comment{The letter `{R}'.}
+\endsetslot
+
+\setslot{\uc{S}{s}}
+ \comment{The letter `{S}'.}
+\endsetslot
+
+\setslot{\uc{T}{t}}
+ \comment{The letter `{T}'.}
+\endsetslot
+
+\setslot{\uc{U}{u}}
+ \comment{The letter `{U}'.}
+\endsetslot
+
+\setslot{\uc{V}{v}}
+ \comment{The letter `{V}'.}
+\endsetslot
+
+\setslot{\uc{W}{w}}
+ \comment{The letter `{W}'.}
+\endsetslot
+
+\setslot{\uc{X}{x}}
+ \comment{The letter `{X}'.}
+\endsetslot
+
+\setslot{\uc{Y}{y}}
+ \comment{The letter `{Y}'.}
+\endsetslot
+
+\setslot{\uc{Z}{z}}
+ \comment{The letter `{Z}'.}
+\endsetslot
+
+\setslot{bracketleft}
+ \comment{The opening square bracket `['.}
+\endsetslot
+
+\if \tty y
+
+\setslot{backslash}
+ \comment{The backwards oblique `$\backslash$'.}
+\endsetslot
+
+\else
+
+\setslot{quotedblleft}
+ \comment{An English double opening quote mark `\,``\,'.}
+\endsetslot
+
+\fi
+
+\setslot{bracketright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{circumflex}
+ \comment{The circumflex accent `\^ a'.}
+\endsetslot
+
+\if \tty y
+
+\setslot{underscore}
+ \comment{The ASCII underline character `{\tt\char`\_}', usually set on
+ the baseline.}
+\endsetslot
+
+\else
+
+\setslot{dotaccent}
+ \comment{The dot accent `\.a'.}
+\endsetslot
+
+\fi
+
+\setslot{quoteleft}
+ \if \tty y \else \ligature{LIG}{quoteleft}{quotedblleft} \fi
+ \comment{The English opening single quotation mark `\,`\,'.}
+\endsetslot
+
+\setslot{\lc{A}{a}}
+ \comment{The letter `{a}'.}
+\endsetslot
+
+\setslot{\lc{B}{b}}
+ \comment{The letter `{b}'.}
+\endsetslot
+
+\setslot{\lc{C}{c}}
+ \comment{The letter `{c}'.}
+\endsetslot
+
+\setslot{\lc{D}{d}}
+ \comment{The letter `{d}'.}
+\endsetslot
+
+\setslot{\lc{E}{e}}
+ \comment{The letter `{e}'.}
+\endsetslot
+
+\setslot{\lc{F}{f}}
+\if \tty y \else
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}}
+ \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}}
+\fi
+ \comment{The letter `{f}'.}
+\endsetslot
+
+\setslot{\lc{G}{g}}
+ \comment{The letter `{g}'.}
+\endsetslot
+
+\setslot{\lc{H}{h}}
+ \comment{The letter `{h}'.}
+\endsetslot
+
+\setslot{\lc{I}{i}}
+ \comment{The letter `{i}'.}
+\endsetslot
+
+\setslot{\lc{J}{j}}
+ \comment{The letter `{j}'.}
+\endsetslot
+
+\setslot{\lc{K}{k}}
+ \comment{The letter `{k}'.}
+\endsetslot
+
+\setslot{\lc{L}{l}}
+ \comment{The letter `{l}'.}
+\endsetslot
+
+\setslot{\lc{M}{m}}
+ \comment{The letter `{m}'.}
+\endsetslot
+
+\setslot{\lc{N}{n}}
+ \comment{The letter `{n}'.}
+\endsetslot
+
+\setslot{\lc{O}{o}}
+ \comment{The letter `{o}'.}
+\endsetslot
+
+\setslot{\lc{P}{p}}
+ \comment{The letter `{p}'.}
+\endsetslot
+
+\setslot{\lc{Q}{q}}
+ \comment{The letter `{q}'.}
+\endsetslot
+
+\setslot{\lc{R}{r}}
+ \comment{The letter `{r}'.}
+\endsetslot
+
+\setslot{\lc{S}{s}}
+ \comment{The letter `{s}'.}
+\endsetslot
+
+\setslot{\lc{T}{t}}
+ \comment{The letter `{t}'.}
+\endsetslot
+
+\setslot{\lc{U}{u}}
+ \comment{The letter `{u}'.}
+\endsetslot
+
+\setslot{\lc{V}{v}}
+ \comment{The letter `{v}'.}
+\endsetslot
+
+\setslot{\lc{W}{w}}
+ \comment{The letter `{w}'.}
+\endsetslot
+
+\setslot{\lc{X}{x}}
+ \comment{The letter `{x}'.}
+\endsetslot
+
+\setslot{\lc{Y}{y}}
+ \comment{The letter `{y}'.}
+\endsetslot
+
+\setslot{\lc{Z}{z}}
+ \comment{The letter `{z}'.}
+\endsetslot
+
+\if \tty y
+
+\setslot{braceleft}
+ \comment{The opening curly brace `\{'.}
+\endsetslot
+
+\setslot{bar}
+ \comment{The ASCII vertical bar `$|$'. This is
+ included for compatibility with typewriter fonts used for computer
+ listings.}
+\endsetslot
+
+\setslot{braceright}
+ \comment{The closing curly brace `\}'.}
+\endsetslot
+
+\else
+
+\setslot{rangedash}
+ \ligature{LIG}{hyphen}{punctdash}
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `{\tt 1{-}9}'.}
+\endsetslot
+
+\setslot{punctdash}
+ \comment{The punctuation dash `Oh---boy.' In a monowidth font, this
+ might be set as `{\tt Oh{-}{-}boy.}'}
+\endsetslot
+
+\setslot{hungarumlaut}
+ \comment{The long Hungarian umlaut `\H a'.}
+\endsetslot
+
+\fi
+
+\setslot{tilde}
+ \comment{The tilde accent `\~a'.}
+\endsetslot
+
+\setslot{dieresis}
+ \comment{The umlaut or dieresis accent `\"a'.}
+\endsetslot
+
+\comment{\subsection{Cyrillic part of the LCY encoding}
+ It can be used also as a separate encoding (LCY-hi) to build
+ virtual fonts.}
+
+\inputetx{LCY-hi}
+
+\endencoding
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrfinst/ot2.etx b/macros/latex/contrib/t2/cyrfinst/ot2.etx
new file mode 100644
index 0000000000..3677b80a55
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/ot2.etx
@@ -0,0 +1,703 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[OT2,OT1]{fontenc}
+\usepackage{fontdoc}
+\catcode`\`=13 \def`#1'{\textquoteleft{\UseTextSymbol{OT2}{#1}}\textquoteright}
+
+\title{The \TeX\ Cyrillic OT2 text encoding vector}
+\author{Werner Lemberg, Vladimir Volovich}
+\date{15 December 1999\\
+Version 0.3}
+
+\begin{document}
+\maketitle
+\section{Introduction}
+
+This document describes the \TeX\ Cyrillic OT2 encoding vector,
+which is used e.~g.\ in AMS Washington Cyrillic fonts (wncy*),
+and in LH Cyrillic fonts (wn*).
+
+Ligatures fully correspond to wncy* fonts.
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+\comment{\section{Default values}}
+
+% a hook to suppress WN ligatures (cf. WL fonts at CTAN:fonts/amsfonts/cyr-alt)
+\ifx\wnlig\undefined\def\wnlig{\ligature}\fi
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\digit#1{#1}
+\ifisint{monowidth}\then
+ \setcommand\tty{y}
+\else
+ \setcommand\tty{n}
+\fi
+
+\if \tty y
+ \setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - OT2tt}
+\else
+ \setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - OT2}
+\fi
+
+\setint{italicslant}{0}
+
+\ifisglyph{cyrh}\then
+ \setint{xheight}{\height{cyrh}}
+\else
+ \setint{xheight}{500}
+\fi
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{cyrii}\then
+ \setint{interword}{\width{cyrii}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+\fi
+
+\comment{\section{The encoding}}
+
+\setslot{\uc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic capital letter nje `\CYRNJE'.}
+\endsetslot
+
+\setslot{\uc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic capital letter lje `\CYRLJE'.}
+\endsetslot
+
+\setslot{\uc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic capital letter dzhe `\CYRDZHE'.}
+\endsetslot
+
+\setslot{\uc{CYREREV}{cyrerev}}
+ \comment{Cyrillic capital letter e `\CYREREV'.}
+\endsetslot
+
+\setslot{\uc{CYRII}{cyrii}}
+ \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.}
+\endsetslot
+
+\setslot{\uc{CYRIE}{cyrie}}
+ \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.}
+\endsetslot
+
+\setslot{\uc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic capital letter dje `\CYRDJE'.}
+\endsetslot
+
+\setslot{\uc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic capital letter tshe `\CYRTSHE'.}
+\endsetslot
+
+\setslot{\lc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic small letter nje `\cyrnje'.}
+\endsetslot
+
+\setslot{\lc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic small letter lje `\cyrlje'.}
+\endsetslot
+
+\setslot{\lc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic small letter dzhe `\cyrdzhe'.}
+\endsetslot
+
+\setslot{\lc{CYREREV}{cyrerev}}
+ \comment{Cyrillic small letter e `\cyrerev'.}
+\endsetslot
+
+\setslot{\lc{CYRII}{cyrii}}
+ \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.}
+\endsetslot
+
+\setslot{\lc{CYRIE}{cyrie}}
+ \comment{Cyrillic small letter ukrainian ie `\cyrie'.}
+\endsetslot
+
+\setslot{\lc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic small letter dje `\cyrdje'.}
+\endsetslot
+
+\setslot{\lc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic small letter tshe `\cyrtshe'.}
+\endsetslot
+
+\setslot{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yu `\CYRYU'.}
+\endsetslot
+
+\setslot{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter zhe `\CYRZH'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic capital letter short i `\CYRISHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRYO}{cyryo}}
+ \comment{Cyrillic capital letter io `\CYRYO'.}
+\endsetslot
+
+\setslot{\uc{CYRIZH}{cyrizh}}
+ \comment{Cyrillic capital letter izhitsa `\CYRIZH'.}
+\endsetslot
+
+\setslot{\uc{CYRFITA}{cyrfita}}
+ \comment{Cyrillic capital letter fita `\CYRFITA'.}
+\endsetslot
+
+\setslot{\uc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic capital letter dze `\CYRDZE'.}
+\endsetslot
+
+\setslot{\uc{CYRYA}{cyrya}}
+ \comment{Cyrillic capital letter ya `\CYRYA'.}
+\endsetslot
+
+\setslot{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yu `\cyryu'.}
+\endsetslot
+
+\setslot{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter zhe `\cyrzh'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic small letter short i `\cyrishrt'.}
+\endsetslot
+
+\setslot{\lc{CYRYO}{cyryo}}
+ \comment{Cyrillic small letter io `\cyryo'.}
+\endsetslot
+
+\setslot{\lc{CYRIZH}{cyrizh}}
+ \comment{Cyrillic small letter izhitsa `\cyrizh'.}
+\endsetslot
+
+\setslot{\lc{CYRFITA}{cyrfita}}
+ \comment{Cyrillic small letter fita `\cyrfita'.}
+\endsetslot
+
+\setslot{\lc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic small letter dze `\cyrdze'.}
+\endsetslot
+
+\setslot{\lc{CYRYA}{cyrya}}
+ \comment{Cyrillic small letter ya `\cyrya'.}
+\endsetslot
+
+\setslot{\lc{Dieresis}{dieresis}}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\setslot{exclam}
+ \comment{The exclamation mark `!'.}
+\endsetslot
+
+\if \tty y
+
+\setslot{quotedbl}
+ \comment{The `neutral' quotation mark `{\tt"}', included for
+ use in monowidth fonts, or for setting computer programs.}
+\endsetslot
+
+\else
+
+\setslot{quotedblright}
+ \comment{The English closing quote mark `\,\textquotedblright\,'.}
+\endsetslot
+
+\fi
+
+\setslot{\uc{CYRYAT}{cyryat}}
+ \comment{Cyrillic capital letter yat `\CYRYAT'.}
+\endsetslot
+
+\setslot{\lc{cyrBreve}{cyrbreve}}
+ \comment{Cyrillic breve `\U{}'.}
+\endsetslot
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{\lc{Acute}{acute}}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{quoteright}
+ \if \tty y \else \ligature{LIG}{quoteright}{quotedblright} \fi
+ \comment{The English closing single quote mark `\,\textquoteright\,'.}
+\endsetslot
+
+\setslot{parenleft}
+ \comment{The opening parenthesis `('.}
+\endsetslot
+
+\setslot{parenright}
+ \comment{The closing parenthesis `)'.}
+\endsetslot
+
+\setslot{asterisk}
+ \comment{The raised asterisk `*'.}
+\endsetslot
+
+\setslot{\lc{CYRYAT}{cyryat}}
+ \comment{Cyrillic small letter yat `\cyryat'.}
+\endsetslot
+
+\setslot{comma}
+ \comment{The comma `,'.}
+\endsetslot
+
+\setslot{hyphen}
+ \ligature{LIG}{hyphen}{endash}
+ \comment{The hyphen `-'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The period `.'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forward oblique `/'.}
+\endsetslot
+
+\setslot{\digit{zero}}
+ \comment{The number `0'. This (and all the other numerals) may be
+ old style or ranging digits.}
+\endsetslot
+
+\setslot{\digit{one}}
+ \comment{The number `1'.}
+\endsetslot
+
+\setslot{\digit{two}}
+ \comment{The number `2'.}
+\endsetslot
+
+\setslot{\digit{three}}
+ \comment{The number `3'.}
+\endsetslot
+
+\setslot{\digit{four}}
+ \comment{The number `4'.}
+\endsetslot
+
+\setslot{\digit{five}}
+ \comment{The number `5'.}
+\endsetslot
+
+\setslot{\digit{six}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRSHCH}{cyrshch}}
+ \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRSHCH}{cyrshch}}
+ \comment{The number `6'.}
+\endsetslot
+
+\setslot{\digit{seven}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRSHCH}{cyrshch}}
+ \comment{The number `7'.}
+\endsetslot
+
+\setslot{\digit{eight}}
+ \comment{The number `8'.}
+\endsetslot
+
+\setslot{\digit{nine}}
+ \comment{The number `9'.}
+\endsetslot
+
+\setslot{colon}
+ \comment{The colon punctuation mark `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon punctuation mark `;'.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A Cyrillic double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lc{dotlessI}{dotlessi}}
+ \comment{A dotless i `\i', used to produce accented letters such as
+ `\=\i'.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A Cyrillic double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{question}
+ \comment{The question mark `?'.}
+\endsetslot
+
+\setslot{\lc{Breve}{breve}}
+ \comment{The breve accent `\u{}'.}
+\endsetslot
+
+\setslot{\uc{CYRA}{cyra}}
+ \comment{Cyrillic capital letter a `\CYRA'.}
+\endsetslot
+
+\setslot{\uc{CYRB}{cyrb}}
+ \comment{Cyrillic capital letter be `\CYRB'.}
+\endsetslot
+
+\setslot{\uc{CYRC}{cyrc}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRTSHE}{cyrtshe}}
+ \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRCH}{cyrch}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter tse `\CYRC'.}
+\endsetslot
+
+\setslot{\uc{CYRD}{cyrd}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRDJE}{cyrdje}}
+ \wnlig{LIG}{\digit{two}}{\uc{CYRDZHE}{cyrdzhe}}
+ \wnlig{LIG}{\digit{three}}{\uc{CYRDZE}{cyrdze}}
+ \wnlig{LIG}{\uc{CYRJE}{cyrje}}{\uc{CYRDJE}{cyrdje}}
+ \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\uc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic capital letter de `\CYRD'.}
+\endsetslot
+
+\setslot{\uc{CYRE}{cyre}}
+ \wnlig{LIG}{\digit{zero}}{\uc{CYRYO}{cyryo}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYREREV}{cyrerev}}
+ \wnlig{LIG}{\digit{two}}{\uc{CYRIE}{cyrie}}
+ \comment{Cyrillic capital letter ie `\CYRE'.}
+\endsetslot
+
+\setslot{\uc{CYRF}{cyrf}}
+ \comment{Cyrillic capital letter ef `\CYRF'.}
+\endsetslot
+
+\setslot{\uc{CYRG}{cyrg}}
+ \comment{Cyrillic capital letter ghe `\CYRG'.}
+\endsetslot
+
+\setslot{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ha `\CYRH'.}
+\endsetslot
+
+\setslot{\uc{CYRI}{cyri}}
+ \wnlig{LIG}{\digit{zero}}{\uc{CYRISHRT}{cyrishrt}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRII}{cyrii}}
+ \comment{Cyrillic capital letter i `\CYRI'.}
+\endsetslot
+
+\setslot{\uc{CYRJE}{cyrje}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRYA}{cyrya}}
+ \wnlig{LIG}{\digit{two}}{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter je `\CYRJE'.}
+\endsetslot
+
+\setslot{\uc{CYRK}{cyrk}}
+ \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRH}{cyrh}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ka `\CYRK'.}
+\endsetslot
+
+\setslot{\uc{CYRL}{cyrl}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRLJE}{cyrlje}}
+ \wnlig{LIG}{\uc{CYRJE}{cyrje}}{\uc{CYRLJE}{cyrlje}}
+ \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\uc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic capital letter el `\CYRL'.}
+\endsetslot
+
+\setslot{\uc{CYRM}{cyrm}}
+ \comment{Cyrillic capital letter em `\CYRM'.}
+\endsetslot
+
+\setslot{\uc{CYRN}{cyrn}}
+ \wnlig{LIG}{\digit{zero}}{numero}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRNJE}{cyrnje}}
+ \wnlig{LIG}{\uc{CYRJE}{cyrje}}{\uc{CYRNJE}{cyrnje}}
+ \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\uc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic capital letter en `\CYRN'.}
+\endsetslot
+
+\setslot{\uc{CYRO}{cyro}}
+ \comment{Cyrillic capital letter o `\CYRO'.}
+\endsetslot
+
+\setslot{\uc{CYRP}{cyrp}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRSFTSN}{cyrsftsn}}
+ \wnlig{LIG}{\digit{two}}{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter pe `\CYRP'.}
+\endsetslot
+
+\setslot{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter che `\CYRCH'.}
+\endsetslot
+
+\setslot{\uc{CYRR}{cyrr}}
+ \comment{Cyrillic capital letter er `\CYRR'.}
+\endsetslot
+
+\setslot{\uc{CYRS}{cyrs}}
+ \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRSH}{cyrsh}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRSH}{cyrsh}}
+ \comment{Cyrillic capital letter es `\CYRS'.}
+\endsetslot
+
+\setslot{\uc{CYRT}{cyrt}}
+ \wnlig{LIG}{\uc{CYRS}{cyrs}}{\uc{CYRC}{cyrc}}
+ \wnlig{LIG}{\lc{CYRS}{cyrs}}{\uc{CYRC}{cyrc}}
+ \comment{Cyrillic capital letter te `\CYRT'.}
+\endsetslot
+
+\setslot{\uc{CYRU}{cyru}}
+ \comment{Cyrillic capital letter u `\CYRU'.}
+\endsetslot
+
+\setslot{\uc{CYRV}{cyrv}}
+ \comment{Cyrillic capital letter ve `\CYRV'.}
+\endsetslot
+
+\setslot{\uc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic capital letter shcha `\CYRSHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRSH}{cyrsh}}
+ \wnlig{LIG}{\uc{CYRCH}{cyrch}}{\uc{CYRSHCH}{cyrshch}}
+ \wnlig{LIG}{\lc{CYRCH}{cyrch}}{\uc{CYRSHCH}{cyrshch}}
+ \wnlig{LIG}{\uc{CYRC}{cyrc}}{\digit{six}}
+ \wnlig{LIG}{\lc{CYRC}{cyrc}}{\digit{six}}
+ \comment{Cyrillic capital letter sha `\CYRSH'.}
+\endsetslot
+
+\setslot{\uc{CYRERY}{cyrery}}
+ \wnlig{LIG}{\uc{CYRA}{cyra}}{\uc{CYRYA}{cyrya}}
+ \wnlig{LIG}{\lc{CYRA}{cyra}}{\uc{CYRYA}{cyrya}}
+ \wnlig{LIG}{\uc{CYRU}{cyru}}{\uc{CYRYU}{cyryu}}
+ \wnlig{LIG}{\lc{CYRU}{cyru}}{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yeru `\CYRERY'.}
+\endsetslot
+
+\setslot{\uc{CYRZ}{cyrz}}
+ \wnlig{LIG}{\digit{one}}{\uc{CYRZH}{cyrzh}}
+ \wnlig{LIG}{\uc{CYRH}{cyrh}}{\uc{CYRZH}{cyrzh}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter ze `\CYRZ'.}
+\endsetslot
+
+\setslot{bracketleft}
+ \wnlig{LIG}{bracketleft}{guillemotleft}
+ \comment{The opening square bracket `['.}
+\endsetslot
+
+\if \tty y
+
+\setslot{backslash}
+ \comment{The backwards oblique `\textbackslash'.}
+\endsetslot
+
+\else
+
+\setslot{quotedblleft}
+ \comment{The English opening quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\fi
+
+\setslot{bracketright}
+ \wnlig{LIG}{bracketright}{guillemotright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.}
+\endsetslot
+
+\setslot{quoteleft}
+ \if \tty y \else \wnlig{LIG}{quoteleft}{quotedblleft} \fi
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+\endsetslot
+
+\setslot{\lc{CYRA}{cyra}}
+ \comment{Cyrillic small letter a `\cyra'.}
+\endsetslot
+
+\setslot{\lc{CYRB}{cyrb}}
+ \comment{Cyrillic small letter be `\cyrb'.}
+\endsetslot
+
+\setslot{\lc{CYRC}{cyrc}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRTSHE}{cyrtshe}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter tse `\cyrc'.}
+\endsetslot
+
+\setslot{\lc{CYRD}{cyrd}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRDJE}{cyrdje}}
+ \wnlig{LIG}{\digit{two}}{\lc{CYRDZHE}{cyrdzhe}}
+ \wnlig{LIG}{\digit{three}}{\lc{CYRDZE}{cyrdze}}
+ \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\lc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic small letter de `\cyrd'.}
+\endsetslot
+
+\setslot{\lc{CYRE}{cyre}}
+ \wnlig{LIG}{\digit{zero}}{\lc{CYRYO}{cyryo}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYREREV}{cyrerev}}
+ \wnlig{LIG}{\digit{two}}{\lc{CYRIE}{cyrie}}
+ \comment{Cyrillic small letter ie `\cyre'.}
+\endsetslot
+
+\setslot{\lc{CYRF}{cyrf}}
+ \comment{Cyrillic small letter ef `\cyrf'.}
+\endsetslot
+
+\setslot{\lc{CYRG}{cyrg}}
+ \comment{Cyrillic small letter ghe `\cyrg'.}
+\endsetslot
+
+\setslot{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ha `\cyrh'.}
+\endsetslot
+
+\setslot{\lc{CYRI}{cyri}}
+ \wnlig{LIG}{\digit{zero}}{\lc{CYRISHRT}{cyrishrt}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRII}{cyrii}}
+ \comment{Cyrillic small letter i `\cyri'.}
+\endsetslot
+
+\setslot{\lc{CYRJE}{cyrje}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRYA}{cyrya}}
+ \wnlig{LIG}{\digit{two}}{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter je `\cyrje'.}
+\endsetslot
+
+\setslot{\lc{CYRK}{cyrk}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ka `\cyrk'.}
+\endsetslot
+
+\setslot{\lc{CYRL}{cyrl}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRLJE}{cyrlje}}
+ \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\lc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic small letter el `\cyrl'.}
+\endsetslot
+
+\setslot{\lc{CYRM}{cyrm}}
+ \comment{Cyrillic small letter em `\cyrm'.}
+\endsetslot
+
+\setslot{\lc{CYRN}{cyrn}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRNJE}{cyrnje}}
+ \wnlig{LIG}{\lc{CYRJE}{cyrje}}{\lc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic small letter en `\cyrn'.}
+\endsetslot
+
+\setslot{\lc{CYRO}{cyro}}
+ \comment{Cyrillic small letter o `\cyro'.}
+\endsetslot
+
+\setslot{\lc{CYRP}{cyrp}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRSFTSN}{cyrsftsn}}
+ \wnlig{LIG}{\digit{two}}{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter pe `\cyrp'.}
+\endsetslot
+
+\setslot{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter che `\cyrch'.}
+\endsetslot
+
+\setslot{\lc{CYRR}{cyrr}}
+ \comment{Cyrillic small letter er `\cyrr'.}
+\endsetslot
+
+\setslot{\lc{CYRS}{cyrs}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRSH}{cyrsh}}
+ \comment{Cyrillic small letter es `\cyrs'.}
+\endsetslot
+
+\setslot{\lc{CYRT}{cyrt}}
+ \wnlig{LIG}{\lc{CYRS}{cyrs}}{\lc{CYRC}{cyrc}}
+ \comment{Cyrillic small letter te `\cyrt'.}
+\endsetslot
+
+\setslot{\lc{CYRU}{cyru}}
+ \comment{Cyrillic small letter u `\cyru'.}
+\endsetslot
+
+\setslot{\lc{CYRV}{cyrv}}
+ \comment{Cyrillic small letter ve `\cyrv'.}
+\endsetslot
+
+\setslot{\lc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic small letter shcha `\cyrshch'.}
+\endsetslot
+
+\setslot{\lc{CYRSH}{cyrsh}}
+ \wnlig{LIG}{\lc{CYRCH}{cyrch}}{\lc{CYRSHCH}{cyrshch}}
+ \wnlig{LIG}{\lc{CYRC}{cyrc}}{\digit{seven}}
+ \comment{Cyrillic small letter sha `\cyrsh'.}
+\endsetslot
+
+\setslot{\lc{CYRERY}{cyrery}}
+ \wnlig{LIG}{\lc{CYRA}{cyra}}{\lc{CYRYA}{cyrya}}
+ \wnlig{LIG}{\lc{CYRU}{cyru}}{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yeru `\cyrery'.}
+\endsetslot
+
+\setslot{\lc{CYRZ}{cyrz}}
+ \wnlig{LIG}{\digit{one}}{\lc{CYRZH}{cyrzh}}
+ \wnlig{LIG}{\lc{CYRH}{cyrh}}{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter ze `\cyrz'.}
+\endsetslot
+
+\setslot{endash}
+ \if \tty y \else \ligature{LIG}{hyphen}{emdash} \fi
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `{\tt 1{-}9}'.}
+\endsetslot
+
+\setslot{emdash}
+ \comment{Cyrillic em dash---longer than endash, but shorter
+ than english emdash: `\cyrdash'.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic small letter soft sign `\cyrsftsn'.}
+\endsetslot
+
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter hard sign `\cyrhrdsn'.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrfinst/t2a.etx b/macros/latex/contrib/t2/cyrfinst/t2a.etx
new file mode 100644
index 0000000000..00ebb267b1
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/t2a.etx
@@ -0,0 +1,1284 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[T2A]{fontenc}
+\usepackage{fontdoc}
+
+\title{The \TeX\ Cyrillic T2A text encoding vector}
+\author{Werner Lemberg, Vladimir Volovich}
+\date{17 July 1998\\
+Version 0.1}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the Cyrillic T2A text encoding.
+The latin part of this file is based on `t1.etx' by
+Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth.
+
+To use this encoding, you should define the following macros:
+\begin{itemize}
+\item \verb|\lc{A}{a}| should return the name of a lower-case
+ glyph, for example `{\tt a}' or `{\tt Asmall}'.
+
+\item \verb|\uc{A}{a}| should return the name of an upper-case
+ glyph, for example `{\tt A}' or `{\tt Amedium}'.
+
+\item \verb|\lctop{Aacute}{aacute}| should return the name of a
+ lower-case composite glyph formed from putting a diacritical above
+ a letter, for example `{\tt aacute}' or `{\tt Aacutesmall}'.
+
+\item \verb|\uctop{Aacute}{aacute}| should return the name of an
+ upper-case composite glyph formed from putting a diacritical above
+ a letter, for example `{\tt Aacute}' or `{\tt Aacutemedium}'.
+
+\item \verb|\lclig{FI}{fi}| should return the name of a lower-case
+ ligature, for example `{\tt fi}' or `{\tt FIsmall}'.
+
+\item \verb|\uclig{FI}{fi}| should return the name of an upper-case
+ ligature, for example `{\tt FI}' or `{\tt FImedium}'.
+
+\item \verb|\digit{zero}| should return the name of a digit, for
+ example `{\tt zero}' or `{\tt zerooldstyle}'.
+\end{itemize}
+These should all expand in the mouth, otherwise you may get error
+messages!
+
+For example, to get the standard upper and lower case font, you should
+define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#2}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#2}
+ \setcommand\uctop#1#2{#1}
+ \setcommand\lclig#1#2{#2}
+ \setcommand\uclig#1#2{#1}
+ \setcommand\digit#1{#1}
+\end{verbatim}
+To get a caps and small caps font with old style digits and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1small}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#1small}
+ \setcommand\uctop#1#2{#1}
+ \setcommand\lclig#1#2{#2small}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1oldstyle}
+\end{verbatim}
+To get an all-caps font with medium-cap composite letters and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#1medium}
+ \setcommand\uctop#1#2{#1medium}
+ \setcommand\lclig#1#2{#1spaced}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1}
+\end{verbatim}
+This document describes the upper and lower case encoding.
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+\comment{\section{Default values}}
+
+\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - T2A}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\else
+ \setint{xheight}{500}
+\fi
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr>
+% 1997/02/07 to calculate values for extra EC fontdimens
+% Amended by SPQR 1997/02/09
+\ifisglyph{X}\then
+ \setint{capheight}{\height{X}}
+\else
+ \setint{capheight}{750}
+\fi
+
+\ifisglyph{d}\then
+ \setint{ascender}{\height{d}}
+\else
+ \ifisint{capheight}\then
+ \setint{ascender}{\int{capheight}}
+ \else
+ \setint{ascender}{750}
+\fi\fi
+
+\ifisglyph{Aring}\then
+ \setint{acccapheight}{\height{Aring}}
+\else
+ \setint{acccapheight}{999}
+\fi
+
+\ifisint{descender_neg}\then
+ \setint{descender}{\neg{\int{descender_neg}}}
+ \else
+ \ifisglyph{p}\then
+ \setint{descender}{\depth{p}}
+ \else
+ \setint{descender}{250}
+ \fi
+\fi
+
+\ifisglyph{Aring}\then
+ \setint{maxheight}{\height{Aring}}
+\else
+ \setint{maxheight}{1000}
+\fi
+
+\ifisint{maxdepth_neg}\then
+ \setint{maxdepth}{\neg{\int{maxdepth_neg}}}
+\else
+ \ifisglyph{j}\then
+ \setint{maxdepth}{\depth{j}}
+ \else
+ \setint{maxdepth}{250}
+ \fi
+\fi
+
+\ifisglyph{six}\then
+ \setint{digitwidth}{\width{six}}
+\else
+ \setint{digitwidth}{500}
+\fi
+
+\setint{capstem}{0} % not in AFM files
+\setint{baselineskip}{1200}
+% end changes by Thierry
+
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+\fi
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> 1997/02/07
+\setint{fontdimen(8)}{\int{capheight}} % cap height
+\setint{fontdimen(9)}{\int{ascender}} % ascender
+\setint{fontdimen(10)}{\int{acccapheight}} % accented cap height
+\setint{fontdimen(11)}{\int{descender}} % descender's depth
+\setint{fontdimen(12)}{\int{maxheight}} % max height
+\setint{fontdimen(13)}{\int{maxdepth}} % max depth
+\setint{fontdimen(14)}{\int{digitwidth}} % digit width
+\setint{fontdimen(15)}{\int{capstem}} % cap_stem
+\setint{fontdimen(16)}{\int{baselineskip}} % baselineskip
+
+
+\comment{\section{The encoding}
+ There are 256 glyphs in this encoding.}
+
+\setslot{\lc{Grave}{grave}}
+ \comment{The grave accent `\`{}'.}
+\endsetslot
+
+\setslot{\lc{Acute}{acute}}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{\lc{Circumflex}{circumflex}}
+ \comment{The circumflex accent `\^{}'.}
+\endsetslot
+
+\setslot{\lc{Tilde}{tilde}}
+ \comment{The tilde accent `\~{}'.}
+\endsetslot
+
+\setslot{\lc{Dieresis}{dieresis}}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\setslot{\lc{Hungarumlaut}{hungarumlaut}}
+ \comment{The long Hungarian umlaut `\H{}'.}
+\endsetslot
+
+\setslot{\lc{Ring}{ring}}
+ \comment{The ring accent `\r{}'.}
+\endsetslot
+
+\setslot{\lc{Caron}{caron}}
+ \comment{The caron or h\'a\v cek accent `\v{}'.}
+\endsetslot
+
+\setslot{\lc{Breve}{breve}}
+ \comment{The breve accent `\u{}'.}
+\endsetslot
+
+\setslot{\lc{Macron}{macron}}
+ \comment{The macron accent `\={}'.}
+\endsetslot
+
+\setslot{\lc{Dotaccent}{dotaccent}}
+ \comment{The dot accent `\.{}'.}
+\endsetslot
+
+\setslot{\lc{Cedilla}{cedilla}}
+ \comment{The cedilla accent `\c{}'.}
+\endsetslot
+
+\setslot{\lc{Ogonek}{ogonek}}
+ \comment{The ogonek accent `\k{}'.}
+\endsetslot
+
+\setslot{CYRpalochka}
+ \comment{Cyrillic letter palochka `\CYRpalochka'.}
+\endsetslot
+
+\setslot{angleleft}
+ \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.}
+\endsetslot
+
+\setslot{angleright}
+ \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.}
+\endsetslot
+
+\setslot{quotedblleft}
+ \comment{The English opening quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\setslot{quotedblright}
+ \comment{The English closing quote mark `\,\textquotedblright\,'.}
+\endsetslot
+
+\setslot{\lc{cyrFlex}{cyrflex}}
+ \comment{Cyrillic circumflex `\f{}'.}
+\endsetslot
+
+\setslot{\lc{dblGrave}{dblgrave}}
+ \comment{Double grave accent `\C{}'.}
+\endsetslot
+
+\setslot{\lc{cyrBreve}{cyrbreve}}
+ \comment{Cyrillic breve `\U{}'.}
+\endsetslot
+
+\setslot{rangedash}
+ \ligature{LIG}{hyphen}{cyrdash}
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `{\tt 1{-}9}'.}
+\endsetslot
+
+\setslot{cyrdash}
+ \comment{Cyrillic em dash---longer than endash, but shorter
+ than english emdash: `\cyrdash'.}
+\endsetslot
+
+\setslot{compwordmark}
+ \comment{An invisible glyph, with zero width and depth, but the
+ height of lowercase letters without ascenders.
+ It is used to stop ligaturing in words like `shelf{}ful'.}
+\endsetslot
+
+\setslot{perthousandzero}
+ \comment{A glyph which is placed after `\%' to produce a
+ `per-thousand', or twice to produce `per-ten-thousand'.
+ Your guess is as good as mine as to what this glyph should look
+ like in a monowidth font.}
+\endsetslot
+
+\setslot{\lc{dotlessI}{dotlessi}}
+ \comment{A dotless i `\i', used to produce accented letters such as
+ `\=\i'.}
+\endsetslot
+
+\setslot{\lc{dotlessJ}{dotlessj}}
+ \comment{A dotless j `\j', used to produce accented letters such as
+ `\=\j'. Most non-\TeX\ fonts do not have this glyph.}
+\endsetslot
+
+\setslot{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+ \comment{The `ff' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FI}{fi}}
+ \comment{The `fi' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FL}{fl}}
+ \comment{The `fl' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFI}{ffi}}
+ \comment{The `ffi' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFL}{ffl}}
+ \comment{The `ffl' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{visiblespace}
+ \comment{A visible space glyph `\textvisiblespace'.}
+\endsetslot
+
+\setslot{exclam}
+ \comment{The exclamation mark `!'.}
+\endsetslot
+
+\setslot{quotedbl}
+ \comment{The `neutral' double quotation mark `\,\textquotedbl\,',
+ included for use in monowidth fonts, or for setting computer
+ programs. Note that the inclusion of this glyph in this slot
+ means that \TeX\ documents which used `{\tt"}' as an
+ input character will no longer work.}
+\endsetslot
+
+\setslot{numbersign}
+ \comment{The hash sign `\#'.}
+\endsetslot
+
+\setslot{dollar}
+ \comment{The dollar sign `\$'.}
+\endsetslot
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{ampersand}
+ \comment{The ampersand sign `\&'.}
+\endsetslot
+
+\setslot{quoteright}
+ \ligature{LIG}{quoteright}{quotedblright}
+ \comment{The English closing single quote mark `\,\textquoteright\,'.}
+\endsetslot
+
+\setslot{parenleft}
+ \comment{The opening parenthesis `('.}
+\endsetslot
+
+\setslot{parenright}
+ \comment{The closing parenthesis `)'.}
+\endsetslot
+
+\setslot{asterisk}
+ \comment{The raised asterisk `*'.}
+\endsetslot
+
+\setslot{plus}
+ \comment{The addition sign `+'.}
+\endsetslot
+
+\setslot{comma}
+ \ligature{LIG}{comma}{quotedblbase}
+ \comment{The comma `,'.}
+\endsetslot
+
+\setslot{hyphen}
+ \ligature{LIG}{hyphen}{rangedash}
+ \ligature{LIG}{hyphenchar}{hyphenchar}
+ \comment{The hyphen `-'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The period `.'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forward oblique `/'.}
+\endsetslot
+
+\setslot{\digit{zero}}
+ \comment{The number `0'. This (and all the other numerals) may be
+ old style or ranging digits.}
+\endsetslot
+
+\setslot{\digit{one}}
+ \comment{The number `1'.}
+\endsetslot
+
+\setslot{\digit{two}}
+ \comment{The number `2'.}
+\endsetslot
+
+\setslot{\digit{three}}
+ \comment{The number `3'.}
+\endsetslot
+
+\setslot{\digit{four}}
+ \comment{The number `4'.}
+\endsetslot
+
+\setslot{\digit{five}}
+ \comment{The number `5'.}
+\endsetslot
+
+\setslot{\digit{six}}
+ \comment{The number `6'.}
+\endsetslot
+
+\setslot{\digit{seven}}
+ \comment{The number `7'.}
+\endsetslot
+
+\setslot{\digit{eight}}
+ \comment{The number `8'.}
+\endsetslot
+
+\setslot{\digit{nine}}
+ \comment{The number `9'.}
+\endsetslot
+
+\setslot{colon}
+ \comment{The colon punctuation mark `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon punctuation mark `;'.}
+\endsetslot
+
+\setslot{less}
+ \ligature{LIG}{less}{guillemotleft}
+ \comment{The less-than sign `\textless'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \ligature{LIG}{greater}{guillemotright}
+ \comment{The greater-than sign `\textgreater'.}
+\endsetslot
+
+\setslot{question}
+ \comment{The question mark `?'.}
+\endsetslot
+
+\setslot{at}
+ \comment{The at sign `@'.}
+\endsetslot
+
+\setslot{\uc{A}{a}}
+ \comment{The letter `A'.}
+\endsetslot
+
+\setslot{\uc{B}{b}}
+ \comment{The letter `B'.}
+\endsetslot
+
+\setslot{\uc{C}{c}}
+ \comment{The letter `C'.}
+\endsetslot
+
+\setslot{\uc{D}{d}}
+ \comment{The letter `D'.}
+\endsetslot
+
+\setslot{\uc{E}{e}}
+ \comment{The letter `E'.}
+\endsetslot
+
+\setslot{\uc{F}{f}}
+ \comment{The letter `F'.}
+\endsetslot
+
+\setslot{\uc{G}{g}}
+ \comment{The letter `G'.}
+\endsetslot
+
+\setslot{\uc{H}{h}}
+ \comment{The letter `H'.}
+\endsetslot
+
+\setslot{\uc{I}{i}}
+ \comment{The letter `I'.}
+\endsetslot
+
+\setslot{\uc{J}{j}}
+ \comment{The letter `J'.}
+\endsetslot
+
+\setslot{\uc{K}{k}}
+ \comment{The letter `K'.}
+\endsetslot
+
+\setslot{\uc{L}{l}}
+ \comment{The letter `L'.}
+\endsetslot
+
+\setslot{\uc{M}{m}}
+ \comment{The letter `M'.}
+\endsetslot
+
+\setslot{\uc{N}{n}}
+ \comment{The letter `N'.}
+\endsetslot
+
+\setslot{\uc{O}{o}}
+ \comment{The letter `O'.}
+\endsetslot
+
+\setslot{\uc{P}{p}}
+ \comment{The letter `P'.}
+\endsetslot
+
+\setslot{\uc{Q}{q}}
+ \comment{The letter `Q'.}
+\endsetslot
+
+\setslot{\uc{R}{r}}
+ \comment{The letter `R'.}
+\endsetslot
+
+\setslot{\uc{S}{s}}
+ \comment{The letter `S'.}
+\endsetslot
+
+\setslot{\uc{T}{t}}
+ \comment{The letter `T'.}
+\endsetslot
+
+\setslot{\uc{U}{u}}
+ \comment{The letter `U'.}
+\endsetslot
+
+\setslot{\uc{V}{v}}
+ \comment{The letter `V'.}
+\endsetslot
+
+\setslot{\uc{W}{w}}
+ \comment{The letter `W'.}
+\endsetslot
+
+\setslot{\uc{X}{x}}
+ \comment{The letter `X'.}
+\endsetslot
+
+\setslot{\uc{Y}{y}}
+ \comment{The letter `Y'.}
+\endsetslot
+
+\setslot{\uc{Z}{z}}
+ \comment{The letter `Z'.}
+\endsetslot
+
+\setslot{bracketleft}
+ \comment{The opening square bracket `['.}
+\endsetslot
+
+\setslot{backslash}
+ \comment{The backwards oblique `\textbackslash'.}
+\endsetslot
+
+\setslot{bracketright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{asciicircum}
+ \comment{The ASCII upward-pointing arrow head `\textasciicircum'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{underscore}
+ \comment{The ASCII underline character `\textunderscore', usually
+ set on the baseline.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{quoteleft}
+ \ligature{LIG}{quoteleft}{quotedblleft}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+\endsetslot
+
+\setslot{\lc{A}{a}}
+ \comment{The letter `a'.}
+\endsetslot
+
+\setslot{\lc{B}{b}}
+ \comment{The letter `b'.}
+\endsetslot
+
+\setslot{\lc{C}{c}}
+ \comment{The letter `c'.}
+\endsetslot
+
+\setslot{\lc{D}{d}}
+ \comment{The letter `d'.}
+\endsetslot
+
+\setslot{\lc{E}{e}}
+ \comment{The letter `e'.}
+\endsetslot
+
+\setslot{\lc{F}{f}}
+\ifisint{monowidth}\then\else
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}}
+ \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}}
+\fi
+ \comment{The letter `f'.}
+\endsetslot
+
+\setslot{\lc{G}{g}}
+ \comment{The letter `g'.}
+\endsetslot
+
+\setslot{\lc{H}{h}}
+ \comment{The letter `h'.}
+\endsetslot
+
+\setslot{\lc{I}{i}}
+ \comment{The letter `i'.}
+\endsetslot
+
+\setslot{\lc{J}{j}}
+ \comment{The letter `j'.}
+\endsetslot
+
+\setslot{\lc{K}{k}}
+ \comment{The letter `k'.}
+\endsetslot
+
+\setslot{\lc{L}{l}}
+ \comment{The letter `l'.}
+\endsetslot
+
+\setslot{\lc{M}{m}}
+ \comment{The letter `m'.}
+\endsetslot
+
+\setslot{\lc{N}{n}}
+ \comment{The letter `n'.}
+\endsetslot
+
+\setslot{\lc{O}{o}}
+ \comment{The letter `o'.}
+\endsetslot
+
+\setslot{\lc{P}{p}}
+ \comment{The letter `p'.}
+\endsetslot
+
+\setslot{\lc{Q}{q}}
+ \comment{The letter `q'.}
+\endsetslot
+
+\setslot{\lc{R}{r}}
+ \comment{The letter `r'.}
+\endsetslot
+
+\setslot{\lc{S}{s}}
+ \comment{The letter `s'.}
+\endsetslot
+
+\setslot{\lc{T}{t}}
+ \comment{The letter `t'.}
+\endsetslot
+
+\setslot{\lc{U}{u}}
+ \comment{The letter `u'.}
+\endsetslot
+
+\setslot{\lc{V}{v}}
+ \comment{The letter `v'.}
+\endsetslot
+
+\setslot{\lc{W}{w}}
+ \comment{The letter `w'.}
+\endsetslot
+
+\setslot{\lc{X}{x}}
+ \comment{The letter `x'.}
+\endsetslot
+
+\setslot{\lc{Y}{y}}
+ \comment{The letter `y'.}
+\endsetslot
+
+\setslot{\lc{Z}{z}}
+ \comment{The letter `z'.}
+\endsetslot
+
+\setslot{braceleft}
+ \comment{The opening curly brace `\textbraceleft'.}
+\endsetslot
+
+\setslot{bar}
+ \comment{The ASCII vertical bar `\textbar'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{braceright}
+ \comment{The closing curly brace `\textbraceright'.}
+\endsetslot
+
+\setslot{asciitilde}
+ \comment{The ASCII tilde `\textasciitilde'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{hyphenchar}
+ \comment{The glyph used for hyphenation in this font, which will
+ almost always be the same as `hyphen'.}
+\endsetslot
+
+\setslot{\uc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.}
+\endsetslot
+
+\setslot{\uc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic capital letter dje `\CYRDJE'.}
+\endsetslot
+
+\setslot{\uc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic capital letter tshe `\CYRTSHE'.}
+\endsetslot
+
+\setslot{\uc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic capital letter shha `\CYRSHHA'.}
+\endsetslot
+
+\setslot{\uc{CYRZHDSC}{cyrzhdsc}}
+ \comment{Cyrillic capital letter zhe with descender `\CYRZHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRZDSC}{cyrzdsc}}
+ \comment{Cyrillic capital letter ze with descender `\CYRZDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic capital letter lje `\CYRLJE'.}
+\endsetslot
+
+\setslot{\uc{CYRYI}{cyryi}}
+ \comment{Cyrillic capital letter yi `\CYRYI'.}
+\endsetslot
+
+\setslot{\uc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKBEAK}{cyrkbeak}}
+ \comment{Cyrillic capital letter bashkir ka `\CYRKBEAK'.}
+\endsetslot
+
+\setslot{\uc{CYRKVCRS}{cyrkvcrs}}
+ \comment{Cyrillic capital letter ka with vertical stroke `\CYRKVCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRAE}{cyrae}}
+ \comment{Cyrillic capital ligature a ie `\CYRAE'.}
+\endsetslot
+
+\setslot{\uc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic capital letter en with descender `\CYRNDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNG}{cyrng}}
+ \comment{Cyrillic capital ligature en ghe `\CYRNG'.}
+\endsetslot
+
+\setslot{\uc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic capital letter dze `\CYRDZE'.}
+\endsetslot
+
+\setslot{\uc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic capital letter barred o `\CYROTLD'.}
+\endsetslot
+
+\setslot{\uc{CYRSDSC}{cyrsdsc}}
+ \comment{Cyrillic capital letter es with descender `\CYRSDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic capital letter short u `\CYRUSHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRY}{cyry}}
+ \comment{Cyrillic capital letter straight u `\CYRY'.}
+\endsetslot
+
+\setslot{\uc{CYRYHCRS}{cyryhcrs}}
+ \comment{Cyrillic capital letter straight u with stroke `\CYRYHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic capital letter dzhe `\CYRDZHE'.}
+\endsetslot
+
+\setslot{\uc{CYRCHVCRS}{cyrchvcrs}}
+ \comment{Cyrillic capital letter che with vertical stroke `\CYRCHVCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRIE}{cyrie}}
+ \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.}
+\endsetslot
+
+\setslot{\uc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic capital letter schwa `\CYRSCHWA'.}
+\endsetslot
+
+\setslot{\uc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic capital letter nje `\CYRNJE'.}
+\endsetslot
+
+\setslot{\uc{CYRYO}{cyryo}}
+ \comment{Cyrillic capital letter io `\CYRYO'.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{\lc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic small letter ghe with upturn `\cyrgup'.}
+\endsetslot
+
+\setslot{\lc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic small letter dje `\cyrdje'.}
+\endsetslot
+
+\setslot{\lc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic small letter tshe `\cyrtshe'.}
+\endsetslot
+
+\setslot{\lc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic small letter shha `\cyrshha'.}
+\endsetslot
+
+\setslot{\lc{CYRZHDSC}{cyrzhdsc}}
+ \comment{Cyrillic small letter zhe with descender `\cyrzhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRZDSC}{cyrzdsc}}
+ \comment{Cyrillic small letter ze with descender `\cyrzdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic small letter lje `\cyrlje'.}
+\endsetslot
+
+\setslot{\lc{CYRYI}{cyryi}}
+ \comment{Cyrillic small letter yi `\cyryi'.}
+\endsetslot
+
+\setslot{\lc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic small letter ka with descender `\cyrkdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKBEAK}{cyrkbeak}}
+ \comment{Cyrillic small letter bashkir ka `\cyrkbeak'.}
+\endsetslot
+
+\setslot{\lc{CYRKVCRS}{cyrkvcrs}}
+ \comment{Cyrillic small letter ka with vertical stroke `\cyrkvcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRAE}{cyrae}}
+ \comment{Cyrillic small ligature a ie `\cyrae'.}
+\endsetslot
+
+\setslot{\lc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic small letter en with descender `\cyrndsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNG}{cyrng}}
+ \comment{Cyrillic small ligature en ghe `\cyrng'.}
+\endsetslot
+
+\setslot{\lc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic small letter dze `\cyrdze'.}
+\endsetslot
+
+\setslot{\lc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic small letter barred o `\cyrotld'.}
+\endsetslot
+
+\setslot{\lc{CYRSDSC}{cyrsdsc}}
+ \comment{Cyrillic small letter es with descender `\cyrsdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic small letter short u `\cyrushrt'.}
+\endsetslot
+
+\setslot{\lc{CYRY}{cyry}}
+ \comment{Cyrillic small letter straight u `\cyry'.}
+\endsetslot
+
+\setslot{\lc{CYRYHCRS}{cyryhcrs}}
+ \comment{Cyrillic small letter straight u with stroke `\cyryhcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic small letter ha with descender `\cyrhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic small letter dzhe `\cyrdzhe'.}
+\endsetslot
+
+\setslot{\lc{CYRCHVCRS}{cyrchvcrs}}
+ \comment{Cyrillic small letter che with vertical stroke `\cyrchvcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic small letter che with descender `\cyrchrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRIE}{cyrie}}
+ \comment{Cyrillic small letter ukrainian ie `\cyrie'.}
+\endsetslot
+
+\setslot{\lc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic small letter schwa `\cyrschwa'.}
+\endsetslot
+
+\setslot{\lc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic small letter nje `\cyrnje'.}
+\endsetslot
+
+\setslot{\lc{CYRYO}{cyryo}}
+ \comment{Cyrillic small letter io `\cyryo'.}
+\endsetslot
+
+\setslot{quotedblbase}
+ \comment{A German double quote mark `\quotedblbase' similar to two commas,
+ but with tighter letterspacing and different sidebearings.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A Cyrillic double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A Cyrillic double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uc{CYRA}{cyra}}
+ \comment{Cyrillic capital letter a `\CYRA'.}
+\endsetslot
+
+\setslot{\uc{CYRB}{cyrb}}
+ \comment{Cyrillic capital letter be `\CYRB'.}
+\endsetslot
+
+\setslot{\uc{CYRV}{cyrv}}
+ \comment{Cyrillic capital letter ve `\CYRV'.}
+\endsetslot
+
+\setslot{\uc{CYRG}{cyrg}}
+ \comment{Cyrillic capital letter ghe `\CYRG'.}
+\endsetslot
+
+\setslot{\uc{CYRD}{cyrd}}
+ \comment{Cyrillic capital letter de `\CYRD'.}
+\endsetslot
+
+\setslot{\uc{CYRE}{cyre}}
+ \comment{Cyrillic capital letter ie `\CYRE'.}
+\endsetslot
+
+\setslot{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter zhe `\CYRZH'.}
+\endsetslot
+
+\setslot{\uc{CYRZ}{cyrz}}
+ \comment{Cyrillic capital letter ze `\CYRZ'.}
+\endsetslot
+
+\setslot{\uc{CYRI}{cyri}}
+ \comment{Cyrillic capital letter i `\CYRI'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic capital letter short i `\CYRISHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRK}{cyrk}}
+ \comment{Cyrillic capital letter ka `\CYRK'.}
+\endsetslot
+
+\setslot{\uc{CYRL}{cyrl}}
+ \comment{Cyrillic capital letter el `\CYRL'.}
+\endsetslot
+
+\setslot{\uc{CYRM}{cyrm}}
+ \comment{Cyrillic capital letter em `\CYRM'.}
+\endsetslot
+
+\setslot{\uc{CYRN}{cyrn}}
+ \comment{Cyrillic capital letter en `\CYRN'.}
+\endsetslot
+
+\setslot{\uc{CYRO}{cyro}}
+ \comment{Cyrillic capital letter o `\CYRO'.}
+\endsetslot
+
+\setslot{\uc{CYRP}{cyrp}}
+ \comment{Cyrillic capital letter pe `\CYRP'.}
+\endsetslot
+
+\setslot{\uc{CYRR}{cyrr}}
+ \comment{Cyrillic capital letter er `\CYRR'.}
+\endsetslot
+
+\setslot{\uc{CYRS}{cyrs}}
+ \comment{Cyrillic capital letter es `\CYRS'.}
+\endsetslot
+
+\setslot{\uc{CYRT}{cyrt}}
+ \comment{Cyrillic capital letter te `\CYRT'.}
+\endsetslot
+
+\setslot{\uc{CYRU}{cyru}}
+ \comment{Cyrillic capital letter u `\CYRU'.}
+\endsetslot
+
+\setslot{\uc{CYRF}{cyrf}}
+ \comment{Cyrillic capital letter ef `\CYRF'.}
+\endsetslot
+
+\setslot{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ha `\CYRH'.}
+\endsetslot
+
+\setslot{\uc{CYRC}{cyrc}}
+ \comment{Cyrillic capital letter tse `\CYRC'.}
+\endsetslot
+
+\setslot{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter che `\CYRCH'.}
+\endsetslot
+
+\setslot{\uc{CYRSH}{cyrsh}}
+ \comment{Cyrillic capital letter sha `\CYRSH'.}
+\endsetslot
+
+\setslot{\uc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic capital letter shcha `\CYRSHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.}
+\endsetslot
+
+\setslot{\uc{CYRERY}{cyrery}}
+ \comment{Cyrillic capital letter yeru `\CYRERY'.}
+\endsetslot
+
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYREREV}{cyrerev}}
+ \comment{Cyrillic capital letter e `\CYREREV'.}
+\endsetslot
+
+\setslot{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yu `\CYRYU'.}
+\endsetslot
+
+\setslot{\uc{CYRYA}{cyrya}}
+ \comment{Cyrillic capital letter ya `\CYRYA'.}
+\endsetslot
+
+\setslot{\lc{CYRA}{cyra}}
+ \comment{Cyrillic small letter a `\cyra'.}
+\endsetslot
+
+\setslot{\lc{CYRB}{cyrb}}
+ \comment{Cyrillic small letter be `\cyrb'.}
+\endsetslot
+
+\setslot{\lc{CYRV}{cyrv}}
+ \comment{Cyrillic small letter ve `\cyrv'.}
+\endsetslot
+
+\setslot{\lc{CYRG}{cyrg}}
+ \comment{Cyrillic small letter ghe `\cyrg'.}
+\endsetslot
+
+\setslot{\lc{CYRD}{cyrd}}
+ \comment{Cyrillic small letter de `\cyrd'.}
+\endsetslot
+
+\setslot{\lc{CYRE}{cyre}}
+ \comment{Cyrillic small letter ie `\cyre'.}
+\endsetslot
+
+\setslot{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter zhe `\cyrzh'.}
+\endsetslot
+
+\setslot{\lc{CYRZ}{cyrz}}
+ \comment{Cyrillic small letter ze `\cyrz'.}
+\endsetslot
+
+\setslot{\lc{CYRI}{cyri}}
+ \comment{Cyrillic small letter i `\cyri'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic small letter short i `\cyrishrt'.}
+\endsetslot
+
+\setslot{\lc{CYRK}{cyrk}}
+ \comment{Cyrillic small letter ka `\cyrk'.}
+\endsetslot
+
+\setslot{\lc{CYRL}{cyrl}}
+ \comment{Cyrillic small letter el `\cyrl'.}
+\endsetslot
+
+\setslot{\lc{CYRM}{cyrm}}
+ \comment{Cyrillic small letter em `\cyrm'.}
+\endsetslot
+
+\setslot{\lc{CYRN}{cyrn}}
+ \comment{Cyrillic small letter en `\cyrn'.}
+\endsetslot
+
+\setslot{\lc{CYRO}{cyro}}
+ \comment{Cyrillic small letter o `\cyro'.}
+\endsetslot
+
+\setslot{\lc{CYRP}{cyrp}}
+ \comment{Cyrillic small letter pe `\cyrp'.}
+\endsetslot
+
+\setslot{\lc{CYRR}{cyrr}}
+ \comment{Cyrillic small letter er `\cyrr'.}
+\endsetslot
+
+\setslot{\lc{CYRS}{cyrs}}
+ \comment{Cyrillic small letter es `\cyrs'.}
+\endsetslot
+
+\setslot{\lc{CYRT}{cyrt}}
+ \comment{Cyrillic small letter te `\cyrt'.}
+\endsetslot
+
+\setslot{\lc{CYRU}{cyru}}
+ \comment{Cyrillic small letter u `\cyru'.}
+\endsetslot
+
+\setslot{\lc{CYRF}{cyrf}}
+ \comment{Cyrillic small letter ef `\cyrf'.}
+\endsetslot
+
+\setslot{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ha `\cyrh'.}
+\endsetslot
+
+\setslot{\lc{CYRC}{cyrc}}
+ \comment{Cyrillic small letter tse `\cyrc'.}
+\endsetslot
+
+\setslot{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter che `\cyrch'.}
+\endsetslot
+
+\setslot{\lc{CYRSH}{cyrsh}}
+ \comment{Cyrillic small letter sha `\cyrsh'.}
+\endsetslot
+
+\setslot{\lc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic small letter shcha `\cyrshch'.}
+\endsetslot
+
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter hard sign `\cyrhrdsn'.}
+\endsetslot
+
+\setslot{\lc{CYRERY}{cyrery}}
+ \comment{Cyrillic small letter yeru `\cyrery'.}
+\endsetslot
+
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic small letter soft sign `\cyrsftsn'.}
+\endsetslot
+
+\setslot{\lc{CYREREV}{cyrerev}}
+ \comment{Cyrillic small letter e `\cyrerev'.}
+\endsetslot
+
+\setslot{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yu `\cyryu'.}
+\endsetslot
+
+\setslot{\lc{CYRYA}{cyrya}}
+ \comment{Cyrillic small letter ya `\cyrya'.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrfinst/t2b.etx b/macros/latex/contrib/t2/cyrfinst/t2b.etx
new file mode 100644
index 0000000000..8553be302a
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/t2b.etx
@@ -0,0 +1,1284 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[T2B]{fontenc}
+\usepackage{fontdoc}
+
+\title{The \TeX\ Cyrillic T2B text encoding vector}
+\author{Werner Lemberg, Vladimir Volovich}
+\date{17 July 1998\\
+Version 0.1}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the Cyrillic T2B text encoding.
+The latin part of this file is based on `t1.etx' by
+Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth.
+
+To use this encoding, you should define the following macros:
+\begin{itemize}
+\item \verb|\lc{A}{a}| should return the name of a lower-case
+ glyph, for example `{\tt a}' or `{\tt Asmall}'.
+
+\item \verb|\uc{A}{a}| should return the name of an upper-case
+ glyph, for example `{\tt A}' or `{\tt Amedium}'.
+
+\item \verb|\lctop{Aacute}{aacute}| should return the name of a
+ lower-case composite glyph formed from putting a diacritical above
+ a letter, for example `{\tt aacute}' or `{\tt Aacutesmall}'.
+
+\item \verb|\uctop{Aacute}{aacute}| should return the name of an
+ upper-case composite glyph formed from putting a diacritical above
+ a letter, for example `{\tt Aacute}' or `{\tt Aacutemedium}'.
+
+\item \verb|\lclig{FI}{fi}| should return the name of a lower-case
+ ligature, for example `{\tt fi}' or `{\tt FIsmall}'.
+
+\item \verb|\uclig{FI}{fi}| should return the name of an upper-case
+ ligature, for example `{\tt FI}' or `{\tt FImedium}'.
+
+\item \verb|\digit{zero}| should return the name of a digit, for
+ example `{\tt zero}' or `{\tt zerooldstyle}'.
+\end{itemize}
+These should all expand in the mouth, otherwise you may get error
+messages!
+
+For example, to get the standard upper and lower case font, you should
+define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#2}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#2}
+ \setcommand\uctop#1#2{#1}
+ \setcommand\lclig#1#2{#2}
+ \setcommand\uclig#1#2{#1}
+ \setcommand\digit#1{#1}
+\end{verbatim}
+To get a caps and small caps font with old style digits and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1small}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#1small}
+ \setcommand\uctop#1#2{#1}
+ \setcommand\lclig#1#2{#2small}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1oldstyle}
+\end{verbatim}
+To get an all-caps font with medium-cap composite letters and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#1medium}
+ \setcommand\uctop#1#2{#1medium}
+ \setcommand\lclig#1#2{#1spaced}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1}
+\end{verbatim}
+This document describes the upper and lower case encoding.
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+\comment{\section{Default values}}
+
+\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - T2B}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\else
+ \setint{xheight}{500}
+\fi
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr>
+% 1997/02/07 to calculate values for extra EC fontdimens
+% Amended by SPQR 1997/02/09
+\ifisglyph{X}\then
+ \setint{capheight}{\height{X}}
+\else
+ \setint{capheight}{750}
+\fi
+
+\ifisglyph{d}\then
+ \setint{ascender}{\height{d}}
+\else
+ \ifisint{capheight}\then
+ \setint{ascender}{\int{capheight}}
+ \else
+ \setint{ascender}{750}
+\fi\fi
+
+\ifisglyph{Aring}\then
+ \setint{acccapheight}{\height{Aring}}
+\else
+ \setint{acccapheight}{999}
+\fi
+
+\ifisint{descender_neg}\then
+ \setint{descender}{\neg{\int{descender_neg}}}
+ \else
+ \ifisglyph{p}\then
+ \setint{descender}{\depth{p}}
+ \else
+ \setint{descender}{250}
+ \fi
+\fi
+
+\ifisglyph{Aring}\then
+ \setint{maxheight}{\height{Aring}}
+\else
+ \setint{maxheight}{1000}
+\fi
+
+\ifisint{maxdepth_neg}\then
+ \setint{maxdepth}{\neg{\int{maxdepth_neg}}}
+\else
+ \ifisglyph{j}\then
+ \setint{maxdepth}{\depth{j}}
+ \else
+ \setint{maxdepth}{250}
+ \fi
+\fi
+
+\ifisglyph{six}\then
+ \setint{digitwidth}{\width{six}}
+\else
+ \setint{digitwidth}{500}
+\fi
+
+\setint{capstem}{0} % not in AFM files
+\setint{baselineskip}{1200}
+% end changes by Thierry
+
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+\fi
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> 1997/02/07
+\setint{fontdimen(8)}{\int{capheight}} % cap height
+\setint{fontdimen(9)}{\int{ascender}} % ascender
+\setint{fontdimen(10)}{\int{acccapheight}} % accented cap height
+\setint{fontdimen(11)}{\int{descender}} % descender's depth
+\setint{fontdimen(12)}{\int{maxheight}} % max height
+\setint{fontdimen(13)}{\int{maxdepth}} % max depth
+\setint{fontdimen(14)}{\int{digitwidth}} % digit width
+\setint{fontdimen(15)}{\int{capstem}} % cap_stem
+\setint{fontdimen(16)}{\int{baselineskip}} % baselineskip
+
+
+\comment{\section{The encoding}
+ There are 256 glyphs in this encoding.}
+
+\setslot{\lc{Grave}{grave}}
+ \comment{The grave accent `\`{}'.}
+\endsetslot
+
+\setslot{\lc{Acute}{acute}}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{\lc{Circumflex}{circumflex}}
+ \comment{The circumflex accent `\^{}'.}
+\endsetslot
+
+\setslot{\lc{Tilde}{tilde}}
+ \comment{The tilde accent `\~{}'.}
+\endsetslot
+
+\setslot{\lc{Dieresis}{dieresis}}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\setslot{\lc{Hungarumlaut}{hungarumlaut}}
+ \comment{The long Hungarian umlaut `\H{}'.}
+\endsetslot
+
+\setslot{\lc{Ring}{ring}}
+ \comment{The ring accent `\r{}'.}
+\endsetslot
+
+\setslot{\lc{Caron}{caron}}
+ \comment{The caron or h\'a\v cek accent `\v{}'.}
+\endsetslot
+
+\setslot{\lc{Breve}{breve}}
+ \comment{The breve accent `\u{}'.}
+\endsetslot
+
+\setslot{\lc{Macron}{macron}}
+ \comment{The macron accent `\={}'.}
+\endsetslot
+
+\setslot{\lc{Dotaccent}{dotaccent}}
+ \comment{The dot accent `\.{}'.}
+\endsetslot
+
+\setslot{\lc{Cedilla}{cedilla}}
+ \comment{The cedilla accent `\c{}'.}
+\endsetslot
+
+\setslot{\lc{Ogonek}{ogonek}}
+ \comment{The ogonek accent `\k{}'.}
+\endsetslot
+
+\setslot{CYRpalochka}
+ \comment{Cyrillic letter palochka `\CYRpalochka'.}
+\endsetslot
+
+\setslot{angleleft}
+ \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.}
+\endsetslot
+
+\setslot{angleright}
+ \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.}
+\endsetslot
+
+\setslot{quotedblleft}
+ \comment{The English opening quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\setslot{quotedblright}
+ \comment{The English closing quote mark `\,\textquotedblright\,'.}
+\endsetslot
+
+\setslot{\lc{cyrFlex}{cyrflex}}
+ \comment{Cyrillic circumflex `\f{}'.}
+\endsetslot
+
+\setslot{\lc{dblGrave}{dblgrave}}
+ \comment{Double grave accent `\C{}'.}
+\endsetslot
+
+\setslot{\lc{cyrBreve}{cyrbreve}}
+ \comment{Cyrillic breve `\U{}'.}
+\endsetslot
+
+\setslot{rangedash}
+ \ligature{LIG}{hyphen}{cyrdash}
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `{\tt 1{-}9}'.}
+\endsetslot
+
+\setslot{cyrdash}
+ \comment{Cyrillic em dash---longer than endash, but shorter
+ than english emdash: `\cyrdash'.}
+\endsetslot
+
+\setslot{compwordmark}
+ \comment{An invisible glyph, with zero width and depth, but the
+ height of lowercase letters without ascenders.
+ It is used to stop ligaturing in words like `shelf{}ful'.}
+\endsetslot
+
+\setslot{perthousandzero}
+ \comment{A glyph which is placed after `\%' to produce a
+ `per-thousand', or twice to produce `per-ten-thousand'.
+ Your guess is as good as mine as to what this glyph should look
+ like in a monowidth font.}
+\endsetslot
+
+\setslot{\lc{dotlessI}{dotlessi}}
+ \comment{A dotless i `\i', used to produce accented letters such as
+ `\=\i'.}
+\endsetslot
+
+\setslot{\lc{dotlessJ}{dotlessj}}
+ \comment{A dotless j `\j', used to produce accented letters such as
+ `\=\j'. Most non-\TeX\ fonts do not have this glyph.}
+\endsetslot
+
+\setslot{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+ \comment{The `ff' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FI}{fi}}
+ \comment{The `fi' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FL}{fl}}
+ \comment{The `fl' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFI}{ffi}}
+ \comment{The `ffi' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFL}{ffl}}
+ \comment{The `ffl' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{visiblespace}
+ \comment{A visible space glyph `\textvisiblespace'.}
+\endsetslot
+
+\setslot{exclam}
+ \comment{The exclamation mark `!'.}
+\endsetslot
+
+\setslot{quotedbl}
+ \comment{The `neutral' double quotation mark `\,\textquotedbl\,',
+ included for use in monowidth fonts, or for setting computer
+ programs. Note that the inclusion of this glyph in this slot
+ means that \TeX\ documents which used `{\tt"}' as an
+ input character will no longer work.}
+\endsetslot
+
+\setslot{numbersign}
+ \comment{The hash sign `\#'.}
+\endsetslot
+
+\setslot{dollar}
+ \comment{The dollar sign `\$'.}
+\endsetslot
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{ampersand}
+ \comment{The ampersand sign `\&'.}
+\endsetslot
+
+\setslot{quoteright}
+ \ligature{LIG}{quoteright}{quotedblright}
+ \comment{The English closing single quote mark `\,\textquoteright\,'.}
+\endsetslot
+
+\setslot{parenleft}
+ \comment{The opening parenthesis `('.}
+\endsetslot
+
+\setslot{parenright}
+ \comment{The closing parenthesis `)'.}
+\endsetslot
+
+\setslot{asterisk}
+ \comment{The raised asterisk `*'.}
+\endsetslot
+
+\setslot{plus}
+ \comment{The addition sign `+'.}
+\endsetslot
+
+\setslot{comma}
+ \ligature{LIG}{comma}{quotedblbase}
+ \comment{The comma `,'.}
+\endsetslot
+
+\setslot{hyphen}
+ \ligature{LIG}{hyphen}{rangedash}
+ \ligature{LIG}{hyphenchar}{hyphenchar}
+ \comment{The hyphen `-'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The period `.'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forward oblique `/'.}
+\endsetslot
+
+\setslot{\digit{zero}}
+ \comment{The number `0'. This (and all the other numerals) may be
+ old style or ranging digits.}
+\endsetslot
+
+\setslot{\digit{one}}
+ \comment{The number `1'.}
+\endsetslot
+
+\setslot{\digit{two}}
+ \comment{The number `2'.}
+\endsetslot
+
+\setslot{\digit{three}}
+ \comment{The number `3'.}
+\endsetslot
+
+\setslot{\digit{four}}
+ \comment{The number `4'.}
+\endsetslot
+
+\setslot{\digit{five}}
+ \comment{The number `5'.}
+\endsetslot
+
+\setslot{\digit{six}}
+ \comment{The number `6'.}
+\endsetslot
+
+\setslot{\digit{seven}}
+ \comment{The number `7'.}
+\endsetslot
+
+\setslot{\digit{eight}}
+ \comment{The number `8'.}
+\endsetslot
+
+\setslot{\digit{nine}}
+ \comment{The number `9'.}
+\endsetslot
+
+\setslot{colon}
+ \comment{The colon punctuation mark `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon punctuation mark `;'.}
+\endsetslot
+
+\setslot{less}
+ \ligature{LIG}{less}{guillemotleft}
+ \comment{The less-than sign `\textless'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \ligature{LIG}{greater}{guillemotright}
+ \comment{The greater-than sign `\textgreater'.}
+\endsetslot
+
+\setslot{question}
+ \comment{The question mark `?'.}
+\endsetslot
+
+\setslot{at}
+ \comment{The at sign `@'.}
+\endsetslot
+
+\setslot{\uc{A}{a}}
+ \comment{The letter `A'.}
+\endsetslot
+
+\setslot{\uc{B}{b}}
+ \comment{The letter `B'.}
+\endsetslot
+
+\setslot{\uc{C}{c}}
+ \comment{The letter `C'.}
+\endsetslot
+
+\setslot{\uc{D}{d}}
+ \comment{The letter `D'.}
+\endsetslot
+
+\setslot{\uc{E}{e}}
+ \comment{The letter `E'.}
+\endsetslot
+
+\setslot{\uc{F}{f}}
+ \comment{The letter `F'.}
+\endsetslot
+
+\setslot{\uc{G}{g}}
+ \comment{The letter `G'.}
+\endsetslot
+
+\setslot{\uc{H}{h}}
+ \comment{The letter `H'.}
+\endsetslot
+
+\setslot{\uc{I}{i}}
+ \comment{The letter `I'.}
+\endsetslot
+
+\setslot{\uc{J}{j}}
+ \comment{The letter `J'.}
+\endsetslot
+
+\setslot{\uc{K}{k}}
+ \comment{The letter `K'.}
+\endsetslot
+
+\setslot{\uc{L}{l}}
+ \comment{The letter `L'.}
+\endsetslot
+
+\setslot{\uc{M}{m}}
+ \comment{The letter `M'.}
+\endsetslot
+
+\setslot{\uc{N}{n}}
+ \comment{The letter `N'.}
+\endsetslot
+
+\setslot{\uc{O}{o}}
+ \comment{The letter `O'.}
+\endsetslot
+
+\setslot{\uc{P}{p}}
+ \comment{The letter `P'.}
+\endsetslot
+
+\setslot{\uc{Q}{q}}
+ \comment{The letter `Q'.}
+\endsetslot
+
+\setslot{\uc{R}{r}}
+ \comment{The letter `R'.}
+\endsetslot
+
+\setslot{\uc{S}{s}}
+ \comment{The letter `S'.}
+\endsetslot
+
+\setslot{\uc{T}{t}}
+ \comment{The letter `T'.}
+\endsetslot
+
+\setslot{\uc{U}{u}}
+ \comment{The letter `U'.}
+\endsetslot
+
+\setslot{\uc{V}{v}}
+ \comment{The letter `V'.}
+\endsetslot
+
+\setslot{\uc{W}{w}}
+ \comment{The letter `W'.}
+\endsetslot
+
+\setslot{\uc{X}{x}}
+ \comment{The letter `X'.}
+\endsetslot
+
+\setslot{\uc{Y}{y}}
+ \comment{The letter `Y'.}
+\endsetslot
+
+\setslot{\uc{Z}{z}}
+ \comment{The letter `Z'.}
+\endsetslot
+
+\setslot{bracketleft}
+ \comment{The opening square bracket `['.}
+\endsetslot
+
+\setslot{backslash}
+ \comment{The backwards oblique `\textbackslash'.}
+\endsetslot
+
+\setslot{bracketright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{asciicircum}
+ \comment{The ASCII upward-pointing arrow head `\textasciicircum'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{underscore}
+ \comment{The ASCII underline character `\textunderscore', usually
+ set on the baseline.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{quoteleft}
+ \ligature{LIG}{quoteleft}{quotedblleft}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+\endsetslot
+
+\setslot{\lc{A}{a}}
+ \comment{The letter `a'.}
+\endsetslot
+
+\setslot{\lc{B}{b}}
+ \comment{The letter `b'.}
+\endsetslot
+
+\setslot{\lc{C}{c}}
+ \comment{The letter `c'.}
+\endsetslot
+
+\setslot{\lc{D}{d}}
+ \comment{The letter `d'.}
+\endsetslot
+
+\setslot{\lc{E}{e}}
+ \comment{The letter `e'.}
+\endsetslot
+
+\setslot{\lc{F}{f}}
+\ifisint{monowidth}\then\else
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}}
+ \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}}
+\fi
+ \comment{The letter `f'.}
+\endsetslot
+
+\setslot{\lc{G}{g}}
+ \comment{The letter `g'.}
+\endsetslot
+
+\setslot{\lc{H}{h}}
+ \comment{The letter `h'.}
+\endsetslot
+
+\setslot{\lc{I}{i}}
+ \comment{The letter `i'.}
+\endsetslot
+
+\setslot{\lc{J}{j}}
+ \comment{The letter `j'.}
+\endsetslot
+
+\setslot{\lc{K}{k}}
+ \comment{The letter `k'.}
+\endsetslot
+
+\setslot{\lc{L}{l}}
+ \comment{The letter `l'.}
+\endsetslot
+
+\setslot{\lc{M}{m}}
+ \comment{The letter `m'.}
+\endsetslot
+
+\setslot{\lc{N}{n}}
+ \comment{The letter `n'.}
+\endsetslot
+
+\setslot{\lc{O}{o}}
+ \comment{The letter `o'.}
+\endsetslot
+
+\setslot{\lc{P}{p}}
+ \comment{The letter `p'.}
+\endsetslot
+
+\setslot{\lc{Q}{q}}
+ \comment{The letter `q'.}
+\endsetslot
+
+\setslot{\lc{R}{r}}
+ \comment{The letter `r'.}
+\endsetslot
+
+\setslot{\lc{S}{s}}
+ \comment{The letter `s'.}
+\endsetslot
+
+\setslot{\lc{T}{t}}
+ \comment{The letter `t'.}
+\endsetslot
+
+\setslot{\lc{U}{u}}
+ \comment{The letter `u'.}
+\endsetslot
+
+\setslot{\lc{V}{v}}
+ \comment{The letter `v'.}
+\endsetslot
+
+\setslot{\lc{W}{w}}
+ \comment{The letter `w'.}
+\endsetslot
+
+\setslot{\lc{X}{x}}
+ \comment{The letter `x'.}
+\endsetslot
+
+\setslot{\lc{Y}{y}}
+ \comment{The letter `y'.}
+\endsetslot
+
+\setslot{\lc{Z}{z}}
+ \comment{The letter `z'.}
+\endsetslot
+
+\setslot{braceleft}
+ \comment{The opening curly brace `\textbraceleft'.}
+\endsetslot
+
+\setslot{bar}
+ \comment{The ASCII vertical bar `\textbar'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{braceright}
+ \comment{The closing curly brace `\textbraceright'.}
+\endsetslot
+
+\setslot{asciitilde}
+ \comment{The ASCII tilde `\textasciitilde'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{hyphenchar}
+ \comment{The glyph used for hyphenation in this font, which will
+ almost always be the same as `hyphen'.}
+\endsetslot
+
+\setslot{\uc{CYRGDSCHCRS}{cyrgdschcrs}}
+ \comment{ `\CYRGDSCHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRGDSC}{cyrgdsc}}
+ \comment{ `\CYRGDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.}
+\endsetslot
+
+\setslot{\uc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic capital letter shha `\CYRSHHA'.}
+\endsetslot
+
+\setslot{\uc{CYRZHDSC}{cyrzhdsc}}
+ \comment{Cyrillic capital letter zhe with descender `\CYRZHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRDELTA}{cyrdelta}}
+ \comment{ `\CYRDELTA'.}
+\endsetslot
+
+\setslot{\uc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.}
+\endsetslot
+
+\setslot{\uc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic capital letter lje `\CYRLJE'.}
+\endsetslot
+
+\setslot{\uc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRLDSC}{cyrldsc}}
+ \comment{ `\CYRLDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKHK}{cyrkhk}}
+ \comment{Cyrillic capital letter ka with hook `\CYRKHK'.}
+\endsetslot
+
+\setslot{\uc{CYRLHK}{cyrlhk}}
+ \comment{ `\CYRLHK'.}
+\endsetslot
+
+\setslot{\uc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic capital letter en with descender `\CYRNDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNG}{cyrng}}
+ \comment{Cyrillic capital ligature en ghe `\CYRNG'.}
+\endsetslot
+
+\setslot{\uc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic capital letter en with hook `\CYRNHK'.}
+\endsetslot
+
+\setslot{\uc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic capital letter barred o `\CYROTLD'.}
+\endsetslot
+
+\setslot{\uc{CYRSACRS}{cyrsacrs}}
+ \comment{ `\CYRSACRS'.}
+\endsetslot
+
+\setslot{\uc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic capital letter short u `\CYRUSHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRY}{cyry}}
+ \comment{Cyrillic capital letter straight u `\CYRY'.}
+\endsetslot
+
+\setslot{\uc{CYRHHCRS}{cyrhhcrs}}
+ \comment{ `\CYRHHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRHHK}{cyrhhk}}
+ \comment{ `\CYRHHK'.}
+\endsetslot
+
+\setslot{\uc{CYRCHLDSC}{cyrchldsc}}
+ \comment{Cyrillic capital letter khakassian che `\CYRCHLDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic capital letter nje `\CYRNJE'.}
+\endsetslot
+
+\setslot{\uc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic capital letter schwa `\CYRSCHWA'.}
+\endsetslot
+
+\setslot{\uc{CYREPS}{cyreps}}
+ \comment{ `\CYREPS'.}
+\endsetslot
+
+\setslot{\uc{CYRYO}{cyryo}}
+ \comment{Cyrillic capital letter io `\CYRYO'.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{\lc{CYRGDSCHCRS}{cyrgdschcrs}}
+ \comment{ `\cyrgdschcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRGDSC}{cyrgdsc}}
+ \comment{ `\cyrgdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.}
+\endsetslot
+
+\setslot{\lc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic small letter shha `\cyrshha'.}
+\endsetslot
+
+\setslot{\lc{CYRZHDSC}{cyrzhdsc}}
+ \comment{Cyrillic small letter zhe with descender `\cyrzhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRDELTA}{cyrdelta}}
+ \comment{ `\cyrdelta'.}
+\endsetslot
+
+\setslot{\lc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.}
+\endsetslot
+
+\setslot{\lc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic small letter lje `\cyrlje'.}
+\endsetslot
+
+\setslot{\lc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic small letter ka with descender `\cyrkdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRLDSC}{cyrldsc}}
+ \comment{ `\cyrldsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKHK}{cyrkhk}}
+ \comment{Cyrillic small letter ka with hook `\cyrkhk'.}
+\endsetslot
+
+\setslot{\lc{CYRLHK}{cyrlhk}}
+ \comment{ `\cyrlhk'.}
+\endsetslot
+
+\setslot{\lc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic small letter en with descender `\cyrndsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNG}{cyrng}}
+ \comment{Cyrillic small ligature en ghe `\cyrng'.}
+\endsetslot
+
+\setslot{\lc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic small letter en with hook `\cyrnhk'.}
+\endsetslot
+
+\setslot{\lc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic small letter barred o `\cyrotld'.}
+\endsetslot
+
+\setslot{\lc{CYRSACRS}{cyrsacrs}}
+ \comment{ `\cyrsacrs'.}
+\endsetslot
+
+\setslot{\lc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic small letter short u `\cyrushrt'.}
+\endsetslot
+
+\setslot{\lc{CYRY}{cyry}}
+ \comment{Cyrillic small letter straight u `\cyry'.}
+\endsetslot
+
+\setslot{\lc{CYRHHCRS}{cyrhhcrs}}
+ \comment{ `\cyrhhcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic small letter ha with descender `\cyrhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRHHK}{cyrhhk}}
+ \comment{ `\cyrhhk'.}
+\endsetslot
+
+\setslot{\lc{CYRCHLDSC}{cyrchldsc}}
+ \comment{Cyrillic small letter khakassian che `\cyrchldsc'.}
+\endsetslot
+
+\setslot{\lc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic small letter che with descender `\cyrchrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic small letter nje `\cyrnje'.}
+\endsetslot
+
+\setslot{\lc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic small letter schwa `\cyrschwa'.}
+\endsetslot
+
+\setslot{\lc{CYREPS}{cyreps}}
+ \comment{ `\cyreps'.}
+\endsetslot
+
+\setslot{\lc{CYRYO}{cyryo}}
+ \comment{Cyrillic small letter io `\cyryo'.}
+\endsetslot
+
+\setslot{quotedblbase}
+ \comment{A German double quote mark `\quotedblbase' similar to two commas,
+ but with tighter letterspacing and different sidebearings.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A Cyrillic double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A Cyrillic double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uc{CYRA}{cyra}}
+ \comment{Cyrillic capital letter a `\CYRA'.}
+\endsetslot
+
+\setslot{\uc{CYRB}{cyrb}}
+ \comment{Cyrillic capital letter be `\CYRB'.}
+\endsetslot
+
+\setslot{\uc{CYRV}{cyrv}}
+ \comment{Cyrillic capital letter ve `\CYRV'.}
+\endsetslot
+
+\setslot{\uc{CYRG}{cyrg}}
+ \comment{Cyrillic capital letter ghe `\CYRG'.}
+\endsetslot
+
+\setslot{\uc{CYRD}{cyrd}}
+ \comment{Cyrillic capital letter de `\CYRD'.}
+\endsetslot
+
+\setslot{\uc{CYRE}{cyre}}
+ \comment{Cyrillic capital letter ie `\CYRE'.}
+\endsetslot
+
+\setslot{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter zhe `\CYRZH'.}
+\endsetslot
+
+\setslot{\uc{CYRZ}{cyrz}}
+ \comment{Cyrillic capital letter ze `\CYRZ'.}
+\endsetslot
+
+\setslot{\uc{CYRI}{cyri}}
+ \comment{Cyrillic capital letter i `\CYRI'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic capital letter short i `\CYRISHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRK}{cyrk}}
+ \comment{Cyrillic capital letter ka `\CYRK'.}
+\endsetslot
+
+\setslot{\uc{CYRL}{cyrl}}
+ \comment{Cyrillic capital letter el `\CYRL'.}
+\endsetslot
+
+\setslot{\uc{CYRM}{cyrm}}
+ \comment{Cyrillic capital letter em `\CYRM'.}
+\endsetslot
+
+\setslot{\uc{CYRN}{cyrn}}
+ \comment{Cyrillic capital letter en `\CYRN'.}
+\endsetslot
+
+\setslot{\uc{CYRO}{cyro}}
+ \comment{Cyrillic capital letter o `\CYRO'.}
+\endsetslot
+
+\setslot{\uc{CYRP}{cyrp}}
+ \comment{Cyrillic capital letter pe `\CYRP'.}
+\endsetslot
+
+\setslot{\uc{CYRR}{cyrr}}
+ \comment{Cyrillic capital letter er `\CYRR'.}
+\endsetslot
+
+\setslot{\uc{CYRS}{cyrs}}
+ \comment{Cyrillic capital letter es `\CYRS'.}
+\endsetslot
+
+\setslot{\uc{CYRT}{cyrt}}
+ \comment{Cyrillic capital letter te `\CYRT'.}
+\endsetslot
+
+\setslot{\uc{CYRU}{cyru}}
+ \comment{Cyrillic capital letter u `\CYRU'.}
+\endsetslot
+
+\setslot{\uc{CYRF}{cyrf}}
+ \comment{Cyrillic capital letter ef `\CYRF'.}
+\endsetslot
+
+\setslot{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ha `\CYRH'.}
+\endsetslot
+
+\setslot{\uc{CYRC}{cyrc}}
+ \comment{Cyrillic capital letter tse `\CYRC'.}
+\endsetslot
+
+\setslot{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter che `\CYRCH'.}
+\endsetslot
+
+\setslot{\uc{CYRSH}{cyrsh}}
+ \comment{Cyrillic capital letter sha `\CYRSH'.}
+\endsetslot
+
+\setslot{\uc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic capital letter shcha `\CYRSHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.}
+\endsetslot
+
+\setslot{\uc{CYRERY}{cyrery}}
+ \comment{Cyrillic capital letter yeru `\CYRERY'.}
+\endsetslot
+
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYREREV}{cyrerev}}
+ \comment{Cyrillic capital letter e `\CYREREV'.}
+\endsetslot
+
+\setslot{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yu `\CYRYU'.}
+\endsetslot
+
+\setslot{\uc{CYRYA}{cyrya}}
+ \comment{Cyrillic capital letter ya `\CYRYA'.}
+\endsetslot
+
+\setslot{\lc{CYRA}{cyra}}
+ \comment{Cyrillic small letter a `\cyra'.}
+\endsetslot
+
+\setslot{\lc{CYRB}{cyrb}}
+ \comment{Cyrillic small letter be `\cyrb'.}
+\endsetslot
+
+\setslot{\lc{CYRV}{cyrv}}
+ \comment{Cyrillic small letter ve `\cyrv'.}
+\endsetslot
+
+\setslot{\lc{CYRG}{cyrg}}
+ \comment{Cyrillic small letter ghe `\cyrg'.}
+\endsetslot
+
+\setslot{\lc{CYRD}{cyrd}}
+ \comment{Cyrillic small letter de `\cyrd'.}
+\endsetslot
+
+\setslot{\lc{CYRE}{cyre}}
+ \comment{Cyrillic small letter ie `\cyre'.}
+\endsetslot
+
+\setslot{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter zhe `\cyrzh'.}
+\endsetslot
+
+\setslot{\lc{CYRZ}{cyrz}}
+ \comment{Cyrillic small letter ze `\cyrz'.}
+\endsetslot
+
+\setslot{\lc{CYRI}{cyri}}
+ \comment{Cyrillic small letter i `\cyri'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic small letter short i `\cyrishrt'.}
+\endsetslot
+
+\setslot{\lc{CYRK}{cyrk}}
+ \comment{Cyrillic small letter ka `\cyrk'.}
+\endsetslot
+
+\setslot{\lc{CYRL}{cyrl}}
+ \comment{Cyrillic small letter el `\cyrl'.}
+\endsetslot
+
+\setslot{\lc{CYRM}{cyrm}}
+ \comment{Cyrillic small letter em `\cyrm'.}
+\endsetslot
+
+\setslot{\lc{CYRN}{cyrn}}
+ \comment{Cyrillic small letter en `\cyrn'.}
+\endsetslot
+
+\setslot{\lc{CYRO}{cyro}}
+ \comment{Cyrillic small letter o `\cyro'.}
+\endsetslot
+
+\setslot{\lc{CYRP}{cyrp}}
+ \comment{Cyrillic small letter pe `\cyrp'.}
+\endsetslot
+
+\setslot{\lc{CYRR}{cyrr}}
+ \comment{Cyrillic small letter er `\cyrr'.}
+\endsetslot
+
+\setslot{\lc{CYRS}{cyrs}}
+ \comment{Cyrillic small letter es `\cyrs'.}
+\endsetslot
+
+\setslot{\lc{CYRT}{cyrt}}
+ \comment{Cyrillic small letter te `\cyrt'.}
+\endsetslot
+
+\setslot{\lc{CYRU}{cyru}}
+ \comment{Cyrillic small letter u `\cyru'.}
+\endsetslot
+
+\setslot{\lc{CYRF}{cyrf}}
+ \comment{Cyrillic small letter ef `\cyrf'.}
+\endsetslot
+
+\setslot{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ha `\cyrh'.}
+\endsetslot
+
+\setslot{\lc{CYRC}{cyrc}}
+ \comment{Cyrillic small letter tse `\cyrc'.}
+\endsetslot
+
+\setslot{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter che `\cyrch'.}
+\endsetslot
+
+\setslot{\lc{CYRSH}{cyrsh}}
+ \comment{Cyrillic small letter sha `\cyrsh'.}
+\endsetslot
+
+\setslot{\lc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic small letter shcha `\cyrshch'.}
+\endsetslot
+
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter hard sign `\cyrhrdsn'.}
+\endsetslot
+
+\setslot{\lc{CYRERY}{cyrery}}
+ \comment{Cyrillic small letter yeru `\cyrery'.}
+\endsetslot
+
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic small letter soft sign `\cyrsftsn'.}
+\endsetslot
+
+\setslot{\lc{CYREREV}{cyrerev}}
+ \comment{Cyrillic small letter e `\cyrerev'.}
+\endsetslot
+
+\setslot{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yu `\cyryu'.}
+\endsetslot
+
+\setslot{\lc{CYRYA}{cyrya}}
+ \comment{Cyrillic small letter ya `\cyrya'.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrfinst/t2c.etx b/macros/latex/contrib/t2/cyrfinst/t2c.etx
new file mode 100644
index 0000000000..4f2d5f99b8
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/t2c.etx
@@ -0,0 +1,1284 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[T2C]{fontenc}
+\usepackage{fontdoc}
+
+\title{The \TeX\ Cyrillic T2C text encoding vector}
+\author{Werner Lemberg, Vladimir Volovich}
+\date{17 July 1998\\
+Version 0.1}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the Cyrillic T2C text encoding.
+The latin part of this file is based on `t1.etx' by
+Alan Jeffrey, Sebastian Rahtz, Ulrik Vieth.
+
+To use this encoding, you should define the following macros:
+\begin{itemize}
+\item \verb|\lc{A}{a}| should return the name of a lower-case
+ glyph, for example `{\tt a}' or `{\tt Asmall}'.
+
+\item \verb|\uc{A}{a}| should return the name of an upper-case
+ glyph, for example `{\tt A}' or `{\tt Amedium}'.
+
+\item \verb|\lctop{Aacute}{aacute}| should return the name of a
+ lower-case composite glyph formed from putting a diacritical above
+ a letter, for example `{\tt aacute}' or `{\tt Aacutesmall}'.
+
+\item \verb|\uctop{Aacute}{aacute}| should return the name of an
+ upper-case composite glyph formed from putting a diacritical above
+ a letter, for example `{\tt Aacute}' or `{\tt Aacutemedium}'.
+
+\item \verb|\lclig{FI}{fi}| should return the name of a lower-case
+ ligature, for example `{\tt fi}' or `{\tt FIsmall}'.
+
+\item \verb|\uclig{FI}{fi}| should return the name of an upper-case
+ ligature, for example `{\tt FI}' or `{\tt FImedium}'.
+
+\item \verb|\digit{zero}| should return the name of a digit, for
+ example `{\tt zero}' or `{\tt zerooldstyle}'.
+\end{itemize}
+These should all expand in the mouth, otherwise you may get error
+messages!
+
+For example, to get the standard upper and lower case font, you should
+define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#2}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#2}
+ \setcommand\uctop#1#2{#1}
+ \setcommand\lclig#1#2{#2}
+ \setcommand\uclig#1#2{#1}
+ \setcommand\digit#1{#1}
+\end{verbatim}
+To get a caps and small caps font with old style digits and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1small}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#1small}
+ \setcommand\uctop#1#2{#1}
+ \setcommand\lclig#1#2{#2small}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1oldstyle}
+\end{verbatim}
+To get an all-caps font with medium-cap composite letters and letter
+spacing, you should define:
+\begin{verbatim}
+ \setcommand\lc#1#2{#1}
+ \setcommand\uc#1#2{#1}
+ \setcommand\lctop#1#2{#1medium}
+ \setcommand\uctop#1#2{#1medium}
+ \setcommand\lclig#1#2{#1spaced}
+ \setcommand\uclig#1#2{#1spaced}
+ \setcommand\digit#1{#1}
+\end{verbatim}
+This document describes the upper and lower case encoding.
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+\comment{\section{Default values}}
+
+\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - T2C}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\else
+ \setint{xheight}{500}
+\fi
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\else
+ \setint{interword}{333}
+\fi\fi
+
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr>
+% 1997/02/07 to calculate values for extra EC fontdimens
+% Amended by SPQR 1997/02/09
+\ifisglyph{X}\then
+ \setint{capheight}{\height{X}}
+\else
+ \setint{capheight}{750}
+\fi
+
+\ifisglyph{d}\then
+ \setint{ascender}{\height{d}}
+\else
+ \ifisint{capheight}\then
+ \setint{ascender}{\int{capheight}}
+ \else
+ \setint{ascender}{750}
+\fi\fi
+
+\ifisglyph{Aring}\then
+ \setint{acccapheight}{\height{Aring}}
+\else
+ \setint{acccapheight}{999}
+\fi
+
+\ifisint{descender_neg}\then
+ \setint{descender}{\neg{\int{descender_neg}}}
+ \else
+ \ifisglyph{p}\then
+ \setint{descender}{\depth{p}}
+ \else
+ \setint{descender}{250}
+ \fi
+\fi
+
+\ifisglyph{Aring}\then
+ \setint{maxheight}{\height{Aring}}
+\else
+ \setint{maxheight}{1000}
+\fi
+
+\ifisint{maxdepth_neg}\then
+ \setint{maxdepth}{\neg{\int{maxdepth_neg}}}
+\else
+ \ifisglyph{j}\then
+ \setint{maxdepth}{\depth{j}}
+ \else
+ \setint{maxdepth}{250}
+ \fi
+\fi
+
+\ifisglyph{six}\then
+ \setint{digitwidth}{\width{six}}
+\else
+ \setint{digitwidth}{500}
+\fi
+
+\setint{capstem}{0} % not in AFM files
+\setint{baselineskip}{1200}
+% end changes by Thierry
+
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+\fi
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> 1997/02/07
+\setint{fontdimen(8)}{\int{capheight}} % cap height
+\setint{fontdimen(9)}{\int{ascender}} % ascender
+\setint{fontdimen(10)}{\int{acccapheight}} % accented cap height
+\setint{fontdimen(11)}{\int{descender}} % descender's depth
+\setint{fontdimen(12)}{\int{maxheight}} % max height
+\setint{fontdimen(13)}{\int{maxdepth}} % max depth
+\setint{fontdimen(14)}{\int{digitwidth}} % digit width
+\setint{fontdimen(15)}{\int{capstem}} % cap_stem
+\setint{fontdimen(16)}{\int{baselineskip}} % baselineskip
+
+
+\comment{\section{The encoding}
+ There are 256 glyphs in this encoding.}
+
+\setslot{\lc{Grave}{grave}}
+ \comment{The grave accent `\`{}'.}
+\endsetslot
+
+\setslot{\lc{Acute}{acute}}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{\lc{Circumflex}{circumflex}}
+ \comment{The circumflex accent `\^{}'.}
+\endsetslot
+
+\setslot{\lc{Tilde}{tilde}}
+ \comment{The tilde accent `\~{}'.}
+\endsetslot
+
+\setslot{\lc{Dieresis}{dieresis}}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\setslot{\lc{Hungarumlaut}{hungarumlaut}}
+ \comment{The long Hungarian umlaut `\H{}'.}
+\endsetslot
+
+\setslot{\lc{Ring}{ring}}
+ \comment{The ring accent `\r{}'.}
+\endsetslot
+
+\setslot{\lc{Caron}{caron}}
+ \comment{The caron or h\'a\v cek accent `\v{}'.}
+\endsetslot
+
+\setslot{\lc{Breve}{breve}}
+ \comment{The breve accent `\u{}'.}
+\endsetslot
+
+\setslot{\lc{Macron}{macron}}
+ \comment{The macron accent `\={}'.}
+\endsetslot
+
+\setslot{\lc{Dotaccent}{dotaccent}}
+ \comment{The dot accent `\.{}'.}
+\endsetslot
+
+\setslot{\lc{Cedilla}{cedilla}}
+ \comment{The cedilla accent `\c{}'.}
+\endsetslot
+
+\setslot{\lc{Ogonek}{ogonek}}
+ \comment{The ogonek accent `\k{}'.}
+\endsetslot
+
+\setslot{CYRpalochka}
+ \comment{Cyrillic letter palochka `\CYRpalochka'.}
+\endsetslot
+
+\setslot{angleleft}
+ \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.}
+\endsetslot
+
+\setslot{angleright}
+ \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.}
+\endsetslot
+
+\setslot{quotedblleft}
+ \comment{The English opening quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\setslot{quotedblright}
+ \comment{The English closing quote mark `\,\textquotedblright\,'.}
+\endsetslot
+
+\setslot{\lc{cyrFlex}{cyrflex}}
+ \comment{Cyrillic circumflex `\f{}'.}
+\endsetslot
+
+\setslot{\lc{dblGrave}{dblgrave}}
+ \comment{Double grave accent `\C{}'.}
+\endsetslot
+
+\setslot{\lc{cyrBreve}{cyrbreve}}
+ \comment{Cyrillic breve `\U{}'.}
+\endsetslot
+
+\setslot{rangedash}
+ \ligature{LIG}{hyphen}{cyrdash}
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `{\tt 1{-}9}'.}
+\endsetslot
+
+\setslot{cyrdash}
+ \comment{Cyrillic em dash---longer than endash, but shorter
+ than english emdash: `\cyrdash'.}
+\endsetslot
+
+\setslot{compwordmark}
+ \comment{An invisible glyph, with zero width and depth, but the
+ height of lowercase letters without ascenders.
+ It is used to stop ligaturing in words like `shelf{}ful'.}
+\endsetslot
+
+\setslot{perthousandzero}
+ \comment{A glyph which is placed after `\%' to produce a
+ `per-thousand', or twice to produce `per-ten-thousand'.
+ Your guess is as good as mine as to what this glyph should look
+ like in a monowidth font.}
+\endsetslot
+
+\setslot{\lc{dotlessI}{dotlessi}}
+ \comment{A dotless i `\i', used to produce accented letters such as
+ `\=\i'.}
+\endsetslot
+
+\setslot{\lc{dotlessJ}{dotlessj}}
+ \comment{A dotless j `\j', used to produce accented letters such as
+ `\=\j'. Most non-\TeX\ fonts do not have this glyph.}
+\endsetslot
+
+\setslot{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+ \comment{The `ff' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FI}{fi}}
+ \comment{The `fi' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FL}{fl}}
+ \comment{The `fl' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFI}{ffi}}
+ \comment{The `ffi' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{\lclig{FFL}{ffl}}
+ \comment{The `ffl' ligature. It should be three characters wide in a
+ monowidth font.}
+\endsetslot
+
+\setslot{visiblespace}
+ \comment{A visible space glyph `\textvisiblespace'.}
+\endsetslot
+
+\setslot{exclam}
+ \comment{The exclamation mark `!'.}
+\endsetslot
+
+\setslot{quotedbl}
+ \comment{The `neutral' double quotation mark `\,\textquotedbl\,',
+ included for use in monowidth fonts, or for setting computer
+ programs. Note that the inclusion of this glyph in this slot
+ means that \TeX\ documents which used `{\tt"}' as an
+ input character will no longer work.}
+\endsetslot
+
+\setslot{numbersign}
+ \comment{The hash sign `\#'.}
+\endsetslot
+
+\setslot{dollar}
+ \comment{The dollar sign `\$'.}
+\endsetslot
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{ampersand}
+ \comment{The ampersand sign `\&'.}
+\endsetslot
+
+\setslot{quoteright}
+ \ligature{LIG}{quoteright}{quotedblright}
+ \comment{The English closing single quote mark `\,\textquoteright\,'.}
+\endsetslot
+
+\setslot{parenleft}
+ \comment{The opening parenthesis `('.}
+\endsetslot
+
+\setslot{parenright}
+ \comment{The closing parenthesis `)'.}
+\endsetslot
+
+\setslot{asterisk}
+ \comment{The raised asterisk `*'.}
+\endsetslot
+
+\setslot{plus}
+ \comment{The addition sign `+'.}
+\endsetslot
+
+\setslot{comma}
+ \ligature{LIG}{comma}{quotedblbase}
+ \comment{The comma `,'.}
+\endsetslot
+
+\setslot{hyphen}
+ \ligature{LIG}{hyphen}{rangedash}
+ \ligature{LIG}{hyphenchar}{hyphenchar}
+ \comment{The hyphen `-'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The period `.'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forward oblique `/'.}
+\endsetslot
+
+\setslot{\digit{zero}}
+ \comment{The number `0'. This (and all the other numerals) may be
+ old style or ranging digits.}
+\endsetslot
+
+\setslot{\digit{one}}
+ \comment{The number `1'.}
+\endsetslot
+
+\setslot{\digit{two}}
+ \comment{The number `2'.}
+\endsetslot
+
+\setslot{\digit{three}}
+ \comment{The number `3'.}
+\endsetslot
+
+\setslot{\digit{four}}
+ \comment{The number `4'.}
+\endsetslot
+
+\setslot{\digit{five}}
+ \comment{The number `5'.}
+\endsetslot
+
+\setslot{\digit{six}}
+ \comment{The number `6'.}
+\endsetslot
+
+\setslot{\digit{seven}}
+ \comment{The number `7'.}
+\endsetslot
+
+\setslot{\digit{eight}}
+ \comment{The number `8'.}
+\endsetslot
+
+\setslot{\digit{nine}}
+ \comment{The number `9'.}
+\endsetslot
+
+\setslot{colon}
+ \comment{The colon punctuation mark `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon punctuation mark `;'.}
+\endsetslot
+
+\setslot{less}
+ \ligature{LIG}{less}{guillemotleft}
+ \comment{The less-than sign `\textless'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \ligature{LIG}{greater}{guillemotright}
+ \comment{The greater-than sign `\textgreater'.}
+\endsetslot
+
+\setslot{question}
+ \comment{The question mark `?'.}
+\endsetslot
+
+\setslot{at}
+ \comment{The at sign `@'.}
+\endsetslot
+
+\setslot{\uc{A}{a}}
+ \comment{The letter `A'.}
+\endsetslot
+
+\setslot{\uc{B}{b}}
+ \comment{The letter `B'.}
+\endsetslot
+
+\setslot{\uc{C}{c}}
+ \comment{The letter `C'.}
+\endsetslot
+
+\setslot{\uc{D}{d}}
+ \comment{The letter `D'.}
+\endsetslot
+
+\setslot{\uc{E}{e}}
+ \comment{The letter `E'.}
+\endsetslot
+
+\setslot{\uc{F}{f}}
+ \comment{The letter `F'.}
+\endsetslot
+
+\setslot{\uc{G}{g}}
+ \comment{The letter `G'.}
+\endsetslot
+
+\setslot{\uc{H}{h}}
+ \comment{The letter `H'.}
+\endsetslot
+
+\setslot{\uc{I}{i}}
+ \comment{The letter `I'.}
+\endsetslot
+
+\setslot{\uc{J}{j}}
+ \comment{The letter `J'.}
+\endsetslot
+
+\setslot{\uc{K}{k}}
+ \comment{The letter `K'.}
+\endsetslot
+
+\setslot{\uc{L}{l}}
+ \comment{The letter `L'.}
+\endsetslot
+
+\setslot{\uc{M}{m}}
+ \comment{The letter `M'.}
+\endsetslot
+
+\setslot{\uc{N}{n}}
+ \comment{The letter `N'.}
+\endsetslot
+
+\setslot{\uc{O}{o}}
+ \comment{The letter `O'.}
+\endsetslot
+
+\setslot{\uc{P}{p}}
+ \comment{The letter `P'.}
+\endsetslot
+
+\setslot{\uc{Q}{q}}
+ \comment{The letter `Q'.}
+\endsetslot
+
+\setslot{\uc{R}{r}}
+ \comment{The letter `R'.}
+\endsetslot
+
+\setslot{\uc{S}{s}}
+ \comment{The letter `S'.}
+\endsetslot
+
+\setslot{\uc{T}{t}}
+ \comment{The letter `T'.}
+\endsetslot
+
+\setslot{\uc{U}{u}}
+ \comment{The letter `U'.}
+\endsetslot
+
+\setslot{\uc{V}{v}}
+ \comment{The letter `V'.}
+\endsetslot
+
+\setslot{\uc{W}{w}}
+ \comment{The letter `W'.}
+\endsetslot
+
+\setslot{\uc{X}{x}}
+ \comment{The letter `X'.}
+\endsetslot
+
+\setslot{\uc{Y}{y}}
+ \comment{The letter `Y'.}
+\endsetslot
+
+\setslot{\uc{Z}{z}}
+ \comment{The letter `Z'.}
+\endsetslot
+
+\setslot{bracketleft}
+ \comment{The opening square bracket `['.}
+\endsetslot
+
+\setslot{backslash}
+ \comment{The backwards oblique `\textbackslash'.}
+\endsetslot
+
+\setslot{bracketright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{asciicircum}
+ \comment{The ASCII upward-pointing arrow head `\textasciicircum'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{underscore}
+ \comment{The ASCII underline character `\textunderscore', usually
+ set on the baseline.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{quoteleft}
+ \ligature{LIG}{quoteleft}{quotedblleft}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+\endsetslot
+
+\setslot{\lc{A}{a}}
+ \comment{The letter `a'.}
+\endsetslot
+
+\setslot{\lc{B}{b}}
+ \comment{The letter `b'.}
+\endsetslot
+
+\setslot{\lc{C}{c}}
+ \comment{The letter `c'.}
+\endsetslot
+
+\setslot{\lc{D}{d}}
+ \comment{The letter `d'.}
+\endsetslot
+
+\setslot{\lc{E}{e}}
+ \comment{The letter `e'.}
+\endsetslot
+
+\setslot{\lc{F}{f}}
+\ifisint{monowidth}\then\else
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FI}{fi}}
+ \ligature{LIG}{\lc{F}{f}}{\lclig{FF}{ff}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FL}{fl}}
+\fi
+ \comment{The letter `f'.}
+\endsetslot
+
+\setslot{\lc{G}{g}}
+ \comment{The letter `g'.}
+\endsetslot
+
+\setslot{\lc{H}{h}}
+ \comment{The letter `h'.}
+\endsetslot
+
+\setslot{\lc{I}{i}}
+ \comment{The letter `i'.}
+\endsetslot
+
+\setslot{\lc{J}{j}}
+ \comment{The letter `j'.}
+\endsetslot
+
+\setslot{\lc{K}{k}}
+ \comment{The letter `k'.}
+\endsetslot
+
+\setslot{\lc{L}{l}}
+ \comment{The letter `l'.}
+\endsetslot
+
+\setslot{\lc{M}{m}}
+ \comment{The letter `m'.}
+\endsetslot
+
+\setslot{\lc{N}{n}}
+ \comment{The letter `n'.}
+\endsetslot
+
+\setslot{\lc{O}{o}}
+ \comment{The letter `o'.}
+\endsetslot
+
+\setslot{\lc{P}{p}}
+ \comment{The letter `p'.}
+\endsetslot
+
+\setslot{\lc{Q}{q}}
+ \comment{The letter `q'.}
+\endsetslot
+
+\setslot{\lc{R}{r}}
+ \comment{The letter `r'.}
+\endsetslot
+
+\setslot{\lc{S}{s}}
+ \comment{The letter `s'.}
+\endsetslot
+
+\setslot{\lc{T}{t}}
+ \comment{The letter `t'.}
+\endsetslot
+
+\setslot{\lc{U}{u}}
+ \comment{The letter `u'.}
+\endsetslot
+
+\setslot{\lc{V}{v}}
+ \comment{The letter `v'.}
+\endsetslot
+
+\setslot{\lc{W}{w}}
+ \comment{The letter `w'.}
+\endsetslot
+
+\setslot{\lc{X}{x}}
+ \comment{The letter `x'.}
+\endsetslot
+
+\setslot{\lc{Y}{y}}
+ \comment{The letter `y'.}
+\endsetslot
+
+\setslot{\lc{Z}{z}}
+ \comment{The letter `z'.}
+\endsetslot
+
+\setslot{braceleft}
+ \comment{The opening curly brace `\textbraceleft'.}
+\endsetslot
+
+\setslot{bar}
+ \comment{The ASCII vertical bar `\textbar'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{braceright}
+ \comment{The closing curly brace `\textbraceright'.}
+\endsetslot
+
+\setslot{asciitilde}
+ \comment{The ASCII tilde `\textasciitilde'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{hyphenchar}
+ \comment{The glyph used for hyphenation in this font, which will
+ almost always be the same as `hyphen'.}
+\endsetslot
+
+\setslot{\uc{CYRPHK}{cyrphk}}
+ \comment{Cyrillic capital letter pe with middle hook `\CYRPHK'.}
+\endsetslot
+
+\setslot{\uc{CYRTETSE}{cyrtetse}}
+ \comment{Cyrillic capital ligature te tse `\CYRTETSE'.}
+\endsetslot
+
+\setslot{\uc{CYRTDSC}{cyrtdsc}}
+ \comment{Cyrillic capital letter te with descender `\CYRTDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.}
+\endsetslot
+
+\setslot{\uc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic capital letter shha `\CYRSHHA'.}
+\endsetslot
+
+\setslot{\uc{CYRRDSC}{cyrrdsc}}
+ \comment{ `\CYRRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRRTICK}{cyrrtick}}
+ \comment{ `\CYRRTICK'.}
+\endsetslot
+
+\setslot{\uc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.}
+\endsetslot
+
+\setslot{\uc{CYRMDSC}{cyrmdsc}}
+ \comment{ `\CYRMDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRLDSC}{cyrldsc}}
+ \comment{ `\CYRLDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKHCRS}{cyrkhcrs}}
+ \comment{Cyrillic capital letter ka with stroke `\CYRKHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRLHK}{cyrlhk}}
+ \comment{ `\CYRLHK'.}
+\endsetslot
+
+\setslot{\uc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic capital letter en with descender `\CYRNDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRMHK}{cyrmhk}}
+ \comment{ `\CYRMHK'.}
+\endsetslot
+
+\setslot{\uc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic capital letter en with hook `\CYRNHK'.}
+\endsetslot
+
+\setslot{\uc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic capital letter barred o `\CYROTLD'.}
+\endsetslot
+
+\setslot{\uc{CYRABHCH}{cyrabhch}}
+ \comment{Cyrillic capital letter abkhasian che `\CYRABHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRABHCHDSC}{cyrabhchdsc}}
+ \comment{Cyrillic capital letter abkhasian che with descender `\CYRABHCHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRSEMISFTSN}{cyrsemisftsn}}
+ \comment{Cyrillic capital semi soft sign `\CYRSEMISFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRTDSC}{cyrishrtdsc}}
+ \comment{Cyrillic capital letter short i with descender `\CYRISHRTDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic capital letter dzhe `\CYRDZHE'.}
+\endsetslot
+
+\setslot{\uc{CYRABHHA}{cyrabhha}}
+ \comment{Cyrillic capital letter abkhasian ha `\CYRABHHA'.}
+\endsetslot
+
+\setslot{\uc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNLHK}{cyrnlhk}}
+ \comment{ `\CYRNLHK'.}
+\endsetslot
+
+\setslot{\uc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic capital letter schwa `\CYRSCHWA'.}
+\endsetslot
+
+\setslot{\uc{CYRRHK}{cyrrhk}}
+ \comment{Cyrillic capital letter er with hook `\CYRRHK'.}
+\endsetslot
+
+\setslot{\uc{CYRYO}{cyryo}}
+ \comment{Cyrillic capital letter io `\CYRYO'.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{\lc{CYRPHK}{cyrphk}}
+ \comment{Cyrillic small letter pe with middle hook `\cyrphk'.}
+\endsetslot
+
+\setslot{\lc{CYRTETSE}{cyrtetse}}
+ \comment{Cyrillic small ligature te tse `\cyrtetse'.}
+\endsetslot
+
+\setslot{\lc{CYRTDSC}{cyrtdsc}}
+ \comment{Cyrillic small letter te with descender `\cyrtdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.}
+\endsetslot
+
+\setslot{\lc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic small letter shha `\cyrshha'.}
+\endsetslot
+
+\setslot{\lc{CYRRDSC}{cyrrdsc}}
+ \comment{ `\cyrrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRRTICK}{cyrrtick}}
+ \comment{ `\cyrrtick'.}
+\endsetslot
+
+\setslot{\lc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.}
+\endsetslot
+
+\setslot{\lc{CYRMDSC}{cyrmdsc}}
+ \comment{ `\cyrmdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic small letter ka with descender `\cyrkdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRLDSC}{cyrldsc}}
+ \comment{ `\cyrldsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKHCRS}{cyrkhcrs}}
+ \comment{Cyrillic small letter ka with stroke `\cyrkhcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRLHK}{cyrlhk}}
+ \comment{ `\cyrlhk'.}
+\endsetslot
+
+\setslot{\lc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic small letter en with descender `\cyrndsc'.}
+\endsetslot
+
+\setslot{\lc{CYRMHK}{cyrmhk}}
+ \comment{ `\cyrmhk'.}
+\endsetslot
+
+\setslot{\lc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic small letter en with hook `\cyrnhk'.}
+\endsetslot
+
+\setslot{\lc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic small letter barred o `\cyrotld'.}
+\endsetslot
+
+\setslot{\lc{CYRABHCH}{cyrabhch}}
+ \comment{Cyrillic small letter abkhasian che `\cyrabhch'.}
+\endsetslot
+
+\setslot{\lc{CYRABHCHDSC}{cyrabhchdsc}}
+ \comment{Cyrillic small letter abkhasian che with descender `\cyrabhchdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRSEMISFTSN}{cyrsemisftsn}}
+ \comment{Cyrillic small letter semi soft sign `\cyrsemisftsn'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRTDSC}{cyrishrtdsc}}
+ \comment{Cyrillic small letter short i with descender `\cyrishrtdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic small letter ha with descender `\cyrhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic small letter dzhe `\cyrdzhe'.}
+\endsetslot
+
+\setslot{\lc{CYRABHHA}{cyrabhha}}
+ \comment{Cyrillic small letter abkhasian ha `\cyrabhha'.}
+\endsetslot
+
+\setslot{\lc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic small letter che with descender `\cyrchrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNLHK}{cyrnlhk}}
+ \comment{ `\cyrnlhk'.}
+\endsetslot
+
+\setslot{\lc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic small letter schwa `\cyrschwa'.}
+\endsetslot
+
+\setslot{\lc{CYRRHK}{cyrrhk}}
+ \comment{Cyrillic small letter er with hook `\cyrrhk'.}
+\endsetslot
+
+\setslot{\lc{CYRYO}{cyryo}}
+ \comment{Cyrillic small letter io `\cyryo'.}
+\endsetslot
+
+\setslot{quotedblbase}
+ \comment{A German double quote mark `\quotedblbase' similar to two commas,
+ but with tighter letterspacing and different sidebearings.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A Cyrillic double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A Cyrillic double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uc{CYRA}{cyra}}
+ \comment{Cyrillic capital letter a `\CYRA'.}
+\endsetslot
+
+\setslot{\uc{CYRB}{cyrb}}
+ \comment{Cyrillic capital letter be `\CYRB'.}
+\endsetslot
+
+\setslot{\uc{CYRV}{cyrv}}
+ \comment{Cyrillic capital letter ve `\CYRV'.}
+\endsetslot
+
+\setslot{\uc{CYRG}{cyrg}}
+ \comment{Cyrillic capital letter ghe `\CYRG'.}
+\endsetslot
+
+\setslot{\uc{CYRD}{cyrd}}
+ \comment{Cyrillic capital letter de `\CYRD'.}
+\endsetslot
+
+\setslot{\uc{CYRE}{cyre}}
+ \comment{Cyrillic capital letter ie `\CYRE'.}
+\endsetslot
+
+\setslot{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter zhe `\CYRZH'.}
+\endsetslot
+
+\setslot{\uc{CYRZ}{cyrz}}
+ \comment{Cyrillic capital letter ze `\CYRZ'.}
+\endsetslot
+
+\setslot{\uc{CYRI}{cyri}}
+ \comment{Cyrillic capital letter i `\CYRI'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic capital letter short i `\CYRISHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRK}{cyrk}}
+ \comment{Cyrillic capital letter ka `\CYRK'.}
+\endsetslot
+
+\setslot{\uc{CYRL}{cyrl}}
+ \comment{Cyrillic capital letter el `\CYRL'.}
+\endsetslot
+
+\setslot{\uc{CYRM}{cyrm}}
+ \comment{Cyrillic capital letter em `\CYRM'.}
+\endsetslot
+
+\setslot{\uc{CYRN}{cyrn}}
+ \comment{Cyrillic capital letter en `\CYRN'.}
+\endsetslot
+
+\setslot{\uc{CYRO}{cyro}}
+ \comment{Cyrillic capital letter o `\CYRO'.}
+\endsetslot
+
+\setslot{\uc{CYRP}{cyrp}}
+ \comment{Cyrillic capital letter pe `\CYRP'.}
+\endsetslot
+
+\setslot{\uc{CYRR}{cyrr}}
+ \comment{Cyrillic capital letter er `\CYRR'.}
+\endsetslot
+
+\setslot{\uc{CYRS}{cyrs}}
+ \comment{Cyrillic capital letter es `\CYRS'.}
+\endsetslot
+
+\setslot{\uc{CYRT}{cyrt}}
+ \comment{Cyrillic capital letter te `\CYRT'.}
+\endsetslot
+
+\setslot{\uc{CYRU}{cyru}}
+ \comment{Cyrillic capital letter u `\CYRU'.}
+\endsetslot
+
+\setslot{\uc{CYRF}{cyrf}}
+ \comment{Cyrillic capital letter ef `\CYRF'.}
+\endsetslot
+
+\setslot{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ha `\CYRH'.}
+\endsetslot
+
+\setslot{\uc{CYRC}{cyrc}}
+ \comment{Cyrillic capital letter tse `\CYRC'.}
+\endsetslot
+
+\setslot{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter che `\CYRCH'.}
+\endsetslot
+
+\setslot{\uc{CYRSH}{cyrsh}}
+ \comment{Cyrillic capital letter sha `\CYRSH'.}
+\endsetslot
+
+\setslot{\uc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic capital letter shcha `\CYRSHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.}
+\endsetslot
+
+\setslot{\uc{CYRERY}{cyrery}}
+ \comment{Cyrillic capital letter yeru `\CYRERY'.}
+\endsetslot
+
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYREREV}{cyrerev}}
+ \comment{Cyrillic capital letter e `\CYREREV'.}
+\endsetslot
+
+\setslot{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yu `\CYRYU'.}
+\endsetslot
+
+\setslot{\uc{CYRYA}{cyrya}}
+ \comment{Cyrillic capital letter ya `\CYRYA'.}
+\endsetslot
+
+\setslot{\lc{CYRA}{cyra}}
+ \comment{Cyrillic small letter a `\cyra'.}
+\endsetslot
+
+\setslot{\lc{CYRB}{cyrb}}
+ \comment{Cyrillic small letter be `\cyrb'.}
+\endsetslot
+
+\setslot{\lc{CYRV}{cyrv}}
+ \comment{Cyrillic small letter ve `\cyrv'.}
+\endsetslot
+
+\setslot{\lc{CYRG}{cyrg}}
+ \comment{Cyrillic small letter ghe `\cyrg'.}
+\endsetslot
+
+\setslot{\lc{CYRD}{cyrd}}
+ \comment{Cyrillic small letter de `\cyrd'.}
+\endsetslot
+
+\setslot{\lc{CYRE}{cyre}}
+ \comment{Cyrillic small letter ie `\cyre'.}
+\endsetslot
+
+\setslot{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter zhe `\cyrzh'.}
+\endsetslot
+
+\setslot{\lc{CYRZ}{cyrz}}
+ \comment{Cyrillic small letter ze `\cyrz'.}
+\endsetslot
+
+\setslot{\lc{CYRI}{cyri}}
+ \comment{Cyrillic small letter i `\cyri'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic small letter short i `\cyrishrt'.}
+\endsetslot
+
+\setslot{\lc{CYRK}{cyrk}}
+ \comment{Cyrillic small letter ka `\cyrk'.}
+\endsetslot
+
+\setslot{\lc{CYRL}{cyrl}}
+ \comment{Cyrillic small letter el `\cyrl'.}
+\endsetslot
+
+\setslot{\lc{CYRM}{cyrm}}
+ \comment{Cyrillic small letter em `\cyrm'.}
+\endsetslot
+
+\setslot{\lc{CYRN}{cyrn}}
+ \comment{Cyrillic small letter en `\cyrn'.}
+\endsetslot
+
+\setslot{\lc{CYRO}{cyro}}
+ \comment{Cyrillic small letter o `\cyro'.}
+\endsetslot
+
+\setslot{\lc{CYRP}{cyrp}}
+ \comment{Cyrillic small letter pe `\cyrp'.}
+\endsetslot
+
+\setslot{\lc{CYRR}{cyrr}}
+ \comment{Cyrillic small letter er `\cyrr'.}
+\endsetslot
+
+\setslot{\lc{CYRS}{cyrs}}
+ \comment{Cyrillic small letter es `\cyrs'.}
+\endsetslot
+
+\setslot{\lc{CYRT}{cyrt}}
+ \comment{Cyrillic small letter te `\cyrt'.}
+\endsetslot
+
+\setslot{\lc{CYRU}{cyru}}
+ \comment{Cyrillic small letter u `\cyru'.}
+\endsetslot
+
+\setslot{\lc{CYRF}{cyrf}}
+ \comment{Cyrillic small letter ef `\cyrf'.}
+\endsetslot
+
+\setslot{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ha `\cyrh'.}
+\endsetslot
+
+\setslot{\lc{CYRC}{cyrc}}
+ \comment{Cyrillic small letter tse `\cyrc'.}
+\endsetslot
+
+\setslot{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter che `\cyrch'.}
+\endsetslot
+
+\setslot{\lc{CYRSH}{cyrsh}}
+ \comment{Cyrillic small letter sha `\cyrsh'.}
+\endsetslot
+
+\setslot{\lc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic small letter shcha `\cyrshch'.}
+\endsetslot
+
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter hard sign `\cyrhrdsn'.}
+\endsetslot
+
+\setslot{\lc{CYRERY}{cyrery}}
+ \comment{Cyrillic small letter yeru `\cyrery'.}
+\endsetslot
+
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic small letter soft sign `\cyrsftsn'.}
+\endsetslot
+
+\setslot{\lc{CYREREV}{cyrerev}}
+ \comment{Cyrillic small letter e `\cyrerev'.}
+\endsetslot
+
+\setslot{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yu `\cyryu'.}
+\endsetslot
+
+\setslot{\lc{CYRYA}{cyrya}}
+ \comment{Cyrillic small letter ya `\cyrya'.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrfinst/x2.etx b/macros/latex/contrib/t2/cyrfinst/x2.etx
new file mode 100644
index 0000000000..176554539c
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrfinst/x2.etx
@@ -0,0 +1,1102 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[X2,OT1]{fontenc}
+\usepackage{fontdoc}
+\useexamplefont{rxrm1000}
+\catcode`\`=13 \def`#1'{\textquoteleft{\UseTextSymbol{X2}{#1}}\textquoteright}
+
+\title{The \TeX\ Cyrillic X2 text encoding vector}
+\author{Werner Lemberg, Vladimir Volovich}
+\date{17 July 1998\\
+Version 0.1}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the Cyrillic X2 text encoding.
+
+
+\encoding
+
+\needsfontinstversion{1.800}
+
+\comment{\section{Default values}}
+
+\setstr{codingscheme}{TEX CYRILLIC FONT ENCODING - X2}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lctop#1#2{#2}
+\setcommand\uctop#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+
+\comment{\section{The encoding}
+ There are 256 glyphs in this encoding.}
+
+\setslot{\lc{Grave}{grave}}
+ \comment{The grave accent `\`{}'.}
+\endsetslot
+
+\setslot{\lc{Acute}{acute}}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{\lc{Circumflex}{circumflex}}
+ \comment{The circumflex accent `\^{}'.}
+\endsetslot
+
+\setslot{\lc{Tilde}{tilde}}
+ \comment{The tilde accent `\~{}'.}
+\endsetslot
+
+\setslot{\lc{Dieresis}{dieresis}}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\setslot{\lc{Hungarumlaut}{hungarumlaut}}
+ \comment{The long Hungarian umlaut `\H{}'.}
+\endsetslot
+
+\setslot{\lc{Ring}{ring}}
+ \comment{The ring accent `\r{}'.}
+\endsetslot
+
+\setslot{\lc{Caron}{caron}}
+ \comment{The caron or h\'a\v cek accent `\v{}'.}
+\endsetslot
+
+\setslot{\lc{Breve}{breve}}
+ \comment{The breve accent `\u{}'.}
+\endsetslot
+
+\setslot{\lc{Macron}{macron}}
+ \comment{The macron accent `\={}'.}
+\endsetslot
+
+\setslot{\lc{Dotaccent}{dotaccent}}
+ \comment{The dot accent `\.{}'.}
+\endsetslot
+
+\setslot{\lc{Cedilla}{cedilla}}
+ \comment{The cedilla accent `\c{}'.}
+\endsetslot
+
+\setslot{\lc{Ogonek}{ogonek}}
+ \comment{The ogonek accent `\k{}'.}
+\endsetslot
+
+\setslot{CYRpalochka}
+ \comment{Cyrillic letter palochka `\CYRpalochka'.}
+\endsetslot
+
+\setslot{angleleft}
+ \comment{Left-pointing (cyrillic) angle bracket `\cyrlangle'.}
+\endsetslot
+
+\setslot{angleright}
+ \comment{Right-pointing (cyrillic) angle bracket `\cyrrangle'.}
+\endsetslot
+
+\setslot{quotedblleft}
+ \comment{The English opening quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\setslot{quotedblright}
+ \comment{The English closing quote mark `\,\textquotedblright\,'.}
+\endsetslot
+
+\setslot{\lc{cyrFlex}{cyrflex}}
+ \comment{Cyrillic circumflex `\f{}'.}
+\endsetslot
+
+\setslot{\lc{dblGrave}{dblgrave}}
+ \comment{Double grave accent `\C{}'.}
+\endsetslot
+
+\setslot{\lc{cyrBreve}{cyrbreve}}
+ \comment{Cyrillic breve `\U{}'.}
+\endsetslot
+
+\setslot{rangedash}
+ \ligature{LIG}{hyphen}{cyrdash}
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `{\tt 1{-}9}'.}
+\endsetslot
+
+\setslot{cyrdash}
+ \comment{Cyrillic em dash---longer than endash, but shorter
+ than english emdash: `\cyrdash'.}
+\endsetslot
+
+\setslot{compwordmark}
+ \comment{An invisible glyph, with zero width and depth, but the
+ height of lowercase letters without ascenders.
+ It is used to stop ligaturing in words like `shelf{}ful'.}
+\endsetslot
+
+\setslot{perthousandzero}
+ \comment{A glyph which is placed after `\%' to produce a
+ `per-thousand', or twice to produce `per-ten-thousand'.
+ Your guess is as good as mine as to what this glyph should look
+ like in a monowidth font.}
+\endsetslot
+
+\setslot{gravecross}
+ \comment{Modifier letter low grave accent `\slotexample'.}
+\endsetslot
+
+\setslot{acutecross}
+ \comment{Modifier letter low acute accent `\slotexample'.}
+\endsetslot
+
+\setslot{hcross}
+ \comment{Combining short stroke overlay `\slotexample'.}
+\endsetslot
+
+\setslot{\uc{CYRDELTA}{cyrdelta}}
+ \comment{Cyrillic capital letter delta `\CYRDELTA'.}
+\endsetslot
+
+\setslot{\lc{CYRDELTA}{cyrdelta}}
+ \comment{Cyrillic small letter delta `\cyrdelta'.}
+\endsetslot
+
+\setslot{\uc{CYRNLHK}{cyrnlhk}}
+ \comment{Cyrillic capital letter en with left hook `\CYRNLHK'.}
+\endsetslot
+
+\setslot{\lc{CYRNLHK}{cyrnlhk}}
+ \comment{Cyrillic small letter en with left hook `\cyrnlhk'.}
+\endsetslot
+
+\setslot{visiblespace}
+ \comment{A visible space glyph `\textvisiblespace'.}
+\endsetslot
+
+\setslot{exclam}
+ \comment{The exclamation mark `!'.}
+\endsetslot
+
+\setslot{quotedbl}
+ \comment{The `neutral' double quotation mark `\,\textquotedbl\,',
+ included for use in monowidth fonts, or for setting computer
+ programs. Note that the inclusion of this glyph in this slot
+ means that \TeX\ documents which used `{\tt"}' as an
+ input character will no longer work.}
+\endsetslot
+
+\setslot{numbersign}
+ \comment{The hash sign `\#'.}
+\endsetslot
+
+\setslot{dollar}
+ \comment{The dollar sign `\$'.}
+\endsetslot
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{ampersand}
+ \comment{The ampersand sign `\&'.}
+\endsetslot
+
+\setslot{quoteright}
+ \ligature{LIG}{quoteright}{quotedblright}
+ \comment{The English closing single quote mark `\,\textquoteright\,'.}
+\endsetslot
+
+\setslot{parenleft}
+ \comment{The opening parenthesis `('.}
+\endsetslot
+
+\setslot{parenright}
+ \comment{The closing parenthesis `)'.}
+\endsetslot
+
+\setslot{asterisk}
+ \comment{The raised asterisk `*'.}
+\endsetslot
+
+\setslot{plus}
+ \comment{The addition sign `+'.}
+\endsetslot
+
+\setslot{comma}
+ \ligature{LIG}{comma}{quotedblbase}
+ \comment{The comma `,'.}
+\endsetslot
+
+\setslot{hyphen}
+ \ligature{LIG}{hyphen}{rangedash}
+ \ligature{LIG}{hyphenchar}{hyphenchar}
+ \comment{The hyphen `-'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The period `.'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forward oblique `/'.}
+\endsetslot
+
+\setslot{\digit{zero}}
+ \comment{The number `0'. This (and all the other numerals) may be
+ old style or ranging digits.}
+\endsetslot
+
+\setslot{\digit{one}}
+ \comment{The number `1'.}
+\endsetslot
+
+\setslot{\digit{two}}
+ \comment{The number `2'.}
+\endsetslot
+
+\setslot{\digit{three}}
+ \comment{The number `3'.}
+\endsetslot
+
+\setslot{\digit{four}}
+ \comment{The number `4'.}
+\endsetslot
+
+\setslot{\digit{five}}
+ \comment{The number `5'.}
+\endsetslot
+
+\setslot{\digit{six}}
+ \comment{The number `6'.}
+\endsetslot
+
+\setslot{\digit{seven}}
+ \comment{The number `7'.}
+\endsetslot
+
+\setslot{\digit{eight}}
+ \comment{The number `8'.}
+\endsetslot
+
+\setslot{\digit{nine}}
+ \comment{The number `9'.}
+\endsetslot
+
+\setslot{colon}
+ \comment{The colon punctuation mark `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon punctuation mark `;'.}
+\endsetslot
+
+\setslot{less}
+ \ligature{LIG}{less}{guillemotleft}
+ \comment{The less-than sign `\textless'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \ligature{LIG}{greater}{guillemotright}
+ \comment{The greater-than sign `\textgreater'.}
+\endsetslot
+
+\setslot{question}
+ \comment{The question mark `?'.}
+\endsetslot
+
+\setslot{at}
+ \comment{The at sign `@'.}
+\endsetslot
+
+\setslot{\uc{CYRAE}{cyrae}}
+ \comment{Cyrillic capital ligature a ie `\CYRAE'.}
+\endsetslot
+
+\setslot{\uc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic capital letter dje `\CYRDJE'.}
+\endsetslot
+
+\setslot{\uc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic capital letter tshe `\CYRTSHE'.}
+\endsetslot
+
+\setslot{\uc{CYRABHCH}{cyrabhch}}
+ \comment{Cyrillic capital letter abkhasian che `\CYRABHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRABHCHDSC}{cyrabhchdsc}}
+ \comment{Cyrillic capital letter abkhasian che with descender `\CYRABHCHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKVCRS}{cyrkvcrs}}
+ \comment{Cyrillic capital letter ka with vertical stroke `\CYRKVCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRKHCRS}{cyrkhcrs}}
+ \comment{Cyrillic capital letter ka with stroke `\CYRKHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRLDSC}{cyrldsc}}
+ \comment{Cyrillic capital letter el with descender `\CYRLDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRII}{cyrii}}
+ \comment{Cyrillic capital letter byelorussian-ukrainian i `\CYRII'.}
+\endsetslot
+
+\setslot{\uc{CYRJE}{cyrje}}
+ \comment{Cyrillic capital letter je `\CYRJE'.}
+\endsetslot
+
+\setslot{\uc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic capital letter lje `\CYRLJE'.}
+\endsetslot
+
+\setslot{\uc{CYRMDSC}{cyrmdsc}}
+ \comment{Cyrillic capital letter em with descender `\CYRMDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic capital letter nje `\CYRNJE'.}
+\endsetslot
+
+\setslot{\uc{CYRABHHA}{cyrabhha}}
+ \comment{Cyrillic capital letter abkhasian ha `\CYRABHHA'.}
+\endsetslot
+
+\setslot{\uc{CYRPHK}{cyrphk}}
+ \comment{Cyrillic capital letter pe with middle hook `\CYRPHK'.}
+\endsetslot
+
+\setslot{\uc{CYRRDSC}{cyrrdsc}}
+ \comment{Cyrillic capital letter er with descender `\CYRRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRQ}{cyrq}}
+ \comment{Cyrillic capital letter q `\CYRQ'.}
+\endsetslot
+
+\setslot{\uc{CYRTDSC}{cyrtdsc}}
+ \comment{Cyrillic capital letter te with descender `\CYRTDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic capital letter dze `\CYRDZE'.}
+\endsetslot
+
+\setslot{\uc{CYRTETSE}{cyrtetse}}
+ \comment{Cyrillic capital ligature te tse `\CYRTETSE'.}
+\endsetslot
+
+\setslot{\uc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic capital letter dzhe `\CYRDZHE'.}
+\endsetslot
+
+\setslot{\uc{CYRCHVCRS}{cyrchvcrs}}
+ \comment{Cyrillic capital letter che with vertical stroke `\CYRCHVCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRW}{cyrw}}
+ \comment{Cyrillic capital letter w `\CYRW'.}
+\endsetslot
+
+\setslot{\uc{CYRYAT}{cyryat}}
+ \comment{Cyrillic capital letter yat `\CYRYAT'.}
+\endsetslot
+
+\setslot{\uc{CYRBYUS}{cyrbyus}}
+ \comment{Cyrillic capital letter big yus `\CYRBYUS'.}
+\endsetslot
+
+\setslot{\uc{CYRIZH}{cyrizh}}
+ \comment{Cyrillic capital letter izhitsa `\CYRIZH'.}
+\endsetslot
+
+\setslot{bracketleft}
+ \comment{The opening square bracket `['.}
+\endsetslot
+
+\setslot{backslash}
+ \comment{The backwards oblique `\textbackslash'.}
+\endsetslot
+
+\setslot{bracketright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{asciicircum}
+ \comment{The ASCII upward-pointing arrow head `\textasciicircum'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{underscore}
+ \comment{The ASCII underline character `\textunderscore', usually
+ set on the baseline.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{quoteleft}
+ \ligature{LIG}{quoteleft}{quotedblleft}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+\endsetslot
+
+\setslot{\lc{CYRAE}{cyrae}}
+ \comment{Cyrillic small ligature a ie `\cyrae'.}
+\endsetslot
+
+\setslot{\lc{CYRDJE}{cyrdje}}
+ \comment{Cyrillic small letter dje `\cyrdje'.}
+\endsetslot
+
+\setslot{\lc{CYRTSHE}{cyrtshe}}
+ \comment{Cyrillic small letter tshe `\cyrtshe'.}
+\endsetslot
+
+\setslot{\lc{CYRABHCH}{cyrabhch}}
+ \comment{Cyrillic small letter abkhasian che `\cyrabhch'.}
+\endsetslot
+
+\setslot{\lc{CYRABHCHDSC}{cyrabhchdsc}}
+ \comment{Cyrillic small letter abkhasian che with descender `\cyrabhchdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKVCRS}{cyrkvcrs}}
+ \comment{Cyrillic small letter ka with vertical stroke `\cyrkvcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRKHCRS}{cyrkhcrs}}
+ \comment{Cyrillic small letter ka with stroke `\cyrkhcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRLDSC}{cyrldsc}}
+ \comment{Cyrillic small letter el with descender `\cyrldsc'.}
+\endsetslot
+
+\setslot{\lc{CYRII}{cyrii}}
+ \comment{Cyrillic small letter byelorussian-ukrainian i `\cyrii'.}
+\endsetslot
+
+\setslot{\lc{CYRJE}{cyrje}}
+ \comment{Cyrillic small letter je `\cyrje'.}
+\endsetslot
+
+\setslot{\lc{CYRLJE}{cyrlje}}
+ \comment{Cyrillic small letter lje `\cyrlje'.}
+\endsetslot
+
+\setslot{\lc{CYRMDSC}{cyrmdsc}}
+ \comment{Cyrillic small letter em with descender `\cyrmdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNJE}{cyrnje}}
+ \comment{Cyrillic small letter nje `\cyrnje'.}
+\endsetslot
+
+\setslot{\lc{CYRABHHA}{cyrabhha}}
+ \comment{Cyrillic small letter abkhasian ha `\cyrabhha'.}
+\endsetslot
+
+\setslot{\lc{CYRPHK}{cyrphk}}
+ \comment{Cyrillic small letter pe with middle hook `\cyrphk'.}
+\endsetslot
+
+\setslot{\lc{CYRRDSC}{cyrrdsc}}
+ \comment{Cyrillic small letter er with descender `\cyrrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRQ}{cyrq}}
+ \comment{Cyrillic small letter q `\cyrq'.}
+\endsetslot
+
+\setslot{\lc{CYRTDSC}{cyrtdsc}}
+ \comment{Cyrillic small letter te with descender `\cyrtdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRDZE}{cyrdze}}
+ \comment{Cyrillic small letter dze `\cyrdze'.}
+\endsetslot
+
+\setslot{\lc{CYRTETSE}{cyrtetse}}
+ \comment{Cyrillic small ligature te tse `\cyrtetse'.}
+\endsetslot
+
+\setslot{\lc{CYRDZHE}{cyrdzhe}}
+ \comment{Cyrillic small letter dzhe `\cyrdzhe'.}
+\endsetslot
+
+\setslot{\lc{CYRCHVCRS}{cyrchvcrs}}
+ \comment{Cyrillic small letter che with vertical stroke `\cyrchvcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRW}{cyrw}}
+ \comment{Cyrillic small letter w `\cyrw'.}
+\endsetslot
+
+\setslot{\lc{CYRYAT}{cyryat}}
+ \comment{Cyrillic small letter yat `\cyryat'.}
+\endsetslot
+
+\setslot{\lc{CYRBYUS}{cyrbyus}}
+ \comment{Cyrillic small letter big yus `\cyrbyus'.}
+\endsetslot
+
+\setslot{\lc{CYRIZH}{cyrizh}}
+ \comment{Cyrillic small letter izhitsa `\cyrizh'.}
+\endsetslot
+
+\setslot{braceleft}
+ \comment{The opening curly brace `\textbraceleft'.}
+\endsetslot
+
+\setslot{bar}
+ \comment{The ASCII vertical bar `\textbar'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{braceright}
+ \comment{The closing curly brace `\textbraceright'.}
+\endsetslot
+
+\setslot{asciitilde}
+ \comment{The ASCII tilde `\textasciitilde'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{hyphenchar}
+ \comment{The glyph used for hyphenation in this font, which will
+ almost always be the same as `hyphen'.}
+\endsetslot
+
+\setslot{\uc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic capital letter ghe with upturn `\CYRGUP'.}
+\endsetslot
+
+\setslot{\uc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic capital letter ghe with stroke `\CYRGHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRGDSC}{cyrgdsc}}
+ \comment{Cyrillic capital letter ghe with descender `\CYRGDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic capital letter ghe with middle hook `\CYRGHK'.}
+\endsetslot
+
+\setslot{\uc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic capital letter shha `\CYRSHHA'.}
+\endsetslot
+
+\setslot{\uc{CYRZHDSC}{cyrzhdsc}}
+ \comment{Cyrillic capital letter zhe with descender `\CYRZHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRZDSC}{cyrzdsc}}
+ \comment{Cyrillic capital letter ze with descender `\CYRZDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic capital letter abkhasian dze `\CYRABHDZE'.}
+\endsetslot
+
+\setslot{\uc{CYRYI}{cyryi}}
+ \comment{Cyrillic capital letter yi `\CYRYI'.}
+\endsetslot
+
+\setslot{\uc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic capital letter ka with descender `\CYRKDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRKBEAK}{cyrkbeak}}
+ \comment{Cyrillic capital letter bashkir ka `\CYRKBEAK'.}
+\endsetslot
+
+\setslot{\uc{CYRKHK}{cyrkhk}}
+ \comment{Cyrillic capital letter ka with hook `\CYRKHK'.}
+\endsetslot
+
+\setslot{\uc{CYRLHK}{cyrlhk}}
+ \comment{Cyrillic capital letter el with hook `\CYRLHK'.}
+\endsetslot
+
+\setslot{\uc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic capital letter en with descender `\CYRNDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRNG}{cyrng}}
+ \comment{Cyrillic capital ligature en ghe `\CYRNG'.}
+\endsetslot
+
+\setslot{\uc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic capital letter en with hook `\CYRNHK'.}
+\endsetslot
+
+\setslot{\uc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic capital letter barred o `\CYROTLD'.}
+\endsetslot
+
+\setslot{\uc{CYRSDSC}{cyrsdsc}}
+ \comment{Cyrillic capital letter es with descender `\CYRSDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic capital letter short u `\CYRUSHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRY}{cyry}}
+ \comment{Cyrillic capital letter straight u `\CYRY'.}
+\endsetslot
+
+\setslot{\uc{CYRYHCRS}{cyryhcrs}}
+ \comment{Cyrillic capital letter straight u with stroke `\CYRYHCRS'.}
+\endsetslot
+
+\setslot{\uc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic capital letter ha with descender `\CYRHDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRHHK}{cyrhhk}}
+ \comment{Cyrillic capital letter ha with hook `\CYRHHK'.}
+\endsetslot
+
+\setslot{\uc{CYRCHLDSC}{cyrchldsc}}
+ \comment{Cyrillic capital letter khakassian che `\CYRCHLDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic capital letter che with descender `\CYRCHRDSC'.}
+\endsetslot
+
+\setslot{\uc{CYRIE}{cyrie}}
+ \comment{Cyrillic capital letter ukrainian ie `\CYRIE'.}
+\endsetslot
+
+\setslot{\uc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic capital letter schwa `\CYRSCHWA'.}
+\endsetslot
+
+\setslot{\uc{CYREPS}{cyreps}}
+ \comment{Cyrillic capital letter epsilon `\CYREPS'.}
+\endsetslot
+
+\setslot{\uc{CYRYO}{cyryo}}
+ \comment{Cyrillic capital letter io `\CYRYO'.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{\lc{CYRGUP}{cyrgup}}
+ \comment{Cyrillic small letter ghe with upturn `\cyrgup'.}
+\endsetslot
+
+\setslot{\lc{CYRGHCRS}{cyrghcrs}}
+ \comment{Cyrillic small letter ghe with stroke `\cyrghcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRGDSC}{cyrgdsc}}
+ \comment{Cyrillic small letter ghe with descender `\cyrgdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRGHK}{cyrghk}}
+ \comment{Cyrillic small letter ghe with middle hook `\cyrghk'.}
+\endsetslot
+
+\setslot{\lc{CYRSHHA}{cyrshha}}
+ \comment{Cyrillic small letter shha `\cyrshha'.}
+\endsetslot
+
+\setslot{\lc{CYRZHDSC}{cyrzhdsc}}
+ \comment{Cyrillic small letter zhe with descender `\cyrzhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRZDSC}{cyrzdsc}}
+ \comment{Cyrillic small letter ze with descender `\cyrzdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRABHDZE}{cyrabhdze}}
+ \comment{Cyrillic small letter abkhasian dze `\cyrabhdze'.}
+\endsetslot
+
+\setslot{\lc{CYRYI}{cyryi}}
+ \comment{Cyrillic small letter yi `\cyryi'.}
+\endsetslot
+
+\setslot{\lc{CYRKDSC}{cyrkdsc}}
+ \comment{Cyrillic small letter ka with descender `\cyrkdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRKBEAK}{cyrkbeak}}
+ \comment{Cyrillic small letter bashkir ka `\cyrkbeak'.}
+\endsetslot
+
+\setslot{\lc{CYRKHK}{cyrkhk}}
+ \comment{Cyrillic small letter ka with hook `\cyrkhk'.}
+\endsetslot
+
+\setslot{\lc{CYRLHK}{cyrlhk}}
+ \comment{Cyrillic small letter el with hook `\cyrlhk'.}
+\endsetslot
+
+\setslot{\lc{CYRNDSC}{cyrndsc}}
+ \comment{Cyrillic small letter en with descender `\cyrndsc'.}
+\endsetslot
+
+\setslot{\lc{CYRNG}{cyrng}}
+ \comment{Cyrillic small ligature en ghe `\cyrng'.}
+\endsetslot
+
+\setslot{\lc{CYRNHK}{cyrnhk}}
+ \comment{Cyrillic small letter en with hook `\cyrnhk'.}
+\endsetslot
+
+\setslot{\lc{CYROTLD}{cyrotld}}
+ \comment{Cyrillic small letter barred o `\cyrotld'.}
+\endsetslot
+
+\setslot{\lc{CYRSDSC}{cyrsdsc}}
+ \comment{Cyrillic small letter es with descender `\cyrsdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRUSHRT}{cyrushrt}}
+ \comment{Cyrillic small letter short u `\cyrushrt'.}
+\endsetslot
+
+\setslot{\lc{CYRY}{cyry}}
+ \comment{Cyrillic small letter straight u `\cyry'.}
+\endsetslot
+
+\setslot{\lc{CYRYHCRS}{cyryhcrs}}
+ \comment{Cyrillic small letter straight u with stroke `\cyryhcrs'.}
+\endsetslot
+
+\setslot{\lc{CYRHDSC}{cyrhdsc}}
+ \comment{Cyrillic small letter ha with descender `\cyrhdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRHHK}{cyrhhk}}
+ \comment{Cyrillic small letter ha with hook `\cyrhhk'.}
+\endsetslot
+
+\setslot{\lc{CYRCHLDSC}{cyrchldsc}}
+ \comment{Cyrillic small letter khakassian che `\cyrchldsc'.}
+\endsetslot
+
+\setslot{\lc{CYRCHRDSC}{cyrchrdsc}}
+ \comment{Cyrillic small letter che with descender `\cyrchrdsc'.}
+\endsetslot
+
+\setslot{\lc{CYRIE}{cyrie}}
+ \comment{Cyrillic small letter ukrainian ie `\cyrie'.}
+\endsetslot
+
+\setslot{\lc{CYRSCHWA}{cyrschwa}}
+ \comment{Cyrillic small letter schwa `\cyrschwa'.}
+\endsetslot
+
+\setslot{\lc{CYREPS}{cyreps}}
+ \comment{Cyrillic small letter epsilon `\cyreps'.}
+\endsetslot
+
+\setslot{\lc{CYRYO}{cyryo}}
+ \comment{Cyrillic small letter io `\cyryo'.}
+\endsetslot
+
+\setslot{quotedblbase}
+ \comment{A German double quote mark `\quotedblbase' similar to two commas,
+ but with tighter letterspacing and different sidebearings.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A Cyrillic double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A Cyrillic double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uc{CYRA}{cyra}}
+ \comment{Cyrillic capital letter a `\CYRA'.}
+\endsetslot
+
+\setslot{\uc{CYRB}{cyrb}}
+ \comment{Cyrillic capital letter be `\CYRB'.}
+\endsetslot
+
+\setslot{\uc{CYRV}{cyrv}}
+ \comment{Cyrillic capital letter ve `\CYRV'.}
+\endsetslot
+
+\setslot{\uc{CYRG}{cyrg}}
+ \comment{Cyrillic capital letter ghe `\CYRG'.}
+\endsetslot
+
+\setslot{\uc{CYRD}{cyrd}}
+ \comment{Cyrillic capital letter de `\CYRD'.}
+\endsetslot
+
+\setslot{\uc{CYRE}{cyre}}
+ \comment{Cyrillic capital letter ie `\CYRE'.}
+\endsetslot
+
+\setslot{\uc{CYRZH}{cyrzh}}
+ \comment{Cyrillic capital letter zhe `\CYRZH'.}
+\endsetslot
+
+\setslot{\uc{CYRZ}{cyrz}}
+ \comment{Cyrillic capital letter ze `\CYRZ'.}
+\endsetslot
+
+\setslot{\uc{CYRI}{cyri}}
+ \comment{Cyrillic capital letter i `\CYRI'.}
+\endsetslot
+
+\setslot{\uc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic capital letter short i `\CYRISHRT'.}
+\endsetslot
+
+\setslot{\uc{CYRK}{cyrk}}
+ \comment{Cyrillic capital letter ka `\CYRK'.}
+\endsetslot
+
+\setslot{\uc{CYRL}{cyrl}}
+ \comment{Cyrillic capital letter el `\CYRL'.}
+\endsetslot
+
+\setslot{\uc{CYRM}{cyrm}}
+ \comment{Cyrillic capital letter em `\CYRM'.}
+\endsetslot
+
+\setslot{\uc{CYRN}{cyrn}}
+ \comment{Cyrillic capital letter en `\CYRN'.}
+\endsetslot
+
+\setslot{\uc{CYRO}{cyro}}
+ \comment{Cyrillic capital letter o `\CYRO'.}
+\endsetslot
+
+\setslot{\uc{CYRP}{cyrp}}
+ \comment{Cyrillic capital letter pe `\CYRP'.}
+\endsetslot
+
+\setslot{\uc{CYRR}{cyrr}}
+ \comment{Cyrillic capital letter er `\CYRR'.}
+\endsetslot
+
+\setslot{\uc{CYRS}{cyrs}}
+ \comment{Cyrillic capital letter es `\CYRS'.}
+\endsetslot
+
+\setslot{\uc{CYRT}{cyrt}}
+ \comment{Cyrillic capital letter te `\CYRT'.}
+\endsetslot
+
+\setslot{\uc{CYRU}{cyru}}
+ \comment{Cyrillic capital letter u `\CYRU'.}
+\endsetslot
+
+\setslot{\uc{CYRF}{cyrf}}
+ \comment{Cyrillic capital letter ef `\CYRF'.}
+\endsetslot
+
+\setslot{\uc{CYRH}{cyrh}}
+ \comment{Cyrillic capital letter ha `\CYRH'.}
+\endsetslot
+
+\setslot{\uc{CYRC}{cyrc}}
+ \comment{Cyrillic capital letter tse `\CYRC'.}
+\endsetslot
+
+\setslot{\uc{CYRCH}{cyrch}}
+ \comment{Cyrillic capital letter che `\CYRCH'.}
+\endsetslot
+
+\setslot{\uc{CYRSH}{cyrsh}}
+ \comment{Cyrillic capital letter sha `\CYRSH'.}
+\endsetslot
+
+\setslot{\uc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic capital letter shcha `\CYRSHCH'.}
+\endsetslot
+
+\setslot{\uc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic capital letter hard sign `\CYRHRDSN'.}
+\endsetslot
+
+\setslot{\uc{CYRERY}{cyrery}}
+ \comment{Cyrillic capital letter yeru `\CYRERY'.}
+\endsetslot
+
+\setslot{\uc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic capital letter soft sign `\CYRSFTSN'.}
+\endsetslot
+
+\setslot{\uc{CYREREV}{cyrerev}}
+ \comment{Cyrillic capital letter e `\CYREREV'.}
+\endsetslot
+
+\setslot{\uc{CYRYU}{cyryu}}
+ \comment{Cyrillic capital letter yu `\CYRYU'.}
+\endsetslot
+
+\setslot{\uc{CYRYA}{cyrya}}
+ \comment{Cyrillic capital letter ya `\CYRYA'.}
+\endsetslot
+
+\setslot{\lc{CYRA}{cyra}}
+ \comment{Cyrillic small letter a `\cyra'.}
+\endsetslot
+
+\setslot{\lc{CYRB}{cyrb}}
+ \comment{Cyrillic small letter be `\cyrb'.}
+\endsetslot
+
+\setslot{\lc{CYRV}{cyrv}}
+ \comment{Cyrillic small letter ve `\cyrv'.}
+\endsetslot
+
+\setslot{\lc{CYRG}{cyrg}}
+ \comment{Cyrillic small letter ghe `\cyrg'.}
+\endsetslot
+
+\setslot{\lc{CYRD}{cyrd}}
+ \comment{Cyrillic small letter de `\cyrd'.}
+\endsetslot
+
+\setslot{\lc{CYRE}{cyre}}
+ \comment{Cyrillic small letter ie `\cyre'.}
+\endsetslot
+
+\setslot{\lc{CYRZH}{cyrzh}}
+ \comment{Cyrillic small letter zhe `\cyrzh'.}
+\endsetslot
+
+\setslot{\lc{CYRZ}{cyrz}}
+ \comment{Cyrillic small letter ze `\cyrz'.}
+\endsetslot
+
+\setslot{\lc{CYRI}{cyri}}
+ \comment{Cyrillic small letter i `\cyri'.}
+\endsetslot
+
+\setslot{\lc{CYRISHRT}{cyrishrt}}
+ \comment{Cyrillic small letter short i `\cyrishrt'.}
+\endsetslot
+
+\setslot{\lc{CYRK}{cyrk}}
+ \comment{Cyrillic small letter ka `\cyrk'.}
+\endsetslot
+
+\setslot{\lc{CYRL}{cyrl}}
+ \comment{Cyrillic small letter el `\cyrl'.}
+\endsetslot
+
+\setslot{\lc{CYRM}{cyrm}}
+ \comment{Cyrillic small letter em `\cyrm'.}
+\endsetslot
+
+\setslot{\lc{CYRN}{cyrn}}
+ \comment{Cyrillic small letter en `\cyrn'.}
+\endsetslot
+
+\setslot{\lc{CYRO}{cyro}}
+ \comment{Cyrillic small letter o `\cyro'.}
+\endsetslot
+
+\setslot{\lc{CYRP}{cyrp}}
+ \comment{Cyrillic small letter pe `\cyrp'.}
+\endsetslot
+
+\setslot{\lc{CYRR}{cyrr}}
+ \comment{Cyrillic small letter er `\cyrr'.}
+\endsetslot
+
+\setslot{\lc{CYRS}{cyrs}}
+ \comment{Cyrillic small letter es `\cyrs'.}
+\endsetslot
+
+\setslot{\lc{CYRT}{cyrt}}
+ \comment{Cyrillic small letter te `\cyrt'.}
+\endsetslot
+
+\setslot{\lc{CYRU}{cyru}}
+ \comment{Cyrillic small letter u `\cyru'.}
+\endsetslot
+
+\setslot{\lc{CYRF}{cyrf}}
+ \comment{Cyrillic small letter ef `\cyrf'.}
+\endsetslot
+
+\setslot{\lc{CYRH}{cyrh}}
+ \comment{Cyrillic small letter ha `\cyrh'.}
+\endsetslot
+
+\setslot{\lc{CYRC}{cyrc}}
+ \comment{Cyrillic small letter tse `\cyrc'.}
+\endsetslot
+
+\setslot{\lc{CYRCH}{cyrch}}
+ \comment{Cyrillic small letter che `\cyrch'.}
+\endsetslot
+
+\setslot{\lc{CYRSH}{cyrsh}}
+ \comment{Cyrillic small letter sha `\cyrsh'.}
+\endsetslot
+
+\setslot{\lc{CYRSHCH}{cyrshch}}
+ \comment{Cyrillic small letter shcha `\cyrshch'.}
+\endsetslot
+
+\setslot{\lc{CYRHRDSN}{cyrhrdsn}}
+ \comment{Cyrillic small letter hard sign `\cyrhrdsn'.}
+\endsetslot
+
+\setslot{\lc{CYRERY}{cyrery}}
+ \comment{Cyrillic small letter yeru `\cyrery'.}
+\endsetslot
+
+\setslot{\lc{CYRSFTSN}{cyrsftsn}}
+ \comment{Cyrillic small letter soft sign `\cyrsftsn'.}
+\endsetslot
+
+\setslot{\lc{CYREREV}{cyrerev}}
+ \comment{Cyrillic small letter e `\cyrerev'.}
+\endsetslot
+
+\setslot{\lc{CYRYU}{cyryu}}
+ \comment{Cyrillic small letter yu `\cyryu'.}
+\endsetslot
+
+\setslot{\lc{CYRYA}{cyrya}}
+ \comment{Cyrillic small letter ya `\cyrya'.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/macros/latex/contrib/t2/cyrplain/README b/macros/latex/contrib/t2/cyrplain/README
new file mode 100644
index 0000000000..9cdbbc15ee
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/README
@@ -0,0 +1,86 @@
+This directory contains files which can be used to make rusified
+Plain TeX and other Plain TeX based formats, such as AMS-TeX, Texinfo
+or BLUe TeX, using cyrillic fonts in LCY encoding (which is an 8-bit
+extension of OT1 similar to cp866) or T2A encoding.
+
+The file `plainenc.tex' provides a preliminary support of
+inputenc/fontenc mechanisms for Plain TeX. It uses the standard
+*unmodified* LaTeX files: inputenc.sty, font encoding definition files
+(such as lcyenc.def), and input encoding definition files (koi8-r.def,
+cp866.def, etc), so that your documents may be in any input encoding
+supported by the `cyrillic' bundle of LaTeX.
+
+The files `example4.tex' and `example2.tex' contain examples of using
+different input encodings in Plain TeX. See also a file example3.tex
+which shows another way to process Plain TeX files---using the `plain'
+package for LaTeX.
+
+To install russian support for Plain TeX, AMS-TeX, Texinfo or BLUe
+TeX, please do the following steps:
+
+1) To setup hyphenation, you will need russian hyphenation patterns
+and a file `hyphen.cfg' (either from BABEL or created manually). It is
+recommended to use russian hyphenation patterns contained in the
+`ruhyphen' package (see the README in the parent directory for more
+information). There you will find also documentation on installation
+and usage of patterns. Note, that for all Plain TeX-based formats it
+is recommended to use "combined" Russian-English patterns as a single
+language to avoid necessity to use language switching commands like
+\Russian and \English (you may use a sample "language.dat" from the
+ruhyphen package when creating format files).
+
+2) If you want to be able to use input encodings other than cp866, you
+should install the T2 package first. Then edit the file `cyrtex.cfg',
+and choose the default input encoding of your documents in the line
+"\def\definpenc{koi8-r}". In this case you must install BABEL, because
+we use some files from BABEL (e.g., plain.def, hyphen.cfg).
+
+Otherwise (if you will process only documents in cp866 encoding),
+change "\iftrue" to "\iffalse" in `cyrtex.cfg' (or put cp866 in the
+definition of \definpenc).
+
+Note that we use here the file `lcydefs.tex' which is part of the
+`cyrillic' bundle for LaTeX2e (CTAN:macros/latex/required/cyrillic).
+Note that this file should be generated as explained in `00readme.txt'
+from the `cyrillic' bundle.
+
+3) By default, we use LH fonts. You could change this to any other
+LCY- or T2A-encoded font set (e.g. to use Type1 virtual fonts like
+`C1 fonts package'), by redefining the command `\fontprefix' in
+cyrtex.cfg.
+
+We support LCY and T2A font encodings (see cyrtex.cfg). If you use
+T2A encoding, you should get EXMI fonts from CTAN:macros/ec-plain/*.mf
+and define \miprefix to `ex' in cyrtex.cfg.
+
+4) Edit the file `makefmts.sh' or `makefmts.bat' (depending on your
+platform), and (optionally) remove or comment out the lines which call
+INITEX for formats which you do not want to install.
+
+Then run the script/batch file `makefmts.sh' or `makefmts.bat'. This will
+create TeX format files: `cyrtex.fmt', `cyramstex.fmt', `cyrtexinfo.fmt'
+and `cyrblue.fmt' (maybe not all of them if you commented some lines
+in makefmts script). In case of `makefmts.bat', we use short DOSish
+filenames `cyramstx.fmt', `cyrtxinf.fmt' instead of `cyramstex.fmt',
+`cyrtexinfo.fmt'. You can rename them to long names if your OS
+supports them. ;-) Finally, install the format files as usual (maybe
+creating symlinks or scripts/batch files which call TeX with these
+formats).
+
+Note: if you are using `amsppt' with AMS-TeX, you should also patch
+the file `amsppt.sty', changing some hard-coded CM fonts to the
+corresponding cyrillic fonts. The patch `amsppt.diff' is in the `etc'
+directory of the T2 package [if you do not have a `patch' utility, you
+may do the changes manually].
+
+Please, use plain.tex version 3.1415926 or above.
+
+To make your documents encoding independent, you can use macros like
+`\inputencoding{koi8-r}' in your documents (you can even use several
+input encodings in one document, --- see the file `example4.tex' in
+the directory `../examples').
+
+Please report bugs via email addresses given in the file README in
+the parent directory.
+
+Happy TeXing!
diff --git a/macros/latex/contrib/t2/cyrplain/cyramstx.ini b/macros/latex/contrib/t2/cyrplain/cyramstx.ini
new file mode 100644
index 0000000000..197bc7ae53
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyramstx.ini
@@ -0,0 +1,10 @@
+\input cyrtex
+\UNPROTECT
+\input amstex
+%% Uncomment this line to include the AMSPPT preprint style in the
+%% format file:
+%%\documentstyle{amsppt}
+\input txxextra
+\makerobust\dots
+\PROTECT
+\dump
diff --git a/macros/latex/contrib/t2/cyrplain/cyrblue.ini b/macros/latex/contrib/t2/cyrplain/cyrblue.ini
new file mode 100644
index 0000000000..5c20ae2691
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyrblue.ini
@@ -0,0 +1,3 @@
+\input cyrtex
+\input blue
+\dump
diff --git a/macros/latex/contrib/t2/cyrplain/cyrcmfnt.tex b/macros/latex/contrib/t2/cyrplain/cyrcmfnt.tex
new file mode 100644
index 0000000000..82c031f5fb
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyrcmfnt.tex
@@ -0,0 +1,82 @@
+% Definitions of fonts for `cyrillized' Plain TeX: CM-like names
+%
+% Fonts assigned to \preloaded are not part of "plain TeX",
+% but they are preloaded so that other format packages can use them.
+% For example, if another set of macros says "\font\ninerm=cmr9",
+% TeX will not have to reload the font metric information for cmr9.
+
+\message{fonts,}
+
+\font\tenrm=\fontprefix r10 % roman text
+%\font\preloaded=\fontprefix r9
+%\font\preloaded=\fontprefix r8
+\font\sevenrm=\fontprefix r7
+%\font\preloaded=\fontprefix r6
+\font\fiverm=\fontprefix r5
+
+\font\teni=\miprefix mi10 % math italic
+%\font\preloaded=\miprefix mi9
+%\font\preloaded=\miprefix mi8
+\font\seveni=\miprefix mi7
+%\font\preloaded=\miprefix mi6
+\font\fivei=\miprefix mi5
+
+\font\tensy=cmsy10 % math symbols
+%\font\preloaded=cmsy9
+%\font\preloaded=cmsy8
+\font\sevensy=cmsy7
+%\font\preloaded=cmsy6
+\font\fivesy=cmsy5
+
+\font\tenex=cmex10 % math extension
+
+%\font\preloaded=\fontprefix ss10 % sans serif
+%\font\preloaded=\fontprefix ssq8
+
+%\font\preloaded=\fontprefix ssi10 % sans serif italic
+%\font\preloaded=\fontprefix ssqi8
+
+\font\tenbf=\fontprefix bx10 % boldface extended
+%\font\preloaded=\fontprefix bx9
+%\font\preloaded=\fontprefix bx8
+\font\sevenbf=\fontprefix bx7
+%\font\preloaded=\fontprefix bx6
+\font\fivebf=\fontprefix bx5
+
+\font\tentt=\fontprefix tt10 % typewriter
+%\font\preloaded=\fontprefix tt9
+%\font\preloaded=\fontprefix tt8
+
+%\font\preloaded=\fontprefix sltt10 % slanted typewriter
+
+\font\tensl=\fontprefix sl10 % slanted roman
+%\font\preloaded=\fontprefix sl9
+%\font\preloaded=\fontprefix sl8
+
+\font\tenit=\fontprefix ti10 % text italic
+%\font\preloaded=\fontprefix ti9
+%\font\preloaded=\fontprefix ti8
+%\font\preloaded=\fontprefix ti7
+
+\message{more fonts,}
+%\font\preloaded=\fontprefix u10 % unslanted text italic
+
+%\font\preloaded=\miprefix mib10 % bold math italic
+%\font\preloaded=cmbsy10 % bold math symbols
+
+%\font\preloaded=\fontprefix csc10 % caps and small caps
+
+%\font\preloaded=\fontprefix ssbx10 % sans serif bold extended
+
+%\font\preloaded=\fontprefix dunh10 % Dunhill style
+
+%\font\preloaded=\fontprefix r7 scaled \magstep4 % for titles
+%\font\preloaded=\fontprefix tt10 scaled \magstep2
+%\font\preloaded=\fontprefix ssbx10 scaled \magstep2
+
+%\font\preloaded=manfnt % METAFONT logo and dragon curve and special symbols
+
+% Additional \preloaded fonts can be specified here.
+% (And those that were \preloaded above can be eliminated.)
+
+\let\preloaded=\undefined % preloaded fonts must be declared anew later.
diff --git a/macros/latex/contrib/t2/cyrplain/cyrecfnt.tex b/macros/latex/contrib/t2/cyrplain/cyrecfnt.tex
new file mode 100644
index 0000000000..2920195c01
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyrecfnt.tex
@@ -0,0 +1,82 @@
+% Definitions of fonts for `cyrillized' Plain TeX: EC-like names
+%
+% Fonts assigned to \preloaded are not part of "plain TeX",
+% but they are preloaded so that other format packages can use them.
+% For example, if another set of macros says "\font\ninerm=cmr9",
+% TeX will not have to reload the font metric information for cmr9.
+
+\message{fonts,}
+
+\font\tenrm=\fontprefix rm1000 % roman text
+%\font\preloaded=\fontprefix rm0900
+%\font\preloaded=\fontprefix rm0800
+\font\sevenrm=\fontprefix rm0700
+%\font\preloaded=\fontprefix rm0600
+\font\fiverm=\fontprefix rm0500
+
+\font\teni=\miprefix mi10 % math italic
+%\font\preloaded=\miprefix mi9
+%\font\preloaded=\miprefix mi8
+\font\seveni=\miprefix mi7
+%\font\preloaded=\miprefix mi6
+\font\fivei=\miprefix mi5
+
+\font\tensy=cmsy10 % math symbols
+%\font\preloaded=cmsy9
+%\font\preloaded=cmsy8
+\font\sevensy=cmsy7
+%\font\preloaded=cmsy6
+\font\fivesy=cmsy5
+
+\font\tenex=cmex10 % math extension
+
+%\font\preloaded=\fontprefix ss1000 % sans serif
+%\font\preloaded=\fontprefix sq8
+
+%\font\preloaded=\fontprefix si1000 % sans serif italic
+%\font\preloaded=\fontprefix qi8
+
+\font\tenbf=\fontprefix bx1000 % boldface extended
+%\font\preloaded=\fontprefix bx0900
+%\font\preloaded=\fontprefix bx0800
+\font\sevenbf=\fontprefix bx0700
+%\font\preloaded=\fontprefix bx0600
+\font\fivebf=\fontprefix bx0500
+
+\font\tentt=\fontprefix tt1000 % typewriter
+%\font\preloaded=\fontprefix tt0900
+%\font\preloaded=\fontprefix tt0800
+
+%\font\preloaded=\fontprefix st1000 % slanted typewriter
+
+\font\tensl=\fontprefix sl1000 % slanted roman
+%\font\preloaded=\fontprefix sl0900
+%\font\preloaded=\fontprefix sl0800
+
+\font\tenit=\fontprefix ti1000 % text italic
+%\font\preloaded=\fontprefix ti0900
+%\font\preloaded=\fontprefix ti0800
+%\font\preloaded=\fontprefix ti0700
+
+\message{more fonts,}
+%\font\preloaded=\fontprefix ui1000 % unslanted text italic
+
+%\font\preloaded=\miprefix mib10 % bold math italic
+%\font\preloaded=cmbsy10 % bold math symbols
+
+%\font\preloaded=\fontprefix cc1000 % caps and small caps
+
+%\font\preloaded=\fontprefix sx1000 % sans serif bold extended
+
+%\font\preloaded=\fontprefix dh1000 % Dunhill style
+
+%\font\preloaded=\fontprefix rm0700 scaled \magstep4 % for titles
+%\font\preloaded=\fontprefix tt1000 scaled \magstep2
+%\font\preloaded=\fontprefix sx1000 scaled \magstep2
+
+%\font\preloaded=manfnt % METAFONT logo and dragon curve and special symbols
+
+% Additional \preloaded fonts can be specified here.
+% (And those that were \preloaded above can be eliminated.)
+
+\let\preloaded=\undefined % preloaded fonts must be declared anew later.
diff --git a/macros/latex/contrib/t2/cyrplain/cyrtex.cfg b/macros/latex/contrib/t2/cyrplain/cyrtex.cfg
new file mode 100644
index 0000000000..97963bb26d
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyrtex.cfg
@@ -0,0 +1,45 @@
+% Cyrillic TeX configuration file for Plain TeX based packages
+
+% Select text font encoding and fonts which will be used
+\c lh/lcy/lcydefs/cm/cyrcmfnt
+%\c c3/lcy/lcydefs/cm/cyrcmfnt
+%\c la/t2a/txxdefs/ex/cyrecfnt
+%\c c1/t2a/txxdefs/ex/cyrcmfnt
+%\c lb/t2b/txxdefs/ex/cyrecfnt
+%\c lc/t2c/txxdefs/ex/cyrecfnt
+%\c ld/t2d/txxdefs/ex/cyrecfnt
+% In general, latin-based setups are also supported
+%\c cm/ot1/null/cm/cyrcmfnt
+%\c ec/t1/txxdefs/ex/cyrecfnt
+%\c ae/t1/txxdefs/ex/cyrcmfnt
+
+% Which Russian hyphenation pattern to load (if not defined here,
+% the default from ruhyphen.tex will be used)
+%\def\Pattern{al}
+%\def\Pattern{as}
+%\def\Pattern{ct}
+%\def\Pattern{dv}
+%\def\Pattern{vl}
+%\def\Pattern{zn}
+
+% Whether to switch on hyphenation of words with explicit hyphens
+% (requires hyphenation patterns with hypht1.tex or hypht2.tex loaded!)
+\iftxxenc\lccode`\-=`\- \defaulthyphenchar=127 \fi
+
+% Whether to use input encoding selection (with active characters)
+\let\ifinpenc\iftrue
+%\let\ifinpenc\iffalse
+
+% Select the default input encoding (only if inputenc is activated).
+% Some possible choices for cyrillic:
+% cp1251, cp855, cp866, cp866av, cp866mav, cp866nav, cp866tat, ctt, dbk,
+% iso88595, isoir111, koi8-r, koi8-ru, koi8-u, maccyr, macukr, mik, mls,
+% mnk, mos, ncc
+%
+% Some possible choices for latin:
+% ansinew, applemac, ascii, cp1250, cp1252, cp437, cp437de, cp850,
+% cp852, cp865, decmulti, latin1, latin2, latin3, latin5, next
+% latin1jk, latin2jk, latin3jk
+% amigapl, mazovia
+% atari, isolatin, mac, pc850, roman8
+\def\definpenc{koi8-r}
diff --git a/macros/latex/contrib/t2/cyrplain/cyrtex.ini b/macros/latex/contrib/t2/cyrplain/cyrtex.ini
new file mode 100644
index 0000000000..def81c8038
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyrtex.ini
@@ -0,0 +1,2 @@
+\input cyrtex
+\dump
diff --git a/macros/latex/contrib/t2/cyrplain/cyrtex.tex b/macros/latex/contrib/t2/cyrplain/cyrtex.tex
new file mode 100644
index 0000000000..20c3d911e7
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyrtex.tex
@@ -0,0 +1,29 @@
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\#=6
+\let\iftxxenc\iffalse
+\def\c#1/#2/#3/#4/#5 {\def\fontprefix{#1}\def\Encoding{#2}\input#3
+ \def\miprefix{#4}\def\fontdefs{#5}}
+\input cyrtex.cfg
+
+\let\next\font\long\def\font#1\undefined{\let\font\next\input\fontdefs
+ \let\next\lefthyphenmin\def\lefthyphenmin##1hyphen{\let\lefthyphenmin\next
+ \let\next\undefined\input hyphen.cfg}}
+\input plain
+\edef\fmtversion{\fmtversion-Cyr}
+
+\input txxextra
+
+%\input\Encoding defs
+\ifinpenc
+ \input plainenc
+ \fontencoding\Encoding
+ \inputencoding\definpenc
+\else
+ \let\PROTECT\relax\let\UNPROTECT\relax\def\makerobust#1{}
+\fi
+
+\catcode`\@=11
+\def\Russian{\set@hyphenmins22\language\l@russian}\let\Rus\Russian
+\def\English{\set@hyphenmins23\language\l@english}\let\Eng\English
+\catcode`\@=12
diff --git a/macros/latex/contrib/t2/cyrplain/cyrtxinf.ini b/macros/latex/contrib/t2/cyrplain/cyrtxinf.ini
new file mode 100644
index 0000000000..9f8821a641
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/cyrtxinf.ini
@@ -0,0 +1,25 @@
+\input cyrtex
+\ifx\fontencoding\undefined\else
+ \def\putwordAppendix{\CYRP\cyrr\cyri\cyrl\cyro\cyrzh\cyre\cyrn\cyri\cyre}
+ \def\putwordChapter{\CYRG\cyrl\cyra\cyrv\cyra}
+ \def\putwordfile{\cyrf\cyra\cyrishrt\cyrl}
+% \def\putwordInfo{Info}
+% \def\putwordMethodon{Method on}
+ \def\putwordon{\cyrn\cyra}
+ \def\putwordpage{\cyrs.}
+ \def\putwordsection{\cyrr\cyra\cyrz\cyrd\cyre\cyrl}
+ \def\putwordSection{\CYRR\cyra\cyrz\cyrd\cyre\cyrl}
+ \def\putwordsee{\cyrs\cyrm.}
+ \def\putwordSee{\CYRS\cyrm.}
+ \def\putwordShortContents{\CYRK\cyrr\cyra\cyrt\cyrk\cyro\cyre\ \cyrs\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre}
+ \def\putwordTableofContents{\CYRO\cyrg\cyrl\cyra\cyrv\cyrl\cyre\cyrn\cyri\cyre}
+\fi
+\catcode`\@=11
+\let\org@IeC\IeC
+\def\tmp@IeC#1{\realbackslash IeC\space{\realbackslash\expandafter\@gobble\string#1 }}
+\def\newrefx#1#2{\let\IeC\tmp@IeC\edef\reserved@a{#1}\let\IeC\org@IeC\orgrefx\reserved@a{#2}}
+\catcode`\@=12
+\input texinfo
+@let@orgrefx@refx
+@let@refx@newrefx
+@dump
diff --git a/macros/latex/contrib/t2/cyrplain/makefmts.bat b/macros/latex/contrib/t2/cyrplain/makefmts.bat
new file mode 100644
index 0000000000..6b2dff2638
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/makefmts.bat
@@ -0,0 +1,4 @@
+tex386.exe -i -8 -o -mt18000 cyrtex.ini
+tex386.exe -i -8 -o -mt18000 cyramstx.ini
+tex386.exe -i -8 -o -mt18000 cyrtxinf.ini
+tex386.exe -i -8 -o -mt18000 cyrblue.ini
diff --git a/macros/latex/contrib/t2/cyrplain/makefmts.sh b/macros/latex/contrib/t2/cyrplain/makefmts.sh
new file mode 100644
index 0000000000..05065946a8
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/makefmts.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+tex -ini -fmt=cyrtex -progname=tex cyrtex.ini
+tex -ini -fmt=cyramstex -progname=amstex cyramstx.ini
+tex -ini -fmt=cyrtexinfo -progname=texinfo cyrtxinf.ini
+tex -ini -fmt=cyrblue -progname=tex cyrblue.ini
+
+pdftex -ini -fmt=cyrpdftex -progname=pdftex cyrtex.ini
+pdftex -ini -fmt=cyrpdftexinfo -progname=pdftexinfo cyrtxinf.ini
diff --git a/macros/latex/contrib/t2/cyrplain/plainenc.tex b/macros/latex/contrib/t2/cyrplain/plainenc.tex
new file mode 100644
index 0000000000..f94590490f
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/plainenc.tex
@@ -0,0 +1,262 @@
+% This is the file plainenc.tex of the T2 package.
+% Copyright 1997-1999, 2003 Werner Lemberg, Vladimir Volovich
+% and any individual authors listed elsewhere in package files.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This file defines some commands for Plain TeX, so that it is able to
+% read (and interpret accordingly) some LaTeX files (unchanged), such as
+% inputenc.sty, font encoding definition files (lcyenc.def, t2aenc.def,
+% t1enc.def, etc.), and various input encoding definition files
+% (koi8-r.def, latin1.def, etc.).
+%
+% These definitions are the `minimal' possible. Probably, some
+% extensions will be needed.
+
+%\ProvidesFile{plainenc.tex}[1999/12/15 v0.1 inputenc support for Plain TeX]
+\ifx\inputencoding\undefined\else\expandafter\endinput\fi
+\chardef\atcatcode=\catcode`\@ \catcode`\@=11
+
+% load definitions from BABEL's plain.def (\adddialect should now be defined)
+\ifx\adddialect\undefined\let\adddialect\relax\let\protect\relax\fi
+\input plain.def
+
+\def\NeedsTeXFormat#1[#2]{}
+\def\ProvidesFile#1{%
+ \begingroup
+ \catcode`\ 10 %
+ \@ifnextchar[{\@providesfile{#1}}{\@providesfile{#1}[]}}
+\def\@providesfile#1[#2]{%
+ \wlog{File: #1 #2}%
+ \expandafter\xdef\csname ver@#1\endcsname{#2}%
+ \endgroup}
+\let\ProvidesPackage\ProvidesFile % better than #1[#2] -> {}
+%\def\DeclareOption#1#2{\def\@OptionBody{#2}}
+%\def\ProcessOptions{\@OptionBody}
+\def\DeclareOption#1#2{}
+\def\ProcessOptions{}
+\newlinechar`\^^J
+\def\MessageBreak{^^J}
+
+\let\@empty\empty
+\long\def\@gobbletwo#1#2{}
+\let\@inmathwarn\@gobble
+
+\def\PackageWarning#1#2{\immediate\write16{^^JPackage #1 Warning: #2\on@line.^^J}}
+\def\PackageWarningNoLine#1#2{\PackageWarning{#1}{#2\@gobble}}
+\def\on@line{ on input line \the\inputlineno}
+\def\PackageError#1#2#3{\begingroup\let\protect\string
+ \errmessage{Package #1 Error: #2.^^J}\endgroup}
+\def\@latex@error#1{\PackageError{plainenc}{#1}{}}
+\def\@latex@info#1{\wlog{Info: #1}}
+
+\def\DeclareFontEncoding#1#2#3{%
+ \expandafter\let\csname#1-cmd\endcsname\@current@cmd
+% \expandafter\let\csname#1-tmcmd\endcsname\@current@tmcmd
+ \def\LastDeclaredEncoding{#1}}
+% special math setup is unneeded if only one font encoding is used
+\def\@current@cmd#1{%
+ \ifx\protect\@typeset@protect
+ \else
+ \noexpand#1\expandafter\@gobble
+ \fi}
+\def\DeclareFontSubstitution#1#2#3#4{}
+\def\DeclareErrorFont#1#2#3#4#5{}
+\def\DeclareSymbolFont#1#2#3#4#5{}
+\def\SetSymbolFont#1#2#3#4#5#6{}
+\def\DeclareSymbolFontAlphabet#1#2{}
+\def\DeclareMathAlphabet#1#2#3#4#5{}
+\def\SetMathAlphabet#1#2#3#4#5#6{}
+\def\DeclareMathSymbol#1#2#3#4{% simplified definition
+ \count@=#4 \advance\count@ "7000 \mathchardef#1\count@}
+
+\def\@unexpandable@protect{\noexpand\protect\noexpand}
+%\let\protect\@typeset@protect
+
+\def\protected@edef{%
+ \let\@@protect\protect
+ \let\protect\@unexpandable@protect
+ \afterassignment\restore@protect
+ \@edef}
+\def\protected@xdef{%
+ \let\@@protect\protect
+ \let\protect\@unexpandable@protect
+ \afterassignment\restore@protect
+ \@xdef}
+\def\restore@protect{\let\protect\@@protect}
+
+\let\@edef\edef
+\let\@xdef\xdef
+
+% redefine \input to be compatible with LaTeX (for inputenc.sty)
+\ifx\@@input\@undefined\let\@@input\input\fi
+\def\input{\@ifnextchar\bgroup\@iinput\@@input}
+\def\@iinput#1{\@@input#1 } % This is a simplified definition
+
+% this is used in cyrillic encoding definition files
+\def\@ifundefined#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\long\def\@secondoftwo#1#2{#2}
+
+% support for uppercase/lowercase
+\let\@uppercase\uppercase
+\let\@lowercase\lowercase
+\newtoks\@uclctoks
+\DeclareRobustCommand\uppercas@{\afterassignment\upperc@se\@uclctoks}
+\DeclareRobustCommand\lowercas@{\afterassignment\lowerc@se\@uclctoks}
+\def\upperc@se{{%
+ \def\i{I}\def\j{J}%
+ \def\reserved@a##1##2{\let##1##2\reserved@a}%
+ \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
+ \protected@edef\reserved@a{\@uppercase\expandafter{\the\@uclctoks}}%
+ \reserved@a}}
+\def\lowerc@se{{%
+ \def\reserved@a##1##2{\let##2##1\reserved@a}%
+ \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
+ \protected@edef\reserved@a{\@lowercase\expandafter{\the\@uclctoks}}%
+ \reserved@a}}
+\def\@uclclist{\oe\OE\o\O\ae\AE\dh\DH\dj\DJ\l\L\ng\NG\ss\SS\th\TH
+\cyra\CYRA\cyrabhch\CYRABHCH\cyrabhchdsc\CYRABHCHDSC\cyrabhdze
+\CYRABHDZE\cyrabhha\CYRABHHA\cyrae\CYRAE\cyrb\CYRB\cyrbyus
+\CYRBYUS\cyrc\CYRC\cyrch\CYRCH\cyrchldsc\CYRCHLDSC\cyrchrdsc
+\CYRCHRDSC\cyrchvcrs\CYRCHVCRS\cyrd\CYRD\cyrdelta\CYRDELTA
+\cyrdje\CYRDJE\cyrdze\CYRDZE\cyrdzhe\CYRDZHE\cyre\CYRE\cyreps
+\CYREPS\cyrerev\CYREREV\cyrery\CYRERY\cyrf\CYRF\cyrfita
+\CYRFITA\cyrg\CYRG\cyrgdsc\CYRGDSC\cyrgdschcrs\CYRGDSCHCRS
+\cyrghcrs\CYRGHCRS\cyrghk\CYRGHK\cyrgup\CYRGUP\cyrh\CYRH
+\cyrhdsc\CYRHDSC\cyrhhcrs\CYRHHCRS\cyrhhk\CYRHHK\cyrhrdsn
+\CYRHRDSN\cyri\CYRI\cyrie\CYRIE\cyrii\CYRII\cyrishrt\CYRISHRT
+\cyrishrtdsc\CYRISHRTDSC\cyrizh\CYRIZH\cyrje\CYRJE\cyrk\CYRK
+\cyrkbeak\CYRKBEAK\cyrkdsc\CYRKDSC\cyrkhcrs\CYRKHCRS\cyrkhk
+\CYRKHK\cyrkvcrs\CYRKVCRS\cyrl\CYRL\cyrldsc\CYRLDSC\cyrlhk
+\CYRLHK\cyrlje\CYRLJE\cyrm\CYRM\cyrmdsc\CYRMDSC\cyrmhk\CYRMHK
+\cyrn\CYRN\cyrndsc\CYRNDSC\cyrng\CYRNG\cyrnhk\CYRNHK\cyrnje
+\CYRNJE\cyrnlhk\CYRNLHK\cyro\CYRO\cyrotld\CYROTLD\cyrp\CYRP
+\cyrphk\CYRPHK\cyrq\CYRQ\cyrr\CYRR\cyrrdsc\CYRRDSC\cyrrhk
+\CYRRHK\cyrrtick\CYRRTICK\cyrs\CYRS\cyrsacrs\CYRSACRS
+\cyrschwa\CYRSCHWA\cyrsdsc\CYRSDSC\cyrsemisftsn\CYRSEMISFTSN
+\cyrsftsn\CYRSFTSN\cyrsh\CYRSH\cyrshch\CYRSHCH\cyrshha\CYRSHHA
+\cyrt\CYRT\cyrtdsc\CYRTDSC\cyrtetse\CYRTETSE\cyrtshe\CYRTSHE
+\cyru\CYRU\cyrushrt\CYRUSHRT\cyrv\CYRV\cyrw\CYRW\cyry\CYRY
+\cyrya\CYRYA\cyryat\CYRYAT\cyryhcrs\CYRYHCRS\cyryi\CYRYI\cyryo
+\CYRYO\cyryu\CYRYU\cyrz\CYRZ\cyrzdsc\CYRZDSC\cyrzh\CYRZH
+\cyrzhdsc\CYRZHDSC}
+\def\PROTECT{%
+ \let\uppercase\uppercas@\let\lowercase\lowercas@
+ \let\edef\protected@edef\let\xdef\protected@xdef}
+\def\UNPROTECT{%
+ \let\uppercase\@uppercase\let\lowercase\@lowercase
+ \let\edef\@edef\let\xdef\@xdef}
+\PROTECT
+
+\let\org@write\write
+\let\org@immediate\immediate
+\DeclareRobustCommand\write{\afterassignment\write@a\count@}
+\def\immediate#1{\ifx#1\write\def\immediate@{\org@immediate}\fi\org@immediate#1}
+\let\immediate@\@empty
+\long\def\write@a#1{%
+ \begingroup
+ \let\thepage\relax
+ \let\protect\@unexpandable@protect
+% \@edef\reserved@a{\expandafter\noexpand\immediate@\org@write\the\count@{#1}}%
+% \reserved@a
+ \immediate@\org@write\the\count@{#1}%
+ \endgroup
+ \let\immediate@\@empty}
+
+% make handling of protected commands within whatsits correct:
+\let\org@shipout\shipout
+\def\shipout#1#2{\begingroup\setbox0=#1{#2}\let\protect\noexpand\org@shipout\box0\endgroup}
+
+% avoid problems in references with russian letters (e.g. in Texinfo)
+% (experimental code):
+%\def\DeclareTextSymbol#1#2#3{%
+% \@dec@text@cmd\chardef@hack#1{#2}#3\relax
+%}
+%\def\chardef@hack#1#2{%
+% \bgroup
+% \lccode`\0=#2
+% \lowercase{
+% \egroup
+% \let#1=0
+% }
+% \show#1
+%}
+
+% for inputenc files
+\def\makeatletter{\catcode`\@11\relax}
+\def\makeatother{\catcode`\@12\relax}
+
+\ifx\Orb\undefined
+ \message{^^J* Please get newer version of plain.tex from^^J%
+ * CTAN:systems/knuth/lib/plain.tex^^J* Aborting.^^J^^J}\end
+\fi
+\def\textcircled#1{{\ooalign{\hfil\raise.07ex\hbox{#1}\hfil\crcr\Orb}}}
+%\let\textlatin\rm
+
+\def\fontencoding#1{\makeatletter
+ \UNPROTECT % \lowercase for \DeclareTextComposite
+ \@lowercase{\input{#1enc.def}}%
+ \PROTECT
+ \@edef\cf@encoding{\@uppercase{\def\noexpand\cf@encoding{#1}}}%
+ \cf@encoding
+ \makeatother}
+\input inputenc.sty
+\let\org@inputencoding\inputencoding
+\def\inputencoding#1{\UNPROTECT % \uppercase, \edef
+ \org@inputencoding{#1}%
+ \PROTECT}
+
+% definitions of some LaTeX macros used in enc.def and .def files
+\def\sh@ft#1{\dimen@.00#1ex\multiply\dimen@\fontdimen1\font\kern-.0156\dimen@}
+\chardef\@xxxii=32
+\def\hb@xt@{\hbox to}
+\def\@tabacckludge#1{\expandafter\@changed@cmd
+ \csname\string#1\endcsname\relax}
+\DeclareRobustCommand{\ensuremath}{%
+ \ifmmode
+ \expandafter\@firstofone
+ \else
+ \expandafter\@ensuredmath
+ \fi}
+\long\def\@ensuredmath#1{$\relax#1$}
+\def\TextSymbolUnavailable#1{\@latex@error{%
+ Command \protect#1 unavailable in encoding \cf@encoding}}
+\def\textbullet{{\tensy\char15}}
+\def\textperiodcentered{{\tensy\char1}}
+%\font\tensmc=cmcsc10
+%\DeclareTextCommandDefault{\textregistered}{\textcircled{\tensmc r}}
+\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
+\DeclareTextCommandDefault{\SS}{SS}
+\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
+\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
+\DeclareRobustCommand*\textsuperscript[1]{%
+ {\m@th\ensuremath{^{\hbox{\sevenrm#1}}}}}
+\DeclareRobustCommand{\nobreakspace}{\leavevmode\nobreak\ }
+%\DeclareRobustCommand{\pounds}{%
+% \ifmmode\mathsterling\else\textsterling\fi}
+%\def\mathsterling{\mathit{\mathchar"7024}}
+%\def\mathit#1{{\it#1}}
+\def\frac#1#2{{\begingroup#1\endgroup\over#2}}
+\def\@height{height} \def\@depth{depth} \def\@width{width}
+\def\hmode@bgroup{\leavevmode\bgroup}
+
+% a helper command
+\def\makerobust#1{\expandafter\let\csname\expandafter
+ \@gobble\string#1 \endcsname#1%
+ \@edef#1{\noexpand\protect\expandafter\noexpand\csname\expandafter
+ \@gobble\string#1 \endcsname}}
+
+\catcode`\@=\atcatcode \let\atcatcode\undefined
+
+\endinput
diff --git a/macros/latex/contrib/t2/cyrplain/txxdefs.tex b/macros/latex/contrib/t2/cyrplain/txxdefs.tex
new file mode 100644
index 0000000000..be56c4b757
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/txxdefs.tex
@@ -0,0 +1,38 @@
+% setup {cat,uc,lc,sf,math}code values for T* font encodings
+\expandafter\ifx\csname txxfam\endcsname\relax
+ \def\txxfam{0}
+\fi
+\def\letter#1 #2 {%
+ \ifnum\catcode#1=13\else\catcode#1=11 \catcode#2=11 \fi
+ \uccode#1=#1 \uccode#2=#1
+ \lccode#1=#2 \lccode#2=#2
+ \sfcode#1=999 \sfcode#2=1000
+ \count255=#1 \advance\count255 "7\txxfam 00 \mathcode#1=\count255
+ \count255=#2 \advance\count255 "7\txxfam 00 \mathcode#2=\count255
+}
+\letter 128 160 \letter 129 161 \letter 130 162 \letter 131 163
+\letter 132 164 \letter 133 165 \letter 134 166 \letter 135 167
+\letter 136 168 \letter 137 169 \letter 138 170 \letter 139 171
+\letter 140 172 \letter 141 173 \letter 142 174 \letter 143 175
+\letter 144 176 \letter 145 177 \letter 146 178 \letter 147 179
+\letter 148 180 \letter 149 181 \letter 150 182 \letter 151 183
+\letter 152 184 \letter 153 185 \letter 154 186 \letter 155 187
+\letter 156 188
+\letter 192 224 \letter 193 225 \letter 194 226 \letter 195 227
+\letter 196 228 \letter 197 229 \letter 198 230 \letter 199 231
+\letter 200 232 \letter 201 233 \letter 202 234 \letter 203 235
+\letter 204 236 \letter 205 237 \letter 206 238 \letter 207 239
+\letter 208 240 \letter 209 241 \letter 210 242 \letter 211 243
+\letter 212 244 \letter 213 245 \letter 214 246 \letter 215 247
+\letter 216 248 \letter 217 249 \letter 218 250 \letter 219 251
+\letter 220 252 \letter 221 253 \letter 222 254 \letter 223 255
+\let\letter\undefined
+\lccode 25=25 \uccode 25=73 \lccode 26=26 \uccode 26=74 \lccode 27=27
+\lccode 157=105 \uccode 157=157 \mathcode 157="7\txxfam 9D
+\lccode 158=158 \uccode 158=208 \mathcode 158="7\txxfam 9E
+\lccode 159=0 \uccode 159=0 \mathcode 159="7\txxfam 9F
+\lccode 189=0 \uccode 189=0 \mathcode 189="7\txxfam BD
+\lccode 190=0 \uccode 190=0 \mathcode 190="7\txxfam BE
+\lccode 191=0 \uccode 191=0 \mathcode 191="7\txxfam BF
+\let\iftxxenc\iftrue
+\endinput
diff --git a/macros/latex/contrib/t2/cyrplain/txxextra.tex b/macros/latex/contrib/t2/cyrplain/txxextra.tex
new file mode 100644
index 0000000000..6ce4041f5b
--- /dev/null
+++ b/macros/latex/contrib/t2/cyrplain/txxextra.tex
@@ -0,0 +1,27 @@
+\def\next{ex}\ifx\next\miprefix
+\mathchardef\Gamma="0180
+\mathchardef\Delta="0181
+\mathchardef\Theta="0182
+\mathchardef\Lambda="0183
+\mathchardef\Xi="0184
+\mathchardef\Pi="0185
+\mathchardef\Sigma="0186
+\mathchardef\Upsilon="0187
+\mathchardef\Phi="0188
+\mathchardef\Psi="0189
+\mathchardef\Omega="018A
+\fi\let\next\undefined
+
+\iftxxenc
+\def\aa{\r a}
+\def\AA{\r A}
+\def\acute{\mathaccent"7001 }
+\def\grave{\mathaccent"7000 }
+\def\ddot{\mathaccent"7004 }
+\def\tilde{\mathaccent"7003 }
+\def\bar{\mathaccent"7009 }
+\def\breve{\mathaccent"7008 }
+\def\check{\mathaccent"7007 }
+\def\hat{\mathaccent"7002 }
+\def\dot{\mathaccent"700A }
+\fi
diff --git a/macros/latex/contrib/t2/enc-maps/.x2extra b/macros/latex/contrib/t2/enc-maps/.x2extra
new file mode 100644
index 0000000000..8868dfe9ee
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/.x2extra
@@ -0,0 +1,17 @@
+COMBINING SHORT STROKE OVERLAY
+CYRILLIC CAPITAL LETTER BIG YUS
+CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+CYRILLIC CAPITAL LETTER IZHITSA
+CYRILLIC CAPITAL LETTER JE
+CYRILLIC CAPITAL LETTER Q
+CYRILLIC CAPITAL LETTER W
+CYRILLIC CAPITAL LETTER YAT
+CYRILLIC SMALL LETTER BIG YUS
+CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+CYRILLIC SMALL LETTER IZHITSA
+CYRILLIC SMALL LETTER JE
+CYRILLIC SMALL LETTER Q
+CYRILLIC SMALL LETTER W
+CYRILLIC SMALL LETTER YAT
+MODIFIER LETTER LOW ACUTE ACCENT
+MODIFIER LETTER LOW GRAVE ACCENT
diff --git a/macros/latex/contrib/t2/enc-maps/Makefile b/macros/latex/contrib/t2/enc-maps/Makefile
new file mode 100644
index 0000000000..1dfd9be524
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/Makefile
@@ -0,0 +1,11 @@
+ENCODINGS = T2A T2B T2C X2
+ENC2UNI = $(ENCODINGS:=uni.map)
+
+all:
+ ./mkencs.sh
+
+show_glyphs_absent_in_unicode: $(ENC2UNI)
+ @grep ';;' $^ | sed 's,^[^;]*;;,,' | sort -u
+
+clean:
+ rm -f encfiles/*.enc
diff --git a/macros/latex/contrib/t2/enc-maps/OT2uni.map b/macros/latex/contrib/t2/enc-maps/OT2uni.map
new file mode 100644
index 0000000000..7deec0df73
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/OT2uni.map
@@ -0,0 +1,128 @@
+00;040A;CYRILLIC CAPITAL LETTER NJE
+01;0409;CYRILLIC CAPITAL LETTER LJE
+02;040F;CYRILLIC CAPITAL LETTER DZHE
+03;042D;CYRILLIC CAPITAL LETTER E
+04;0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+05;0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE
+06;0402;CYRILLIC CAPITAL LETTER DJE
+07;040B;CYRILLIC CAPITAL LETTER TSHE
+08;045A;CYRILLIC SMALL LETTER NJE
+09;0459;CYRILLIC SMALL LETTER LJE
+0A;045F;CYRILLIC SMALL LETTER DZHE
+0B;044D;CYRILLIC SMALL LETTER E
+0C;0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0D;0454;CYRILLIC SMALL LETTER UKRAINIAN IE
+0E;0452;CYRILLIC SMALL LETTER DJE
+0F;045B;CYRILLIC SMALL LETTER TSHE
+10;042E;CYRILLIC CAPITAL LETTER YU
+11;0416;CYRILLIC CAPITAL LETTER ZHE
+12;0419;CYRILLIC CAPITAL LETTER SHORT I
+13;0401;CYRILLIC CAPITAL LETTER IO
+14;0474;CYRILLIC CAPITAL LETTER IZHITSA
+15;0472;CYRILLIC CAPITAL LETTER FITA
+16;0405;CYRILLIC CAPITAL LETTER DZE
+17;042F;CYRILLIC CAPITAL LETTER YA
+18;044E;CYRILLIC SMALL LETTER YU
+19;0436;CYRILLIC SMALL LETTER ZHE
+1A;0439;CYRILLIC SMALL LETTER SHORT I
+1B;0451;CYRILLIC SMALL LETTER IO
+1C;0475;CYRILLIC SMALL LETTER IZHITSA
+1D;0473;CYRILLIC SMALL LETTER FITA
+1E;0455;CYRILLIC SMALL LETTER DZE
+1F;044F;CYRILLIC SMALL LETTER YA
+20;00A8;DIAERESIS
+21;0021;EXCLAMATION MARK
+22;201D;RIGHT DOUBLE QUOTATION MARK
+23;0462;CYRILLIC CAPITAL LETTER YAT
+24;F6D4;CYRILLIC BREVE
+25;0025;PERCENT SIGN
+26;00B4;ACUTE ACCENT
+27;2019;RIGHT SINGLE QUOTATION MARK
+28;0028;LEFT PARENTHESIS
+29;0029;RIGHT PARENTHESIS
+2A;002A;ASTERISK
+2B;0463;CYRILLIC SMALL LETTER YAT
+2C;002C;COMMA
+2D;002D;HYPHEN-MINUS
+2E;002E;FULL STOP
+2F;002F;SOLIDUS
+30;0030;DIGIT ZERO
+31;0031;DIGIT ONE
+32;0032;DIGIT TWO
+33;0033;DIGIT THREE
+34;0034;DIGIT FOUR
+35;0035;DIGIT FIVE
+36;0036;DIGIT SIX
+37;0037;DIGIT SEVEN
+38;0038;DIGIT EIGHT
+39;0039;DIGIT NINE
+3A;003A;COLON
+3B;003B;SEMICOLON
+3C;00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+3D;0131;LATIN SMALL LETTER DOTLESS I
+3E;00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+3F;003F;QUESTION MARK
+40;02D8;BREVE
+41;0410;CYRILLIC CAPITAL LETTER A
+42;0411;CYRILLIC CAPITAL LETTER BE
+43;0426;CYRILLIC CAPITAL LETTER TSE
+44;0414;CYRILLIC CAPITAL LETTER DE
+45;0415;CYRILLIC CAPITAL LETTER IE
+46;0424;CYRILLIC CAPITAL LETTER EF
+47;0413;CYRILLIC CAPITAL LETTER GHE
+48;0425;CYRILLIC CAPITAL LETTER HA
+49;0418;CYRILLIC CAPITAL LETTER I
+4A;0408;CYRILLIC CAPITAL LETTER JE
+4B;041A;CYRILLIC CAPITAL LETTER KA
+4C;041B;CYRILLIC CAPITAL LETTER EL
+4D;041C;CYRILLIC CAPITAL LETTER EM
+4E;041D;CYRILLIC CAPITAL LETTER EN
+4F;041E;CYRILLIC CAPITAL LETTER O
+50;041F;CYRILLIC CAPITAL LETTER PE
+51;0427;CYRILLIC CAPITAL LETTER CHE
+52;0420;CYRILLIC CAPITAL LETTER ER
+53;0421;CYRILLIC CAPITAL LETTER ES
+54;0422;CYRILLIC CAPITAL LETTER TE
+55;0423;CYRILLIC CAPITAL LETTER U
+56;0412;CYRILLIC CAPITAL LETTER VE
+57;0429;CYRILLIC CAPITAL LETTER SHCHA
+58;0428;CYRILLIC CAPITAL LETTER SHA
+59;042B;CYRILLIC CAPITAL LETTER YERU
+5A;0417;CYRILLIC CAPITAL LETTER ZE
+5B;005B;LEFT SQUARE BRACKET
+5C;201C;LEFT DOUBLE QUOTATION MARK
+5D;005D;RIGHT SQUARE BRACKET
+5E;042C;CYRILLIC CAPITAL LETTER SOFT SIGN
+5F;042A;CYRILLIC CAPITAL LETTER HARD SIGN
+60;2018;LEFT SINGLE QUOTATION MARK
+61;0430;CYRILLIC SMALL LETTER A
+62;0431;CYRILLIC SMALL LETTER BE
+63;0446;CYRILLIC SMALL LETTER TSE
+64;0434;CYRILLIC SMALL LETTER DE
+65;0435;CYRILLIC SMALL LETTER IE
+66;0444;CYRILLIC SMALL LETTER EF
+67;0433;CYRILLIC SMALL LETTER GHE
+68;0445;CYRILLIC SMALL LETTER HA
+69;0438;CYRILLIC SMALL LETTER I
+6A;0458;CYRILLIC SMALL LETTER JE
+6B;043A;CYRILLIC SMALL LETTER KA
+6C;043B;CYRILLIC SMALL LETTER EL
+6D;043C;CYRILLIC SMALL LETTER EM
+6E;043D;CYRILLIC SMALL LETTER EN
+6F;043E;CYRILLIC SMALL LETTER O
+70;043F;CYRILLIC SMALL LETTER PE
+71;0447;CYRILLIC SMALL LETTER CHE
+72;0440;CYRILLIC SMALL LETTER ER
+73;0441;CYRILLIC SMALL LETTER ES
+74;0442;CYRILLIC SMALL LETTER TE
+75;0443;CYRILLIC SMALL LETTER U
+76;0432;CYRILLIC SMALL LETTER VE
+77;0449;CYRILLIC SMALL LETTER SHCHA
+78;0448;CYRILLIC SMALL LETTER SHA
+79;044B;CYRILLIC SMALL LETTER YERU
+7A;0437;CYRILLIC SMALL LETTER ZE
+7B;2013;EN DASH
+7C;2014;EM DASH
+7D;2116;NUMERO SIGN
+7E;044C;CYRILLIC SMALL LETTER SOFT SIGN
+7F;044A;CYRILLIC SMALL LETTER HARD SIGN
diff --git a/macros/latex/contrib/t2/enc-maps/README b/macros/latex/contrib/t2/enc-maps/README
new file mode 100644
index 0000000000..3a67b07462
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/README
@@ -0,0 +1,64 @@
+Descriptions of files in the `enc-maps' directory of the T2 package.
+
+This directory contains the following files:
+
+1) mappings from TeX Cyrillic font encodings to Unicode. These files
+are a plain ASCII text files consisting of lines containing fields
+terminated by semicolons. Each line represents the data for one
+encoded character. Lines beginning with the `#' character are
+comments. The first field is a hexadecimal number of the slot number
+in the font encoding. The second field is a hexadecimal number of the
+Unicode glyph number for this slot. The third field is a standard
+Unicode v3 name for this glyph. Some glyphs used in the T2 package
+are not yet registered in Unicode. In this case the second field is
+empty, and the name used in the third field is thus non-standard.
+
+T2Auni.map --- mapping for the T2A encoding
+T2Buni.map --- mapping for the T2B encoding
+T2Cuni.map --- mapping for the T2C encoding
+X2uni.map --- mapping for the X2 encoding
+OT2uni.map --- mapping for the OT2 encoding
+
+2) mappings from glyph names used in fonts (Type1, TrueType) and T2
+package to Unicode. The format is similar to the one described in
+n.1. There are three fields separated by semicolons. Lines beginning
+with the `#' character are comments. The first field contains the
+Unicode glyph number. The second field contains a glyph name. The
+third field contains a standard Unicode-2.1 name for this glyph.
+
+glyphlist.txt --- Adobe Glyph List with Unicode Values available at
+ http://partners.adobe.com/asn/developer/typeforum/glyphlist.txt
+mtcyr.txt --- mapping for (some of) the Monotype Cyrillic Type1 fonts
+urwcyr.txt --- mapping for (some of) the URW Cyrillic Type1 fonts
+amscyr.txt --- mapping for AMS Cyrillic (wncy*) Type1 fonts
+broken1.txt --- mapping for some broken naming used in some Type1
+ Cyrillic fonts
+broken2.txt --- mapping for some broken naming used in some Type1
+ Cyrillic fonts
+t2cyr.txt --- mapping for the Cyrillic glyph names used in the T2 package
+t2lat.txt --- mapping for the Latin glyph names used in the T2 package
+
+3) mappings from various Cyrillic charsets to Unicode.
+
+cyrcset7.txt --- 7-bit Cyrillic charsets
+cyrcset8.txt --- 8-bit Cyrillic charsets
+cyrcsets.ind --- index file for the above two files
+
+Look into the file cyrcsets.ind and find needed charset. Notice the
+number assigned to this charset (say, N) and a file name (either
+cyrcset8.txt or cyrcset7.txt). Then the needed mapping from this
+charset to Unicode could be found from the (N+1)th column of the
+corresponding file. The first column contains the slot number in the
+encoding. All numbers are hexadecimal.
+
+4) scripts for generation of *.enc files for dvips and pdftex.
+
+Makefile
+make-enc.pl
+mkencs.sh
+
+5) miscellaneous.
+
+encfiles --- a directory with some *.enc files generated by running
+ mkencs.sh.
+README --- this file.
diff --git a/macros/latex/contrib/t2/enc-maps/T2Auni.map b/macros/latex/contrib/t2/enc-maps/T2Auni.map
new file mode 100644
index 0000000000..adf97402e3
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/T2Auni.map
@@ -0,0 +1,265 @@
+00;0060;GRAVE ACCENT
+01;00B4;ACUTE ACCENT
+02;02C6;MODIFIER LETTER CIRCUMFLEX ACCENT
+03;02DC;SMALL TILDE
+04;00A8;DIAERESIS
+05;02DD;DOUBLE ACUTE ACCENT
+06;02DA;RING ABOVE
+07;02C7;CARON
+08;02D8;BREVE
+09;00AF;MACRON
+0A;02D9;DOT ABOVE
+0B;00B8;CEDILLA
+0C;02DB;OGONEK
+0D;04C0;CYRILLIC LETTER PALOCHKA
+0E;2329;LEFT-POINTING ANGLE BRACKET
+0F;232A;RIGHT-POINTING ANGLE BRACKET
+10;201C;LEFT DOUBLE QUOTATION MARK
+11;201D;RIGHT DOUBLE QUOTATION MARK
+12;F6D5;CYRILLIC CIRCUMFLEX
+# 12;F6D2;CAPITAL CYRILLIC CIRCUMFLEX
+13;F6D6;DOUBLE GRAVE ACCENT
+# 13;F6D3;CAPITAL DOUBLE GRAVE ACCENT
+# 13;030F;COMBINING DOUBLE GRAVE ACCENT
+14;F6D4;CYRILLIC BREVE
+# 14;F6D1;CAPITAL CYRILLIC BREVE
+15;2013;EN DASH
+16;2014;EM DASH
+# 16;;CYRILLIC EM DASH
+17;FEFF;ZERO WIDTH NO-BREAK SPACE
+# 17;;COMPOUND WORD MARK
+18;;PERTHOUSAND ZERO
+# 18;2080;SUBSCRIPT ZERO
+19;0131;LATIN SMALL LETTER DOTLESS I
+1A;;LATIN SMALL LETTER DOTLESS J
+1B;FB00;LATIN SMALL LIGATURE FF
+1C;FB01;LATIN SMALL LIGATURE FI
+1D;FB02;LATIN SMALL LIGATURE FL
+1E;FB03;LATIN SMALL LIGATURE FFI
+1F;FB04;LATIN SMALL LIGATURE FFL
+20;;BLANK-SPACE SIGN
+# 20;2423;OPEN BOX
+21;0021;EXCLAMATION MARK
+22;0022;QUOTATION MARK
+23;0023;NUMBER SIGN
+24;0024;DOLLAR SIGN
+25;0025;PERCENT SIGN
+26;0026;AMPERSAND
+27;2019;RIGHT SINGLE QUOTATION MARK
+# 27;0027;APOSTROPHE
+28;0028;LEFT PARENTHESIS
+29;0029;RIGHT PARENTHESIS
+2A;002A;ASTERISK
+2B;002B;PLUS SIGN
+2C;002C;COMMA
+2D;002D;HYPHEN-MINUS
+2E;002E;FULL STOP
+2F;002F;SOLIDUS
+30;0030;DIGIT ZERO
+31;0031;DIGIT ONE
+32;0032;DIGIT TWO
+33;0033;DIGIT THREE
+34;0034;DIGIT FOUR
+35;0035;DIGIT FIVE
+36;0036;DIGIT SIX
+37;0037;DIGIT SEVEN
+38;0038;DIGIT EIGHT
+39;0039;DIGIT NINE
+3A;003A;COLON
+3B;003B;SEMICOLON
+3C;003C;LESS-THAN SIGN
+3D;003D;EQUALS SIGN
+3E;003E;GREATER-THAN SIGN
+3F;003F;QUESTION MARK
+40;0040;COMMERCIAL AT
+41;0041;LATIN CAPITAL LETTER A
+42;0042;LATIN CAPITAL LETTER B
+43;0043;LATIN CAPITAL LETTER C
+44;0044;LATIN CAPITAL LETTER D
+45;0045;LATIN CAPITAL LETTER E
+46;0046;LATIN CAPITAL LETTER F
+47;0047;LATIN CAPITAL LETTER G
+48;0048;LATIN CAPITAL LETTER H
+49;0049;LATIN CAPITAL LETTER I
+4A;004A;LATIN CAPITAL LETTER J
+4B;004B;LATIN CAPITAL LETTER K
+4C;004C;LATIN CAPITAL LETTER L
+4D;004D;LATIN CAPITAL LETTER M
+4E;004E;LATIN CAPITAL LETTER N
+4F;004F;LATIN CAPITAL LETTER O
+50;0050;LATIN CAPITAL LETTER P
+51;0051;LATIN CAPITAL LETTER Q
+52;0052;LATIN CAPITAL LETTER R
+53;0053;LATIN CAPITAL LETTER S
+54;0054;LATIN CAPITAL LETTER T
+55;0055;LATIN CAPITAL LETTER U
+56;0056;LATIN CAPITAL LETTER V
+57;0057;LATIN CAPITAL LETTER W
+58;0058;LATIN CAPITAL LETTER X
+59;0059;LATIN CAPITAL LETTER Y
+5A;005A;LATIN CAPITAL LETTER Z
+5B;005B;LEFT SQUARE BRACKET
+5C;005C;REVERSE SOLIDUS
+5D;005D;RIGHT SQUARE BRACKET
+5E;005E;CIRCUMFLEX ACCENT
+5F;005F;LOW LINE
+60;2018;LEFT SINGLE QUOTATION MARK
+61;0061;LATIN SMALL LETTER A
+62;0062;LATIN SMALL LETTER B
+63;0063;LATIN SMALL LETTER C
+64;0064;LATIN SMALL LETTER D
+65;0065;LATIN SMALL LETTER E
+66;0066;LATIN SMALL LETTER F
+67;0067;LATIN SMALL LETTER G
+68;0068;LATIN SMALL LETTER H
+69;0069;LATIN SMALL LETTER I
+6A;006A;LATIN SMALL LETTER J
+6B;006B;LATIN SMALL LETTER K
+6C;006C;LATIN SMALL LETTER L
+6D;006D;LATIN SMALL LETTER M
+6E;006E;LATIN SMALL LETTER N
+6F;006F;LATIN SMALL LETTER O
+70;0070;LATIN SMALL LETTER P
+71;0071;LATIN SMALL LETTER Q
+72;0072;LATIN SMALL LETTER R
+73;0073;LATIN SMALL LETTER S
+74;0074;LATIN SMALL LETTER T
+75;0075;LATIN SMALL LETTER U
+76;0076;LATIN SMALL LETTER V
+77;0077;LATIN SMALL LETTER W
+78;0078;LATIN SMALL LETTER X
+79;0079;LATIN SMALL LETTER Y
+7A;007A;LATIN SMALL LETTER Z
+7B;007B;LEFT CURLY BRACKET
+7C;007C;VERTICAL LINE
+7D;007D;RIGHT CURLY BRACKET
+7E;007E;TILDE
+7F;002D;HYPHEN-MINUS
+80;0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+81;0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE
+82;0402;CYRILLIC CAPITAL LETTER DJE
+83;040B;CYRILLIC CAPITAL LETTER TSHE
+84;04BA;CYRILLIC CAPITAL LETTER SHHA
+85;0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+86;0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+87;0409;CYRILLIC CAPITAL LETTER LJE
+88;0407;CYRILLIC CAPITAL LETTER YI
+89;049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+8A;04A0;CYRILLIC CAPITAL LETTER BASHKIR KA
+8B;049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+8C;04D4;CYRILLIC CAPITAL LIGATURE A IE
+8D;04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+8E;04A4;CYRILLIC CAPITAL LIGATURE EN GHE
+8F;0405;CYRILLIC CAPITAL LETTER DZE
+90;04E8;CYRILLIC CAPITAL LETTER BARRED O
+91;04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;?[direction of descender]
+92;040E;CYRILLIC CAPITAL LETTER SHORT U
+93;04AE;CYRILLIC CAPITAL LETTER STRAIGHT U
+94;04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+95;04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+96;040F;CYRILLIC CAPITAL LETTER DZHE
+97;04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+98;04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+99;0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE
+9A;04D8;CYRILLIC CAPITAL LETTER SCHWA
+9B;040A;CYRILLIC CAPITAL LETTER NJE
+9C;0401;CYRILLIC CAPITAL LETTER IO
+9D;2116;NUMERO SIGN
+9E;00A4;CURRENCY SIGN
+9F;00A7;SECTION SIGN
+A0;0491;CYRILLIC SMALL LETTER GHE WITH UPTURN
+A1;0493;CYRILLIC SMALL LETTER GHE WITH STROKE
+A2;0452;CYRILLIC SMALL LETTER DJE
+A3;045B;CYRILLIC SMALL LETTER TSHE
+A4;04BB;CYRILLIC SMALL LETTER SHHA
+A5;0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+A6;0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER
+A7;0459;CYRILLIC SMALL LETTER LJE
+A8;0457;CYRILLIC SMALL LETTER YI
+A9;049B;CYRILLIC SMALL LETTER KA WITH DESCENDER
+AA;04A1;CYRILLIC SMALL LETTER BASHKIR KA
+AB;049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+AC;04D5;CYRILLIC SMALL LIGATURE A IE
+AD;04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER
+AE;04A5;CYRILLIC SMALL LIGATURE EN GHE
+AF;0455;CYRILLIC SMALL LETTER DZE
+B0;04E9;CYRILLIC SMALL LETTER BARRED O
+B1;04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;?[direction of descender]
+B2;045E;CYRILLIC SMALL LETTER SHORT U
+B3;04AF;CYRILLIC SMALL LETTER STRAIGHT U
+B4;04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+B5;04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER
+B6;045F;CYRILLIC SMALL LETTER DZHE
+B7;04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+B8;04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER
+B9;0454;CYRILLIC SMALL LETTER UKRAINIAN IE
+BA;04D9;CYRILLIC SMALL LETTER SCHWA
+BB;045A;CYRILLIC SMALL LETTER NJE
+BC;0451;CYRILLIC SMALL LETTER IO
+BD;201E;DOUBLE LOW-9 QUOTATION MARK
+BE;00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+BF;00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+C0;0410;CYRILLIC CAPITAL LETTER A
+C1;0411;CYRILLIC CAPITAL LETTER BE
+C2;0412;CYRILLIC CAPITAL LETTER VE
+C3;0413;CYRILLIC CAPITAL LETTER GHE
+C4;0414;CYRILLIC CAPITAL LETTER DE
+C5;0415;CYRILLIC CAPITAL LETTER IE
+C6;0416;CYRILLIC CAPITAL LETTER ZHE
+C7;0417;CYRILLIC CAPITAL LETTER ZE
+C8;0418;CYRILLIC CAPITAL LETTER I
+C9;0419;CYRILLIC CAPITAL LETTER SHORT I
+CA;041A;CYRILLIC CAPITAL LETTER KA
+CB;041B;CYRILLIC CAPITAL LETTER EL
+CC;041C;CYRILLIC CAPITAL LETTER EM
+CD;041D;CYRILLIC CAPITAL LETTER EN
+CE;041E;CYRILLIC CAPITAL LETTER O
+CF;041F;CYRILLIC CAPITAL LETTER PE
+D0;0420;CYRILLIC CAPITAL LETTER ER
+D1;0421;CYRILLIC CAPITAL LETTER ES
+D2;0422;CYRILLIC CAPITAL LETTER TE
+D3;0423;CYRILLIC CAPITAL LETTER U
+D4;0424;CYRILLIC CAPITAL LETTER EF
+D5;0425;CYRILLIC CAPITAL LETTER HA
+D6;0426;CYRILLIC CAPITAL LETTER TSE
+D7;0427;CYRILLIC CAPITAL LETTER CHE
+D8;0428;CYRILLIC CAPITAL LETTER SHA
+D9;0429;CYRILLIC CAPITAL LETTER SHCHA
+DA;042A;CYRILLIC CAPITAL LETTER HARD SIGN
+DB;042B;CYRILLIC CAPITAL LETTER YERU
+DC;042C;CYRILLIC CAPITAL LETTER SOFT SIGN
+DD;042D;CYRILLIC CAPITAL LETTER E
+DE;042E;CYRILLIC CAPITAL LETTER YU
+DF;042F;CYRILLIC CAPITAL LETTER YA
+E0;0430;CYRILLIC SMALL LETTER A
+E1;0431;CYRILLIC SMALL LETTER BE
+E2;0432;CYRILLIC SMALL LETTER VE
+E3;0433;CYRILLIC SMALL LETTER GHE
+E4;0434;CYRILLIC SMALL LETTER DE
+E5;0435;CYRILLIC SMALL LETTER IE
+E6;0436;CYRILLIC SMALL LETTER ZHE
+E7;0437;CYRILLIC SMALL LETTER ZE
+E8;0438;CYRILLIC SMALL LETTER I
+E9;0439;CYRILLIC SMALL LETTER SHORT I
+EA;043A;CYRILLIC SMALL LETTER KA
+EB;043B;CYRILLIC SMALL LETTER EL
+EC;043C;CYRILLIC SMALL LETTER EM
+ED;043D;CYRILLIC SMALL LETTER EN
+EE;043E;CYRILLIC SMALL LETTER O
+EF;043F;CYRILLIC SMALL LETTER PE
+F0;0440;CYRILLIC SMALL LETTER ER
+F1;0441;CYRILLIC SMALL LETTER ES
+F2;0442;CYRILLIC SMALL LETTER TE
+F3;0443;CYRILLIC SMALL LETTER U
+F4;0444;CYRILLIC SMALL LETTER EF
+F5;0445;CYRILLIC SMALL LETTER HA
+F6;0446;CYRILLIC SMALL LETTER TSE
+F7;0447;CYRILLIC SMALL LETTER CHE
+F8;0448;CYRILLIC SMALL LETTER SHA
+F9;0449;CYRILLIC SMALL LETTER SHCHA
+FA;044A;CYRILLIC SMALL LETTER HARD SIGN
+FB;044B;CYRILLIC SMALL LETTER YERU
+FC;044C;CYRILLIC SMALL LETTER SOFT SIGN
+FD;044D;CYRILLIC SMALL LETTER E
+FE;044E;CYRILLIC SMALL LETTER YU
+FF;044F;CYRILLIC SMALL LETTER YA
diff --git a/macros/latex/contrib/t2/enc-maps/T2Buni.map b/macros/latex/contrib/t2/enc-maps/T2Buni.map
new file mode 100644
index 0000000000..c20173cf86
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/T2Buni.map
@@ -0,0 +1,265 @@
+00;0060;GRAVE ACCENT
+01;00B4;ACUTE ACCENT
+02;02C6;MODIFIER LETTER CIRCUMFLEX ACCENT
+03;02DC;SMALL TILDE
+04;00A8;DIAERESIS
+05;02DD;DOUBLE ACUTE ACCENT
+06;02DA;RING ABOVE
+07;02C7;CARON
+08;02D8;BREVE
+09;00AF;MACRON
+0A;02D9;DOT ABOVE
+0B;00B8;CEDILLA
+0C;02DB;OGONEK
+0D;04C0;CYRILLIC LETTER PALOCHKA
+0E;2329;LEFT-POINTING ANGLE BRACKET
+0F;232A;RIGHT-POINTING ANGLE BRACKET
+10;201C;LEFT DOUBLE QUOTATION MARK
+11;201D;RIGHT DOUBLE QUOTATION MARK
+12;F6D5;CYRILLIC CIRCUMFLEX
+# 12;F6D2;CAPITAL CYRILLIC CIRCUMFLEX
+13;F6D6;DOUBLE GRAVE ACCENT
+# 13;F6D3;CAPITAL DOUBLE GRAVE ACCENT
+# 13;030F;COMBINING DOUBLE GRAVE ACCENT
+14;F6D4;CYRILLIC BREVE
+# 14;F6D1;CAPITAL CYRILLIC BREVE
+15;2013;EN DASH
+16;2014;EM DASH
+# 16;;CYRILLIC EM DASH
+17;FEFF;ZERO WIDTH NO-BREAK SPACE
+# 17;;COMPOUND WORD MARK
+18;;PERTHOUSAND ZERO
+# 18;2080;SUBSCRIPT ZERO
+19;0131;LATIN SMALL LETTER DOTLESS I
+1A;;LATIN SMALL LETTER DOTLESS J
+1B;FB00;LATIN SMALL LIGATURE FF
+1C;FB01;LATIN SMALL LIGATURE FI
+1D;FB02;LATIN SMALL LIGATURE FL
+1E;FB03;LATIN SMALL LIGATURE FFI
+1F;FB04;LATIN SMALL LIGATURE FFL
+20;;BLANK-SPACE SIGN
+# 20;2423;OPEN BOX
+21;0021;EXCLAMATION MARK
+22;0022;QUOTATION MARK
+23;0023;NUMBER SIGN
+24;0024;DOLLAR SIGN
+25;0025;PERCENT SIGN
+26;0026;AMPERSAND
+27;2019;RIGHT SINGLE QUOTATION MARK
+# 27;0027;APOSTROPHE
+28;0028;LEFT PARENTHESIS
+29;0029;RIGHT PARENTHESIS
+2A;002A;ASTERISK
+2B;002B;PLUS SIGN
+2C;002C;COMMA
+2D;002D;HYPHEN-MINUS
+2E;002E;FULL STOP
+2F;002F;SOLIDUS
+30;0030;DIGIT ZERO
+31;0031;DIGIT ONE
+32;0032;DIGIT TWO
+33;0033;DIGIT THREE
+34;0034;DIGIT FOUR
+35;0035;DIGIT FIVE
+36;0036;DIGIT SIX
+37;0037;DIGIT SEVEN
+38;0038;DIGIT EIGHT
+39;0039;DIGIT NINE
+3A;003A;COLON
+3B;003B;SEMICOLON
+3C;003C;LESS-THAN SIGN
+3D;003D;EQUALS SIGN
+3E;003E;GREATER-THAN SIGN
+3F;003F;QUESTION MARK
+40;0040;COMMERCIAL AT
+41;0041;LATIN CAPITAL LETTER A
+42;0042;LATIN CAPITAL LETTER B
+43;0043;LATIN CAPITAL LETTER C
+44;0044;LATIN CAPITAL LETTER D
+45;0045;LATIN CAPITAL LETTER E
+46;0046;LATIN CAPITAL LETTER F
+47;0047;LATIN CAPITAL LETTER G
+48;0048;LATIN CAPITAL LETTER H
+49;0049;LATIN CAPITAL LETTER I
+4A;004A;LATIN CAPITAL LETTER J
+4B;004B;LATIN CAPITAL LETTER K
+4C;004C;LATIN CAPITAL LETTER L
+4D;004D;LATIN CAPITAL LETTER M
+4E;004E;LATIN CAPITAL LETTER N
+4F;004F;LATIN CAPITAL LETTER O
+50;0050;LATIN CAPITAL LETTER P
+51;0051;LATIN CAPITAL LETTER Q
+52;0052;LATIN CAPITAL LETTER R
+53;0053;LATIN CAPITAL LETTER S
+54;0054;LATIN CAPITAL LETTER T
+55;0055;LATIN CAPITAL LETTER U
+56;0056;LATIN CAPITAL LETTER V
+57;0057;LATIN CAPITAL LETTER W
+58;0058;LATIN CAPITAL LETTER X
+59;0059;LATIN CAPITAL LETTER Y
+5A;005A;LATIN CAPITAL LETTER Z
+5B;005B;LEFT SQUARE BRACKET
+5C;005C;REVERSE SOLIDUS
+5D;005D;RIGHT SQUARE BRACKET
+5E;005E;CIRCUMFLEX ACCENT
+5F;005F;LOW LINE
+60;2018;LEFT SINGLE QUOTATION MARK
+61;0061;LATIN SMALL LETTER A
+62;0062;LATIN SMALL LETTER B
+63;0063;LATIN SMALL LETTER C
+64;0064;LATIN SMALL LETTER D
+65;0065;LATIN SMALL LETTER E
+66;0066;LATIN SMALL LETTER F
+67;0067;LATIN SMALL LETTER G
+68;0068;LATIN SMALL LETTER H
+69;0069;LATIN SMALL LETTER I
+6A;006A;LATIN SMALL LETTER J
+6B;006B;LATIN SMALL LETTER K
+6C;006C;LATIN SMALL LETTER L
+6D;006D;LATIN SMALL LETTER M
+6E;006E;LATIN SMALL LETTER N
+6F;006F;LATIN SMALL LETTER O
+70;0070;LATIN SMALL LETTER P
+71;0071;LATIN SMALL LETTER Q
+72;0072;LATIN SMALL LETTER R
+73;0073;LATIN SMALL LETTER S
+74;0074;LATIN SMALL LETTER T
+75;0075;LATIN SMALL LETTER U
+76;0076;LATIN SMALL LETTER V
+77;0077;LATIN SMALL LETTER W
+78;0078;LATIN SMALL LETTER X
+79;0079;LATIN SMALL LETTER Y
+7A;007A;LATIN SMALL LETTER Z
+7B;007B;LEFT CURLY BRACKET
+7C;007C;VERTICAL LINE
+7D;007D;RIGHT CURLY BRACKET
+7E;007E;TILDE
+7F;002D;HYPHEN-MINUS
+80;;CYRILLIC CAPITAL LETTER GHE WITH STROKE AND DESCENDER
+81;0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE
+82;;CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+83;0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+84;04BA;CYRILLIC CAPITAL LETTER SHHA
+85;0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+86;;CYRILLIC CAPITAL LETTER DELTA
+87;04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+88;0409;CYRILLIC CAPITAL LETTER LJE
+89;049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+8A;;CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+8B;04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK
+8C;;CYRILLIC CAPITAL LETTER EL WITH HOOK
+8D;04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+8E;04A4;CYRILLIC CAPITAL LIGATURE EN GHE
+8F;04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK
+90;04E8;CYRILLIC CAPITAL LETTER BARRED O
+91;;CYRILLIC CAPITAL LETTER ES WITH STROKE
+92;040E;CYRILLIC CAPITAL LETTER SHORT U
+93;04AE;CYRILLIC CAPITAL LETTER STRAIGHT U
+94;;CYRILLIC CAPITAL LETTER HA WITH STROKE
+95;04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+96;;CYRILLIC CAPITAL LETTER HA WITH HOOK
+97;04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+98;04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+99;040A;CYRILLIC CAPITAL LETTER NJE
+9A;04D8;CYRILLIC CAPITAL LETTER SCHWA
+9B;;CYRILLIC CAPITAL LETTER EPSILON
+9C;0401;CYRILLIC CAPITAL LETTER IO
+9D;2116;NUMERO SIGN
+9E;00A4;CURRENCY SIGN
+9F;00A7;SECTION SIGN
+A0;;CYRILLIC SMALL LETTER GHE WITH STROKE AND DESCENDER
+A1;0493;CYRILLIC SMALL LETTER GHE WITH STROKE
+A2;;CYRILLIC SMALL LETTER GHE WITH DESCENDER
+A3;0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+A4;04BB;CYRILLIC SMALL LETTER SHHA
+A5;0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+A6;;CYRILLIC SMALL LETTER DELTA
+A7;04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE
+A8;0459;CYRILLIC SMALL LETTER LJE
+A9;049B;CYRILLIC SMALL LETTER KA WITH DESCENDER
+AA;;CYRILLIC SMALL LETTER EL WITH DESCENDER
+AB;04C4;CYRILLIC SMALL LETTER KA WITH HOOK
+AC;;CYRILLIC SMALL LETTER EL WITH HOOK
+AD;04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER
+AE;04A5;CYRILLIC SMALL LIGATURE EN GHE
+AF;04C8;CYRILLIC SMALL LETTER EN WITH HOOK
+B0;04E9;CYRILLIC SMALL LETTER BARRED O
+B1;;CYRILLIC SMALL LETTER ES WITH STROKE
+B2;045E;CYRILLIC SMALL LETTER SHORT U
+B3;04AF;CYRILLIC SMALL LETTER STRAIGHT U
+B4;;CYRILLIC SMALL LETTER HA WITH STROKE
+B5;04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER
+B6;;CYRILLIC SMALL LETTER HA WITH HOOK
+B7;04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE
+B8;04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER
+B9;045A;CYRILLIC SMALL LETTER NJE
+BA;04D9;CYRILLIC SMALL LETTER SCHWA
+BB;;CYRILLIC SMALL LETTER EPSILON
+BC;0451;CYRILLIC SMALL LETTER IO
+BD;201E;DOUBLE LOW-9 QUOTATION MARK
+BE;00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+BF;00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+C0;0410;CYRILLIC CAPITAL LETTER A
+C1;0411;CYRILLIC CAPITAL LETTER BE
+C2;0412;CYRILLIC CAPITAL LETTER VE
+C3;0413;CYRILLIC CAPITAL LETTER GHE
+C4;0414;CYRILLIC CAPITAL LETTER DE
+C5;0415;CYRILLIC CAPITAL LETTER IE
+C6;0416;CYRILLIC CAPITAL LETTER ZHE
+C7;0417;CYRILLIC CAPITAL LETTER ZE
+C8;0418;CYRILLIC CAPITAL LETTER I
+C9;0419;CYRILLIC CAPITAL LETTER SHORT I
+CA;041A;CYRILLIC CAPITAL LETTER KA
+CB;041B;CYRILLIC CAPITAL LETTER EL
+CC;041C;CYRILLIC CAPITAL LETTER EM
+CD;041D;CYRILLIC CAPITAL LETTER EN
+CE;041E;CYRILLIC CAPITAL LETTER O
+CF;041F;CYRILLIC CAPITAL LETTER PE
+D0;0420;CYRILLIC CAPITAL LETTER ER
+D1;0421;CYRILLIC CAPITAL LETTER ES
+D2;0422;CYRILLIC CAPITAL LETTER TE
+D3;0423;CYRILLIC CAPITAL LETTER U
+D4;0424;CYRILLIC CAPITAL LETTER EF
+D5;0425;CYRILLIC CAPITAL LETTER HA
+D6;0426;CYRILLIC CAPITAL LETTER TSE
+D7;0427;CYRILLIC CAPITAL LETTER CHE
+D8;0428;CYRILLIC CAPITAL LETTER SHA
+D9;0429;CYRILLIC CAPITAL LETTER SHCHA
+DA;042A;CYRILLIC CAPITAL LETTER HARD SIGN
+DB;042B;CYRILLIC CAPITAL LETTER YERU
+DC;042C;CYRILLIC CAPITAL LETTER SOFT SIGN
+DD;042D;CYRILLIC CAPITAL LETTER E
+DE;042E;CYRILLIC CAPITAL LETTER YU
+DF;042F;CYRILLIC CAPITAL LETTER YA
+E0;0430;CYRILLIC SMALL LETTER A
+E1;0431;CYRILLIC SMALL LETTER BE
+E2;0432;CYRILLIC SMALL LETTER VE
+E3;0433;CYRILLIC SMALL LETTER GHE
+E4;0434;CYRILLIC SMALL LETTER DE
+E5;0435;CYRILLIC SMALL LETTER IE
+E6;0436;CYRILLIC SMALL LETTER ZHE
+E7;0437;CYRILLIC SMALL LETTER ZE
+E8;0438;CYRILLIC SMALL LETTER I
+E9;0439;CYRILLIC SMALL LETTER SHORT I
+EA;043A;CYRILLIC SMALL LETTER KA
+EB;043B;CYRILLIC SMALL LETTER EL
+EC;043C;CYRILLIC SMALL LETTER EM
+ED;043D;CYRILLIC SMALL LETTER EN
+EE;043E;CYRILLIC SMALL LETTER O
+EF;043F;CYRILLIC SMALL LETTER PE
+F0;0440;CYRILLIC SMALL LETTER ER
+F1;0441;CYRILLIC SMALL LETTER ES
+F2;0442;CYRILLIC SMALL LETTER TE
+F3;0443;CYRILLIC SMALL LETTER U
+F4;0444;CYRILLIC SMALL LETTER EF
+F5;0445;CYRILLIC SMALL LETTER HA
+F6;0446;CYRILLIC SMALL LETTER TSE
+F7;0447;CYRILLIC SMALL LETTER CHE
+F8;0448;CYRILLIC SMALL LETTER SHA
+F9;0449;CYRILLIC SMALL LETTER SHCHA
+FA;044A;CYRILLIC SMALL LETTER HARD SIGN
+FB;044B;CYRILLIC SMALL LETTER YERU
+FC;044C;CYRILLIC SMALL LETTER SOFT SIGN
+FD;044D;CYRILLIC SMALL LETTER E
+FE;044E;CYRILLIC SMALL LETTER YU
+FF;044F;CYRILLIC SMALL LETTER YA
diff --git a/macros/latex/contrib/t2/enc-maps/T2Cuni.map b/macros/latex/contrib/t2/enc-maps/T2Cuni.map
new file mode 100644
index 0000000000..34404e6723
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/T2Cuni.map
@@ -0,0 +1,265 @@
+00;0060;GRAVE ACCENT
+01;00B4;ACUTE ACCENT
+02;02C6;MODIFIER LETTER CIRCUMFLEX ACCENT
+03;02DC;SMALL TILDE
+04;00A8;DIAERESIS
+05;02DD;DOUBLE ACUTE ACCENT
+06;02DA;RING ABOVE
+07;02C7;CARON
+08;02D8;BREVE
+09;00AF;MACRON
+0A;02D9;DOT ABOVE
+0B;00B8;CEDILLA
+0C;02DB;OGONEK
+0D;04C0;CYRILLIC LETTER PALOCHKA
+0E;2329;LEFT-POINTING ANGLE BRACKET
+0F;232A;RIGHT-POINTING ANGLE BRACKET
+10;201C;LEFT DOUBLE QUOTATION MARK
+11;201D;RIGHT DOUBLE QUOTATION MARK
+12;F6D5;CYRILLIC CIRCUMFLEX
+# 12;F6D2;CAPITAL CYRILLIC CIRCUMFLEX
+13;F6D6;DOUBLE GRAVE ACCENT
+# 13;F6D3;CAPITAL DOUBLE GRAVE ACCENT
+# 13;030F;COMBINING DOUBLE GRAVE ACCENT
+14;F6D4;CYRILLIC BREVE
+# 14;F6D1;CAPITAL CYRILLIC BREVE
+15;2013;EN DASH
+16;2014;EM DASH
+# 16;;CYRILLIC EM DASH
+17;FEFF;ZERO WIDTH NO-BREAK SPACE
+# 17;;COMPOUND WORD MARK
+18;;PERTHOUSAND ZERO
+# 18;2080;SUBSCRIPT ZERO
+19;0131;LATIN SMALL LETTER DOTLESS I
+1A;;LATIN SMALL LETTER DOTLESS J
+1B;FB00;LATIN SMALL LIGATURE FF
+1C;FB01;LATIN SMALL LIGATURE FI
+1D;FB02;LATIN SMALL LIGATURE FL
+1E;FB03;LATIN SMALL LIGATURE FFI
+1F;FB04;LATIN SMALL LIGATURE FFL
+20;;BLANK-SPACE SIGN
+# 20;2423;OPEN BOX
+21;0021;EXCLAMATION MARK
+22;0022;QUOTATION MARK
+23;0023;NUMBER SIGN
+24;0024;DOLLAR SIGN
+25;0025;PERCENT SIGN
+26;0026;AMPERSAND
+27;2019;RIGHT SINGLE QUOTATION MARK
+# 27;0027;APOSTROPHE
+28;0028;LEFT PARENTHESIS
+29;0029;RIGHT PARENTHESIS
+2A;002A;ASTERISK
+2B;002B;PLUS SIGN
+2C;002C;COMMA
+2D;002D;HYPHEN-MINUS
+2E;002E;FULL STOP
+2F;002F;SOLIDUS
+30;0030;DIGIT ZERO
+31;0031;DIGIT ONE
+32;0032;DIGIT TWO
+33;0033;DIGIT THREE
+34;0034;DIGIT FOUR
+35;0035;DIGIT FIVE
+36;0036;DIGIT SIX
+37;0037;DIGIT SEVEN
+38;0038;DIGIT EIGHT
+39;0039;DIGIT NINE
+3A;003A;COLON
+3B;003B;SEMICOLON
+3C;003C;LESS-THAN SIGN
+3D;003D;EQUALS SIGN
+3E;003E;GREATER-THAN SIGN
+3F;003F;QUESTION MARK
+40;0040;COMMERCIAL AT
+41;0041;LATIN CAPITAL LETTER A
+42;0042;LATIN CAPITAL LETTER B
+43;0043;LATIN CAPITAL LETTER C
+44;0044;LATIN CAPITAL LETTER D
+45;0045;LATIN CAPITAL LETTER E
+46;0046;LATIN CAPITAL LETTER F
+47;0047;LATIN CAPITAL LETTER G
+48;0048;LATIN CAPITAL LETTER H
+49;0049;LATIN CAPITAL LETTER I
+4A;004A;LATIN CAPITAL LETTER J
+4B;004B;LATIN CAPITAL LETTER K
+4C;004C;LATIN CAPITAL LETTER L
+4D;004D;LATIN CAPITAL LETTER M
+4E;004E;LATIN CAPITAL LETTER N
+4F;004F;LATIN CAPITAL LETTER O
+50;0050;LATIN CAPITAL LETTER P
+51;0051;LATIN CAPITAL LETTER Q
+52;0052;LATIN CAPITAL LETTER R
+53;0053;LATIN CAPITAL LETTER S
+54;0054;LATIN CAPITAL LETTER T
+55;0055;LATIN CAPITAL LETTER U
+56;0056;LATIN CAPITAL LETTER V
+57;0057;LATIN CAPITAL LETTER W
+58;0058;LATIN CAPITAL LETTER X
+59;0059;LATIN CAPITAL LETTER Y
+5A;005A;LATIN CAPITAL LETTER Z
+5B;005B;LEFT SQUARE BRACKET
+5C;005C;REVERSE SOLIDUS
+5D;005D;RIGHT SQUARE BRACKET
+5E;005E;CIRCUMFLEX ACCENT
+5F;005F;LOW LINE
+60;2018;LEFT SINGLE QUOTATION MARK
+61;0061;LATIN SMALL LETTER A
+62;0062;LATIN SMALL LETTER B
+63;0063;LATIN SMALL LETTER C
+64;0064;LATIN SMALL LETTER D
+65;0065;LATIN SMALL LETTER E
+66;0066;LATIN SMALL LETTER F
+67;0067;LATIN SMALL LETTER G
+68;0068;LATIN SMALL LETTER H
+69;0069;LATIN SMALL LETTER I
+6A;006A;LATIN SMALL LETTER J
+6B;006B;LATIN SMALL LETTER K
+6C;006C;LATIN SMALL LETTER L
+6D;006D;LATIN SMALL LETTER M
+6E;006E;LATIN SMALL LETTER N
+6F;006F;LATIN SMALL LETTER O
+70;0070;LATIN SMALL LETTER P
+71;0071;LATIN SMALL LETTER Q
+72;0072;LATIN SMALL LETTER R
+73;0073;LATIN SMALL LETTER S
+74;0074;LATIN SMALL LETTER T
+75;0075;LATIN SMALL LETTER U
+76;0076;LATIN SMALL LETTER V
+77;0077;LATIN SMALL LETTER W
+78;0078;LATIN SMALL LETTER X
+79;0079;LATIN SMALL LETTER Y
+7A;007A;LATIN SMALL LETTER Z
+7B;007B;LEFT CURLY BRACKET
+7C;007C;VERTICAL LINE
+7D;007D;RIGHT CURLY BRACKET
+7E;007E;TILDE
+7F;002D;HYPHEN-MINUS
+80;04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+81;04B4;CYRILLIC CAPITAL LIGATURE TE TSE
+82;04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+83;0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+84;04BA;CYRILLIC CAPITAL LETTER SHHA
+85;;CYRILLIC CAPITAL LETTER ER WITH DESCENDER
+86;;CYRILLIC CAPITAL LETTER ER WITH STROKE
+87;04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+88;;CYRILLIC CAPITAL LETTER EM WITH DESCENDER
+89;049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+8A;;CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+8B;049E;CYRILLIC CAPITAL LETTER KA WITH STROKE
+8C;;CYRILLIC CAPITAL LETTER EL WITH HOOK
+8D;04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+8E;;CYRILLIC CAPITAL LETTER EM WITH HOOK
+8F;04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK
+90;04E8;CYRILLIC CAPITAL LETTER BARRED O
+91;04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+92;04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+93;048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+94;;CYRILLIC CAPITAL LETTER SHORT I WITH DESCENDER
+95;04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+96;040F;CYRILLIC CAPITAL LETTER DZHE
+97;04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA
+98;04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+99;;CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
+9A;04D8;CYRILLIC CAPITAL LETTER SCHWA
+9B;;CYRILLIC CAPITAL LETTER ER WITH HOOK
+9C;0401;CYRILLIC CAPITAL LETTER IO
+9D;2116;NUMERO SIGN
+9E;00A4;CURRENCY SIGN
+9F;00A7;SECTION SIGN
+A0;04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+A1;04B5;CYRILLIC SMALL LIGATURE TE TSE
+A2;04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER
+A3;0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+A4;04BB;CYRILLIC SMALL LETTER SHHA
+A5;;CYRILLIC SMALL LETTER ER WITH DESCENDER
+A6;;CYRILLIC SMALL LETTER ER WITH STROKE
+A7;04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE
+A8;;CYRILLIC SMALL LETTER EM WITH DESCENDER
+A9;049B;CYRILLIC SMALL LETTER KA WITH DESCENDER
+AA;;CYRILLIC SMALL LETTER EL WITH DESCENDER
+AB;049F;CYRILLIC SMALL LETTER KA WITH STROKE
+AC;;CYRILLIC SMALL LETTER EL WITH HOOK
+AD;04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER
+AE;;CYRILLIC SMALL LETTER EM WITH HOOK
+AF;04C8;CYRILLIC SMALL LETTER EN WITH HOOK
+B0;04E9;CYRILLIC SMALL LETTER BARRED O
+B1;04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE
+B2;04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+B3;048D;CYRILLIC SMALL LETTER SEMISOFT SIGN
+B4;;CYRILLIC SMALL LETTER SHORT I WITH DESCENDER
+B5;04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER
+B6;045F;CYRILLIC SMALL LETTER DZHE
+B7;04A9;CYRILLIC SMALL LETTER ABKHASIAN HA
+B8;04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER
+B9;;CYRILLIC SMALL LETTER EN WITH LEFT HOOK
+BA;04D9;CYRILLIC SMALL LETTER SCHWA
+BB;;CYRILLIC SMALL LETTER ER WITH HOOK
+BC;0451;CYRILLIC SMALL LETTER IO
+BD;201E;DOUBLE LOW-9 QUOTATION MARK
+BE;00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+BF;00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+C0;0410;CYRILLIC CAPITAL LETTER A
+C1;0411;CYRILLIC CAPITAL LETTER BE
+C2;0412;CYRILLIC CAPITAL LETTER VE
+C3;0413;CYRILLIC CAPITAL LETTER GHE
+C4;0414;CYRILLIC CAPITAL LETTER DE
+C5;0415;CYRILLIC CAPITAL LETTER IE
+C6;0416;CYRILLIC CAPITAL LETTER ZHE
+C7;0417;CYRILLIC CAPITAL LETTER ZE
+C8;0418;CYRILLIC CAPITAL LETTER I
+C9;0419;CYRILLIC CAPITAL LETTER SHORT I
+CA;041A;CYRILLIC CAPITAL LETTER KA
+CB;041B;CYRILLIC CAPITAL LETTER EL
+CC;041C;CYRILLIC CAPITAL LETTER EM
+CD;041D;CYRILLIC CAPITAL LETTER EN
+CE;041E;CYRILLIC CAPITAL LETTER O
+CF;041F;CYRILLIC CAPITAL LETTER PE
+D0;0420;CYRILLIC CAPITAL LETTER ER
+D1;0421;CYRILLIC CAPITAL LETTER ES
+D2;0422;CYRILLIC CAPITAL LETTER TE
+D3;0423;CYRILLIC CAPITAL LETTER U
+D4;0424;CYRILLIC CAPITAL LETTER EF
+D5;0425;CYRILLIC CAPITAL LETTER HA
+D6;0426;CYRILLIC CAPITAL LETTER TSE
+D7;0427;CYRILLIC CAPITAL LETTER CHE
+D8;0428;CYRILLIC CAPITAL LETTER SHA
+D9;0429;CYRILLIC CAPITAL LETTER SHCHA
+DA;042A;CYRILLIC CAPITAL LETTER HARD SIGN
+DB;042B;CYRILLIC CAPITAL LETTER YERU
+DC;042C;CYRILLIC CAPITAL LETTER SOFT SIGN
+DD;042D;CYRILLIC CAPITAL LETTER E
+DE;042E;CYRILLIC CAPITAL LETTER YU
+DF;042F;CYRILLIC CAPITAL LETTER YA
+E0;0430;CYRILLIC SMALL LETTER A
+E1;0431;CYRILLIC SMALL LETTER BE
+E2;0432;CYRILLIC SMALL LETTER VE
+E3;0433;CYRILLIC SMALL LETTER GHE
+E4;0434;CYRILLIC SMALL LETTER DE
+E5;0435;CYRILLIC SMALL LETTER IE
+E6;0436;CYRILLIC SMALL LETTER ZHE
+E7;0437;CYRILLIC SMALL LETTER ZE
+E8;0438;CYRILLIC SMALL LETTER I
+E9;0439;CYRILLIC SMALL LETTER SHORT I
+EA;043A;CYRILLIC SMALL LETTER KA
+EB;043B;CYRILLIC SMALL LETTER EL
+EC;043C;CYRILLIC SMALL LETTER EM
+ED;043D;CYRILLIC SMALL LETTER EN
+EE;043E;CYRILLIC SMALL LETTER O
+EF;043F;CYRILLIC SMALL LETTER PE
+F0;0440;CYRILLIC SMALL LETTER ER
+F1;0441;CYRILLIC SMALL LETTER ES
+F2;0442;CYRILLIC SMALL LETTER TE
+F3;0443;CYRILLIC SMALL LETTER U
+F4;0444;CYRILLIC SMALL LETTER EF
+F5;0445;CYRILLIC SMALL LETTER HA
+F6;0446;CYRILLIC SMALL LETTER TSE
+F7;0447;CYRILLIC SMALL LETTER CHE
+F8;0448;CYRILLIC SMALL LETTER SHA
+F9;0449;CYRILLIC SMALL LETTER SHCHA
+FA;044A;CYRILLIC SMALL LETTER HARD SIGN
+FB;044B;CYRILLIC SMALL LETTER YERU
+FC;044C;CYRILLIC SMALL LETTER SOFT SIGN
+FD;044D;CYRILLIC SMALL LETTER E
+FE;044E;CYRILLIC SMALL LETTER YU
+FF;044F;CYRILLIC SMALL LETTER YA
diff --git a/macros/latex/contrib/t2/enc-maps/X2uni.map b/macros/latex/contrib/t2/enc-maps/X2uni.map
new file mode 100644
index 0000000000..3bbf03063e
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/X2uni.map
@@ -0,0 +1,268 @@
+00;0060;GRAVE ACCENT
+01;00B4;ACUTE ACCENT
+02;02C6;MODIFIER LETTER CIRCUMFLEX ACCENT
+03;02DC;SMALL TILDE
+04;00A8;DIAERESIS
+05;02DD;DOUBLE ACUTE ACCENT
+06;02DA;RING ABOVE
+07;02C7;CARON
+08;02D8;BREVE
+09;00AF;MACRON
+0A;02D9;DOT ABOVE
+0B;00B8;CEDILLA
+0C;02DB;OGONEK
+0D;04C0;CYRILLIC LETTER PALOCHKA
+0E;2329;LEFT-POINTING ANGLE BRACKET
+0F;232A;RIGHT-POINTING ANGLE BRACKET
+10;201C;LEFT DOUBLE QUOTATION MARK
+11;201D;RIGHT DOUBLE QUOTATION MARK
+12;F6D5;CYRILLIC CIRCUMFLEX
+# 12;F6D2;CAPITAL CYRILLIC CIRCUMFLEX
+13;F6D6;DOUBLE GRAVE ACCENT
+# 13;F6D3;CAPITAL DOUBLE GRAVE ACCENT
+# 13;030F;COMBINING DOUBLE GRAVE ACCENT
+14;F6D4;CYRILLIC BREVE
+# 14;F6D1;CAPITAL CYRILLIC BREVE
+15;2013;EN DASH
+16;2014;EM DASH
+# 16;;CYRILLIC EM DASH
+17;FEFF;ZERO WIDTH NO-BREAK SPACE
+18;;PERTHOUSAND ZERO
+# 18;2080;SUBSCRIPT ZERO
+19;02CE;MODIFIER LETTER LOW GRAVE ACCENT;?[grave-cross]
+1A;02CF;MODIFIER LETTER LOW ACUTE ACCENT;?[acute-cross]
+1B;0335;COMBINING SHORT STROKE OVERLAY;?[hcross]
+1C;;CYRILLIC CAPITAL LETTER DELTA
+1D;;CYRILLIC SMALL LETTER DELTA
+1E;;CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
+1F;;CYRILLIC SMALL LETTER EN WITH LEFT HOOK
+20;;BLANK-SPACE SIGN
+# 20;2423;OPEN BOX
+21;0021;EXCLAMATION MARK
+22;0022;QUOTATION MARK
+23;0023;NUMBER SIGN
+24;0024;DOLLAR SIGN
+25;0025;PERCENT SIGN
+26;0026;AMPERSAND
+27;2019;RIGHT SINGLE QUOTATION MARK
+# 27;0027;APOSTROPHE
+28;0028;LEFT PARENTHESIS
+29;0029;RIGHT PARENTHESIS
+2A;002A;ASTERISK
+2B;002B;PLUS SIGN
+2C;002C;COMMA
+2D;002D;HYPHEN-MINUS
+2E;002E;FULL STOP
+2F;002F;SOLIDUS
+30;0030;DIGIT ZERO
+31;0031;DIGIT ONE
+32;0032;DIGIT TWO
+33;0033;DIGIT THREE
+34;0034;DIGIT FOUR
+35;0035;DIGIT FIVE
+36;0036;DIGIT SIX
+37;0037;DIGIT SEVEN
+38;0038;DIGIT EIGHT
+39;0039;DIGIT NINE
+3A;003A;COLON
+3B;003B;SEMICOLON
+3C;003C;LESS-THAN SIGN
+3D;003D;EQUALS SIGN
+3E;003E;GREATER-THAN SIGN
+3F;003F;QUESTION MARK
+40;0040;COMMERCIAL AT
+41;04D4;CYRILLIC CAPITAL LIGATURE A IE
+42;0402;CYRILLIC CAPITAL LETTER DJE
+43;040B;CYRILLIC CAPITAL LETTER TSHE
+44;04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+45;04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+46;049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+47;049E;CYRILLIC CAPITAL LETTER KA WITH STROKE
+48;;CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+49;0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+4A;0408;CYRILLIC CAPITAL LETTER JE
+4B;0409;CYRILLIC CAPITAL LETTER LJE
+4C;;CYRILLIC CAPITAL LETTER EM WITH DESCENDER
+4D;040A;CYRILLIC CAPITAL LETTER NJE
+4E;04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA
+4F;04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+50;;CYRILLIC CAPITAL LETTER ER WITH DESCENDER
+51;;CYRILLIC CAPITAL LETTER Q
+52;04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+53;0405;CYRILLIC CAPITAL LETTER DZE
+54;04B4;CYRILLIC CAPITAL LIGATURE TE TSE
+55;040F;CYRILLIC CAPITAL LETTER DZHE
+56;04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+57;;CYRILLIC CAPITAL LETTER W
+58;0462;CYRILLIC CAPITAL LETTER YAT
+# 58;048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;shared slot
+59;046A;CYRILLIC CAPITAL LETTER BIG YUS
+5A;0474;CYRILLIC CAPITAL LETTER IZHITSA
+5B;005B;LEFT SQUARE BRACKET
+5C;005C;REVERSE SOLIDUS
+5D;005D;RIGHT SQUARE BRACKET
+5E;005E;CIRCUMFLEX ACCENT
+5F;005F;LOW LINE
+60;2018;LEFT SINGLE QUOTATION MARK
+61;04D5;CYRILLIC SMALL LIGATURE A IE
+62;0452;CYRILLIC SMALL LETTER DJE
+63;045B;CYRILLIC SMALL LETTER TSHE
+64;04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE
+65;04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+66;049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+67;049F;CYRILLIC SMALL LETTER KA WITH STROKE
+68;;CYRILLIC SMALL LETTER EL WITH DESCENDER
+69;0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+6A;0458;CYRILLIC SMALL LETTER JE
+6B;0459;CYRILLIC SMALL LETTER LJE
+6C;;CYRILLIC SMALL LETTER EM WITH DESCENDER
+6D;045A;CYRILLIC SMALL LETTER NJE
+6E;04A9;CYRILLIC SMALL LETTER ABKHASIAN HA
+6F;04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+70;;CYRILLIC SMALL LETTER ER WITH DESCENDER
+71;;CYRILLIC SMALL LETTER Q
+72;04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER
+73;0455;CYRILLIC SMALL LETTER DZE
+74;04B5;CYRILLIC SMALL LIGATURE TE TSE
+75;045F;CYRILLIC SMALL LETTER DZHE
+76;04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+77;;CYRILLIC SMALL LETTER W
+78;0463;CYRILLIC SMALL LETTER YAT
+# 78;048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;shared slot
+79;046B;CYRILLIC SMALL LETTER BIG YUS
+7A;0475;CYRILLIC SMALL LETTER IZHITSA
+7B;007B;LEFT CURLY BRACKET
+7C;007C;VERTICAL LINE
+7D;007D;RIGHT CURLY BRACKET
+7E;007E;TILDE
+7F;002D;HYPHEN-MINUS
+80;0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+81;0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE
+82;;CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+83;0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+84;04BA;CYRILLIC CAPITAL LETTER SHHA
+85;0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+86;0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+87;04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+88;0407;CYRILLIC CAPITAL LETTER YI
+89;049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+8A;04A0;CYRILLIC CAPITAL LETTER BASHKIR KA
+8B;04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK
+8C;;CYRILLIC CAPITAL LETTER EL WITH HOOK
+8D;04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+8E;04A4;CYRILLIC CAPITAL LIGATURE EN GHE
+8F;04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK
+90;04E8;CYRILLIC CAPITAL LETTER BARRED O
+# 90;0472;CYRILLIC CAPITAL LETTER FITA;shared slot
+91;04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;?[direction of descender]
+92;040E;CYRILLIC CAPITAL LETTER SHORT U
+93;04AE;CYRILLIC CAPITAL LETTER STRAIGHT U
+94;04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+95;04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+96;;CYRILLIC CAPITAL LETTER HA WITH HOOK
+97;04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+98;04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+99;0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE
+9A;04D8;CYRILLIC CAPITAL LETTER SCHWA
+9B;;CYRILLIC CAPITAL LETTER EPSILON
+9C;0401;CYRILLIC CAPITAL LETTER IO
+9D;2116;NUMERO SIGN
+9E;00A4;CURRENCY SIGN
+9F;00A7;SECTION SIGN
+A0;0491;CYRILLIC SMALL LETTER GHE WITH UPTURN
+A1;0493;CYRILLIC SMALL LETTER GHE WITH STROKE
+A2;;CYRILLIC SMALL LETTER GHE WITH DESCENDER
+A3;0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+A4;04BB;CYRILLIC SMALL LETTER SHHA
+A5;0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+A6;0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER
+A7;04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE
+A8;0457;CYRILLIC SMALL LETTER YI
+A9;049B;CYRILLIC SMALL LETTER KA WITH DESCENDER
+AA;04A1;CYRILLIC SMALL LETTER BASHKIR KA
+AB;04C4;CYRILLIC SMALL LETTER KA WITH HOOK
+AC;;CYRILLIC SMALL LETTER EL WITH HOOK
+AD;04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER
+AE;04A5;CYRILLIC SMALL LIGATURE EN GHE
+AF;04C8;CYRILLIC SMALL LETTER EN WITH HOOK
+B0;04E9;CYRILLIC SMALL LETTER BARRED O
+# B0;0473;CYRILLIC SMALL LETTER FITA;shared slot
+B1;04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;?[direction of descender]
+B2;045E;CYRILLIC SMALL LETTER SHORT U
+B3;04AF;CYRILLIC SMALL LETTER STRAIGHT U
+B4;04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+B5;04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER
+B6;;CYRILLIC SMALL LETTER HA WITH HOOK
+B7;04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE
+B8;04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER
+B9;0454;CYRILLIC SMALL LETTER UKRAINIAN IE
+BA;04D9;CYRILLIC SMALL LETTER SCHWA
+BB;;CYRILLIC SMALL LETTER EPSILON
+BC;0451;CYRILLIC SMALL LETTER IO
+BD;201E;DOUBLE LOW-9 QUOTATION MARK
+BE;00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+BF;00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+C0;0410;CYRILLIC CAPITAL LETTER A
+C1;0411;CYRILLIC CAPITAL LETTER BE
+C2;0412;CYRILLIC CAPITAL LETTER VE
+C3;0413;CYRILLIC CAPITAL LETTER GHE
+C4;0414;CYRILLIC CAPITAL LETTER DE
+C5;0415;CYRILLIC CAPITAL LETTER IE
+C6;0416;CYRILLIC CAPITAL LETTER ZHE
+C7;0417;CYRILLIC CAPITAL LETTER ZE
+C8;0418;CYRILLIC CAPITAL LETTER I
+C9;0419;CYRILLIC CAPITAL LETTER SHORT I
+CA;041A;CYRILLIC CAPITAL LETTER KA
+CB;041B;CYRILLIC CAPITAL LETTER EL
+CC;041C;CYRILLIC CAPITAL LETTER EM
+CD;041D;CYRILLIC CAPITAL LETTER EN
+CE;041E;CYRILLIC CAPITAL LETTER O
+CF;041F;CYRILLIC CAPITAL LETTER PE
+D0;0420;CYRILLIC CAPITAL LETTER ER
+D1;0421;CYRILLIC CAPITAL LETTER ES
+D2;0422;CYRILLIC CAPITAL LETTER TE
+D3;0423;CYRILLIC CAPITAL LETTER U
+D4;0424;CYRILLIC CAPITAL LETTER EF
+D5;0425;CYRILLIC CAPITAL LETTER HA
+D6;0426;CYRILLIC CAPITAL LETTER TSE
+D7;0427;CYRILLIC CAPITAL LETTER CHE
+D8;0428;CYRILLIC CAPITAL LETTER SHA
+D9;0429;CYRILLIC CAPITAL LETTER SHCHA
+DA;042A;CYRILLIC CAPITAL LETTER HARD SIGN
+DB;042B;CYRILLIC CAPITAL LETTER YERU
+DC;042C;CYRILLIC CAPITAL LETTER SOFT SIGN
+DD;042D;CYRILLIC CAPITAL LETTER E
+DE;042E;CYRILLIC CAPITAL LETTER YU
+DF;042F;CYRILLIC CAPITAL LETTER YA
+E0;0430;CYRILLIC SMALL LETTER A
+E1;0431;CYRILLIC SMALL LETTER BE
+E2;0432;CYRILLIC SMALL LETTER VE
+E3;0433;CYRILLIC SMALL LETTER GHE
+E4;0434;CYRILLIC SMALL LETTER DE
+E5;0435;CYRILLIC SMALL LETTER IE
+E6;0436;CYRILLIC SMALL LETTER ZHE
+E7;0437;CYRILLIC SMALL LETTER ZE
+E8;0438;CYRILLIC SMALL LETTER I
+E9;0439;CYRILLIC SMALL LETTER SHORT I
+EA;043A;CYRILLIC SMALL LETTER KA
+EB;043B;CYRILLIC SMALL LETTER EL
+EC;043C;CYRILLIC SMALL LETTER EM
+ED;043D;CYRILLIC SMALL LETTER EN
+EE;043E;CYRILLIC SMALL LETTER O
+EF;043F;CYRILLIC SMALL LETTER PE
+F0;0440;CYRILLIC SMALL LETTER ER
+F1;0441;CYRILLIC SMALL LETTER ES
+F2;0442;CYRILLIC SMALL LETTER TE
+F3;0443;CYRILLIC SMALL LETTER U
+F4;0444;CYRILLIC SMALL LETTER EF
+F5;0445;CYRILLIC SMALL LETTER HA
+F6;0446;CYRILLIC SMALL LETTER TSE
+F7;0447;CYRILLIC SMALL LETTER CHE
+F8;0448;CYRILLIC SMALL LETTER SHA
+F9;0449;CYRILLIC SMALL LETTER SHCHA
+FA;044A;CYRILLIC SMALL LETTER HARD SIGN
+FB;044B;CYRILLIC SMALL LETTER YERU
+FC;044C;CYRILLIC SMALL LETTER SOFT SIGN
+FD;044D;CYRILLIC SMALL LETTER E
+FE;044E;CYRILLIC SMALL LETTER YU
+FF;044F;CYRILLIC SMALL LETTER YA
diff --git a/macros/latex/contrib/t2/enc-maps/amscyr.txt b/macros/latex/contrib/t2/enc-maps/amscyr.txt
new file mode 100644
index 0000000000..98e19de9c1
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/amscyr.txt
@@ -0,0 +1,92 @@
+0401;Yo;CYRILLIC CAPITAL LETTER IO
+0402;Dj;CYRILLIC CAPITAL LETTER DJE
+0404;Ye;CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0405;Zelo;CYRILLIC CAPITAL LETTER DZE
+0406;Iroman;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0408;J;CYRILLIC CAPITAL LETTER JE
+0409;Lj;CYRILLIC CAPITAL LETTER LJE
+040A;Nj;CYRILLIC CAPITAL LETTER NJE
+040B;Tsoft;CYRILLIC CAPITAL LETTER TSHE
+040F;Dzh;CYRILLIC CAPITAL LETTER DZHE
+0410;A;CYRILLIC CAPITAL LETTER A
+0411;B;CYRILLIC CAPITAL LETTER BE
+0412;V;CYRILLIC CAPITAL LETTER VE
+0413;G;CYRILLIC CAPITAL LETTER GHE
+0414;D;CYRILLIC CAPITAL LETTER DE
+0415;E;CYRILLIC CAPITAL LETTER IE
+0416;Zhe;CYRILLIC CAPITAL LETTER ZHE
+0417;Z;CYRILLIC CAPITAL LETTER ZE
+0418;I;CYRILLIC CAPITAL LETTER I
+0419;Ishort;CYRILLIC CAPITAL LETTER SHORT I
+041A;K;CYRILLIC CAPITAL LETTER KA
+041B;L;CYRILLIC CAPITAL LETTER EL
+041C;M;CYRILLIC CAPITAL LETTER EM
+041D;N;CYRILLIC CAPITAL LETTER EN
+041E;O;CYRILLIC CAPITAL LETTER O
+041F;P;CYRILLIC CAPITAL LETTER PE
+0420;R;CYRILLIC CAPITAL LETTER ER
+0421;S;CYRILLIC CAPITAL LETTER ES
+0422;T;CYRILLIC CAPITAL LETTER TE
+0423;U;CYRILLIC CAPITAL LETTER U
+0424;F;CYRILLIC CAPITAL LETTER EF
+0425;H;CYRILLIC CAPITAL LETTER HA
+0426;C;CYRILLIC CAPITAL LETTER TSE
+0427;Q;CYRILLIC CAPITAL LETTER CHE
+0428;X;CYRILLIC CAPITAL LETTER SHA
+0429;W;CYRILLIC CAPITAL LETTER SHCHA
+042A;Hard;CYRILLIC CAPITAL LETTER HARD SIGN
+042B;Y;CYRILLIC CAPITAL LETTER YERU
+042C;Soft;CYRILLIC CAPITAL LETTER SOFT SIGN
+042D;Ze;CYRILLIC CAPITAL LETTER E
+042E;Yu;CYRILLIC CAPITAL LETTER YU
+042F;Ya;CYRILLIC CAPITAL LETTER YA
+0430;a;CYRILLIC SMALL LETTER A
+0431;b;CYRILLIC SMALL LETTER BE
+0432;v;CYRILLIC SMALL LETTER VE
+0433;g;CYRILLIC SMALL LETTER GHE
+0434;d;CYRILLIC SMALL LETTER DE
+0435;e;CYRILLIC SMALL LETTER IE
+0436;zhe;CYRILLIC SMALL LETTER ZHE
+0437;z;CYRILLIC SMALL LETTER ZE
+0438;i;CYRILLIC SMALL LETTER I
+0439;ishort;CYRILLIC SMALL LETTER SHORT I
+043A;k;CYRILLIC SMALL LETTER KA
+043B;l;CYRILLIC SMALL LETTER EL
+043C;m;CYRILLIC SMALL LETTER EM
+043D;n;CYRILLIC SMALL LETTER EN
+043E;o;CYRILLIC SMALL LETTER O
+043F;p;CYRILLIC SMALL LETTER PE
+0440;r;CYRILLIC SMALL LETTER ER
+0441;s;CYRILLIC SMALL LETTER ES
+0442;t;CYRILLIC SMALL LETTER TE
+0443;u;CYRILLIC SMALL LETTER U
+0444;f;CYRILLIC SMALL LETTER EF
+0445;h;CYRILLIC SMALL LETTER HA
+0446;c;CYRILLIC SMALL LETTER TSE
+0447;q;CYRILLIC SMALL LETTER CHE
+0448;x;CYRILLIC SMALL LETTER SHA
+0449;w;CYRILLIC SMALL LETTER SHCHA
+044A;hard;CYRILLIC SMALL LETTER HARD SIGN
+044B;y;CYRILLIC SMALL LETTER YERU
+044C;soft;CYRILLIC SMALL LETTER SOFT SIGN
+044D;ze;CYRILLIC SMALL LETTER E
+044E;yu;CYRILLIC SMALL LETTER YU
+044F;ya;CYRILLIC SMALL LETTER YA
+0451;yo;CYRILLIC SMALL LETTER IO
+0452;dj;CYRILLIC SMALL LETTER DJE
+0454;ye;CYRILLIC SMALL LETTER UKRAINIAN IE
+0455;zelo;CYRILLIC SMALL LETTER DZE
+0456;iroman;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0458;j;CYRILLIC SMALL LETTER JE
+0459;lj;CYRILLIC SMALL LETTER LJE
+045A;nj;CYRILLIC SMALL LETTER NJE
+045B;tsoft;CYRILLIC SMALL LETTER TSHE
+045F;dzh;CYRILLIC SMALL LETTER DZHE
+0462;Yatz;CYRILLIC CAPITAL LETTER YAT
+0463;yatz;CYRILLIC SMALL LETTER YAT
+0472;Fita;CYRILLIC CAPITAL LETTER FITA
+0473;fita;CYRILLIC SMALL LETTER FITA
+0474;Izhitsa;CYRILLIC CAPITAL LETTER IZHITSA
+0475;izhitsa;CYRILLIC SMALL LETTER IZHITSA
+2116;number;NUMERO SIGN
+F6D4;breve1;CYRILLIC BREVE
diff --git a/macros/latex/contrib/t2/enc-maps/broken1.txt b/macros/latex/contrib/t2/enc-maps/broken1.txt
new file mode 100644
index 0000000000..b2205043b2
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/broken1.txt
@@ -0,0 +1,67 @@
+0401;dieresis;CYRILLIC CAPITAL LETTER IO
+0410;Agrave;CYRILLIC CAPITAL LETTER A
+0411;Aacute;CYRILLIC CAPITAL LETTER BE
+0412;Acircumflex;CYRILLIC CAPITAL LETTER VE
+0413;Atilde;CYRILLIC CAPITAL LETTER GHE
+0414;Adieresis;CYRILLIC CAPITAL LETTER DE
+0415;Aring;CYRILLIC CAPITAL LETTER IE
+0416;AE;CYRILLIC CAPITAL LETTER ZHE
+0417;Ccedilla;CYRILLIC CAPITAL LETTER ZE
+0418;Egrave;CYRILLIC CAPITAL LETTER I
+0419;Eacute;CYRILLIC CAPITAL LETTER SHORT I
+041A;Ecircumflex;CYRILLIC CAPITAL LETTER KA
+041B;Edieresis;CYRILLIC CAPITAL LETTER EL
+041C;Igrave;CYRILLIC CAPITAL LETTER EM
+041D;Iacute;CYRILLIC CAPITAL LETTER EN
+041E;Icircumflex;CYRILLIC CAPITAL LETTER O
+041F;Idieresis;CYRILLIC CAPITAL LETTER PE
+0420;Eth;CYRILLIC CAPITAL LETTER ER
+0421;Ntilde;CYRILLIC CAPITAL LETTER ES
+0422;Ograve;CYRILLIC CAPITAL LETTER TE
+0423;Oacute;CYRILLIC CAPITAL LETTER U
+0424;Ocircumflex;CYRILLIC CAPITAL LETTER EF
+0425;Otilde;CYRILLIC CAPITAL LETTER HA
+0426;Odieresis;CYRILLIC CAPITAL LETTER TSE
+0427;multiply;CYRILLIC CAPITAL LETTER CHE
+0428;Oslash;CYRILLIC CAPITAL LETTER SHA
+0429;Ugrave;CYRILLIC CAPITAL LETTER SHCHA
+042A;Uacute;CYRILLIC CAPITAL LETTER HARD SIGN
+042B;Ucircumflex;CYRILLIC CAPITAL LETTER YERU
+042C;Udieresis;CYRILLIC CAPITAL LETTER SOFT SIGN
+042D;Yacute;CYRILLIC CAPITAL LETTER E
+042E;Thorn;CYRILLIC CAPITAL LETTER YU
+042F;germandbls;CYRILLIC CAPITAL LETTER YA
+0430;agrave;CYRILLIC SMALL LETTER A
+0431;aacute;CYRILLIC SMALL LETTER BE
+0432;acircumflex;CYRILLIC SMALL LETTER VE
+0433;atilde;CYRILLIC SMALL LETTER GHE
+0434;adieresis;CYRILLIC SMALL LETTER DE
+0435;aring;CYRILLIC SMALL LETTER IE
+0436;ae;CYRILLIC SMALL LETTER ZHE
+0437;ccedilla;CYRILLIC SMALL LETTER ZE
+0438;egrave;CYRILLIC SMALL LETTER I
+0439;eacute;CYRILLIC SMALL LETTER SHORT I
+043A;ecircumflex;CYRILLIC SMALL LETTER KA
+043B;edieresis;CYRILLIC SMALL LETTER EL
+043C;igrave;CYRILLIC SMALL LETTER EM
+043D;iacute;CYRILLIC SMALL LETTER EN
+043E;icircumflex;CYRILLIC SMALL LETTER O
+043F;idieresis;CYRILLIC SMALL LETTER PE
+0440;eth;CYRILLIC SMALL LETTER ER
+0441;ntilde;CYRILLIC SMALL LETTER ES
+0442;ograve;CYRILLIC SMALL LETTER TE
+0443;oacute;CYRILLIC SMALL LETTER U
+0444;ocircumflex;CYRILLIC SMALL LETTER EF
+0445;otilde;CYRILLIC SMALL LETTER HA
+0446;odieresis;CYRILLIC SMALL LETTER TSE
+0447;divide;CYRILLIC SMALL LETTER CHE
+0448;oslash;CYRILLIC SMALL LETTER SHA
+0449;ugrave;CYRILLIC SMALL LETTER SHCHA
+044A;uacute;CYRILLIC SMALL LETTER HARD SIGN
+044B;ucircumflex;CYRILLIC SMALL LETTER YERU
+044C;udieresis;CYRILLIC SMALL LETTER SOFT SIGN
+044D;yacute;CYRILLIC SMALL LETTER E
+044E;thorn;CYRILLIC SMALL LETTER YU
+044F;ydieresis;CYRILLIC SMALL LETTER YA
+0451;cedilla;CYRILLIC SMALL LETTER IO
+2116;onesuperior;NUMERO SIGN
diff --git a/macros/latex/contrib/t2/enc-maps/broken2.txt b/macros/latex/contrib/t2/enc-maps/broken2.txt
new file mode 100644
index 0000000000..d9c4bf661d
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/broken2.txt
@@ -0,0 +1,66 @@
+0401;threesuperior;CYRILLIC CAPITAL LETTER IO
+0410;aacute;CYRILLIC CAPITAL LETTER A
+0411;acircumflex;CYRILLIC CAPITAL LETTER BE
+0412;divide;CYRILLIC CAPITAL LETTER VE
+0413;ccedilla;CYRILLIC CAPITAL LETTER GHE
+0414;adieresis;CYRILLIC CAPITAL LETTER DE
+0415;aring;CYRILLIC CAPITAL LETTER IE
+0416;odieresis;CYRILLIC CAPITAL LETTER ZHE
+0417;uacute;CYRILLIC CAPITAL LETTER ZE
+0418;eacute;CYRILLIC CAPITAL LETTER I
+0419;ecircumflex;CYRILLIC CAPITAL LETTER SHORT I
+041A;edieresis;CYRILLIC CAPITAL LETTER KA
+041B;igrave;CYRILLIC CAPITAL LETTER EL
+041C;iacute;CYRILLIC CAPITAL LETTER EM
+041D;icircumflex;CYRILLIC CAPITAL LETTER EN
+041E;idieresis;CYRILLIC CAPITAL LETTER O
+041F;eth;CYRILLIC CAPITAL LETTER PE
+0420;ograve;CYRILLIC CAPITAL LETTER ER
+0421;oacute;CYRILLIC CAPITAL LETTER ES
+0422;ocircumflex;CYRILLIC CAPITAL LETTER TE
+0423;otilde;CYRILLIC CAPITAL LETTER U
+0424;ae;CYRILLIC CAPITAL LETTER EF
+0425;egrave;CYRILLIC CAPITAL LETTER HA
+0426;atilde;CYRILLIC CAPITAL LETTER TSE
+0427;thorn;CYRILLIC CAPITAL LETTER CHE
+0428;ucircumflex;CYRILLIC CAPITAL LETTER SHA
+0429;yacute;CYRILLIC CAPITAL LETTER SHCHA
+042A;ydieresis;CYRILLIC CAPITAL LETTER HARD SIGN
+042B;ugrave;CYRILLIC CAPITAL LETTER YERU
+042C;oslash;CYRILLIC CAPITAL LETTER SOFT SIGN
+042D;udieresis;CYRILLIC CAPITAL LETTER E
+042E;agrave;CYRILLIC CAPITAL LETTER YU
+042F;ntilde;CYRILLIC CAPITAL LETTER YA
+0430;Aacute;CYRILLIC SMALL LETTER A
+0431;Acircumflex;CYRILLIC SMALL LETTER BE
+0432;multiply;CYRILLIC SMALL LETTER VE
+0433;Ccedilla;CYRILLIC SMALL LETTER GHE
+0434;Adieresis;CYRILLIC SMALL LETTER DE
+0435;Aring;CYRILLIC SMALL LETTER IE
+0436;Odieresis;CYRILLIC SMALL LETTER ZHE
+0437;Uacute;CYRILLIC SMALL LETTER ZE
+0438;Eacute;CYRILLIC SMALL LETTER I
+0439;Ecircumflex;CYRILLIC SMALL LETTER SHORT I
+043A;Edieresis;CYRILLIC SMALL LETTER KA
+043B;Igrave;CYRILLIC SMALL LETTER EL
+043C;Iacute;CYRILLIC SMALL LETTER EM
+043D;Icircumflex;CYRILLIC SMALL LETTER EN
+043E;Idieresis;CYRILLIC SMALL LETTER O
+043F;Eth;CYRILLIC SMALL LETTER PE
+0440;Ograve;CYRILLIC SMALL LETTER ER
+0441;Oacute;CYRILLIC SMALL LETTER ES
+0442;Ocircumflex;CYRILLIC SMALL LETTER TE
+0443;Otilde;CYRILLIC SMALL LETTER U
+0444;AE;CYRILLIC SMALL LETTER EF
+0445;Egrave;CYRILLIC SMALL LETTER HA
+0446;Atilde;CYRILLIC SMALL LETTER TSE
+0447;Thorn;CYRILLIC SMALL LETTER CHE
+0448;Ucircumflex;CYRILLIC SMALL LETTER SHA
+0449;Yacute;CYRILLIC SMALL LETTER SHCHA
+044A;germandbls;CYRILLIC SMALL LETTER HARD SIGN
+044B;Ugrave;CYRILLIC SMALL LETTER YERU
+044C;Oslash;CYRILLIC SMALL LETTER SOFT SIGN
+044D;Udieresis;CYRILLIC SMALL LETTER E
+044E;Agrave;CYRILLIC SMALL LETTER YU
+044F;Ntilde;CYRILLIC SMALL LETTER YA
+0451;sterling;CYRILLIC SMALL LETTER IO
diff --git a/macros/latex/contrib/t2/enc-maps/cyrcset7.txt b/macros/latex/contrib/t2/enc-maps/cyrcset7.txt
new file mode 100644
index 0000000000..e394913ff5
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/cyrcset7.txt
@@ -0,0 +1,128 @@
+00 0000 0000 0000 0000 0000
+01 0001 0001 0001 0001 0001
+02 0002 0002 0002 0002 0002
+03 0003 0003 0003 0003 0003
+04 0004 0004 0004 0004 0004
+05 0005 0005 0005 0005 0005
+06 0006 0006 0006 0006 0006
+07 0007 0007 0007 0007 0007
+08 0008 0008 0008 0008 0008
+09 0009 0009 0009 0009 0009
+0A 000A 000A 000A 000A 000A
+0B 000B 000B 000B 000B 000B
+0C 000C 000C 000C 000C 000C
+0D 000D 000D 000D 000D 000D
+0E 000E 000E 000E 000E 000E
+0F 000F 000F 000F 000F 000F
+10 0010 0010 0010 0010 0010
+11 0011 0011 0011 0011 0011
+12 0012 0012 0012 0012 0012
+13 0013 0013 0013 0013 0013
+14 0014 0014 0014 0014 0014
+15 0015 0015 0015 0015 0015
+16 0016 0016 0016 0016 0016
+17 0017 0017 0017 0017 0017
+18 0018 0018 0018 0018 0018
+19 0019 0019 0019 0019 0019
+1A 001A 001A 001A 001A 001A
+1B 001B 001B 001B 001B 001B
+1C 001C 001C 001C 001C 001C
+1D 001D 001D 001D 001D 001D
+1E 001E 001E 001E 001E 001E
+1F 001F 001F 001F 001F 001F
+20 0020 0020 0020 0020 0020
+21 FFFD FFFD 0021 0021 0021
+22 FFFD FFFD 0022 0022 0022
+23 FFFD FFFD 0023 0023 0023
+24 FFFD FFFD 00A4 0024 0024
+25 FFFD FFFD 0025 0025 0025
+26 FFFD FFFD 0026 0026 0026
+27 FFFD FFFD 0027 0027 0027
+28 FFFD FFFD 0028 0028 0028
+29 FFFD FFFD 0029 0029 0029
+2A FFFD FFFD 002A 002A 002A
+2B FFFD FFFD 002B 002B 002B
+2C 221A FFFD 002C 002C 002C
+2D FFFD FFFD 002D 002D 002D
+2E 2192 FFFD 002E 002E 002E
+2F 222B FFFD 002F 002F 002F
+30 03B1 FFFD 0030 0030 0030
+31 03B2 FFFD 0031 0031 0031
+32 03B3 FFFD 0032 0032 0032
+33 03B4 FFFD 0033 0033 0033
+34 03A3 FFFD 0034 0034 0034
+35 03BC FFFD 0035 0035 0035
+36 03BD FFFD 0036 0036 0036
+37 03C9 FFFD 0037 0037 0037
+38 03C0 FFFD 0038 0038 0038
+39 039E FFFD 0039 0039 0039
+3A 0394 FFFD 003A 003A 003A
+3B 039B FFFD 003B 003B 003B
+3C 03A9 FFFD 003C 003C 003C
+3D 042A FFFD 003D 003D 003D
+3E 207B FFFD 003E 003E 003E
+3F 207A FFFD 003F 003F 003F
+40 044E 0491 044E 0416 0416
+41 0430 0452 0430 0410 0410
+42 0431 0453 0431 0411 0411
+43 0446 0454 0446 0426 0426
+44 0434 0451 0434 0414 0414
+45 0435 0455 0435 0415 0415
+46 0444 0456 0444 0424 0424
+47 0433 0457 0433 0413 0413
+48 0445 0458 0445 0425 0425
+49 0438 0459 0438 0418 0418
+4A 0439 045A 0439 0408 0408
+4B 043A 045B 043A 041A 041A
+4C 043B 045C 043B 041B 041B
+4D 043C 045E 043C 041C 041C
+4E 043D 045F 043D 041D 041D
+4F 043E FFFD 043E 041E 041E
+50 043F 0463 043F 041F 041F
+51 044F 0473 044F 0409 0409
+52 0440 0475 0440 0420 0420
+53 0441 046B 0441 0421 0421
+54 0442 FFFD 0442 0422 0422
+55 0443 FFFD 0443 0423 0423
+56 0436 FFFD 0436 0412 0412
+57 0432 FFFD 0432 040A 040A
+58 044C FFFD 044C 040F 040F
+59 044B FFFD 044B 0405 0405
+5A 0437 FFFD 0437 0417 0417
+5B 0448 005B 0448 0428 0428
+5C 044D FFFD 044D 0403 0402
+5D 0449 005D 0449 040C 040B
+5E 0447 FFFD 0447 0427 0427
+5F 044A 005F 044A 005F 005F
+60 042E 0490 042E 0436 0436
+61 0410 0402 0410 0430 0430
+62 0411 0403 0411 0431 0431
+63 0426 0404 0426 0446 0446
+64 0414 0401 0414 0434 0434
+65 0415 0405 0415 0435 0435
+66 0424 0406 0424 0444 0444
+67 0413 0407 0413 0433 0433
+68 0425 0408 0425 0445 0445
+69 0418 0409 0418 0438 0438
+6A 0419 040A 0419 0458 0458
+6B 041A 040B 041A 043A 043A
+6C 041B 040C 041B 043B 043B
+6D 041C 040E 041C 043C 043C
+6E 041D 040F 041D 043D 043D
+6F 041E 042A 041E 043E 043E
+70 041F 0462 041F 043F 043F
+71 042F 0472 042F 0459 0459
+72 0420 0474 0420 0440 0440
+73 0421 046A 0421 0441 0441
+74 0422 FFFD 0422 0442 0442
+75 0423 FFFD 0423 0443 0443
+76 0416 FFFD 0416 0432 0432
+77 0412 FFFD 0412 045A 045A
+78 042C FFFD 042C 045F 045F
+79 042B FFFD 042B 0455 0455
+7A 0417 FFFD 0417 0437 0437
+7B 0428 FFFD 0428 0448 0448
+7C 042D FFFD 042D 0453 0452
+7D 0429 FFFD 0429 045C 045B
+7E 0427 FFFD 0427 0447 0447
+7F 007F 007F 007F 007F 007F
diff --git a/macros/latex/contrib/t2/enc-maps/cyrcset8.txt b/macros/latex/contrib/t2/enc-maps/cyrcset8.txt
new file mode 100644
index 0000000000..d86331e654
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/cyrcset8.txt
@@ -0,0 +1,256 @@
+00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 FFFD 0000 0000 0000
+01 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 FFFD 0001 0001 0001
+02 0002 0002 0002 0002 0002 0002 0002 0002 0002 0002 0002 0002 FFFD 0002 0002 0002
+03 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 FFFD 0003 0003 0003
+04 0004 0004 0004 0004 009C 0004 0004 0004 0004 0004 0004 0004 FFFD 0004 0004 0004
+05 0005 0005 0005 0005 0009 0005 0005 0005 0005 0005 0005 0005 FFFD 0005 0005 0005
+06 0006 0006 0006 0006 0086 0006 0006 0006 0006 0006 0006 0006 FFFD 0006 0006 0006
+07 0007 0007 0007 0007 007F 0007 0007 0007 0007 0007 0007 0007 FFFD 0007 0007 0007
+08 0008 0008 0008 0008 0097 0008 0008 0008 0008 0008 0008 0008 FFFD 0008 0008 0008
+09 0009 0009 0009 0009 008D 0009 0009 0009 0009 0009 0009 0009 FFFD 0009 0009 0009
+0A 000A 000A 000A 000A 008E 000A 000A 000A 000A 000A 000A 000A FFFD 000A 000A 000A
+0B 000B 000B 000B 000B 000B 000B 000B 000B 000B 000B 000B 000B FFFD 000B 000B 000B
+0C 000C 000C 000C 000C 000C 000C 000C 000C 000C 000C 000C 000C FFFD 000C 000C 000C
+0D 000D 000D 000D 000D 000D 000D 000D 000D 000D 000D 000D 000D FFFD 000D 000D 000D
+0E 000E 000E 000E 000E 000E 000E 000E 000E 000E 000E 000E 000E FFFD 000E 000E 000E
+0F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F 000F FFFD 000F 000F 000F
+10 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 FFFD 0010 0010 0010
+11 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 0011 FFFD 0011 0011 0011
+12 0012 0012 0012 0012 0012 0012 0012 0012 0012 0012 0012 0012 FFFD 0012 0012 0012
+13 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 0013 FFFD 0013 0013 0013
+14 0014 0014 0014 0014 009D 0014 0014 0014 0014 0014 0014 0014 FFFD 0014 0014 0014
+15 0015 0015 0015 0015 0085 0015 0015 0015 0015 0015 0015 0015 FFFD 0015 0015 0015
+16 0016 0016 0016 0016 0008 0016 0016 0016 0016 0016 0016 0016 FFFD 0016 0016 0016
+17 0017 0017 0017 0017 0087 0017 0017 0017 0017 0017 0017 0017 FFFD 0017 0017 0017
+18 0018 0018 0018 0018 0018 0018 0018 0018 0018 0018 0018 0018 FFFD 0018 0018 0018
+19 0019 0019 0019 0019 0019 0019 0019 0019 0019 0019 0019 0019 FFFD 0019 0019 0019
+1A 001A 001A 001A 001A 0092 001A 001A 001A 001A 001A 001A 001A FFFD 001A 001A 001A
+1B 001B 001B 001B 001B 008F 001B 001B 001B 001B 001B 001B 001B FFFD 001B 001B 001B
+1C 001C 001C 001C 001C 001C 001C 001C 001C 001C 001C 001C 001C FFFD 001C 001C 001C
+1D 001D 001D 001D 001D 001D 001D 001D 001D 001D 001D 001D 001D FFFD 001D 001D 001D
+1E 001E 001E 001E 001E 001E 001E 001E 001E 001E 001E 001E 001E FFFD 001E 001E 001E
+1F 001F 001F 001F 001F 001F 001F 001F 001F 001F 001F 001F 001F FFFD 001F 001F 001F
+20 0020 0020 0020 0020 0080 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020
+21 0021 0021 0021 0021 0081 0021 0021 0021 0021 0021 0021 0021 0021 0021 0021 0021
+22 0022 0022 0022 0022 0082 0022 0022 0022 0022 0022 0022 0022 0022 0022 0022 0022
+23 0023 0023 0023 0023 0083 0023 0023 0023 0023 0023 0023 0023 0023 0023 0023 0023
+24 0024 0024 0024 0024 0084 0024 0024 0024 0024 0024 0024 0024 0024 0024 0024 0024
+25 0025 0025 0025 0025 000A 0025 0025 0025 0025 0025 0025 0025 0025 0025 0025 0025
+26 0026 0026 0026 0026 0017 0026 0026 0026 0026 0026 0026 0026 0026 0026 0026 0026
+27 0027 0027 0027 0027 001B 0027 0027 0027 0027 0027 0027 0027 0027 0027 0027 0027
+28 0028 0028 0028 0028 0088 0028 0028 0028 0028 0028 0028 0028 0028 0028 0028 0028
+29 0029 0029 0029 0029 0089 0029 0029 0029 0029 0029 0029 0029 0029 0029 0029 0029
+2A 002A 002A 002A 002A 008A 002A 002A 002A 002A 002A 002A 002A 002A 002A 002A 002A
+2B 002B 002B 002B 002B 008B 002B 002B 002B 002B 002B 002B 002B 002B 002B 002B 002B
+2C 002C 002C 002C 002C 008C 002C 002C 002C 002C 002C 002C 002C 002C 002C 002C 002C
+2D 002D 002D 002D 002D 0005 002D 002D 002D 002D 002D 002D 002D 002D 002D 002D 002D
+2E 002E 002E 002E 002E 0006 002E 002E 002E 002E 002E 002E 002E 002E 002E 002E 002E
+2F 002F 002F 002F 002F 0007 002F 002F 002F 002F 002F 002F 002F 002F 002F 002F 002F
+30 0030 0030 0030 0030 0090 0030 0030 0030 0030 0030 0030 0030 0030 0030 0030 0030
+31 0031 0031 0031 0031 0091 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031 0031
+32 0032 0032 0032 0032 0016 0032 0032 0032 0032 0032 0032 0032 0032 0032 0032 0032
+33 0033 0033 0033 0033 0093 0033 0033 0033 0033 0033 0033 0033 0033 0033 0033 0033
+34 0034 0034 0034 0034 0094 0034 0034 0034 0034 0034 0034 0034 0034 0034 0034 0034
+35 0035 0035 0035 0035 0095 0035 0035 0035 0035 0035 0035 0035 0035 0035 0035 0035
+36 0036 0036 0036 0036 0096 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
+37 0037 0037 0037 0037 0004 0037 0037 0037 0037 0037 0037 0037 0037 0037 0037 0037
+38 0038 0038 0038 0038 0098 0038 0038 0038 0038 0038 0038 0038 0038 0038 0038 0038
+39 0039 0039 0039 0039 0099 0039 0039 0039 0039 0039 0039 0039 0039 0039 0039 0039
+3A 003A 003A 003A 003A 009A 003A 003A 003A 003A 003A 003A 003A 003A 003A 003A 003A
+3B 003B 003B 003B 003B 009B 003B 003B 003B 003B 003B 003B 003B 003B 003B 003B 003B
+3C 003C 003C 003C 003C 0014 003C 003C 003C 003C 003C 003C 003C 003C 003C 003C 003C
+3D 003D 003D 003D 003D 0015 003D 003D 003D 003D 003D 003D 003D 003D 003D 003D 003D
+3E 003E 003E 003E 003E 009E 003E 003E 003E 003E 003E 003E 003E 003E 003E 003E 003E
+3F 003F 003F 003F 003F 001A 003F 003F 003F 003F 003F 003F 003F 003F 003F 003F 003F
+40 0040 0040 0040 0040 0020 0040 0040 0040 0040 0040 0040 0040 0040 0040 0040 0040
+41 0041 0041 0041 0041 FFFD 0041 0041 0041 0041 0041 0041 0041 0041 0041 0041 0041
+42 0042 0042 0042 0042 0452 0042 0042 0042 0042 0042 0042 0042 0042 0042 0042 0042
+43 0043 0043 0043 0043 0453 0043 0043 0043 0043 0043 0043 0043 0043 0043 0043 0043
+44 0044 0044 0044 0044 0451 0044 0044 0044 0044 0044 0044 0044 0044 0044 0044 0044
+45 0045 0045 0045 0045 FFFD 0045 0045 0045 0045 0045 0045 0045 0045 0045 0045 0045
+46 0046 0046 0046 0046 0455 0046 0046 0046 0046 0046 0046 0046 0046 0046 0046 0046
+47 0047 0047 0047 0047 0456 0047 0047 0047 0047 0047 0047 0047 0047 0047 0047 0047
+48 0048 0048 0048 0048 0457 0048 0048 0048 0048 0048 0048 0048 0048 0048 0048 0048
+49 0049 0049 0049 0049 0458 0049 0049 0049 0049 0049 0049 0049 0049 0049 0049 0049
+4A 004A 004A 004A 004A 005B 004A 004A 004A 004A 004A 004A 004A 004A 004A 004A 004A
+4B 004B 004B 004B 004B 002E 004B 004B 004B 004B 004B 004B 004B 004B 004B 004B 004B
+4C 004C 004C 004C 004C 003C 004C 004C 004C 004C 004C 004C 004C 004C 004C 004C 004C
+4D 004D 004D 004D 004D 0028 004D 004D 004D 004D 004D 004D 004D 004D 004D 004D 004D
+4E 004E 004E 004E 004E 002B 004E 004E 004E 004E 004E 004E 004E 004E 004E 004E 004E
+4F 004F 004F 004F 004F 0021 004F 004F 004F 004F 004F 004F 004F 004F 004F 004F 004F
+50 0050 0050 0050 0050 0026 0050 0050 0050 0050 0050 0050 0050 0050 0050 0050 0050
+51 0051 0051 0051 0051 0459 0051 0051 0051 0051 0051 0051 0051 0051 0051 0051 0051
+52 0052 0052 0052 0052 045A 0052 0052 0052 0052 0052 0052 0052 0052 0052 0052 0052
+53 0053 0053 0053 0053 045B 0053 0053 0053 0053 0053 0053 0053 0053 0053 0053 0053
+54 0054 0054 0054 0054 045C 0054 0054 0054 0054 0054 0054 0054 0054 0054 0054 0054
+55 0055 0055 0055 0055 FFFD 0055 0055 0055 0055 0055 0055 0055 0055 0055 0055 0055
+56 0056 0056 0056 0056 045F 0056 0056 0056 0056 0056 0056 0056 0056 0056 0056 0056
+57 0057 0057 0057 0057 042A 0057 0057 0057 0057 0057 0057 0057 0057 0057 0057 0057
+58 0058 0058 0058 0058 2116 0058 0058 0058 0058 0058 0058 0058 0058 0058 0058 0058
+59 0059 0059 0059 0059 0402 0059 0059 0059 0059 0059 0059 0059 0059 0059 0059 0059
+5A 005A 005A 005A 005A 005D 005A 005A 005A 005A 005A 005A 005A 005A 005A 005A 005A
+5B 005B 005B 005B 005B 0024 005B 005B 005B 005B 005B 005B 005B 005B 005B 005B 005B
+5C 005C 005C 005C 005C 002A 005C 005C 005C 005C 005C 005C 005C 005C 005C 005C 005C
+5D 005D 005D 005D 005D 0029 005D 005D 005D 005D 005D 005D 005D 005D 005D 005D 005D
+5E 005E 005E 005E 005E 003B 005E 005E 005E 005E 005E 005E 005E 005E 005E 005E 005E
+5F 005F 005F 005F 005F 005E 005F 005F 005F 005F 005F 005F 005F 005F 005F 005F 005F
+60 0060 0060 0060 0060 002D 0060 0060 0060 0060 0060 0060 0060 0060 0060 0060 0060
+61 0061 0061 0061 0061 002F 0061 0061 0061 0061 0061 0061 0061 0061 0061 0061 0061
+62 0062 0062 0062 0062 0403 0062 0062 0062 0062 0062 0062 0062 0062 0062 0062 0062
+63 0063 0063 0063 0063 0401 0063 0063 0063 0063 0063 0063 0063 0063 0063 0063 0063
+64 0064 0064 0064 0064 FFFD 0064 0064 0064 0064 0064 0064 0064 0064 0064 0064 0064
+65 0065 0065 0065 0065 0405 0065 0065 0065 0065 0065 0065 0065 0065 0065 0065 0065
+66 0066 0066 0066 0066 0406 0066 0066 0066 0066 0066 0066 0066 0066 0066 0066 0066
+67 0067 0067 0067 0067 0407 0067 0067 0067 0067 0067 0067 0067 0067 0067 0067 0067
+68 0068 0068 0068 0068 0408 0068 0068 0068 0068 0068 0068 0068 0068 0068 0068 0068
+69 0069 0069 0069 0069 0409 0069 0069 0069 0069 0069 0069 0069 0069 0069 0069 0069
+6A 006A 006A 006A 006A 00A6 006A 006A 006A 006A 006A 006A 006A 006A 006A 006A 006A
+6B 006B 006B 006B 006B 002C 006B 006B 006B 006B 006B 006B 006B 006B 006B 006B 006B
+6C 006C 006C 006C 006C 0025 006C 006C 006C 006C 006C 006C 006C 006C 006C 006C 006C
+6D 006D 006D 006D 006D 005F 006D 006D 006D 006D 006D 006D 006D 006D 006D 006D 006D
+6E 006E 006E 006E 006E 003E 006E 006E 006E 006E 006E 006E 006E 006E 006E 006E 006E
+6F 006F 006F 006F 006F 003F 006F 006F 006F 006F 006F 006F 006F 006F 006F 006F 006F
+70 0070 0070 0070 0070 040A 0070 0070 0070 0070 0070 0070 0070 0070 0070 0070 0070
+71 0071 0071 0071 0071 040B 0071 0071 0071 0071 0071 0071 0071 0071 0071 0071 0071
+72 0072 0072 0072 0072 040C 0072 0072 0072 0072 0072 0072 0072 0072 0072 0072 0072
+73 0073 0073 0073 0073 FFFD 0073 0073 0073 0073 0073 0073 0073 0073 0073 0073 0073
+74 0074 0074 0074 0074 FFFD 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074 0074
+75 0075 0075 0075 0075 040F 0075 0075 0075 0075 0075 0075 0075 0075 0075 0075 0075
+76 0076 0076 0076 0076 044E 0076 0076 0076 0076 0076 0076 0076 0076 0076 0076 0076
+77 0077 0077 0077 0077 0430 0077 0077 0077 0077 0077 0077 0077 0077 0077 0077 0077
+78 0078 0078 0078 0078 0431 0078 0078 0078 0078 0078 0078 0078 0078 0078 0078 0078
+79 0079 0079 0079 0079 FFFD 0079 0079 0079 0079 0079 0079 0079 0079 0079 0079 0079
+7A 007A 007A 007A 007A 003A 007A 007A 007A 007A 007A 007A 007A 007A 007A 007A 007A
+7B 007B 007B 007B 007B 0023 007B 007B 007B 007B 007B 007B 007B 007B 007B 007B 007B
+7C 007C 007C 007C 007C 0040 007C 007C 007C 007C 007C 007C 007C 007C 007C 007C 007C
+7D 007D 007D 007D 007D 0027 007D 007D 007D 007D 007D 007D 007D 007D 007D 007D 007D
+7E 007E 007E 007E 007E 003D 007E 007E 007E 007E 007E 007E 007E 007E 007E 007E 007E
+7F 007F 007F 007F 007F 0022 007F 007F 007F 007F 007F 007F 007F FFFD 007F 007F 007F
+80 0402 0080 0080 0452 0446 0080 2500 0410 0410 0410 FFFD 0410 FFFD FFFD 0496 0410
+81 0403 0081 0081 0402 0061 0081 2502 0411 0411 0411 FFFD 0411 FFFD FFFD 0492 0411
+82 201A 0082 0082 0453 0062 0082 250C 0412 0412 0412 FFFD 0412 FFFD FFFD 201A 0412
+83 0453 0083 0083 0403 0063 0083 2510 0413 0413 0413 FFFD 0413 FFFD FFFD 0493 0413
+84 201E 0084 0084 0451 0064 0084 2514 0414 0414 0414 FFFD 0414 FFFD FFFD 201E 0414
+85 2026 0085 0085 0401 0065 0085 2518 0415 0415 0415 FFFD 0415 FFFD FFFD 2026 0415
+86 2020 0086 0086 0454 0066 0086 251C 0416 0416 0416 FFFD 0416 FFFD FFFD 2020 0416
+87 2021 0087 0087 0404 0067 0087 2524 0417 0417 0417 FFFD 0417 FFFD FFFD 04AE 0417
+88 20AC 0088 0088 0455 0068 0088 252C 0418 0418 0418 FFFD 0418 FFFD FFFD 04B2 0418
+89 2030 0089 0089 0405 0069 0089 2534 0419 0419 0419 FFFD 0419 FFFD FFFD 04AF 0419
+8A 0409 008A 008A 0456 0434 008A 253C 041A 041A 041A FFFD 041A FFFD FFFD 04A0 041A
+8B 2039 008B 008B 0406 0435 008B 2580 041B 041B 041B FFFD 041B FFFD FFFD 2039 041B
+8C 040A 008C 008C 0457 0444 008C 2584 041C 041C 041C FFFD 041C FFFD FFFD 04A2 041C
+8D 040C 008D 008D 0407 0433 008D 2588 041D 041D 041D FFFD 041D FFFD FFFD 049A 041D
+8E 040B 008E 008E 0458 0445 008E 258C 041E 041E 041E FFFD 041E FFFD FFFD 04BA 041E
+8F 040F 008F 008F 0408 0438 008F 2590 041F 041F 041F FFFD 041F FFFD FFFD 04B8 041F
+90 0452 0090 0090 0459 0439 0090 2591 0420 0420 0420 FFFD 0420 FFFD FFFD 0497 0420
+91 2018 0091 0091 0409 006A 0091 2592 0421 0421 0421 FFFD 0421 FFFD FFFD 2018 0421
+92 2019 0092 0092 045A 006B 0092 2593 0422 0422 0422 FFFD 0422 FFFD FFFD 2019 0422
+93 201C 0093 0093 040A 006C 0093 2320 0423 0423 0423 FFFD 0423 FFFD FFFD 201C 0423
+94 201D 0094 0094 045B 006D 0094 25A0 0424 0424 0424 FFFD 0424 FFFD FFFD 201D 0424
+95 2022 0095 0095 0093 006E 0095 2022 0425 0425 0425 FFFD 0425 FFFD FFFD 2022 0425
+96 2013 0096 0096 045C 006F 0096 221A 0426 0426 0426 FFFD 0426 FFFD FFFD 2013 0426
+97 2014 0097 0097 040C 0070 0097 2248 0427 0427 0427 FFFD 0427 FFFD FFFD 2014 0427
+98 FFFD 0098 0098 045E 0071 0098 2264 0428 0428 0428 FFFD 0428 FFFD FFFD 04B3 0428
+99 2122 0099 0099 040E 0072 0099 2265 0429 0429 0429 FFFD 0429 FFFD FFFD 2122 0429
+9A 0459 009A 009A 045F 043A 009A 00A0 042A 042A 042A FFFD 042A FFFD FFFD 04A1 042A
+9B 203A 009B 009B 040F 043B 009B 2321 042B 042B 042B FFFD 042B FFFD FFFD 203A 042B
+9C 045A 009C 009C 044E 043C 009C 00B0 042C 042C 042C FFFD 042C FFFD FFFD 04A3 042C
+9D 045C 009D 009D 042E 043D 009D 00B2 042D 042D 042D FFFD 042D FFFD FFFD 049B 042D
+9E 045B 009E 009E 044A 043E 009E 00B7 042E 042E 042E FFFD 042E FFFD FFFD 04BB 042E
+9F 045F 009F 009F 042A 043F 009F 00F7 042F 042F 042F FFFD 042F FFFD FFFD 04B9 042F
+A0 00A0 00A0 00A0 0430 044F 00A0 2550 2020 2020 0430 FFFD 0430 FFFD 00A0 00A0 2020
+A1 040E 0452 0401 0410 FFFD 0401 2551 00B0 00B0 0431 FFFD 0431 FFFD FFFD 040E 00B0
+A2 045E 0453 FFFD 0431 0073 0402 2552 00A2 0490 0432 FFFD 0432 FFFD FFFD 045E 00A2
+A3 0408 0451 FFFD 0411 0074 0403 0451 00A3 00A3 0433 FFFD 0433 0451 FFFD 0408 00A3
+A4 00A4 0454 FFFD 0446 0075 0404 2553 00A7 00A7 0434 FFFD 0434 0452 FFFD 04E8 00A7
+A5 0490 0455 FFFD 0426 0076 0405 2554 2022 2022 0435 FFFD 0435 0458 FFFD 0498 2022
+A6 00A6 0456 FFFD 0434 0077 0406 2555 00B6 00B6 0436 FFFD 0436 0459 FFFD 04B0 00B6
+A7 00A7 0457 FFFD 0414 0078 0407 2556 0406 0406 0437 FFFD 0437 045A FFFD 00A7 0406
+A8 0401 0458 FFFD 0435 0079 0408 2557 00AE 00AE 0438 FFFD 0438 045B FFFD 0401 00AE
+A9 00A9 0459 FFFD 0415 007A 0409 2558 00A9 00A9 0439 FFFD 0439 045F FFFD 00A9 00A9
+AA 0404 045A FFFD 0444 0440 040A 2559 2122 2122 043A FFFD 043A FFFD FFFD 04D8 2122
+AB 00AB 045B FFFD 0424 0441 040B 255A 0402 0402 043B FFFD 043B FFFD FFFD 00AB 0496
+AC 00AC 045C FFFD 0433 0442 040C 255B 0452 0452 043C FFFD 043C FFFD FFFD 00AC 0497
+AD 00AD 00AD 00AD 0413 0443 00AD 255C 2260 2260 043D FFFD 043D FFFD FFFD 00AD 0456
+AE 00AE 045E FFFD 00AB 0436 040E 255D 0403 0403 043E FFFD 043E FFFD FFFD 00AE 0492
+AF 0407 045F FFFD 00BB 0432 040F 255E 0453 0453 043F FFFD 043F FFFD FFFD 049C 0493
+B0 00B0 2116 0410 2591 044C 0410 255F 221E 221E 2591 0410 FFFD FFFD 0410 00B0 0498
+B1 00B1 0402 0411 2592 044B 0411 2560 00B1 00B1 2592 0411 FFFD FFFD 0411 04B1 0499
+B2 0406 0403 0412 2593 0437 0412 2561 2264 2264 2593 0412 FFFD FFFD 0412 0406 2264
+B3 0456 0401 0413 2502 0448 0413 0401 2265 2265 2502 0413 FFFD 0401 0413 0456 2265
+B4 0491 0404 0414 2524 044D 0414 2562 0456 0456 2524 0414 FFFD 0402 0414 0499 04B0
+B5 00B5 0405 0415 0445 0449 0415 2563 00B5 00B5 2561 0415 FFFD 0408 0415 04E9 04E9
+B6 00B6 0406 0416 0425 0447 0416 2564 2202 0491 2562 0416 FFFD 0409 0416 00B6 04AE
+B7 00B7 0407 0417 0438 044A 0417 2565 0408 0408 2556 0417 FFFD 040A 0417 00B7 0408
+B8 0451 0408 0418 0418 042E 0418 2566 0404 0404 2555 0418 FFFD 040B 0418 0451 04D8
+B9 2116 0409 0419 2563 0410 0419 2567 0454 0454 2563 0419 FFFD 040F 0419 2116 04D9
+BA 0454 040A 041A 2551 0411 041A 2568 0407 0407 2551 041A FFFD FFFD 041A 04D9 049C
+BB 00BB 040B 041B 2557 0426 041B 2569 0457 0457 2557 041B FFFD FFFD 041B 00BB 049D
+BC 0458 040C 041C 255D 0414 041C 256A 0409 0409 255D 041C FFFD FFFD 041C 0458 04A0
+BD 0405 00A4 041D 0439 0415 041D 256B 0459 0459 255C 041D FFFD FFFD 041D 04AA 04A1
+BE 0455 040E 041E 0419 0424 041E 256C 040A 040A 255B 041E FFFD FFFD 041E 04AB 04A2
+BF 0457 040F 041F 2510 0413 041F 00A9 045A 045A 2510 041F FFFD FFFD 041F 049D 04A3
+C0 0410 044E 0420 2514 FFFD 0420 044E 0458 0458 2514 0420 FFFD 044E 0420 0410 0458
+C1 0411 0430 0421 2534 0041 0421 0430 0405 0405 2534 0421 FFFD 0430 0421 0411 04AA
+C2 0412 0431 0422 252C 0042 0422 0431 00AC 00AC 252C 0422 FFFD 0431 0422 0412 00AC
+C3 0413 0446 0423 251C 0043 0423 0446 221A 221A 251C 0423 FFFD 0446 0423 0413 04B2
+C4 0414 0434 0424 2500 0044 0424 0434 0192 0192 2500 0424 FFFD 0434 0424 0414 04B1
+C5 0415 0435 0425 253C 0045 0425 0435 2248 2248 253C 0425 FFFD 0435 0425 0415 04B3
+C6 0416 0444 0426 043A 0046 0426 0444 2206 2206 255E 0426 FFFD 0444 0426 0416 04AF
+C7 0417 0433 0427 041A 0047 0427 0433 00AB 00AB 255F 0427 FFFD 0433 0427 0417 00AB
+C8 0418 0445 0428 255A 0048 0428 0445 00BB 00BB 255A 0428 FFFD 0445 0428 0418 00BB
+C9 0419 0438 0429 2554 0049 0429 0438 2026 2026 2554 0429 FFFD 0438 0429 0419 2026
+CA 041A 0439 042A 2569 0425 042A 0439 00A0 00A0 2569 042A FFFD 0439 042A 041A 00A0
+CB 041B 043A 042B 2566 0418 042B 043A 040B 040B 2566 042B FFFD 043A 042B 041B 04BA
+CC 041C 043B 042C 2560 0419 042C 043B 045B 045B 2560 042C FFFD 043B 042C 041C 04BB
+CD 041D 043C 042D 2550 041A 042D 043C 040C 040C 2550 042D FFFD 043C 042D 041D 049A
+CE 041E 043D 042E 256C 041B 042E 043D 045C 045C 256C 042E FFFD 043D 042E 041E 049B
+CF 041F 043E 042F 00A4 041C 042F 043E 0455 0455 2567 042F FFFD 043E 042F 041F 04AB
+D0 0420 043F 0430 043B FFFD 0430 043F 2013 2013 2568 0430 FFFD 043F 0430 0420 2013
+D1 0421 044F 0431 041B 004A 0431 044F 2014 2014 2564 0431 FFFD 044F 0431 0421 2014
+D2 0422 0440 0432 043C 004B 0432 0440 201C 201C 2565 0432 FFFD 0440 0432 0422 201C
+D3 0423 0441 0433 041C 004C 0433 0441 201D 201D 2559 0433 FFFD 0441 0433 0423 201D
+D4 0424 0442 0434 043D 004D 0434 0442 2018 2018 2558 0434 FFFD 0442 0434 0424 2018
+D5 0425 0443 0435 041D 004E 0435 0443 2019 2019 2552 0435 FFFD 0443 0435 0425 2019
+D6 0426 0436 0436 043E 004F 0436 0436 00F7 00F7 2553 0436 FFFD 0436 0436 0426 00F7
+D7 0427 0432 0437 041E 0050 0437 0432 201E 201E 256B 0437 FFFD 0432 0437 0427 201E
+D8 0428 044C 0438 043F 0051 0438 044C 040E 040E 256A 0438 FFFD 044C 0438 0428 040E
+D9 0429 044B 0439 2518 0052 0439 044B 045E 045E 2518 0439 FFFD 044B 0439 0429 045E
+DA 042A 0437 043A 250C 041D 043A 0437 040F 040F 250C 043A FFFD 0437 043A 042A 04B8
+DB 042B 0448 043B 2588 041E 043B 0448 045F 045F 2588 043B FFFD 0448 043B 042B 04B9
+DC 042C 044D 043C 2584 041F 043C 044D 2116 2116 2584 043C FFFD 044D 043C 042C 2116
+DD 042D 0449 043D 041F 042F 043D 0449 0401 0401 258C 043D FFFD 0449 043D 042D 0401
+DE 042E 0447 043E 044F 0420 043E 0447 0451 0451 2590 043E FFFD 0447 043E 042E 0451
+DF 042F 044A 043F 2580 0421 043F 044A 044F 044F 2580 043F FFFD 044A 043F 042F 044F
+E0 0430 042E 0440 042F 005C 0440 042E 0430 0430 0440 0440 0440 042E 0440 0430 0430
+E1 0431 0410 0441 0440 00A4 0441 0410 0431 0431 0441 0441 0441 0410 0441 0431 0431
+E2 0432 0411 0442 0420 0053 0442 0411 0432 0432 0442 0442 0442 0411 0442 0432 0432
+E3 0433 0426 0443 0441 0054 0443 0426 0433 0433 0443 0443 0443 0426 0443 0433 0433
+E4 0434 0414 0444 0421 0055 0444 0414 0434 0434 0444 0444 0444 0414 0444 0434 0434
+E5 0435 0415 0445 0442 0056 0445 0415 0435 0435 0445 0445 0445 0415 0445 0435 0435
+E6 0436 0424 0446 0422 0057 0446 0424 0436 0436 0446 0446 0446 0424 0446 0436 0436
+E7 0437 0413 0447 0443 0058 0447 0413 0437 0437 0447 0447 0447 0413 0447 0437 0437
+E8 0438 0425 0448 0423 0059 0448 0425 0438 0438 0448 0448 0448 0425 0448 0438 0438
+E9 0439 0418 0449 0436 005A 0449 0418 0439 0439 0449 0449 0449 0418 0449 0439 0439
+EA 043A 0419 044A 0416 0422 044A 0419 043A 043A 044A 044A 044A 0419 044A 043A 043A
+EB 043B 041A 044B 0432 0423 044B 041A 043B 043B 044B 044B 044B 041A 044B 043B 043B
+EC 043C 041B 044C 0412 0416 044C 041B 043C 043C 044C 044C 044C 041B 044C 043C 043C
+ED 043D 041C 044D 044C 0412 044D 041C 043D 043D 044D 044D 044D 041C 044D 043D 043D
+EE 043E 041D 044E 042C 042C 044E 041D 043E 043E 044E 044E 044E 041D 044E 043E 043E
+EF 043F 041E 044F 00B4 042B 044F 041E 043F 043F 044F 044F 044F 041E 044F 043F 043F
+F0 0440 041F FFFD 00AD 0030 2116 041F 0440 0440 0401 0401 0401 041F FFFD 0440 0440
+F1 0441 042F 0451 044B 0031 0451 042F 0441 0441 0451 0451 0451 042F FFFD 0441 0441
+F2 0442 0420 FFFD 042B 0032 0452 0420 0442 0442 0404 0301 0301 0420 FFFD 0442 0442
+F3 0443 0421 FFFD 0437 0033 0453 0421 0443 0443 0454 0300 0300 0421 FFFD 0443 0443
+F4 0444 0422 FFFD 0417 0034 0454 0422 0444 0444 0407 0301 0301 0422 FFFD 0444 0444
+F5 0445 0423 FFFD 0448 0035 0455 0423 0445 0445 0457 0300 0300 0423 FFFD 0445 0445
+F6 0446 0416 FFFD 0428 0036 0456 0416 0446 0446 040E 2192 2192 0416 FFFD 0446 0446
+F7 0447 0412 FFFD 044D 0037 0457 0412 0447 0447 045E 2190 2190 0412 FFFD 0447 0447
+F8 0448 042C FFFD 042D 0038 0458 042C 0448 0448 00B0 2193 2193 042C FFFD 0448 0448
+F9 0449 042B FFFD 0449 0039 0459 042B 0449 0449 2219 2191 2191 042B FFFD 0449 0449
+FA 044A 0417 FFFD 0429 0417 045A 0417 044A 044A 00B7 00F7 00F7 0417 FFFD 044A 044A
+FB 044B 0428 FFFD 0447 0428 045B 0428 044B 044B 221A 00B1 00B1 0428 FFFD 044B 044B
+FC 044C 042D FFFD 0427 042D 045C 042D 044C 044C 2116 2116 2116 042D FFFD 044C 044C
+FD 044D 0429 FFFD FFFD 0429 00A7 0429 044D 044D 00A4 00A4 00A4 0429 FFFD 044D 044D
+FE 044E 0427 FFFD 25A0 0427 045E 0427 044E 044E 25A0 FFFD FFFD 0427 FFFD 044E 044E
+FF 044F 042A FFFD 00A0 009F 045F 042A 00A4 00A4 00A0 FFFD FFFD 042A FFFD 044F 04E8
diff --git a/macros/latex/contrib/t2/enc-maps/cyrcsets.ind b/macros/latex/contrib/t2/enc-maps/cyrcsets.ind
new file mode 100644
index 0000000000..e9a472a497
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/cyrcsets.ind
@@ -0,0 +1,26 @@
+8-bit Cyrillic charsets (cyrcset8.txt):
+
+1. CP1251 MS-CYRL
+2. ECMA-CYRILLIC ISO-IR-111
+3. GOST_19768-74 ST_SEV_358-88 ISO-IR-153 /subset of ISO-8859-5/
+4. IBM855 CP855
+5. IBM880 CP880 EBCDIC-CYRILLIC
+6. ISO-8859-5 ISO-IR-144
+7. KOI8-R
+8. Mac OS Cyrillic, cp10007
+9. Mac OS Ukrainian
+10. CP866
+11. Osnovnoj Variant Russian
+12. Alternativnyj Variant Russian
+13. KOI8 with CRL/NMSU extensions for SerboCroat
+14. U-code Russian /subset of ISO-8859-5 and GOST_19768-74/
+15. Windows Asian codepage (ParaType) PT CP154
+16. Macintosh Asian codepage (ParaType) PT CP254
+
+7-bit Cyrillic charsets (cyrcset7.txt):
+
+1. INIS-CYRILLIC ISO-IR-51
+2. ISO_5427-EXT ISO-IR-54
+3. ISO_5427 ISO-IR-37 KOI-7
+4. JUS_I.B1.003-MAC ISO-IR-147
+5. JUS_I.B1.003-SERB ISO-IR-146
diff --git a/macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod1.enc b/macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod1.enc
new file mode 100644
index 0000000000..5bcfdacd30
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod1.enc
@@ -0,0 +1,290 @@
+% This file is generated from `T2Auni.map' and `glyphlist.txt', `broken1.txt'
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+/T2AModified1Encoding [
+% 0x00
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/.notdef
+/angleleft
+/angleright
+% 0x10
+/quotedblleft
+/quotedblright
+/cyrflex
+/dblgrave
+/cyrbreve
+/endash
+/emdash
+/.notdef
+/.notdef
+/dotlessi
+/.notdef
+/ff
+/fi
+/fl
+/ffi
+/ffl
+% 0x20
+/.notdef
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+% 0x30
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+% 0x40
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+% 0x50
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/asciicircum
+/underscore
+% 0x60
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+% 0x70
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+/x
+/y
+/z
+/braceleft
+/bar
+/braceright
+/asciitilde
+/hyphen
+% 0x80
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0x90
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/dieresis
+/onesuperior
+/currency
+/section
+% 0xA0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xB0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/cedilla
+/quotedblbase
+/guillemotleft
+/guillemotright
+% 0xC0
+/Agrave
+/Aacute
+/Acircumflex
+/Atilde
+/Adieresis
+/Aring
+/AE
+/Ccedilla
+/Egrave
+/Eacute
+/Ecircumflex
+/Edieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Idieresis
+% 0xD0
+/Eth
+/Ntilde
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/Odieresis
+/multiply
+/Oslash
+/Ugrave
+/Uacute
+/Ucircumflex
+/Udieresis
+/Yacute
+/Thorn
+/germandbls
+% 0xE0
+/agrave
+/aacute
+/acircumflex
+/atilde
+/adieresis
+/aring
+/ae
+/ccedilla
+/egrave
+/eacute
+/ecircumflex
+/edieresis
+/igrave
+/iacute
+/icircumflex
+/idieresis
+% 0xF0
+/eth
+/ntilde
+/ograve
+/oacute
+/ocircumflex
+/otilde
+/odieresis
+/divide
+/oslash
+/ugrave
+/uacute
+/ucircumflex
+/udieresis
+/yacute
+/thorn
+/ydieresis
+] def
diff --git a/macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod2.enc b/macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod2.enc
new file mode 100644
index 0000000000..a01560f169
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/encfiles/t2a-mod2.enc
@@ -0,0 +1,290 @@
+% This file is generated from `T2Auni.map' and `glyphlist.txt', `broken2.txt'
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+/T2AModified2Encoding [
+% 0x00
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/.notdef
+/angleleft
+/angleright
+% 0x10
+/quotedblleft
+/quotedblright
+/cyrflex
+/dblgrave
+/cyrbreve
+/endash
+/emdash
+/.notdef
+/.notdef
+/dotlessi
+/.notdef
+/ff
+/fi
+/fl
+/ffi
+/ffl
+% 0x20
+/.notdef
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+% 0x30
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+% 0x40
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+% 0x50
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/asciicircum
+/underscore
+% 0x60
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+% 0x70
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+/x
+/y
+/z
+/braceleft
+/bar
+/braceright
+/asciitilde
+/hyphen
+% 0x80
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0x90
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/threesuperior
+/.notdef
+/currency
+/section
+% 0xA0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xB0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/sterling
+/quotedblbase
+/guillemotleft
+/guillemotright
+% 0xC0
+/aacute
+/acircumflex
+/divide
+/ccedilla
+/adieresis
+/aring
+/odieresis
+/uacute
+/eacute
+/ecircumflex
+/edieresis
+/igrave
+/iacute
+/icircumflex
+/idieresis
+/eth
+% 0xD0
+/ograve
+/oacute
+/ocircumflex
+/otilde
+/ae
+/egrave
+/atilde
+/thorn
+/ucircumflex
+/yacute
+/ydieresis
+/ugrave
+/oslash
+/udieresis
+/agrave
+/ntilde
+% 0xE0
+/Aacute
+/Acircumflex
+/multiply
+/Ccedilla
+/Adieresis
+/Aring
+/Odieresis
+/Uacute
+/Eacute
+/Ecircumflex
+/Edieresis
+/Igrave
+/Iacute
+/Icircumflex
+/Idieresis
+/Eth
+% 0xF0
+/Ograve
+/Oacute
+/Ocircumflex
+/Otilde
+/AE
+/Egrave
+/Atilde
+/Thorn
+/Ucircumflex
+/Yacute
+/germandbls
+/Ugrave
+/Oslash
+/Udieresis
+/Agrave
+/Ntilde
+] def
diff --git a/macros/latex/contrib/t2/enc-maps/encfiles/t2a.enc b/macros/latex/contrib/t2/enc-maps/encfiles/t2a.enc
new file mode 100644
index 0000000000..81c8359417
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/encfiles/t2a.enc
@@ -0,0 +1,290 @@
+% This file is generated from `T2Auni.map' and `glyphlist.txt'
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+/T2AAdobeEncoding [
+% 0x00
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/.notdef
+/angleleft
+/angleright
+% 0x10
+/quotedblleft
+/quotedblright
+/cyrflex
+/dblgrave
+/cyrbreve
+/endash
+/emdash
+/.notdef
+/.notdef
+/dotlessi
+/.notdef
+/ff
+/fi
+/fl
+/ffi
+/ffl
+% 0x20
+/.notdef
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+% 0x30
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+% 0x40
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+% 0x50
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/asciicircum
+/underscore
+% 0x60
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+% 0x70
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+/x
+/y
+/z
+/braceleft
+/bar
+/braceright
+/asciitilde
+/hyphen
+% 0x80
+/afii10050
+/.notdef
+/afii10051
+/afii10060
+/.notdef
+/.notdef
+/.notdef
+/afii10058
+/afii10056
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10054
+% 0x90
+/.notdef
+/.notdef
+/afii10062
+/.notdef
+/.notdef
+/.notdef
+/afii10145
+/.notdef
+/.notdef
+/afii10053
+/.notdef
+/afii10059
+/afii10023
+/afii61352
+/currency
+/section
+% 0xA0
+/afii10098
+/.notdef
+/afii10099
+/afii10108
+/.notdef
+/.notdef
+/.notdef
+/afii10106
+/afii10104
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10102
+% 0xB0
+/.notdef
+/.notdef
+/afii10110
+/.notdef
+/.notdef
+/.notdef
+/afii10193
+/.notdef
+/.notdef
+/afii10101
+/afii10846
+/afii10107
+/afii10071
+/quotedblbase
+/guillemotleft
+/guillemotright
+% 0xC0
+/afii10017
+/afii10018
+/afii10019
+/afii10020
+/afii10021
+/afii10022
+/afii10024
+/afii10025
+/afii10026
+/afii10027
+/afii10028
+/afii10029
+/afii10030
+/afii10031
+/afii10032
+/afii10033
+% 0xD0
+/afii10034
+/afii10035
+/afii10036
+/afii10037
+/afii10038
+/afii10039
+/afii10040
+/afii10041
+/afii10042
+/afii10043
+/afii10044
+/afii10045
+/afii10046
+/afii10047
+/afii10048
+/afii10049
+% 0xE0
+/afii10065
+/afii10066
+/afii10067
+/afii10068
+/afii10069
+/afii10070
+/afii10072
+/afii10073
+/afii10074
+/afii10075
+/afii10076
+/afii10077
+/afii10078
+/afii10079
+/afii10080
+/afii10081
+% 0xF0
+/afii10082
+/afii10083
+/afii10084
+/afii10085
+/afii10086
+/afii10087
+/afii10088
+/afii10089
+/afii10090
+/afii10091
+/afii10092
+/afii10093
+/afii10094
+/afii10095
+/afii10096
+/afii10097
+] def
diff --git a/macros/latex/contrib/t2/enc-maps/encfiles/t2b.enc b/macros/latex/contrib/t2/enc-maps/encfiles/t2b.enc
new file mode 100644
index 0000000000..4e5b8506f6
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/encfiles/t2b.enc
@@ -0,0 +1,290 @@
+% This file is generated from `T2Buni.map' and `glyphlist.txt'
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+/T2BAdobeEncoding [
+% 0x00
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/.notdef
+/angleleft
+/angleright
+% 0x10
+/quotedblleft
+/quotedblright
+/cyrflex
+/dblgrave
+/cyrbreve
+/endash
+/emdash
+/.notdef
+/.notdef
+/dotlessi
+/.notdef
+/ff
+/fi
+/fl
+/ffi
+/ffl
+% 0x20
+/.notdef
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+% 0x30
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+% 0x40
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+% 0x50
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/asciicircum
+/underscore
+% 0x60
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+% 0x70
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+/x
+/y
+/z
+/braceleft
+/bar
+/braceright
+/asciitilde
+/hyphen
+% 0x80
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10058
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0x90
+/.notdef
+/.notdef
+/afii10062
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10059
+/.notdef
+/.notdef
+/afii10023
+/afii61352
+/currency
+/section
+% 0xA0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10106
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xB0
+/.notdef
+/.notdef
+/afii10110
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10107
+/afii10846
+/.notdef
+/afii10071
+/quotedblbase
+/guillemotleft
+/guillemotright
+% 0xC0
+/afii10017
+/afii10018
+/afii10019
+/afii10020
+/afii10021
+/afii10022
+/afii10024
+/afii10025
+/afii10026
+/afii10027
+/afii10028
+/afii10029
+/afii10030
+/afii10031
+/afii10032
+/afii10033
+% 0xD0
+/afii10034
+/afii10035
+/afii10036
+/afii10037
+/afii10038
+/afii10039
+/afii10040
+/afii10041
+/afii10042
+/afii10043
+/afii10044
+/afii10045
+/afii10046
+/afii10047
+/afii10048
+/afii10049
+% 0xE0
+/afii10065
+/afii10066
+/afii10067
+/afii10068
+/afii10069
+/afii10070
+/afii10072
+/afii10073
+/afii10074
+/afii10075
+/afii10076
+/afii10077
+/afii10078
+/afii10079
+/afii10080
+/afii10081
+% 0xF0
+/afii10082
+/afii10083
+/afii10084
+/afii10085
+/afii10086
+/afii10087
+/afii10088
+/afii10089
+/afii10090
+/afii10091
+/afii10092
+/afii10093
+/afii10094
+/afii10095
+/afii10096
+/afii10097
+] def
diff --git a/macros/latex/contrib/t2/enc-maps/encfiles/t2c.enc b/macros/latex/contrib/t2/enc-maps/encfiles/t2c.enc
new file mode 100644
index 0000000000..e55500e63a
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/encfiles/t2c.enc
@@ -0,0 +1,290 @@
+% This file is generated from `T2Cuni.map' and `glyphlist.txt'
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+/T2CAdobeEncoding [
+% 0x00
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/.notdef
+/angleleft
+/angleright
+% 0x10
+/quotedblleft
+/quotedblright
+/cyrflex
+/dblgrave
+/cyrbreve
+/endash
+/emdash
+/.notdef
+/.notdef
+/dotlessi
+/.notdef
+/ff
+/fi
+/fl
+/ffi
+/ffl
+% 0x20
+/.notdef
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+% 0x30
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+% 0x40
+/at
+/A
+/B
+/C
+/D
+/E
+/F
+/G
+/H
+/I
+/J
+/K
+/L
+/M
+/N
+/O
+% 0x50
+/P
+/Q
+/R
+/S
+/T
+/U
+/V
+/W
+/X
+/Y
+/Z
+/bracketleft
+/backslash
+/bracketright
+/asciicircum
+/underscore
+% 0x60
+/quoteleft
+/a
+/b
+/c
+/d
+/e
+/f
+/g
+/h
+/i
+/j
+/k
+/l
+/m
+/n
+/o
+% 0x70
+/p
+/q
+/r
+/s
+/t
+/u
+/v
+/w
+/x
+/y
+/z
+/braceleft
+/bar
+/braceright
+/asciitilde
+/hyphen
+% 0x80
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0x90
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10145
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10023
+/afii61352
+/currency
+/section
+% 0xA0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xB0
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10193
+/.notdef
+/.notdef
+/.notdef
+/afii10846
+/.notdef
+/afii10071
+/quotedblbase
+/guillemotleft
+/guillemotright
+% 0xC0
+/afii10017
+/afii10018
+/afii10019
+/afii10020
+/afii10021
+/afii10022
+/afii10024
+/afii10025
+/afii10026
+/afii10027
+/afii10028
+/afii10029
+/afii10030
+/afii10031
+/afii10032
+/afii10033
+% 0xD0
+/afii10034
+/afii10035
+/afii10036
+/afii10037
+/afii10038
+/afii10039
+/afii10040
+/afii10041
+/afii10042
+/afii10043
+/afii10044
+/afii10045
+/afii10046
+/afii10047
+/afii10048
+/afii10049
+% 0xE0
+/afii10065
+/afii10066
+/afii10067
+/afii10068
+/afii10069
+/afii10070
+/afii10072
+/afii10073
+/afii10074
+/afii10075
+/afii10076
+/afii10077
+/afii10078
+/afii10079
+/afii10080
+/afii10081
+% 0xF0
+/afii10082
+/afii10083
+/afii10084
+/afii10085
+/afii10086
+/afii10087
+/afii10088
+/afii10089
+/afii10090
+/afii10091
+/afii10092
+/afii10093
+/afii10094
+/afii10095
+/afii10096
+/afii10097
+] def
diff --git a/macros/latex/contrib/t2/enc-maps/encfiles/x2.enc b/macros/latex/contrib/t2/enc-maps/encfiles/x2.enc
new file mode 100644
index 0000000000..beb1e83b5c
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/encfiles/x2.enc
@@ -0,0 +1,290 @@
+% This file is generated from `X2uni.map' and `glyphlist.txt'
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+/X2AdobeEncoding [
+% 0x00
+/grave
+/acute
+/circumflex
+/tilde
+/dieresis
+/hungarumlaut
+/ring
+/caron
+/breve
+/macron
+/dotaccent
+/cedilla
+/ogonek
+/.notdef
+/angleleft
+/angleright
+% 0x10
+/quotedblleft
+/quotedblright
+/cyrflex
+/dblgrave
+/cyrbreve
+/endash
+/emdash
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0x20
+/.notdef
+/exclam
+/quotedbl
+/numbersign
+/dollar
+/percent
+/ampersand
+/quoteright
+/parenleft
+/parenright
+/asterisk
+/plus
+/comma
+/hyphen
+/period
+/slash
+% 0x30
+/zero
+/one
+/two
+/three
+/four
+/five
+/six
+/seven
+/eight
+/nine
+/colon
+/semicolon
+/less
+/equal
+/greater
+/question
+% 0x40
+/at
+/.notdef
+/afii10051
+/afii10060
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10055
+/afii10057
+/afii10058
+/.notdef
+/afii10059
+/.notdef
+/.notdef
+% 0x50
+/.notdef
+/.notdef
+/.notdef
+/afii10054
+/.notdef
+/afii10145
+/.notdef
+/.notdef
+/afii10146
+/.notdef
+/afii10148
+/bracketleft
+/backslash
+/bracketright
+/asciicircum
+/underscore
+% 0x60
+/quoteleft
+/.notdef
+/afii10099
+/afii10108
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10103
+/afii10105
+/afii10106
+/.notdef
+/afii10107
+/.notdef
+/.notdef
+% 0x70
+/.notdef
+/.notdef
+/.notdef
+/afii10102
+/.notdef
+/afii10193
+/.notdef
+/.notdef
+/afii10194
+/.notdef
+/afii10196
+/braceleft
+/bar
+/braceright
+/asciitilde
+/hyphen
+% 0x80
+/afii10050
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10056
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0x90
+/.notdef
+/.notdef
+/afii10062
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10053
+/.notdef
+/.notdef
+/afii10023
+/afii61352
+/currency
+/section
+% 0xA0
+/afii10098
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10104
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+% 0xB0
+/.notdef
+/.notdef
+/afii10110
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/.notdef
+/afii10101
+/afii10846
+/.notdef
+/afii10071
+/quotedblbase
+/guillemotleft
+/guillemotright
+% 0xC0
+/afii10017
+/afii10018
+/afii10019
+/afii10020
+/afii10021
+/afii10022
+/afii10024
+/afii10025
+/afii10026
+/afii10027
+/afii10028
+/afii10029
+/afii10030
+/afii10031
+/afii10032
+/afii10033
+% 0xD0
+/afii10034
+/afii10035
+/afii10036
+/afii10037
+/afii10038
+/afii10039
+/afii10040
+/afii10041
+/afii10042
+/afii10043
+/afii10044
+/afii10045
+/afii10046
+/afii10047
+/afii10048
+/afii10049
+% 0xE0
+/afii10065
+/afii10066
+/afii10067
+/afii10068
+/afii10069
+/afii10070
+/afii10072
+/afii10073
+/afii10074
+/afii10075
+/afii10076
+/afii10077
+/afii10078
+/afii10079
+/afii10080
+/afii10081
+% 0xF0
+/afii10082
+/afii10083
+/afii10084
+/afii10085
+/afii10086
+/afii10087
+/afii10088
+/afii10089
+/afii10090
+/afii10091
+/afii10092
+/afii10093
+/afii10094
+/afii10095
+/afii10096
+/afii10097
+] def
diff --git a/macros/latex/contrib/t2/enc-maps/make-enc.pl b/macros/latex/contrib/t2/enc-maps/make-enc.pl
new file mode 100644
index 0000000000..8e141a2bb6
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/make-enc.pl
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+
+$enc2uni=$ARGV[0];
+$encname=$ARGV[1];
+shift;shift;
+$glyph2uni=join("', `",@ARGV);
+
+while(<>) {
+ if ($_ =~ /^#/) { next }
+ s/(....);([^;]*);/$glyphenc{$1}=$2/e;
+}
+
+print <<"ENDHEADER";
+% This file is generated from `$enc2uni' and `$glyph2uni'
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN quoteleft quoteleft =: quotedblleft ;
+% LIGKERN quoteright quoteright =: quotedblright ;
+% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+% LIGKERN greater greater =: guillemotright ;
+% LIGKERN f f =: ff ; f i =: fi ; f l =: fl ; ff i =: ffi ; ff l =: ffl ;
+%
+% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
+% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
+% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+% LIGKERN nine {} * ; * {} nine ;
+%
+/${encname}Encoding [
+ENDHEADER
+
+$n=0;
+open(ENC2UNI,$enc2uni);
+while(<ENC2UNI>) {
+ if ($_ =~ /^#/) { next }
+ s/(..);([^;]*);/$codeenc=$1;$codeuni=$2/e;
+ if ($n % 16 == 0) { printf "%% 0x%02X\n",$n }
+ $n++;
+ if ($glyphenc{$codeuni} ne "") {
+ print "/$glyphenc{$codeuni}\n";
+ } else {
+ print "/.notdef\n";
+ }
+}
+close(ENC2UNI);
+
+print "] def\n";
diff --git a/macros/latex/contrib/t2/enc-maps/mkencs.sh b/macros/latex/contrib/t2/enc-maps/mkencs.sh
new file mode 100644
index 0000000000..8bd8c81353
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/mkencs.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+./make-enc.pl T2Auni.map T2AAdobe glyphlist.txt > encfiles/t2a.enc
+./make-enc.pl T2Buni.map T2BAdobe glyphlist.txt > encfiles/t2b.enc
+./make-enc.pl T2Cuni.map T2CAdobe glyphlist.txt > encfiles/t2c.enc
+./make-enc.pl X2uni.map X2Adobe glyphlist.txt > encfiles/x2.enc
+
+./make-enc.pl T2Auni.map T2AModified1 glyphlist.txt broken1.txt | sed 's,/afii.*,/.notdef,' > encfiles/t2a-mod1.enc
+#./make-enc.pl T2Buni.map T2BModified1 glyphlist.txt broken1.txt | sed 's,/afii.*,/.notdef,' > encfiles/t2b-mod1.enc
+#./make-enc.pl T2Cuni.map T2CModified1 glyphlist.txt broken1.txt | sed 's,/afii.*,/.notdef,' > encfiles/t2c-mod1.enc
+#./make-enc.pl X2uni.map X2Modified1 glyphlist.txt broken1.txt | sed 's,/afii.*,/.notdef,' > encfiles/x2-mod1.enc
+
+./make-enc.pl T2Auni.map T2AModified2 glyphlist.txt broken2.txt | sed 's,/afii.*,/.notdef,' > encfiles/t2a-mod2.enc
+#./make-enc.pl T2Buni.map T2BModified2 glyphlist.txt broken2.txt | sed 's,/afii.*,/.notdef,' > encfiles/t2b-mod2.enc
+#./make-enc.pl T2Cuni.map T2CModified2 glyphlist.txt broken2.txt | sed 's,/afii.*,/.notdef,' > encfiles/t2c-mod2.enc
+#./make-enc.pl X2uni.map X2Modified2 glyphlist.txt broken2.txt | sed 's,/afii.*,/.notdef,' > encfiles/x2-mod2.enc
diff --git a/macros/latex/contrib/t2/enc-maps/mtcyr.txt b/macros/latex/contrib/t2/enc-maps/mtcyr.txt
new file mode 100644
index 0000000000..fbecab838d
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/mtcyr.txt
@@ -0,0 +1,181 @@
+0020;space;SPACE
+0021;exclam;EXCLAMATION MARK
+0022;quotedbl;QUOTATION MARK
+0023;numbersign;NUMBER SIGN
+0025;percent;PERCENT SIGN
+0026;ampersand;AMPERSAND
+0027;quotesingle;APOSTROPHE
+0028;parenleft;LEFT PARENTHESIS
+0029;parenright;RIGHT PARENTHESIS
+002A;asterisk;ASTERISK
+002B;plus;PLUS SIGN
+002C;comma;COMMA
+002D;hyphen;HYPHEN-MINUS
+002E;period;FULL STOP
+002F;slash;SOLIDUS
+0030;zero;DIGIT ZERO
+0031;one;DIGIT ONE
+0032;two;DIGIT TWO
+0033;three;DIGIT THREE
+0034;four;DIGIT FOUR
+0035;five;DIGIT FIVE
+0036;six;DIGIT SIX
+0037;seven;DIGIT SEVEN
+0038;eight;DIGIT EIGHT
+0039;nine;DIGIT NINE
+003A;colon;COLON
+003B;semicolon;SEMICOLON
+003D;equal;EQUALS SIGN
+003F;question;QUESTION MARK
+005C;backslash;REVERSE SOLIDUS
+005F;underscore;LOW LINE
+007C;vertical;VERTICAL LINE
+00A4;currency;CURRENCY SIGN
+00A7;section;SECTION SIGN
+00A8;dieresis;DIAERESIS
+00AB;guillemotleft;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00B0;degree;DEGREE SIGN
+00B4;acute;ACUTE ACCENT
+00B7;periodcentered;MIDDLE DOT
+00BB;guillemotright;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0131;dotlessi;LATIN SMALL LETTER DOTLESS I
+0401;Jehstdieresis;CYRILLIC CAPITAL LETTER IO
+0402;Djsche;CYRILLIC CAPITAL LETTER DJE
+0403;Glagolmac;CYRILLIC CAPITAL LETTER GJE
+0404;Ye;CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0405;Zelo;CYRILLIC CAPITAL LETTER DZE
+0406;I;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0407;Idieresis;CYRILLIC CAPITAL LETTER YI
+0408;Je;CYRILLIC CAPITAL LETTER JE
+0409;Elj;CYRILLIC CAPITAL LETTER LJE
+040A;Nj;CYRILLIC CAPITAL LETTER NJE
+040B;Tjsche;CYRILLIC CAPITAL LETTER TSHE
+040C;Kakoacute;CYRILLIC CAPITAL LETTER KJE
+040E;Ubreve;CYRILLIC CAPITAL LETTER SHORT U
+040F;Dsche;CYRILLIC CAPITAL LETTER DZHE
+0410;As;CYRILLIC CAPITAL LETTER A
+0411;Buki;CYRILLIC CAPITAL LETTER BE
+0412;Wjedi;CYRILLIC CAPITAL LETTER VE
+0413;Glagol;CYRILLIC CAPITAL LETTER GHE
+0414;Dobro;CYRILLIC CAPITAL LETTER DE
+0415;Jehst;CYRILLIC CAPITAL LETTER IE
+0416;Schiwete;CYRILLIC CAPITAL LETTER ZHE
+0417;Semlja;CYRILLIC CAPITAL LETTER ZE
+0418;Ische;CYRILLIC CAPITAL LETTER I
+0419;Ischedipthong;CYRILLIC CAPITAL LETTER SHORT I
+041A;Kako;CYRILLIC CAPITAL LETTER KA
+041B;Ljudi;CYRILLIC CAPITAL LETTER EL
+041C;Muislete;CYRILLIC CAPITAL LETTER EM
+041D;Nasche;CYRILLIC CAPITAL LETTER EN
+041E;On;CYRILLIC CAPITAL LETTER O
+041F;Pakoy;CYRILLIC CAPITAL LETTER PE
+0420;Rzui;CYRILLIC CAPITAL LETTER ER
+0421;Ssiowo;CYRILLIC CAPITAL LETTER ES
+0422;Twerdo;CYRILLIC CAPITAL LETTER TE
+0423;U;CYRILLIC CAPITAL LETTER U
+0424;Fert;CYRILLIC CAPITAL LETTER EF
+0425;Chherr;CYRILLIC CAPITAL LETTER HA
+0426;Zui;CYRILLIC CAPITAL LETTER TSE
+0427;Tscherw;CYRILLIC CAPITAL LETTER CHE
+0428;Scha;CYRILLIC CAPITAL LETTER SHA
+0429;Schtscha;CYRILLIC CAPITAL LETTER SHCHA
+042A;Jerr;CYRILLIC CAPITAL LETTER HARD SIGN
+042B;Jerui;CYRILLIC CAPITAL LETTER YERU
+042C;Jher;CYRILLIC CAPITAL LETTER SOFT SIGN
+042D;E;CYRILLIC CAPITAL LETTER E
+042E;Ju;CYRILLIC CAPITAL LETTER YU
+042F;Ja;CYRILLIC CAPITAL LETTER YA
+0430;as;CYRILLIC SMALL LETTER A
+0431;buki;CYRILLIC SMALL LETTER BE
+0432;wjedi;CYRILLIC SMALL LETTER VE
+0433;glagol;CYRILLIC SMALL LETTER GHE
+0434;dobro;CYRILLIC SMALL LETTER DE
+0435;jehst;CYRILLIC SMALL LETTER IE
+0436;schiwete;CYRILLIC SMALL LETTER ZHE
+0437;semlja;CYRILLIC SMALL LETTER ZE
+0438;ische;CYRILLIC SMALL LETTER I
+0439;ischedipthong;CYRILLIC SMALL LETTER SHORT I
+043A;kako;CYRILLIC SMALL LETTER KA
+043B;ljudi;CYRILLIC SMALL LETTER EL
+043C;muislette;CYRILLIC SMALL LETTER EM
+043D;nasch;CYRILLIC SMALL LETTER EN
+043E;on;CYRILLIC SMALL LETTER O
+043F;pakoy;CYRILLIC SMALL LETTER PE
+0440;rzui;CYRILLIC SMALL LETTER ER
+0441;ssiowo;CYRILLIC SMALL LETTER ES
+0442;twerdo;CYRILLIC SMALL LETTER TE
+0443;u;CYRILLIC SMALL LETTER U
+0444;fert;CYRILLIC SMALL LETTER EF
+0445;chherr;CYRILLIC SMALL LETTER HA
+0446;zui;CYRILLIC SMALL LETTER TSE
+0447;tscherw;CYRILLIC SMALL LETTER CHE
+0448;scha;CYRILLIC SMALL LETTER SHA
+0449;schtscha;CYRILLIC SMALL LETTER SHCHA
+044A;jerr;CYRILLIC SMALL LETTER HARD SIGN
+044B;jerui;CYRILLIC SMALL LETTER YERU
+044C;jher;CYRILLIC SMALL LETTER SOFT SIGN
+044D;e;CYRILLIC SMALL LETTER E
+044E;ju;CYRILLIC SMALL LETTER YU
+044F;ja;CYRILLIC SMALL LETTER YA
+0451;jehstdieresis;CYRILLIC SMALL LETTER IO
+0452;djsche;CYRILLIC SMALL LETTER DJE
+0453;glagolmac;CYRILLIC SMALL LETTER GJE
+0454;ye;CYRILLIC SMALL LETTER UKRAINIAN IE
+0455;zelo;CYRILLIC SMALL LETTER DZE
+0456;i;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0457;idieresis;CYRILLIC SMALL LETTER YI
+0458;je;CYRILLIC SMALL LETTER JE
+0459;elj;CYRILLIC SMALL LETTER LJE
+045A;nj;CYRILLIC SMALL LETTER NJE
+045B;tjsche;CYRILLIC SMALL LETTER TSHE
+045C;kakoacute;CYRILLIC SMALL LETTER KJE
+045E;ubreve;CYRILLIC SMALL LETTER SHORT U
+045F;dsche;CYRILLIC SMALL LETTER DZHE
+0462;Jat;CYRILLIC CAPITAL LETTER YAT
+0463;jat;CYRILLIC SMALL LETTER YAT
+0472;Fita;CYRILLIC CAPITAL LETTER FITA
+0473;fita;CYRILLIC SMALL LETTER FITA
+0474;Jschiza;CYRILLIC CAPITAL LETTER IZHITSA
+0475;jschiza;CYRILLIC SMALL LETTER IZHITSA
+2013;endash;EN DASH
+2014;emdash;EM DASH
+2018;quoteleft;LEFT SINGLE QUOTATION MARK
+2019;quoteright;RIGHT SINGLE QUOTATION MARK
+201C;quotedblleft;LEFT DOUBLE QUOTATION MARK
+201D;quotedblright;RIGHT DOUBLE QUOTATION MARK
+201E;quotedblbase;DOUBLE LOW-9 QUOTATION MARK
+2022;bullet;BULLET
+2026;ellipsis;HORIZONTAL ELLIPSIS
+2116;nosign;NUMERO SIGN
+;Asacute;CYRILLIC CAPITAL LETTER A WITH ACUTE
+;Eacute;CYRILLIC CAPITAL LETTER E WITH ACUTE
+;Ischeacute;CYRILLIC CAPITAL LETTER I WITH ACUTE
+;Jaacute;CYRILLIC CAPITAL LETTER YA WITH ACUTE
+;Jehstacute;CYRILLIC CAPITAL LETTER IE WITH ACUTE
+;Jeruiacute;CYRILLIC CAPITAL LETTER YERU WITH ACUTE
+;Juacute;CYRILLIC CAPITAL LETTER YU WITH ACUTE
+;Onacute;CYRILLIC CAPITAL LETTER O WITH ACUTE
+;Schiwetebulg;CYRILLIC CAPITAL LETTER ZHE BULGARIAN
+;Uacute;CYRILLIC CAPITAL LETTER U WITH ACUTE
+;Yeacute;CYRILLIC CAPITAL LETTER UKRAINIAN IE WITH ACUTE
+;asacute;CYRILLIC SMALL LETTER A WITH ACUTE
+;eacute;CYRILLIC SMALL LETTER E WITH ACUTE
+;fertserb;CYRILLIC SMALL LETTER EF VARIANT;italic only?
+;ischeacute;CYRILLIC SMALL LETTER I WITH ACUTE
+;jaacute;CYRILLIC SMALL LETTER YA WITH ACUTE
+;jehstacute;CYRILLIC SMALL LETTER IE WITH ACUTE
+;jeruiacute;CYRILLIC SMALL LETTER YERU WITH ACUTE
+;juacute;CYRILLIC SMALL LETTER YU WITH ACUTE
+;muisletteserb;CYRILLIC SMALL LETTER EM VARIANT;italic only?
+;onacute;CYRILLIC SMALL LETTER O WITH ACUTE
+;schiwetebulg;CYRILLIC SMALL LETTER ZHE BULGARIAN
+;schiweteserb;CYRILLIC SMALL LETTER ZHE VARIANT;italic only?
+;uacute;CYRILLIC SMALL LETTER U WITH ACUTE
+;wjediserb;CYRILLIC SMALL LETTER VE VARIANT;italic only?
+;yeacute;CYRILLIC SMALL LETTER UKRAINIAN IE WITH ACUTE
+;zuiserb;CYRILLIC SMALL LETTER TSE VARIANT;italic only?
+F6C4;glagolserb;CYRILLIC SMALL LETTER GHE VARIANT;italic only?
+F6C5;bukiserb;CYRILLIC SMALL LETTER BE VARIANT
+F6C6;dobroserb;CYRILLIC SMALL LETTER DE VARIANT
+F6C7;pakoyserb;CYRILLIC SMALL LETTER PE VARIANT;italic only?
+F6C8;twerdoserb;CYRILLIC SMALL LETTER TE VARIANT;italic only?
diff --git a/macros/latex/contrib/t2/enc-maps/t2cyr.txt b/macros/latex/contrib/t2/enc-maps/t2cyr.txt
new file mode 100644
index 0000000000..3d0efefa93
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/t2cyr.txt
@@ -0,0 +1,292 @@
+02CE;;MODIFIER LETTER LOW GRAVE ACCENT;cross grave modifier (X2)
+02CF;;MODIFIER LETTER LOW ACUTE ACCENT;cross acute modifier (X2)
+030F;\C;COMBINING DOUBLE GRAVE ACCENT
+0313;;COMBINING COMMA ABOVE
+0335;;COMBINING SHORT STROKE OVERLAY;hcross modifier (X2)
+0400;;CYRILLIC CAPITAL LETTER IE WITH GRAVE;new,macedonian
+0401;\CYRYO;CYRILLIC CAPITAL LETTER IO
+0402;\CYRDJE;CYRILLIC CAPITAL LETTER DJE
+0403;;CYRILLIC CAPITAL LETTER GJE;\CYRGJE=\'\CYRG: absent in T2/X2
+0404;\CYRIE;CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0405;\CYRDZE;CYRILLIC CAPITAL LETTER DZE;like latin S
+0406;\CYRII;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;like latin I
+0407;\CYRYI;CYRILLIC CAPITAL LETTER YI
+0408;\CYRJE;CYRILLIC CAPITAL LETTER JE;like latin J
+0409;\CYRLJE;CYRILLIC CAPITAL LETTER LJE
+040A;\CYRNJE;CYRILLIC CAPITAL LETTER NJE
+040B;\CYRTSHE;CYRILLIC CAPITAL LETTER TSHE
+040C;;CYRILLIC CAPITAL LETTER KJE;\CYRKJE=\'\CYRK: absent in T2/X2
+040D;;CYRILLIC CAPITAL LETTER I WITH GRAVE;new,macedonian
+040E;\CYRUSHRT;CYRILLIC CAPITAL LETTER SHORT U
+040F;\CYRDZHE;CYRILLIC CAPITAL LETTER DZHE
+0410;\CYRA;CYRILLIC CAPITAL LETTER A
+0411;\CYRB;CYRILLIC CAPITAL LETTER BE
+0412;\CYRV;CYRILLIC CAPITAL LETTER VE
+0413;\CYRG;CYRILLIC CAPITAL LETTER GHE
+0414;\CYRD;CYRILLIC CAPITAL LETTER DE
+0415;\CYRE;CYRILLIC CAPITAL LETTER IE
+0416;\CYRZH;CYRILLIC CAPITAL LETTER ZHE
+0417;\CYRZ;CYRILLIC CAPITAL LETTER ZE
+0418;\CYRI;CYRILLIC CAPITAL LETTER I
+0419;\CYRISHRT;CYRILLIC CAPITAL LETTER SHORT I
+041A;\CYRK;CYRILLIC CAPITAL LETTER KA
+041B;\CYRL;CYRILLIC CAPITAL LETTER EL
+041C;\CYRM;CYRILLIC CAPITAL LETTER EM
+041D;\CYRN;CYRILLIC CAPITAL LETTER EN
+041E;\CYRO;CYRILLIC CAPITAL LETTER O
+041F;\CYRP;CYRILLIC CAPITAL LETTER PE
+0420;\CYRR;CYRILLIC CAPITAL LETTER ER
+0421;\CYRS;CYRILLIC CAPITAL LETTER ES
+0422;\CYRT;CYRILLIC CAPITAL LETTER TE
+0423;\CYRU;CYRILLIC CAPITAL LETTER U
+0424;\CYRF;CYRILLIC CAPITAL LETTER EF
+0425;\CYRH;CYRILLIC CAPITAL LETTER HA
+0426;\CYRC;CYRILLIC CAPITAL LETTER TSE
+0427;\CYRCH;CYRILLIC CAPITAL LETTER CHE
+0428;\CYRSH;CYRILLIC CAPITAL LETTER SHA
+0429;\CYRSHCH;CYRILLIC CAPITAL LETTER SHCHA
+042A;\CYRHRDSN;CYRILLIC CAPITAL LETTER HARD SIGN
+042B;\CYRERY;CYRILLIC CAPITAL LETTER YERU
+042C;\CYRSFTSN;CYRILLIC CAPITAL LETTER SOFT SIGN
+042D;\CYREREV;CYRILLIC CAPITAL LETTER E
+042E;\CYRYU;CYRILLIC CAPITAL LETTER YU
+042F;\CYRYA;CYRILLIC CAPITAL LETTER YA
+0430;\cyra;CYRILLIC SMALL LETTER A
+0431;\cyrb;CYRILLIC SMALL LETTER BE
+0432;\cyrv;CYRILLIC SMALL LETTER VE
+0433;\cyrg;CYRILLIC SMALL LETTER GHE
+0434;\cyrd;CYRILLIC SMALL LETTER DE
+0435;\cyre;CYRILLIC SMALL LETTER IE
+0436;\cyrzh;CYRILLIC SMALL LETTER ZHE
+0437;\cyrz;CYRILLIC SMALL LETTER ZE
+0438;\cyri;CYRILLIC SMALL LETTER I
+0439;\cyrishrt;CYRILLIC SMALL LETTER SHORT I
+043A;\cyrk;CYRILLIC SMALL LETTER KA
+043B;\cyrl;CYRILLIC SMALL LETTER EL
+043C;\cyrm;CYRILLIC SMALL LETTER EM
+043D;\cyrn;CYRILLIC SMALL LETTER EN
+043E;\cyro;CYRILLIC SMALL LETTER O
+043F;\cyrp;CYRILLIC SMALL LETTER PE
+0440;\cyrr;CYRILLIC SMALL LETTER ER
+0441;\cyrs;CYRILLIC SMALL LETTER ES
+0442;\cyrt;CYRILLIC SMALL LETTER TE
+0443;\cyru;CYRILLIC SMALL LETTER U
+0444;\cyrf;CYRILLIC SMALL LETTER EF
+0445;\cyrh;CYRILLIC SMALL LETTER HA
+0446;\cyrc;CYRILLIC SMALL LETTER TSE
+0447;\cyrch;CYRILLIC SMALL LETTER CHE
+0448;\cyrsh;CYRILLIC SMALL LETTER SHA
+0449;\cyrshch;CYRILLIC SMALL LETTER SHCHA
+044A;\cyrhrdsn;CYRILLIC SMALL LETTER HARD SIGN
+044B;\cyrery;CYRILLIC SMALL LETTER YERU
+044C;\cyrsftsn;CYRILLIC SMALL LETTER SOFT SIGN
+044D;\cyrerev;CYRILLIC SMALL LETTER E
+044E;\cyryu;CYRILLIC SMALL LETTER YU
+044F;\cyrya;CYRILLIC SMALL LETTER YA
+0450;;CYRILLIC SMALL LETTER IE WITH GRAVE;new,macedonian
+0451;\cyryo;CYRILLIC SMALL LETTER IO
+0452;\cyrdje;CYRILLIC SMALL LETTER DJE
+0453;;CYRILLIC SMALL LETTER GJE;\cyrgje=\'\cyrg: absent in T2/X2
+0454;\cyrie;CYRILLIC SMALL LETTER UKRAINIAN IE
+0455;\cyrdze;CYRILLIC SMALL LETTER DZE;like latin s
+0456;\cyrii;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;like latin i
+0457;\cyryi;CYRILLIC SMALL LETTER YI
+0458;\cyrje;CYRILLIC SMALL LETTER JE;like latin j
+0459;\cyrlje;CYRILLIC SMALL LETTER LJE
+045A;\cyrnje;CYRILLIC SMALL LETTER NJE
+045B;\cyrtshe;CYRILLIC SMALL LETTER TSHE
+045C;;CYRILLIC SMALL LETTER KJE;\cyrkje=\'\cyrk: absent in T2/X2
+045D;;CYRILLIC SMALL LETTER I WITH GRAVE;new,macedonian
+045E;\cyrushrt;CYRILLIC SMALL LETTER SHORT U
+045F;\cyrdzhe;CYRILLIC SMALL LETTER DZHE
+0460;\CYROMEGA;CYRILLIC CAPITAL LETTER OMEGA;new
+0461;\cyromega;CYRILLIC SMALL LETTER OMEGA;new
+0462;\CYRYAT;CYRILLIC CAPITAL LETTER YAT
+0463;\cyryat;CYRILLIC SMALL LETTER YAT
+0464;\CYRIOTE;CYRILLIC CAPITAL LETTER IOTIFIED E;new
+0465;\cyriote;CYRILLIC SMALL LETTER IOTIFIED E;new
+0466;\CYRLYUS;CYRILLIC CAPITAL LETTER LITTLE YUS;new
+0467;\cyrlyus;CYRILLIC SMALL LETTER LITTLE YUS;new
+0468;\CYRIOTLYUS;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;new
+0469;\cyriotlyus;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;new
+046A;\CYRBYUS;CYRILLIC CAPITAL LETTER BIG YUS
+046B;\cyrbyus;CYRILLIC SMALL LETTER BIG YUS
+046C;\CYRIOTBYUS;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;new
+046D;\cyriotbyus;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;new
+046E;\CYRKSI;CYRILLIC CAPITAL LETTER KSI;new
+046F;\cyrksi;CYRILLIC SMALL LETTER KSI;new
+0470;\CYRPSI;CYRILLIC CAPITAL LETTER PSI;new
+0471;\cyrpsi;CYRILLIC SMALL LETTER PSI;new
+0472;\CYRFITA;CYRILLIC CAPITAL LETTER FITA
+0473;\cyrfita;CYRILLIC SMALL LETTER FITA
+0474;\CYRIZH;CYRILLIC CAPITAL LETTER IZHITSA
+0475;\cyrizh;CYRILLIC SMALL LETTER IZHITSA
+0476;;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0477;;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0478;\CYRUK;CYRILLIC CAPITAL LETTER UK;new
+0479;\cyruk;CYRILLIC SMALL LETTER UK;new
+047A;\CYROMEGARND;CYRILLIC CAPITAL LETTER ROUND OMEGA;new
+047B;\cyromegarnd;CYRILLIC SMALL LETTER ROUND OMEGA;new
+047C;\CYROMEGATITLO;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;new
+047D;\cyromegatitlo;CYRILLIC SMALL LETTER OMEGA WITH TITLO;new
+047E;\CYROT;CYRILLIC CAPITAL LETTER OT;new
+047F;\cyrot;CYRILLIC SMALL LETTER OT;new
+0480;\CYRKOPPA;CYRILLIC CAPITAL LETTER KOPPA;new
+0481;\cyrkoppa;CYRILLIC SMALL LETTER KOPPA;new
+0482;\cyrthousands;CYRILLIC THOUSANDS SIGN;new
+0483;;COMBINING CYRILLIC TITLO
+0484;;COMBINING CYRILLIC PALATALIZATION
+0485;;COMBINING CYRILLIC DASIA PNEUMATA
+0486;;COMBINING CYRILLIC PSILI PNEUMATA
+0488;\cyrhundredthousands;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;new
+0489;\cyrmillions;COMBINING CYRILLIC MILLIONS SIGN;new
+048C;\CYRSEMISFTSN;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;new,kildin sami
+048D;\cyrsemisftsn;CYRILLIC SMALL LETTER SEMISOFT SIGN;new,kildin sami
+048E;\CYRRTICK;CYRILLIC CAPITAL LETTER ER WITH TICK;new,kildin sami
+048F;\cyrrtick;CYRILLIC SMALL LETTER ER WITH TICK;new,kildin sami
+0490;\CYRGUP;CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0491;\cyrgup;CYRILLIC SMALL LETTER GHE WITH UPTURN
+0492;\CYRGHCRS;CYRILLIC CAPITAL LETTER GHE WITH STROKE
+0493;\cyrghcrs;CYRILLIC SMALL LETTER GHE WITH STROKE
+0494;\CYRGHK;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+0495;\cyrghk;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0496;\CYRZHDSC;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0497;\cyrzhdsc;CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0498;\CYRZDSC;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0499;\cyrzdsc;CYRILLIC SMALL LETTER ZE WITH DESCENDER
+049A;\CYRKDSC;CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+049B;\cyrkdsc;CYRILLIC SMALL LETTER KA WITH DESCENDER
+049C;\CYRKVCRS;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+049D;\cyrkvcrs;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049E;\CYRKHCRS;CYRILLIC CAPITAL LETTER KA WITH STROKE
+049F;\cyrkhcrs;CYRILLIC SMALL LETTER KA WITH STROKE
+04A0;\CYRKBEAK;CYRILLIC CAPITAL LETTER BASHKIR KA
+04A1;\cyrkbeak;CYRILLIC SMALL LETTER BASHKIR KA
+04A2;\CYRNDSC;CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04A3;\cyrndsc;CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A4;\CYRNG;CYRILLIC CAPITAL LIGATURE EN GHE
+04A5;\cyrng;CYRILLIC SMALL LIGATURE EN GHE
+04A6;\CYRPHK;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+04A7;\cyrphk;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A8;\CYRABHHA;CYRILLIC CAPITAL LETTER ABKHASIAN HA
+04A9;\cyrabhha;CYRILLIC SMALL LETTER ABKHASIAN HA
+04AA;\CYRSDSC;CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+04AB;\cyrsdsc;CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AC;\CYRTDSC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+04AD;\cyrtdsc;CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AE;\CYRY;CYRILLIC CAPITAL LETTER STRAIGHT U
+04AF;\cyry;CYRILLIC SMALL LETTER STRAIGHT U
+04B0;\CYRYHCRS;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+04B1;\cyryhcrs;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B2;\CYRHDSC;CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04B3;\cyrhdsc;CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B4;\CYRTETSE;CYRILLIC CAPITAL LIGATURE TE TSE
+04B5;\cyrtetse;CYRILLIC SMALL LIGATURE TE TSE
+04B6;\CYRCHRDSC;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04B7;\cyrchrdsc;CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B8;\CYRCHVCRS;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+04B9;\cyrchvcrs;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04BA;\CYRSHHA;CYRILLIC CAPITAL LETTER SHHA
+04BB;\cyrshha;CYRILLIC SMALL LETTER SHHA
+04BC;\CYRABHCH;CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BD;\cyrabhch;CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BE;\CYRABHCHDSC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+04BF;\cyrabhchdsc;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04C0;\CYRpalochka;CYRILLIC LETTER PALOCHKA
+04C1;;CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+04C2;;CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C3;\CYRKHK;CYRILLIC CAPITAL LETTER KA WITH HOOK
+04C4;\cyrkhk;CYRILLIC SMALL LETTER KA WITH HOOK
+04C7;\CYRNHK;CYRILLIC CAPITAL LETTER EN WITH HOOK
+04C8;\cyrnhk;CYRILLIC SMALL LETTER EN WITH HOOK
+04CB;\CYRCHLDSC;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04CC;\cyrchldsc;CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04D0;;CYRILLIC CAPITAL LETTER A WITH BREVE
+04D1;;CYRILLIC SMALL LETTER A WITH BREVE
+04D2;;CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D3;;CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D4;\CYRAE;CYRILLIC CAPITAL LIGATURE A IE
+04D5;\cyrae;CYRILLIC SMALL LIGATURE A IE
+04D6;;CYRILLIC CAPITAL LETTER IE WITH BREVE
+04D7;;CYRILLIC SMALL LETTER IE WITH BREVE
+04D8;\CYRSCHWA;CYRILLIC CAPITAL LETTER SCHWA
+04D9;\cyrschwa;CYRILLIC SMALL LETTER SCHWA
+04DA;;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04DB;;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DC;;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DD;;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DE;;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04DF;;CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04E0;\CYRABHDZE;CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+04E1;\cyrabhdze;CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E2;;CYRILLIC CAPITAL LETTER I WITH MACRON
+04E3;;CYRILLIC SMALL LETTER I WITH MACRON
+04E4;;CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+04E5;;CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E6;;CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E7;;CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E8;\CYROTLD;CYRILLIC CAPITAL LETTER BARRED O
+04E9;\cyrotld;CYRILLIC SMALL LETTER BARRED O
+04EA;;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04EB;;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EC;;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;new,kildin sami
+04ED;;CYRILLIC SMALL LETTER E WITH DIAERESIS;new,kildin sami
+04EE;;CYRILLIC CAPITAL LETTER U WITH MACRON
+04EF;;CYRILLIC SMALL LETTER U WITH MACRON
+04F0;;CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F1;;CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F2;;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F3;;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F4;;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F5;;CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F8;;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04F9;;CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+2116;\textnumero;NUMERO SIGN
+2329;\cyrlangle;LEFT-POINTING ANGLE BRACKET
+232A;\cyrrangle;RIGHT-POINTING ANGLE BRACKET
+;\CYRDELTA;CYRILLIC CAPITAL LETTER DELTA
+;\CYREPS;CYRILLIC CAPITAL LETTER EPSILON
+;\CYRGDSC;CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+;\CYRGDSCHCRS;CYRILLIC CAPITAL LETTER GHE WITH STROKE AND DESCENDER
+;\CYRHHCRS;CYRILLIC CAPITAL LETTER HA WITH STROKE
+;\CYRHHK;CYRILLIC CAPITAL LETTER HA WITH HOOK
+;\CYRISHRTDSC;CYRILLIC CAPITAL LETTER SHORT I WITH DESCENDER
+;\CYRLDSC;CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+;\CYRLHK;CYRILLIC CAPITAL LETTER EL WITH HOOK
+;\CYRMDSC;CYRILLIC CAPITAL LETTER EM WITH DESCENDER
+;\CYRMHK;CYRILLIC CAPITAL LETTER EM WITH HOOK
+;\CYRNLHK;CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
+;\CYRQ;CYRILLIC CAPITAL LETTER Q;like latin Q
+;\CYRRDSC;CYRILLIC CAPITAL LETTER ER WITH DESCENDER
+;\CYRRHK;CYRILLIC CAPITAL LETTER ER WITH HOOK
+;\CYRSACRS;CYRILLIC CAPITAL LETTER ES WITH STROKE
+;\CYRW;CYRILLIC CAPITAL LETTER W;like latin W
+;\cyrdelta;CYRILLIC SMALL LETTER DELTA
+;\cyreps;CYRILLIC SMALL LETTER EPSILON
+;\cyrgdsc;CYRILLIC SMALL LETTER GHE WITH DESCENDER
+;\cyrgdschcrs;CYRILLIC SMALL LETTER GHE WITH STROKE AND DESCENDER
+;\cyrhhcrs;CYRILLIC SMALL LETTER HA WITH STROKE
+;\cyrhhk;CYRILLIC SMALL LETTER HA WITH HOOK
+;\cyrishrtdsc;CYRILLIC CAPITAL LETTER SHORT I WITH DESCENDER
+;\cyrldsc;CYRILLIC SMALL LETTER EL WITH DESCENDER
+;\cyrlhk;CYRILLIC SMALL LETTER EL WITH HOOK
+;\cyrmdsc;CYRILLIC SMALL LETTER EM WITH DESCENDER
+;\cyrmhk;CYRILLIC SMALL LETTER EM WITH HOOK
+;\cyrnlhk;CYRILLIC SMALL LETTER EN WITH LEFT HOOK
+;\cyrq;CYRILLIC SMALL LETTER Q;like latin q
+;\cyrrdsc;CYRILLIC SMALL LETTER ER WITH DESCENDER
+;\cyrrhk;CYRILLIC SMALL LETTER ER WITH HOOK
+;\cyrsacrs;CYRILLIC SMALL LETTER ES WITH STROKE
+;\cyrw;CYRILLIC SMALL LETTER W;like latin w
+;\cyrdash;CYRILLIC EM DASH
+F6C4;\cyrvarg;CYRILLIC SMALL LETTER GHE VARIANT;absent in T2/X2
+F6C5;\cyrvarb;CYRILLIC SMALL LETTER BE VARIANT;absent in T2/X2
+F6C6;\cyrvard;CYRILLIC SMALL LETTER DE VARIANT;absent in T2/X2
+F6C7;\cyrvarp;CYRILLIC SMALL LETTER PE VARIANT;absent in T2/X2
+F6C8;\cyrvart;CYRILLIC SMALL LETTER TE VARIANT;absent in T2/X2
+F6D1;\U;CAPITAL CYRILLIC BREVE
+F6D2;\f;CAPITAL CYRILLIC CIRCUMFLEX
+F6D3;\C;CAPITAL DOUBLE GRAVE ACCENT
+F6D4;\U;CYRILLIC BREVE
+F6D5;\f;CYRILLIC CIRCUMFLEX
+F6D6;\C;DOUBLE GRAVE ACCENT
diff --git a/macros/latex/contrib/t2/enc-maps/t2lat.txt b/macros/latex/contrib/t2/enc-maps/t2lat.txt
new file mode 100644
index 0000000000..171b6f4f2b
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/t2lat.txt
@@ -0,0 +1,130 @@
+0021;;EXCLAMATION MARK
+0022;;QUOTATION MARK
+0023;;NUMBER SIGN
+0024;\textdollar;DOLLAR SIGN
+0025;;PERCENT SIGN
+0026;;AMPERSAND
+0027;\textquoteright;APOSTROPHE
+0028;;LEFT PARENTHESIS
+0029;;RIGHT PARENTHESIS
+002A;;ASTERISK
+002B;;PLUS SIGN
+002C;;COMMA
+002D;;HYPHEN-MINUS
+002E;;FULL STOP
+002F;;SOLIDUS
+0030;;DIGIT ZERO
+0031;;DIGIT ONE
+0032;;DIGIT TWO
+0033;;DIGIT THREE
+0034;;DIGIT FOUR
+0035;;DIGIT FIVE
+0036;;DIGIT SIX
+0037;;DIGIT SEVEN
+0038;;DIGIT EIGHT
+0039;;DIGIT NINE
+003A;;COLON
+003B;;SEMICOLON
+003C;\textless;LESS-THAN SIGN
+003D;;EQUALS SIGN
+003E;\textgreater;GREATER-THAN SIGN
+003F;;QUESTION MARK
+0040;;COMMERCIAL AT
+0041;;LATIN CAPITAL LETTER A
+0042;;LATIN CAPITAL LETTER B
+0043;;LATIN CAPITAL LETTER C
+0044;;LATIN CAPITAL LETTER D
+0045;;LATIN CAPITAL LETTER E
+0046;;LATIN CAPITAL LETTER F
+0047;;LATIN CAPITAL LETTER G
+0048;;LATIN CAPITAL LETTER H
+0049;;LATIN CAPITAL LETTER I
+004A;;LATIN CAPITAL LETTER J
+004B;;LATIN CAPITAL LETTER K
+004C;;LATIN CAPITAL LETTER L
+004D;;LATIN CAPITAL LETTER M
+004E;;LATIN CAPITAL LETTER N
+004F;;LATIN CAPITAL LETTER O
+0050;;LATIN CAPITAL LETTER P
+0051;;LATIN CAPITAL LETTER Q
+0052;;LATIN CAPITAL LETTER R
+0053;;LATIN CAPITAL LETTER S
+0054;;LATIN CAPITAL LETTER T
+0055;;LATIN CAPITAL LETTER U
+0056;;LATIN CAPITAL LETTER V
+0057;;LATIN CAPITAL LETTER W
+0058;;LATIN CAPITAL LETTER X
+0059;;LATIN CAPITAL LETTER Y
+005A;;LATIN CAPITAL LETTER Z
+005B;;LEFT SQUARE BRACKET
+005C;\textbackslash;REVERSE SOLIDUS
+005D;;RIGHT SQUARE BRACKET
+005E;\textasciicircum;CIRCUMFLEX ACCENT
+005F;\textunderscore;LOW LINE
+0060;\`;GRAVE ACCENT
+0061;;LATIN SMALL LETTER A
+0062;;LATIN SMALL LETTER B
+0063;;LATIN SMALL LETTER C
+0064;;LATIN SMALL LETTER D
+0065;;LATIN SMALL LETTER E
+0066;;LATIN SMALL LETTER F
+0067;;LATIN SMALL LETTER G
+0068;;LATIN SMALL LETTER H
+0069;;LATIN SMALL LETTER I
+006A;;LATIN SMALL LETTER J
+006B;;LATIN SMALL LETTER K
+006C;;LATIN SMALL LETTER L
+006D;;LATIN SMALL LETTER M
+006E;;LATIN SMALL LETTER N
+006F;;LATIN SMALL LETTER O
+0070;;LATIN SMALL LETTER P
+0071;;LATIN SMALL LETTER Q
+0072;;LATIN SMALL LETTER R
+0073;;LATIN SMALL LETTER S
+0074;;LATIN SMALL LETTER T
+0075;;LATIN SMALL LETTER U
+0076;;LATIN SMALL LETTER V
+0077;;LATIN SMALL LETTER W
+0078;;LATIN SMALL LETTER X
+0079;;LATIN SMALL LETTER Y
+007A;;LATIN SMALL LETTER Z
+007B;\textbraceleft;LEFT CURLY BRACKET
+007C;\textbar;VERTICAL LINE
+007D;\textbraceright;RIGHT CURLY BRACKET
+007E;\textasciitilde;TILDE
+00A4;\textcurrency;CURRENCY SIGN
+00A7;\textsection;SECTION SIGN
+00A8;\";DIAERESIS
+00AB;\guillemotleft;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00AF;\=;MACRON
+00B4;\';ACUTE ACCENT
+00B8;;CEDILLA
+00BB;\guillemotright;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0131;\i;LATIN SMALL LETTER DOTLESS I
+02C6;\^;MODIFIER LETTER CIRCUMFLEX ACCENT
+02C7;\v;CARON
+02D8;\u;BREVE
+02D9;\.;DOT ABOVE
+02DA;\r;RING ABOVE
+02DB;;OGONEK
+02DC;\~;SMALL TILDE
+02DD;\H;DOUBLE ACUTE ACCENT
+2013;\textendash;EN DASH
+2014;\textemdash;EM DASH
+2018;\textquoteleft;LEFT SINGLE QUOTATION MARK
+2019;\textquoteright;RIGHT SINGLE QUOTATION MARK
+201C;\textquotedblleft;LEFT DOUBLE QUOTATION MARK
+201D;\textquotedblright;RIGHT DOUBLE QUOTATION MARK
+201E;\quotedblbase;DOUBLE LOW-9 QUOTATION MARK
+2080;;SUBSCRIPT ZERO
+2423;\textvisiblespace;OPEN BOX
+;;PERTHOUSAND ZERO
+;\textcompwordmark;COMPOUND WORD MARK
+;\j;LATIN SMALL LETTER DOTLESS J
+;\textvisiblespace;BLANK-SPACE SIGN
+FB00;;LATIN SMALL LIGATURE FF
+FB01;;LATIN SMALL LIGATURE FI
+FB02;;LATIN SMALL LIGATURE FL
+FB03;;LATIN SMALL LIGATURE FFI
+FB04;;LATIN SMALL LIGATURE FFL
+FEFF;\textcompwordmark;ZERO WIDTH NO-BREAK SPACE
diff --git a/macros/latex/contrib/t2/enc-maps/urwcyr.txt b/macros/latex/contrib/t2/enc-maps/urwcyr.txt
new file mode 100644
index 0000000000..218a6532f2
--- /dev/null
+++ b/macros/latex/contrib/t2/enc-maps/urwcyr.txt
@@ -0,0 +1,95 @@
+0401;cyrYEdieresis;CYRILLIC CAPITAL LETTER IO
+0402;cyrTY;CYRILLIC CAPITAL LETTER DJE
+0403;cyrGacute;CYRILLIC CAPITAL LETTER GJE
+0404;cyrsovYE;CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0405;cyrDZ;CYRILLIC CAPITAL LETTER DZE
+0406;cyrsovI;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0407;cyrsovIdieresis;CYRILLIC CAPITAL LETTER YI
+0408;cyrJ;CYRILLIC CAPITAL LETTER JE
+0409;cyrLY;CYRILLIC CAPITAL LETTER LJE
+040A;cyrNY;CYRILLIC CAPITAL LETTER NJE
+040B;cyrDY;CYRILLIC CAPITAL LETTER TSHE
+040C;cyrKacute;CYRILLIC CAPITAL LETTER KJE
+040E;cyrUbreve;CYRILLIC CAPITAL LETTER SHORT U
+040F;cyrDZH;CYRILLIC CAPITAL LETTER DZHE
+0410;cyrA;CYRILLIC CAPITAL LETTER A
+0411;cyrB;CYRILLIC CAPITAL LETTER BE
+0412;cyrV;CYRILLIC CAPITAL LETTER VE
+0413;cyrG;CYRILLIC CAPITAL LETTER GHE
+0414;cyrD;CYRILLIC CAPITAL LETTER DE
+0415;cyrYE;CYRILLIC CAPITAL LETTER IE
+0416;cyrZH;CYRILLIC CAPITAL LETTER ZHE
+0417;cyrZ;CYRILLIC CAPITAL LETTER ZE
+0418;cyrI;CYRILLIC CAPITAL LETTER I
+0419;cyrIbreve;CYRILLIC CAPITAL LETTER SHORT I
+041A;cyrK;CYRILLIC CAPITAL LETTER KA
+041B;cyrL;CYRILLIC CAPITAL LETTER EL
+041C;cyrM;CYRILLIC CAPITAL LETTER EM
+041D;cyrN;CYRILLIC CAPITAL LETTER EN
+041E;cyrO;CYRILLIC CAPITAL LETTER O
+041F;cyrP;CYRILLIC CAPITAL LETTER PE
+0420;cyrR;CYRILLIC CAPITAL LETTER ER
+0421;cyrS;CYRILLIC CAPITAL LETTER ES
+0422;cyrT;CYRILLIC CAPITAL LETTER TE
+0423;cyrU;CYRILLIC CAPITAL LETTER U
+0424;cyrF;CYRILLIC CAPITAL LETTER EF
+0425;cyrKH;CYRILLIC CAPITAL LETTER HA
+0426;cyrTS;CYRILLIC CAPITAL LETTER TSE
+0427;cyrCH;CYRILLIC CAPITAL LETTER CHE
+0428;cyrSH;CYRILLIC CAPITAL LETTER SHA
+0429;cyrSHCH;CYRILLIC CAPITAL LETTER SHCHA
+042A;cyrHARDsign;CYRILLIC CAPITAL LETTER HARD SIGN
+042B;cyrYERU;CYRILLIC CAPITAL LETTER YERU
+042C;cyrSOFTsign;CYRILLIC CAPITAL LETTER SOFT SIGN
+042D;cyrE;CYRILLIC CAPITAL LETTER E
+042E;cyrYU;CYRILLIC CAPITAL LETTER YU
+042F;cyrYA;CYRILLIC CAPITAL LETTER YA
+0430;cyra;CYRILLIC SMALL LETTER A
+0431;cyrb;CYRILLIC SMALL LETTER BE
+0432;cyrv;CYRILLIC SMALL LETTER VE
+0433;cyrg;CYRILLIC SMALL LETTER GHE
+0434;cyrd;CYRILLIC SMALL LETTER DE
+0435;cyrye;CYRILLIC SMALL LETTER IE
+0436;cyrzh;CYRILLIC SMALL LETTER ZHE
+0437;cyrz;CYRILLIC SMALL LETTER ZE
+0438;cyri;CYRILLIC SMALL LETTER I
+0439;cyribreve;CYRILLIC SMALL LETTER SHORT I
+043A;cyrk;CYRILLIC SMALL LETTER KA
+043B;cyrl;CYRILLIC SMALL LETTER EL
+043C;cyrm;CYRILLIC SMALL LETTER EM
+043D;cyrn;CYRILLIC SMALL LETTER EN
+043E;cyro;CYRILLIC SMALL LETTER O
+043F;cyrp;CYRILLIC SMALL LETTER PE
+0440;cyrr;CYRILLIC SMALL LETTER ER
+0441;cyrs;CYRILLIC SMALL LETTER ES
+0442;cyrt;CYRILLIC SMALL LETTER TE
+0443;cyru;CYRILLIC SMALL LETTER U
+0444;cyrf;CYRILLIC SMALL LETTER EF
+0445;cyrkh;CYRILLIC SMALL LETTER HA
+0446;cyrts;CYRILLIC SMALL LETTER TSE
+0447;cyrch;CYRILLIC SMALL LETTER CHE
+0448;cyrsh;CYRILLIC SMALL LETTER SHA
+0449;cyrshch;CYRILLIC SMALL LETTER SHCHA
+044A;cyrhardsign;CYRILLIC SMALL LETTER HARD SIGN
+044B;cyryeru;CYRILLIC SMALL LETTER YERU
+044C;cyrsoftsign;CYRILLIC SMALL LETTER SOFT SIGN
+044D;cyre;CYRILLIC SMALL LETTER E
+044E;cyryu;CYRILLIC SMALL LETTER YU
+044F;cyrya;CYRILLIC SMALL LETTER YA
+0451;cyryedieresis;CYRILLIC SMALL LETTER IO
+0452;cyrty;CYRILLIC SMALL LETTER DJE
+0453;cyrgacute;CYRILLIC SMALL LETTER GJE
+0454;cyrsovye;CYRILLIC SMALL LETTER UKRAINIAN IE
+0455;cyrdz;CYRILLIC SMALL LETTER DZE
+0456;cyrsovi;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0457;cyrsovidieresis;CYRILLIC SMALL LETTER YI
+0458;cyrj;CYRILLIC SMALL LETTER JE
+0459;cyrly;CYRILLIC SMALL LETTER LJE
+045A;cyrny;CYRILLIC SMALL LETTER NJE
+045B;cyrdy;CYRILLIC SMALL LETTER TSHE
+045C;cyrkacute;CYRILLIC SMALL LETTER KJE
+045E;cyrubreve;CYRILLIC SMALL LETTER SHORT U
+045F;cyrdzh;CYRILLIC SMALL LETTER DZHE
+0490;cyrsovG;CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0491;cyrsovg;CYRILLIC SMALL LETTER GHE WITH UPTURN
+2116;numero;NUMERO SIGN
diff --git a/macros/latex/contrib/t2/etc/amsppt.diff b/macros/latex/contrib/t2/etc/amsppt.diff
new file mode 100644
index 0000000000..ce07487559
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/amsppt.diff
@@ -0,0 +1,61 @@
+--- amsppt.sty.orig Sun Feb 2 19:41:23 1997
++++ amsppt.sty Tue Oct 20 12:11:07 1998
+@@ -119,21 +119,21 @@
+ \expandafter\ifx\first@#1-\end-\empty@ \false@\else \true@\fi}
+ \endgroup
+ \message{more fonts,}
+-\font@\tensmc=cmcsc10 \relax
++\font@\tensmc=\fontprefix csc10 \relax
+ \let\sevenex=\tenex % needs special handling in \PSAMSFonts
+-\font@\sevenit=cmti7 \relax
+-\font@\eightrm=cmr8 \relax % preloaded in plain.tex
+-\font@\sixrm=cmr6 \relax % preloaded in plain.tex
++\font@\sevenit=\fontprefix ti7 \relax
++\font@\eightrm=\fontprefix r8 \relax % preloaded in plain.tex
++\font@\sixrm=\fontprefix r6 \relax % preloaded in plain.tex
+ \font@\eighti=cmmi8 \relax \skewchar\eighti='177 % preloaded
+ \font@\sixi=cmmi6 \relax \skewchar\sixi='177 % preloaded
+ \font@\eightsy=cmsy8 \relax \skewchar\eightsy='60 % preloaded
+ \font@\sixsy=cmsy6 \relax \skewchar\sixsy='60 % preloaded
+ \let\eightex=\tenex % needs special handling in \PSAMSFonts
+-\font@\eightbf=cmbx8 \relax % preloaded in plain.tex
+-\font@\sixbf=cmbx6 \relax % preloaded in plain.tex
+-\font@\eightit=cmti8 \relax % preloaded in plain.tex
+-\font@\eightsl=cmsl8 \relax % preloaded in plain.tex
+-\font@\eighttt=cmtt8 \relax % preloaded in plain.tex
++\font@\eightbf=\fontprefix bx8 \relax % preloaded in plain.tex
++\font@\sixbf=\fontprefix bx6 \relax % preloaded in plain.tex
++\font@\eightit=\fontprefix ti8 \relax % preloaded in plain.tex
++\font@\eightsl=\fontprefix sl8 \relax % preloaded in plain.tex
++\font@\eighttt=\fontprefix tt8 \relax % preloaded in plain.tex
+ \let\eightsmc=\nullfont % needs special handling in \PSAMSFonts
+ \newtoks\tenpoint@
+ \def\tenpoint{\normalbaselineskip12\p@
+@@ -223,7 +223,7 @@
+ \else\ifnum##3=8 10 at8pt%
+ \else\ifnum##3=6 7 at6pt%
+ \else ##3\fi\fi\fi\relax}%
+- \font@\eightsmc=cmcsc10 at 8pt
++ \font@\eightsmc=\fontprefix csc10 at 8pt
+ \font@\eightex=cmex10 at 8pt
+ \font@\sevenex=cmex10 at 7pt
+ \PSAMSFontstrue
+@@ -266,7 +266,7 @@
+ \let\loadextrafonts@\empty@
+ \ifPSAMSFonts
+ \else
+- \font@\eightsmc=cmcsc8 \relax
++ \font@\eightsmc=\fontprefix csc8 \relax
+ \font@\eightex=cmex8 \relax
+ \font@\sevenex=cmex7 \relax
+ \fi
+@@ -936,7 +936,8 @@
+ \def\vadjust##1{\holdover{\vadjust@{##1}}}%
+ \def\newpage{\vadjust{\vfill\break}}%
+ }
+-\def\refstyle#1{\uppercase{%
++\ifx\@uppercase\undefined\let\@uppercase\uppercase\fi
++\def\refstyle#1{\@uppercase{%
+ \gdef\refstyle@{#1}%
+ \if#1A\relax \def\keyformat##1{[##1]\enspace\hfil}%
+ \else\if#1B\relax
diff --git a/macros/latex/contrib/t2/etc/citehack.sty b/macros/latex/contrib/t2/etc/citehack.sty
new file mode 100644
index 0000000000..4e44dc5417
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/citehack.sty
@@ -0,0 +1,88 @@
+% This is the file citehack.sty of the T2 package.
+%
+% Allow inputenc-generated characters as references in \cite and \bibitem.
+% Also in \label and \ref.
+
+\ProvidesPackage{citehack}
+
+\let\org@IeC\IeC
+\def\tmp@IeC#1{\string\IeC\space{\string#1 }}
+
+% This is a modified \@bibitem command;
+% we added \let\protect\noexpand, like in \@lbibitem,
+% because the item may include, e.g., \IeC {...}
+% or some other protected commands.
+\def\@bibitem#1{\item\if@filesw {\let\protect\noexpand\immediate\write\@auxout
+ {\string\bibcite{#1}{\the\value{\@listctr}}}}\fi\ignorespaces}
+%\def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw
+% {\let\protect\noexpand\let\IeC\tmp@IeC
+% \immediate
+% \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+%\def\@bibitem#1{\item\if@filesw \let\IeC\tmp@IeC\immediate\write\@auxout
+% {\string\bibcite{#1}{\the\value{\@listctr}}}\let\IeC\org@IeC\fi\ignorespaces}
+
+\def\@citex[#1]#2{\let\IeC\tmp@IeC\edef\CH@temp{#2}\let\IeC\org@IeC
+ \let\@citea\@empty
+ \@cite{\@for\@citeb:=\CH@temp\do
+ {\@citea\def\@citea{,\penalty\@m\ }%
+ \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}%
+ \G@refundefinedtrue
+ \@latex@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}
+
+\def\nocite#1{\@bsphack
+ \let\IeC\tmp@IeC\edef\CH@temp{#1}\let\IeC\org@IeC
+ \@for\@citeb:=\CH@temp\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
+ \@ifundefined{b@\@citeb}{\G@refundefinedtrue
+ \@latex@warning{Citation `\@citeb' undefined}}{}}%
+ \@esphack}
+
+\def\@newl@bel#1#2#3{\let\IeC\tmp@IeC
+ \@ifundefined{#1@#2}%
+ \relax
+ {\gdef \@multiplelabels {%
+ \@latex@warning@no@line{There were multiply-defined labels}}%
+ \@latex@warning@no@line{Label `#2' multiply defined}}%
+ \global\@namedef{#1@#2}{#3}\let\IeC\org@IeC}
+
+% This is a modified \@testdef command taken from Babel:
+\def\@testdef #1#2#3{%
+ \let\IeC\tmp@IeC
+ \expandafter\let\expandafter\bbl@tempa\csname #1@#2\endcsname
+ \def\bbl@tempb{#3}%
+ \ifx\bbl@tempa\relax\else
+ \edef\bbl@tempa{\expandafter\strip@prefix\meaning\bbl@tempa}\fi
+ \edef\bbl@tempb{\expandafter\strip@prefix\meaning\bbl@tempb}%
+ \ifx \bbl@tempa \bbl@tempb
+ \else \@tempswatrue \fi\let\IeC\org@IeC}
+
+% \ref, \pageref and \label support:
+\DeclareRobustCommand\ref[1]{\let\IeC\tmp@IeC
+ \expandafter\let\expandafter\CH@temp\csname r@#1\endcsname
+ \let\IeC\org@IeC\@setref\CH@temp\@firstoftwo{#1}}
+\DeclareRobustCommand\pageref[1]{\let\IeC\tmp@IeC
+ \expandafter\let\expandafter\CH@temp\csname r@#1\endcsname
+ \let\IeC\org@IeC\@setref\CH@temp\@secondoftwo{#1}}
+\def\label#1{\let\IeC\tmp@IeC
+ \@bsphack\protected@write\@auxout{}{\string\newlabel{#1}{{\@currentlabel}{\thepage}}}\@esphack
+ \let\IeC\org@IeC}
+
+% varioref package support:
+\def\vref@pagenum#1#2{\let\IeC\tmp@IeC
+ \@ifundefined{r@#2}{\@namedef{r@#2}{{??}{??}}}{}%
+ \edef#1{\expandafter\expandafter\expandafter
+ \@cdr\csname r@#2\endcsname
+ \@nil}%
+ \let\IeC\org@IeC}
+\def\vrefpagenum#1#2{\let\IeC\tmp@IeC
+ \@ifundefined{r@#2}%
+ {\G@refundefinedtrue
+ \@latex@warning{Reference `#2' on page \thepage \space
+ undefined}}{}%
+ \let\IeC\org@IeC
+ \vref@pagenum{#1}{#2}}
diff --git a/macros/latex/contrib/t2/etc/mathtext.dtx b/macros/latex/contrib/t2/etc/mathtext.dtx
new file mode 100644
index 0000000000..96ba3baa27
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/mathtext.dtx
@@ -0,0 +1,226 @@
+% \iffalse
+%<*driver>
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{mathtext.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \begin{macrocode}
+%<*mathtext>
+\ProvidesPackage{mathtext}
+ [2018/04/13 v1.1 transparent text-and-math defs]
+% \end{macrocode}
+%
+% This stuff is intended to be put into the LaTeX kernel.
+% It adds new NFSS user-level command: |\DeclareTextMathSymbol|.
+% It does not touch in any way the previous behavior for encodings
+% which do not use |\DeclareTextMathSymbol|.
+%
+% The symbols defined via |\DeclareTextMathSymbol| work transparently
+% in both text and math mode. And interestingly, they expand a bit
+% faster than `normal' text-only symbols defined via |\DeclareTextSymbol|.
+%
+% This is a redefinition of the |\@@enc@update| defined in
+% |ltfssbas.dtx|. The only change is that we added updating of
+% new commands like |\T2A-tmcmd| to |\@current@tmcmd| or from
+% |\@changed@tmcmd|. These changes are fully backward-compatible,
+% and do not change the previous behavior.
+% \begin{macrocode}
+\def\@@enc@update{%
+ \expandafter\let\csname\cf@encoding-cmd\endcsname\@changed@cmd
+ \expandafter\let\csname\cf@encoding-tmcmd\endcsname\@changed@tmcmd
+ \expandafter\let\csname\f@encoding-cmd\endcsname\@current@cmd
+ \expandafter\let\csname\f@encoding-tmcmd\endcsname\@current@tmcmd
+ \default@T
+ \csname T@\f@encoding\endcsname
+ \csname D@\f@encoding\endcsname
+ \let\enc@update\relax
+ \let\cf@encoding\f@encoding
+}
+% \end{macrocode}
+% This is a new command, |\@current@tmcmd|, which is an analog of
+% |\@current@cmd| for `text and math' symbols.
+% \begin{macrocode}
+\def\@current@tmcmd#1#2#3{%
+ \ifx\protect\@typeset@protect
+ \@tmchar#2#3%
+ \else
+ \noexpand#1%
+ \fi}
+%<!warn>\def\@tmchar#1#2{\if@mmode#2\else#1\fi}
+%<warn>\def\@tmchar#1#2{\if@mmode\math@warn#2\else#1\fi}
+% \end{macrocode}
+% This is a new command, |\@changed@tmcmd|, which is an analog of
+% |\@changed@cmd| for `text and math' symbols.
+% \begin{macrocode}
+\def\@changed@tmcmd#1#2#3{%
+ \ifx\protect\@typeset@protect
+ \@tmchar@#1%
+ \else
+ \noexpand#1%
+ \fi}
+\def\@tmchar@#1{%
+ \if@mmode
+ \expandafter\ifx\csname\cf@encoding math\string#1\endcsname\relax
+ \expandafter\ifx\csname ?math\string#1\endcsname\relax
+ \expandafter\def\csname ?math\string#1\endcsname{%
+ \TextSymbolUnavailable#1%
+ }%
+ \fi
+ \global\expandafter\let
+ \csname\cf@encoding math\string#1\expandafter\endcsname
+ \csname ?math\string#1\endcsname
+ \fi
+%<!warn> \csname\cf@encoding math\string#1%
+%<warn> \expandafter\math@warn\csname\cf@encoding math\string#1%
+ \expandafter\endcsname
+ \else
+ \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
+ \expandafter\ifx\csname ?\string#1\endcsname\relax
+ \expandafter\def\csname ?\string#1\endcsname{%
+ \TextSymbolUnavailable#1%
+ }%
+ \fi
+ \global\expandafter\let
+ \csname\cf@encoding \string#1\expandafter\endcsname
+ \csname ?\string#1\endcsname
+ \fi
+ \csname\cf@encoding\string#1%
+ \expandafter\endcsname
+ \fi}
+\expandafter\let\csname?-tmcmd\endcsname\@changed@tmcmd
+% \end{macrocode}
+% We should add initialization of |\|\meta{encoding}|-tmcmd|
+% to be |\@changed@tmcmd| when the new encoding is declared.
+% \begin{macrocode}
+\def\DeclareFontEncoding@#1#2#3{%
+ \expandafter
+ \ifx\csname T@#1\endcsname\relax
+ \def\cdp@elt{\noexpand\cdp@elt}%
+ \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
+ {\default@family}{\default@series}%
+ {\default@shape}}%
+ \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
+ \expandafter\let\csname#1-tmcmd\endcsname\@changed@tmcmd
+% \end{macrocode}
+% 2018 addition to load UTF-8 support file (David Carlisle, for latex3 project)
+% \begin{macrocode}
+ \begingroup
+ \wlog{Now handling font encoding #1 ...}%
+ \lowercase{%
+ \InputIfFileExists{#1enc.dfu}}%
+ {\wlog{... processing UTF-8 mapping file for font %
+ encoding #1}}%
+ {\wlog{... no UTF-8 mapping file for font encoding #1}}%
+ \endgroup
+% \end{macrocode}
+% end of 2018 addition
+% \begin{macrocode}
+ \else
+ \@font@info{Redeclaring font encoding #1}%
+ \fi
+ \global\@namedef{T@#1}{#2}%
+ \global\@namedef{M@#1}{\default@M#3}%
+ \xdef\LastDeclaredEncoding{#1}%
+% \end{macrocode}
+% The following command is specific to the |mathtext| package, i.e.\ is
+% not for `generic' transparent text and math: it declares a symbol font
+% (which could then be redefined if necessary), which is needed to use
+% the |\DeclareTextMathSymbol|.
+% \begin{macrocode}
+ \DeclareSymbolFont{#1letters}{#1}\rmdefault\mddefault\updefault
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\DeclareTextMathSymbol}
+% This is a new user-level NFSS macro. It is intended to be moved
+% to |ltoutenc.dtx| or |ltfssdcl.dtx|.
+%
+% It was written by Werner Lemberg |<wl@gnu.org>|.
+%
+% Parameters are: name, encoding, category, math character class,
+% and slot.
+%
+% \begin{macrocode}
+\def\DeclareTextMathSymbol#1#2#3#4#5{%
+ \expandafter\def\expandafter#1%
+ \expandafter{%
+ \csname#2-tmcmd\expandafter\endcsname
+ \expandafter#1%
+ \csname#2\string#1\expandafter\endcsname
+ \csname#2math\string#1\endcsname
+ }%
+ \expandafter\chardef\csname#2\string#1\endcsname#5\relax
+ \expandafter\DeclareMathSymbol\csname#2math\string#1\endcsname
+ {#3}{#4}{#5}}
+\@onlypreamble\DeclareTextMathSymbol
+% \end{macrocode}
+% \end{macro}
+%
+% The next few lines try to solve the following problem: if the first
+% unexpandable token of a cell in |\halign| (or |\valign|) is a Cyrillic
+% letter, then the look-ahead mechanism searching for possible |\omit|
+% will expand the |\ifmmode| test used in definitions of Cyrillic
+% letters, and e.g.~in the case of the |array| environment which
+% switches to math mode, will return wrong result, which will lead to
+% missing character or incorrect result. We use here some hackery and
+% redefine the |\if@mmode| test for the |\halign| and |\valign| commands
+% (as well as these commands). The really correct fix is possible within
+% e-\TeX\ (so, one should make a support do use the best possible solution,
+% and not only in this case). We ensure to execute this code only once,
+% because otherwise an endless loop will arise (e.g. if both T2A and T2B
+% are loaded in one document), because of |\halign| redefinition.
+% \begin{macrocode}
+\let\if@mmode\ifmmode
+% \end{macrocode}
+% This command stops look-ahead (protection is needed to avoid recursive
+% expansion when |\protected@write| is used inside |\halign|):
+% \begin{macrocode}
+\DeclareRobustCommand\reset@if@mmode{\let\if@mmode\ifmmode}
+\def\if@mmode@{\reset@if@mmode\ifmmode}
+\let\org@halign\halign
+\DeclareRobustCommand\halign{\let\if@mmode\if@mmode@\org@halign}
+% \end{macrocode}
+% wait until textcase and amsmath will not use "fake" |\valign| :-)
+% \begin{macrocode}
+%\let\org@valign\valign
+%\DeclareRobustCommand\valign{\let\if@mmode\if@mmode@\org@valign}
+% \end{macrocode}
+% This is needed to make single Cyrillic letters (without braces) work as
+% upper/lower indices (otherwise, |\let| will confuse \TeX). Do we need to
+% set |\everydisplay| similarly (it seems that not)?
+% \begin{macrocode}
+\everymath\expandafter{\the\everymath\let\if@mmode\ifmmode}
+% \end{macrocode}
+% We redefine some \LaTeX{} text-only commands to work `transparently'
+% in text and math mode.
+% \begin{macrocode}
+\def\DeclareTextSymbol#1#2#3{%
+ \DeclareTextMathSymbol#1{#2}\mathalpha{#2letters}{#3}}
+% \end{macrocode}
+% \begin{macro}{\gobble@math}
+% \begin{macro}{\math@warn}
+% These two commands are used for producing warning message
+% if a symbol declared via |\DeclareTextMathSymbol| command occurs in
+% math mode. This can be used e.g.\ to check that such symbols were not
+% used unintentionally in math mode (say, some Cyrillic letter instead
+% of similarly looking Latin letter; in general, Cyrillic letters are
+% perfectly legal and certainly could be used in math mode).
+% \begin{macrocode}
+%<*warn>
+\DeclareOption{warn}{%
+\edef\reserved@a{\@backslashchar##1\expandafter\@gobble
+ \string\math\@backslashchar}%
+\expandafter\def\expandafter\gobble@math\reserved@a{}%
+\def\math@warn#1{#1\PackageWarning{mathtext}{letter
+ `\expandafter\gobble@math\string#1' used in math mode}}}
+\let\math@warn\@empty
+\ProcessOptions*
+%</warn>
+%</mathtext>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+\endinput
diff --git a/macros/latex/contrib/t2/etc/mathtext.ins b/macros/latex/contrib/t2/etc/mathtext.ins
new file mode 100644
index 0000000000..61a532d2de
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/mathtext.ins
@@ -0,0 +1,8 @@
+\input docstrip
+\keepsilent
+
+\generate{
+ \file{mathtext.sty}{\from{mathtext.dtx}{mathtext,warn}}
+}
+
+\endbatchfile
diff --git a/macros/latex/contrib/t2/etc/misccorr.sty b/macros/latex/contrib/t2/etc/misccorr.sty
new file mode 100644
index 0000000000..e82055ec37
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/misccorr.sty
@@ -0,0 +1,309 @@
+% misccorr package
+% Based on `russcorr' by Serge Lvovski and other sources.
+% This package should be used IN ADDITION to BABEL's `russian' option.
+% Mail bug reports, questions, comments, suggestions to vvv@vsu.ru
+\ProvidesPackage{misccorr}[1999/09/23 v0.1
+ misc corrections for russian typesetting]
+
+\newif\if@longtoc
+\DeclareOption{longtoc}{\@longtoctrue}
+\DeclareOption{shorttoc}{\@longtocfalse}
+\newif\if@indentheadings
+\DeclareOption{indentheadings}{\@indentheadingstrue}
+\DeclareOption{noindentheadings}{\@indentheadingsfalse}
+% Note that the default LaTeX behavior is \@longtocfalse
+\ExecuteOptions{longtoc,noindentheadings}
+\ProcessOptions
+
+% \varkappa, \leqslant, \geqslant, etc (in addition to \varepsilon, \varphi)
+\RequirePackage{amssymb}
+
+\RequirePackage{enumerate}[1999/03/05]
+\g@addto@macro\@enhook{%
+ \def\@tempb{\IeC{\CYRA}}%
+ \def\@tempc{\IeC{\cyra}}%
+ \ifx\@tempb\@entemp\def\@tempa{\@enLabel\Asbuk}\fi
+ \ifx\@tempc\@entemp\def\@tempa{\@enLabel\asbuk}\fi}
+
+% lists
+% "" enumerate
+\def\labelenumi{\theenumi)}
+\def\theenumii{\asbuk{enumii}}
+\def\labelenumii{\theenumii)}
+\def\p@enumii{\theenumi}
+\def\labelenumiii{{\bf--}}
+\let\theenumiii\relax
+\def\p@enumiii{\theenumi\theenumii}
+%
+% enumerate ...
+%
+\def\enumerate{\ifnum \@enumdepth >2% 3, 2
+\@toodeep\else
+ \advance\@enumdepth \@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
+ {\csname label\@enumctr\endcsname}{\usecounter
+ {\@enumctr}\def\makelabel##1{\hss\llap{##1}}}\fi}
+%
+% rlist
+% ,
+% \item'
+% ( rlist, rlist[u])
+%
+\@definecounter{rlistctr}
+\newif\if@rlistsnested\@rlistsnestedfalse
+\def\rlist{\@ifnextchar[{\@rlist}{\@rlist[l]}}
+\def\@rlist[#1]{\if u#1\def\@tempa{A}\else\def\@tempa{a}\fi
+ \if@rlistsnested\@toodeep\else
+ \@rlistsnestedtrue
+ \edef\therlistctr{\expandafter\noexpand\csname
+ @\@tempa sbuk\endcsname\noexpand\c@rlistctr}%
+ \list{\labelrlist}{\usecounter
+ {rlistctr}}\fi}
+\let\endrlist\endlist
+\def\labelrlist{\therlistctr)}
+
+% Unfortunately, \@seccntformat is not reflected in toc.
+% Hence, we had to hack up the definition of \@sect a little.
+% In the LaTeX definition of |\@sect| we changed in two places
+% |\numberline{\csname the#1\endcsname}| to
+% |\numberline{\@tocseccntformat{#1}\relax}|
+% and |#7| to |\if@longtoc#8\else#7\fi|.
+% We preferred not to change |\numberline| e.g.
+% |\def\numberline#1{\hb@xt@\@tempdima{#1.\hfil}}|
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2>\c@secnumdepth
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+ \fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup
+ #6{%
+ \@hangfrom{\hskip #3\relax\@svsec}%
+ \interlinepenalty \@M #8\@@par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\@tocseccntformat{#1}\relax}%
+ \fi
+ \if@longtoc#8\else#7\fi}%
+ \else
+ \def\@svsechd{%
+ #6{\hskip #3\relax
+ \@svsec #8}%
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth \else
+ \protect\numberline{\@tocseccntformat{#1}\relax}%
+ \fi
+ \if@longtoc#8\else#7\fi}}%
+ \fi
+ \@xsect{#5}}
+\def\@seccntformat#1{\csname the#1\endcsname.\enskip}
+\def\@tocseccntformat#1{\csname the#1\endcsname.}
+
+\if@indentheadings
+\def\section{\@startsection {section}{1}{\parindent}%
+ {3.5ex \@plus 1ex \@minus .2ex}%
+ {2.3ex \@plus.2ex}%
+ {\reset@font\Large\bfseries}}
+\def\subsection{\@startsection{subsection}{2}{\parindent}%
+ {3.25ex\@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\large\bfseries}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}%
+ {3.25ex\@plus 1ex \@minus .2ex}%
+ {1.5ex \@plus .2ex}%
+ {\reset@font\normalsize\bfseries}}
+\fi
+
+\@ifundefined{chapter}{}{%
+\def\postchapter{.}
+\def\chapter{\if@openright\cleardoublepage\else\clearpage\fi
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \if@indentheadings\@afterindenttrue
+ \else\@afterindentfalse
+ \fi
+ \secdef\@chapter\@schapter}
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter
+ \postchapter}%
+ \if@longtoc#2\else#1\fi}%
+ \else
+ \addcontentsline{toc}{chapter}%
+ {\if@longtoc#2\else#1\fi}\fi
+ \else
+ \addcontentsline{toc}{chapter}{\if@longtoc#2\else#1\fi}
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+}% end of conditional
+\@ifundefined{chapter}{}{%
+\def\@makechapterhead#1{%
+ \vspace*{50\p@}%
+ {\reset@font \@tempdima\parindent \raggedright
+ \if@indentheadings\advance\leftskip\@tempdima\fi
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \huge\bfseries \@chapapp{} \thechapter\postchapter
+ \par\nobreak
+ \vskip 20\p@
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \Huge \bfseries #1\par
+ \nobreak
+ \vskip 40\p@
+ }}%
+\def\@schapter#1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}
+\def\@makeschapterhead#1{%
+ \vspace*{50\p@}%
+ {\reset@font \@tempdima\parindent \raggedright
+ \if@indentheadings\advance\leftskip\@tempdima\fi
+ \interlinepenalty\@M
+ \Huge \bfseries #1\par\nobreak
+ \nobreak
+ \vskip 40\p@
+ }}
+}% end of conditional
+
+% captions
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1. #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ #1. #2\par
+% \unhbox\@tempboxa\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
+ ext@#1\endcsname}{#1}{\protect\numberline{\csname
+ the#1\endcsname.}{\ignorespaces #2}}\begingroup
+ \@parboxrestore
+ \normalsize
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+ \endgroup}
+
+% theorems
+\def\afterthmseparator{.}
+\expandafter\ifx\csname theoremstyle\endcsname\relax
+ \def\@begintheorem#1#2{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2\unskip\afterthmseparator
+ }]\itshape}
+ \def\@opargbegintheorem#1#2#3{\trivlist
+ \item[\hskip \labelsep{\bfseries #1\ #2\ (#3)\afterthmseparator
+ }]\itshape}
+\fi
+
+% class-dependent redefinitions: appendix and running heads
+\@ifundefined{chapter}{% article
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@Asbuk\c@section}}
+% ".\@aftersepkern"
+\if@twoside
+ \def\ps@headings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{%
+ \markboth {\MakeUppercase{%
+ \ifnum \c@secnumdepth >\z@
+ \thesection\postsection\quad
+ \fi
+ ##1}}{}}%
+ \def\subsectionmark##1{%
+ \markright {%
+ \ifnum \c@secnumdepth >\@ne
+ \thesubsection\postsubsection\quad
+ \fi
+ ##1}}}
+\else
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\sectionmark##1{%
+ \markright {\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \thesection\postsection\quad
+ \fi
+ ##1}}}}
+\fi
+}{% not article
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@Asbuk\c@chapter}}
+\@ifundefined{abstractname}{}{\let\if@mainmatter\iftrue}% report
+%
+\if@twoside
+ \def\ps@headings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markboth {\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\ \thechapter. %
+ \fi
+ \fi
+ ##1}}{}}%
+ \def\sectionmark##1{%
+ \markright {\MakeUppercase{%
+ \ifnum \c@secnumdepth >\z@
+ \thesection. %
+ \fi
+ ##1}}}}
+\else
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markright {\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \@chapapp\ \thechapter. %
+ \fi
+ \fi
+ ##1}}}}
+\fi
+}
+
+% \cleardoublepage
+% \ps@empty ( \hbox{} \null)
+\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
+ {\null\ps@empty\newpage}\if@twocolumn{\null\ps@empty\newpage}\fi\fi\fi}
+
+\AtBeginDocument{\ifdim\hsize<\@cclv\p@\pretolerance\m@ne\fi}
+\endinput
diff --git a/macros/latex/contrib/t2/etc/rubibtex/README b/macros/latex/contrib/t2/etc/rubibtex/README
new file mode 100644
index 0000000000..26dbe3aae1
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rubibtex/README
@@ -0,0 +1,50 @@
+This is `rubibtex', a wrapper for `bibtex' which allows one to use
+Russian letters as item names in bibliography with BIBTEX. It is part
+of the T2 package.
+
+It is assumed that your rusification is based on a T2 package (for
+other rusifications this problem may be absent or may be solved
+differently).
+
+The discussed problem only arises when you are using Russian letters
+as item names (i.e., in the argument of \bibitem command). This could
+generally be avoided: simply name the reference keys of your books
+with Latin letters, --- these reference keys are purely internal LaTeX
+values, and do not appear in the DVI file. There are no problems with
+using Russian letters in book names, and in all other places which go
+to the DVI file. But it _may_ be convenient to use Russian reference
+keys in your BIBTEX database files.
+
+You will need:
+
+1) LaTeX setup based on a T2 package (in particular, the citehack.sty
+ file which allows one to use Russian letters as references)
+
+2) BIBTEX which does not have problems with 8-bit characters
+ (otherwise it is impossible to use such BIBTEX in _any_ rusified TeX
+ environment). Unfortunately, the default bibtex32.exe and bibtex.exe
+ in a emTeX distribution appear to have problems with 8-bit characters.
+ Try using BIBTEX binaries found at CTAN:biblio/bibtex/8-bit.
+
+3) SED binary. It is available on any UNIX box. For DOS you can find
+ it at
+
+ ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/sed118b.zip
+
+ Copy `sed.exe' to a directory contained in %PATH% environment
+ variable.
+
+4) The `rubibtex' script/batch file.
+
+If reference names in your BIB database use russian letters, then run
+`rubibtex' instead of `bibtex' (otherwise you can safely run bibtex).
+
+If you are using DOS, copy `rubibtex.sed' to `\emtex\data' directory,
+and copy `rubibtex.bat' to `\emtex\bin' directory.
+
+If you are using UNIX, copy the `rubibtex' shell script to
+e.g. `/usr/local/bin' directory.
+
+Note: we assume a cp866 encoding (of BIBTEX database files) for DOS
+and koi8-r for UNIX. Change the encoding of `rubibtex.sed' or
+`rubibtex' script otherwise.
diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex b/macros/latex/contrib/t2/etc/rubibtex/rubibtex
new file mode 100644
index 0000000000..3938157328
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex
@@ -0,0 +1,110 @@
+#!/bin/sh
+
+# rubibtex, based on the original version contained in the t2 bundle.
+# Thomas Esser, Public Domain.
+
+progname=rubibtex
+tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+job=$1
+backup="$tmpdir/orig.aux"
+
+case $job in
+ "")
+ echo "usage: $progname file" >&2
+ exit 1
+esac
+
+if test ! -f "$job.aux"; then
+ echo "$progname: file \`$job.aux' does not exist." >&2
+ exit 1
+fi
+
+trap '
+ rm -rf "$tmpdir"
+ exit 1
+' 1 2 3 7 13 15
+(umask 077; mkdir "$tmpdir") \
+ || { echo "$progname: could not create directory \`$tmpdir'" >&2; exit 1; }
+
+cat <"$job.aux" >"$backup" || {
+ echo "$progname: could not create backup of file \`$job.aux' as \`$backup'." >&2
+ rm -rf "$tmpdir"
+ exit 1
+}
+
+sed '
+ /^\\citation/ {
+ s/\\IeC {\\CYRA }/�/g
+ s/\\IeC {\\CYRB }/�/g
+ s/\\IeC {\\CYRV }/�/g
+ s/\\IeC {\\CYRG }/�/g
+ s/\\IeC {\\CYRD }/�/g
+ s/\\IeC {\\CYRE }/�/g
+ s/\\IeC {\\CYRYO }/�/g
+ s/\\IeC {\\CYRZH }/�/g
+ s/\\IeC {\\CYRZ }/�/g
+ s/\\IeC {\\CYRI }/�/g
+ s/\\IeC {\\CYRISHRT }/�/g
+ s/\\IeC {\\CYRK }/�/g
+ s/\\IeC {\\CYRL }/�/g
+ s/\\IeC {\\CYRM }/�/g
+ s/\\IeC {\\CYRN }/�/g
+ s/\\IeC {\\CYRO }/�/g
+ s/\\IeC {\\CYRP }/�/g
+ s/\\IeC {\\CYRR }/�/g
+ s/\\IeC {\\CYRS }/�/g
+ s/\\IeC {\\CYRT }/�/g
+ s/\\IeC {\\CYRU }/�/g
+ s/\\IeC {\\CYRF }/�/g
+ s/\\IeC {\\CYRH }/�/g
+ s/\\IeC {\\CYRC }/�/g
+ s/\\IeC {\\CYRCH }/�/g
+ s/\\IeC {\\CYRSH }/�/g
+ s/\\IeC {\\CYRSHCH }/�/g
+ s/\\IeC {\\CYRHRDSN }/�/g
+ s/\\IeC {\\CYRERY }/�/g
+ s/\\IeC {\\CYRSFTSN }/�/g
+ s/\\IeC {\\CYREREV }/�/g
+ s/\\IeC {\\CYRYU }/�/g
+ s/\\IeC {\\CYRYA }/�/g
+ s/\\IeC {\\cyra }/�/g
+ s/\\IeC {\\cyrb }/�/g
+ s/\\IeC {\\cyrv }/�/g
+ s/\\IeC {\\cyrg }/�/g
+ s/\\IeC {\\cyrd }/�/g
+ s/\\IeC {\\cyre }/�/g
+ s/\\IeC {\\cyryo }/�/g
+ s/\\IeC {\\cyrzh }/�/g
+ s/\\IeC {\\cyrz }/�/g
+ s/\\IeC {\\cyri }/�/g
+ s/\\IeC {\\cyrishrt }/�/g
+ s/\\IeC {\\cyrk }/�/g
+ s/\\IeC {\\cyrl }/�/g
+ s/\\IeC {\\cyrm }/�/g
+ s/\\IeC {\\cyrn }/�/g
+ s/\\IeC {\\cyro }/�/g
+ s/\\IeC {\\cyrp }/�/g
+ s/\\IeC {\\cyrr }/�/g
+ s/\\IeC {\\cyrs }/�/g
+ s/\\IeC {\\cyrt }/�/g
+ s/\\IeC {\\cyru }/�/g
+ s/\\IeC {\\cyrf }/�/g
+ s/\\IeC {\\cyrh }/�/g
+ s/\\IeC {\\cyrc }/�/g
+ s/\\IeC {\\cyrch }/�/g
+ s/\\IeC {\\cyrsh }/�/g
+ s/\\IeC {\\cyrshch }/�/g
+ s/\\IeC {\\cyrhrdsn }/�/g
+ s/\\IeC {\\cyrery }/�/g
+ s/\\IeC {\\cyrsftsn }/�/g
+ s/\\IeC {\\cyrerev }/�/g
+ s/\\IeC {\\cyryu }/�/g
+ s/\\IeC {\\cyrya }/�/g
+ }
+' <"$backup" >"$job.aux"
+
+bibtex "$job"
+
+cat "$backup" > "$job.aux"
+rm -rf "$tmpdir"
+exit 0
diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex.bat b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.bat
new file mode 100644
index 0000000000..2f0be84cb4
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.bat
@@ -0,0 +1,5 @@
+@echo off
+move %1.aux %TEMP%
+sed.exe -f %EMTEXDIR%\data\rubibtex.sed %TEMP%\%1.aux > %1.aux
+bibtex.exe -c %EMTEXDIR%\bibtex\csf\cp866rus.csf %1
+move %TEMP%\%1.aux .
diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex.old b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.old
new file mode 100644
index 0000000000..8a7f617cde
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.old
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+TEMP=${TMPDIR-/tmp}
+
+mv -f $1.aux $TEMP
+
+sed '
+/^\\citation/ {
+s/\\IeC {\\CYRA }//g
+s/\\IeC {\\CYRB }//g
+s/\\IeC {\\CYRV }//g
+s/\\IeC {\\CYRG }//g
+s/\\IeC {\\CYRD }//g
+s/\\IeC {\\CYRE }//g
+s/\\IeC {\\CYRYO }//g
+s/\\IeC {\\CYRZH }//g
+s/\\IeC {\\CYRZ }//g
+s/\\IeC {\\CYRI }//g
+s/\\IeC {\\CYRISHRT }//g
+s/\\IeC {\\CYRK }//g
+s/\\IeC {\\CYRL }//g
+s/\\IeC {\\CYRM }//g
+s/\\IeC {\\CYRN }//g
+s/\\IeC {\\CYRO }//g
+s/\\IeC {\\CYRP }//g
+s/\\IeC {\\CYRR }//g
+s/\\IeC {\\CYRS }//g
+s/\\IeC {\\CYRT }//g
+s/\\IeC {\\CYRU }//g
+s/\\IeC {\\CYRF }//g
+s/\\IeC {\\CYRH }//g
+s/\\IeC {\\CYRC }//g
+s/\\IeC {\\CYRCH }//g
+s/\\IeC {\\CYRSH }//g
+s/\\IeC {\\CYRSHCH }//g
+s/\\IeC {\\CYRHRDSN }//g
+s/\\IeC {\\CYRERY }//g
+s/\\IeC {\\CYRSFTSN }//g
+s/\\IeC {\\CYREREV }//g
+s/\\IeC {\\CYRYU }//g
+s/\\IeC {\\CYRYA }//g
+s/\\IeC {\\cyra }//g
+s/\\IeC {\\cyrb }//g
+s/\\IeC {\\cyrv }//g
+s/\\IeC {\\cyrg }//g
+s/\\IeC {\\cyrd }//g
+s/\\IeC {\\cyre }//g
+s/\\IeC {\\cyryo }//g
+s/\\IeC {\\cyrzh }//g
+s/\\IeC {\\cyrz }//g
+s/\\IeC {\\cyri }//g
+s/\\IeC {\\cyrishrt }//g
+s/\\IeC {\\cyrk }//g
+s/\\IeC {\\cyrl }//g
+s/\\IeC {\\cyrm }//g
+s/\\IeC {\\cyrn }//g
+s/\\IeC {\\cyro }//g
+s/\\IeC {\\cyrp }//g
+s/\\IeC {\\cyrr }//g
+s/\\IeC {\\cyrs }//g
+s/\\IeC {\\cyrt }//g
+s/\\IeC {\\cyru }//g
+s/\\IeC {\\cyrf }//g
+s/\\IeC {\\cyrh }//g
+s/\\IeC {\\cyrc }//g
+s/\\IeC {\\cyrch }//g
+s/\\IeC {\\cyrsh }//g
+s/\\IeC {\\cyrshch }//g
+s/\\IeC {\\cyrhrdsn }//g
+s/\\IeC {\\cyrery }//g
+s/\\IeC {\\cyrsftsn }//g
+s/\\IeC {\\cyrerev }//g
+s/\\IeC {\\cyryu }//g
+s/\\IeC {\\cyrya }//g
+}
+' $TEMP/$1.aux > $1.aux
+
+bibtex $1
+
+mv -f $TEMP/$1.aux .
diff --git a/macros/latex/contrib/t2/etc/rubibtex/rubibtex.sed b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.sed
new file mode 100644
index 0000000000..099f89a565
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rubibtex/rubibtex.sed
@@ -0,0 +1,68 @@
+/^\\citation/ {
+s/\\IeC {\\CYRA }//g
+s/\\IeC {\\CYRB }//g
+s/\\IeC {\\CYRV }//g
+s/\\IeC {\\CYRG }//g
+s/\\IeC {\\CYRD }//g
+s/\\IeC {\\CYRE }//g
+s/\\IeC {\\CYRYO }//g
+s/\\IeC {\\CYRZH }//g
+s/\\IeC {\\CYRZ }//g
+s/\\IeC {\\CYRI }//g
+s/\\IeC {\\CYRISHRT }//g
+s/\\IeC {\\CYRK }//g
+s/\\IeC {\\CYRL }//g
+s/\\IeC {\\CYRM }//g
+s/\\IeC {\\CYRN }//g
+s/\\IeC {\\CYRO }//g
+s/\\IeC {\\CYRP }//g
+s/\\IeC {\\CYRR }//g
+s/\\IeC {\\CYRS }//g
+s/\\IeC {\\CYRT }//g
+s/\\IeC {\\CYRU }//g
+s/\\IeC {\\CYRF }//g
+s/\\IeC {\\CYRH }//g
+s/\\IeC {\\CYRC }//g
+s/\\IeC {\\CYRCH }//g
+s/\\IeC {\\CYRSH }//g
+s/\\IeC {\\CYRSHCH }//g
+s/\\IeC {\\CYRHRDSN }//g
+s/\\IeC {\\CYRERY }//g
+s/\\IeC {\\CYRSFTSN }//g
+s/\\IeC {\\CYREREV }//g
+s/\\IeC {\\CYRYU }//g
+s/\\IeC {\\CYRYA }//g
+s/\\IeC {\\cyra }//g
+s/\\IeC {\\cyrb }//g
+s/\\IeC {\\cyrv }//g
+s/\\IeC {\\cyrg }//g
+s/\\IeC {\\cyrd }//g
+s/\\IeC {\\cyre }//g
+s/\\IeC {\\cyryo }//g
+s/\\IeC {\\cyrzh }//g
+s/\\IeC {\\cyrz }//g
+s/\\IeC {\\cyri }//g
+s/\\IeC {\\cyrishrt }//g
+s/\\IeC {\\cyrk }//g
+s/\\IeC {\\cyrl }//g
+s/\\IeC {\\cyrm }//g
+s/\\IeC {\\cyrn }//g
+s/\\IeC {\\cyro }//g
+s/\\IeC {\\cyrp }//g
+s/\\IeC {\\cyrr }//g
+s/\\IeC {\\cyrs }//g
+s/\\IeC {\\cyrt }//g
+s/\\IeC {\\cyru }//g
+s/\\IeC {\\cyrf }//g
+s/\\IeC {\\cyrh }//g
+s/\\IeC {\\cyrc }//g
+s/\\IeC {\\cyrch }//g
+s/\\IeC {\\cyrsh }//g
+s/\\IeC {\\cyrshch }//g
+s/\\IeC {\\cyrhrdsn }//g
+s/\\IeC {\\cyrery }//g
+s/\\IeC {\\cyrsftsn }//g
+s/\\IeC {\\cyrerev }//g
+s/\\IeC {\\cyryu }//g
+s/\\IeC {\\cyrya }//g
+}
diff --git a/macros/latex/contrib/t2/etc/ruinpenc b/macros/latex/contrib/t2/etc/ruinpenc
new file mode 100644
index 0000000000..fc1e4cb524
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/ruinpenc
@@ -0,0 +1,67 @@
+#!/usr/bin/perl -p -i
+s/\\IeC {\\CYRA }//g;
+s/\\IeC {\\cyra }//g;
+s/\\IeC {\\CYRB }//g;
+s/\\IeC {\\cyrb }//g;
+s/\\IeC {\\CYRV }//g;
+s/\\IeC {\\cyrv }//g;
+s/\\IeC {\\CYRG }//g;
+s/\\IeC {\\cyrg }//g;
+s/\\IeC {\\CYRD }//g;
+s/\\IeC {\\cyrd }//g;
+s/\\IeC {\\CYRE }//g;
+s/\\IeC {\\cyre }//g;
+s/\\IeC {\\CYRYO }//g;
+s/\\IeC {\\cyryo }//g;
+s/\\IeC {\\CYRZH }//g;
+s/\\IeC {\\cyrzh }//g;
+s/\\IeC {\\CYRZ }//g;
+s/\\IeC {\\cyrz }//g;
+s/\\IeC {\\CYRI }//g;
+s/\\IeC {\\cyri }//g;
+s/\\IeC {\\CYRISHRT }//g;
+s/\\IeC {\\cyrishrt }//g;
+s/\\IeC {\\CYRK }//g;
+s/\\IeC {\\cyrk }//g;
+s/\\IeC {\\CYRL }//g;
+s/\\IeC {\\cyrl }//g;
+s/\\IeC {\\CYRM }//g;
+s/\\IeC {\\cyrm }//g;
+s/\\IeC {\\CYRN }//g;
+s/\\IeC {\\cyrn }//g;
+s/\\IeC {\\CYRO }//g;
+s/\\IeC {\\cyro }//g;
+s/\\IeC {\\CYRP }//g;
+s/\\IeC {\\cyrp }//g;
+s/\\IeC {\\CYRR }//g;
+s/\\IeC {\\cyrr }//g;
+s/\\IeC {\\CYRS }//g;
+s/\\IeC {\\cyrs }//g;
+s/\\IeC {\\CYRT }//g;
+s/\\IeC {\\cyrt }//g;
+s/\\IeC {\\CYRU }//g;
+s/\\IeC {\\cyru }//g;
+s/\\IeC {\\CYRF }//g;
+s/\\IeC {\\cyrf }//g;
+s/\\IeC {\\CYRH }//g;
+s/\\IeC {\\cyrh }//g;
+s/\\IeC {\\CYRC }//g;
+s/\\IeC {\\cyrc }//g;
+s/\\IeC {\\CYRCH }//g;
+s/\\IeC {\\cyrch }//g;
+s/\\IeC {\\CYRSH }//g;
+s/\\IeC {\\cyrsh }//g;
+s/\\IeC {\\CYRSHCH }//g;
+s/\\IeC {\\cyrshch }//g;
+s/\\IeC {\\CYRHRDSN }//g;
+s/\\IeC {\\cyrhrdsn }//g;
+s/\\IeC {\\CYRERY }//g;
+s/\\IeC {\\cyrery }//g;
+s/\\IeC {\\CYRSFTSN }//g;
+s/\\IeC {\\cyrsftsn }//g;
+s/\\IeC {\\CYREREV }//g;
+s/\\IeC {\\cyrerev }//g;
+s/\\IeC {\\CYRYU }//g;
+s/\\IeC {\\cyryu }//g;
+s/\\IeC {\\CYRYA }//g;
+s/\\IeC {\\cyrya }//g;
diff --git a/macros/latex/contrib/t2/etc/rumkidx/README b/macros/latex/contrib/t2/etc/rumkidx/README
new file mode 100644
index 0000000000..4adc40f214
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rumkidx/README
@@ -0,0 +1,44 @@
+This is `rumakeindex', a wrapper for `makeindex' which allows one to
+get properly sorted index when Russian letters are used in index
+entries. It is part of the T2 package.
+
+You will need:
+
+1) LaTeX setup based on a T2 package.
+
+2) MAKEINDEX utility which does not have problems with 8-bit characters.
+ mkidx32.exe in a emTeX distribution is Ok, as well as makeindex
+ from web2c distribution.
+
+3) SED binary. It is available on any UNIX box. For DOS you can find
+ it at
+
+ ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/sed118b.zip
+
+ Copy `sed.exe' to a directory contained in %PATH% environment
+ variable.
+
+ Under UNIX, the `tr' utility is also used. It is emulated via the
+ `y' SED command in the DOS scripts.
+
+4) The `rumakeindex' script (or batch file `rumkidxd.bat' under DOS,
+ or `rumkidxw.bat' under Windows).
+
+If you are using the T2 package and are making indices with russian
+letters, then run `rumakeindex' (or `rumkidxd.bat' under DOS, or
+`rumkidxw.bat' under Windows) instead of `makeindex' (or `mkidx32.exe'
+under DOS).
+
+If you are using emTeX under DOS, copy *.sed files to `\emtex\data'
+directory, and copy `*.bat' files to `\emtex\bin' directory.
+
+If you are using UNIX, copy the `rumakeindex' shell script to
+e.g. `/usr/local/bin' directory.
+
+Note: the encoding of generated .ind files is:
+
+ koi8-r for `rumakeindex' (UNIX)
+ cp866 for `rumkidxd.bat' (MS-DOS)
+ cp1251 for `rumkidxw.bat' (MS-Windows)
+
+If you need some other encoding, just change the encoding of scripts.
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumakeindex b/macros/latex/contrib/t2/etc/rumkidx/rumakeindex
new file mode 100644
index 0000000000..02598d3865
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rumkidx/rumakeindex
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+BASE=`basename $1 .idx`
+IDX=$BASE.idx
+IND=$BASE.ind
+ILG=$BASE.ilg
+
+sed '
+/^\\indexentry{/ {
+s/\\IeC {\\CYRA }//g
+s/\\IeC {\\cyra }//g
+s/\\IeC {\\CYRB }//g
+s/\\IeC {\\cyrb }//g
+s/\\IeC {\\CYRV }//g
+s/\\IeC {\\cyrv }//g
+s/\\IeC {\\CYRG }//g
+s/\\IeC {\\cyrg }//g
+s/\\IeC {\\CYRD }//g
+s/\\IeC {\\cyrd }//g
+s/\\IeC {\\CYRE }//g
+s/\\IeC {\\cyre }//g
+s/\\IeC {\\CYRYO }//g
+s/\\IeC {\\cyryo }//g
+s/\\IeC {\\CYRZH }//g
+s/\\IeC {\\cyrzh }//g
+s/\\IeC {\\CYRZ }//g
+s/\\IeC {\\cyrz }//g
+s/\\IeC {\\CYRI }//g
+s/\\IeC {\\cyri }//g
+s/\\IeC {\\CYRISHRT }//g
+s/\\IeC {\\cyrishrt }//g
+s/\\IeC {\\CYRK }//g
+s/\\IeC {\\cyrk }//g
+s/\\IeC {\\CYRL }//g
+s/\\IeC {\\cyrl }//g
+s/\\IeC {\\CYRM }//g
+s/\\IeC {\\cyrm }//g
+s/\\IeC {\\CYRN }//g
+s/\\IeC {\\cyrn }//g
+s/\\IeC {\\CYRO }//g
+s/\\IeC {\\cyro }//g
+s/\\IeC {\\CYRP }//g
+s/\\IeC {\\cyrp }//g
+s/\\IeC {\\CYRR }//g
+s/\\IeC {\\cyrr }//g
+s/\\IeC {\\CYRS }//g
+s/\\IeC {\\cyrs }//g
+s/\\IeC {\\CYRT }//g
+s/\\IeC {\\cyrt }//g
+s/\\IeC {\\CYRU }//g
+s/\\IeC {\\cyru }//g
+s/\\IeC {\\CYRF }//g
+s/\\IeC {\\cyrf }//g
+s/\\IeC {\\CYRH }//g
+s/\\IeC {\\cyrh }//g
+s/\\IeC {\\CYRC }//g
+s/\\IeC {\\cyrc }//g
+s/\\IeC {\\CYRCH }//g
+s/\\IeC {\\cyrch }//g
+s/\\IeC {\\CYRSH }//g
+s/\\IeC {\\cyrsh }//g
+s/\\IeC {\\CYRSHCH }//g
+s/\\IeC {\\cyrshch }//g
+s/\\IeC {\\CYRHRDSN }//g
+s/\\IeC {\\cyrhrdsn }//g
+s/\\IeC {\\CYRERY }//g
+s/\\IeC {\\cyrery }//g
+s/\\IeC {\\CYRSFTSN }//g
+s/\\IeC {\\cyrsftsn }//g
+s/\\IeC {\\CYREREV }//g
+s/\\IeC {\\cyrerev }//g
+s/\\IeC {\\CYRYU }//g
+s/\\IeC {\\cyryu }//g
+s/\\IeC {\\CYRYA }//g
+s/\\IeC {\\cyrya }//g
+}' $IDX | makeindex -t $ILG | tr '' \
+ 'ų' > $IND
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidx1.sed b/macros/latex/contrib/t2/etc/rumkidx/rumkidx1.sed
new file mode 100644
index 0000000000..2c5d00a842
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidx1.sed
@@ -0,0 +1,68 @@
+/^\\indexentry{/ {
+s/\\IeC {\\CYRA }//g
+s/\\IeC {\\cyra }//g
+s/\\IeC {\\CYRB }//g
+s/\\IeC {\\cyrb }//g
+s/\\IeC {\\CYRV }//g
+s/\\IeC {\\cyrv }//g
+s/\\IeC {\\CYRG }//g
+s/\\IeC {\\cyrg }//g
+s/\\IeC {\\CYRD }//g
+s/\\IeC {\\cyrd }//g
+s/\\IeC {\\CYRE }//g
+s/\\IeC {\\cyre }//g
+s/\\IeC {\\CYRYO }//g
+s/\\IeC {\\cyryo }//g
+s/\\IeC {\\CYRZH }//g
+s/\\IeC {\\cyrzh }//g
+s/\\IeC {\\CYRZ }//g
+s/\\IeC {\\cyrz }//g
+s/\\IeC {\\CYRI }//g
+s/\\IeC {\\cyri }//g
+s/\\IeC {\\CYRISHRT }//g
+s/\\IeC {\\cyrishrt }//g
+s/\\IeC {\\CYRK }//g
+s/\\IeC {\\cyrk }//g
+s/\\IeC {\\CYRL }//g
+s/\\IeC {\\cyrl }//g
+s/\\IeC {\\CYRM }//g
+s/\\IeC {\\cyrm }//g
+s/\\IeC {\\CYRN }//g
+s/\\IeC {\\cyrn }//g
+s/\\IeC {\\CYRO }//g
+s/\\IeC {\\cyro }//g
+s/\\IeC {\\CYRP }//g
+s/\\IeC {\\cyrp }//g
+s/\\IeC {\\CYRR }//g
+s/\\IeC {\\cyrr }//g
+s/\\IeC {\\CYRS }//g
+s/\\IeC {\\cyrs }//g
+s/\\IeC {\\CYRT }//g
+s/\\IeC {\\cyrt }//g
+s/\\IeC {\\CYRU }//g
+s/\\IeC {\\cyru }//g
+s/\\IeC {\\CYRF }//g
+s/\\IeC {\\cyrf }//g
+s/\\IeC {\\CYRH }//g
+s/\\IeC {\\cyrh }//g
+s/\\IeC {\\CYRC }//g
+s/\\IeC {\\cyrc }//g
+s/\\IeC {\\CYRCH }//g
+s/\\IeC {\\cyrch }//g
+s/\\IeC {\\CYRSH }//g
+s/\\IeC {\\cyrsh }//g
+s/\\IeC {\\CYRSHCH }//g
+s/\\IeC {\\cyrshch }//g
+s/\\IeC {\\CYRHRDSN }//g
+s/\\IeC {\\cyrhrdsn }//g
+s/\\IeC {\\CYRERY }//g
+s/\\IeC {\\cyrery }//g
+s/\\IeC {\\CYRSFTSN }//g
+s/\\IeC {\\cyrsftsn }//g
+s/\\IeC {\\CYREREV }//g
+s/\\IeC {\\cyrerev }//g
+s/\\IeC {\\CYRYU }//g
+s/\\IeC {\\cyryu }//g
+s/\\IeC {\\CYRYA }//g
+s/\\IeC {\\cyrya }//g
+}
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidx2.sed b/macros/latex/contrib/t2/etc/rumkidx/rumkidx2.sed
new file mode 100644
index 0000000000..7262921d80
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidx2.sed
@@ -0,0 +1 @@
+y//񆦇/
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidx3.sed b/macros/latex/contrib/t2/etc/rumkidx/rumkidx3.sed
new file mode 100644
index 0000000000..41653a663b
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidx3.sed
@@ -0,0 +1 @@
+y//娸/
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidxd.bat b/macros/latex/contrib/t2/etc/rumkidx/rumkidxd.bat
new file mode 100644
index 0000000000..0556b6ccaf
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidxd.bat
@@ -0,0 +1,2 @@
+@echo off
+sed -f %EMTEXDIR%\data\rumkidx1.sed %1.idx | mkidx32 -t %1.ilg | sed -f %EMTEXDIR%\data\rumkidx2.sed > %1.ind
diff --git a/macros/latex/contrib/t2/etc/rumkidx/rumkidxw.bat b/macros/latex/contrib/t2/etc/rumkidx/rumkidxw.bat
new file mode 100644
index 0000000000..f62b6f96b8
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/rumkidx/rumkidxw.bat
@@ -0,0 +1,2 @@
+@echo off
+sed -f %EMTEXDIR%\data\rumkidx1.sed %1.idx | mkidx32 -t %1.ilg | sed -f %EMTEXDIR%\data\rumkidx3.sed > %1.ind
diff --git a/macros/latex/contrib/t2/etc/t2filter.c b/macros/latex/contrib/t2/etc/t2filter.c
new file mode 100644
index 0000000000..6abee5994b
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/t2filter.c
@@ -0,0 +1,51 @@
+/* A simple filter for translating TeX screen output from
+ * internal T2 encoding to koi8-r or cp866. Messages with
+ * overfull boxes will be readable, but context lines (in
+ * case of errors) will become unreadable. :-)
+ *
+ * Compile:
+ * cc -Wall -O2 -s -o t2filter t2filter.c
+ *
+ * Sample usage:
+ * latex filename.tex | t2filter
+ */
+
+#include <unistd.h>
+
+#define BUFSIZE 1024
+
+unsigned char xlt[] = {
+#ifdef MSDOS /* t2 -> cp866 */
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
+ 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
+ 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
+ 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef
+#else /* t2 -> koi8-r */
+ 0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,
+ 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,
+ 0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,
+ 0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,
+ 0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,
+ 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,
+ 0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,
+ 0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1
+#endif
+};
+
+int main(void) {
+ unsigned char buf[BUFSIZE];
+ ssize_t n;
+ unsigned char *c;
+
+ for(;;) {
+ if (!(n=read(0,buf,BUFSIZE)))
+ return 0;
+ for (c=buf;c<buf+n;c++)
+ if (*c>=0xc0) *c=xlt[*c-0xc0];
+ write(1,buf,n);
+ }
+}
diff --git a/macros/latex/contrib/t2/etc/utf-8/test-utf8.tex b/macros/latex/contrib/t2/etc/utf-8/test-utf8.tex
new file mode 100644
index 0000000000..58aafd5786
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/utf-8/test-utf8.tex
@@ -0,0 +1,28 @@
+\documentclass{article}
+
+\usepackage[utf-8]{inputenc}
+\usepackage[T2A,T1]{fontenc}
+
+\begin{document}
+
+Czech (česky) Dobrý den
+
+French (Français) Bonjour, Salut
+
+German (Deutsch Süd) Grüß Gott
+
+Polish Dzień dobry, Hej
+
+\fontencoding{T2A}\selectfont
+
+Russian (Русский) Здравствуйте!
+
+\fontencoding{T1}\selectfont
+
+Slovak Dobrý deň
+
+Spanish (Español) ¡Hola!
+
+Turkish (Türkçe) Merhaba
+
+\end{document}
diff --git a/macros/latex/contrib/t2/etc/utf-8/utf-8.def b/macros/latex/contrib/t2/etc/utf-8/utf-8.def
new file mode 100644
index 0000000000..329b947e2a
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/utf-8/utf-8.def
@@ -0,0 +1,68 @@
+% Copyright 2000 Vladimir Volovich <vvv@vsu.ru>
+\ProvidesFile{utf-8.def}[2000/08/19 v0.1 input encoding file for utf-8]
+
+\makeatletter
+\let\@inpenc@test\relax
+
+\count@192
+\loop
+ \bgroup
+ \uccode`\~\count@
+ \uppercase{%
+ \egroup
+ \def~##1{\csname U2\string~\string##1\endcsname}%
+ }
+\ifnum\count@<223\relax
+ \advance\count@\@ne
+\repeat
+
+\count@224
+\loop
+ \bgroup
+ \uccode`\~\count@
+ \uppercase{%
+ \egroup
+ \def~##1##2{\csname U3\string~\string##1\string##2\endcsname}%
+ }
+\ifnum\count@<239\relax
+ \advance\count@\@ne
+\repeat
+
+% FIXME: define U4, U5, U6
+
+\def\get@code#1#2;{\count@\if x\noexpand#1"\else#1\fi#2\relax}
+
+\def\UnicodeCharacter#1#2{%
+ \get@code#1;%
+ \ifnum\count@<"80\relax
+ \Error
+ \else\ifnum\count@<"800\relax
+ \@tempcnta\count@
+ \divide\count@64
+ \bgroup
+ \advance\count@192
+ \uccode`\~\count@
+ \uppercase{%
+ \egroup
+ \toks@{U2\string~}%
+ }%
+ \multiply\count@64
+ \advance\@tempcnta-\count@
+ \advance\@tempcnta"80
+ \bgroup
+ \uccode`\~\@tempcnta
+ \uppercase{%
+ \egroup
+ \toks@\expandafter{\the\toks@\string~}%
+ }%
+ \expandafter\expandafter\expandafter
+ \def\expandafter\csname\the\toks@\endcsname{#2}%
+ \else
+ \Error
+ \fi\fi
+}
+
+\@ifundefined{ver@utfcyr.def}{\input{utfcyr.def}}\relax
+\@ifundefined{ver@utflat.def}{\input{utflat.def}}\relax
+
+\makeatother
diff --git a/macros/latex/contrib/t2/etc/utf-8/utfcyr.def b/macros/latex/contrib/t2/etc/utf-8/utfcyr.def
new file mode 100644
index 0000000000..2e97931c06
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/utf-8/utfcyr.def
@@ -0,0 +1,264 @@
+% Copyright 2000 Vladimir Volovich <vvv@vsu.ru>
+\ProvidesFile{utfcyr.def}[2000/08/19 v0.1 cyrillic definitions for utf-8]
+
+\UnicodeCharacter{x0300}{\`}
+\UnicodeCharacter{x0301}{\'}
+\UnicodeCharacter{x0302}{\^}
+\UnicodeCharacter{x0303}{\~}
+\UnicodeCharacter{x0304}{\=}
+\UnicodeCharacter{x0306}{\u}
+\UnicodeCharacter{x0307}{\.}
+\UnicodeCharacter{x0308}{\"}
+\UnicodeCharacter{x030A}{\r}
+\UnicodeCharacter{x030B}{\H}
+\UnicodeCharacter{x030C}{\v}
+\UnicodeCharacter{x030F}{\C}
+\UnicodeCharacter{x0311}{\f}
+\UnicodeCharacter{x0323}{\d}
+\UnicodeCharacter{x0327}{\c}
+\UnicodeCharacter{x0328}{\k}
+\UnicodeCharacter{x0331}{\b}
+\UnicodeCharacter{x0400}{\`\CYRE}
+\UnicodeCharacter{x0401}{\CYRYO}
+\UnicodeCharacter{x0402}{\CYRDJE}
+\UnicodeCharacter{x0403}{\'\CYRG}
+\UnicodeCharacter{x0404}{\CYRIE}
+\UnicodeCharacter{x0405}{\CYRDZE}
+\UnicodeCharacter{x0406}{\CYRII}
+\UnicodeCharacter{x0407}{\CYRYI}
+\UnicodeCharacter{x0408}{\CYRJE}
+\UnicodeCharacter{x0409}{\CYRLJE}
+\UnicodeCharacter{x040A}{\CYRNJE}
+\UnicodeCharacter{x040B}{\CYRTSHE}
+\UnicodeCharacter{x040C}{\'\CYRK}
+\UnicodeCharacter{x040D}{\`\CYRI}
+\UnicodeCharacter{x040E}{\CYRUSHRT}
+\UnicodeCharacter{x040F}{\CYRDZHE}
+\UnicodeCharacter{x0410}{\CYRA}
+\UnicodeCharacter{x0411}{\CYRB}
+\UnicodeCharacter{x0412}{\CYRV}
+\UnicodeCharacter{x0413}{\CYRG}
+\UnicodeCharacter{x0414}{\CYRD}
+\UnicodeCharacter{x0415}{\CYRE}
+\UnicodeCharacter{x0416}{\CYRZH}
+\UnicodeCharacter{x0417}{\CYRZ}
+\UnicodeCharacter{x0418}{\CYRI}
+\UnicodeCharacter{x0419}{\CYRISHRT}
+\UnicodeCharacter{x041A}{\CYRK}
+\UnicodeCharacter{x041B}{\CYRL}
+\UnicodeCharacter{x041C}{\CYRM}
+\UnicodeCharacter{x041D}{\CYRN}
+\UnicodeCharacter{x041E}{\CYRO}
+\UnicodeCharacter{x041F}{\CYRP}
+\UnicodeCharacter{x0420}{\CYRR}
+\UnicodeCharacter{x0421}{\CYRS}
+\UnicodeCharacter{x0422}{\CYRT}
+\UnicodeCharacter{x0423}{\CYRU}
+\UnicodeCharacter{x0424}{\CYRF}
+\UnicodeCharacter{x0425}{\CYRH}
+\UnicodeCharacter{x0426}{\CYRC}
+\UnicodeCharacter{x0427}{\CYRCH}
+\UnicodeCharacter{x0428}{\CYRSH}
+\UnicodeCharacter{x0429}{\CYRSHCH}
+\UnicodeCharacter{x042A}{\CYRHRDSN}
+\UnicodeCharacter{x042B}{\CYRERY}
+\UnicodeCharacter{x042C}{\CYRSFTSN}
+\UnicodeCharacter{x042D}{\CYREREV}
+\UnicodeCharacter{x042E}{\CYRYU}
+\UnicodeCharacter{x042F}{\CYRYA}
+\UnicodeCharacter{x0430}{\cyra}
+\UnicodeCharacter{x0431}{\cyrb}
+\UnicodeCharacter{x0432}{\cyrv}
+\UnicodeCharacter{x0433}{\cyrg}
+\UnicodeCharacter{x0434}{\cyrd}
+\UnicodeCharacter{x0435}{\cyre}
+\UnicodeCharacter{x0436}{\cyrzh}
+\UnicodeCharacter{x0437}{\cyrz}
+\UnicodeCharacter{x0438}{\cyri}
+\UnicodeCharacter{x0439}{\cyrishrt}
+\UnicodeCharacter{x043A}{\cyrk}
+\UnicodeCharacter{x043B}{\cyrl}
+\UnicodeCharacter{x043C}{\cyrm}
+\UnicodeCharacter{x043D}{\cyrn}
+\UnicodeCharacter{x043E}{\cyro}
+\UnicodeCharacter{x043F}{\cyrp}
+\UnicodeCharacter{x0440}{\cyrr}
+\UnicodeCharacter{x0441}{\cyrs}
+\UnicodeCharacter{x0442}{\cyrt}
+\UnicodeCharacter{x0443}{\cyru}
+\UnicodeCharacter{x0444}{\cyrf}
+\UnicodeCharacter{x0445}{\cyrh}
+\UnicodeCharacter{x0446}{\cyrc}
+\UnicodeCharacter{x0447}{\cyrch}
+\UnicodeCharacter{x0448}{\cyrsh}
+\UnicodeCharacter{x0449}{\cyrshch}
+\UnicodeCharacter{x044A}{\cyrhrdsn}
+\UnicodeCharacter{x044B}{\cyrery}
+\UnicodeCharacter{x044C}{\cyrsftsn}
+\UnicodeCharacter{x044D}{\cyrerev}
+\UnicodeCharacter{x044E}{\cyryu}
+\UnicodeCharacter{x044F}{\cyrya}
+\UnicodeCharacter{x0450}{\`\cyre}
+\UnicodeCharacter{x0451}{\cyryo}
+\UnicodeCharacter{x0452}{\cyrdje}
+\UnicodeCharacter{x0453}{\'\cyrg}
+\UnicodeCharacter{x0454}{\cyrie}
+\UnicodeCharacter{x0455}{\cyrdze}
+\UnicodeCharacter{x0456}{\cyrii}
+\UnicodeCharacter{x0457}{\cyryi}
+\UnicodeCharacter{x0458}{\cyrje}
+\UnicodeCharacter{x0459}{\cyrlje}
+\UnicodeCharacter{x045A}{\cyrnje}
+\UnicodeCharacter{x045B}{\cyrtshe}
+\UnicodeCharacter{x045C}{\'\cyrk}
+\UnicodeCharacter{x045D}{\`\cyri}
+\UnicodeCharacter{x045E}{\cyrushrt}
+\UnicodeCharacter{x045F}{\cyrdzhe}
+\UnicodeCharacter{x0460}{\CYROMEGA}
+\UnicodeCharacter{x0461}{\cyromega}
+\UnicodeCharacter{x0462}{\CYRYAT}
+\UnicodeCharacter{x0463}{\cyryat}
+\UnicodeCharacter{x0464}{\CYRIOTE}
+\UnicodeCharacter{x0465}{\cyriote}
+\UnicodeCharacter{x0466}{\CYRLYUS}
+\UnicodeCharacter{x0467}{\cyrlyus}
+\UnicodeCharacter{x0468}{\CYRIOTLYUS}
+\UnicodeCharacter{x0469}{\cyriotlyus}
+\UnicodeCharacter{x046A}{\CYRBYUS}
+\UnicodeCharacter{x046B}{\cyrbyus}
+\UnicodeCharacter{x046C}{\CYRIOTBYUS}
+\UnicodeCharacter{x046D}{\cyriotbyus}
+\UnicodeCharacter{x046E}{\CYRKSI}
+\UnicodeCharacter{x046F}{\cyrksi}
+\UnicodeCharacter{x0470}{\CYRPSI}
+\UnicodeCharacter{x0471}{\cyrpsi}
+\UnicodeCharacter{x0472}{\CYRFITA}
+\UnicodeCharacter{x0473}{\cyrfita}
+\UnicodeCharacter{x0474}{\CYRIZH}
+\UnicodeCharacter{x0475}{\cyrizh}
+\UnicodeCharacter{x0476}{\C\CYRIZH}
+\UnicodeCharacter{x0477}{\C\cyrizh}
+\UnicodeCharacter{x0478}{\CYRUK}
+\UnicodeCharacter{x0479}{\cyruk}
+\UnicodeCharacter{x047A}{\CYROMEGARND}
+\UnicodeCharacter{x047B}{\cyromegarnd}
+\UnicodeCharacter{x047C}{\CYROMEGATITLO}
+\UnicodeCharacter{x047D}{\cyromegatitlo}
+\UnicodeCharacter{x047E}{\CYROT}
+\UnicodeCharacter{x047F}{\cyrot}
+\UnicodeCharacter{x0480}{\CYRKOPPA}
+\UnicodeCharacter{x0481}{\cyrkoppa}
+\UnicodeCharacter{x0482}{\cyrthousands}
+\UnicodeCharacter{x0488}{\cyrhundredthousands}
+\UnicodeCharacter{x0489}{\cyrmillions}
+\UnicodeCharacter{x048C}{\CYRSEMISFTSN}
+\UnicodeCharacter{x048D}{\cyrsemisftsn}
+\UnicodeCharacter{x048E}{\CYRRTICK}
+\UnicodeCharacter{x048F}{\cyrrtick}
+\UnicodeCharacter{x0490}{\CYRGUP}
+\UnicodeCharacter{x0491}{\cyrgup}
+\UnicodeCharacter{x0492}{\CYRGHCRS}
+\UnicodeCharacter{x0493}{\cyrghcrs}
+\UnicodeCharacter{x0494}{\CYRGHK}
+\UnicodeCharacter{x0495}{\cyrghk}
+\UnicodeCharacter{x0496}{\CYRZHDSC}
+\UnicodeCharacter{x0497}{\cyrzhdsc}
+\UnicodeCharacter{x0498}{\CYRZDSC}
+\UnicodeCharacter{x0499}{\cyrzdsc}
+\UnicodeCharacter{x049A}{\CYRKDSC}
+\UnicodeCharacter{x049B}{\cyrkdsc}
+\UnicodeCharacter{x049C}{\CYRKVCRS}
+\UnicodeCharacter{x049D}{\cyrkvcrs}
+\UnicodeCharacter{x049E}{\CYRKHCRS}
+\UnicodeCharacter{x049F}{\cyrkhcrs}
+\UnicodeCharacter{x04A0}{\CYRKBEAK}
+\UnicodeCharacter{x04A1}{\cyrkbeak}
+\UnicodeCharacter{x04A2}{\CYRNDSC}
+\UnicodeCharacter{x04A3}{\cyrndsc}
+\UnicodeCharacter{x04A4}{\CYRNG}
+\UnicodeCharacter{x04A5}{\cyrng}
+\UnicodeCharacter{x04A6}{\CYRPHK}
+\UnicodeCharacter{x04A7}{\cyrphk}
+\UnicodeCharacter{x04A8}{\CYRABHHA}
+\UnicodeCharacter{x04A9}{\cyrabhha}
+\UnicodeCharacter{x04AA}{\CYRSDSC}
+\UnicodeCharacter{x04AB}{\cyrsdsc}
+\UnicodeCharacter{x04AC}{\CYRTDSC}
+\UnicodeCharacter{x04AD}{\cyrtdsc}
+\UnicodeCharacter{x04AE}{\CYRY}
+\UnicodeCharacter{x04AF}{\cyry}
+\UnicodeCharacter{x04B0}{\CYRYHCRS}
+\UnicodeCharacter{x04B1}{\cyryhcrs}
+\UnicodeCharacter{x04B2}{\CYRHDSC}
+\UnicodeCharacter{x04B3}{\cyrhdsc}
+\UnicodeCharacter{x04B4}{\CYRTETSE}
+\UnicodeCharacter{x04B5}{\cyrtetse}
+\UnicodeCharacter{x04B6}{\CYRCHRDSC}
+\UnicodeCharacter{x04B7}{\cyrchrdsc}
+\UnicodeCharacter{x04B8}{\CYRCHVCRS}
+\UnicodeCharacter{x04B9}{\cyrchvcrs}
+\UnicodeCharacter{x04BA}{\CYRSHHA}
+\UnicodeCharacter{x04BB}{\cyrshha}
+\UnicodeCharacter{x04BC}{\CYRABHCH}
+\UnicodeCharacter{x04BD}{\cyrabhch}
+\UnicodeCharacter{x04BE}{\CYRABHCHDSC}
+\UnicodeCharacter{x04BF}{\cyrabhchdsc}
+\UnicodeCharacter{x04C0}{\CYRpalochka}
+\UnicodeCharacter{x04C1}{\U\CYRZH}
+\UnicodeCharacter{x04C2}{\U\cyrzh}
+\UnicodeCharacter{x04C3}{\CYRKHK}
+\UnicodeCharacter{x04C4}{\cyrkhk}
+\UnicodeCharacter{x04C7}{\CYRNHK}
+\UnicodeCharacter{x04C8}{\cyrnhk}
+\UnicodeCharacter{x04CB}{\CYRCHLDSC}
+\UnicodeCharacter{x04CC}{\cyrchldsc}
+\UnicodeCharacter{x04D0}{\U\CYRA}
+\UnicodeCharacter{x04D1}{\U\cyra}
+\UnicodeCharacter{x04D2}{\"\CYRA}
+\UnicodeCharacter{x04D3}{\"\cyra}
+\UnicodeCharacter{x04D4}{\CYRAE}
+\UnicodeCharacter{x04D5}{\cyrae}
+\UnicodeCharacter{x04D6}{\U\CYRE}
+\UnicodeCharacter{x04D7}{\U\cyre}
+\UnicodeCharacter{x04D8}{\CYRSCHWA}
+\UnicodeCharacter{x04D9}{\cyrschwa}
+\UnicodeCharacter{x04DA}{\"\CYRSCHWA}
+\UnicodeCharacter{x04DB}{\"\cyrschwa}
+\UnicodeCharacter{x04DC}{\"\CYRZH}
+\UnicodeCharacter{x04DD}{\"\cyrzh}
+\UnicodeCharacter{x04DE}{\"\CYRZ}
+\UnicodeCharacter{x04DF}{\"\cyrz}
+\UnicodeCharacter{x04E0}{\CYRABHDZE}
+\UnicodeCharacter{x04E1}{\cyrabhdze}
+\UnicodeCharacter{x04E2}{\=\CYRI}
+\UnicodeCharacter{x04E3}{\=\cyri}
+\UnicodeCharacter{x04E4}{\"\CYRI}
+\UnicodeCharacter{x04E5}{\"\cyri}
+\UnicodeCharacter{x04E6}{\"\CYRO}
+\UnicodeCharacter{x04E7}{\"\cyro}
+\UnicodeCharacter{x04E8}{\CYROTLD}
+\UnicodeCharacter{x04E9}{\cyrotld}
+\UnicodeCharacter{x04EA}{\"\CYROTLD}
+\UnicodeCharacter{x04EB}{\"\cyrotld}
+\UnicodeCharacter{x04EC}{\"\CYREREV}
+\UnicodeCharacter{x04ED}{\"\cyrerev}
+\UnicodeCharacter{x04EE}{\=\CYRU}
+\UnicodeCharacter{x04EF}{\=\cyru}
+\UnicodeCharacter{x04F0}{\"\CYRU}
+\UnicodeCharacter{x04F1}{\"\cyru}
+\UnicodeCharacter{x04F2}{\H\CYRU}
+\UnicodeCharacter{x04F3}{\H\cyru}
+\UnicodeCharacter{x04F4}{\"\CYRCH}
+\UnicodeCharacter{x04F5}{\"\cyrch}
+\UnicodeCharacter{x04F8}{\"\CYRERY}
+\UnicodeCharacter{x04F9}{\"\cyrery}
+%\UnicodeCharacter{x2116}{\textnumero}
+%\UnicodeCharacter{x2329}{\cyrlangle}
+%\UnicodeCharacter{x232A}{\cyrrangle}
+%\UnicodeCharacter{xF6C4}{\cyrvarg}
+%\UnicodeCharacter{xF6C5}{\cyrvarb}
+%\UnicodeCharacter{xF6C6}{\cyrvard}
+%\UnicodeCharacter{xF6C7}{\cyrvarp}
+%\UnicodeCharacter{xF6C8}{\cyrvart}
+
+\endinput
diff --git a/macros/latex/contrib/t2/etc/utf-8/utflat.def b/macros/latex/contrib/t2/etc/utf-8/utflat.def
new file mode 100644
index 0000000000..3dfc1c55e9
--- /dev/null
+++ b/macros/latex/contrib/t2/etc/utf-8/utflat.def
@@ -0,0 +1,228 @@
+% Copyright 2000 Vladimir Volovich <vvv@vsu.ru>
+\ProvidesFile{utflat.def}[2000/08/19 v0.1 latin definitions for utf-8]
+
+\UnicodeCharacter{x00A0}{~}
+\UnicodeCharacter{x00A1}{\textexclamdown}
+\UnicodeCharacter{x00A2}{\textcent}
+\UnicodeCharacter{x00A3}{\textsterling}
+\UnicodeCharacter{x00A4}{\textcurrency}
+\UnicodeCharacter{x00A5}{\textyen}
+\UnicodeCharacter{x00A6}{\textbrokenbar}
+\UnicodeCharacter{x00A7}{\textsection}
+\UnicodeCharacter{x00A8}{\textasciidieresis}
+\UnicodeCharacter{x00A9}{\textcopyright}
+\UnicodeCharacter{x00AA}{\textordfeminine}
+\UnicodeCharacter{x00AB}{\guillemotleft}
+\UnicodeCharacter{x00AC}{\lnot}
+\UnicodeCharacter{x00AD}{\-}
+\UnicodeCharacter{x00AE}{\textregistered}
+\UnicodeCharacter{x00AF}{\textasciimacron}
+\UnicodeCharacter{x00B0}{\textdegree}
+\UnicodeCharacter{x00B1}{\pm}
+\UnicodeCharacter{x00B2}{{^2}}
+\UnicodeCharacter{x00B3}{{^3}}
+\UnicodeCharacter{x00B4}{\textasciiacute}
+\UnicodeCharacter{x00B5}{\mathrm{\mu}}
+\UnicodeCharacter{x00B6}{\textparagraph}
+\UnicodeCharacter{x00B7}{\cdot}
+\UnicodeCharacter{x00B8}{\c{}}
+\UnicodeCharacter{x00B9}{{^1}}
+\UnicodeCharacter{x00BA}{\textordmasculine}
+\UnicodeCharacter{x00BB}{\guillemotright}
+\UnicodeCharacter{x00BC}{\textonequarter}
+\UnicodeCharacter{x00BD}{\textonehalf}
+\UnicodeCharacter{x00BE}{\textthreequarters}
+\UnicodeCharacter{x00BF}{\textquestiondown}
+\UnicodeCharacter{x00C0}{\`{A}}
+\UnicodeCharacter{x00C1}{\'{A}}
+\UnicodeCharacter{x00C2}{\^{A}}
+\UnicodeCharacter{x00C3}{\~{A}}
+\UnicodeCharacter{x00C4}{\"{A}}
+\UnicodeCharacter{x00C5}{\AA}
+\UnicodeCharacter{x00C6}{\AE}
+\UnicodeCharacter{x00C7}{\c{C}}
+\UnicodeCharacter{x00C8}{\`{E}}
+\UnicodeCharacter{x00C9}{\'{E}}
+\UnicodeCharacter{x00CA}{\^{E}}
+\UnicodeCharacter{x00CB}{\"{E}}
+\UnicodeCharacter{x00CC}{\`{I}}
+\UnicodeCharacter{x00CD}{\'{I}}
+\UnicodeCharacter{x00CE}{\^{I}}
+\UnicodeCharacter{x00CF}{\"{I}}
+\UnicodeCharacter{x00D0}{\DH}
+\UnicodeCharacter{x00D1}{\~{N}}
+\UnicodeCharacter{x00D2}{\`{O}}
+\UnicodeCharacter{x00D3}{\'{O}}
+\UnicodeCharacter{x00D4}{\^{O}}
+\UnicodeCharacter{x00D5}{\~{O}}
+\UnicodeCharacter{x00D6}{\"{O}}
+\UnicodeCharacter{x00D7}{\texttimes}
+\UnicodeCharacter{x00D8}{\O}
+\UnicodeCharacter{x00D9}{\`{U}}
+\UnicodeCharacter{x00DA}{\'{U}}
+\UnicodeCharacter{x00DB}{\^{U}}
+\UnicodeCharacter{x00DC}{\"{U}}
+\UnicodeCharacter{x00DD}{\'{Y}}
+\UnicodeCharacter{x00DE}{\TH}
+\UnicodeCharacter{x00DF}{\ss}
+\UnicodeCharacter{x00E0}{\`{a}}
+\UnicodeCharacter{x00E1}{\'{a}}
+\UnicodeCharacter{x00E2}{\^{a}}
+\UnicodeCharacter{x00E3}{\~{a}}
+\UnicodeCharacter{x00E4}{\"{a}}
+\UnicodeCharacter{x00E5}{\aa}
+\UnicodeCharacter{x00E6}{\ae}
+\UnicodeCharacter{x00E7}{\c{c}}
+\UnicodeCharacter{x00E8}{\`{e}}
+\UnicodeCharacter{x00E9}{\'{e}}
+\UnicodeCharacter{x00EA}{\^{e}}
+\UnicodeCharacter{x00EB}{\"{e}}
+\UnicodeCharacter{x00EC}{\`{\i}}
+\UnicodeCharacter{x00ED}{\'{\i}}
+\UnicodeCharacter{x00EE}{\^{\i}}
+\UnicodeCharacter{x00EF}{\"{\i}}
+\UnicodeCharacter{x00F0}{\dh}
+\UnicodeCharacter{x00F1}{\~{n}}
+\UnicodeCharacter{x00F2}{\`{o}}
+\UnicodeCharacter{x00F3}{\'{o}}
+\UnicodeCharacter{x00F4}{\^{o}}
+\UnicodeCharacter{x00F5}{\~{o}}
+\UnicodeCharacter{x00F6}{\"{o}}
+\UnicodeCharacter{x00F7}{\div}
+\UnicodeCharacter{x00F8}{\o}
+\UnicodeCharacter{x00F9}{\`{u}}
+\UnicodeCharacter{x00FA}{\'{u}}
+\UnicodeCharacter{x00FB}{\^{u}}
+\UnicodeCharacter{x00FC}{\"{u}}
+\UnicodeCharacter{x00FD}{\'{y}}
+\UnicodeCharacter{x00FE}{\th}
+\UnicodeCharacter{x00FF}{\"{y}}
+\UnicodeCharacter{x0100}{\={A}}
+\UnicodeCharacter{x0101}{\={a}}
+\UnicodeCharacter{x0102}{\u{A}}
+\UnicodeCharacter{x0103}{\u{a}}
+\UnicodeCharacter{x0104}{\k{A}}
+\UnicodeCharacter{x0105}{\k{a}}
+\UnicodeCharacter{x0106}{\'{C}}
+\UnicodeCharacter{x0107}{\'{c}}
+\UnicodeCharacter{x0108}{\^{C}}
+\UnicodeCharacter{x0109}{\^{c}}
+\UnicodeCharacter{x010A}{\.{C}}
+\UnicodeCharacter{x010B}{\.{c}}
+\UnicodeCharacter{x010C}{\v{C}}
+\UnicodeCharacter{x010D}{\v{c}}
+\UnicodeCharacter{x010E}{\v{D}}
+\UnicodeCharacter{x010F}{\v{d}}
+\UnicodeCharacter{x0110}{\DJ}
+\UnicodeCharacter{x0111}{\dj}
+\UnicodeCharacter{x0112}{\={E}}
+\UnicodeCharacter{x0113}{\={e}}
+\UnicodeCharacter{x0114}{\u{E}}
+\UnicodeCharacter{x0115}{\u{e}}
+\UnicodeCharacter{x0116}{\.{E}}
+\UnicodeCharacter{x0117}{\.{e}}
+\UnicodeCharacter{x0118}{\k{E}}
+\UnicodeCharacter{x0119}{\k{e}}
+\UnicodeCharacter{x011A}{\v{E}}
+\UnicodeCharacter{x011B}{\v{e}}
+\UnicodeCharacter{x011C}{\^{G}}
+\UnicodeCharacter{x011D}{\^{g}}
+\UnicodeCharacter{x011E}{\u{G}}
+\UnicodeCharacter{x011F}{\u{g}}
+\UnicodeCharacter{x0120}{\.{G}}
+\UnicodeCharacter{x0121}{\.{g}}
+\UnicodeCharacter{x0122}{\c{G}}
+\UnicodeCharacter{x0123}{\c{g}}
+\UnicodeCharacter{x0124}{\^{H}}
+\UnicodeCharacter{x0125}{\^{h}}
+%\UnicodeCharacter{x0126}{}
+%\UnicodeCharacter{x0127}{}
+\UnicodeCharacter{x0128}{\~{I}}
+\UnicodeCharacter{x0129}{\~{\i}}
+\UnicodeCharacter{x012A}{\={I}}
+\UnicodeCharacter{x012B}{\={\i}}
+\UnicodeCharacter{x012C}{\u{I}}
+\UnicodeCharacter{x012D}{\u{\i}}
+\UnicodeCharacter{x012E}{\k{I}}
+\UnicodeCharacter{x012F}{\k{i}}
+\UnicodeCharacter{x0130}{\.{I}}
+\UnicodeCharacter{x0131}{\i}
+\UnicodeCharacter{x0132}{IJ}
+\UnicodeCharacter{x0133}{ij}
+\UnicodeCharacter{x0134}{\^{J}}
+\UnicodeCharacter{x0135}{\^{\j}}
+\UnicodeCharacter{x0136}{\c{K}}
+\UnicodeCharacter{x0137}{\c{k}}
+%\UnicodeCharacter{x0138}{}
+\UnicodeCharacter{x0139}{\'{L}}
+\UnicodeCharacter{x013A}{\'{l}}
+\UnicodeCharacter{x013B}{\c{L}}
+\UnicodeCharacter{x013C}{\c{l}}
+\UnicodeCharacter{x013D}{\v{L}}
+\UnicodeCharacter{x013E}{\v{l}}
+%\UnicodeCharacter{x013F}{}
+%\UnicodeCharacter{x0140}{}
+\UnicodeCharacter{x0141}{\L}
+\UnicodeCharacter{x0142}{\l}
+\UnicodeCharacter{x0143}{\'{N}}
+\UnicodeCharacter{x0144}{\'{n}}
+\UnicodeCharacter{x0145}{\c{N}}
+\UnicodeCharacter{x0146}{\c{n}}
+\UnicodeCharacter{x0147}{\v{N}}
+\UnicodeCharacter{x0148}{\v{n}}
+\UnicodeCharacter{x0149}{'n}
+\UnicodeCharacter{x014A}{\NG}
+\UnicodeCharacter{x014B}{\ng}
+\UnicodeCharacter{x014C}{\={O}}
+\UnicodeCharacter{x014D}{\={o}}
+\UnicodeCharacter{x014E}{\u{O}}
+\UnicodeCharacter{x014F}{\u{o}}
+\UnicodeCharacter{x0150}{\H{O}}
+\UnicodeCharacter{x0151}{\H{o}}
+\UnicodeCharacter{x0152}{\OE}
+\UnicodeCharacter{x0153}{\oe}
+\UnicodeCharacter{x0154}{\'{R}}
+\UnicodeCharacter{x0155}{\'{r}}
+\UnicodeCharacter{x0156}{\c{R}}
+\UnicodeCharacter{x0157}{\c{r}}
+\UnicodeCharacter{x0158}{\v{R}}
+\UnicodeCharacter{x0159}{\v{r}}
+\UnicodeCharacter{x015A}{\'{S}}
+\UnicodeCharacter{x015B}{\'{s}}
+\UnicodeCharacter{x015C}{\^{S}}
+\UnicodeCharacter{x015D}{\^{s}}
+\UnicodeCharacter{x015E}{\c{S}}
+\UnicodeCharacter{x015F}{\c{s}}
+\UnicodeCharacter{x0160}{\v{S}}
+\UnicodeCharacter{x0161}{\v{s}}
+\UnicodeCharacter{x0162}{\c{T}}
+\UnicodeCharacter{x0163}{\c{t}}
+\UnicodeCharacter{x0164}{\v{T}}
+\UnicodeCharacter{x0165}{\v{t}}
+%\UnicodeCharacter{x0166}{}
+%\UnicodeCharacter{x0167}{}
+\UnicodeCharacter{x0168}{\~{U}}
+\UnicodeCharacter{x0169}{\~{u}}
+\UnicodeCharacter{x016A}{\={U}}
+\UnicodeCharacter{x016B}{\={u}}
+\UnicodeCharacter{x016C}{\u{U}}
+\UnicodeCharacter{x016D}{\u{u}}
+\UnicodeCharacter{x016E}{\r{U}}
+\UnicodeCharacter{x016F}{\r{u}}
+\UnicodeCharacter{x0170}{\H{U}}
+\UnicodeCharacter{x0171}{\H{u}}
+\UnicodeCharacter{x0172}{\k{U}}
+\UnicodeCharacter{x0173}{\k{u}}
+\UnicodeCharacter{x0174}{\^{W}}
+\UnicodeCharacter{x0175}{\^{w}}
+\UnicodeCharacter{x0176}{\^{Y}}
+\UnicodeCharacter{x0177}{\^{y}}
+\UnicodeCharacter{x0178}{\"{Y}}
+\UnicodeCharacter{x0179}{\'{Z}}
+\UnicodeCharacter{x017A}{\'{z}}
+\UnicodeCharacter{x017B}{\.{Z}}
+\UnicodeCharacter{x017C}{\.{z}}
+\UnicodeCharacter{x017D}{\v{Z}}
+\UnicodeCharacter{x017E}{\v{z}}
+
+\endinput
diff --git a/macros/latex/contrib/t2/examples/example1.tex b/macros/latex/contrib/t2/examples/example1.tex
new file mode 100644
index 0000000000..abc24cbb9d
--- /dev/null
+++ b/macros/latex/contrib/t2/examples/example1.tex
@@ -0,0 +1,72 @@
+% This is the file example1.tex of the T2 package.
+
+\documentclass{article}
+
+% The following command overrides the default T2A encoding. If you
+% don't have new LH fonts with X2 and T2* encodings, you have to use
+% this command. It will select old lh* fonts with the LCY encoding.
+% You may also use OT2 7-bit cyrillic encoding.
+%
+% The general rule: always call the `fontenc' package *before* the BABEL
+% package, and also always use encoding which contains latin letters as
+% a last option to the `fontenc' package (i.e., X2 or OT2 must not
+% appear as a last option!).
+%
+% Uncomment the following line if you don't have the new LH fonts.
+%
+%\usepackage[LCY,OT1]{fontenc}
+
+% You may specify the (default) input encoding for the Russian letters.
+% Some of available encodings are (see cyinpenc.dtx for a full list):
+% cp866 --- MS-DOS Russian codepage
+% cp866av Alternative Variant of cp866
+% cp866mav Modified Alternative Variant of cp866
+% cp866nav New Alternative Variant of cp866
+% cp1251 --- MS-Windows Cyrillic codepage
+% cp855 --- MS-DOS Cyrillic codepage
+% koi8-r --- koi8-r Russian codepage (as of RFC1489)
+% isoir111
+% koi8-ru
+% koi8-u koi8-u Ukrainian codepage
+% 8859-5 --- ISO 8859-5 Cyrillic codepage
+% maccyr --- Apple Macintosh Cyrillic codepage (AKA MS cp10007)
+% macukr --- Apple Macintosh Ukrainian codepage
+
+\usepackage[cp1251,koi8-r]{inputenc}
+
+\usepackage[english,russian]{babel} % load Babel setup for English
+ % and Russian languages;
+ % the latter is the default.
+
+\begin{document}
+
+Here goes some text in koi8-r input encoding.
+It will look as a `garbage' of cyrillic glyphs if the X2 encoding is used,
+because X2 does not contain latin letters. :-)
+However, it will be Ok with the T2A encoding which appeared in lhfnt v3.19.
+
+% To switch the current language (and font encoding) to English,
+% use \English macro (or it's synonym: \Eng)
+% To switch the current language (and font encoding) to Russian,
+% use \Russian macro (or it's synonym: \Rus)
+% Switching languages will, in particular, set the correct hyphenation.
+
+% IMPORTANT:
+% If you are using X2 encoding (which does not contain latin letters), you
+% have to use language-switching commands (which also select the correct fonts).
+% You also have to use language-switching commands to have right hyphenation
+% anyway (unless you're using a combined `russian-english' language).
+
+% You may use several different input encodings in one document! :-)
+
+\inputencoding{cp1251}
+
+Here goes some text in cp1251 input encoding
+
+% You may also use several different Cyrillic font encodings in one document!
+
+\fontencoding{T2A}\selectfont
+
+Proba Pera
+
+\end{document}
diff --git a/macros/latex/contrib/t2/examples/example2.tex b/macros/latex/contrib/t2/examples/example2.tex
new file mode 100644
index 0000000000..2d3582bf88
--- /dev/null
+++ b/macros/latex/contrib/t2/examples/example2.tex
@@ -0,0 +1,25 @@
+% This is the file example2.tex of the T2 package.
+
+\input plainenc % Load support for inputenc mechanism
+
+\fontencoding{T2A} % Load the T2A encoding definition file (t2aenc.def)
+ % One can use also other font encodings, e.g. LCY.
+
+\font\larm=larm1000 % Set the default font --- Cyrillic
+\larm % T2A encoded Computer Modern font.
+% Note, that if you use e.g. lh* fonts (which have both Latin and
+% Cyrillic glyphs), it's better to load these fonts in plain.tex instead
+% of standard Computer Modern fonts. in this case you'll not need to
+% specify font names in your documents explicitly.
+
+\inputencoding{koi8-r} % Set current input encoding to koi8-r.
+ % See the file cyrlatex.ins for a complete
+ % list of available input encodings.
+
+Here goes some text in a koi8-r input encoding. .
+
+\inputencoding{cp866} % Set current input encoding to cp~866.
+
+Here goes some text in a cp~866 input encoding. ஡ .
+
+\bye
diff --git a/macros/latex/contrib/t2/examples/example3.tex b/macros/latex/contrib/t2/examples/example3.tex
new file mode 100644
index 0000000000..0bb1851f24
--- /dev/null
+++ b/macros/latex/contrib/t2/examples/example3.tex
@@ -0,0 +1,26 @@
+% This is the file example3.tex of the T2 package.
+
+% If you need to process a Plain TeX file, you may use a LaTeX `plain'
+% package by David Carlisle. You can get it from
+% CTAN:macros/latex/contrib/carlisle/plain.sty
+% In this case, you do not need any hacks with plainenc.tex to typeset
+% Cyrillic, and all the LaTeX power (including NFSS) is available. In
+% particular, `babel' package works out of the box, as well as inputenc.
+
+\documentclass{article}
+
+\usepackage[koi8-r]{inputenc}
+\usepackage[russian]{babel}
+\usepackage{plain}
+
+\begin{document}
+
+\begin{plain}
+
+\input{file} % Input a Plain TeX file.
+ % You may also type Plain TeX commands here
+ % directly, without \input'ing any file.
+
+\end{plain}
+
+\end{document}
diff --git a/macros/latex/contrib/t2/examples/example4.tex b/macros/latex/contrib/t2/examples/example4.tex
new file mode 100644
index 0000000000..6756ed7b0a
--- /dev/null
+++ b/macros/latex/contrib/t2/examples/example4.tex
@@ -0,0 +1,62 @@
+% This is the file example4.tex of the T2 package.
+% It should be processed with "cyrtex" --- cyrillized plain TeX.
+\parindent0pt
+\parskip.5\baselineskip
+
+\inputencoding{koi8-r}
+
+\centerline{\bf }
+\vskip1cm
+\centerline{\bf }
+
+\vfill
+
+ :
+\item{--} , ;
+\item{--} ,
+ ;
+\item{--} .
+
+\inputencoding{cp866}
+
+ ਤ ᯮ ࠭
+, ᮡ ⬥⨢ ᯮ ⮢, ᢥ
+ࠧ㬠 ⫮, ⠫ ⭠.
+
+⢠ 㯮ॡ 㬥७, 宬 殮訬 ९⢨ ⠭栬
+ 稭. , ঠ, 㤥 ⪠~---
+ ᨤ. 祬 , 嫥,
+ᨫ. 嫥襬 ᫠, ᬥ ⭠.
+
+\inputencoding{cp1251}
+
+ --- ---
+ .
+
+ , .
+ , ,
+.
+
+\inputencoding{iso88595}
+
+ , , ,
+
+ .
+
+ , , , ,
+ , --- ,
+. .
+ , ,
+ , .
+
+\inputencoding{maccyr}
+
+ , ,
+ , ---
+, , ,
+ . , .
+
+\vfill
+\rightline{<< I>>}
+
+\bye
diff --git a/macros/latex/contrib/t2/examples/example5.tex b/macros/latex/contrib/t2/examples/example5.tex
new file mode 100644
index 0000000000..335fa1fe4b
--- /dev/null
+++ b/macros/latex/contrib/t2/examples/example5.tex
@@ -0,0 +1,35 @@
+% This is the file example5.tex of the T2 package.
+%
+% This file can be used (after some needed modifications) to build a
+% `custom' LaTeX format file using `mylatex' by David Carlisle. You can
+% find it at CTAN:macros/latex/contrib/carlisle/mylatex.ltx
+% See the documentation on usage of this approach in mylatex.ltx.
+
+\documentclass{article}
+
+\usepackage[T2A]{fontenc}
+\usepackage[koi8-r]{inputenc}
+\usepackage[russian]{babel}
+
+% This is standard for Russian typesetting:
+\usepackage{indentfirst}
+
+% To get \texttrademark, \textregistered, \textcopyright, \quotesinglbase,
+% \textbrokenbar and some other symbols looking good:
+\usepackage{textcomp}
+
+% Make \varkappa, \leqslant, \geqslant (and a lot of other) symbols
+% available (they are used in Russian mathematical books instead of
+% \kappa, \leq, \geq; also \varepsilon instead of \epsilon and
+% \varphi instead of \phi are often used).
+\usepackage{amssymb}
+
+% If you are not using complex mathematical typesetting, comment out
+% the line below.
+\usepackage{amsmath}
+
+% if you want straight integral signs (and other stuff)
+\usepackage{euler}
+
+\begin{document}
+% END OF FILE