summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/t2/cyrfinst/derivatives
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/cyrfinst/derivatives
Initial commit
Diffstat (limited to 'macros/latex/contrib/t2/cyrfinst/derivatives')
-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
35 files changed, 1092 insertions, 0 deletions
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