summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:45:36 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:45:36 +0000
commit2939242967231097459df0fc3150fabc2f639111 (patch)
tree00fe7273a946e43cc5d5b9fb00250af4fe82866e /Master/texmf-dist
parent5bcbcf594f1d7f279c5897da00d676e6270a0a9a (diff)
trunk/Master/texmf-dist/tex/fontinst
git-svn-id: svn://tug.org/texlive/trunk@612 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/tex/fontinst/base/bbox.sty163
-rw-r--r--Master/texmf-dist/tex/fontinst/base/cfntinst.sty3497
-rw-r--r--Master/texmf-dist/tex/fontinst/base/finstmsc.sty1365
-rw-r--r--Master/texmf-dist/tex/fontinst/base/fontinst.ini97
-rw-r--r--Master/texmf-dist/tex/fontinst/base/fontinst.sty3485
-rw-r--r--Master/texmf-dist/tex/fontinst/base/trig.sty99
-rw-r--r--Master/texmf-dist/tex/fontinst/base/xfntinst.sty3584
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/6r.etx945
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/README51
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/cyrillic.mtx829
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyc.etx47
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyci.etx47
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycij.etx48
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycj.etx47
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyctt.etx48
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyi.etx19
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyij.etx19
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyitt.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyj.etx19
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcytt.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2c.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2cj.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2i.etx18
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2ij.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2j.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ac.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2acj.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ai.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aij.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aj.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bc.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bcj.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bi.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bij.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bj.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cc.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ccj.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ci.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cij.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cj.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2c.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2cj.etx46
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2i.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2ij.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2j.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-cmc.tex70
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-wncy.tex94
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/etc/cyralias.tex223
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/etc/fnstcorr.tex38
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/etc/showenc18
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/lcy-hi.etx347
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/lcy.etx815
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/ot2.etx703
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/t2a.etx1284
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/t2b.etx1284
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/t2c.etx1284
-rw-r--r--Master/texmf-dist/tex/fontinst/cyrfinst/x2.etx1102
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/8r.etx1354
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/8y.etx1295
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1.etx938
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1c.etx92
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1cj.etx69
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx61
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1i.etx56
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1ij.etx56
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx68
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1j.etx52
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/ot1tt.etx66
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/t1.etx1452
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/t1c.etx63
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/t1cj.etx51
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/t1i.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/t1ij.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/t1j.etx20
-rw-r--r--Master/texmf-dist/tex/fontinst/latinetx/txtfdmns.etx136
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx234
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx251
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx1791
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx1324
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx568
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx256
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx409
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx194
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx302
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx247
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx646
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx190
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx166
-rw-r--r--Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx114
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/euex.etx164
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/eufrak.etx238
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/eurm.etx239
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/euscr.etx171
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/msam.etx636
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/msbm.etx619
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/oml.etx625
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/oms.etx672
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/omx.etx731
-rw-r--r--Master/texmf-dist/tex/fontinst/mathetx/rsfs.etx92
-rw-r--r--Master/texmf-dist/tex/fontinst/mathmtx/mathex.mtx303
-rw-r--r--Master/texmf-dist/tex/fontinst/mathmtx/mathit.mtx280
-rw-r--r--Master/texmf-dist/tex/fontinst/mathmtx/mathsy.mtx313
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/csc2x.tex118
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/csckrn2x.tex121
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/glyphbox.mtx62
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/glyphoff.mtx8
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/glyphon.mtx7
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/kernoff.mtx6
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/kernon.mtx6
-rw-r--r--Master/texmf-dist/tex/fontinst/misc/osf2x.tex37
-rw-r--r--Master/texmf-dist/tex/fontinst/smbletx/digit2.etx10
-rw-r--r--Master/texmf-dist/tex/fontinst/smbletx/ts1.etx760
-rw-r--r--Master/texmf-dist/tex/fontinst/smbletx/ts1i.etx7
-rw-r--r--Master/texmf-dist/tex/fontinst/smbletx/ts1ij.etx7
-rw-r--r--Master/texmf-dist/tex/fontinst/smbletx/ts1j.etx7
-rw-r--r--Master/texmf-dist/tex/fontinst/smblmtx/resetosf.mtx88
-rw-r--r--Master/texmf-dist/tex/fontinst/smblmtx/textcomp.mtx561
-rw-r--r--Master/texmf-dist/tex/fontinst/smblmtx/unsetnum.mtx62
118 files changed, 41980 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/fontinst/base/bbox.sty b/Master/texmf-dist/tex/fontinst/base/bbox.sty
new file mode 100644
index 00000000000..d06bc8f47c0
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/base/bbox.sty
@@ -0,0 +1,163 @@
+
+% bbox.sty -- bounding box extension for fontinst
+%
+% This file defines the following commands for setting, resetting,
+% and unsetting the bounding boxes of glyphs:
+%
+% \setglyphbb{GLYPH}{LEFT}{BOTTOM}{RIGHT}{TOP}
+% \resetglyphbb{GLYPH}{LEFT}{BOTTOM}{RIGHT}{TOP}
+% \unsetglyphbb{GLYPH}
+%
+% It also defines the following four integer expressions for
+% quering bounding box metrics:
+%
+% \bbleft{GLYPH}
+% \bbbottom{GLYPH}
+% \bbright{GLYPH}
+% \bbtop{GLYPH}
+%
+% For glyphs that do not have a bounding box set, they default
+% to using the "TeX box" of the glyph.
+%
+% Finally, the file changes AFM-to-MTX conversions so that bounding
+% box information is converted to \setglyphbb commands and augments
+% font transformation and reglyphing to preserve this information.
+
+
+\needsfontinstversion{1.927}
+
+\fontinstcc
+
+\def\resetglyphbb#1#2#3#4#5{
+ \eval_expr_to\a_count{#2}
+ \eval_expr_to\b_count{#3}
+ \eval_expr_to\c_count{#4}
+ \eval_expr_to\d_count{#5}
+ \x_cs\edef{gb-#1}{
+ {\the\a_count}{\the\b_count}{\the\c_count}{\the\d_count}
+ }
+}
+\def\setglyphbb#1#2#3#4#5{
+ \if_undefined{gb-\glyph_name_modifier{#1}}\then
+ \resetglyphbb{\glyph_name_modifier{#1}}{#2}{#3}{#4}{#5}
+ \fi
+}
+\def\unsetglyphbb#1{\x_cs\let{gb-#1}=\x_relax}
+
+\def\first_of_four#1#2#3#4{#1}
+\def\second_of_four#1#2#3#4{#2}
+\def\third_of_four#1#2#3#4{#3}
+\def\fourth_of_four#1#2#3#4{#4}
+
+\def\bbleft#1{
+ \if_defined{gb-#1}\then
+ \expandafter\expandafter \expandafter\first_of_four
+ \csname gb-#1\endcsname
+ \else
+ 0
+ \fi
+}
+\def\bbbottom#1{
+ \if_defined{gb-#1}\then
+ \expandafter\expandafter \expandafter\second_of_four
+ \csname gb-#1\endcsname
+ \else
+ \neg{\depth{#1}}
+ \fi
+}
+\def\bbright#1{
+ \if_defined{gb-#1}\then
+ \expandafter\expandafter \expandafter\third_of_four
+ \csname gb-#1\endcsname
+ \else
+ \width{#1}
+ \fi
+}
+\def\bbtop#1{
+ \if_defined{gb-#1}\then
+ \expandafter\expandafter \expandafter\fourth_of_four
+ \csname gb-#1\endcsname
+ \else
+ \height{#1}
+ \fi
+}
+
+
+% Make \afmtomtx generate \setglyphbb commands:
+\def\afm_char{
+ \a_count=-\bbox_lly
+ \eval_expr{
+ \italcorr_expression\x_width\bbox_llx\bbox_urx\bbox_lly\bbox_ury
+ }
+ \out_line{
+ \ifnum -1<\char_slot
+ \string\setrawglyph
+ \else
+ \string\setnotglyph
+ \fi
+ {\char_name}
+ {\raw_font_name}
+ {10pt}
+ {\the\char_slot}
+ {\the\x_width}
+ {\the\bbox_ury}
+ {\the\a_count}
+ {\the\result}
+ }
+ \out_line{
+ \string\setglyphbb{\char_name}
+ {\the\bbox_llx}{\the\bbox_lly}{\the\bbox_urx}{\the\bbox_ury}
+ }
+}
+
+
+% Make sure \setglyphbb is transformed OK.
+% Slanting of course cannot be done exactly when only the bbox
+% is known.
+\def\mtxtomtx_setglyphbb#1#2#3#4#5{
+ \eval_expr_to\a_count{\add{
+ \scale{#2}{\int{x-scale}}
+ }{
+ \scale{#3}{\int{slant-scale}}
+ }}
+ \eval_expr_to\b_count{\scale{#3}{\int{y-scale}}}
+ \eval_expr_to\c_count{\add{
+ \scale{#4}{\int{x-scale}}
+ }{
+ \scale{#5}{\int{slant-scale}}
+ }}
+ \eval_expr_to\d_count{\scale{#5}{\int{y-scale}}}
+ \out_line{
+ \string\setglyphbb{#1}
+ {\the\a_count}{\the\b_count}{\the\c_count}{\the\d_count}
+ }
+}
+
+\add_to\mtxtomtx_redefinitions{
+ \let\setglyphbb=\mtxtomtx_setglyphbb
+}
+
+% Finally, for completeness, the analogous thing for reglyphing.
+
+\def\reglyph_setglyphbb#1#2#3#4#5{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{
+ \string\setglyphbb{\glyphname}{#2}{#3}{#4}{#5}
+ }
+ \fi
+}
+
+\add_to\reglyph_redefinitions{
+ \let\setglyphbb=\reglyph_setglyphbb
+}
+
+
+\normalcc
+
+
+\endinput
+
+
diff --git a/Master/texmf-dist/tex/fontinst/base/cfntinst.sty b/Master/texmf-dist/tex/fontinst/base/cfntinst.sty
new file mode 100644
index 00000000000..00271bbe75c
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/base/cfntinst.sty
@@ -0,0 +1,3497 @@
+%%
+%% This is file `cfntinst.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fibasics.dtx (with options: `pkg')
+%% ficommon.dtx (with options: `pkg')
+%% fimain.dtx (with options: `pkg,boundaryCompability')
+%% ficonv.dtx (with options: `pkg')
+%% filtfam.dtx (with options: `pkg,textcomp,debug')
+%% fimapgen.dtx (with options: `pkg')
+%% fibasics.dtx (with options: `pkg2')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: fibasics.dtx
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\#=6
+\catcode`\^=7
+\def\fontinstversion{1.927}
+\ifx\ProvidesPackage\undefined
+ \def\NeedsTeXFormat#1{}
+ \def\ProvidesPackage#1[#2]{}
+\fi
+\ProvidesPackage{fontinst}
+[2004/08/07 v\fontinstversion\space
+ fontinst installation package]
+\def\a_macro#1{\catcode\number`#1=\the\catcode`#1 }
+\edef\normalcc{%
+ \a_macro{\ }\a_macro{\^^M}\a_macro{\@}\a_macro{\_}\a_macro{\~}
+}
+\def\fontinstcc{%
+ \catcode`\ =9%
+ \catcode`\^^M=9%
+ \catcode`\@=11%
+ \catcode`\_=11%
+ \catcode`\~=10
+}
+\fontinstcc
+\ifx\@ne\undefined_command
+ \input fontinst.ini\relax
+\fi
+\ifx\bye\undefined_command
+ \def\supereject{\par\penalty-\@MM}
+ \outer\expandafter\def \csname bye\endcsname
+ {\par\vfill\supereject\@@end}
+\fi
+\newcount\a_count
+\newcount\b_count
+\newcount\c_count
+\newcount\d_count
+\newcount\e_count
+\newcount\f_count
+\newcount\g_count
+\newdimen\a_dimen
+\newdimen\b_dimen
+\newdimen\c_dimen
+\newdimen\d_dimen
+\newtoks\a_toks
+\newtoks\b_toks
+\newtoks\c_toks
+\newif\if_a_
+\newwrite\out_file
+\mathchardef\one_thousand=1000
+\mathchardef\five_hundred=500
+\mathchardef\one_hundred=100
+\mathchardef\max_mathchardef="7FFF
+\mathchardef\two_thousand=2000
+\newdimen\half_point \half_point=0.5pt
+\let\@tempdima\a_dimen
+\let\@tempdimb\b_dimen
+\input trig.sty
+\def\x_cs#1#2{\expandafter#1\csname#2\endcsname}
+\let\x_relax=\relax
+\def\g_let{\global\let}
+\def\empty_command{}
+\def\gobble_one#1{}
+\def\gobble_two#1#2{}
+\def\gobble_three#1#2#3{}
+\def\identity_one#1{#1}
+\def\first_of_two#1#2{#1}
+\def\second_of_two#1#2{#2}
+\def\swap_two#1#2{#2#1}
+\def\first_of_three#1#2#3{#1}
+\bgroup
+ \catcode`\[=1
+ \catcode`\]=2
+ \catcode`\#=12
+ \catcode`\%=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \gdef\hash_char[#]
+ \gdef\percent_char[%]
+ \gdef\left_brace_char[{]
+ \gdef\right_brace_char[}]
+\egroup
+\def\first_char#1#2={#1}
+\def\add_to#1#2{
+ \ifx#1\x_relax
+ \def#1{#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{#1#2}
+ \fi
+}
+\def\prep_to#1#2{
+ \ifx#1\x_relax
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2#1}
+ \fi
+}
+\def\never_do{\noexpand\do}
+\newif\if_extensions_warning_
+\_extensions_warning_false
+\ifx \eTeXversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\eTeX#1{
+ \if_extensions_warning_
+ \space/\space e-TeX\space version\space #1
+~ \else
+~ \ifdim \number\eTeXversion\eTeXrevision\p@ < #1\p@ \else
+~ \_a_true
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\ifx \pdftexversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\pdfTeX#1#2{%
+ \if_extensions_warning_
+ \space/\space pdfTeX\space version\space
+ \ifnum #1<100\space
+ 0.\ifnum #1<10\space 0\fi
+ \else
+ \expandafter\swap_two \expandafter.
+ \fi
+ #1#2%
+~ \else
+~ \ifdim #1>\pdftexversion \else
+~ \ifnum \expandafter\expandafter \expandafter`
+~ \expandafter\first_char \pdftexrevision= <
+~ \expandafter` \first_char#2=
+~ \else \_a_true \fi
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\def\needsTeXextension#1#2{
+ \_a_false
+ #1
+ \if_a_ \else
+ \_extensions_warning_true
+ \edef\a_macro{#1}
+ \_extensions_warning_false
+ \fontinstwarningnoline{#2}{
+ This~file~needs:\messagebreak
+ \expandafter\second_of_two\a_macro
+ \iffalse
+ <no~sufficient~extensions~were~listed!!>\if_false
+ \fi
+ \messagebreak
+ You~are~not~using~any~of~them.~This~is~likely~to~cause~errors
+ }
+ \fi
+}
+\def\open_out#1{
+ \immediate\openout\out_file=#1 \xdef\out_filename{#1}}
+\def\close_out#1{
+ \immediate\write16{#1~written~on~\out_filename.}
+ \immediate\closeout\out_file}
+\def\out_line#1{\immediate\write\out_file{#1}}
+\edef\out_lline#1{\noexpand\out_line{\space\space\space#1}}
+\edef\out_llline#1{
+ \noexpand\out_line{\space\space\space\space\space\space#1}
+}
+\def\TeX_terminal{\string\TeX\space terminal}
+\chardef\closed_stream=99
+\x_cs\let{out_filename-99}=\TeX_terminal
+\x_cs\def{out_filename--1}{\jobname.log}
+\def\allocate_stream{
+ \a_count=\m@ne
+ \b_count=\m@ne
+ \loop \ifnum \count17>\a_count
+ \advance \a_count \@ne
+ \x_cs\ifx{out_filename-\the\a_count}\TeX_terminal
+ \b_count=\a_count
+ \a_count=\count17
+ \fi
+ \repeat
+ \ifnum \b_count=\m@ne
+ \global\advance\count17by\@ne
+ \ifnum \count17<\sixt@@n
+ \b_count=\count17
+ \global\x_cs\let{out_filename-\the\b_count}\TeX_terminal
+ \wlog{\string\write\the\b_count\space allocated~to~the~pool.}
+ \else
+ \global\count17=\sixt@@n
+ \fi
+ \fi
+}
+\def\ch@ck#1#2#3{
+ \ifnum \count1#1<#2 \else
+ \errmessage{No~room~for~a~new~#3}
+ \global\count1#1=#2
+ \fi
+}
+\def\open_pout#1#2{
+ \allocate_stream
+ \ifnum \b_count=\m@ne
+ \immediate\write\sixt@@n{fontinst~is~out~of~output~streams.^^J
+ Output~file~#2~cannot~be~opened.^^J
+ Writes~will~be~redirected~to~the~log~file.
+ }
+ \gdef#1{\m@ne}
+ \else
+ \immediate\openout\b_count=#2\x_relax
+ \x_cs\xdef{out_filename-\the\b_count}{#2}
+ \global\chardef#1=\b_count
+ \fi
+}
+\def\close_pout#1#2{
+ \ifnum #1=\closed_stream
+ \errmessage{Output~file~\string#1~(#2)~not~closed,^^J
+ since~it~was~not~open}
+ \else
+ \immediate\write\sixt@@n{#2~written~on~
+ \csname out_filename-\the#1\endcsname.}
+ \ifnum #1=\m@ne \else
+ \immediate\closeout#1
+ \global\x_cs\let{out_filename-\the#1}=\TeX_terminal
+ \fi
+ \global\chardef#1=\closed_stream
+ \fi
+}
+\def\pout_line#1#2{\immediate\write#1{#2}}
+\edef\pout_lline#1#2{\noexpand\pout_line#1{\space\space\space#2}}
+\edef\pout_llline#1#2{
+ \noexpand\pout_line#1{\space\space\space\space\space\space#2}
+}
+\def\tempfileprefix#1{\def\temp_prefix{#1}}
+\tempfileprefix{}
+\let\then=\iffalse
+\def\if_false{\iffalse}
+\def\if_true{\iftrue}
+\_a_false\eTeX{2.0}
+\if_a_\else \catcode`\~=14\x_relax \fi
+~ \def\if_defined#1\then{
+~ \if
+~ \ifcsname#1\endcsname
+~ \expandafter\ifx \csname#1\endcsname \x_relax
+~ 0
+~ \else
+~ 1
+~ \fi
+~ \else
+~ 0
+~ \fi
+~ 1
+~ }
+~ \def\if_undefined{\expandafter\unless\if_defined}
+\catcode`\~=\if_a_ 14 \else 10 \fi \x_relax
+~ \def\if_defined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ \expandafter\if_false
+~ \else
+~ \expandafter\if_true
+~ \fi
+~ }
+~ \def\if_undefined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ }
+\catcode`\~=10\x_relax
+\def\gobble_if{\iftrue\else}
+\def\if_or#1\or_else#2\then{
+ #1\then
+ \expandafter\if_true
+ \else
+ #2\then
+ \expandafter\expandafter\expandafter\if_true
+ \else
+ \expandafter\expandafter\expandafter\if_false
+ \fi
+ \fi
+}
+\def\if_equal#1\then{\ifx#1}
+\def\if_file_exists#1\then{
+ \immediate\openin1=#1\x_relax
+ \ifeof1\x_relax
+ \immediate\closein1
+ \expandafter\if_false
+ \else
+ \immediate\closein1
+ \expandafter\if_true
+ \fi
+}
+\let\Else=\else
+\let\Fi=\fi
+\x_cs\ifx{@@input}\x_relax
+ \let\primitiveinput=\input
+\else
+ \let\primitiveinput=\@@input
+\fi
+\def\process_csep_list#1#2,{
+ \ifx\process_csep_list#2
+ \expandafter\gobble_one
+ \else
+ \expandafter\identity_one
+ \fi{
+ #1{#2}
+ \process_csep_list{#1}
+ }
+}
+\def\make_factor#1{
+ \ifnum #1<\z@
+ -\expandafter\make_factor_i\expandafter{\number-#1}
+ \else
+ \expandafter\make_factor_i\expandafter{\number#1}
+ \fi
+}
+\def\make_factor_i#1{
+ \ifnum #1<\one_thousand
+ \make_factor_ii{#1}
+ \else
+ \make_factor_iii #1
+ \fi
+ #1
+}
+\def\make_factor_ii#1{
+ 0.
+ \ifnum #1<\one_hundred
+ 0
+ \ifnum #1<10~ 0\fi
+ \fi
+}
+\def\make_factor_iii#1#2#3\fi#4{
+ \fi
+ #4
+ \ifnum 1#3<\one_thousand
+ .
+ \else
+ \make_factor_iii#2#3
+ \fi
+}
+{
+ \catcode`\p=12
+ \catcode`\t=12
+ \gdef\lose_measure#1pt{#1}
+}
+\let\messagebreak\x_relax
+\def\generic_info#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\m@ne{#2\on_line.}
+ \endgroup
+}
+\def\generic_warning#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\closed_stream{^^J#2\on_line.^^J}
+ \endgroup
+}
+\def\generic_error#1#2#3#4{
+ \begingroup
+ \immediate\write\closed_stream{}
+ \def\messagebreak{^^J}
+ \edef\a_macro{{#4}}
+ \errhelp\a_macro
+ \def\messagebreak{^^J#1}
+ \errmessage{#2.^^J^^J#3
+ Type~\space H~<return>~\space for~immediate~help
+ }
+ \endgroup
+}
+\def\fontinsterror#1#2#3{
+ \generic_error{
+ \four_spaces\four_spaces
+ }{
+ #1~error:\messagebreak #2
+ }{
+ }{#3}
+}
+\def\fontinstwarning#1#2{
+ \generic_warning{
+ \four_spaces\four_spaces
+ }{
+ #1~warning:\messagebreak #2
+ }
+}
+\def\fontinstwarningnoline#1#2{
+ \fontinstwarning{#1}{#2\gobble_one}
+}
+\def\fontinstinfo#1#2{
+ \generic_info{
+ \four_spaces\four_spaces
+ }{
+ #1~info:\messagebreak #2
+ }
+}
+\def\on_line{~on~input~line~\the\inputlineno}
+\edef\four_spaces{\space\space\space\space}
+\gdef\error_help_a{
+ Your~command~was~ignored.\messagebreak
+ Type~\space I~<command>~<return>~\space to~replace~it~
+ with~another~command,\messagebreak
+ or~\space <return>~\space to~continue~without~it.}
+\gdef\error_help_c{
+ Try~typing~\space <return>~
+ \space to~proceed.\messagebreak
+ If~that~doesn't~work,~type~\space X~<return>~\space to~quit.}
+\gdef\error_help_d{
+ You're~in~trouble~here.~\space\error_help_c}
+\def\error_help_e#1{You~can~continue,~but~the~#1~wrong.}
+\newlinechar=`\^^J
+\errorcontextlines=999
+\tracinglostchars=1
+%%% From file: ficommon.dtx
+\def\str#1{\csname~s-#1\endcsname}
+\def\strint#1{\expandafter\identity_one\expandafter{\number\int{#1}}}
+\newcount\result
+\def\eval_expr#1{\global\result=#1\x_relax}
+\def\eval_expr_to#1#2{\eval_expr{#2}#1=\result}
+\def\g_eval_expr_to#1#2{\eval_expr{#2}\global#1=\result}
+\def\add#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\advance \result \a_count
+ \egroup
+}
+\def\sub#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \advance \a_count -\result
+ \global\result=\a_count
+ \egroup
+}
+\def\int#1{\csname i-#1 \endcsname}
+\def\neg#1{#1 \global\result=-\result}
+\def\mul#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \egroup
+}
+\def\div#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \divide \a_count \result
+ \global\result=\a_count
+ \egroup
+}
+\def\max#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count>\result \global\result=\a_count \fi
+ \egroup
+}
+\def\min#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count<\result \global\result=\a_count \fi
+ \egroup
+}
+\def\half#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\otherhalf#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \else \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\scale#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \rounded_thousandths
+ \egroup
+}
+\def\rounded_thousandths{
+ \global\divide \result \five_hundred
+ \ifodd \result
+ \global\advance \result by \ifnum 0>\result - \fi 1
+ \fi
+ \global\divide \result \tw@
+}
+\def\l_rounded_thousandths#1{
+ \divide #1 \five_hundred
+ \ifodd #1
+ \advance #1 by \ifnum 0>#1 - \fi\@ne
+ \fi
+ \divide #1 \tw@
+}
+\def\l_inv_scale#1#2{
+ \multiply #1 \two_thousand
+ \divide #1 #2\x_relax
+ \ifodd#1 \advance #1 \ifnum 0>#1 - \fi\@ne \fi
+ \divide #1 \tw@
+}
+\def\ifnumber#1#2#3\then{
+ \eval_expr_to\a_count{#1}
+ \eval_expr{#3}
+ \ifnum \a_count#2\result
+ \expandafter\if_true
+ \else
+ \expandafter\if_false
+ \fi
+}
+
+\let\setsomething_global=\x_relax
+\def\x_setint#1#2{
+ \x_cs\ifx{i-#1}\x_relax
+ \x_resetint{#1}{#2}
+ \fi
+}
+\let\setint=\x_setint
+\def\x_setstr#1#2{
+ \x_cs\ifx{s-#1}\x_relax
+ \setsomething_global\x_cs\edef{s-#1}{#2}
+ \fi
+}
+\let\setstr=\x_setstr
+\def\setdim#1#2{
+ \x_cs\ifx{d-#1}\x_relax
+ \a_dimen=#2\x_relax
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+ \fi
+}
+\def\setcommand#1{
+ \ifx#1\undefined_command
+ \setsomething_global \expandafter\def \expandafter#1
+ \else
+ \expandafter\def \expandafter\a_macro
+ \fi
+}
+\def\x_resetint#1#2{
+ \eval_expr{#2}
+ \setsomething_global
+ \ifnum\result<\max_mathchardef
+ \ifnum 0>\result
+ \x_cs\edef{i-#1}{\the\result}
+ \else
+ \x_cs\mathchardef{i-#1}=\result
+ \fi
+ \else
+ \x_cs\edef{i-#1}{\the\result}
+ \fi
+}
+\let\resetint=\x_resetint
+\def\resetstr#1#2{\setsomething_global\x_cs\edef{s-#1}{#2}}
+\def\resetdim#1#2{
+ \a_dimen=#2
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+}
+\def\resetcommand#1{\setsomething_global\def#1}
+\def\dim#1{\csname~d-#1\endcsname}
+\def\ifisint#1\then{\if_defined i-#1\then}
+\def\ifisstr#1\then{\if_defined s-#1\then}
+\def\ifisdim#1\then{\if_defined d-#1\then}
+\def\ifiscommand#1\then{
+ \ifx#1\undefined_command
+ \expandafter\if_false
+ \else
+ \expandafter\if_true
+ \fi
+}
+\def\unsetint#1{\setsomething_global\x_cs\let{i-#1}\x_relax}
+\def\unsetstr#1{\setsomething_global\x_cs\let{s-#1}\x_relax}
+\def\unsetdim#1{\setsomething_global\x_cs\let{d-#1}\x_relax}
+\def\unsetcommand#1{\setsomething_global\let#1=\undefined_command}
+\def\offcommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax
+ \setsomething_global\x_cs\let{saved-\string#1}#1
+ \x_cs\ifx{off-\string#1}\x_relax
+ \generate_off_command{#1}
+ \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname off-\string#1\endcsname
+ \fi
+ \fi
+}
+\def\oncommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname saved-\string#1\endcsname
+ \setsomething_global\x_cs\let{saved-\string#1}\x_relax
+ \fi
+}
+\def\generate_off_command#1{
+ \a_count=0
+ \let\next=\count_hashes
+ \expandafter\next\meaning#1~->\x_relax
+ \b_count=0
+ \a_toks={}
+ \loop \ifnum \b_count<\a_count
+ \advance \b_count 1
+ \a_toks=\expandafter{\the\expandafter\a_toks \expandafter####
+ \the\b_count}
+ \repeat
+ \setsomething_global \expandafter\def \expandafter#1 \the\a_toks {}
+}
+\def\count_hashes#1#2{
+ \if \hash_char#1
+ \advance \a_count 1
+ \else
+ \if -#1
+ \if >#2
+ \let\next=\gobble_to_xrelax
+ \fi\fi
+ \fi
+ \next#2
+}
+\def\gobble_to_xrelax#1\x_relax{}
+\def\for(#1)#2#3#4{
+ \eval_expr_to\a_count{#2}
+ \x_resetint{#1}{\a_count}
+ \eval_expr{#4}
+ \ifnum 0=\result \else
+ \c_count=\result
+ \eval_expr_to\b_count{#3}
+ \setsomething_global\x_cs\edef{for-#1}{
+ \the\c_count \x_relax
+ \noexpand\ifnum \gobble_one\fi
+ \the\b_count \ifnum 0>\c_count > \else < \fi
+ }
+ \def\next##1##2##3\endfor(#1){##2\for_i{##1}{##3}}
+ \next{#1}
+ \fi
+}
+\def\for_i#1#2{
+ \setsomething_global\x_cs\def{body-#1}{#2}
+ \ifnum \b_count \ifnum0>\c_count >\else<\fi \a_count
+ \expandafter\gobble_two
+ \else
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\for_ii#1{
+ \a_count=\int{#1}
+ \advance \a_count \csname for-#1\endcsname \a_count
+ \expandafter\gobble_two
+ \else
+ \x_resetint{#1}\a_count
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\endfor(#1){}
+\def\foreach(#1)#2{
+ \def\next##1\endfor(#1){
+ \setsomething_global\x_cs\def{body-#1}{##1}
+ \process_csep_list{\foreach_i{#1}}#2,\process_csep_list,
+ }
+ \next
+}
+\def\foreach_i#1#2{
+ \resetstr{#1}{#2}
+ \csname body-#1\endcsname
+}
+\let\comment=\gobble_one
+\let\begincomment=\iffalse
+\let\endcomment=\fi
+%%% From file: fimain.dtx
+\def\inputetx#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \slot_number=0
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\encoding=\fi
+ \primitiveinput \lowercase_file.etx\x_relax
+ \let\relax=\x_relax
+}
+\let\encoding=\relax
+\outer\def\endencoding{\endinput}
+\def\setslot#1{\edef\slot_name{#1}\do_slot}
+\def\endsetslot{\end_do_slot\advance\slot_number by 1\x_relax}
+\let\do_slot\empty_command
+\let\end_do_slot\empty_command
+\newcount\slot_number
+\def\nextslot#1{\eval_expr_to\slot_number{#1}}
+\def\skipslots#1{\eval_expr{#1} \advance\slot_number by \result}
+\def\setleftboundary#1{\edef\slot_name{#1}\do_boundary}
+\let\endsetleftboundary\x_relax
+\let\do_boundary\x_relax
+\def\setrightboundary#1{
+ \makerightboundary{#1}
+ \advance \slot_number 1\x_relax
+}
+\let\ligature=\gobble_three
+\def\Ligature{\ligature}
+\def\oddligature#1#2#3#4{}
+\let\nextlarger=\gobble_one
+\let\usedas=\gobble_two
+\let\makerightboundary=\gobble_one
+\let\Unicode=\gobble_two
+\let\varchar=\empty_command
+\let\vartop=\gobble_one
+\let\varmid=\gobble_one
+\let\varbot=\gobble_one
+\let\varrep=\gobble_one
+\let\endvarchar=\empty_command
+\let\useexamplefont=\gobble_one
+\let\slotexample=\empty_command
+\let\setslotcomment=\gobble_one
+\let\resetslotcomment=\gobble_one
+\let\unsetslotcomment=\empty_command
+\def\setfontdimen#1#2{
+ \ifisint{#2}\then \setint{fontdimen(#1)}{\int{#2}} \fi
+}
+\let\label=\gobble_one
+\newif\ifdirect \directtrue
+\def\input_mtx_as_etx#1{
+ \def\setscaledrawglyph##1##2##3##4##5##6##7##8##9{
+ \nextslot{##5}
+ \setslot{##1}\endsetslot
+ }
+ \offcommand\setscalednotglyph
+ \let\setglyph=\gobble_glyph
+ \offcommand\setkern
+ \inputmtx{#1}
+}
+\def\inputmtx#1{
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\metrics=\fi
+ \primitiveinput #1.mtx\x_relax
+ \let\relax=\x_relax
+}
+\let\metrics=\x_relax
+\edef\endmetrics_text{\string\endmetrics}
+\outer\def\endmetrics{\endinput}
+\def\ProvidesMtxPackage#1{\x_cs\let{pack-#1}P}
+\def\usemtxpackage{\futurelet\next_token\test_UseMtxPkg_arguments}
+\def\test_UseMtxPkg_arguments{\ifx\next_token[
+ \expandafter\mtx_package_given_file
+ \else
+ \expandafter\mtx_package_separate_files
+ \fi
+}
+\def\mtx_package_given_file[#1]#2{
+ \_a_false
+ \process_csep_list\load_true_unless_loaded #2,\process_csep_list,
+ \if_a_ \inputmtx{#1} \fi
+}
+\def\load_true_unless_loaded#1{
+ \x_cs\ifx{pack-#1}P\else\_a_true\fi
+}
+\def\mtx_package_separate_files#1{
+ \process_csep_list\load_file_unless_loaded #1,\process_csep_list,
+}
+\def\load_file_unless_loaded#1{
+ \x_cs\ifx{pack-#1}P\else \inputmtx{#1} \fi
+}
+\let\glyph_name_modifier=\identity_one
+\def\setkern#1#2#3{
+ \x_cs\ifx{i-rawscale}\x_relax
+ \expandafter\set_kern
+ \csname~r-\glyph_name_modifier{#1}\expandafter\endcsname
+ \csname~l-\glyph_name_modifier{#2}\endcsname
+ {#3}
+ \else
+ \expandafter\set_kern
+ \csname~r-\glyph_name_modifier{#1}\expandafter\endcsname
+ \csname~l-\glyph_name_modifier{#2}\endcsname
+ {\scale{#3}{\int{rawscale}}}
+ \fi
+}
+\def\set_kern#1#2#3{
+ \eval_expr{#3}
+ \expandafter\set_kern_cs\csname\the\result\endcsname#1#2
+}
+\def\set_kern_cs#1#2#3{
+ \add_to#2{\k#3#1}
+ \add_to#3{\k#2#1}
+}
+\def\resetkern#1#2#3{
+ \x_cs\ifx{i-rawscale}\x_relax
+ \expandafter\reset_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{#3}
+ \else
+ \expandafter\reset_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{\scale{#3}{\int{rawscale}}}
+ \fi
+}
+\def\reset_kern#1#2#3{
+ \eval_expr{#3}
+ \expandafter\reset_kern_cs\csname\the\result\endcsname#1#2
+}
+\def\reset_kern_cs#1#2#3{
+ \prep_to#2{\k\expandafter#3\expandafter#1}
+ \prep_to#3{\k\expandafter#2\expandafter#1}
+}
+\def\setleftkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+}
+\def\setrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\setleftrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\set_kerning#1#2{
+ \if\b_count=\one_thousand
+ \def\k##1##2{
+ \set_kern_cs##2##1#1
+ }
+ \else
+ \def\k##1##2{
+ \set_kern##1#1{
+ \scale\b_count{\expandafter\gobble_one\string##2}
+ }
+ }
+ \fi
+ #2
+}
+\def\kerning#1#2{0\x_relax
+ \def\k##1{\csname~set-\string##1\endcsname\gobble_one}
+ \bgroup
+ \x_cs\def{set-\string\l-#2}##1##2{
+ \global\result=\expandafter\gobble_one\string##2\egroup
+ }
+ \csname~r-#1\endcsname
+ \csname~set-\string\l-#2\endcsname\gobble_one{00}
+}
+\def\ifiskern#1#2\then{
+ \def\k##1##2{\ifx T##1 \let\k\gobble_two \fi}
+ \bgroup
+ \x_cs\let{l-#2}T
+ \csname r-#1\endcsname
+ \expandafter\egroup \ifx\k\gobble_two
+}
+\def\unsetkerns#1#2{
+ \let\k\k_unless_to_U
+ \process_csep_list\make_slots_U#1,\process_csep_list,
+ \def\do##1{\x_cs\main_remove_Us{l-##1}}
+ \process_csep_list\do#2,\process_csep_list,
+ \process_csep_list\make_slots_relax#1,\process_csep_list,
+ \process_csep_list\make_slots_U#2,\process_csep_list,
+ \def\do##1{\x_cs\main_remove_Us{r-##1}}
+ \process_csep_list\do#1,\process_csep_list,
+ \process_csep_list\make_slots_relax#2,\process_csep_list,
+}
+\def\make_slots_U#1{\x_cs\let{slots-#1}U}
+\def\make_slots_relax#1{\x_cs\let{slots-#1}\x_relax}
+\def\k_unless_to_U#1#2{
+ \x_cs\ifx{slots-\expandafter\gobble_three\string#1}U \else
+ \noexpand\k\noexpand#1\noexpand#2
+ \fi
+}
+\def\main_remove_Us#1{
+ \ifx#1\x_relax \else
+ \edef#1{#1}
+ \ifx#1\empty_command \let#1\x_relax \fi
+ \fi
+}
+\def\noleftkerning#1{\no_kerning{l}{#1}}
+\def\norightkerning#1{\no_kerning{r}{#1}}
+\def\noleftrightkerning#1{\no_kerning{l}{#1}\no_kerning{r}{#1}}
+\def\no_kerning#1#2{
+ \let\k\no_kerning_i
+ \def\do##1{\csname #1-##1\endcsname}
+ \bgroup
+ \aftergroup\def \aftergroup\a_macro \aftergroup{
+ \process_csep_list\do #2,\process_csep_list,
+ \aftergroup}
+ \egroup
+ \def\do##1{\expandafter\let \csname #1-##1\endcsname \x_relax}
+ \process_csep_list\do #2,\process_csep_list,
+ \let\k\no_kerning_ii
+ \def\do##1{\edef##1{##1}}
+ \a_macro
+}
+\def\no_kerning_i#1#2{
+ \ifx #1\x_relax \else
+ \aftergroup\do \aftergroup#1
+ \let #1\x_relax
+ \fi
+}
+\def\no_kerning_ii#1#2{
+ \ifx #1\x_relax \else \noexpand\k \noexpand#1 \noexpand#2 \fi
+}
+\def\width{\glyph_parameter\first_of_six}
+\def\height{\glyph_parameter\second_of_six}
+\def\depth{\glyph_parameter\third_of_six}
+\def\italic{\glyph_parameter\fourth_of_six}
+\def\mapcommands{\glyph_parameter\fifth_of_six}
+\def\mapfonts{\glyph_parameter\sixth_of_six}
+\def\glyph_parameter#1#2{
+ \expandafter\expandafter\expandafter
+ #1\csname g-#2\endcsname
+}
+\def\first_of_six#1#2#3#4#5#6{#1}
+\def\second_of_six#1#2#3#4#5#6{#2}
+\def\third_of_six#1#2#3#4#5#6{#3}
+\def\fourth_of_six#1#2#3#4#5#6{#4}
+\def\fifth_of_six#1#2#3#4#5#6{#5}
+\def\sixth_of_six#1#2#3#4#5#6{#6}
+\def\glyph_metrics#1#2#3#4#5#6{
+ \a_count=#1
+ \b_count=#2
+ \c_count=#3
+ \d_count=#4~
+}
+\let\saved_scale\x_relax
+\let\saved_mapfont\x_relax
+\let\saved_raw\x_relax
+\let\saved_rule\x_relax
+\let\saved_special\x_relax
+\let\saved_warning\x_relax
+\let\saved_movert\x_relax
+\let\saved_moveup\x_relax
+\let\saved_push\x_relax
+\let\saved_pop\x_relax
+\newcount\glyph_width
+\newcount\glyph_height
+\newcount\glyph_depth
+\newcount\glyph_italic
+\newtoks\glyph_map_commands
+\newtoks\glyph_map_fonts
+\newcount\glyph_voffset
+\newcount\glyph_maxhpos
+\def\setglyph#1{
+ \ifisglyph{\glyph_name_modifier{#1}}\then
+ \expandafter\gobble_glyph
+ \else
+ \x_cs\def{g-\glyph_name_modifier{#1}}{
+ {\the\glyph_width}{\the\glyph_height}
+ {\the\glyph_depth}{\the\glyph_italic}
+ {\the\glyph_map_commands}{\the\glyph_map_fonts}
+ }
+ \resetglyph{\glyph_name_modifier{#1}}
+ \fi
+}
+\long\def\gobble_glyph#1\endsetglyph{}
+\def\resetglyph#1{
+ \edef\glyphname{#1}
+ \glyph_width=0
+ \global\glyph_height=0
+ \global\glyph_depth=0
+ \global\glyph_italic=0
+ \glyph_voffset=0
+ \global\glyph_maxhpos=0
+ \global\glyph_map_commands={}
+ \global\glyph_map_fonts={}
+}
+\def\endsetglyph{
+ \x_cs\edef{g-\glyphname}
+ {{\the\glyph_width}{\the\glyph_height}
+ {\the\glyph_depth}{\the\glyph_italic}
+ {\the\glyph_map_commands}{\the\glyph_map_fonts}}
+}
+\let\endresetglyph=\endsetglyph
+\def\setrawglyph#1#2#3{
+ \setscaledrawglyph{#1}{#2}{#3}\one_thousand
+}
+\def\setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \if_undefined{g-\glyph_name_modifier{#1}}\then
+ \eval_expr{#4}
+ \ifnum \result=\one_thousand
+ \let\a_macro\identity_one
+ \else
+ \edef\a_macro##1{\saved_scale{\the\result}{##1}}
+ \fi
+ \eval_expr_to\a_count{#6}
+ \eval_expr_to\b_count{#7}
+ \eval_expr_to\c_count{#8}
+ \eval_expr_to\d_count{#9}
+ \ifisint{rawscale}\then
+ \e_count=\int{rawscale}
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \edef\a_macro##1{\saved_scale{\the\e_count}{\a_macro{##1}}}
+ \fi
+ \x_cs\edef{g-\glyph_name_modifier{#1}}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\a_macro{\saved_raw{#2}{#5}{#1}}}
+ {\a_macro{\saved_mapfont{#2}{#3}}}
+ }
+ \fi
+}
+\def\setnotglyph#1#2#3{
+ \setscalednotglyph{#1}{#2}{#3}\one_thousand
+}
+\def\setscalednotglyph#1#2#3#4#5#6#7#8#9{
+ \if_undefined{g-\glyph_name_modifier{#1}-not}\then
+ \eval_expr_to\a_count{#6}
+ \eval_expr_to\b_count{#7}
+ \eval_expr_to\c_count{#8}
+ \eval_expr_to\d_count{#9}
+ \ifisint{rawscale}\then
+ \e_count=\int{rawscale}
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \fi
+ \x_cs\edef{g-\glyph_name_modifier{#1}-not}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {}{}
+ }
+ \fi
+}
+\def\unsetglyph#1{\x_cs\let{g-#1}\x_relax}
+\def\glyph#1#2{
+ \glyph_parameter\glyph_metrics{#1}
+ \eval_expr_to\e_count{#2}
+ \ifnum \e_count=\one_thousand
+ \edef\a_macro{\mapcommands{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \edef\a_macro{\mapfonts{#1}}
+ \else
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \edef\a_macro{\saved_scale{\the\e_count}{\mapcommands{#1}}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \edef\a_macro{\saved_scale{\the\e_count}{\mapfonts{#1}}}
+ \fi
+ \advance \glyph_width \a_count
+ \advance \b_count \glyph_voffset
+ \ifnum \glyph_height<\b_count \global\glyph_height=\b_count \fi
+ \advance \c_count -\glyph_voffset
+ \ifnum \glyph_depth<\c_count \global\glyph_depth=\c_count \fi
+ \global\glyph_italic=\d_count
+ \global\glyph_map_fonts\expandafter{
+ \the\expandafter\glyph_map_fonts \a_macro
+ }
+}
+\def\glyphrule#1#2{
+ \eval_expr_to\b_count{#1} \eval_expr_to\c_count{#2}
+ \advance\glyph_width by \b_count
+ \g_eval_expr_to\glyph_depth{\max\glyph_depth{-\glyph_voffset}}
+ \g_eval_expr_to\glyph_height{
+ \max\glyph_height{\add\glyph_voffset\c_count}
+ }
+ \global\glyph_italic=0
+ \edef\a_macro{\saved_rule{\the\b_count}{\the\c_count}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\glyphspecial#1{
+ \edef\a_macro{\saved_special{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\glyphwarning#1{
+ \edef\a_macro{\saved_warning{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\movert#1{
+ \eval_expr{#1}
+ \ifnum \glyph_maxhpos<\glyph_width
+ \global\glyph_maxhpos\glyph_width
+ \fi
+ \ifnum 0=\result \else
+ \advance\glyph_width by \result
+ \edef\a_macro{\saved_movert{\the\result}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \fi
+}
+\def\moveup#1{
+ \eval_expr{#1}
+ \ifnum\result=0\else
+ \advance\glyph_voffset by \result
+ \edef\a_macro{\saved_moveup{\the\result}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \fi
+}
+\def\push{
+ \bgroup
+ \global\glyph_map_commands\expandafter{
+ \the\glyph_map_commands \saved_push
+ }
+}
+\def\pop{
+ \ifnum \glyph_maxhpos<\glyph_width
+ \global\glyph_maxhpos\glyph_width
+ \fi
+ \egroup
+ \global\glyph_map_commands\expandafter{
+ \the\glyph_map_commands \saved_pop
+ }
+}
+\def\resetwidth#1{\movert{\sub{#1}\glyph_width}}
+\def\resetheight{\g_eval_expr_to\glyph_height}
+\def\resetdepth{\g_eval_expr_to\glyph_depth}
+\def\resetitalic{\g_eval_expr_to\glyph_italic}
+\def\glyphpcc#1#2#3{
+ \ifisglyph{\glyph_name_modifier{#1}}\then
+ \push
+ \movert{#2}
+ \moveup{#3}
+ \glyph{\glyph_name_modifier{#1}}{\one_thousand}
+ \pop
+ \else
+ \fontinsterror{\string\glyphpcc}{
+ Base~glyph~not~set.\messagebreak
+ This~could~be~a~sign~that~the~AFM~file~is~buggy
+ }\error_help_a
+ \fi
+}
+\def\glyphbboxright{\max\glyph_width\glyph_maxhpos}
+\def\samesize#1{
+ \if_undefined{g-\glyph_name_modifier{#1}}\then
+ \resetwidth{\glyphbboxright}
+ \else
+ \expandafter\expandafter\expandafter
+ \same_size\csname g-\glyph_name_modifier{#1}\endcsname
+ \fi
+}
+\def\same_size#1#2#3#4#5#6{
+ \movert{\sub{#1}\glyph_width}
+ \global\glyph_height=#2
+ \global\glyph_depth=#3
+ \global\glyph_italic=#4
+}
+\def\ifisglyph#1\then{\if_defined{g-#1}\then}
+\def\ifareglyphs#1\then{
+ \process_csep_list{\if_is_glyph}#1,\process_csep_list,
+ \if_true
+}
+\def\if_is_glyph#1{
+ \if_undefined{g-#1}\then \expandafter\if_false \fi
+}
+\def\etxtovpl#1#2{{
+ \def\vpl_extension{vpl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{virtual~font}
+ \def\vpl_Font{Virtual~font}
+ \def\vpl_call{\string\etxtovpl{#1}{#2}}
+ \def\vpl_to_vf##1{vptovf~##1.vpl~##1.vf~##1.tfm}
+ \a_toks={}
+ \process_csep_list\make_inputetx #1,\process_csep_list,
+ \expandafter\etx_to_font \expandafter{\the\a_toks}{#2}
+}}
+\def\etxtopl#1#2{{
+ \def\vpl_extension{pl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{font}
+ \def\vpl_Font{Font}
+ \def\vpl_call{\string\etxtopl{#1}{#2}}
+ \def\vpl_to_vf##1{pltotf~##1.pl~##1.tfm}
+ \_including_map_false
+ \global\rawfont_scaling=-\p@
+ \a_toks={}
+ \process_csep_list\make_inputetx #1,\process_csep_list,
+ \expandafter\etx_to_font \expandafter{\the\a_toks}{#2}
+}}
+\newif\if_including_map_
+\_including_map_true
+\def\make_inputetx#1{
+ \def\a_macro{\noexpand\inputetx{\file_name}}
+ \get_file_name #1~{}~\par
+ \edef\a_macro{\a_macro}
+ \a_toks=\expandafter{ \the\expandafter\a_toks \a_macro}
+}
+\x_cs\def{IFKW-mtxasetx}{
+ \def\a_macro{\noexpand\input_mtx_as_etx{\file_name}}
+ \get_keyword
+}
+\def\etx_to_font#1#2{
+ \make_assignments{#1}
+ \open_out{#2.\vpl_extension}
+ \top_of_pl_hook
+ \out_line{(\vpl_title\space\vpl_font\space
+ #2~created~by~fontinst~v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.\vpl_extension)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\vpl_call)}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~a~\vpl_font\space
+ with)}
+ \out_line{(COMMENT~\vpl_to_vf{#2})}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \make_header{#1}
+ \if_including_map_ \make_mapfonts{#1} \fi
+ \make_fontdimens{#1}
+ \make_ligtable{#1}
+ \make_characters{#1}
+ \make_tidy{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.\vpl_extension)}
+ \close_out{\vpl_Font}
+}
+\let\pre_first_etx_pass_hook\x_relax
+\let\pre_second_etx_pass_hook\x_relax
+\let\pre_third_etx_pass_hook\x_relax
+\let\pre_fourth_etx_pass_hook\x_relax
+\let\post_first_etx_pass_hook\x_relax
+\let\post_second_etx_pass_hook\x_relax
+\let\post_third_etx_pass_hook\x_relax
+\let\post_fourth_etx_pass_hook\x_relax
+\let\tidying_up_hook\x_relax
+\let\top_of_pl_hook\x_relax
+\def\make_assignments#1{
+ \let\do_slot=\assign_slot
+ \let\end_do_slot=\end_assign_slot
+ \def\do_boundary{\bgroup
+ \let\makerightboundary=\bad_makerightboundary
+ }
+ \let\endsetleftboundary=\egroup
+ \let\makerightboundary=\assign_rboundary
+ \pre_first_etx_pass_hook
+ #1
+ \post_first_etx_pass_hook
+ \let\end_do_slot=\empty_command
+ \let\do_boundary=\x_relax
+ \let\endsetleftboundary=\x_relax
+ \let\makerightboundary=\gobble_one
+}
+\def\assign_slot{\a_toks={\do}}
+\begingroup
+ \catcode0=12
+ \gdef\end_assign_slot{
+ \ifisglyph\slot_name\then
+ \lccode0=\slot_number
+ \lowercase{
+ \expandafter\add_to
+ \csname slots-\slot_name\expandafter\endcsname
+ \expandafter{\the\a_toks^^@}
+ }
+ \x_resetint\slot_name\slot_number
+ \fi
+ }
+ \gdef\assign_rboundary#1{
+ \lccode0=\slot_number
+ \lowercase{\x_cs\add_to{slots-#1}{\rboundary_do^^@}}
+ \x_setint{\percent_char boundarychar}\slot_number
+ \a_toks={\rbserver_do}
+ }
+\endgroup
+\def\bad_makerightboundary#1{
+ \errhelp={The~left~boundary~is~not~a~slot,~so~it~cannot~serve~
+ as~right~boundary.}
+ \errmessage{Incorrect~use~of~\string\makerightboundary}
+}
+\def\get_slot_num#1{
+ \ifisint{#1}\then
+ \global\result=\int{#1}
+ \else
+ \global\result=-1
+ \fi
+ \x_relax
+}
+\def\ifisinslot#1#2\then{
+ \ifx \makerightboundary\gobble_one
+ \eval_expr{#2}
+ \begingroup
+ \def\do##1{\ifnum `##1=\result \let\do=\gobble_one \fi}
+ \def\rbserver_do{\do}
+ \let\rboundary_do=\gobble_one
+ \csname slots-#1\endcsname
+ \expandafter\endgroup
+ \ifx \do\gobble_one
+ \expandafter\expandafter \expandafter\if_true
+ \else
+ \expandafter\expandafter \expandafter\if_false
+ \fi
+ \else
+ \expandafter\gobble_if
+ \fi
+}
+\newdimen\mapfont_scaling
+\mapfont_scaling=1pt
+\newdimen\rawfont_scaling
+\def\vpl_real#1{R~\expandafter\lose_measure\the#1}
+\def\vpl_int#1{D~\the#1}
+\newdimen\side_bearings
+\newdimen\curr_bearings
+\def\make_header#1{
+ \global\font_count=0
+ \setdim{designsize}{10pt}
+ \a_dimen=\dim{designsize}
+ \out_line{(DESIGNSIZE~\vpl_real\a_dimen)}
+ \x_setstr{codingscheme}{UNKNOWN}
+ \out_line{(CODINGSCHEME~\str{codingscheme})}
+ \ifisint{boundarychar}\then
+ \x_setint{\percent_char boundarychar}{\int{boundarychar}}
+ \immediate\write16{Please~use~\string\setleftboundary\space
+ and/or~\string\makerightboundary^^J
+ instead~of~setting~the~boundarychar~integer.}
+ \fi
+ \ifisint{\percent_char boundarychar}\then
+ \a_count=\int{\percent_char boundarychar}
+ \out_line{(BOUNDARYCHAR~\vpl_int\a_count)}
+ \fi
+ \x_setint{letterspacing}{0}
+ \side_bearings=\make_factor{\int{letterspacing}}\half_point
+ \x_setint{minimumkern}{0}
+ \minimum_kern=\int{minimumkern}
+ \out_line{}
+}
+\def\make_mapfonts#1{
+ \let\saved_scale\vpl_scale
+ \let\saved_mapfont\vpl_mapfont
+ \let\do_slot=\do_mapfont
+ \pre_second_etx_pass_hook
+ #1
+ \post_second_etx_pass_hook
+ \out_line{}
+}
+\def\do_mapfont{
+ \ifisglyph\slot_name\then
+ \mapfonts\slot_name
+ \fi
+}
+\def\vpl_scale#1#2{{
+ \mapfont_scaling=\make_factor{#1}\mapfont_scaling
+ #2
+}}
+\def\vpl_mapfont#1#2{
+ \a_dimen=#2
+ \if_undefined{\the\mapfont_scaling-#1}\then
+ \global\x_cs\mathchardef{\the\mapfont_scaling-#1}=\font_count
+ \x_cs\xdef{f-\the\font_count}{\the\mapfont_scaling-#1}
+ \out_line{(MAPFONT~\vpl_int\font_count\space
+ (FONTNAME~#1)~
+ (FONTDSIZE~\vpl_real\a_dimen)~
+ (FONTAT~\vpl_real\mapfont_scaling))}
+ \record_usage{#1}
+ \global\advance\font_count by 1
+ \fi
+}
+\def\pl_mapfont#1#2{\global\rawfont_scaling=\mapfont_scaling}
+\newcount\font_count
+\newcount\next_mapfont
+\newcount\prev_mapfont
+\def\make_fontdimens#1{
+ \out_line{(FONTDIMEN}
+ \a_count=1
+ \loop\ifnum 256>\a_count
+ \ifisint{fontdimen(\the\a_count)}\then
+ \out_lline{(PARAMETER~\vpl_int\a_count\space
+ R~\make_factor{\int{fontdimen(\the\a_count)}})}
+ \fi
+ \advance \a_count \@ne
+ \repeat
+ \out_lline{)}
+ \out_line{}
+}
+\def\make_ligtable#1{
+ \begingroup
+ \out_line{(LIGTABLE}
+ \def\do_slot{\bgroup
+ \ifisint{boundarychar}\then
+ \ifnum \int{boundarychar}=\slot_number
+ \def\vpl_liglabel{\out_liglabel\boundary_liglabel}
+ \fi
+ \fi
+ }
+ \let\end_do_slot=\vpl_kerning
+ \def\do_boundary{\bgroup \let\vpl_liglabel=\boundary_liglabel}
+ \let\endsetleftboundary=\vpl_kerning
+ \let\ligature=\vpl_ligature
+ \let\k=\vpl_kern
+ \let\rbserver_do=\vpl_rbserver_do
+ \let\rboundary_do=\vpl_rboundary_do
+ \pre_third_etx_pass_hook
+ #1
+ \post_third_etx_pass_hook
+ \out_lline{)}
+ \endgroup
+ \out_line{}
+}
+\def\vpl_rbserver_do#1{
+ \do{#1}
+ \let\rboundary_do=\wrn_rboundary_do
+}
+\def\vpl_rboundary_do#1{
+ \do{#1}
+ \let\rbserver_do=\wrn_rboundary_do
+}
+\def\wrn_rboundary_do#1{
+ \do{#1}
+ \immediate\write16{Boundarychar~slot~usage~collision~in~
+ `\slot_name'~ligkern~program.}
+}
+\def\vpl_ligature#1#2#3{
+ \get_slot_num{#3}
+ \ifnum -1=\result
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#3'.}
+ \else
+ \x_cs\ifx{slots-#2}\x_relax
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#2'.}
+ \else
+ \def\do##1{
+ \vpl_liglabel
+ \out_lline{(#1~D~\number`##1~\space\vpl_int\result)~
+ (COMMENT~#2~#3)}
+ }
+ \csname slots-#2\endcsname
+ \fi
+ \fi
+}
+\def\vpl_kerning{
+ \let\do=\vpl_kern_do
+ \csname~r-\slot_name\endcsname
+ \vpl_ligstop
+ \egroup
+}
+\def\vpl_kern#1#2{
+ \edef\a_macro{\expandafter\gobble_three\string#1}
+ \a_count=\expandafter\gobble_one\string#2\x_relax
+ \ifnum \ifnum -\a_count>\a_count - \fi\a_count>\minimum_kern
+ \edef\b_macro{~R~\make_factor\a_count}
+ \csname slots-\a_macro\endcsname
+ \fi
+ \x_cs\let{slots-\a_macro}=\x_relax
+}
+\def\vpl_kern_do#1{
+ \vpl_liglabel
+ \out_lline{
+ (KRN~D~\number`#1~\b_macro)~
+ (COMMENT~\a_macro)
+ }
+}
+\def\out_liglabel{
+ \out_lline{(LABEL~\vpl_int\slot_number)~(COMMENT~\slot_name)}
+ \let\vpl_liglabel=\x_relax
+ \let\vpl_ligstop=\out_ligstop
+}
+\def\boundary_liglabel{
+ \out_lline{(LABEL~BOUNDARYCHAR)~(COMMENT~\slot_name)}
+ \let\vpl_liglabel=\x_relax
+ \let\vpl_ligstop=\out_ligstop
+}
+\let\vpl_liglabel=\out_liglabel
+\def\out_ligstop{\out_lline{(STOP)}
+ \let\vpl_liglabel=\out_liglabel
+ \let\vpl_ligstop=\x_relax}
+\let\vpl_ligstop=\x_relax
+\def\make_characters#1{
+ \bgroup
+ \let\do_slot=\do_character
+ \let\end_do_slot=\end_do_character
+ \let\nextlarger=\vpl_nextlarger
+ \let\varchar=\vpl_varchar
+ \let\endvarchar=\end_vpl_varchar
+ \let\vartop=\vpl_vartop
+ \let\varmid=\vpl_varmid
+ \let\varbot=\vpl_varbot
+ \let\varrep=\vpl_varrep
+ \if_including_map_
+ \let\saved_raw\vpl_raw
+ \let\saved_rule\vpl_rule
+ \let\saved_special\vpl_special
+ \let\saved_warning\vpl_warning
+ \let\saved_movert\vpl_movert
+ \let\saved_moveup\vpl_moveup
+ \let\saved_push\vpl_push
+ \let\saved_pop\vpl_pop
+ \else
+ \def\do_character_map{
+ \ifdim \rawfont_scaling=-\p@
+ \mapfonts\slot_name
+ \else
+ \let\do_character_map=\x_relax
+ \fi
+ }
+ \let\saved_mapfont\pl_mapfont
+ \let\saved_scale\vpl_scale
+ \fi
+ \pre_fourth_etx_pass_hook
+ #1
+ \post_fourth_etx_pass_hook
+ \egroup
+}
+\def\do_character{
+ \if_undefined{g-\slot_name}\then
+ \ifisint{requireglyphs}\then
+ \fontinstwarning{ETX~to~(V)PL}{
+ Undefined~glyph~`\slot_name'~requested\message_break
+ for~slot~\the\slot_number\message_number}
+ \fi
+ \expandafter\gobble_setslot
+ \else
+ \ifx\slot_name\notdef_name\else
+ \out_line{(CHARACTER~\vpl_int\slot_number\space
+ (COMMENT~\slot_name)}
+ \glyph_parameter\glyph_metrics\slot_name
+ \a_dimen=\make_factor\a_count \p@
+ \do_character_sidebearings
+ \out_lline{(CHARWD~\vpl_real\a_dimen)}
+ \ifnum \z@=\b_count \else
+ \out_lline{(CHARHT~R~\make_factor\b_count)}
+ \fi
+ \ifnum \z@=\c_count \else
+ \out_lline{(CHARDP~R~\make_factor\c_count)}
+ \fi
+ \ifnum \z@=\d_count \else
+ \out_lline{(CHARIC~R~\make_factor\d_count)}
+ \fi
+ \do_character_map
+ \fi
+ \fi
+}
+\def\do_character_sidebearings{
+ \ifisint{\slot_name-spacing}\then
+ \curr_bearings=\make_factor{\int{\slot_name-spacing}}\half_point
+ \else
+ \curr_bearings=\side_bearings
+ \fi
+ \advance\a_dimen by 2\curr_bearings
+}
+\def\do_character_map{
+ \global\prev_mapfont=0
+ \out_lline{(MAP}
+ \ifdim 0pt=\curr_bearings
+ \mapcommands\slot_name
+ \else
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \mapcommands\slot_name
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \fi
+ \out_llline{)}
+}
+\long\def\gobble_setslot#1\endsetslot{\endsetslot}
+\def\end_do_character{
+ \ifisglyph\slot_name\then
+ \out_lline{)}
+ \fi
+}
+\def\notdef_name{.notdef}
+\def\vpl_nextlarger#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_lline{(NEXTLARGER~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\nextlarger\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varchar{\out_lline{(VARCHAR}}
+\def\end_vpl_varchar{\out_llline{)}}
+\def\vpl_vartop#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(TOP~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\vartop\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varmid#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(MID~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varmid\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varbot#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(BOT~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varbot\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varrep#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(REP~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varrep\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_raw#1#2#3{
+ \global\next_mapfont=\csname\the\mapfont_scaling-#1\endcsname
+ \ifnum \next_mapfont=\prev_mapfont \else
+ \out_llline{(SELECTFONT~\vpl_int\next_mapfont)~
+ (COMMENT~#1~at~
+ \expandafter\lose_measure \the\mapfont_scaling)}
+ \fi
+ \out_llline{(SETCHAR~D~#2)~(COMMENT~#3)}
+ \global\prev_mapfont=\next_mapfont
+}
+\def\vpl_rule#1#2{
+ \a_dimen=\make_factor{#2}\mapfont_scaling
+ \b_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(SETRULE~\vpl_real\a_dimen\space\vpl_real\b_dimen)}
+}
+\def\vpl_special#1{
+ \out_llline{(SPECIAL~#1)}}
+\def\vpl_warning#1{
+ \ifwarningspecials
+ \out_llline{(SPECIAL~Warning:~#1)}
+ \fi
+ \immediate\write16{Warning:~#1.}
+}
+\newif\ifwarningspecials
+\warningspecialstrue
+\def\vpl_movert#1{
+ \a_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(MOVERIGHT~\vpl_real\a_dimen)}
+}
+\def\vpl_moveup#1{
+ \a_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(MOVEUP~\vpl_real\a_dimen)}
+}
+\def\vpl_push{\out_llline{(PUSH)}}
+\def\vpl_pop{\out_llline{(POP)}}
+\def\make_tidy#1{
+ \tidying_up_hook
+ \if_including_map_
+ \a_count=0
+ \loop\ifnum \a_count<\font_count
+ \edef\a_macro{\csname~f-\the\a_count\endcsname}
+ \global\x_cs\let\a_macro\x_relax
+ \advance\a_count by 1
+ \repeat
+ \global\font_count=0
+ \else
+ \ifdim \rawfont_scaling<\z@
+ \fontinstwarning{ETX~to~(V)PL}{The~font~
+ \out_filename\space doesn't~contain~any~characters}
+ \global\rawfont_scaling=\p@
+ \fi
+ \ifdim \rawfont_scaling=\p@ \else
+ \out_line{(DESIGNUNITS~\vpl_real\rawfont_scaling)}
+ \fi
+ \fi
+}
+\newtoks\family_toks
+\def\installfonts{
+ \bgroup
+ \global\family_toks={}
+ \gdef\prev_file_list{}
+ \global\let\setsomething_global=\global
+}
+\def\installfamily#1#2#3{
+ \global\family_toks=
+ \expandafter{\the\family_toks\fd_family{#1}{#2}{#3}}
+ \global\x_cs\let{#1-#2}\empty_command
+}
+\def\installfont#1#2#3#4#5#6#7#8{
+ \global\let\setsomething_global=\x_relax
+ \input_metrics{}{#2}
+ \etxtovpl{#3}{#1}
+ \installfontas{#1}{#4}{#5}{#6}{#7}{#8}
+ \global\let\setsomething_global=\global
+}
+\def\installrawfont#1#2#3#4#5#6#7#8{
+ \global\let\setsomething_global=\x_relax
+ \xdef\out_filename{#1}
+ \input_metrics{\let\storemapdata=\installraw_storemap}{#2}
+ \let\storemapdata=\gobble_three
+ \etxtopl{#3}{#1}
+ \record_usage{#1}
+ \installfontas{
+ \ifdim \rawfont_scaling=\p@ \else
+ [\expandafter\lose_measure\the\rawfont_scaling]~
+ \fi #1
+ }{#4}{#5}{#6}{#7}{#8}
+ \global\let\setsomething_global=\global
+}
+\def\installraw_storemap#1#2#3{
+ \def\a_macro{#1}
+ \ifx \a_macro\out_filename \else
+ \record_transform{\out_filename}{\string\frommtx{#1}}{}\if_false
+ \fi
+}
+\def\input_metrics#1#2{
+ \let\metrics=\file_list_metrics
+ \xdef\curr_file_list{#2,}
+ \let\metrics=\x_relax
+ \ifx\prev_file_list\curr_file_list\else
+ \egroup\bgroup
+ #1
+ \expandafter\process_csep_list \expandafter\input_mtx_file
+ \curr_file_list\process_csep_list,
+ \global\let\prev_file_list=\curr_file_list
+ \fi
+}
+\def\file_list_metrics#1,{
+ \iffalse{\fi}
+ \a_toks=\expandafter{\curr_file_list\x_relax#1,}
+ \xdef\curr_file_list{\the\a_toks \iffalse}\fi
+}
+\def\installfontas#1#2#3#4#5#6{
+ \if_undefined{#2-#3-#4-#5}\then
+ \let\do_shape=\x_relax
+ \if_undefined{#2-#3}\then
+ \x_cs\let{#2-#3}\empty_command
+ \autoinstallfamily{#2}{#3}
+ \fi
+ \x_cs\xdef{#2-#3}{
+ \csname#2-#3\endcsname
+ \do_shape{#2}{#3}{#4}{#5}
+ }
+ \fi
+ \let\do_size=\x_relax
+ \x_cs\xdef{#2-#3-#4-#5}{
+ \if_defined{#2-#3-#4-#5}\then
+ \csname#2-#3-#4-#5\endcsname
+ \fi
+ \do_size{#6}{#1}
+ }
+}
+\def\autoinstallfamily#1#2{\installfamily{#1}{#2}{}}
+\def\endinstallfonts{
+ \global\let\setsomething_global=\x_relax
+ \let\do_shape=\fd_shape
+ \let\do_size=\fd_size
+ \the\family_toks
+ \global\family_toks{}
+ \egroup
+}
+\def\input_mtx_file#1{
+ \reset_modifiers_hook
+ \ifx\x_relax#1\x_relax
+ \else
+ \identity_one{\get_file_name #1~}~\par
+ \ifx \pl_encoding\empty_command
+ \fromany\file_name
+ \else
+ \metrics_given_encoding{\file_name}{\pl_encoding}
+ \fi
+ \ifisstr{afm-name}\then
+ \inputmtx{\str{afm-name}}
+ \else
+ \fontinsterror{\string\install...}{
+ Font/MTX~file~\file_name\space not found
+ }{
+ You~can~insert~an~\string\inputmtx\space command~here
+ \messagebreak to~input~some~other~MTX~file~instead.
+ \ifisint{rawscale}\then \messagebreak
+ The~requested~raw~scaling~will~then~be~applied~on~that.
+ \fi
+ }
+ \fi
+ \fi
+}
+\def\metrics_given_encoding#1#2{
+ \x_setstr{afm-name}{#1-#2}
+ \if_file_exists{#1.pl}\then
+ \generalpltomtx{#1}{#1-#2}{pl}{#2}
+ \else
+ \if_file_exists{#1.vpl}\then
+ \generalpltomtx{#1}{#1-#2}{vpl}{#2}
+ \else
+ \unsetstr{afm-name}
+ \fi\fi
+}
+\def\reset_modifiers_hook{
+ \unsetint{rawscale}
+ \let\glyph_name_modifier\identity_one
+ \let\pl_encoding\empty_command
+ \let\list_of_options\empty_command
+}
+\def\get_file_name #1~{
+ \edef\file_name{#1}
+ \get_keyword
+}
+\def\get_keyword #1~{
+ \if_defined{IFKW-#1}\then
+ \csname IFKW-#1 \expandafter\endcsname
+ \else
+ \fontinsterror{\string\install...}{
+ `#1'~is~not~a~defined~keyword
+ }{
+ \error_help_a\messagebreak
+ Extra~tokens~will~be~flushed.
+ }
+ \expandafter\gobble_keywords
+ \fi
+}
+\def\gobble_keywords#1\par{}
+\x_cs\let{IFKW-}=\gobble_keywords
+\x_cs\def{IFKW-scaled}#1~{
+ \ifnum #1=\one_thousand
+ \unsetint{rawscale}
+ \else
+ \x_resetint{rawscale}{#1}
+ \fi
+ \get_keyword
+}
+\x_cs\def{IFKW-suffix}#1~{
+ \def\glyph_name_modifier##1{##1#1}
+ \get_keyword
+}
+\x_cs\def{IFKW-encoding}#1~{
+ \def\pl_encoding{#1}
+ \get_keyword
+}
+\let\pl_encoding=\empty_command
+\x_cs\def{IFKW-option}#1~{
+ \add_to\list_of_options{\do{#1}}
+}
+\def\ifoption#1\then{
+ \_a_false
+ \edef\a_macro{#1}
+ \def\do##1{
+ \if_a_ \else
+ \def\b_macro{##1}
+ \ifx \a_macro\b_macro \_a_true \fi
+ \fi
+ }
+ \list_of_options
+ \if_a_
+}
+\let\list_of_options\empty_command
+\def\fd_family#1#2#3{
+ \a_toks{#3}
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1#2.fd}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~Filename:~\lowercase_file}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using~fontinst~v\fontinstversion}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~SHOULD~BE~PUT~IN~A~TEX~INPUTS~
+ DIRECTORY}
+ \out_line{}
+ \out_line{\string\ProvidesFile{\lowercase_file}}
+ \out_lline{[
+ \the\year/
+ \ifnum10>\month0\fi\the\month/
+ \ifnum10>\day0\fi\the\day\space
+ Fontinst~v\fontinstversion\space
+ font~definitions~for~#1/#2.
+ ]}
+ \out_line{}
+ \out_line{\string\DeclareFontFamily{#1}{#2}{\the\a_toks}}
+ {
+ \csname #1-#2\endcsname
+ \out_line{}
+ \let\do_shape=\substitute_shape
+ \csname #1-#2\endcsname
+ \let\do_shape=\remove_shape
+ \csname #1-#2\endcsname
+ }
+ \x_cs\g_let{#1-#2}\x_relax
+ \out_line{}
+ \out_line{\string\endinput}
+ \close_out{Font~definitions}
+}
+\def\fd_shape#1#2#3#4{
+ \out_line{}
+ \out_line{\string\DeclareFontShape{#1}{#2}{#3}{#4}\left_brace_char}
+ \csname #1-#2-#3-#4\endcsname
+ \x_cs\g_let{#1-#2-#3-#4}\empty_command
+ \out_line{\right_brace_char{}}
+}
+\def\fd_size#1#2{
+ \x_cs\ifx{siz-#1}\x_relax
+ \out_lline{#1~#2}
+ \else
+ \out_lline{\csname siz-#1\endcsname\space #2}
+ \fi
+}
+\def\remove_shape#1#2#3#4{
+ \x_cs\g_let{#1-#2-#3-#4}\x_relax
+}
+\def\substitute_shape#1#2#3#4{
+ \edef\orig_shape{#4}
+ \substitute_series{#1}{#2}{#3}{\orig_shape}
+ \x_cs\ifx{sub-\orig_shape}\x_relax\else
+ \edef\subst_shape{\csname sub-\orig_shape\endcsname}
+ \x_cs\ifx{#1-#2-#3-\subst_shape}\x_relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{#3}{\subst_shape}{
+ <->\csname typ-\orig_shape\endcsname\space
+ *~#2/#3/\orig_shape
+ }{}
+ }
+ \x_cs\let{#1-#2-#3-\subst_shape}\empty_command
+ \substitute_shape{#1}{#2}{#3}{\subst_shape}
+ \fi
+ \fi
+}
+\def\substitute_series#1#2#3#4{
+ \edef\orig_series{#3}
+ \x_cs\ifx{sub-\orig_series}\x_relax\else
+ \edef\subst_series{\csname sub-\orig_series\endcsname}
+ \x_cs\ifx{#1-#2-\subst_series-#4}\x_relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{\subst_series}{#4}{
+ <->\csname typ-\orig_series\endcsname\space
+ *~#2/\orig_series/#4
+ }{}
+ }
+ \x_cs\let{#1-#2-\subst_series-#4}\empty_command
+ \substitute_series{#1}{#2}{\subst_series}{#4}
+ \fi
+ \fi
+}
+\def\substitutesilent#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{ssub}
+}
+\def\substitutenoisy#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{sub}
+}
+\substitutesilent{bx}{b}
+\substitutesilent{b}{bx}
+\substitutesilent{b}{sb}
+\substitutesilent{b}{db}
+\substitutesilent{m}{mb}
+\substitutesilent{m}{l}
+\substitutenoisy{ui}{it}
+\substitutesilent{sl}{it}
+\substitutesilent{it}{sl}
+\def\declareencoding#1#2{\x_cs\edef{enc-#1}{#2}}
+\declareencoding{TEX~TEXT}{ot1}
+\declareencoding{TEX~TEXT~WITHOUT~F-LIGATURES}{ot1}
+\declareencoding{TEX~TYPEWRITER~TEXT}{ot1tt}
+\declareencoding{TEX~MATH~ITALIC}{oml}
+\declareencoding{TEX~MATH~SYMBOLS}{oms}
+\declareencoding{TEX~MATH~EXTENSION}{omx}
+\declareencoding{LATEX~SYMBOLS}{lasy}
+\declareencoding{TEX~TEXT~SUBSET}{eufrak}
+\declareencoding{TEX~MATH~ITALIC~SUBSET}{eurm}
+\declareencoding{TEX~MATH~SYMBOLS~SUBSET}{euscr}
+\declareencoding{EULER~SUBSTITUTIONS~ONLY}{euex}
+\declareencoding{EXTENDED~TEX~FONT~ENCODING~-~LATIN}{t1}
+\declareencoding{TEX~TEXT~COMPANION~SYMBOLS~1---TS1}{ts1}
+\declareencoding{TEXBASE1ENCODING}{8r}
+\declareencoding{TEX~TYPEWRITER~AND~WINDOWS~ANSI}{8y}
+\def\declaresize#1#2{\x_cs\edef{siz-#1}{#2}}
+\declaresize{}{<->}
+\declaresize{5}{<5>}
+\declaresize{6}{<6>}
+\declaresize{7}{<7>}
+\declaresize{8}{<8>}
+\declaresize{9}{<9>}
+\declaresize{10}{<10>}
+\declaresize{11}{<10.95>}
+\declaresize{12}{<12>}
+\declaresize{14}{<14.4>}
+\declaresize{17}{<17.28>}
+\declaresize{20}{<20.74>}
+\declaresize{25}{<24.88>}
+\def\NOFILES{
+ \def\transformfont##1##2{
+ \touch_file{##1.mtx}
+ \touch_file{##1.pl}
+ }
+ \def\reglyphfont##1##2{\touch_file{##1.mtx}}
+ \def\installfonts{}
+ \def\endinstallfonts{}
+ \def\installfont##1##2##3##4##5##6##7##8{
+ \touch_file{##1.vpl}
+ }
+ \def\installrawfont##1##2##3##4##5##6##7##8{
+ \touch_file{##1.pl}
+ }
+ \def\installfamily##1##2##3{\touch_file{##1##2.fd}}
+}
+\def\touch_file#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~TEST~FILE.}
+ \out_line{\percent_char~Created~whilst~debugging~fontinst.}
+ \close_out{Test~file}
+}
+%%% From file: ficonv.dtx
+\def\afmtomtx#1#2{{
+ \let\setsomething_global=\x_relax
+ \open_out{\temp_prefix#2.mtx}
+ \edef\raw_font_name{#2}
+ \edef\source_font_name{#1}
+ \x_resetint{italicslant}{0}
+ \let\italcorr_expression=\uprightitalcorr
+ \x_setint{minimumkern}{0}
+ \minimum_kern=\int{minimumkern}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\afmtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.afm~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \catcode`\^^M=12
+ \catcode`\ =10
+ \expandafter\afm_line\primitiveinput #1.afm\x_relax
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Metrics}
+}}
+\newcount\minimum_kern
+\def\afm_length#1#2{
+ \a_dimen=#2\afm_unit_dimen
+ #1=\a_dimen
+ \divide #1 by \afm_unit_dimen
+ \advance \a_dimen by -#1\afm_unit_dimen
+ \ifdim \a_dimen>0.5\afm_unit_dimen
+ \advance #1 by 1
+ \else \ifdim \a_dimen<-0.5\afm_unit_dimen
+ \advance #1 by -1
+ \fi\fi
+ \x_relax
+}
+\newdimen\afm_unit_dimen
+\afm_unit_dimen=1000sp
+{\catcode`\^^M=12 \gdef\afm_line#1
+{\afm_command#1~\end_of_line\afm_line}}
+\def\afm_command#1~{\csname~afm-#1\endcsname\gobble_one_line}
+\def\gobble_one_line#1\end_of_line{}
+\x_cs\def{afm-EndFontMetrics}#1\afm_line{\endinput}
+\def\afm_def#1(#2)#3{\x_cs\def{afm-#1}
+ \gobble_one_line#2\end_of_line{#3}}
+\def\afm_let#1#2{
+ \expandafter\let \csname afm-#1\expandafter\endcsname
+ \csname afm-#2\endcsname
+}
+\afm_def{CharWidth}(#1){\afm_length\char_x_width{#1}}
+\afm_def{ItalicAngle}(#1~){\calculate_it_slant{#1}}
+\afm_def{XHeight}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{xheight}{\the\a_count}}}
+\afm_def{CapHeight}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{capheight}{\the\a_count}}}
+\afm_def{Ascender}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{ascender}{\the\a_count}}}
+\afm_def{Descender}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{descender_neg}{\the\a_count}}}
+\afm_def{UnderlineThickness}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{underlinethickness}{\the\a_count}}}
+\afm_def{FontBBox}(#1~#2~#3~#4){
+ \afm_length\a_count{#4}
+ \out_line{\string\setint{maxheight}{\the\a_count}}
+ \afm_length\a_count{#2}
+ \out_line{\string\setint{maxdepth_neg}{\the\a_count}}}
+\afm_def{StdVW}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{verticalstem}{\the\a_count}}}
+\afm_def{IsFixedPitch}(#1){
+ \if\first_char#1=f
+ \else\out_line{\string\setint{monowidth}{1}}
+ \fi
+}
+\afm_def{FontName}(#1~){
+ \record_transform{\raw_font_name}
+ {\string\fromafm{\source_font_name}{#1}}{}\iftrue
+}
+\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{#1}{#2}{\the\a_count}}
+ \else\ifnum \a_count<-\minimum_kern
+ \out_line{\string\setkern{#1}{#2}{\the\a_count}}
+ \fi\fi
+ \fi\fi
+}
+\afm_let{KPX}{KP}
+\afm_def{C}(#1~;#2){\init_afm{#1}\do_list[#2]\afm_char}
+\afm_let{CH}{C}
+\afm_def{CC}(#1~#2~;#3){\init_cc{#1}\do_list[#3]\cc_char}
+\newcount\char_slot
+\newcount\char_x_width
+\newcount\x_width
+\newcount\bbox_llx
+\newcount\bbox_lly
+\newcount\bbox_urx
+\newcount\bbox_ury
+\let\char_name=\empty_command
+\def\init_afm#1{
+ \char_slot=#1\x_relax
+ \x_width=\char_x_width
+ \bbox_llx=0
+ \bbox_lly=0
+ \bbox_urx=0
+ \bbox_ury=0
+ \let\char_name=\empty_command
+}
+\def\afm_char{
+ \a_count=-\bbox_lly
+ \eval_expr{
+ \italcorr_expression\x_width\bbox_llx\bbox_urx\bbox_lly\bbox_ury
+ }
+ \out_line{
+ \ifnum -1<\char_slot
+ \string\setrawglyph
+ \else
+ \string\setnotglyph
+ \fi
+ {\char_name}
+ {\raw_font_name}
+ {10pt}
+ {\the\char_slot}
+ {\the\x_width}
+ {\the\bbox_ury}
+ {\the\a_count}
+ {\the\result}
+ }
+}
+\def\init_cc#1{%
+ \out_line{\string\setglyph{#1}}
+ \def\char_name{#1}
+}
+\def\cc_char{%
+ \out_lline{\string\samesize{\char_name-not}}
+ \out_line{\string\endsetglyph}
+}
+\def\uprightitalcorr#1#2#3#4#5{0}
+\def\slanteditalcorr#1#2#3#4#5{\max{\sub{#3}{#1}}{0}}
+\def\calculate_it_slant#1{
+ \edef\theangle{#1}
+ \CalculateTan{\theangle}
+ \a_dimen=-\one_thousand sp
+ \a_dimen=\UseTan{\theangle}\a_dimen
+ \a_count=\a_dimen
+ \out_line{\string\setint{italicslant}{\the\a_count}}
+ \x_resetint{italicslant}{\a_count}
+ \ifnum 0<\a_count
+ \let\italcorr_expression=\slanteditalcorr
+ \else
+ \let\italcorr_expression=\uprightitalcorr
+ \fi
+}
+\def\do_list[~#1~#2;~#3]{
+ \csname~list-#1\endcsname\gobble_one_semi#2;
+ \ifx\x_relax#3\x_relax\expandafter\gobble_one
+ \else\expandafter\identity_one\fi
+ {\do_list[~#3]}
+}
+\def\gobble_one_semi#1;{}
+\def\list_def#1(#2)#3{\x_cs\def{list-#1}\gobble_one_semi#2~;{#3}}
+\list_def{W}(#1~#2){\afm_length\x_width{#1}}
+\list_def{WX}(#1){\afm_length\x_width{#1}}
+\list_def{WY}(#1){}
+\list_def{N}(#1){\def\char_name{#1}}
+\list_def{B}(#1~#2~#3~#4){
+ \afm_length\bbox_llx{#1}
+ \afm_length\bbox_lly{#2}
+ \afm_length\bbox_urx{#3}
+ \afm_length\bbox_ury{#4}
+}
+\list_def{PCC}(#1~#2~#3){
+ \afm_length\a_count{#2}
+ \afm_length\b_count{#3}
+ \out_lline{\string\glyphpcc{#1}{\the\a_count}{\the\b_count}}
+}
+\def\generalpltomtx#1#2#3#4{{
+ \let\setsomething_global=\x_relax
+ \let\setfontdimen=\pl_setfontdimen
+ \if _#4_ \else
+ \def\do_slot{\x_cs\let{name-\the\slot_number}\slot_name}
+ \def\do_boundary{\x_cs\let{name-BOUNDARYCHAR}\slot_name}
+ \inputetx{#4}
+ \let\CODINGSCHEME=\ignore_parens
+ \fi
+ \pl_to_mtx{#1}{#2}{#3}{\string\generalpltomtx{#1}{#2}{#3}{#4}}
+}}
+\def\pltomtx#1#2{\generalpltomtx{#1}{#2}{pl}{}}
+\def\pl_to_mtx#1#2#3#4{
+ \edef\raw_font_name{#1}
+ \open_out{\temp_prefix#2.mtx}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~#4}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.#3~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \lowercase{
+ \record_transform{#2}{
+ \string\from#3 \x_cs\ifx{from#3}\frompl {#1} \fi
+ }{}\iftrue
+ }
+ \out_line{}
+ \catcode`\(=0 \catcode`\)=9
+ \let\/=\ignore_parens
+ \let\do_pl_glyph=\x_relax
+ \primitiveinput #1.#3\x_relax
+ \do_pl_glyph
+ \out_line{}
+ \ifisint{\percent_char boundarychar}\then
+ \f_count=\int{\percent_char boundarychar}
+ \x_cs\ifx{name-\the\f_count}\x_relax \else
+ \out_line{\string\setstr{rightboundary}
+ {\csname name-\the\f_count\endcsname}
+ }
+ \out_line{}
+ \fi
+ \fi
+ \out_line{\endmetrics_text}
+ \close_out{Metrics}
+}
+\def\ignore_parens{\bgroup\catcode`(=1 \catcode`)=2 \x_relax
+ \expandafter\expandafter\expandafter\gobble_parens
+ \iftrue\expandafter{\else}\fi}
+\def\gobble_parens#1{\egroup}
+\def\pl_real#1{\pl_realer(#1000)}
+\def\pl_realer(#1.#2#3#4#5){#1#2#3#4}
+\def\pl_rounded_real(#1.#2#3#4#5){
+ \global\result=#1#2#3#4\relax
+ \ifnum \first_char#5= >4
+ \global\advance \result
+ \if - \first_char#1= \m@ne \else \@ne \fi
+ \fi
+}
+\def\pl_int#1#2{
+ \ifx#1C `#2
+ \else\ifx#1D #2
+ \else\ifx#1O '#2
+ \else\ifx#1H "#2
+ \else -1\errmessage{Unknown~PL~number~prefix~`#1'}
+ \fi\fi\fi\fi
+}
+\let\FAMILY=\ignore_parens
+\let\FACE=\ignore_parens
+\let\CHECKSUM=\ignore_parens
+\def\HEADER~#1~#2~#3~#4~{}
+\def\SEVENBITSAFEFLAG~#1~{}
+\let\COMMENT=\ignore_parens
+\let\LIG=\ignore_parens
+\let\NEXTLARGER=\ignore_parens
+\let\VARCHAR=\ignore_parens
+\let\VTITLE=\ignore_parens
+\let\MAPFONT=\ignore_parens
+\let\MAP=\ignore_parens
+\def\CODINGSCHEME{\bgroup\catcode`\)=12\x_relax\CODINGSCHEME_cont}
+\def\CODINGSCHEME_cont#1){
+ \egroup
+ \if_undefined{enc-#1}\then
+ \errhelp{The~encoding~for~`#1'~has~not~been~declared.^^J
+ You~should~declare~it~with~
+ \string\declareencoding{#1}{ETXFILE}.^^J
+ Press~<RETURN>~to~carry~on~with~fingers~crossed,^^J
+ or~X~<RETURN>~to~exit.}
+ \errmessage{Undeclared~encoding~`#1'}
+ \else
+ \def\do_slot{\x_cs\let{name-\the\slot_number}\slot_name}
+ \def\do_boundary{\x_cs\let{name-BOUNDARYCHAR}\slot_name}
+ \catcode`\(=12 \catcode`\)=12
+ \x_cs\inputetx{enc-#1}\x_relax
+ \catcode`\(=0 \catcode`\)=9
+ \fi
+}
+\def\DESIGNSIZE~#1~#2~{
+ \a_dimen=#2pt
+ \out_line{\string\setdim{designsize}{\the\a_dimen}}
+}
+\def\DESIGNUNITS~#1~#2~{
+ \b_dimen=#2pt\x_relax
+ \ifdim 1pt=\b_dimen \else
+ \fontinsterror{PL-to-MTX}{Nondefault~unit~used~in~PL~file}
+ {You~may~continue,~but~the~metrics~for~this~font~will~be~wrong.}
+ \fi
+ \out_line{\string\setdim{designunits}{\the\b_dimen}}
+}
+\def\BOUNDARYCHAR~#1~#2~{
+ \x_setint{\percent_char boundarychar}{\pl_int{#1}{#2}}
+}
+\def\pl_setfontdimen#1#2{\x_cs\def{fdimen-#1}{#2}}
+\def\PARAMETER~#1~#2~R~#3~{
+ \f_count=\pl_int{#1}{#2}\x_relax
+ \if_defined{fdimen-\the\f_count}\then
+ \pl_rounded_real(#3 0000)
+ \out_line{\string\setint{\csname fdimen-\the\f_count\endcsname}
+ {\the\result}}
+ \fi
+}
+\let\FONTDIMEN=\x_relax
+\def\SLANT{\PARAMETER D~1~}
+\pl_setfontdimen{1}{italicslant}
+\def\SPACE{\PARAMETER D~2~}
+\pl_setfontdimen{2}{interword}
+\def\STRETCH{\PARAMETER D~3~}
+\pl_setfontdimen{3}{stretchword}
+\def\SHRINK{\PARAMETER D~4~}
+\pl_setfontdimen{4}{shrinkword}
+\def\XHEIGHT{\PARAMETER D~5~}
+\pl_setfontdimen{5}{xheight}
+\def\QUAD{\PARAMETER D~6~}
+\pl_setfontdimen{6}{quad}
+\def\EXTRASPACE{\PARAMETER D~7~}
+\pl_setfontdimen{7}{extraspace}
+\def\NUM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~8~#2~#3~
+ \or
+ \PARAMETER D~9~#2~#3~
+ \or
+ \PARAMETER D~10~#2~#3~
+ \fi
+}
+\def\DENOM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~11~#2~#3~
+ \or
+ \PARAMETER D~12~#2~#3~
+ \fi
+}
+\def\SUP#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~13~#2~#3~
+ \or
+ \PARAMETER D~14~#2~#3~
+ \or
+ \PARAMETER D~15~#2~#3~
+ \fi
+}
+\def\SUB#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~16~#2~#3~
+ \or
+ \PARAMETER D~17~#2~#3~
+ \fi
+}
+\def\SUPDROP{\PARAMETER D~18~}
+\def\SUBDROP{\PARAMETER D~19~}
+\def\AXISHEIGHT{\PARAMETER D~22~}
+\def\DELIM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~20~#2~#3~
+ \or
+ \PARAMETER D~21~#2~#3~
+ \fi
+}
+\def\DEFAULTRULETHICKNESS{\PARAMETER D~8~}
+\def\BIGOPSPACING#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~9~#2~#3~
+ \or
+ \PARAMETER D~10~#2~#3~
+ \or
+ \PARAMETER D~11~#2~#3~
+ \or
+ \PARAMETER D~12~#2~#3~
+ \or
+ \PARAMETER D~13~#2~#3~
+ \fi
+}
+\def\LABEL~#1{\ifx #1B
+ \expandafter\LABEL_boundarychar
+ \else
+ \expandafter\LABEL_slot \expandafter#1
+ \fi
+}
+\def\LABEL_slot #1~#2~{
+ \f_count=\pl_int{#1}{#2}
+ \edef\a_macro{\a_macro
+ \x_cs\do_if_defined{name-\the\f_count}
+ }
+}
+\def\LABEL_boundarychar OUNDARYCHAR{
+ \edef\a_macro{\a_macro
+ \x_cs\do_if_defined{name-BOUNDARYCHAR}
+ }
+}
+\def\do_if_defined#1{\ifx #1\x_relax \else \do{#1} \fi}
+\def\LIGTABLE{\let\do=\never_do\let\a_macro\empty_command}
+\def\STOP{\let\a_macro\empty_command}
+\def\SKIP~#1~#2~{\immediate\write16{Warning:~SKIP~instruction~ignored.}}
+\def\KRN~#1~#2~R~#3~{
+ \pl_rounded_real(#3 0000)
+ \edef\do{\noexpand\write_pl_krn{\pl_int{#1}{#2}}{\the\result}}
+ \a_macro
+ \let\do=\never_do
+}
+\def\write_pl_krn#1#2#3{
+ \f_count=#1\x_relax
+ \x_cs\ifx{name-\the\f_count}\x_relax \else
+ \out_line{\string\setkern{#3}
+ {\csname name-\the\f_count\endcsname}{#2}
+ }
+ \fi
+}
+\def\CHARWD~R~#1~{\pl_rounded_real(#1 0000) \b_count=\result}
+\def\CHARHT~R~#1~{\pl_rounded_real(#1 0000) \c_count=\result}
+\def\CHARDP~R~#1~{\pl_rounded_real(#1 0000) \d_count=\result}
+\def\CHARIC~R~#1~{\pl_rounded_real(#1 0000) \e_count=\result}
+\def\CHARACTER~#1~#2~{
+ \do_pl_glyph
+ \a_count=\pl_int{#1}{#2}
+ \b_count=0
+ \c_count=0
+ \d_count=0
+ \e_count=0
+ \let\do_pl_glyph=\write_pl_glyph
+}
+\def\write_pl_glyph{
+ \x_cs\ifx{name-\the\a_count}\x_relax\else
+ \out_line{\string\setrawglyph
+ {\csname~name-\the\a_count\endcsname}
+ {\raw_font_name}
+ {\the\a_dimen}
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\the\e_count}}
+ \fi
+ }
+\def\mtxtopl#1#2{{
+ \let\setsomething_global=\x_relax
+ \open_out{#2.pl}
+ \top_of_pl_hook
+ \out_line{(COMMENT~raw~font~#2~created~by~fontinst~
+ v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.pl)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\string\mtxtopl{#1}{#2})}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~
+ a~ligless~TeX~font~with)}
+ \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \out_line{(DESIGNSIZE~R~10.0)}
+ \out_line{}
+ \let\setglyph=\iffalse
+ \let\endsetglyph=\fi
+ \let\setkern=\gobble_three
+ \let\setscaledrawglyph=\first_pl_raw_glyph
+ \def\setscalednotglyph##1##2##3##4##5##6##7##8##9{}
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.pl)}
+ \close_out{Raw~font}
+}}
+\def\first_pl_raw_glyph#1#2#3#4{
+ \out_line{(DESIGNUNITS~R~\make_factor{#4})}
+ \let\setscaledrawglyph=\pl_raw_glyph
+ \pl_raw_glyph{#1}{#2}{#3}{#4}
+}
+\def\pl_raw_glyph#1#2#3#4#5#6#7#8#9{
+ \out_line{(CHARACTER~D~\number#5~\space(COMMENT~#1)}
+ \out_lline{(CHARWD~R~\make_factor{#6})}
+ \out_lline{(CHARHT~R~\make_factor{#7})}
+ \out_lline{(CHARDP~R~\make_factor{#8})}
+ \out_lline{(CHARIC~R~\make_factor{#9})}
+ \out_lline{)}
+}
+\def\transformfont#1#2{{
+ \let\setsomething_global=\x_relax
+ \unsetstr{afm-name}
+ \unsetstr{etx-name}
+ \x_resetint{x-scale}{\one_thousand}
+ \x_resetint{y-scale}{\one_thousand}
+ \x_resetint{slant-scale}{0}
+ #2
+ \ifisstr{afm-name}\then
+ \mtxtomtx{\str{afm-name}}{#1}
+ \mtxtopl{#1}{#1}
+ \else
+ \fontinsterror{Transformfont}{
+ Failed~to~make~transformed~font~#1;\messagebreak
+ source~font~metrics~file~not~found
+ }\error_help_a
+ \fi
+}}
+\def\fromafm#1{
+ \if_file_exists{#1.afm}\then
+ \x_setstr{afm-name}{#1}
+ \afmtomtx{#1}{#1}
+ \mtxtopl{#1}{#1}
+ \fi
+}
+\def\frommtx#1{
+ \if_file_exists{#1.mtx}\then \x_setstr{afm-name}{#1} \fi
+}
+\def\frompl#1{
+ \if_file_exists{#1.pl}\then
+ \x_setstr{afm-name}{#1}
+ \generalpltomtx{#1}{#1}{pl}{}
+ \fi
+}
+\def\fromplgivenetx#1#2{
+ \if_file_exists{#1.pl}\then
+ \x_setstr{afm-name}{#1}
+ \generalpltomtx{#1}{#1}{pl}{#2}
+ \fi
+}
+\def\fromany#1{
+ \x_cs\edef{s-afm-name}{#1}
+ \if_file_exists{#1.mtx}\then\else
+ \if_file_exists{#1.pl}\then
+ \generalpltomtx{#1}{#1}{pl}{}
+ \else
+ \if_file_exists{#1.afm}\then
+ \afmtomtx{#1}{#1}
+ \mtxtopl{#1}{#1}
+ \else
+ \if_file_exists{#1.vpl}\then
+ \generalpltomtx{#1}{#1}{vpl}{}
+ \else
+ \unsetstr{afm-name}
+ \fi\fi\fi\fi
+}
+\def\scalefont#1#2{
+ \eval_expr_to\d_count{#1}
+ \x_resetint{x-scale}{\scale{\d_count}{\int{x-scale}}}
+ \x_resetint{y-scale}{\scale{\d_count}{\int{y-scale}}}
+ \x_resetint{slant-scale}{\scale{\d_count}{\int{slant-scale}}}
+ #2
+}
+\def\xscalefont#1#2{
+ \x_resetint{x-scale}{\scale{#1}{\int{x-scale}}}
+ #2
+}
+\def\yscalefont#1#2{
+ \eval_expr_to\d_count{#1}
+ \x_resetint{y-scale}{\scale{\d_count}{\int{y-scale}}}
+ \x_resetint{slant-scale}{\scale{\d_count}{\int{slant-scale}}}
+ #2
+}
+\def\slantfont#1#2{
+ \x_resetint{slant-scale}{
+ \add{\scale{#1}{\int{x-scale}}}{\int{slant-scale}}
+ }
+ #2
+}
+\def\reencodefont#1#2{
+ #2
+ \resetstr{etx-name}{#1}
+}
+\def\mtxtomtx#1#2{{
+ \ifisstr{etx-name}\then
+ \def\do_slot{\x_cs\edef{slots-\slot_name}{\the\slot_number}}
+ \directfalse
+ \inputetx{\str{etx-name}}
+ \edef\a_macro{\string\reencodefont{\str{etx-name}}}
+ \else
+ \let\a_macro=\empty_command
+ \fi
+ \_a_true
+ \ifnum \int{x-scale}=\int{y-scale}
+ \ifnum \int{slant-scale}=\z@
+ \_a_false
+ \fi \fi
+ \if_a_
+ \a_count=\int{x-scale}
+ \l_inv_scale\a_count{\int{y-scale}}
+ \b_count=\int{slant-scale}
+ \l_inv_scale\b_count{\int{y-scale}}
+ \edef\a_macro{\a_macro
+ \string\transformfont{\the\a_count}{\the\b_count}
+ }
+ \fi
+ \open_out{\temp_prefix#2.mtx}
+ \edef\raw_font_name{#2}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\mtxtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#2}{\string\frommtx{#1}}{\a_macro}\iftrue
+ \out_line{}
+ \mtxtomtx_redefinitions
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Transformed~metrics}
+}}
+\def\mtxtomtx_redefinitions{
+ \let\setint=\mtxtomtx_setint
+ \let\setdim=\mtxtomtx_setdim
+ \let\setstr=\mtxtomtx_setstr
+ \let\setscaledrawglyph=\mtxtomtx_setscaledrawglyph
+ \let\setscalednotglyph=\mtxtomtx_setscaledrawglyph
+ \let\setkern=\mtxtomtx_setkern
+ \let\setglyph=\mtxtomtx_setglyph
+ \let\glyphpcc=\mtxtomtx_glyphpcc
+ \let\samesize=\mtxtomtx_samesize
+ \let\endsetglyph=\mtxtomtx_endsetglyph
+ \def\aliased{\string\aliased}
+}
+\let\aliased=\second_of_two
+\def\mtxtomtx_setint#1#2{
+ \def\a_macro{#1}
+ \ifx \a_macro\italicslant_name
+ \eval_expr{#2}
+ \global\multiply \result \int{x-scale}
+ \a_count=\int{slant-scale}
+ \multiply \a_count \one_thousand
+ \advance \a_count \result
+ \divide \a_count \int{y-scale}\x_relax
+ \else
+ \def\do##1{
+ \def\b_macro{##1}
+ \ifx \a_macro\b_macro \expandafter\if_false \fi
+ }
+ \gobble_one\iftrue \width_ints_list \if_true
+ \eval_expr_to\a_count{\scale{#2}{\int{y-scale}}}
+ \else
+ \eval_expr_to\a_count{\scale{#2}{\int{x-scale}}}
+ \fi
+ \fi
+ \out_line{\string\setint{#1}{\the\a_count}}
+}
+\def\italicslant_name{italicslant}
+\def\width_ints_list{
+ \do{interword}\do{stretchword}\do{shrinkword}\do{quad}
+ \do{extraspace}\do{digitwidth}\do{verticalstem}
+}
+\def\mtxtomtx_setdim#1#2{
+ \out_line{\string\setdim{#1}{#2}}
+}
+\def\mtxtomtx_setstr#1#2{
+ \out_line{\string\setstr{#1}{#2}}
+}
+\def\mtxtomtx_setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \eval_expr_to\a_count{\scale{#6}{\int{x-scale}}}
+ \eval_expr_to\b_count{\scale{#7}{\int{y-scale}}}
+ \eval_expr_to\c_count{\scale{#8}{\int{y-scale}}}
+ \eval_expr_to\d_count{#9} \eval_expr{#7}
+ \multiply \d_count \int{x-scale}
+ \global\multiply \result \int{slant-scale}
+ \global\advance \result \d_count
+ \rounded_thousandths
+ \d_count=\result
+ \eval_expr{\scale{#4}{\int{y-scale}}}
+ \ifisstr{etx-name}\then
+ \bgroup
+ \let\aliased=\first_of_two
+ \if_undefined{slots-#1}\then
+ \egroup \e_count=\m@ne
+ \else
+ \expandafter\egroup \expandafter\e_count
+ \csname slots-#1\endcsname
+ \fi
+ \else
+ \e_count=#5
+ \fi
+ \out_line{
+ \ifnum \e_count>\m@ne
+ \string\setscaledrawglyph
+ \else
+ \string\setscalednotglyph
+ \fi
+ {#1}{\raw_font_name}{#3}{\the\result}{\the\e_count}
+ {\the\a_count}{\the\b_count}{\the\c_count}{\the\d_count}
+ }
+}
+\def\mtxtomtx_setkern#1#2#3{
+ \eval_expr{\scale{\int{x-scale}}{#3}}
+ \out_line{\string\setkern{#1}{#2}{\the\result}}
+}
+\def\mtxtomtx_setglyph#1{\out_line{\string\setglyph{#1}}}
+\def\mtxtomtx_samesize#1{\out_lline{\string\samesize{#1}}}
+\def\mtxtomtx_endsetglyph{\out_line{\string\endsetglyph}}
+\def\mtxtomtx_glyphpcc#1#2#3{
+ \eval_expr_to\b_count{\scale{\int{y-scale}}{#3}}
+ \eval_expr_to\a_count{#2} \eval_expr{#3}
+ \multiply \a_count \int{x-scale}
+ \global\multiply \result \int{slant-scale}
+ \global\advance \result \a_count
+ \rounded_thousandths
+ \out_lline{\string\glyphpcc{#1}{\the\result}{\the\b_count}}
+}
+\def\reglyphfonts{
+ \begingroup
+ \let\setsomething_global=\x_relax
+ \x_setint{renameweight}{1}
+ \x_setint{killweight}{-10}
+ \setcommand\iftokeep##1\then{\ifnum -1<##1}
+}
+\def\endreglyphfonts{\endgroup}
+\def\offmtxcommand#1{
+ \x_cs\offcommand{reglyph_\expandafter\gobble_one\string#1}
+}
+\def\onmtxcommand#1{
+ \x_cs\oncommand{reglyph_\expandafter\gobble_one\string#1}
+}
+\begingroup
+ \catcode`\-=11
+ \gdef\renameglyph#1#2{
+ \x_cs\edef{slots-#2}{
+ \noexpand\rename_glyph{#1}\noexpand\i-renameweight
+ }
+ }
+\endgroup
+\def\renameglyphweighted#1#2#3{
+ \eval_expr{#3}
+ \x_cs\edef{slots-#2}{\noexpand\rename_glyph{#1}{\the\result}}
+}
+\begingroup
+ \catcode`\-=11
+ \gdef\killglyph#1{
+ \x_cs\def{slots-#1}{\kill_glyph\i-killweight}
+ }
+\endgroup
+\def\killglyphweighted#1#2{
+ \eval_expr{#2}
+ \x_cs\edef{slots-#1}{\noexpand\kill_glyph{\the\result}}
+}
+\def\reglyphfont#1#2{
+ \fromany{#2}
+ \ifisstr{afm-name}\then
+ \reglyph_font{#1}{#2}
+ \else
+ \fontinsterror{Reglyph}{Could~not~find~font~metrics~for~#2.}
+ \error_help_a
+ \fi
+}
+\def\reglyph_font#1#2{{
+ \open_out{\temp_prefix#1.mtx}
+ \out_line{\percent_char~Filename:~#1.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\reglyphfont{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#1}{\string\frommtx{#2}}{\string\reglyphfont}
+ \iftrue
+ \out_line{}
+ \reglyph_redefinitions
+ \inputmtx{#2}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Reglyphed~metrics}
+}}
+\def\reglyph_redefinitions{
+ \let\setint=\reglyph_setint
+ \let\setdim=\reglyph_setdim
+ \let\setstr=\reglyph_setstr
+ \let\setscaledrawglyph=\reglyph_setscaledrawglyph
+ \let\setscalednotglyph=\reglyph_setscaledrawglyph
+ \let\setkern=\reglyph_setkern
+ \let\setglyph=\reglyph_setglyph
+ \let\glyphpcc=\reglyph_glyphpcc
+ \let\samesize=\reglyph_samesize
+ \let\endsetglyph=\reglyph_endsetglyph
+}
+\def\reglyph_setint#1#2{\out_line{\string\setint{#1}{#2}}}
+\def\reglyph_setdim#1#2{\out_line{\string\setdim{#1}{#2}}}
+\def\reglyph_setstr#1#2{\out_line{\string\setstr{#1}{#2}}}
+\newcount\command_survivance
+\def\rename_glyph#1{\def\glyphname{#1}\kill_glyph}
+\def\kill_glyph#1{\advance \command_survivance #1\x_relax}
+\def\reglyph_setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{
+ \ifnum #5<\z@
+ \string\setscalednotglyph
+ \else
+ \string\setscaledrawglyph
+ \fi
+ {\glyphname}{#2}{#3}{\number#4}{#5}{#6}{#7}{#8}{#9}
+ }
+ \fi
+}
+\def\reglyph_setkern#1#2#3{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \let\a_macro=\glyphname
+ \def\glyphname{#2}
+ \csname slots-#2\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{\string\setkern{\a_macro}{\glyphname}{#3}}
+ \fi
+}
+\def\reglyph_setglyph#1{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_line{\string\setglyph{\glyphname}}}
+ \a_toks=\expandafter{\a_macro}
+}
+\x_cs\def{off-\string\reglyph_setglyph}#1{\gobble_glyph}
+\def\reglyph_glyphpcc#1#2#3{
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_lline{
+ \string\glyphpcc{\glyphname}{#2}{#3}
+ }}
+ \a_toks=\expandafter{\the\expandafter\a_toks \a_macro}
+}
+\def\reglyph_samesize#1{
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_lline{
+ \string\samesize{\glyphname}
+ }}
+ \a_toks=\expandafter{\the\expandafter\a_toks \a_macro}
+}
+\def\reglyph_endsetglyph{
+ \iftokeep\command_survivance\then
+ \the\a_toks
+ \out_line{\string\endsetglyph}
+ \fi
+ \a_toks={}
+}
+%%% From file: filtfam.dtx
+\def\latinfamily#1#2{{
+ \edef\a_macro{#1}
+ \expandafter\parse_family\a_macro
+ \empty_command\empty_command\end_parse_family
+ \installfonts
+ \if_file_exists{\raw_encoding.mtx}\then
+ \installfamily{\raw_encoding}{\latex_family}{#2}
+ \fi
+ \installfamily{OT1}{\latex_family}{#2}
+ \installfamily{T1}{\latex_family}{#2}
+ \installfamily{TS1}{\latex_family}{#2}
+ \latin_weights
+ \endinstallfonts
+}}
+\def\parse_family #1#2#3#4#5\end_parse_family{
+ \gdef\font_family{#1#2#3}
+ \gdef\font_variant{#4#5}
+ \gdef\raw_variant{#4#5}
+ \gdef\latex_family{#1#2#3#4#5}
+ \_expert_false
+ \_oldstyle_false
+ \ifx#4x
+ \_expert_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1}
+ \else\ifx#4j
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else\ifx#49
+ \gdef\latex_family{#1#2#3j#5}
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else
+ \_expert_false
+ \_oldstyle_false
+ %\setcommand\digit##1{##1}
+ \fi\fi\fi
+ \if_oldstyle_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(oldstyle)}
+ \else\if_expert_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(expert)}
+ \else
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#4#5>}
+ \fi\fi
+}
+\newif\if_expert_
+\newif\if_oldstyle_
+\def\latin_weight#1#2{
+ \gdef\font_weight{#1}%
+ \gdef\latex_weight{#2}%
+ \latin_widths
+}
+\def\latin_width#1#2{
+ \gdef\font_width{#1}
+ \gdef\latex_width{#2}
+ \latin_shapes
+}
+\def\latin_shape#1#2#3#4#5{
+ \gdef\font_shape{#1}
+ \gdef\raw_shape{#2}
+ \gdef\encoding_shape{#3}
+ \if_oldstyle_
+ \gdef\encoding_shape{#3\oldstyle_shape}
+ \fi
+ \gdef\latex_shape{#4}
+ \gdef\encoding_switches{#5}
+ \immediate\write16{
+ INFO>~to~make~LaTeX~font~shape~<\latex_family,
+ \latex_weight,\latex_shape,\latex_width>~seek~
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx}
+ \csname fake_width_\font_width\endcsname
+ \csname fake_shape_\raw_shape\endcsname
+ \if_file_exists{
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx
+ }\then
+ \latin_encodings
+ \fi
+}
+\def\fake_shape_{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_raw_encoding
+ \fi
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.afm
+ }\then
+ \fake_shape_expert_encoding
+ \fi
+ \fi
+}
+\def\fake_shape_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width>
+ }
+ \transformfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \reencodefont{\raw_encoding}{
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+}
+\def\fake_shape_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width
+ }
+ \fi
+}
+\def\fake_shape_c{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ % If real smallcaps font doesn't exist, fake it from the roman.
+ \gdef\raw_shape{}
+ \if_oldstyle_
+ \gdef\encoding_shape{cj}
+ \else
+ \gdef\encoding_shape{c}
+ \fi
+ \fake_shape_
+ \fi
+}
+\def\fake_shape_o{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ \fake_shape_o_raw_encoding
+ \if_expert_
+ \fake_shape_o_expert_encoding
+ \fi
+ \fi
+}
+\def\fake_shape_o_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \raw_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_shape_o_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \expert_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\let\fake_shape_i\fake_shape_ % We must do this again!
+\newif\if_fake_narrow_
+\_fake_narrow_false
+\def\fakenarrow#1{
+ \_fake_narrow_true
+ \gdef\fake_narrow_width{#1}
+}
+\def\fake_width_{}
+\def\fake_width_c{}
+\def\fake_width_n{
+ \if_fake_narrow_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then % no action required
+ \else
+ \fake_width_n_raw_encoding
+ \if_expert_
+ \fake_width_n_expert_encoding
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\def\latin_encoding#1#2#3#4#5{
+ \gdef\latex_encoding{#4}
+ \gdef\latex_mtx{#5}
+ \if_oldstyle_
+ \gdef\font_encoding{#3}
+ \else\if_expert_
+ \gdef\font_encoding{#2}
+ \else
+ \gdef\font_encoding{#1}
+ \fi\fi
+ \gdef\expert_font{}
+ \gdef\oldstyle_font{}
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \gdef\expert_font{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width,
+ }
+ \fi
+ \fi
+ \immediate\write16{
+ INFO>~run~\string\installfont\space
+ <\font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx>
+ <\latex_encoding\encoding_shape>
+ <\latex_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installfont{
+ \font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width
+ }{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx
+ }{
+ \latex_encoding\encoding_shape
+ }{
+ \latex_encoding
+ }{
+ \latex_family
+ }{
+ \latex_weight\latex_width
+ }{
+ \latex_shape
+ }{}
+}
+\def\latin_weights{
+ \latin_weight{r}{m}
+ \latin_weight{k}{m}
+ \latin_weight{b}{b}
+ \latin_weight{s}{sb}
+ \latin_weight{d}{db} % was {d}{sb}, SPQR changed
+ \latin_weight{m}{mb} % was {m}{m}, UV changed
+ \latin_weight{c}{eb} % UV added
+ \latin_weight{h}{eb} % UV added
+ \latin_weight{x}{eb}
+ \latin_weight{u}{ub}
+ \latin_weight{l}{l}
+ %\latin_weight{j}{el}
+ %\latin_weight{a}{ul} % UV added
+}
+\def\latin_widths{
+ \latin_width{}{}
+ \latin_width{n}{c}
+ %latin_width{c}{c}
+ %latin_width{x}{x}
+}
+\def\latin_shapes{
+ \latin_shape{} {} {} {n} {\_textcomp_true }
+ \latin_shape{c}{c}{} {sc}{\_textcomp_false}
+ \latin_shape{o}{o}{} {sl}{\_textcomp_true }
+ \latin_shape{i}{i}{i}{it}{\_textcomp_true }
+}
+\def\latin_encodings{
+ \latin_encoding{7t}{9t}{9o}{OT1}{newlatin}
+ \latin_encoding{8t}{9e}{9d}{T1} {newlatin}
+ \encoding_switches
+ \if_textcomp_
+ \latin_encoding{8c}{9c}{9c}{TS1}{textcomp}
+ \fi
+}
+\newif\if_textcomp_
+
+\def\raw_encoding{8r}
+\def\adobe_encoding{8a}
+\def\expert_encoding{8x}
+
+\def\caps_shape{c}
+\def\oldstyle_shape{j}
+\def\SlantAmount{167}
+%%% From file: fimapgen.dtx
+\def\mapfrags_subsystem{Map~fragments~writer}
+\def\recordtransforms#1{\open_pout\transform_record_file{#1}}
+\def\endrecordtransforms{
+ \close_pout\transform_record_file{Font~transformation~records}
+}
+\chardef\transform_record_file=\closed_stream
+\let\storemapdata=\gobble_three
+\def\record_transform#1#2#3#4{
+ \ifnum \transform_record_file=\closed_stream \else
+ \pout_line\transform_record_file{\string\storemapdata{#1}{#2}{#3}}
+ \fi
+ #4 \out_line{\string\storemapdata{#1}{#2}{#3}} \fi
+}
+\def\record_usage#1{
+ \ifnum \transform_record_file=\closed_stream \else
+ \pout_line\transform_record_file{\string\makemapentry{#1}}
+ \fi
+}
+%%% From file: fibasics.dtx
+\def\needsfontinstversion#1{{
+ \a_dimen=#1pt
+ \b_dimen=\fontinstversion~pt\x_relax
+ \ifnum\a_dimen>\b_dimen
+ \immediate\write16{}
+ \immediate\write16{Warning:~This~file~needs~fontinst~version~#1.}
+ \immediate\write16{Warning:~You~are~using~version~
+ \fontinstversion.}
+ \immediate\write16{Warning:~This~may~cause~errors.}
+ \immediate\write16{}
+ \fi
+}}
+\if_file_exists{fontinst.rc}\then
+ \primitiveinput fontinst.rc
+\else
+ \immediate\write16{No~file~fontinst.rc.}
+\fi
+\normalcc
+\endinput
+%%
+%% End of file `cfntinst.sty'.
diff --git a/Master/texmf-dist/tex/fontinst/base/finstmsc.sty b/Master/texmf-dist/tex/fontinst/base/finstmsc.sty
new file mode 100644
index 00000000000..cb64adfb232
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/base/finstmsc.sty
@@ -0,0 +1,1365 @@
+%%
+%% This is file `finstmsc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fibasics.dtx (with options: `pkg')
+%% ficommon.dtx (with options: `pkg')
+%% fimain.dtx (with options: `misc')
+%% ficonv.dtx (with options: `misc')
+%% fimapgen.dtx (with options: `map')
+%% fibasics.dtx (with options: `pkg2,misc')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: fibasics.dtx
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\#=6
+\catcode`\^=7
+\def\fontinstversion{1.927}
+\ifx\ProvidesPackage\undefined
+ \def\NeedsTeXFormat#1{}
+ \def\ProvidesPackage#1[#2]{}
+\fi
+\ProvidesPackage{fontinst}
+[2004/08/07 v\fontinstversion\space
+ fontinst installation package]
+\def\a_macro#1{\catcode\number`#1=\the\catcode`#1 }
+\edef\normalcc{%
+ \a_macro{\ }\a_macro{\^^M}\a_macro{\@}\a_macro{\_}\a_macro{\~}
+}
+\def\fontinstcc{%
+ \catcode`\ =9%
+ \catcode`\^^M=9%
+ \catcode`\@=11%
+ \catcode`\_=11%
+ \catcode`\~=10
+}
+\fontinstcc
+\ifx\@ne\undefined_command
+ \input fontinst.ini\relax
+\fi
+\ifx\bye\undefined_command
+ \def\supereject{\par\penalty-\@MM}
+ \outer\expandafter\def \csname bye\endcsname
+ {\par\vfill\supereject\@@end}
+\fi
+\newcount\a_count
+\newcount\b_count
+\newcount\c_count
+\newcount\d_count
+\newcount\e_count
+\newcount\f_count
+\newcount\g_count
+\newdimen\a_dimen
+\newdimen\b_dimen
+\newdimen\c_dimen
+\newdimen\d_dimen
+\newtoks\a_toks
+\newtoks\b_toks
+\newtoks\c_toks
+\newif\if_a_
+\newwrite\out_file
+\mathchardef\one_thousand=1000
+\mathchardef\five_hundred=500
+\mathchardef\one_hundred=100
+\mathchardef\max_mathchardef="7FFF
+\mathchardef\two_thousand=2000
+\newdimen\half_point \half_point=0.5pt
+\let\@tempdima\a_dimen
+\let\@tempdimb\b_dimen
+\input trig.sty
+\def\x_cs#1#2{\expandafter#1\csname#2\endcsname}
+\let\x_relax=\relax
+\def\g_let{\global\let}
+\def\empty_command{}
+\def\gobble_one#1{}
+\def\gobble_two#1#2{}
+\def\gobble_three#1#2#3{}
+\def\identity_one#1{#1}
+\def\first_of_two#1#2{#1}
+\def\second_of_two#1#2{#2}
+\def\swap_two#1#2{#2#1}
+\def\first_of_three#1#2#3{#1}
+\bgroup
+ \catcode`\[=1
+ \catcode`\]=2
+ \catcode`\#=12
+ \catcode`\%=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \gdef\hash_char[#]
+ \gdef\percent_char[%]
+ \gdef\left_brace_char[{]
+ \gdef\right_brace_char[}]
+\egroup
+\def\first_char#1#2={#1}
+\def\add_to#1#2{
+ \ifx#1\x_relax
+ \def#1{#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{#1#2}
+ \fi
+}
+\def\prep_to#1#2{
+ \ifx#1\x_relax
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2#1}
+ \fi
+}
+\def\never_do{\noexpand\do}
+\newif\if_extensions_warning_
+\_extensions_warning_false
+\ifx \eTeXversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\eTeX#1{
+ \if_extensions_warning_
+ \space/\space e-TeX\space version\space #1
+~ \else
+~ \ifdim \number\eTeXversion\eTeXrevision\p@ < #1\p@ \else
+~ \_a_true
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\ifx \pdftexversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\pdfTeX#1#2{%
+ \if_extensions_warning_
+ \space/\space pdfTeX\space version\space
+ \ifnum #1<100\space
+ 0.\ifnum #1<10\space 0\fi
+ \else
+ \expandafter\swap_two \expandafter.
+ \fi
+ #1#2%
+~ \else
+~ \ifdim #1>\pdftexversion \else
+~ \ifnum \expandafter\expandafter \expandafter`
+~ \expandafter\first_char \pdftexrevision= <
+~ \expandafter` \first_char#2=
+~ \else \_a_true \fi
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\def\needsTeXextension#1#2{
+ \_a_false
+ #1
+ \if_a_ \else
+ \_extensions_warning_true
+ \edef\a_macro{#1}
+ \_extensions_warning_false
+ \fontinstwarningnoline{#2}{
+ This~file~needs:\messagebreak
+ \expandafter\second_of_two\a_macro
+ \iffalse
+ <no~sufficient~extensions~were~listed!!>\if_false
+ \fi
+ \messagebreak
+ You~are~not~using~any~of~them.~This~is~likely~to~cause~errors
+ }
+ \fi
+}
+\def\open_out#1{
+ \immediate\openout\out_file=#1 \xdef\out_filename{#1}}
+\def\close_out#1{
+ \immediate\write16{#1~written~on~\out_filename.}
+ \immediate\closeout\out_file}
+\def\out_line#1{\immediate\write\out_file{#1}}
+\edef\out_lline#1{\noexpand\out_line{\space\space\space#1}}
+\edef\out_llline#1{
+ \noexpand\out_line{\space\space\space\space\space\space#1}
+}
+\def\TeX_terminal{\string\TeX\space terminal}
+\chardef\closed_stream=99
+\x_cs\let{out_filename-99}=\TeX_terminal
+\x_cs\def{out_filename--1}{\jobname.log}
+\def\allocate_stream{
+ \a_count=\m@ne
+ \b_count=\m@ne
+ \loop \ifnum \count17>\a_count
+ \advance \a_count \@ne
+ \x_cs\ifx{out_filename-\the\a_count}\TeX_terminal
+ \b_count=\a_count
+ \a_count=\count17
+ \fi
+ \repeat
+ \ifnum \b_count=\m@ne
+ \global\advance\count17by\@ne
+ \ifnum \count17<\sixt@@n
+ \b_count=\count17
+ \global\x_cs\let{out_filename-\the\b_count}\TeX_terminal
+ \wlog{\string\write\the\b_count\space allocated~to~the~pool.}
+ \else
+ \global\count17=\sixt@@n
+ \fi
+ \fi
+}
+\def\ch@ck#1#2#3{
+ \ifnum \count1#1<#2 \else
+ \errmessage{No~room~for~a~new~#3}
+ \global\count1#1=#2
+ \fi
+}
+\def\open_pout#1#2{
+ \allocate_stream
+ \ifnum \b_count=\m@ne
+ \immediate\write\sixt@@n{fontinst~is~out~of~output~streams.^^J
+ Output~file~#2~cannot~be~opened.^^J
+ Writes~will~be~redirected~to~the~log~file.
+ }
+ \gdef#1{\m@ne}
+ \else
+ \immediate\openout\b_count=#2\x_relax
+ \x_cs\xdef{out_filename-\the\b_count}{#2}
+ \global\chardef#1=\b_count
+ \fi
+}
+\def\close_pout#1#2{
+ \ifnum #1=\closed_stream
+ \errmessage{Output~file~\string#1~(#2)~not~closed,^^J
+ since~it~was~not~open}
+ \else
+ \immediate\write\sixt@@n{#2~written~on~
+ \csname out_filename-\the#1\endcsname.}
+ \ifnum #1=\m@ne \else
+ \immediate\closeout#1
+ \global\x_cs\let{out_filename-\the#1}=\TeX_terminal
+ \fi
+ \global\chardef#1=\closed_stream
+ \fi
+}
+\def\pout_line#1#2{\immediate\write#1{#2}}
+\edef\pout_lline#1#2{\noexpand\pout_line#1{\space\space\space#2}}
+\edef\pout_llline#1#2{
+ \noexpand\pout_line#1{\space\space\space\space\space\space#2}
+}
+\def\tempfileprefix#1{\def\temp_prefix{#1}}
+\tempfileprefix{}
+\let\then=\iffalse
+\def\if_false{\iffalse}
+\def\if_true{\iftrue}
+\_a_false\eTeX{2.0}
+\if_a_\else \catcode`\~=14\x_relax \fi
+~ \def\if_defined#1\then{
+~ \if
+~ \ifcsname#1\endcsname
+~ \expandafter\ifx \csname#1\endcsname \x_relax
+~ 0
+~ \else
+~ 1
+~ \fi
+~ \else
+~ 0
+~ \fi
+~ 1
+~ }
+~ \def\if_undefined{\expandafter\unless\if_defined}
+\catcode`\~=\if_a_ 14 \else 10 \fi \x_relax
+~ \def\if_defined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ \expandafter\if_false
+~ \else
+~ \expandafter\if_true
+~ \fi
+~ }
+~ \def\if_undefined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ }
+\catcode`\~=10\x_relax
+\def\gobble_if{\iftrue\else}
+\def\if_or#1\or_else#2\then{
+ #1\then
+ \expandafter\if_true
+ \else
+ #2\then
+ \expandafter\expandafter\expandafter\if_true
+ \else
+ \expandafter\expandafter\expandafter\if_false
+ \fi
+ \fi
+}
+\def\if_equal#1\then{\ifx#1}
+\def\if_file_exists#1\then{
+ \immediate\openin1=#1\x_relax
+ \ifeof1\x_relax
+ \immediate\closein1
+ \expandafter\if_false
+ \else
+ \immediate\closein1
+ \expandafter\if_true
+ \fi
+}
+\let\Else=\else
+\let\Fi=\fi
+\x_cs\ifx{@@input}\x_relax
+ \let\primitiveinput=\input
+\else
+ \let\primitiveinput=\@@input
+\fi
+\def\process_csep_list#1#2,{
+ \ifx\process_csep_list#2
+ \expandafter\gobble_one
+ \else
+ \expandafter\identity_one
+ \fi{
+ #1{#2}
+ \process_csep_list{#1}
+ }
+}
+\def\make_factor#1{
+ \ifnum #1<\z@
+ -\expandafter\make_factor_i\expandafter{\number-#1}
+ \else
+ \expandafter\make_factor_i\expandafter{\number#1}
+ \fi
+}
+\def\make_factor_i#1{
+ \ifnum #1<\one_thousand
+ \make_factor_ii{#1}
+ \else
+ \make_factor_iii #1
+ \fi
+ #1
+}
+\def\make_factor_ii#1{
+ 0.
+ \ifnum #1<\one_hundred
+ 0
+ \ifnum #1<10~ 0\fi
+ \fi
+}
+\def\make_factor_iii#1#2#3\fi#4{
+ \fi
+ #4
+ \ifnum 1#3<\one_thousand
+ .
+ \else
+ \make_factor_iii#2#3
+ \fi
+}
+{
+ \catcode`\p=12
+ \catcode`\t=12
+ \gdef\lose_measure#1pt{#1}
+}
+\let\messagebreak\x_relax
+\def\generic_info#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\m@ne{#2\on_line.}
+ \endgroup
+}
+\def\generic_warning#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\closed_stream{^^J#2\on_line.^^J}
+ \endgroup
+}
+\def\generic_error#1#2#3#4{
+ \begingroup
+ \immediate\write\closed_stream{}
+ \def\messagebreak{^^J}
+ \edef\a_macro{{#4}}
+ \errhelp\a_macro
+ \def\messagebreak{^^J#1}
+ \errmessage{#2.^^J^^J#3
+ Type~\space H~<return>~\space for~immediate~help
+ }
+ \endgroup
+}
+\def\fontinsterror#1#2#3{
+ \generic_error{
+ \four_spaces\four_spaces
+ }{
+ #1~error:\messagebreak #2
+ }{
+ }{#3}
+}
+\def\fontinstwarning#1#2{
+ \generic_warning{
+ \four_spaces\four_spaces
+ }{
+ #1~warning:\messagebreak #2
+ }
+}
+\def\fontinstwarningnoline#1#2{
+ \fontinstwarning{#1}{#2\gobble_one}
+}
+\def\fontinstinfo#1#2{
+ \generic_info{
+ \four_spaces\four_spaces
+ }{
+ #1~info:\messagebreak #2
+ }
+}
+\def\on_line{~on~input~line~\the\inputlineno}
+\edef\four_spaces{\space\space\space\space}
+\gdef\error_help_a{
+ Your~command~was~ignored.\messagebreak
+ Type~\space I~<command>~<return>~\space to~replace~it~
+ with~another~command,\messagebreak
+ or~\space <return>~\space to~continue~without~it.}
+\gdef\error_help_c{
+ Try~typing~\space <return>~
+ \space to~proceed.\messagebreak
+ If~that~doesn't~work,~type~\space X~<return>~\space to~quit.}
+\gdef\error_help_d{
+ You're~in~trouble~here.~\space\error_help_c}
+\def\error_help_e#1{You~can~continue,~but~the~#1~wrong.}
+\newlinechar=`\^^J
+\errorcontextlines=999
+\tracinglostchars=1
+%%% From file: ficommon.dtx
+\def\str#1{\csname~s-#1\endcsname}
+\def\strint#1{\expandafter\identity_one\expandafter{\number\int{#1}}}
+\newcount\result
+\def\eval_expr#1{\global\result=#1\x_relax}
+\def\eval_expr_to#1#2{\eval_expr{#2}#1=\result}
+\def\g_eval_expr_to#1#2{\eval_expr{#2}\global#1=\result}
+\def\add#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\advance \result \a_count
+ \egroup
+}
+\def\sub#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \advance \a_count -\result
+ \global\result=\a_count
+ \egroup
+}
+\def\int#1{\csname i-#1 \endcsname}
+\def\neg#1{#1 \global\result=-\result}
+\def\mul#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \egroup
+}
+\def\div#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \divide \a_count \result
+ \global\result=\a_count
+ \egroup
+}
+\def\max#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count>\result \global\result=\a_count \fi
+ \egroup
+}
+\def\min#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count<\result \global\result=\a_count \fi
+ \egroup
+}
+\def\half#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\otherhalf#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \else \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\scale#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \rounded_thousandths
+ \egroup
+}
+\def\rounded_thousandths{
+ \global\divide \result \five_hundred
+ \ifodd \result
+ \global\advance \result by \ifnum 0>\result - \fi 1
+ \fi
+ \global\divide \result \tw@
+}
+\def\l_rounded_thousandths#1{
+ \divide #1 \five_hundred
+ \ifodd #1
+ \advance #1 by \ifnum 0>#1 - \fi\@ne
+ \fi
+ \divide #1 \tw@
+}
+\def\l_inv_scale#1#2{
+ \multiply #1 \two_thousand
+ \divide #1 #2\x_relax
+ \ifodd#1 \advance #1 \ifnum 0>#1 - \fi\@ne \fi
+ \divide #1 \tw@
+}
+\def\ifnumber#1#2#3\then{
+ \eval_expr_to\a_count{#1}
+ \eval_expr{#3}
+ \ifnum \a_count#2\result
+ \expandafter\if_true
+ \else
+ \expandafter\if_false
+ \fi
+}
+
+\let\setsomething_global=\x_relax
+\def\x_setint#1#2{
+ \x_cs\ifx{i-#1}\x_relax
+ \x_resetint{#1}{#2}
+ \fi
+}
+\let\setint=\x_setint
+\def\x_setstr#1#2{
+ \x_cs\ifx{s-#1}\x_relax
+ \setsomething_global\x_cs\edef{s-#1}{#2}
+ \fi
+}
+\let\setstr=\x_setstr
+\def\setdim#1#2{
+ \x_cs\ifx{d-#1}\x_relax
+ \a_dimen=#2\x_relax
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+ \fi
+}
+\def\setcommand#1{
+ \ifx#1\undefined_command
+ \setsomething_global \expandafter\def \expandafter#1
+ \else
+ \expandafter\def \expandafter\a_macro
+ \fi
+}
+\def\x_resetint#1#2{
+ \eval_expr{#2}
+ \setsomething_global
+ \ifnum\result<\max_mathchardef
+ \ifnum 0>\result
+ \x_cs\edef{i-#1}{\the\result}
+ \else
+ \x_cs\mathchardef{i-#1}=\result
+ \fi
+ \else
+ \x_cs\edef{i-#1}{\the\result}
+ \fi
+}
+\let\resetint=\x_resetint
+\def\resetstr#1#2{\setsomething_global\x_cs\edef{s-#1}{#2}}
+\def\resetdim#1#2{
+ \a_dimen=#2
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+}
+\def\resetcommand#1{\setsomething_global\def#1}
+\def\dim#1{\csname~d-#1\endcsname}
+\def\ifisint#1\then{\if_defined i-#1\then}
+\def\ifisstr#1\then{\if_defined s-#1\then}
+\def\ifisdim#1\then{\if_defined d-#1\then}
+\def\ifiscommand#1\then{
+ \ifx#1\undefined_command
+ \expandafter\if_false
+ \else
+ \expandafter\if_true
+ \fi
+}
+\def\unsetint#1{\setsomething_global\x_cs\let{i-#1}\x_relax}
+\def\unsetstr#1{\setsomething_global\x_cs\let{s-#1}\x_relax}
+\def\unsetdim#1{\setsomething_global\x_cs\let{d-#1}\x_relax}
+\def\unsetcommand#1{\setsomething_global\let#1=\undefined_command}
+\def\offcommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax
+ \setsomething_global\x_cs\let{saved-\string#1}#1
+ \x_cs\ifx{off-\string#1}\x_relax
+ \generate_off_command{#1}
+ \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname off-\string#1\endcsname
+ \fi
+ \fi
+}
+\def\oncommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname saved-\string#1\endcsname
+ \setsomething_global\x_cs\let{saved-\string#1}\x_relax
+ \fi
+}
+\def\generate_off_command#1{
+ \a_count=0
+ \let\next=\count_hashes
+ \expandafter\next\meaning#1~->\x_relax
+ \b_count=0
+ \a_toks={}
+ \loop \ifnum \b_count<\a_count
+ \advance \b_count 1
+ \a_toks=\expandafter{\the\expandafter\a_toks \expandafter####
+ \the\b_count}
+ \repeat
+ \setsomething_global \expandafter\def \expandafter#1 \the\a_toks {}
+}
+\def\count_hashes#1#2{
+ \if \hash_char#1
+ \advance \a_count 1
+ \else
+ \if -#1
+ \if >#2
+ \let\next=\gobble_to_xrelax
+ \fi\fi
+ \fi
+ \next#2
+}
+\def\gobble_to_xrelax#1\x_relax{}
+\def\for(#1)#2#3#4{
+ \eval_expr_to\a_count{#2}
+ \x_resetint{#1}{\a_count}
+ \eval_expr{#4}
+ \ifnum 0=\result \else
+ \c_count=\result
+ \eval_expr_to\b_count{#3}
+ \setsomething_global\x_cs\edef{for-#1}{
+ \the\c_count \x_relax
+ \noexpand\ifnum \gobble_one\fi
+ \the\b_count \ifnum 0>\c_count > \else < \fi
+ }
+ \def\next##1##2##3\endfor(#1){##2\for_i{##1}{##3}}
+ \next{#1}
+ \fi
+}
+\def\for_i#1#2{
+ \setsomething_global\x_cs\def{body-#1}{#2}
+ \ifnum \b_count \ifnum0>\c_count >\else<\fi \a_count
+ \expandafter\gobble_two
+ \else
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\for_ii#1{
+ \a_count=\int{#1}
+ \advance \a_count \csname for-#1\endcsname \a_count
+ \expandafter\gobble_two
+ \else
+ \x_resetint{#1}\a_count
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\endfor(#1){}
+\def\foreach(#1)#2{
+ \def\next##1\endfor(#1){
+ \setsomething_global\x_cs\def{body-#1}{##1}
+ \process_csep_list{\foreach_i{#1}}#2,\process_csep_list,
+ }
+ \next
+}
+\def\foreach_i#1#2{
+ \resetstr{#1}{#2}
+ \csname body-#1\endcsname
+}
+\let\comment=\gobble_one
+\let\begincomment=\iffalse
+\let\endcomment=\fi
+%%% From file: fimain.dtx
+\def\inputetx#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \slot_number=0
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\encoding=\fi
+ \primitiveinput \lowercase_file.etx\x_relax
+ \let\relax=\x_relax
+}
+\let\encoding=\relax
+\outer\def\endencoding{\endinput}
+\def\setslot#1{\edef\slot_name{#1}\do_slot}
+\def\endsetslot{\end_do_slot\advance\slot_number by 1\x_relax}
+\let\do_slot\empty_command
+\let\end_do_slot\empty_command
+\newcount\slot_number
+\def\nextslot#1{\eval_expr_to\slot_number{#1}}
+\def\skipslots#1{\eval_expr{#1} \advance\slot_number by \result}
+\let\setleftboundary=\gobble_one
+\let\endsetleftboundary=\x_relax
+\def\setrightboundary#1{
+ \makerightboundary{#1}
+ \advance \slot_number 1\x_relax
+}
+\let\ligature=\gobble_three
+\def\Ligature{\ligature}
+\def\oddligature#1#2#3#4{}
+\let\nextlarger=\gobble_one
+\let\usedas=\gobble_two
+\let\makerightboundary=\gobble_one
+\let\Unicode=\gobble_two
+\let\varchar=\empty_command
+\let\vartop=\gobble_one
+\let\varmid=\gobble_one
+\let\varbot=\gobble_one
+\let\varrep=\gobble_one
+\let\endvarchar=\empty_command
+\let\useexamplefont=\gobble_one
+\let\slotexample=\empty_command
+\let\setslotcomment=\gobble_one
+\let\resetslotcomment=\gobble_one
+\let\unsetslotcomment=\empty_command
+\let\setfontdimen\gobble_two
+\let\label=\gobble_one
+\newif\ifdirect \directtrue
+\def\input_mtx_as_etx#1{
+ \def\setscaledrawglyph##1##2##3##4##5##6##7##8##9{
+ \nextslot{##5}
+ \setslot{##1}\endsetslot
+ }
+ \offcommand\setscalednotglyph
+ \let\setglyph=\gobble_glyph
+ \offcommand\setkern
+ \inputmtx{#1}
+}
+\def\inputmtx#1{
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\metrics=\fi
+ \primitiveinput #1.mtx\x_relax
+ \let\relax=\x_relax
+}
+\let\metrics=\x_relax
+\edef\endmetrics_text{\string\endmetrics}
+\outer\def\endmetrics{\endinput}
+\let\setkern=\gobble_three
+\long\def\setglyph#1\endsetglyph{}
+\def\setrawglyph#1#2#3#4#5#6#7#8{}
+\def\setscaledrawglyph#1#2#3#4#5#6#7#8#9{}
+\let\setnotglyph=\setrawglyph
+\let\setscalednotglyph=\setscaledrawglyph
+\def\ifisglyph#1\then{\iffalse}
+\let\ifareglyphs=\ifisglyph
+%%% From file: ficonv.dtx
+\newif\ifmissingslots
+\x_cs\def{o-.notdef}#1{\global\missingslotstrue}
+{
+ \catcode`\/=\active
+ \catcode`\]=\active
+ \gdef\enctoetx#1#2{{
+ \catcode`\/=\active
+ \catcode`\]=\active
+ \def/##1[{
+ \a_count=0
+ \global\missingslotsfalse
+ \def/####1~{
+ \csname~o-####1\endcsname{
+ \ifmissingslots
+ \out_line{\string\nextslot{\the\a_count}}
+ \fi
+ \global\missingslotsfalse
+ \out_line{\string\setslot{####1}}
+ \out_line{\string\endsetslot}
+ \out_line{}
+ }
+ \advance\a_count by 1
+ }
+ }
+ \def]~def{}
+ \make_etx{#1}{#2}
+ }}
+}
+\def\make_etx#1#2{
+ \open_out{\temp_prefix#2.etx}
+ \out_line{\percent_char~Filename:~#2.etx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\enctoetx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.enc~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{}
+ \out_line{\string\documentclass[twocolumn]{article}}
+ \out_line{\string\usepackage{fontdoc}}
+ \out_line{}
+ \out_line{\string\begin{document}}
+ \out_line{}
+ \out_line{This~document~describes~the~#1~encoding.}
+ \out_line{It~was~automatically~generated~by~the}
+ \out_line{{\string\tt\space~fontinst}~package.}
+ \out_line{}
+ \out_line{\string\encoding}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \primitiveinput #1.enc\x_relax
+ \out_line{}
+ \out_line{\string\end encoding}
+ \out_line{}
+ \out_line{\string\end{document}}
+ \close_out{Encoding~vector}
+}
+\def\notdef_name{.notdef}
+\def\etxtoenc#1#2{\begingroup
+ \a_count=\z@
+ \loop
+ \x_cs\let{name-\the\a_count}=\notdef_name
+ \ifnum \@cclv>\a_count
+ \advance \a_count \@ne
+ \repeat
+ \def\do_slot{
+ \x_cs\ifx{name-\the\slot_number}\notdef_name
+ \x_cs\edef{name-\the\slot_number}{\slot_name}
+ \fi
+ }
+ \process_csep_list\inputetx #1,\process_csep_list,
+ \make_enc{#1}{#2}
+\endgroup}
+\def\make_enc#1#2{
+ \setstr{encodingname}{fontinst-autoenc-#1}
+ \def\a_macro##1{
+ \add_to\b_macro{##1.etx}
+ \def\a_macro####1{
+ \add_to\b_macro{,~####1.etx}
+ }
+ }
+ \let\b_macro\empty_command
+ \process_csep_list\a_macro #1,\process_csep_list,
+ \open_out{#2.enc}
+ \out_line{\percent_char !PS-Adobe-3.0~Resource-Encoding}
+ \out_line{\percent_char\space @psencodingfile\left_brace_char}
+ \ref_to_sourcefile{author}\b_macro
+ \ref_to_sourcefile{version}\b_macro
+ \out_line{\percent_char\four_spaces date~=~"generated~
+ \the\year/
+ \ifnum10>\month0\fi\the\month/
+ \ifnum10>\day0\fi\the\day",}
+ \out_line{\percent_char\four_spaces filename~=~"\out_filename",}
+ \ref_to_sourcefile{email}\b_macro
+ \ifisstr{address}\then
+ \out_line{\percent_char\four_spaces address~=~\str{address}}
+ \fi
+ \out_line{\percent_char\four_spaces codetable~=~"ISO/ASCII",}
+ \out_line{\percent_char\four_spaces checksum~=~"",}
+ \out_line{\percent_char\four_spaces abstract~=~"
+ This~is~a~postscript~encoding~file,~automatically~
+ generated~by~fontinst~from~\b_macro."}
+ \out_line{\percent_char\space\right_brace_char}
+ \out_line{}
+ \out_line{\percent_char\space Created~by:~tex~\jobname}
+ \out_line{\percent_char\space Created~using:~
+ \string\etxtoenc{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char\space This~file~should~be~installed~
+ somewhere~that~your~DVI}
+ \out_line{\percent_char\space to~postscript~driver~looks~for~files.~
+ It~is~needed~for}
+ \out_line{\percent_char\space reencoding~some~font~you~have~
+ transformed.}
+ \out_line{}
+ \out_line{\percent_char\space After~installing~this~file,~you~
+ should~add~the~following}
+ \out_line{\percent_char\space line~(minus~\percent_char)~
+ to~your~finstmsc.rc~file:}
+ \out_line{\percent_char\space\string\declarepsencoding
+ {#1}{\str{encodingname}}{\string\download{\out_filename}}}
+ \edef\a_macro{
+ \noexpand\declarepsencoding{#1}{\str{encodingname}}
+ {\noexpand\download{\out_filename}}
+ }
+ \a_macro
+ \out_line{}
+ \out_line{\percent_char\percent_char BeginResource:~
+ encoding~\str{encodingname}}
+ \out_line{/\str{encodingname}\space[}
+ \b_count=8
+ \a_count=\z@
+ \loop
+ \ifnum 8=\b_count
+ \b_count=\z@
+ \out_line{\percent_char\space\the\a_count}
+ \fi
+ \out_line{/\csname name-\the\a_count \endcsname}
+ \ifnum \@cclv>\a_count
+ \advance \a_count \@ne
+ \advance \b_count \@ne
+ \repeat
+ \out_line{]~def}
+ \out_line{\percent_char\percent_char EndResource}
+ \out_line{}
+ \out_line{\percent_char\space End~of~file~\out_filename.}
+ \close_out{Encoding~vector}
+}
+\def\ref_to_sourcefile#1#2{
+ \ifisstr{#1}\then
+ \out_line{\percent_char\four_spaces #1~=~\str{#1},}
+ \else
+ \out_line{\percent_char\four_spaces #1~=~"See~file~#2",}
+ \fi
+}
+\let\aliased=\second_of_two
+%%% From file: fimapgen.dtx
+\def\mapfrags_subsystem{Map~fragments~writer}
+\newcount\process_generation
+\process_generation=0
+\def\process_generation_succ{1}
+\def\extract_font_generation#1{
+ \if_defined{Tf-#1}\then
+ \expandafter\expandafter \expandafter\first_of_three
+ \csname Tf-#1\endcsname
+ \else
+ \m@ne
+ \fi
+}
+\def\storemapdata#1#2#3{
+ \expandafter\def \expandafter\a_macro
+ \expandafter{ \expandafter{ \the\process_generation}{#2}{#3}}
+ \ifnum \extract_font_generation{#1}<\process_generation \else
+ \x_cs\ifx{Tf-#1}\a_macro
+ \fontinstinfo\mapfrags_subsystem
+ {Repeated~definition~of~font~#1}
+ \else
+ \fontinstwarning\mapfrags_subsystem
+ {Inconsistent~redefinition~of~font~#1}
+ \fi
+ \fi
+ \x_cs\let{Tf-#1}=\a_macro
+}
+\let\transformfont\x_relax
+\let\reencodefont\x_relax
+\let\reglyphfont\x_relax
+\def\makemapentry#1{\begingroup
+ \def\TeX_font_name{#1}
+ \ifnum \extract_font_generation{#1}<\process_generation
+ \if_file_exists{#1.mtx}\then
+ \inputmtx{#1}
+ \fi\fi
+ \ifnum \extract_font_generation{#1}<\process_generation
+ \from_unknown{#1}
+ \x_cs\xdef{Tf-#1}{
+ {\process_generation_succ}{\noexpand\from_unknown{#1}}{}
+ }
+ \else
+ \expandafter\expandafter \expandafter\make_map_entry
+ \csname Tf-#1\endcsname
+ \fi
+ \endgroup
+}
+\def\make_map_entry#1#2#3{
+ \ifnum #1=\process_generation
+ \def\font_transforms{#3}
+ #2
+ \_a_false
+ \let\transformfont\concat_transformfont
+ \let\reencodefont\concat_reencodefont
+ \let\reglyphfont\_a_true
+ \font_transforms
+ \if_a_
+ \fontinsterror\mapfrags_subsystem{
+ \string\makemapentry\space for~reglyphed~font
+ }{ No~entry~for~font~\TeX_font_name\space
+ can~be~written,\messagebreak
+ since~it~had~been~reglyphed!~\error_help_a
+ }
+ \else
+ \entry_makers_list
+ \fi
+ \expandafter\gdef \csname Tf-\TeX_font_name \expandafter\endcsname
+ \expandafter{\expandafter{\process_generation_succ}{#2}{#3}}
+ \fi
+}
+\def\fromafm#1#2{
+ \def\source_font_TeX_name{#1}
+ \def\PS_font_name{#2}
+}
+\def\frompl#1{
+ \def\source_font_TeX_name{#1}
+}
+\def\frommtx#1{%
+ \ifnum \extract_font_generation{#1}<\process_generation
+ \if_file_exists{#1.mtx}\then
+ \inputmtx{#1}
+ \fi\fi
+ \ifnum \extract_font_generation{#1}<\process_generation
+ \from_unknown{#1}
+ \x_cs\xdef{Tf-#1}{
+ {\the\process_generation}{\noexpand\from_unknown{#1}}{}
+ }
+ \else
+ \expandafter\expandafter \expandafter\from_mtx
+ \csname Tf-#1\endcsname
+ \fi
+}
+\def\from_mtx#1#2#3{
+ \edef\font_transforms{#3\font_transforms}
+ #2
+}
+\def\fromvpl{
+ \ifx \empty_command\font_transforms \else
+ \fontinsterror\mapfrags_subsystem{
+ Font~is~virtual,~it~cannot~be~transformed}{
+ No~entry~for~font~\TeX_font_name\space can~be~written.
+ \messagebreak\error_help_a
+ }
+ \fi
+ \let\maker_do\gobble_one
+}
+\def\AssumeMetafont{
+ \def\frompl{
+ \ifx \empty_command\font_transforms \else
+ \fontinsterror\mapfrags_subsystem{
+ A~Metafont~cannot~be~transformed}{
+ No~entry~for~font~\TeX_font_name\space can~be~written.
+ \messagebreak\error_help_a
+ }
+ \fi
+ \let\maker_do\gobble_one
+ }
+}
+\def\from_unknown#1{
+ \fontinstwarningnoline\mapfrags_subsystem{
+ No~map~data~stored~for~font~#1.\messagebreak
+ No~entry~for~\TeX_font_name\space will~be~written,\messagebreak
+ due~to~insufficient~information}
+ \includewarning\warn_unknown_source
+ \let\maker_do\gobble_one
+}
+\let\font_transforms\empty_command
+\newdimen\xscale_factor \newdimen\slant_factor
+\xscale_factor=\p@ \slant_factor=\z@
+\let\reencode_etx\empty_command
+\def\concat_transformfont#1#2{
+ \edef\a_macro{\make_factor{#1}}
+ \xscale_factor=\a_macro\xscale_factor
+ \slant_factor=\a_macro\slant_factor
+ \advance \slant_factor \make_factor{#2}\p@
+}
+\def\concat_reencodefont#1{\def\reencode_etx{#1}}
+\def\adddriver#1#2{
+ \x_cs\ifx{make_#1}\x_relax
+ \fontinsterror\mapfrags_subsystem
+ {There~is~no~entry~maker~for~#1}\error_help_a
+ \else
+ \x_cs\ifx{output_#1}\x_relax \_a_true \else
+ \x_cs\ifx{output_#1}\closed_stream \_a_true \else
+ \_a_false
+ \fi\fi
+ \if_a_
+ \x_cs\open_pout{output_#1}{#2}
+ \expandafter\add_to \expandafter\entry_makers_list
+ \expandafter{ \expandafter\maker_do
+ \csname make_#1\endcsname}
+ \fi
+ \fi
+}
+\let\entry_makers_list\empty_command
+\let\maker_do\x_relax
+\def\donedrivers{
+ \def\maker_do##1{
+ \x_cs\close_pout{output\expandafter\gobble_five\string##1}
+ {Map~file~fragments}
+ }
+ \entry_makers_list
+ \let\maker_do\x_relax
+ \let\entry_makers_list\empty_command
+ \errorstopmode
+ \reportwarnings
+ \advance \process_generation \thr@@
+ \edef\process_generation_succ{\the\process_generation}
+ \advance \process_generation \m@ne
+}
+\def\gobble_five#1#2#3#4#5{}
+\g_let\warnings_list=\empty_command
+\def\warning_do#1#2#3{
+ \noexpand\warning_do \noexpand#2
+ \ifx #1#2
+ \expandafter#3 \expandafter\x_relax
+ \else
+ \expandafter#3 \expandafter#1
+ \fi
+}
+\def\includewarning#1{
+ \xdef\warnings_list{
+ \expandafter\swap_two \expandafter#1 \warnings_list
+ \if_equal\x_relax\then \else
+ \noexpand\warning_do \noexpand#1
+ \fi
+ }
+}
+\def\reportwarnings{
+ \begingroup
+ \let\warning_do=\x_relax
+ \warnings_list
+ \endgroup
+ \g_let\warnings_list=\empty_command
+}
+\def\warn_unknown_source{
+ \fontinstwarningnoline\mapfrags_subsystem{
+ Some~font~is~missing~from~the~output~file(s),\messagebreak
+ since~its~source~is~unknown}
+}
+\def\warn_undecided_data{
+ \fontinstwarningnoline\mapfrags_subsystem{
+ Check~the~output~file(s)--some~data~could~not~be~determined}
+}
+\def\warn_uncertain_data{
+ \fontinstwarningnoline\mapfrags_subsystem{
+ Check~the~output~file(s)--some~data~was~considered~uncertain}
+}
+\def\declarepsencoding#1#2#3{\x_cs\gdef{pse-#1}{{#2}{#3}}}
+\let\download=\gobble_one
+\declarepsencoding{8r}{TeXBase1Encoding}{\download{8r.enc}}
+\declarepsencoding{8a}{StandardEncoding}{}
+\def\specifypsfont#1#2{\x_cs\def{psf-#1}{#2}}
+\def\AssumeLWFN{\let\get_PS_font_file\LWFN_get_PS_font_file}
+\def\unknown_str{?????}
+\edef\clueless_str{\unknown_str ?}
+\let\TeX_font_name\unknown_str
+\let\source_font_TeX_name\unknown_str
+\let\PS_font_name\unknown_str
+\def\get_PS_font_name{\let\PS_font_name\clueless_str}
+\def\AssumeAMSBSYY{\def\get_PS_font_name{
+ \uppercase \expandafter{ \expandafter\def
+ \expandafter\PS_font_name \expandafter{ \source_font_TeX_name}
+ }
+}}
+\def\AssumeBaKoMa{\def\get_PS_font_name{
+ \lowercase \expandafter{ \expandafter\def
+ \expandafter\PS_font_name \expandafter{ \source_font_TeX_name}
+ }
+}}
+\let\PS_font_file\unknown_str
+\resetstr{PSfontsuffix}{.pfa}
+\def\normal_get_PS_font_file{
+ \edef\PS_font_file{\source_font_TeX_name\str{PSfontsuffix}}
+}
+\let\get_PS_font_file=\normal_get_PS_font_file
+\def\LWFN_get_PS_font_file{
+ \ifx \PS_font_name\unknown_str \get_PS_font_name \fi
+ \ifx \PS_font_name\clueless_str
+ \normal_get_PS_font_file
+ \includewarning\warn_uncertain_data
+ \else
+ \begingroup
+ \aftergroup\def \aftergroup\PS_font_file
+ \aftergroup{
+ \a_count=4~
+ \expandafter\expandafter \expandafter\aftergroup
+ \expandafter\swap_two \expandafter\abbreviate_PS_font_name
+ \PS_font_name \x_relax
+ \aftergroup}
+ \endgroup
+ \fi
+}
+\def\abbreviate_PS_font_name#1{
+ \ifx \x_relax#1 \else
+ \ifnum \uccode`#1=`#1
+ \a_count=2
+ \aftergroup#1
+ \else\ifx -#1
+ \a_count=\z@
+ \else\ifnum \a_count>\z@
+ \advance \a_count \m@ne
+ \aftergroup#1
+ \fi\fi\fi
+ \expandafter\abbreviate_PS_font_name
+ \fi
+}
+\def\make_debug{
+ \pout_line\output_debug{Driver~data~for~font~\TeX_font_name:}
+ \pout_lline\output_debug{Source~font~TeX~name:~\source_font_TeX_name}
+ \ifx \reencode_etx\empty_command \else
+ \pout_lline\output_debug{Font~reencoded~using~\reencode_etx.etx.}
+ \fi
+ \ifdim \xscale_factor=\p@ \else
+ \pout_lline\output_debug{Font~x-scaled~by~
+ \expandafter\lose_measure\the\xscale_factor.
+ }
+ \fi
+ \ifdim \slant_factor=\z@ \else
+ \pout_lline\output_debug{Font~slanted~by~
+ \expandafter\lose_measure\the\slant_factor.
+ }
+ \fi
+ \debug_values_hook
+}
+\def\debug_value#1{
+ \ifx #1\unknown_str
+ \csname get_ \expandafter\gobble_one \string#1 \endcsname
+ \fi
+ \pout_lline\output_debug{\string#1:~#1}
+ \ifx #1\clueless_str \includewarning\warn_undecided_data \fi
+}
+\def\debugvalue#1{
+ \expandafter\add_to \expandafter\debug_values_hook
+ \expandafter{ \expandafter\debug_value \csname#1\endcsname}
+}
+\let\debug_values_hook\empty_command
+\debugvalue{PS_font_name}
+\newtoks\downloads_list
+\def\append_download#1{
+ \downloads_list=\expandafter{ \the\downloads_list \download{#1} }
+}
+\def\make_dvips{
+ \downloads_list={}
+ \let\postscript_code\empty_command
+ \let\download\append_download
+ \ifx \reencode_etx\empty_command \else
+ \if_undefined{pse-\reencode_etx}\then
+ \etxtoenc{\reencode_etx}{\reencode_etx}
+ \fi
+ \expandafter\expandafter \expandafter\second_of_two
+ \csname pse-\reencode_etx\endcsname
+ \edef\postscript_code{\postscript_code\space
+ \expandafter\expandafter \expandafter\first_of_two
+ \csname pse-\reencode_etx\endcsname
+ \space ReEncodeFont
+ }
+ \fi
+ \ifdim \xscale_factor=\p@ \else
+ \edef\postscript_code{\postscript_code
+ \space\expandafter\lose_measure\the\xscale_factor
+ \space ExtendFont
+ }
+ \fi
+ \ifdim \slant_factor=\z@ \else
+ \edef\postscript_code{\postscript_code
+ \space\expandafter\lose_measure\the\slant_factor
+ \space SlantFont
+ }
+ \fi
+ \ifx \PS_font_name\unknown_str \get_PS_font_name \fi
+ \ifx \PS_font_name\clueless_str
+ \includewarning\warn_undecided_data
+ \_a_true
+ \else
+ \if_undefined{psf-\PS_font_name}\then
+ \_a_true
+ \else
+ \csname psf-\PS_font_name \endcsname
+ \_a_false
+ \fi\fi
+ \if_a_
+ \ifx \PS_font_file\unknown_str \get_PS_font_file \fi
+ \append_download{\PS_font_file}
+ \ifx \PS_font_file\clueless_str
+ \includewarning\warn_undecided_data
+ \fi
+ \fi
+ \def\download##1{~<##1}
+ \pout_line\output_dvips{
+ \TeX_font_name\space\PS_font_name
+ \expandafter\empty_command \the\downloads_list
+ \ifx \postscript_code\empty_command \else
+ \space"\postscript_code\space"
+ \fi
+ }
+}
+\def\make_dvipdfm{
+ \def\font_encoding{default}
+ \ifx \reencode_etx\empty_command \else
+ \if_undefined{pse-\reencode_etx}\then
+ \etxtoenc{\reencode_etx}{\reencode_etx}
+ \fi
+ \def\download##1{\def\font_encoding{##1}}
+ \expandafter\expandafter \expandafter\second_of_two
+ \csname pse-\reencode_etx\endcsname
+ \fi
+ \let\options_text\empty_command
+ \ifdim \xscale_factor=\p@ \else
+ \edef\options_text{\options_text\space
+ -e~\expandafter\lose_measure\the\xscale_factor
+ }
+ \fi
+ \ifdim \slant_factor=\z@ \else
+ \edef\options_text{\options_text\space
+ -s~\expandafter\lose_measure\the\slant_factor
+ }
+ \fi
+ \ifx \PS_font_name\unknown_str \get_PS_font_name \fi
+ \if_or \if_equal\PS_font_name\clueless_str \or_else
+ \if_undefined{psf-\PS_font_name}
+ \then
+ \ifx \PS_font_file\unknown_str \get_PS_font_file \fi
+ \ifx \PS_font_file\clueless_str
+ \includewarning\warn_undecided_data
+ \fi
+ \let\a_macro=\PS_font_file
+ \else
+ \let\a_macro=\PS_font_name
+ \def\download##1{\def\a_macro{##1}}
+ \csname psf-\PS_font_name \endcsname
+ \fi
+ \pout_line\output_dvipdfm{
+ \TeX_font_name\space\font_encoding\space\a_macro
+ \options_text
+ }
+}
+\def\make_pltotf{
+ \pout_line\output_pltotf{pltotf~\TeX_font_name.pl~
+ \ifisstr{TFMfileprefix}\then \str{TFMfileprefix}\fi
+ \TeX_font_name.tfm
+ }
+}
+%%% From file: fibasics.dtx
+\def\needsfontinstversion#1{{
+ \a_dimen=#1pt
+ \b_dimen=\fontinstversion~pt\x_relax
+ \ifnum\a_dimen>\b_dimen
+ \immediate\write16{}
+ \immediate\write16{Warning:~This~file~needs~fontinst~version~#1.}
+ \immediate\write16{Warning:~You~are~using~version~
+ \fontinstversion.}
+ \immediate\write16{Warning:~This~may~cause~errors.}
+ \immediate\write16{}
+ \fi
+}}
+\if_file_exists{finstmsc.rc}\then
+ \primitiveinput finstmsc.rc
+\else
+ \immediate\write16{No~file~finstmsc.rc.}
+\fi
+\normalcc
+\endinput
+%%
+%% End of file `finstmsc.sty'.
diff --git a/Master/texmf-dist/tex/fontinst/base/fontinst.ini b/Master/texmf-dist/tex/fontinst/base/fontinst.ini
new file mode 100644
index 00000000000..3769e47f6f0
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/base/fontinst.ini
@@ -0,0 +1,97 @@
+%%
+%% This is file `fontinst.ini',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fibasics.dtx (with options: `ini')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: fibasics.dtx
+\chardef\active=13
+
+\chardef\@ne=1
+\chardef\tw@=2
+\chardef\thr@@=3
+\chardef\sixt@@n=16
+\chardef\@cclv=255
+\mathchardef\@cclvi=256
+\mathchardef\@m=1000
+\mathchardef\@M=10000
+\mathchardef\@MM=20000
+
+\count10=22 % allocates \count registers 23, 24, ...
+\count11=9 % allocates \dimen registers 10, 11, ...
+\count15=9 % allocates \toks registers 10, 11, ...
+\count16=-1 % allocates input streams 0, 1, ...
+\count17=-1 % allocates output streams 0, 1, ...
+\count20=255 % allocates insertions 254, 253, ...
+\countdef\insc@unt=20 % the insertion counter
+\countdef\allocationnumber=21 % the most recent allocation
+\countdef\m@ne=22 \m@ne=-1 % a handy constant
+\def\wlog{\immediate\write\m@ne} % write on log file (only)
+
+\countdef\count@=255
+\dimendef\dimen@=0
+
+\outer\def\newcount{\alloc@0\count\countdef\insc@unt}
+\outer\def\newdimen{\alloc@1\dimen\dimendef\insc@unt}
+\outer\def\newtoks{\alloc@5\toks\toksdef\@cclvi}
+\outer\def\newread{\alloc@6\read\chardef\sixt@@n}
+\outer\def\newwrite{\alloc@7\write\chardef\sixt@@n}
+
+\def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
+ \ch@ck#1#4#2% make sure there's still room
+ \allocationnumber=\count1#1%
+ \global#3#5=\allocationnumber
+ \wlog{\string#5=\string#2\the\allocationnumber}}
+\outer\def\newinsert#1{\global\advance\insc@unt by\m@ne
+ \ch@ck0\insc@unt\count
+ \ch@ck1\insc@unt\dimen
+ \ch@ck2\insc@unt\skip
+ \ch@ck4\insc@unt\box
+ \allocationnumber=\insc@unt
+ \global\chardef#1=\allocationnumber
+ \wlog{\string#1=\string\insert\the\allocationnumber}}
+\def\ch@ck#1#2#3{\ifnum\count1#1<#2%
+ \else\errmessage{No~room~for~a~new~#3}\fi}
+
+\outer\def\newif#1{\count@\escapechar \escapechar\m@ne
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{true}{\let\noexpand#1=\noexpand\iftrue}%
+ \expandafter\expandafter\expandafter
+ \edef\@if#1{false}{\let\noexpand#1=\noexpand\iffalse}%
+ \@if#1{false}\escapechar\count@} % the condition starts out false
+\def\@if#1#2{\csname\expandafter\if@\string#1#2\endcsname}
+{\uccode`1=`i \uccode`2=`f \uppercase{\gdef\if@12{}}} % `if' is required
+
+\newdimen\p@ \p@=1pt % this saves macro space and time
+\newdimen\z@ \z@=0pt % can be used both for 0pt and 0
+
+\def\space{~}
+\let\bgroup={
+\let\egroup=}
+
+\def\loop#1\repeat{\def\body{#1}\iterate}
+\def\iterate{\body \let\next\iterate \else\let\next\relax\fi \next}
+\let\repeat=\fi % this makes \loop...\if...\repeat skippable
+
+\def\supereject{\par\penalty-\@MM}
+\outer\def\bye{\par\vfill\supereject\end}
+\endinput
+%%
+%% End of file `fontinst.ini'.
diff --git a/Master/texmf-dist/tex/fontinst/base/fontinst.sty b/Master/texmf-dist/tex/fontinst/base/fontinst.sty
new file mode 100644
index 00000000000..ba8a899a962
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/base/fontinst.sty
@@ -0,0 +1,3485 @@
+%%
+%% This is file `fontinst.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fibasics.dtx (with options: `pkg')
+%% ficommon.dtx (with options: `pkg')
+%% fimain.dtx (with options: `pkg')
+%% ficonv.dtx (with options: `pkg')
+%% filtfam.dtx (with options: `pkg,textcomp,debug')
+%% fimapgen.dtx (with options: `pkg')
+%% fibasics.dtx (with options: `pkg2')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: fibasics.dtx
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\#=6
+\catcode`\^=7
+\def\fontinstversion{1.927}
+\ifx\ProvidesPackage\undefined
+ \def\NeedsTeXFormat#1{}
+ \def\ProvidesPackage#1[#2]{}
+\fi
+\ProvidesPackage{fontinst}
+[2004/08/07 v\fontinstversion\space
+ fontinst installation package]
+\def\a_macro#1{\catcode\number`#1=\the\catcode`#1 }
+\edef\normalcc{%
+ \a_macro{\ }\a_macro{\^^M}\a_macro{\@}\a_macro{\_}\a_macro{\~}
+}
+\def\fontinstcc{%
+ \catcode`\ =9%
+ \catcode`\^^M=9%
+ \catcode`\@=11%
+ \catcode`\_=11%
+ \catcode`\~=10
+}
+\fontinstcc
+\ifx\@ne\undefined_command
+ \input fontinst.ini\relax
+\fi
+\ifx\bye\undefined_command
+ \def\supereject{\par\penalty-\@MM}
+ \outer\expandafter\def \csname bye\endcsname
+ {\par\vfill\supereject\@@end}
+\fi
+\newcount\a_count
+\newcount\b_count
+\newcount\c_count
+\newcount\d_count
+\newcount\e_count
+\newcount\f_count
+\newcount\g_count
+\newdimen\a_dimen
+\newdimen\b_dimen
+\newdimen\c_dimen
+\newdimen\d_dimen
+\newtoks\a_toks
+\newtoks\b_toks
+\newtoks\c_toks
+\newif\if_a_
+\newwrite\out_file
+\mathchardef\one_thousand=1000
+\mathchardef\five_hundred=500
+\mathchardef\one_hundred=100
+\mathchardef\max_mathchardef="7FFF
+\mathchardef\two_thousand=2000
+\newdimen\half_point \half_point=0.5pt
+\let\@tempdima\a_dimen
+\let\@tempdimb\b_dimen
+\input trig.sty
+\def\x_cs#1#2{\expandafter#1\csname#2\endcsname}
+\let\x_relax=\relax
+\def\g_let{\global\let}
+\def\empty_command{}
+\def\gobble_one#1{}
+\def\gobble_two#1#2{}
+\def\gobble_three#1#2#3{}
+\def\identity_one#1{#1}
+\def\first_of_two#1#2{#1}
+\def\second_of_two#1#2{#2}
+\def\swap_two#1#2{#2#1}
+\def\first_of_three#1#2#3{#1}
+\bgroup
+ \catcode`\[=1
+ \catcode`\]=2
+ \catcode`\#=12
+ \catcode`\%=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \gdef\hash_char[#]
+ \gdef\percent_char[%]
+ \gdef\left_brace_char[{]
+ \gdef\right_brace_char[}]
+\egroup
+\def\first_char#1#2={#1}
+\def\add_to#1#2{
+ \ifx#1\x_relax
+ \def#1{#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{#1#2}
+ \fi
+}
+\def\prep_to#1#2{
+ \ifx#1\x_relax
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2#1}
+ \fi
+}
+\def\never_do{\noexpand\do}
+\newif\if_extensions_warning_
+\_extensions_warning_false
+\ifx \eTeXversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\eTeX#1{
+ \if_extensions_warning_
+ \space/\space e-TeX\space version\space #1
+~ \else
+~ \ifdim \number\eTeXversion\eTeXrevision\p@ < #1\p@ \else
+~ \_a_true
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\ifx \pdftexversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\pdfTeX#1#2{%
+ \if_extensions_warning_
+ \space/\space pdfTeX\space version\space
+ \ifnum #1<100\space
+ 0.\ifnum #1<10\space 0\fi
+ \else
+ \expandafter\swap_two \expandafter.
+ \fi
+ #1#2%
+~ \else
+~ \ifdim #1>\pdftexversion \else
+~ \ifnum \expandafter\expandafter \expandafter`
+~ \expandafter\first_char \pdftexrevision= <
+~ \expandafter` \first_char#2=
+~ \else \_a_true \fi
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\def\needsTeXextension#1#2{
+ \_a_false
+ #1
+ \if_a_ \else
+ \_extensions_warning_true
+ \edef\a_macro{#1}
+ \_extensions_warning_false
+ \fontinstwarningnoline{#2}{
+ This~file~needs:\messagebreak
+ \expandafter\second_of_two\a_macro
+ \iffalse
+ <no~sufficient~extensions~were~listed!!>\if_false
+ \fi
+ \messagebreak
+ You~are~not~using~any~of~them.~This~is~likely~to~cause~errors
+ }
+ \fi
+}
+\def\open_out#1{
+ \immediate\openout\out_file=#1 \xdef\out_filename{#1}}
+\def\close_out#1{
+ \immediate\write16{#1~written~on~\out_filename.}
+ \immediate\closeout\out_file}
+\def\out_line#1{\immediate\write\out_file{#1}}
+\edef\out_lline#1{\noexpand\out_line{\space\space\space#1}}
+\edef\out_llline#1{
+ \noexpand\out_line{\space\space\space\space\space\space#1}
+}
+\def\TeX_terminal{\string\TeX\space terminal}
+\chardef\closed_stream=99
+\x_cs\let{out_filename-99}=\TeX_terminal
+\x_cs\def{out_filename--1}{\jobname.log}
+\def\allocate_stream{
+ \a_count=\m@ne
+ \b_count=\m@ne
+ \loop \ifnum \count17>\a_count
+ \advance \a_count \@ne
+ \x_cs\ifx{out_filename-\the\a_count}\TeX_terminal
+ \b_count=\a_count
+ \a_count=\count17
+ \fi
+ \repeat
+ \ifnum \b_count=\m@ne
+ \global\advance\count17by\@ne
+ \ifnum \count17<\sixt@@n
+ \b_count=\count17
+ \global\x_cs\let{out_filename-\the\b_count}\TeX_terminal
+ \wlog{\string\write\the\b_count\space allocated~to~the~pool.}
+ \else
+ \global\count17=\sixt@@n
+ \fi
+ \fi
+}
+\def\ch@ck#1#2#3{
+ \ifnum \count1#1<#2 \else
+ \errmessage{No~room~for~a~new~#3}
+ \global\count1#1=#2
+ \fi
+}
+\def\open_pout#1#2{
+ \allocate_stream
+ \ifnum \b_count=\m@ne
+ \immediate\write\sixt@@n{fontinst~is~out~of~output~streams.^^J
+ Output~file~#2~cannot~be~opened.^^J
+ Writes~will~be~redirected~to~the~log~file.
+ }
+ \gdef#1{\m@ne}
+ \else
+ \immediate\openout\b_count=#2\x_relax
+ \x_cs\xdef{out_filename-\the\b_count}{#2}
+ \global\chardef#1=\b_count
+ \fi
+}
+\def\close_pout#1#2{
+ \ifnum #1=\closed_stream
+ \errmessage{Output~file~\string#1~(#2)~not~closed,^^J
+ since~it~was~not~open}
+ \else
+ \immediate\write\sixt@@n{#2~written~on~
+ \csname out_filename-\the#1\endcsname.}
+ \ifnum #1=\m@ne \else
+ \immediate\closeout#1
+ \global\x_cs\let{out_filename-\the#1}=\TeX_terminal
+ \fi
+ \global\chardef#1=\closed_stream
+ \fi
+}
+\def\pout_line#1#2{\immediate\write#1{#2}}
+\edef\pout_lline#1#2{\noexpand\pout_line#1{\space\space\space#2}}
+\edef\pout_llline#1#2{
+ \noexpand\pout_line#1{\space\space\space\space\space\space#2}
+}
+\def\tempfileprefix#1{\def\temp_prefix{#1}}
+\tempfileprefix{}
+\let\then=\iffalse
+\def\if_false{\iffalse}
+\def\if_true{\iftrue}
+\_a_false\eTeX{2.0}
+\if_a_\else \catcode`\~=14\x_relax \fi
+~ \def\if_defined#1\then{
+~ \if
+~ \ifcsname#1\endcsname
+~ \expandafter\ifx \csname#1\endcsname \x_relax
+~ 0
+~ \else
+~ 1
+~ \fi
+~ \else
+~ 0
+~ \fi
+~ 1
+~ }
+~ \def\if_undefined{\expandafter\unless\if_defined}
+\catcode`\~=\if_a_ 14 \else 10 \fi \x_relax
+~ \def\if_defined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ \expandafter\if_false
+~ \else
+~ \expandafter\if_true
+~ \fi
+~ }
+~ \def\if_undefined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ }
+\catcode`\~=10\x_relax
+\def\gobble_if{\iftrue\else}
+\def\if_or#1\or_else#2\then{
+ #1\then
+ \expandafter\if_true
+ \else
+ #2\then
+ \expandafter\expandafter\expandafter\if_true
+ \else
+ \expandafter\expandafter\expandafter\if_false
+ \fi
+ \fi
+}
+\def\if_equal#1\then{\ifx#1}
+\def\if_file_exists#1\then{
+ \immediate\openin1=#1\x_relax
+ \ifeof1\x_relax
+ \immediate\closein1
+ \expandafter\if_false
+ \else
+ \immediate\closein1
+ \expandafter\if_true
+ \fi
+}
+\let\Else=\else
+\let\Fi=\fi
+\x_cs\ifx{@@input}\x_relax
+ \let\primitiveinput=\input
+\else
+ \let\primitiveinput=\@@input
+\fi
+\def\process_csep_list#1#2,{
+ \ifx\process_csep_list#2
+ \expandafter\gobble_one
+ \else
+ \expandafter\identity_one
+ \fi{
+ #1{#2}
+ \process_csep_list{#1}
+ }
+}
+\def\make_factor#1{
+ \ifnum #1<\z@
+ -\expandafter\make_factor_i\expandafter{\number-#1}
+ \else
+ \expandafter\make_factor_i\expandafter{\number#1}
+ \fi
+}
+\def\make_factor_i#1{
+ \ifnum #1<\one_thousand
+ \make_factor_ii{#1}
+ \else
+ \make_factor_iii #1
+ \fi
+ #1
+}
+\def\make_factor_ii#1{
+ 0.
+ \ifnum #1<\one_hundred
+ 0
+ \ifnum #1<10~ 0\fi
+ \fi
+}
+\def\make_factor_iii#1#2#3\fi#4{
+ \fi
+ #4
+ \ifnum 1#3<\one_thousand
+ .
+ \else
+ \make_factor_iii#2#3
+ \fi
+}
+{
+ \catcode`\p=12
+ \catcode`\t=12
+ \gdef\lose_measure#1pt{#1}
+}
+\let\messagebreak\x_relax
+\def\generic_info#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\m@ne{#2\on_line.}
+ \endgroup
+}
+\def\generic_warning#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\closed_stream{^^J#2\on_line.^^J}
+ \endgroup
+}
+\def\generic_error#1#2#3#4{
+ \begingroup
+ \immediate\write\closed_stream{}
+ \def\messagebreak{^^J}
+ \edef\a_macro{{#4}}
+ \errhelp\a_macro
+ \def\messagebreak{^^J#1}
+ \errmessage{#2.^^J^^J#3
+ Type~\space H~<return>~\space for~immediate~help
+ }
+ \endgroup
+}
+\def\fontinsterror#1#2#3{
+ \generic_error{
+ \four_spaces\four_spaces
+ }{
+ #1~error:\messagebreak #2
+ }{
+ }{#3}
+}
+\def\fontinstwarning#1#2{
+ \generic_warning{
+ \four_spaces\four_spaces
+ }{
+ #1~warning:\messagebreak #2
+ }
+}
+\def\fontinstwarningnoline#1#2{
+ \fontinstwarning{#1}{#2\gobble_one}
+}
+\def\fontinstinfo#1#2{
+ \generic_info{
+ \four_spaces\four_spaces
+ }{
+ #1~info:\messagebreak #2
+ }
+}
+\def\on_line{~on~input~line~\the\inputlineno}
+\edef\four_spaces{\space\space\space\space}
+\gdef\error_help_a{
+ Your~command~was~ignored.\messagebreak
+ Type~\space I~<command>~<return>~\space to~replace~it~
+ with~another~command,\messagebreak
+ or~\space <return>~\space to~continue~without~it.}
+\gdef\error_help_c{
+ Try~typing~\space <return>~
+ \space to~proceed.\messagebreak
+ If~that~doesn't~work,~type~\space X~<return>~\space to~quit.}
+\gdef\error_help_d{
+ You're~in~trouble~here.~\space\error_help_c}
+\def\error_help_e#1{You~can~continue,~but~the~#1~wrong.}
+\newlinechar=`\^^J
+\errorcontextlines=999
+\tracinglostchars=1
+%%% From file: ficommon.dtx
+\def\str#1{\csname~s-#1\endcsname}
+\def\strint#1{\expandafter\identity_one\expandafter{\number\int{#1}}}
+\newcount\result
+\def\eval_expr#1{\global\result=#1\x_relax}
+\def\eval_expr_to#1#2{\eval_expr{#2}#1=\result}
+\def\g_eval_expr_to#1#2{\eval_expr{#2}\global#1=\result}
+\def\add#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\advance \result \a_count
+ \egroup
+}
+\def\sub#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \advance \a_count -\result
+ \global\result=\a_count
+ \egroup
+}
+\def\int#1{\csname i-#1 \endcsname}
+\def\neg#1{#1 \global\result=-\result}
+\def\mul#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \egroup
+}
+\def\div#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \divide \a_count \result
+ \global\result=\a_count
+ \egroup
+}
+\def\max#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count>\result \global\result=\a_count \fi
+ \egroup
+}
+\def\min#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count<\result \global\result=\a_count \fi
+ \egroup
+}
+\def\half#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\otherhalf#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \else \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\scale#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \rounded_thousandths
+ \egroup
+}
+\def\rounded_thousandths{
+ \global\divide \result \five_hundred
+ \ifodd \result
+ \global\advance \result by \ifnum 0>\result - \fi 1
+ \fi
+ \global\divide \result \tw@
+}
+\def\l_rounded_thousandths#1{
+ \divide #1 \five_hundred
+ \ifodd #1
+ \advance #1 by \ifnum 0>#1 - \fi\@ne
+ \fi
+ \divide #1 \tw@
+}
+\def\l_inv_scale#1#2{
+ \multiply #1 \two_thousand
+ \divide #1 #2\x_relax
+ \ifodd#1 \advance #1 \ifnum 0>#1 - \fi\@ne \fi
+ \divide #1 \tw@
+}
+\def\ifnumber#1#2#3\then{
+ \eval_expr_to\a_count{#1}
+ \eval_expr{#3}
+ \ifnum \a_count#2\result
+ \expandafter\if_true
+ \else
+ \expandafter\if_false
+ \fi
+}
+
+\let\setsomething_global=\x_relax
+\def\x_setint#1#2{
+ \x_cs\ifx{i-#1}\x_relax
+ \x_resetint{#1}{#2}
+ \fi
+}
+\let\setint=\x_setint
+\def\x_setstr#1#2{
+ \x_cs\ifx{s-#1}\x_relax
+ \setsomething_global\x_cs\edef{s-#1}{#2}
+ \fi
+}
+\let\setstr=\x_setstr
+\def\setdim#1#2{
+ \x_cs\ifx{d-#1}\x_relax
+ \a_dimen=#2\x_relax
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+ \fi
+}
+\def\setcommand#1{
+ \ifx#1\undefined_command
+ \setsomething_global \expandafter\def \expandafter#1
+ \else
+ \expandafter\def \expandafter\a_macro
+ \fi
+}
+\def\x_resetint#1#2{
+ \eval_expr{#2}
+ \setsomething_global
+ \ifnum\result<\max_mathchardef
+ \ifnum 0>\result
+ \x_cs\edef{i-#1}{\the\result}
+ \else
+ \x_cs\mathchardef{i-#1}=\result
+ \fi
+ \else
+ \x_cs\edef{i-#1}{\the\result}
+ \fi
+}
+\let\resetint=\x_resetint
+\def\resetstr#1#2{\setsomething_global\x_cs\edef{s-#1}{#2}}
+\def\resetdim#1#2{
+ \a_dimen=#2
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+}
+\def\resetcommand#1{\setsomething_global\def#1}
+\def\dim#1{\csname~d-#1\endcsname}
+\def\ifisint#1\then{\if_defined i-#1\then}
+\def\ifisstr#1\then{\if_defined s-#1\then}
+\def\ifisdim#1\then{\if_defined d-#1\then}
+\def\ifiscommand#1\then{
+ \ifx#1\undefined_command
+ \expandafter\if_false
+ \else
+ \expandafter\if_true
+ \fi
+}
+\def\unsetint#1{\setsomething_global\x_cs\let{i-#1}\x_relax}
+\def\unsetstr#1{\setsomething_global\x_cs\let{s-#1}\x_relax}
+\def\unsetdim#1{\setsomething_global\x_cs\let{d-#1}\x_relax}
+\def\unsetcommand#1{\setsomething_global\let#1=\undefined_command}
+\def\offcommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax
+ \setsomething_global\x_cs\let{saved-\string#1}#1
+ \x_cs\ifx{off-\string#1}\x_relax
+ \generate_off_command{#1}
+ \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname off-\string#1\endcsname
+ \fi
+ \fi
+}
+\def\oncommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname saved-\string#1\endcsname
+ \setsomething_global\x_cs\let{saved-\string#1}\x_relax
+ \fi
+}
+\def\generate_off_command#1{
+ \a_count=0
+ \let\next=\count_hashes
+ \expandafter\next\meaning#1~->\x_relax
+ \b_count=0
+ \a_toks={}
+ \loop \ifnum \b_count<\a_count
+ \advance \b_count 1
+ \a_toks=\expandafter{\the\expandafter\a_toks \expandafter####
+ \the\b_count}
+ \repeat
+ \setsomething_global \expandafter\def \expandafter#1 \the\a_toks {}
+}
+\def\count_hashes#1#2{
+ \if \hash_char#1
+ \advance \a_count 1
+ \else
+ \if -#1
+ \if >#2
+ \let\next=\gobble_to_xrelax
+ \fi\fi
+ \fi
+ \next#2
+}
+\def\gobble_to_xrelax#1\x_relax{}
+\def\for(#1)#2#3#4{
+ \eval_expr_to\a_count{#2}
+ \x_resetint{#1}{\a_count}
+ \eval_expr{#4}
+ \ifnum 0=\result \else
+ \c_count=\result
+ \eval_expr_to\b_count{#3}
+ \setsomething_global\x_cs\edef{for-#1}{
+ \the\c_count \x_relax
+ \noexpand\ifnum \gobble_one\fi
+ \the\b_count \ifnum 0>\c_count > \else < \fi
+ }
+ \def\next##1##2##3\endfor(#1){##2\for_i{##1}{##3}}
+ \next{#1}
+ \fi
+}
+\def\for_i#1#2{
+ \setsomething_global\x_cs\def{body-#1}{#2}
+ \ifnum \b_count \ifnum0>\c_count >\else<\fi \a_count
+ \expandafter\gobble_two
+ \else
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\for_ii#1{
+ \a_count=\int{#1}
+ \advance \a_count \csname for-#1\endcsname \a_count
+ \expandafter\gobble_two
+ \else
+ \x_resetint{#1}\a_count
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\endfor(#1){}
+\def\foreach(#1)#2{
+ \def\next##1\endfor(#1){
+ \setsomething_global\x_cs\def{body-#1}{##1}
+ \process_csep_list{\foreach_i{#1}}#2,\process_csep_list,
+ }
+ \next
+}
+\def\foreach_i#1#2{
+ \resetstr{#1}{#2}
+ \csname body-#1\endcsname
+}
+\let\comment=\gobble_one
+\let\begincomment=\iffalse
+\let\endcomment=\fi
+%%% From file: fimain.dtx
+\def\inputetx#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \slot_number=0
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\encoding=\fi
+ \primitiveinput \lowercase_file.etx\x_relax
+ \let\relax=\x_relax
+}
+\let\encoding=\relax
+\outer\def\endencoding{\endinput}
+\def\setslot#1{\edef\slot_name{#1}\do_slot}
+\def\endsetslot{\end_do_slot\advance\slot_number by 1\x_relax}
+\let\do_slot\empty_command
+\let\end_do_slot\empty_command
+\newcount\slot_number
+\def\nextslot#1{\eval_expr_to\slot_number{#1}}
+\def\skipslots#1{\eval_expr{#1} \advance\slot_number by \result}
+\def\setleftboundary#1{\edef\slot_name{#1}\do_boundary}
+\let\endsetleftboundary\x_relax
+\let\do_boundary\x_relax
+\def\setrightboundary#1{
+ \makerightboundary{#1}
+ \advance \slot_number 1\x_relax
+}
+\let\ligature=\gobble_three
+\def\Ligature{\ligature}
+\def\oddligature#1#2#3#4{}
+\let\nextlarger=\gobble_one
+\let\usedas=\gobble_two
+\let\makerightboundary=\gobble_one
+\let\Unicode=\gobble_two
+\let\varchar=\empty_command
+\let\vartop=\gobble_one
+\let\varmid=\gobble_one
+\let\varbot=\gobble_one
+\let\varrep=\gobble_one
+\let\endvarchar=\empty_command
+\let\useexamplefont=\gobble_one
+\let\slotexample=\empty_command
+\let\setslotcomment=\gobble_one
+\let\resetslotcomment=\gobble_one
+\let\unsetslotcomment=\empty_command
+\def\setfontdimen#1#2{
+ \ifisint{#2}\then \setint{fontdimen(#1)}{\int{#2}} \fi
+}
+\let\label=\gobble_one
+\newif\ifdirect \directtrue
+\def\input_mtx_as_etx#1{
+ \def\setscaledrawglyph##1##2##3##4##5##6##7##8##9{
+ \nextslot{##5}
+ \setslot{##1}\endsetslot
+ }
+ \offcommand\setscalednotglyph
+ \let\setglyph=\gobble_glyph
+ \offcommand\setkern
+ \inputmtx{#1}
+}
+\def\inputmtx#1{
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\metrics=\fi
+ \primitiveinput #1.mtx\x_relax
+ \let\relax=\x_relax
+}
+\let\metrics=\x_relax
+\edef\endmetrics_text{\string\endmetrics}
+\outer\def\endmetrics{\endinput}
+\def\ProvidesMtxPackage#1{\x_cs\let{pack-#1}P}
+\def\usemtxpackage{\futurelet\next_token\test_UseMtxPkg_arguments}
+\def\test_UseMtxPkg_arguments{\ifx\next_token[
+ \expandafter\mtx_package_given_file
+ \else
+ \expandafter\mtx_package_separate_files
+ \fi
+}
+\def\mtx_package_given_file[#1]#2{
+ \_a_false
+ \process_csep_list\load_true_unless_loaded #2,\process_csep_list,
+ \if_a_ \inputmtx{#1} \fi
+}
+\def\load_true_unless_loaded#1{
+ \x_cs\ifx{pack-#1}P\else\_a_true\fi
+}
+\def\mtx_package_separate_files#1{
+ \process_csep_list\load_file_unless_loaded #1,\process_csep_list,
+}
+\def\load_file_unless_loaded#1{
+ \x_cs\ifx{pack-#1}P\else \inputmtx{#1} \fi
+}
+\let\glyph_name_modifier=\identity_one
+\def\setkern#1#2#3{
+ \x_cs\ifx{i-rawscale}\x_relax
+ \expandafter\set_kern
+ \csname~r-\glyph_name_modifier{#1}\expandafter\endcsname
+ \csname~l-\glyph_name_modifier{#2}\endcsname
+ {#3}
+ \else
+ \expandafter\set_kern
+ \csname~r-\glyph_name_modifier{#1}\expandafter\endcsname
+ \csname~l-\glyph_name_modifier{#2}\endcsname
+ {\scale{#3}{\int{rawscale}}}
+ \fi
+}
+\def\set_kern#1#2#3{
+ \eval_expr{#3}
+ \expandafter\set_kern_cs\csname\the\result\endcsname#1#2
+}
+\def\set_kern_cs#1#2#3{
+ \add_to#2{\k#3#1}
+ \add_to#3{\k#2#1}
+}
+\def\resetkern#1#2#3{
+ \x_cs\ifx{i-rawscale}\x_relax
+ \expandafter\reset_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{#3}
+ \else
+ \expandafter\reset_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{\scale{#3}{\int{rawscale}}}
+ \fi
+}
+\def\reset_kern#1#2#3{
+ \eval_expr{#3}
+ \expandafter\reset_kern_cs\csname\the\result\endcsname#1#2
+}
+\def\reset_kern_cs#1#2#3{
+ \prep_to#2{\k\expandafter#3\expandafter#1}
+ \prep_to#3{\k\expandafter#2\expandafter#1}
+}
+\def\setleftkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+}
+\def\setrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\setleftrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\set_kerning#1#2{
+ \if\b_count=\one_thousand
+ \def\k##1##2{
+ \set_kern_cs##2##1#1
+ }
+ \else
+ \def\k##1##2{
+ \set_kern##1#1{
+ \scale\b_count{\expandafter\gobble_one\string##2}
+ }
+ }
+ \fi
+ #2
+}
+\def\kerning#1#2{0\x_relax
+ \def\k##1{\csname~set-\string##1\endcsname\gobble_one}
+ \bgroup
+ \x_cs\def{set-\string\l-#2}##1##2{
+ \global\result=\expandafter\gobble_one\string##2\egroup
+ }
+ \csname~r-#1\endcsname
+ \csname~set-\string\l-#2\endcsname\gobble_one{00}
+}
+\def\ifiskern#1#2\then{
+ \def\k##1##2{\ifx T##1 \let\k\gobble_two \fi}
+ \bgroup
+ \x_cs\let{l-#2}T
+ \csname r-#1\endcsname
+ \expandafter\egroup \ifx\k\gobble_two
+}
+\def\unsetkerns#1#2{
+ \let\k\k_unless_to_U
+ \process_csep_list\make_slots_U#1,\process_csep_list,
+ \def\do##1{\x_cs\main_remove_Us{l-##1}}
+ \process_csep_list\do#2,\process_csep_list,
+ \process_csep_list\make_slots_relax#1,\process_csep_list,
+ \process_csep_list\make_slots_U#2,\process_csep_list,
+ \def\do##1{\x_cs\main_remove_Us{r-##1}}
+ \process_csep_list\do#1,\process_csep_list,
+ \process_csep_list\make_slots_relax#2,\process_csep_list,
+}
+\def\make_slots_U#1{\x_cs\let{slots-#1}U}
+\def\make_slots_relax#1{\x_cs\let{slots-#1}\x_relax}
+\def\k_unless_to_U#1#2{
+ \x_cs\ifx{slots-\expandafter\gobble_three\string#1}U \else
+ \noexpand\k\noexpand#1\noexpand#2
+ \fi
+}
+\def\main_remove_Us#1{
+ \ifx#1\x_relax \else
+ \edef#1{#1}
+ \ifx#1\empty_command \let#1\x_relax \fi
+ \fi
+}
+\def\noleftkerning#1{\no_kerning{l}{#1}}
+\def\norightkerning#1{\no_kerning{r}{#1}}
+\def\noleftrightkerning#1{\no_kerning{l}{#1}\no_kerning{r}{#1}}
+\def\no_kerning#1#2{
+ \let\k\no_kerning_i
+ \def\do##1{\csname #1-##1\endcsname}
+ \bgroup
+ \aftergroup\def \aftergroup\a_macro \aftergroup{
+ \process_csep_list\do #2,\process_csep_list,
+ \aftergroup}
+ \egroup
+ \def\do##1{\expandafter\let \csname #1-##1\endcsname \x_relax}
+ \process_csep_list\do #2,\process_csep_list,
+ \let\k\no_kerning_ii
+ \def\do##1{\edef##1{##1}}
+ \a_macro
+}
+\def\no_kerning_i#1#2{
+ \ifx #1\x_relax \else
+ \aftergroup\do \aftergroup#1
+ \let #1\x_relax
+ \fi
+}
+\def\no_kerning_ii#1#2{
+ \ifx #1\x_relax \else \noexpand\k \noexpand#1 \noexpand#2 \fi
+}
+\def\width{\glyph_parameter\first_of_six}
+\def\height{\glyph_parameter\second_of_six}
+\def\depth{\glyph_parameter\third_of_six}
+\def\italic{\glyph_parameter\fourth_of_six}
+\def\mapcommands{\glyph_parameter\fifth_of_six}
+\def\mapfonts{\glyph_parameter\sixth_of_six}
+\def\glyph_parameter#1#2{
+ \expandafter\expandafter\expandafter
+ #1\csname g-#2\endcsname
+}
+\def\first_of_six#1#2#3#4#5#6{#1}
+\def\second_of_six#1#2#3#4#5#6{#2}
+\def\third_of_six#1#2#3#4#5#6{#3}
+\def\fourth_of_six#1#2#3#4#5#6{#4}
+\def\fifth_of_six#1#2#3#4#5#6{#5}
+\def\sixth_of_six#1#2#3#4#5#6{#6}
+\def\glyph_metrics#1#2#3#4#5#6{
+ \a_count=#1
+ \b_count=#2
+ \c_count=#3
+ \d_count=#4~
+}
+\let\saved_scale\x_relax
+\let\saved_mapfont\x_relax
+\let\saved_raw\x_relax
+\let\saved_rule\x_relax
+\let\saved_special\x_relax
+\let\saved_warning\x_relax
+\let\saved_movert\x_relax
+\let\saved_moveup\x_relax
+\let\saved_push\x_relax
+\let\saved_pop\x_relax
+\newcount\glyph_width
+\newcount\glyph_height
+\newcount\glyph_depth
+\newcount\glyph_italic
+\newtoks\glyph_map_commands
+\newtoks\glyph_map_fonts
+\newcount\glyph_voffset
+\newcount\glyph_maxhpos
+\def\setglyph#1{
+ \ifisglyph{\glyph_name_modifier{#1}}\then
+ \expandafter\gobble_glyph
+ \else
+ \x_cs\def{g-\glyph_name_modifier{#1}}{
+ {\the\glyph_width}{\the\glyph_height}
+ {\the\glyph_depth}{\the\glyph_italic}
+ {\the\glyph_map_commands}{\the\glyph_map_fonts}
+ }
+ \resetglyph{\glyph_name_modifier{#1}}
+ \fi
+}
+\long\def\gobble_glyph#1\endsetglyph{}
+\def\resetglyph#1{
+ \edef\glyphname{#1}
+ \glyph_width=0
+ \global\glyph_height=0
+ \global\glyph_depth=0
+ \global\glyph_italic=0
+ \glyph_voffset=0
+ \global\glyph_maxhpos=0
+ \global\glyph_map_commands={}
+ \global\glyph_map_fonts={}
+}
+\def\endsetglyph{
+ \x_cs\edef{g-\glyphname}
+ {{\the\glyph_width}{\the\glyph_height}
+ {\the\glyph_depth}{\the\glyph_italic}
+ {\the\glyph_map_commands}{\the\glyph_map_fonts}}
+}
+\let\endresetglyph=\endsetglyph
+\def\setrawglyph#1#2#3{
+ \setscaledrawglyph{#1}{#2}{#3}\one_thousand
+}
+\def\setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \if_undefined{g-\glyph_name_modifier{#1}}\then
+ \eval_expr{#4}
+ \ifnum \result=\one_thousand
+ \let\a_macro\identity_one
+ \else
+ \edef\a_macro##1{\saved_scale{\the\result}{##1}}
+ \fi
+ \eval_expr_to\a_count{#6}
+ \eval_expr_to\b_count{#7}
+ \eval_expr_to\c_count{#8}
+ \eval_expr_to\d_count{#9}
+ \ifisint{rawscale}\then
+ \e_count=\int{rawscale}
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \edef\a_macro##1{\saved_scale{\the\e_count}{\a_macro{##1}}}
+ \fi
+ \x_cs\edef{g-\glyph_name_modifier{#1}}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\a_macro{\saved_raw{#2}{#5}{#1}}}
+ {\a_macro{\saved_mapfont{#2}{#3}}}
+ }
+ \fi
+}
+\def\setnotglyph#1#2#3{
+ \setscalednotglyph{#1}{#2}{#3}\one_thousand
+}
+\def\setscalednotglyph#1#2#3#4#5#6#7#8#9{
+ \if_undefined{g-\glyph_name_modifier{#1}-not}\then
+ \eval_expr_to\a_count{#6}
+ \eval_expr_to\b_count{#7}
+ \eval_expr_to\c_count{#8}
+ \eval_expr_to\d_count{#9}
+ \ifisint{rawscale}\then
+ \e_count=\int{rawscale}
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \fi
+ \x_cs\edef{g-\glyph_name_modifier{#1}-not}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {}{}
+ }
+ \fi
+}
+\def\unsetglyph#1{\x_cs\let{g-#1}\x_relax}
+\def\glyph#1#2{
+ \glyph_parameter\glyph_metrics{#1}
+ \eval_expr_to\e_count{#2}
+ \ifnum \e_count=\one_thousand
+ \edef\a_macro{\mapcommands{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \edef\a_macro{\mapfonts{#1}}
+ \else
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \edef\a_macro{\saved_scale{\the\e_count}{\mapcommands{#1}}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \edef\a_macro{\saved_scale{\the\e_count}{\mapfonts{#1}}}
+ \fi
+ \advance \glyph_width \a_count
+ \advance \b_count \glyph_voffset
+ \ifnum \glyph_height<\b_count \global\glyph_height=\b_count \fi
+ \advance \c_count -\glyph_voffset
+ \ifnum \glyph_depth<\c_count \global\glyph_depth=\c_count \fi
+ \global\glyph_italic=\d_count
+ \global\glyph_map_fonts\expandafter{
+ \the\expandafter\glyph_map_fonts \a_macro
+ }
+}
+\def\glyphrule#1#2{
+ \eval_expr_to\b_count{#1} \eval_expr_to\c_count{#2}
+ \advance\glyph_width by \b_count
+ \g_eval_expr_to\glyph_depth{\max\glyph_depth{-\glyph_voffset}}
+ \g_eval_expr_to\glyph_height{
+ \max\glyph_height{\add\glyph_voffset\c_count}
+ }
+ \global\glyph_italic=0
+ \edef\a_macro{\saved_rule{\the\b_count}{\the\c_count}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\glyphspecial#1{
+ \edef\a_macro{\saved_special{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\glyphwarning#1{
+ \edef\a_macro{\saved_warning{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\movert#1{
+ \eval_expr{#1}
+ \ifnum \glyph_maxhpos<\glyph_width
+ \global\glyph_maxhpos\glyph_width
+ \fi
+ \ifnum 0=\result \else
+ \advance\glyph_width by \result
+ \edef\a_macro{\saved_movert{\the\result}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \fi
+}
+\def\moveup#1{
+ \eval_expr{#1}
+ \ifnum\result=0\else
+ \advance\glyph_voffset by \result
+ \edef\a_macro{\saved_moveup{\the\result}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \fi
+}
+\def\push{
+ \bgroup
+ \global\glyph_map_commands\expandafter{
+ \the\glyph_map_commands \saved_push
+ }
+}
+\def\pop{
+ \ifnum \glyph_maxhpos<\glyph_width
+ \global\glyph_maxhpos\glyph_width
+ \fi
+ \egroup
+ \global\glyph_map_commands\expandafter{
+ \the\glyph_map_commands \saved_pop
+ }
+}
+\def\resetwidth#1{\movert{\sub{#1}\glyph_width}}
+\def\resetheight{\g_eval_expr_to\glyph_height}
+\def\resetdepth{\g_eval_expr_to\glyph_depth}
+\def\resetitalic{\g_eval_expr_to\glyph_italic}
+\def\glyphpcc#1#2#3{
+ \ifisglyph{\glyph_name_modifier{#1}}\then
+ \push
+ \movert{#2}
+ \moveup{#3}
+ \glyph{\glyph_name_modifier{#1}}{\one_thousand}
+ \pop
+ \else
+ \fontinsterror{\string\glyphpcc}{
+ Base~glyph~not~set.\messagebreak
+ This~could~be~a~sign~that~the~AFM~file~is~buggy
+ }\error_help_a
+ \fi
+}
+\def\glyphbboxright{\max\glyph_width\glyph_maxhpos}
+\def\samesize#1{
+ \if_undefined{g-\glyph_name_modifier{#1}}\then
+ \resetwidth{\glyphbboxright}
+ \else
+ \expandafter\expandafter\expandafter
+ \same_size\csname g-\glyph_name_modifier{#1}\endcsname
+ \fi
+}
+\def\same_size#1#2#3#4#5#6{
+ \movert{\sub{#1}\glyph_width}
+ \global\glyph_height=#2
+ \global\glyph_depth=#3
+ \global\glyph_italic=#4
+}
+\def\ifisglyph#1\then{\if_defined{g-#1}\then}
+\def\ifareglyphs#1\then{
+ \process_csep_list{\if_is_glyph}#1,\process_csep_list,
+ \if_true
+}
+\def\if_is_glyph#1{
+ \if_undefined{g-#1}\then \expandafter\if_false \fi
+}
+\def\etxtovpl#1#2{{
+ \def\vpl_extension{vpl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{virtual~font}
+ \def\vpl_Font{Virtual~font}
+ \def\vpl_call{\string\etxtovpl{#1}{#2}}
+ \def\vpl_to_vf##1{vptovf~##1.vpl~##1.vf~##1.tfm}
+ \a_toks={}
+ \process_csep_list\make_inputetx #1,\process_csep_list,
+ \expandafter\etx_to_font \expandafter{\the\a_toks}{#2}
+}}
+\def\etxtopl#1#2{{
+ \def\vpl_extension{pl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{font}
+ \def\vpl_Font{Font}
+ \def\vpl_call{\string\etxtopl{#1}{#2}}
+ \def\vpl_to_vf##1{pltotf~##1.pl~##1.tfm}
+ \_including_map_false
+ \global\rawfont_scaling=-\p@
+ \a_toks={}
+ \process_csep_list\make_inputetx #1,\process_csep_list,
+ \expandafter\etx_to_font \expandafter{\the\a_toks}{#2}
+}}
+\newif\if_including_map_
+\_including_map_true
+\def\make_inputetx#1{
+ \def\a_macro{\noexpand\inputetx{\file_name}}
+ \get_file_name #1~{}~\par
+ \edef\a_macro{\a_macro}
+ \a_toks=\expandafter{ \the\expandafter\a_toks \a_macro}
+}
+\x_cs\def{IFKW-mtxasetx}{
+ \def\a_macro{\noexpand\input_mtx_as_etx{\file_name}}
+ \get_keyword
+}
+\def\etx_to_font#1#2{
+ \make_assignments{#1}
+ \open_out{#2.\vpl_extension}
+ \top_of_pl_hook
+ \out_line{(\vpl_title\space\vpl_font\space
+ #2~created~by~fontinst~v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.\vpl_extension)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\vpl_call)}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~a~\vpl_font\space
+ with)}
+ \out_line{(COMMENT~\vpl_to_vf{#2})}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \make_header{#1}
+ \if_including_map_ \make_mapfonts{#1} \fi
+ \make_fontdimens{#1}
+ \make_ligtable{#1}
+ \make_characters{#1}
+ \make_tidy{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.\vpl_extension)}
+ \close_out{\vpl_Font}
+}
+\let\pre_first_etx_pass_hook\x_relax
+\let\pre_second_etx_pass_hook\x_relax
+\let\pre_third_etx_pass_hook\x_relax
+\let\pre_fourth_etx_pass_hook\x_relax
+\let\post_first_etx_pass_hook\x_relax
+\let\post_second_etx_pass_hook\x_relax
+\let\post_third_etx_pass_hook\x_relax
+\let\post_fourth_etx_pass_hook\x_relax
+\let\tidying_up_hook\x_relax
+\let\top_of_pl_hook\x_relax
+\def\make_assignments#1{
+ \let\do_slot=\assign_slot
+ \let\end_do_slot=\end_assign_slot
+ \def\do_boundary{\bgroup
+ \let\makerightboundary=\bad_makerightboundary
+ }
+ \let\endsetleftboundary=\egroup
+ \let\makerightboundary=\assign_rboundary
+ \pre_first_etx_pass_hook
+ #1
+ \post_first_etx_pass_hook
+ \let\end_do_slot=\empty_command
+ \let\do_boundary=\x_relax
+ \let\endsetleftboundary=\x_relax
+ \let\makerightboundary=\gobble_one
+}
+\def\assign_slot{\a_toks={\do}}
+\begingroup
+ \catcode0=12
+ \gdef\end_assign_slot{
+ \ifisglyph\slot_name\then
+ \lccode0=\slot_number
+ \lowercase{
+ \expandafter\add_to
+ \csname slots-\slot_name\expandafter\endcsname
+ \expandafter{\the\a_toks^^@}
+ }
+ \fi
+ }
+ \gdef\assign_rboundary#1{
+ \lccode0=\slot_number
+ \lowercase{\x_cs\add_to{slots-#1}{\rboundary_do^^@}}
+ \x_setint{\percent_char boundarychar}\slot_number
+ \a_toks={\rbserver_do}
+ }
+\endgroup
+\def\bad_makerightboundary#1{
+ \errhelp={The~left~boundary~is~not~a~slot,~so~it~cannot~serve~
+ as~right~boundary.}
+ \errmessage{Incorrect~use~of~\string\makerightboundary}
+}
+\def\get_slot_num#1{
+ \global\result=-1
+ \bgroup
+ \def\do{\global\result=`}
+ \let\rbserver_do=\do
+ \let\rboundary_do=\gobble_one
+ \csname slots-#1\endcsname
+ \egroup
+}
+\def\ifisinslot#1#2\then{
+ \ifx \makerightboundary\gobble_one
+ \eval_expr{#2}
+ \begingroup
+ \def\do##1{\ifnum `##1=\result \let\do=\gobble_one \fi}
+ \def\rbserver_do{\do}
+ \let\rboundary_do=\gobble_one
+ \csname slots-#1\endcsname
+ \expandafter\endgroup
+ \ifx \do\gobble_one
+ \expandafter\expandafter \expandafter\if_true
+ \else
+ \expandafter\expandafter \expandafter\if_false
+ \fi
+ \else
+ \expandafter\gobble_if
+ \fi
+}
+\newdimen\mapfont_scaling
+\mapfont_scaling=1pt
+\newdimen\rawfont_scaling
+\def\vpl_real#1{R~\expandafter\lose_measure\the#1}
+\def\vpl_int#1{D~\the#1}
+\newdimen\side_bearings
+\newdimen\curr_bearings
+\def\make_header#1{
+ \global\font_count=0
+ \setdim{designsize}{10pt}
+ \a_dimen=\dim{designsize}
+ \out_line{(DESIGNSIZE~\vpl_real\a_dimen)}
+ \x_setstr{codingscheme}{UNKNOWN}
+ \out_line{(CODINGSCHEME~\str{codingscheme})}
+ \ifisint{\percent_char boundarychar}\then
+ \a_count=\int{\percent_char boundarychar}
+ \out_line{(BOUNDARYCHAR~\vpl_int\a_count)}
+ \fi
+ \x_setint{letterspacing}{0}
+ \side_bearings=\make_factor{\int{letterspacing}}\half_point
+ \x_setint{minimumkern}{0}
+ \minimum_kern=\int{minimumkern}
+ \out_line{}
+}
+\def\make_mapfonts#1{
+ \let\saved_scale\vpl_scale
+ \let\saved_mapfont\vpl_mapfont
+ \let\do_slot=\do_mapfont
+ \pre_second_etx_pass_hook
+ #1
+ \post_second_etx_pass_hook
+ \out_line{}
+}
+\def\do_mapfont{
+ \ifisglyph\slot_name\then
+ \mapfonts\slot_name
+ \fi
+}
+\def\vpl_scale#1#2{{
+ \mapfont_scaling=\make_factor{#1}\mapfont_scaling
+ #2
+}}
+\def\vpl_mapfont#1#2{
+ \a_dimen=#2
+ \if_undefined{\the\mapfont_scaling-#1}\then
+ \global\x_cs\mathchardef{\the\mapfont_scaling-#1}=\font_count
+ \x_cs\xdef{f-\the\font_count}{\the\mapfont_scaling-#1}
+ \out_line{(MAPFONT~\vpl_int\font_count\space
+ (FONTNAME~#1)~
+ (FONTDSIZE~\vpl_real\a_dimen)~
+ (FONTAT~\vpl_real\mapfont_scaling))}
+ \record_usage{#1}
+ \global\advance\font_count by 1
+ \fi
+}
+\def\pl_mapfont#1#2{\global\rawfont_scaling=\mapfont_scaling}
+\newcount\font_count
+\newcount\next_mapfont
+\newcount\prev_mapfont
+\def\make_fontdimens#1{
+ \out_line{(FONTDIMEN}
+ \a_count=1
+ \loop\ifnum 256>\a_count
+ \ifisint{fontdimen(\the\a_count)}\then
+ \out_lline{(PARAMETER~\vpl_int\a_count\space
+ R~\make_factor{\int{fontdimen(\the\a_count)}})}
+ \fi
+ \advance \a_count \@ne
+ \repeat
+ \out_lline{)}
+ \out_line{}
+}
+\def\make_ligtable#1{
+ \begingroup
+ \out_line{(LIGTABLE}
+ \let\do_slot=\bgroup
+ \let\end_do_slot=\vpl_kerning
+ \def\do_boundary{\bgroup \let\vpl_liglabel=\boundary_liglabel}
+ \let\endsetleftboundary=\vpl_kerning
+ \let\ligature=\vpl_ligature
+ \let\k=\vpl_kern
+ \let\rbserver_do=\vpl_rbserver_do
+ \let\rboundary_do=\vpl_rboundary_do
+ \pre_third_etx_pass_hook
+ #1
+ \post_third_etx_pass_hook
+ \out_lline{)}
+ \endgroup
+ \out_line{}
+}
+\def\vpl_rbserver_do#1{
+ \do{#1}
+ \let\rboundary_do=\wrn_rboundary_do
+}
+\def\vpl_rboundary_do#1{
+ \do{#1}
+ \let\rbserver_do=\wrn_rboundary_do
+}
+\def\wrn_rboundary_do#1{
+ \do{#1}
+ \immediate\write16{Boundarychar~slot~usage~collision~in~
+ `\slot_name'~ligkern~program.}
+}
+\def\vpl_ligature#1#2#3{
+ \get_slot_num{#3}
+ \ifnum -1=\result
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#3'.}
+ \else
+ \x_cs\ifx{slots-#2}\x_relax
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#2'.}
+ \else
+ \def\do##1{
+ \vpl_liglabel
+ \out_lline{(#1~D~\number`##1~\space\vpl_int\result)~
+ (COMMENT~#2~#3)}
+ }
+ \csname slots-#2\endcsname
+ \fi
+ \fi
+}
+\def\vpl_kerning{
+ \let\do=\vpl_kern_do
+ \csname~r-\slot_name\endcsname
+ \vpl_ligstop
+ \egroup
+}
+\def\vpl_kern#1#2{
+ \edef\a_macro{\expandafter\gobble_three\string#1}
+ \a_count=\expandafter\gobble_one\string#2\x_relax
+ \ifnum \ifnum -\a_count>\a_count - \fi\a_count>\minimum_kern
+ \edef\b_macro{~R~\make_factor\a_count}
+ \csname slots-\a_macro\endcsname
+ \fi
+ \x_cs\let{slots-\a_macro}=\x_relax
+}
+\def\vpl_kern_do#1{
+ \vpl_liglabel
+ \out_lline{
+ (KRN~D~\number`#1~\b_macro)~
+ (COMMENT~\a_macro)
+ }
+}
+\def\out_liglabel{
+ \out_lline{(LABEL~\vpl_int\slot_number)~(COMMENT~\slot_name)}
+ \let\vpl_liglabel=\x_relax
+ \let\vpl_ligstop=\out_ligstop
+}
+\def\boundary_liglabel{
+ \out_lline{(LABEL~BOUNDARYCHAR)~(COMMENT~\slot_name)}
+ \let\vpl_liglabel=\x_relax
+ \let\vpl_ligstop=\out_ligstop
+}
+\let\vpl_liglabel=\out_liglabel
+\def\out_ligstop{\out_lline{(STOP)}
+ \let\vpl_liglabel=\out_liglabel
+ \let\vpl_ligstop=\x_relax}
+\let\vpl_ligstop=\x_relax
+\def\make_characters#1{
+ \bgroup
+ \let\do_slot=\do_character
+ \let\end_do_slot=\end_do_character
+ \let\nextlarger=\vpl_nextlarger
+ \let\varchar=\vpl_varchar
+ \let\endvarchar=\end_vpl_varchar
+ \let\vartop=\vpl_vartop
+ \let\varmid=\vpl_varmid
+ \let\varbot=\vpl_varbot
+ \let\varrep=\vpl_varrep
+ \if_including_map_
+ \let\saved_raw\vpl_raw
+ \let\saved_rule\vpl_rule
+ \let\saved_special\vpl_special
+ \let\saved_warning\vpl_warning
+ \let\saved_movert\vpl_movert
+ \let\saved_moveup\vpl_moveup
+ \let\saved_push\vpl_push
+ \let\saved_pop\vpl_pop
+ \else
+ \def\do_character_map{
+ \ifdim \rawfont_scaling=-\p@
+ \mapfonts\slot_name
+ \else
+ \let\do_character_map=\x_relax
+ \fi
+ }
+ \let\saved_mapfont\pl_mapfont
+ \let\saved_scale\vpl_scale
+ \fi
+ \pre_fourth_etx_pass_hook
+ #1
+ \post_fourth_etx_pass_hook
+ \egroup
+}
+\def\do_character{
+ \if_undefined{g-\slot_name}\then
+ \ifisint{requireglyphs}\then
+ \fontinstwarning{ETX~to~(V)PL}{
+ Undefined~glyph~`\slot_name'~requested\message_break
+ for~slot~\the\slot_number\message_number}
+ \fi
+ \expandafter\gobble_setslot
+ \else
+ \ifx\slot_name\notdef_name\else
+ \out_line{(CHARACTER~\vpl_int\slot_number\space
+ (COMMENT~\slot_name)}
+ \glyph_parameter\glyph_metrics\slot_name
+ \a_dimen=\make_factor\a_count \p@
+ \do_character_sidebearings
+ \out_lline{(CHARWD~\vpl_real\a_dimen)}
+ \ifnum \z@=\b_count \else
+ \out_lline{(CHARHT~R~\make_factor\b_count)}
+ \fi
+ \ifnum \z@=\c_count \else
+ \out_lline{(CHARDP~R~\make_factor\c_count)}
+ \fi
+ \ifnum \z@=\d_count \else
+ \out_lline{(CHARIC~R~\make_factor\d_count)}
+ \fi
+ \do_character_map
+ \fi
+ \fi
+}
+\def\do_character_sidebearings{
+ \ifisint{\slot_name-spacing}\then
+ \curr_bearings=\make_factor{\int{\slot_name-spacing}}\half_point
+ \else
+ \curr_bearings=\side_bearings
+ \fi
+ \advance\a_dimen by 2\curr_bearings
+}
+\def\do_character_map{
+ \global\prev_mapfont=0
+ \out_lline{(MAP}
+ \ifdim 0pt=\curr_bearings
+ \mapcommands\slot_name
+ \else
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \mapcommands\slot_name
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \fi
+ \out_llline{)}
+}
+\long\def\gobble_setslot#1\endsetslot{\endsetslot}
+\def\end_do_character{
+ \ifisglyph\slot_name\then
+ \out_lline{)}
+ \fi
+}
+\def\notdef_name{.notdef}
+\def\vpl_nextlarger#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_lline{(NEXTLARGER~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\nextlarger\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varchar{\out_lline{(VARCHAR}}
+\def\end_vpl_varchar{\out_llline{)}}
+\def\vpl_vartop#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(TOP~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\vartop\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varmid#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(MID~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varmid\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varbot#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(BOT~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varbot\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varrep#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(REP~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varrep\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_raw#1#2#3{
+ \global\next_mapfont=\csname\the\mapfont_scaling-#1\endcsname
+ \ifnum \next_mapfont=\prev_mapfont \else
+ \out_llline{(SELECTFONT~\vpl_int\next_mapfont)~
+ (COMMENT~#1~at~
+ \expandafter\lose_measure \the\mapfont_scaling)}
+ \fi
+ \out_llline{(SETCHAR~D~#2)~(COMMENT~#3)}
+ \global\prev_mapfont=\next_mapfont
+}
+\def\vpl_rule#1#2{
+ \a_dimen=\make_factor{#2}\mapfont_scaling
+ \b_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(SETRULE~\vpl_real\a_dimen\space\vpl_real\b_dimen)}
+}
+\def\vpl_special#1{
+ \out_llline{(SPECIAL~#1)}}
+\def\vpl_warning#1{
+ \ifwarningspecials
+ \out_llline{(SPECIAL~Warning:~#1)}
+ \fi
+ \immediate\write16{Warning:~#1.}
+}
+\newif\ifwarningspecials
+\warningspecialstrue
+\def\vpl_movert#1{
+ \a_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(MOVERIGHT~\vpl_real\a_dimen)}
+}
+\def\vpl_moveup#1{
+ \a_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(MOVEUP~\vpl_real\a_dimen)}
+}
+\def\vpl_push{\out_llline{(PUSH)}}
+\def\vpl_pop{\out_llline{(POP)}}
+\def\make_tidy#1{
+ \tidying_up_hook
+ \if_including_map_
+ \a_count=0
+ \loop\ifnum \a_count<\font_count
+ \edef\a_macro{\csname~f-\the\a_count\endcsname}
+ \global\x_cs\let\a_macro\x_relax
+ \advance\a_count by 1
+ \repeat
+ \global\font_count=0
+ \else
+ \ifdim \rawfont_scaling<\z@
+ \fontinstwarning{ETX~to~(V)PL}{The~font~
+ \out_filename\space doesn't~contain~any~characters}
+ \global\rawfont_scaling=\p@
+ \fi
+ \ifdim \rawfont_scaling=\p@ \else
+ \out_line{(DESIGNUNITS~\vpl_real\rawfont_scaling)}
+ \fi
+ \fi
+}
+\newtoks\family_toks
+\def\installfonts{
+ \bgroup
+ \global\family_toks={}
+ \gdef\prev_file_list{}
+ \global\let\setsomething_global=\global
+}
+\def\installfamily#1#2#3{
+ \global\family_toks=
+ \expandafter{\the\family_toks\fd_family{#1}{#2}{#3}}
+ \global\x_cs\let{#1-#2}\empty_command
+}
+\def\installfont#1#2#3#4#5#6#7#8{
+ \global\let\setsomething_global=\x_relax
+ \input_metrics{}{#2}
+ \etxtovpl{#3}{#1}
+ \installfontas{#1}{#4}{#5}{#6}{#7}{#8}
+ \global\let\setsomething_global=\global
+}
+\def\installrawfont#1#2#3#4#5#6#7#8{
+ \global\let\setsomething_global=\x_relax
+ \xdef\out_filename{#1}
+ \input_metrics{\let\storemapdata=\installraw_storemap}{#2}
+ \let\storemapdata=\gobble_three
+ \etxtopl{#3}{#1}
+ \record_usage{#1}
+ \installfontas{
+ \ifdim \rawfont_scaling=\p@ \else
+ [\expandafter\lose_measure\the\rawfont_scaling]~
+ \fi #1
+ }{#4}{#5}{#6}{#7}{#8}
+ \global\let\setsomething_global=\global
+}
+\def\installraw_storemap#1#2#3{
+ \def\a_macro{#1}
+ \ifx \a_macro\out_filename \else
+ \record_transform{\out_filename}{\string\frommtx{#1}}{}\if_false
+ \fi
+}
+\def\input_metrics#1#2{
+ \let\metrics=\file_list_metrics
+ \xdef\curr_file_list{#2,}
+ \let\metrics=\x_relax
+ \ifx\prev_file_list\curr_file_list\else
+ \egroup\bgroup
+ #1
+ \expandafter\process_csep_list \expandafter\input_mtx_file
+ \curr_file_list\process_csep_list,
+ \global\let\prev_file_list=\curr_file_list
+ \fi
+}
+\def\file_list_metrics#1,{
+ \iffalse{\fi}
+ \a_toks=\expandafter{\curr_file_list\x_relax#1,}
+ \xdef\curr_file_list{\the\a_toks \iffalse}\fi
+}
+\def\installfontas#1#2#3#4#5#6{
+ \if_undefined{#2-#3-#4-#5}\then
+ \let\do_shape=\x_relax
+ \if_undefined{#2-#3}\then
+ \x_cs\let{#2-#3}\empty_command
+ \autoinstallfamily{#2}{#3}
+ \fi
+ \x_cs\xdef{#2-#3}{
+ \csname#2-#3\endcsname
+ \do_shape{#2}{#3}{#4}{#5}
+ }
+ \fi
+ \let\do_size=\x_relax
+ \x_cs\xdef{#2-#3-#4-#5}{
+ \if_defined{#2-#3-#4-#5}\then
+ \csname#2-#3-#4-#5\endcsname
+ \fi
+ \do_size{#6}{#1}
+ }
+}
+\def\autoinstallfamily#1#2{\installfamily{#1}{#2}{}}
+\def\endinstallfonts{
+ \global\let\setsomething_global=\x_relax
+ \let\do_shape=\fd_shape
+ \let\do_size=\fd_size
+ \the\family_toks
+ \global\family_toks{}
+ \egroup
+}
+\def\input_mtx_file#1{
+ \reset_modifiers_hook
+ \ifx\x_relax#1\x_relax
+ \else
+ \identity_one{\get_file_name #1~}~\par
+ \ifx \pl_encoding\empty_command
+ \fromany\file_name
+ \else
+ \metrics_given_encoding{\file_name}{\pl_encoding}
+ \fi
+ \ifisstr{afm-name}\then
+ \inputmtx{\str{afm-name}}
+ \else
+ \fontinsterror{\string\install...}{
+ Font/MTX~file~\file_name\space not found
+ }{
+ You~can~insert~an~\string\inputmtx\space command~here
+ \messagebreak to~input~some~other~MTX~file~instead.
+ \ifisint{rawscale}\then \messagebreak
+ The~requested~raw~scaling~will~then~be~applied~on~that.
+ \fi
+ }
+ \fi
+ \fi
+}
+\def\metrics_given_encoding#1#2{
+ \x_setstr{afm-name}{#1-#2}
+ \if_file_exists{#1.pl}\then
+ \generalpltomtx{#1}{#1-#2}{pl}{#2}
+ \else
+ \if_file_exists{#1.vpl}\then
+ \generalpltomtx{#1}{#1-#2}{vpl}{#2}
+ \else
+ \unsetstr{afm-name}
+ \fi\fi
+}
+\def\reset_modifiers_hook{
+ \unsetint{rawscale}
+ \let\glyph_name_modifier\identity_one
+ \let\pl_encoding\empty_command
+ \let\list_of_options\empty_command
+}
+\def\get_file_name #1~{
+ \edef\file_name{#1}
+ \get_keyword
+}
+\def\get_keyword #1~{
+ \if_defined{IFKW-#1}\then
+ \csname IFKW-#1 \expandafter\endcsname
+ \else
+ \fontinsterror{\string\install...}{
+ `#1'~is~not~a~defined~keyword
+ }{
+ \error_help_a\messagebreak
+ Extra~tokens~will~be~flushed.
+ }
+ \expandafter\gobble_keywords
+ \fi
+}
+\def\gobble_keywords#1\par{}
+\x_cs\let{IFKW-}=\gobble_keywords
+\x_cs\def{IFKW-scaled}#1~{
+ \ifnum #1=\one_thousand
+ \unsetint{rawscale}
+ \else
+ \x_resetint{rawscale}{#1}
+ \fi
+ \get_keyword
+}
+\x_cs\def{IFKW-suffix}#1~{
+ \def\glyph_name_modifier##1{##1#1}
+ \get_keyword
+}
+\x_cs\def{IFKW-encoding}#1~{
+ \def\pl_encoding{#1}
+ \get_keyword
+}
+\let\pl_encoding=\empty_command
+\x_cs\def{IFKW-option}#1~{
+ \add_to\list_of_options{\do{#1}}
+}
+\def\ifoption#1\then{
+ \_a_false
+ \edef\a_macro{#1}
+ \def\do##1{
+ \if_a_ \else
+ \def\b_macro{##1}
+ \ifx \a_macro\b_macro \_a_true \fi
+ \fi
+ }
+ \list_of_options
+ \if_a_
+}
+\let\list_of_options\empty_command
+\def\fd_family#1#2#3{
+ \a_toks{#3}
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1#2.fd}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~Filename:~\lowercase_file}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using~fontinst~v\fontinstversion}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~SHOULD~BE~PUT~IN~A~TEX~INPUTS~
+ DIRECTORY}
+ \out_line{}
+ \out_line{\string\ProvidesFile{\lowercase_file}}
+ \out_lline{[
+ \the\year/
+ \ifnum10>\month0\fi\the\month/
+ \ifnum10>\day0\fi\the\day\space
+ Fontinst~v\fontinstversion\space
+ font~definitions~for~#1/#2.
+ ]}
+ \out_line{}
+ \out_line{\string\DeclareFontFamily{#1}{#2}{\the\a_toks}}
+ {
+ \csname #1-#2\endcsname
+ \out_line{}
+ \let\do_shape=\substitute_shape
+ \csname #1-#2\endcsname
+ \let\do_shape=\remove_shape
+ \csname #1-#2\endcsname
+ }
+ \x_cs\g_let{#1-#2}\x_relax
+ \out_line{}
+ \out_line{\string\endinput}
+ \close_out{Font~definitions}
+}
+\def\fd_shape#1#2#3#4{
+ \out_line{}
+ \out_line{\string\DeclareFontShape{#1}{#2}{#3}{#4}\left_brace_char}
+ \csname #1-#2-#3-#4\endcsname
+ \x_cs\g_let{#1-#2-#3-#4}\empty_command
+ \out_line{\right_brace_char{}}
+}
+\def\fd_size#1#2{
+ \x_cs\ifx{siz-#1}\x_relax
+ \out_lline{#1~#2}
+ \else
+ \out_lline{\csname siz-#1\endcsname\space #2}
+ \fi
+}
+\def\remove_shape#1#2#3#4{
+ \x_cs\g_let{#1-#2-#3-#4}\x_relax
+}
+\def\substitute_shape#1#2#3#4{
+ \edef\orig_shape{#4}
+ \substitute_series{#1}{#2}{#3}{\orig_shape}
+ \x_cs\ifx{sub-\orig_shape}\x_relax\else
+ \edef\subst_shape{\csname sub-\orig_shape\endcsname}
+ \x_cs\ifx{#1-#2-#3-\subst_shape}\x_relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{#3}{\subst_shape}{
+ <->\csname typ-\orig_shape\endcsname\space
+ *~#2/#3/\orig_shape
+ }{}
+ }
+ \x_cs\let{#1-#2-#3-\subst_shape}\empty_command
+ \substitute_shape{#1}{#2}{#3}{\subst_shape}
+ \fi
+ \fi
+}
+\def\substitute_series#1#2#3#4{
+ \edef\orig_series{#3}
+ \x_cs\ifx{sub-\orig_series}\x_relax\else
+ \edef\subst_series{\csname sub-\orig_series\endcsname}
+ \x_cs\ifx{#1-#2-\subst_series-#4}\x_relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{\subst_series}{#4}{
+ <->\csname typ-\orig_series\endcsname\space
+ *~#2/\orig_series/#4
+ }{}
+ }
+ \x_cs\let{#1-#2-\subst_series-#4}\empty_command
+ \substitute_series{#1}{#2}{\subst_series}{#4}
+ \fi
+ \fi
+}
+\def\substitutesilent#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{ssub}
+}
+\def\substitutenoisy#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{sub}
+}
+\substitutesilent{bx}{b}
+\substitutesilent{b}{bx}
+\substitutesilent{b}{sb}
+\substitutesilent{b}{db}
+\substitutesilent{m}{mb}
+\substitutesilent{m}{l}
+\substitutenoisy{ui}{it}
+\substitutesilent{sl}{it}
+\substitutesilent{it}{sl}
+\def\declareencoding#1#2{\x_cs\edef{enc-#1}{#2}}
+\declareencoding{TEX~TEXT}{ot1}
+\declareencoding{TEX~TEXT~WITHOUT~F-LIGATURES}{ot1}
+\declareencoding{TEX~TYPEWRITER~TEXT}{ot1tt}
+\declareencoding{TEX~MATH~ITALIC}{oml}
+\declareencoding{TEX~MATH~SYMBOLS}{oms}
+\declareencoding{TEX~MATH~EXTENSION}{omx}
+\declareencoding{LATEX~SYMBOLS}{lasy}
+\declareencoding{TEX~TEXT~SUBSET}{eufrak}
+\declareencoding{TEX~MATH~ITALIC~SUBSET}{eurm}
+\declareencoding{TEX~MATH~SYMBOLS~SUBSET}{euscr}
+\declareencoding{EULER~SUBSTITUTIONS~ONLY}{euex}
+\declareencoding{EXTENDED~TEX~FONT~ENCODING~-~LATIN}{t1}
+\declareencoding{TEX~TEXT~COMPANION~SYMBOLS~1---TS1}{ts1}
+\declareencoding{TEXBASE1ENCODING}{8r}
+\declareencoding{TEX~TYPEWRITER~AND~WINDOWS~ANSI}{8y}
+\def\declaresize#1#2{\x_cs\edef{siz-#1}{#2}}
+\declaresize{}{<->}
+\declaresize{5}{<5>}
+\declaresize{6}{<6>}
+\declaresize{7}{<7>}
+\declaresize{8}{<8>}
+\declaresize{9}{<9>}
+\declaresize{10}{<10>}
+\declaresize{11}{<10.95>}
+\declaresize{12}{<12>}
+\declaresize{14}{<14.4>}
+\declaresize{17}{<17.28>}
+\declaresize{20}{<20.74>}
+\declaresize{25}{<24.88>}
+\def\NOFILES{
+ \def\transformfont##1##2{
+ \touch_file{##1.mtx}
+ \touch_file{##1.pl}
+ }
+ \def\reglyphfont##1##2{\touch_file{##1.mtx}}
+ \def\installfonts{}
+ \def\endinstallfonts{}
+ \def\installfont##1##2##3##4##5##6##7##8{
+ \touch_file{##1.vpl}
+ }
+ \def\installrawfont##1##2##3##4##5##6##7##8{
+ \touch_file{##1.pl}
+ }
+ \def\installfamily##1##2##3{\touch_file{##1##2.fd}}
+}
+\def\touch_file#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~TEST~FILE.}
+ \out_line{\percent_char~Created~whilst~debugging~fontinst.}
+ \close_out{Test~file}
+}
+%%% From file: ficonv.dtx
+\def\afmtomtx#1#2{{
+ \let\setsomething_global=\x_relax
+ \open_out{\temp_prefix#2.mtx}
+ \edef\raw_font_name{#2}
+ \edef\source_font_name{#1}
+ \x_resetint{italicslant}{0}
+ \let\italcorr_expression=\uprightitalcorr
+ \x_setint{minimumkern}{0}
+ \minimum_kern=\int{minimumkern}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\afmtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.afm~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \catcode`\^^M=12
+ \catcode`\ =10
+ \expandafter\afm_line\primitiveinput #1.afm\x_relax
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Metrics}
+}}
+\newcount\minimum_kern
+\def\afm_length#1#2{
+ \a_dimen=#2\afm_unit_dimen
+ #1=\a_dimen
+ \divide #1 by \afm_unit_dimen
+ \advance \a_dimen by -#1\afm_unit_dimen
+ \ifdim \a_dimen>0.5\afm_unit_dimen
+ \advance #1 by 1
+ \else \ifdim \a_dimen<-0.5\afm_unit_dimen
+ \advance #1 by -1
+ \fi\fi
+ \x_relax
+}
+\newdimen\afm_unit_dimen
+\afm_unit_dimen=1000sp
+{\catcode`\^^M=12 \gdef\afm_line#1
+{\afm_command#1~\end_of_line\afm_line}}
+\def\afm_command#1~{\csname~afm-#1\endcsname\gobble_one_line}
+\def\gobble_one_line#1\end_of_line{}
+\x_cs\def{afm-EndFontMetrics}#1\afm_line{\endinput}
+\def\afm_def#1(#2)#3{\x_cs\def{afm-#1}
+ \gobble_one_line#2\end_of_line{#3}}
+\def\afm_let#1#2{
+ \expandafter\let \csname afm-#1\expandafter\endcsname
+ \csname afm-#2\endcsname
+}
+\afm_def{CharWidth}(#1){\afm_length\char_x_width{#1}}
+\afm_def{ItalicAngle}(#1~){\calculate_it_slant{#1}}
+\afm_def{XHeight}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{xheight}{\the\a_count}}}
+\afm_def{CapHeight}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{capheight}{\the\a_count}}}
+\afm_def{Ascender}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{ascender}{\the\a_count}}}
+\afm_def{Descender}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{descender_neg}{\the\a_count}}}
+\afm_def{UnderlineThickness}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{underlinethickness}{\the\a_count}}}
+\afm_def{FontBBox}(#1~#2~#3~#4){
+ \afm_length\a_count{#4}
+ \out_line{\string\setint{maxheight}{\the\a_count}}
+ \afm_length\a_count{#2}
+ \out_line{\string\setint{maxdepth_neg}{\the\a_count}}}
+\afm_def{StdVW}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{verticalstem}{\the\a_count}}}
+\afm_def{IsFixedPitch}(#1){
+ \if\first_char#1=f
+ \else\out_line{\string\setint{monowidth}{1}}
+ \fi
+}
+\afm_def{FontName}(#1~){
+ \record_transform{\raw_font_name}
+ {\string\fromafm{\source_font_name}{#1}}{}\iftrue
+}
+\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{#1}{#2}{\the\a_count}}
+ \else\ifnum \a_count<-\minimum_kern
+ \out_line{\string\setkern{#1}{#2}{\the\a_count}}
+ \fi\fi
+ \fi\fi
+}
+\afm_let{KPX}{KP}
+\afm_def{C}(#1~;#2){\init_afm{#1}\do_list[#2]\afm_char}
+\afm_let{CH}{C}
+\afm_def{CC}(#1~#2~;#3){\init_cc{#1}\do_list[#3]\cc_char}
+\newcount\char_slot
+\newcount\char_x_width
+\newcount\x_width
+\newcount\bbox_llx
+\newcount\bbox_lly
+\newcount\bbox_urx
+\newcount\bbox_ury
+\let\char_name=\empty_command
+\def\init_afm#1{
+ \char_slot=#1\x_relax
+ \x_width=\char_x_width
+ \bbox_llx=0
+ \bbox_lly=0
+ \bbox_urx=0
+ \bbox_ury=0
+ \let\char_name=\empty_command
+}
+\def\afm_char{
+ \a_count=-\bbox_lly
+ \eval_expr{
+ \italcorr_expression\x_width\bbox_llx\bbox_urx\bbox_lly\bbox_ury
+ }
+ \out_line{
+ \ifnum -1<\char_slot
+ \string\setrawglyph
+ \else
+ \string\setnotglyph
+ \fi
+ {\char_name}
+ {\raw_font_name}
+ {10pt}
+ {\the\char_slot}
+ {\the\x_width}
+ {\the\bbox_ury}
+ {\the\a_count}
+ {\the\result}
+ }
+}
+\def\init_cc#1{%
+ \out_line{\string\setglyph{#1}}
+ \def\char_name{#1}
+}
+\def\cc_char{%
+ \out_lline{\string\samesize{\char_name-not}}
+ \out_line{\string\endsetglyph}
+}
+\def\uprightitalcorr#1#2#3#4#5{0}
+\def\slanteditalcorr#1#2#3#4#5{\max{\sub{#3}{#1}}{0}}
+\def\calculate_it_slant#1{
+ \edef\theangle{#1}
+ \CalculateTan{\theangle}
+ \a_dimen=-\one_thousand sp
+ \a_dimen=\UseTan{\theangle}\a_dimen
+ \a_count=\a_dimen
+ \out_line{\string\setint{italicslant}{\the\a_count}}
+ \x_resetint{italicslant}{\a_count}
+ \ifnum 0<\a_count
+ \let\italcorr_expression=\slanteditalcorr
+ \else
+ \let\italcorr_expression=\uprightitalcorr
+ \fi
+}
+\def\do_list[~#1~#2;~#3]{
+ \csname~list-#1\endcsname\gobble_one_semi#2;
+ \ifx\x_relax#3\x_relax\expandafter\gobble_one
+ \else\expandafter\identity_one\fi
+ {\do_list[~#3]}
+}
+\def\gobble_one_semi#1;{}
+\def\list_def#1(#2)#3{\x_cs\def{list-#1}\gobble_one_semi#2~;{#3}}
+\list_def{W}(#1~#2){\afm_length\x_width{#1}}
+\list_def{WX}(#1){\afm_length\x_width{#1}}
+\list_def{WY}(#1){}
+\list_def{N}(#1){\def\char_name{#1}}
+\list_def{B}(#1~#2~#3~#4){
+ \afm_length\bbox_llx{#1}
+ \afm_length\bbox_lly{#2}
+ \afm_length\bbox_urx{#3}
+ \afm_length\bbox_ury{#4}
+}
+\list_def{PCC}(#1~#2~#3){
+ \afm_length\a_count{#2}
+ \afm_length\b_count{#3}
+ \out_lline{\string\glyphpcc{#1}{\the\a_count}{\the\b_count}}
+}
+\def\generalpltomtx#1#2#3#4{{
+ \let\setsomething_global=\x_relax
+ \let\setfontdimen=\pl_setfontdimen
+ \if _#4_ \else
+ \def\do_slot{\x_cs\let{name-\the\slot_number}\slot_name}
+ \def\do_boundary{\x_cs\let{name-BOUNDARYCHAR}\slot_name}
+ \inputetx{#4}
+ \let\CODINGSCHEME=\ignore_parens
+ \fi
+ \pl_to_mtx{#1}{#2}{#3}{\string\generalpltomtx{#1}{#2}{#3}{#4}}
+}}
+\def\pltomtx#1#2{\generalpltomtx{#1}{#2}{pl}{}}
+\def\pl_to_mtx#1#2#3#4{
+ \edef\raw_font_name{#1}
+ \open_out{\temp_prefix#2.mtx}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~#4}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.#3~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \lowercase{
+ \record_transform{#2}{
+ \string\from#3 \x_cs\ifx{from#3}\frompl {#1} \fi
+ }{}\iftrue
+ }
+ \out_line{}
+ \catcode`\(=0 \catcode`\)=9
+ \let\/=\ignore_parens
+ \let\do_pl_glyph=\x_relax
+ \primitiveinput #1.#3\x_relax
+ \do_pl_glyph
+ \out_line{}
+ \ifisint{\percent_char boundarychar}\then
+ \f_count=\int{\percent_char boundarychar}
+ \x_cs\ifx{name-\the\f_count}\x_relax \else
+ \out_line{\string\setstr{rightboundary}
+ {\csname name-\the\f_count\endcsname}
+ }
+ \out_line{}
+ \fi
+ \fi
+ \out_line{\endmetrics_text}
+ \close_out{Metrics}
+}
+\def\ignore_parens{\bgroup\catcode`(=1 \catcode`)=2 \x_relax
+ \expandafter\expandafter\expandafter\gobble_parens
+ \iftrue\expandafter{\else}\fi}
+\def\gobble_parens#1{\egroup}
+\def\pl_real#1{\pl_realer(#1000)}
+\def\pl_realer(#1.#2#3#4#5){#1#2#3#4}
+\def\pl_rounded_real(#1.#2#3#4#5){
+ \global\result=#1#2#3#4\relax
+ \ifnum \first_char#5= >4
+ \global\advance \result
+ \if - \first_char#1= \m@ne \else \@ne \fi
+ \fi
+}
+\def\pl_int#1#2{
+ \ifx#1C `#2
+ \else\ifx#1D #2
+ \else\ifx#1O '#2
+ \else\ifx#1H "#2
+ \else -1\errmessage{Unknown~PL~number~prefix~`#1'}
+ \fi\fi\fi\fi
+}
+\let\FAMILY=\ignore_parens
+\let\FACE=\ignore_parens
+\let\CHECKSUM=\ignore_parens
+\def\HEADER~#1~#2~#3~#4~{}
+\def\SEVENBITSAFEFLAG~#1~{}
+\let\COMMENT=\ignore_parens
+\let\LIG=\ignore_parens
+\let\NEXTLARGER=\ignore_parens
+\let\VARCHAR=\ignore_parens
+\let\VTITLE=\ignore_parens
+\let\MAPFONT=\ignore_parens
+\let\MAP=\ignore_parens
+\def\CODINGSCHEME{\bgroup\catcode`\)=12\x_relax\CODINGSCHEME_cont}
+\def\CODINGSCHEME_cont#1){
+ \egroup
+ \if_undefined{enc-#1}\then
+ \errhelp{The~encoding~for~`#1'~has~not~been~declared.^^J
+ You~should~declare~it~with~
+ \string\declareencoding{#1}{ETXFILE}.^^J
+ Press~<RETURN>~to~carry~on~with~fingers~crossed,^^J
+ or~X~<RETURN>~to~exit.}
+ \errmessage{Undeclared~encoding~`#1'}
+ \else
+ \def\do_slot{\x_cs\let{name-\the\slot_number}\slot_name}
+ \def\do_boundary{\x_cs\let{name-BOUNDARYCHAR}\slot_name}
+ \catcode`\(=12 \catcode`\)=12
+ \x_cs\inputetx{enc-#1}\x_relax
+ \catcode`\(=0 \catcode`\)=9
+ \fi
+}
+\def\DESIGNSIZE~#1~#2~{
+ \a_dimen=#2pt
+ \out_line{\string\setdim{designsize}{\the\a_dimen}}
+}
+\def\DESIGNUNITS~#1~#2~{
+ \b_dimen=#2pt\x_relax
+ \ifdim 1pt=\b_dimen \else
+ \fontinsterror{PL-to-MTX}{Nondefault~unit~used~in~PL~file}
+ {You~may~continue,~but~the~metrics~for~this~font~will~be~wrong.}
+ \fi
+ \out_line{\string\setdim{designunits}{\the\b_dimen}}
+}
+\def\BOUNDARYCHAR~#1~#2~{
+ \x_setint{\percent_char boundarychar}{\pl_int{#1}{#2}}
+}
+\def\pl_setfontdimen#1#2{\x_cs\def{fdimen-#1}{#2}}
+\def\PARAMETER~#1~#2~R~#3~{
+ \f_count=\pl_int{#1}{#2}\x_relax
+ \if_defined{fdimen-\the\f_count}\then
+ \pl_rounded_real(#3 0000)
+ \out_line{\string\setint{\csname fdimen-\the\f_count\endcsname}
+ {\the\result}}
+ \fi
+}
+\let\FONTDIMEN=\x_relax
+\def\SLANT{\PARAMETER D~1~}
+\pl_setfontdimen{1}{italicslant}
+\def\SPACE{\PARAMETER D~2~}
+\pl_setfontdimen{2}{interword}
+\def\STRETCH{\PARAMETER D~3~}
+\pl_setfontdimen{3}{stretchword}
+\def\SHRINK{\PARAMETER D~4~}
+\pl_setfontdimen{4}{shrinkword}
+\def\XHEIGHT{\PARAMETER D~5~}
+\pl_setfontdimen{5}{xheight}
+\def\QUAD{\PARAMETER D~6~}
+\pl_setfontdimen{6}{quad}
+\def\EXTRASPACE{\PARAMETER D~7~}
+\pl_setfontdimen{7}{extraspace}
+\def\NUM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~8~#2~#3~
+ \or
+ \PARAMETER D~9~#2~#3~
+ \or
+ \PARAMETER D~10~#2~#3~
+ \fi
+}
+\def\DENOM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~11~#2~#3~
+ \or
+ \PARAMETER D~12~#2~#3~
+ \fi
+}
+\def\SUP#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~13~#2~#3~
+ \or
+ \PARAMETER D~14~#2~#3~
+ \or
+ \PARAMETER D~15~#2~#3~
+ \fi
+}
+\def\SUB#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~16~#2~#3~
+ \or
+ \PARAMETER D~17~#2~#3~
+ \fi
+}
+\def\SUPDROP{\PARAMETER D~18~}
+\def\SUBDROP{\PARAMETER D~19~}
+\def\AXISHEIGHT{\PARAMETER D~22~}
+\def\DELIM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~20~#2~#3~
+ \or
+ \PARAMETER D~21~#2~#3~
+ \fi
+}
+\def\DEFAULTRULETHICKNESS{\PARAMETER D~8~}
+\def\BIGOPSPACING#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~9~#2~#3~
+ \or
+ \PARAMETER D~10~#2~#3~
+ \or
+ \PARAMETER D~11~#2~#3~
+ \or
+ \PARAMETER D~12~#2~#3~
+ \or
+ \PARAMETER D~13~#2~#3~
+ \fi
+}
+\def\LABEL~#1{\ifx #1B
+ \expandafter\LABEL_boundarychar
+ \else
+ \expandafter\LABEL_slot \expandafter#1
+ \fi
+}
+\def\LABEL_slot #1~#2~{
+ \f_count=\pl_int{#1}{#2}
+ \edef\a_macro{\a_macro
+ \x_cs\do_if_defined{name-\the\f_count}
+ }
+}
+\def\LABEL_boundarychar OUNDARYCHAR{
+ \edef\a_macro{\a_macro
+ \x_cs\do_if_defined{name-BOUNDARYCHAR}
+ }
+}
+\def\do_if_defined#1{\ifx #1\x_relax \else \do{#1} \fi}
+\def\LIGTABLE{\let\do=\never_do\let\a_macro\empty_command}
+\def\STOP{\let\a_macro\empty_command}
+\def\SKIP~#1~#2~{\immediate\write16{Warning:~SKIP~instruction~ignored.}}
+\def\KRN~#1~#2~R~#3~{
+ \pl_rounded_real(#3 0000)
+ \edef\do{\noexpand\write_pl_krn{\pl_int{#1}{#2}}{\the\result}}
+ \a_macro
+ \let\do=\never_do
+}
+\def\write_pl_krn#1#2#3{
+ \f_count=#1\x_relax
+ \x_cs\ifx{name-\the\f_count}\x_relax \else
+ \out_line{\string\setkern{#3}
+ {\csname name-\the\f_count\endcsname}{#2}
+ }
+ \fi
+}
+\def\CHARWD~R~#1~{\pl_rounded_real(#1 0000) \b_count=\result}
+\def\CHARHT~R~#1~{\pl_rounded_real(#1 0000) \c_count=\result}
+\def\CHARDP~R~#1~{\pl_rounded_real(#1 0000) \d_count=\result}
+\def\CHARIC~R~#1~{\pl_rounded_real(#1 0000) \e_count=\result}
+\def\CHARACTER~#1~#2~{
+ \do_pl_glyph
+ \a_count=\pl_int{#1}{#2}
+ \b_count=0
+ \c_count=0
+ \d_count=0
+ \e_count=0
+ \let\do_pl_glyph=\write_pl_glyph
+}
+\def\write_pl_glyph{
+ \x_cs\ifx{name-\the\a_count}\x_relax\else
+ \out_line{\string\setrawglyph
+ {\csname~name-\the\a_count\endcsname}
+ {\raw_font_name}
+ {\the\a_dimen}
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\the\e_count}}
+ \fi
+ }
+\def\mtxtopl#1#2{{
+ \let\setsomething_global=\x_relax
+ \open_out{#2.pl}
+ \top_of_pl_hook
+ \out_line{(COMMENT~raw~font~#2~created~by~fontinst~
+ v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.pl)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\string\mtxtopl{#1}{#2})}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~
+ a~ligless~TeX~font~with)}
+ \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \out_line{(DESIGNSIZE~R~10.0)}
+ \out_line{}
+ \let\setglyph=\iffalse
+ \let\endsetglyph=\fi
+ \let\setkern=\gobble_three
+ \let\setscaledrawglyph=\first_pl_raw_glyph
+ \def\setscalednotglyph##1##2##3##4##5##6##7##8##9{}
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.pl)}
+ \close_out{Raw~font}
+}}
+\def\first_pl_raw_glyph#1#2#3#4{
+ \out_line{(DESIGNUNITS~R~\make_factor{#4})}
+ \let\setscaledrawglyph=\pl_raw_glyph
+ \pl_raw_glyph{#1}{#2}{#3}{#4}
+}
+\def\pl_raw_glyph#1#2#3#4#5#6#7#8#9{
+ \out_line{(CHARACTER~D~\number#5~\space(COMMENT~#1)}
+ \out_lline{(CHARWD~R~\make_factor{#6})}
+ \out_lline{(CHARHT~R~\make_factor{#7})}
+ \out_lline{(CHARDP~R~\make_factor{#8})}
+ \out_lline{(CHARIC~R~\make_factor{#9})}
+ \out_lline{)}
+}
+\def\transformfont#1#2{{
+ \let\setsomething_global=\x_relax
+ \unsetstr{afm-name}
+ \unsetstr{etx-name}
+ \x_resetint{x-scale}{\one_thousand}
+ \x_resetint{y-scale}{\one_thousand}
+ \x_resetint{slant-scale}{0}
+ #2
+ \ifisstr{afm-name}\then
+ \mtxtomtx{\str{afm-name}}{#1}
+ \mtxtopl{#1}{#1}
+ \else
+ \fontinsterror{Transformfont}{
+ Failed~to~make~transformed~font~#1;\messagebreak
+ source~font~metrics~file~not~found
+ }\error_help_a
+ \fi
+}}
+\def\fromafm#1{
+ \if_file_exists{#1.afm}\then
+ \x_setstr{afm-name}{#1}
+ \afmtomtx{#1}{#1}
+ \mtxtopl{#1}{#1}
+ \fi
+}
+\def\frommtx#1{
+ \if_file_exists{#1.mtx}\then \x_setstr{afm-name}{#1} \fi
+}
+\def\frompl#1{
+ \if_file_exists{#1.pl}\then
+ \x_setstr{afm-name}{#1}
+ \generalpltomtx{#1}{#1}{pl}{}
+ \fi
+}
+\def\fromplgivenetx#1#2{
+ \if_file_exists{#1.pl}\then
+ \x_setstr{afm-name}{#1}
+ \generalpltomtx{#1}{#1}{pl}{#2}
+ \fi
+}
+\def\fromany#1{
+ \x_cs\edef{s-afm-name}{#1}
+ \if_file_exists{#1.mtx}\then\else
+ \if_file_exists{#1.pl}\then
+ \generalpltomtx{#1}{#1}{pl}{}
+ \else
+ \if_file_exists{#1.afm}\then
+ \afmtomtx{#1}{#1}
+ \mtxtopl{#1}{#1}
+ \else
+ \if_file_exists{#1.vpl}\then
+ \generalpltomtx{#1}{#1}{vpl}{}
+ \else
+ \unsetstr{afm-name}
+ \fi\fi\fi\fi
+}
+\def\scalefont#1#2{
+ \eval_expr_to\d_count{#1}
+ \x_resetint{x-scale}{\scale{\d_count}{\int{x-scale}}}
+ \x_resetint{y-scale}{\scale{\d_count}{\int{y-scale}}}
+ \x_resetint{slant-scale}{\scale{\d_count}{\int{slant-scale}}}
+ #2
+}
+\def\xscalefont#1#2{
+ \x_resetint{x-scale}{\scale{#1}{\int{x-scale}}}
+ #2
+}
+\def\yscalefont#1#2{
+ \eval_expr_to\d_count{#1}
+ \x_resetint{y-scale}{\scale{\d_count}{\int{y-scale}}}
+ \x_resetint{slant-scale}{\scale{\d_count}{\int{slant-scale}}}
+ #2
+}
+\def\slantfont#1#2{
+ \x_resetint{slant-scale}{
+ \add{\scale{#1}{\int{x-scale}}}{\int{slant-scale}}
+ }
+ #2
+}
+\def\reencodefont#1#2{
+ #2
+ \resetstr{etx-name}{#1}
+}
+\def\mtxtomtx#1#2{{
+ \ifisstr{etx-name}\then
+ \def\do_slot{\x_cs\edef{slots-\slot_name}{\the\slot_number}}
+ \directfalse
+ \inputetx{\str{etx-name}}
+ \edef\a_macro{\string\reencodefont{\str{etx-name}}}
+ \else
+ \let\a_macro=\empty_command
+ \fi
+ \_a_true
+ \ifnum \int{x-scale}=\int{y-scale}
+ \ifnum \int{slant-scale}=\z@
+ \_a_false
+ \fi \fi
+ \if_a_
+ \a_count=\int{x-scale}
+ \l_inv_scale\a_count{\int{y-scale}}
+ \b_count=\int{slant-scale}
+ \l_inv_scale\b_count{\int{y-scale}}
+ \edef\a_macro{\a_macro
+ \string\transformfont{\the\a_count}{\the\b_count}
+ }
+ \fi
+ \open_out{\temp_prefix#2.mtx}
+ \edef\raw_font_name{#2}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\mtxtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#2}{\string\frommtx{#1}}{\a_macro}\iftrue
+ \out_line{}
+ \mtxtomtx_redefinitions
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Transformed~metrics}
+}}
+\def\mtxtomtx_redefinitions{
+ \let\setint=\mtxtomtx_setint
+ \let\setdim=\mtxtomtx_setdim
+ \let\setstr=\mtxtomtx_setstr
+ \let\setscaledrawglyph=\mtxtomtx_setscaledrawglyph
+ \let\setscalednotglyph=\mtxtomtx_setscaledrawglyph
+ \let\setkern=\mtxtomtx_setkern
+ \let\setglyph=\mtxtomtx_setglyph
+ \let\glyphpcc=\mtxtomtx_glyphpcc
+ \let\samesize=\mtxtomtx_samesize
+ \let\endsetglyph=\mtxtomtx_endsetglyph
+ \def\aliased{\string\aliased}
+}
+\let\aliased=\second_of_two
+\def\mtxtomtx_setint#1#2{
+ \def\a_macro{#1}
+ \ifx \a_macro\italicslant_name
+ \eval_expr{#2}
+ \global\multiply \result \int{x-scale}
+ \a_count=\int{slant-scale}
+ \multiply \a_count \one_thousand
+ \advance \a_count \result
+ \divide \a_count \int{y-scale}\x_relax
+ \else
+ \def\do##1{
+ \def\b_macro{##1}
+ \ifx \a_macro\b_macro \expandafter\if_false \fi
+ }
+ \gobble_one\iftrue \width_ints_list \if_true
+ \eval_expr_to\a_count{\scale{#2}{\int{y-scale}}}
+ \else
+ \eval_expr_to\a_count{\scale{#2}{\int{x-scale}}}
+ \fi
+ \fi
+ \out_line{\string\setint{#1}{\the\a_count}}
+}
+\def\italicslant_name{italicslant}
+\def\width_ints_list{
+ \do{interword}\do{stretchword}\do{shrinkword}\do{quad}
+ \do{extraspace}\do{digitwidth}\do{verticalstem}
+}
+\def\mtxtomtx_setdim#1#2{
+ \out_line{\string\setdim{#1}{#2}}
+}
+\def\mtxtomtx_setstr#1#2{
+ \out_line{\string\setstr{#1}{#2}}
+}
+\def\mtxtomtx_setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \eval_expr_to\a_count{\scale{#6}{\int{x-scale}}}
+ \eval_expr_to\b_count{\scale{#7}{\int{y-scale}}}
+ \eval_expr_to\c_count{\scale{#8}{\int{y-scale}}}
+ \eval_expr_to\d_count{#9} \eval_expr{#7}
+ \multiply \d_count \int{x-scale}
+ \global\multiply \result \int{slant-scale}
+ \global\advance \result \d_count
+ \rounded_thousandths
+ \d_count=\result
+ \eval_expr{\scale{#4}{\int{y-scale}}}
+ \ifisstr{etx-name}\then
+ \bgroup
+ \let\aliased=\first_of_two
+ \if_undefined{slots-#1}\then
+ \egroup \e_count=\m@ne
+ \else
+ \expandafter\egroup \expandafter\e_count
+ \csname slots-#1\endcsname
+ \fi
+ \else
+ \e_count=#5
+ \fi
+ \out_line{
+ \ifnum \e_count>\m@ne
+ \string\setscaledrawglyph
+ \else
+ \string\setscalednotglyph
+ \fi
+ {#1}{\raw_font_name}{#3}{\the\result}{\the\e_count}
+ {\the\a_count}{\the\b_count}{\the\c_count}{\the\d_count}
+ }
+}
+\def\mtxtomtx_setkern#1#2#3{
+ \eval_expr{\scale{\int{x-scale}}{#3}}
+ \out_line{\string\setkern{#1}{#2}{\the\result}}
+}
+\def\mtxtomtx_setglyph#1{\out_line{\string\setglyph{#1}}}
+\def\mtxtomtx_samesize#1{\out_lline{\string\samesize{#1}}}
+\def\mtxtomtx_endsetglyph{\out_line{\string\endsetglyph}}
+\def\mtxtomtx_glyphpcc#1#2#3{
+ \eval_expr_to\b_count{\scale{\int{y-scale}}{#3}}
+ \eval_expr_to\a_count{#2} \eval_expr{#3}
+ \multiply \a_count \int{x-scale}
+ \global\multiply \result \int{slant-scale}
+ \global\advance \result \a_count
+ \rounded_thousandths
+ \out_lline{\string\glyphpcc{#1}{\the\result}{\the\b_count}}
+}
+\def\reglyphfonts{
+ \begingroup
+ \let\setsomething_global=\x_relax
+ \x_setint{renameweight}{1}
+ \x_setint{killweight}{-10}
+ \setcommand\iftokeep##1\then{\ifnum -1<##1}
+}
+\def\endreglyphfonts{\endgroup}
+\def\offmtxcommand#1{
+ \x_cs\offcommand{reglyph_\expandafter\gobble_one\string#1}
+}
+\def\onmtxcommand#1{
+ \x_cs\oncommand{reglyph_\expandafter\gobble_one\string#1}
+}
+\begingroup
+ \catcode`\-=11
+ \gdef\renameglyph#1#2{
+ \x_cs\edef{slots-#2}{
+ \noexpand\rename_glyph{#1}\noexpand\i-renameweight
+ }
+ }
+\endgroup
+\def\renameglyphweighted#1#2#3{
+ \eval_expr{#3}
+ \x_cs\edef{slots-#2}{\noexpand\rename_glyph{#1}{\the\result}}
+}
+\begingroup
+ \catcode`\-=11
+ \gdef\killglyph#1{
+ \x_cs\def{slots-#1}{\kill_glyph\i-killweight}
+ }
+\endgroup
+\def\killglyphweighted#1#2{
+ \eval_expr{#2}
+ \x_cs\edef{slots-#1}{\noexpand\kill_glyph{\the\result}}
+}
+\def\reglyphfont#1#2{
+ \fromany{#2}
+ \ifisstr{afm-name}\then
+ \reglyph_font{#1}{#2}
+ \else
+ \fontinsterror{Reglyph}{Could~not~find~font~metrics~for~#2.}
+ \error_help_a
+ \fi
+}
+\def\reglyph_font#1#2{{
+ \open_out{\temp_prefix#1.mtx}
+ \out_line{\percent_char~Filename:~#1.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\reglyphfont{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#1}{\string\frommtx{#2}}{\string\reglyphfont}
+ \iftrue
+ \out_line{}
+ \reglyph_redefinitions
+ \inputmtx{#2}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Reglyphed~metrics}
+}}
+\def\reglyph_redefinitions{
+ \let\setint=\reglyph_setint
+ \let\setdim=\reglyph_setdim
+ \let\setstr=\reglyph_setstr
+ \let\setscaledrawglyph=\reglyph_setscaledrawglyph
+ \let\setscalednotglyph=\reglyph_setscaledrawglyph
+ \let\setkern=\reglyph_setkern
+ \let\setglyph=\reglyph_setglyph
+ \let\glyphpcc=\reglyph_glyphpcc
+ \let\samesize=\reglyph_samesize
+ \let\endsetglyph=\reglyph_endsetglyph
+}
+\def\reglyph_setint#1#2{\out_line{\string\setint{#1}{#2}}}
+\def\reglyph_setdim#1#2{\out_line{\string\setdim{#1}{#2}}}
+\def\reglyph_setstr#1#2{\out_line{\string\setstr{#1}{#2}}}
+\newcount\command_survivance
+\def\rename_glyph#1{\def\glyphname{#1}\kill_glyph}
+\def\kill_glyph#1{\advance \command_survivance #1\x_relax}
+\def\reglyph_setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{
+ \ifnum #5<\z@
+ \string\setscalednotglyph
+ \else
+ \string\setscaledrawglyph
+ \fi
+ {\glyphname}{#2}{#3}{\number#4}{#5}{#6}{#7}{#8}{#9}
+ }
+ \fi
+}
+\def\reglyph_setkern#1#2#3{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \let\a_macro=\glyphname
+ \def\glyphname{#2}
+ \csname slots-#2\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{\string\setkern{\a_macro}{\glyphname}{#3}}
+ \fi
+}
+\def\reglyph_setglyph#1{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_line{\string\setglyph{\glyphname}}}
+ \a_toks=\expandafter{\a_macro}
+}
+\x_cs\def{off-\string\reglyph_setglyph}#1{\gobble_glyph}
+\def\reglyph_glyphpcc#1#2#3{
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_lline{
+ \string\glyphpcc{\glyphname}{#2}{#3}
+ }}
+ \a_toks=\expandafter{\the\expandafter\a_toks \a_macro}
+}
+\def\reglyph_samesize#1{
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_lline{
+ \string\samesize{\glyphname}
+ }}
+ \a_toks=\expandafter{\the\expandafter\a_toks \a_macro}
+}
+\def\reglyph_endsetglyph{
+ \iftokeep\command_survivance\then
+ \the\a_toks
+ \out_line{\string\endsetglyph}
+ \fi
+ \a_toks={}
+}
+%%% From file: filtfam.dtx
+\def\latinfamily#1#2{{
+ \edef\a_macro{#1}
+ \expandafter\parse_family\a_macro
+ \empty_command\empty_command\end_parse_family
+ \installfonts
+ \if_file_exists{\raw_encoding.mtx}\then
+ \installfamily{\raw_encoding}{\latex_family}{#2}
+ \fi
+ \installfamily{OT1}{\latex_family}{#2}
+ \installfamily{T1}{\latex_family}{#2}
+ \installfamily{TS1}{\latex_family}{#2}
+ \latin_weights
+ \endinstallfonts
+}}
+\def\parse_family #1#2#3#4#5\end_parse_family{
+ \gdef\font_family{#1#2#3}
+ \gdef\font_variant{#4#5}
+ \gdef\raw_variant{#4#5}
+ \gdef\latex_family{#1#2#3#4#5}
+ \_expert_false
+ \_oldstyle_false
+ \ifx#4x
+ \_expert_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1}
+ \else\ifx#4j
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else\ifx#49
+ \gdef\latex_family{#1#2#3j#5}
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else
+ \_expert_false
+ \_oldstyle_false
+ %\setcommand\digit##1{##1}
+ \fi\fi\fi
+ \if_oldstyle_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(oldstyle)}
+ \else\if_expert_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(expert)}
+ \else
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#4#5>}
+ \fi\fi
+}
+\newif\if_expert_
+\newif\if_oldstyle_
+\def\latin_weight#1#2{
+ \gdef\font_weight{#1}%
+ \gdef\latex_weight{#2}%
+ \latin_widths
+}
+\def\latin_width#1#2{
+ \gdef\font_width{#1}
+ \gdef\latex_width{#2}
+ \latin_shapes
+}
+\def\latin_shape#1#2#3#4#5{
+ \gdef\font_shape{#1}
+ \gdef\raw_shape{#2}
+ \gdef\encoding_shape{#3}
+ \if_oldstyle_
+ \gdef\encoding_shape{#3\oldstyle_shape}
+ \fi
+ \gdef\latex_shape{#4}
+ \gdef\encoding_switches{#5}
+ \immediate\write16{
+ INFO>~to~make~LaTeX~font~shape~<\latex_family,
+ \latex_weight,\latex_shape,\latex_width>~seek~
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx}
+ \csname fake_width_\font_width\endcsname
+ \csname fake_shape_\raw_shape\endcsname
+ \if_file_exists{
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx
+ }\then
+ \latin_encodings
+ \fi
+}
+\def\fake_shape_{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_raw_encoding
+ \fi
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.afm
+ }\then
+ \fake_shape_expert_encoding
+ \fi
+ \fi
+}
+\def\fake_shape_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width>
+ }
+ \transformfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \reencodefont{\raw_encoding}{
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+}
+\def\fake_shape_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width
+ }
+ \fi
+}
+\def\fake_shape_c{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ % If real smallcaps font doesn't exist, fake it from the roman.
+ \gdef\raw_shape{}
+ \if_oldstyle_
+ \gdef\encoding_shape{cj}
+ \else
+ \gdef\encoding_shape{c}
+ \fi
+ \fake_shape_
+ \fi
+}
+\def\fake_shape_o{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ \fake_shape_o_raw_encoding
+ \if_expert_
+ \fake_shape_o_expert_encoding
+ \fi
+ \fi
+}
+\def\fake_shape_o_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \raw_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_shape_o_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \expert_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\let\fake_shape_i\fake_shape_ % We must do this again!
+\newif\if_fake_narrow_
+\_fake_narrow_false
+\def\fakenarrow#1{
+ \_fake_narrow_true
+ \gdef\fake_narrow_width{#1}
+}
+\def\fake_width_{}
+\def\fake_width_c{}
+\def\fake_width_n{
+ \if_fake_narrow_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then % no action required
+ \else
+ \fake_width_n_raw_encoding
+ \if_expert_
+ \fake_width_n_expert_encoding
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\def\latin_encoding#1#2#3#4#5{
+ \gdef\latex_encoding{#4}
+ \gdef\latex_mtx{#5}
+ \if_oldstyle_
+ \gdef\font_encoding{#3}
+ \else\if_expert_
+ \gdef\font_encoding{#2}
+ \else
+ \gdef\font_encoding{#1}
+ \fi\fi
+ \gdef\expert_font{}
+ \gdef\oldstyle_font{}
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \gdef\expert_font{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width,
+ }
+ \fi
+ \fi
+ \immediate\write16{
+ INFO>~run~\string\installfont\space
+ <\font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx>
+ <\latex_encoding\encoding_shape>
+ <\latex_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installfont{
+ \font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width
+ }{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx
+ }{
+ \latex_encoding\encoding_shape
+ }{
+ \latex_encoding
+ }{
+ \latex_family
+ }{
+ \latex_weight\latex_width
+ }{
+ \latex_shape
+ }{}
+}
+\def\latin_weights{
+ \latin_weight{r}{m}
+ \latin_weight{k}{m}
+ \latin_weight{b}{b}
+ \latin_weight{s}{sb}
+ \latin_weight{d}{db} % was {d}{sb}, SPQR changed
+ \latin_weight{m}{mb} % was {m}{m}, UV changed
+ \latin_weight{c}{eb} % UV added
+ \latin_weight{h}{eb} % UV added
+ \latin_weight{x}{eb}
+ \latin_weight{u}{ub}
+ \latin_weight{l}{l}
+ %\latin_weight{j}{el}
+ %\latin_weight{a}{ul} % UV added
+}
+\def\latin_widths{
+ \latin_width{}{}
+ \latin_width{n}{c}
+ %latin_width{c}{c}
+ %latin_width{x}{x}
+}
+\def\latin_shapes{
+ \latin_shape{} {} {} {n} {\_textcomp_true }
+ \latin_shape{c}{c}{} {sc}{\_textcomp_false}
+ \latin_shape{o}{o}{} {sl}{\_textcomp_true }
+ \latin_shape{i}{i}{i}{it}{\_textcomp_true }
+}
+\def\latin_encodings{
+ \latin_encoding{7t}{9t}{9o}{OT1}{newlatin}
+ \latin_encoding{8t}{9e}{9d}{T1} {newlatin}
+ \encoding_switches
+ \if_textcomp_
+ \latin_encoding{8c}{9c}{9c}{TS1}{textcomp}
+ \fi
+}
+\newif\if_textcomp_
+
+\def\raw_encoding{8r}
+\def\adobe_encoding{8a}
+\def\expert_encoding{8x}
+
+\def\caps_shape{c}
+\def\oldstyle_shape{j}
+\def\SlantAmount{167}
+%%% From file: fimapgen.dtx
+\def\mapfrags_subsystem{Map~fragments~writer}
+\def\recordtransforms#1{\open_pout\transform_record_file{#1}}
+\def\endrecordtransforms{
+ \close_pout\transform_record_file{Font~transformation~records}
+}
+\chardef\transform_record_file=\closed_stream
+\let\storemapdata=\gobble_three
+\def\record_transform#1#2#3#4{
+ \ifnum \transform_record_file=\closed_stream \else
+ \pout_line\transform_record_file{\string\storemapdata{#1}{#2}{#3}}
+ \fi
+ #4 \out_line{\string\storemapdata{#1}{#2}{#3}} \fi
+}
+\def\record_usage#1{
+ \ifnum \transform_record_file=\closed_stream \else
+ \pout_line\transform_record_file{\string\makemapentry{#1}}
+ \fi
+}
+%%% From file: fibasics.dtx
+\def\needsfontinstversion#1{{
+ \a_dimen=#1pt
+ \b_dimen=\fontinstversion~pt\x_relax
+ \ifnum\a_dimen>\b_dimen
+ \immediate\write16{}
+ \immediate\write16{Warning:~This~file~needs~fontinst~version~#1.}
+ \immediate\write16{Warning:~You~are~using~version~
+ \fontinstversion.}
+ \immediate\write16{Warning:~This~may~cause~errors.}
+ \immediate\write16{}
+ \fi
+}}
+\if_file_exists{fontinst.rc}\then
+ \primitiveinput fontinst.rc
+\else
+ \immediate\write16{No~file~fontinst.rc.}
+\fi
+\normalcc
+\endinput
+%%
+%% End of file `fontinst.sty'.
diff --git a/Master/texmf-dist/tex/fontinst/base/trig.sty b/Master/texmf-dist/tex/fontinst/base/trig.sty
new file mode 100644
index 00000000000..ad856cdf070
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/base/trig.sty
@@ -0,0 +1,99 @@
+%%
+%% This is file `trig.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% trig.dtx (with options: `package')
+%%
+%% File: trig.dtx Copyright (C) 1993 1994 1995 1996 1997 1999 David Carlisle
+%%
+%% This file is part of the Standard LaTeX `Graphics Bundle'.
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{trig}
+ [1999/03/16 v1.09 sin cos tan (DPC)]
+\chardef\nin@ty=90
+\chardef\@clxx=180
+\chardef\@lxxi=71
+\mathchardef\@mmmmlxviii=4068
+\chardef\@coeffz=72
+\chardef\@coefb=42
+\mathchardef\@coefc=840
+\mathchardef\@coefd=5040
+{\catcode`t=12\catcode`p=12\gdef\noPT#1pt{#1}}
+\def\TG@rem@pt#1{\expandafter\noPT\the#1\space}
+\def\TG@term#1{%
+ \dimen@\@tempb\dimen@
+ \advance\dimen@ #1\p@}
+\def\TG@series{%
+ \dimen@\@lxxi\dimen@
+ \divide \dimen@ \@mmmmlxviii
+ \edef\@tempa{\TG@rem@pt\dimen@}%
+ \dimen@\@tempa\dimen@
+ \edef\@tempb{\TG@rem@pt\dimen@}%
+ \divide\dimen@\@coeffz
+ \advance\dimen@\m@ne\p@
+ \TG@term\@coefb
+ \TG@term{-\@coefc}%
+ \TG@term\@coefd
+ \dimen@\@tempa\dimen@
+ \divide\dimen@ \@coefd}
+\def\CalculateSin#1{{%
+ \expandafter\ifx\csname sin(\number#1)\endcsname\relax
+ \dimen@=#1\p@\TG@@sin
+ \expandafter\xdef\csname sin(\number#1)\endcsname
+ {\TG@rem@pt\dimen@}%
+ \fi}}
+\def\CalculateCos#1{{%
+ \expandafter\ifx\csname cos(\number#1)\endcsname\relax
+ \dimen@=\nin@ty\p@
+ \advance\dimen@-#1\p@
+ \TG@@sin
+ \expandafter\xdef\csname cos(\number#1)\endcsname
+ {\TG@rem@pt\dimen@}%
+ \fi}}
+\def\TG@reduce#1#2{%
+\dimen@#1#2\nin@ty\p@
+ \advance\dimen@#2-\@clxx\p@
+ \dimen@-\dimen@
+ \TG@@sin}
+\def\TG@@sin{%
+ \ifdim\TG@reduce>+%
+ \else\ifdim\TG@reduce<-%
+ \else\TG@series\fi\fi}%
+\def\UseSin#1{\csname sin(\number#1)\endcsname}
+\def\UseCos#1{\csname cos(\number#1)\endcsname}
+\chardef\z@num\z@
+\expandafter\let\csname sin(0)\endcsname\z@num
+\expandafter\let\csname cos(0)\endcsname\@ne
+\expandafter\let\csname sin(90)\endcsname\@ne
+\expandafter\let\csname cos(90)\endcsname\z@num
+\expandafter\let\csname sin(-90)\endcsname\m@ne
+\expandafter\let\csname cos(-90)\endcsname\z@num
+\expandafter\let\csname sin(180)\endcsname\z@num
+\expandafter\let\csname cos(180)\endcsname\m@ne
+\def\CalculateTan#1{{%
+ \expandafter\ifx\csname tan(\number#1)\endcsname\relax
+ \CalculateSin{#1}%
+ \CalculateCos{#1}%
+ \@tempdima\UseCos{#1}\p@
+ \divide\@tempdima\@iv
+ \@tempdimb\UseSin{#1}\p@
+ \@tempdimb\two@fourteen\@tempdimb
+ \divide\@tempdimb\@tempdima
+ \expandafter\xdef\csname tan(\number#1)\endcsname
+ {\TG@rem@pt\@tempdimb}%
+ \fi}}
+\def\UseTan#1{\csname tan(\number#1)\endcsname}
+\mathchardef\two@fourteen=16384
+\chardef\@iv=4
+\expandafter\def\csname tan(90)\endcsname{\errmessage{Infinite tan !}}
+\expandafter\let\csname tan(-90)\expandafter\endcsname
+ \csname tan(90)\endcsname
+\endinput
+%%
+%% End of file `trig.sty'.
diff --git a/Master/texmf-dist/tex/fontinst/base/xfntinst.sty b/Master/texmf-dist/tex/fontinst/base/xfntinst.sty
new file mode 100644
index 00000000000..c499ee37b4e
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/base/xfntinst.sty
@@ -0,0 +1,3584 @@
+%%
+%% This is file `xfntinst.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% fibasics.dtx (with options: `pkg')
+%% ficommon.dtx (with options: `pkg')
+%% fimain.dtx (with options: `pkg')
+%% ficonv.dtx (with options: `pkg')
+%% filtfam.dtx (with options: `pkg,textcomp,debug,oldstyle')
+%% fimapgen.dtx (with options: `pkg')
+%% fibasics.dtx (with options: `pkg2')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: fibasics.dtx
+\catcode`\{=1
+\catcode`\}=2
+\catcode`\#=6
+\catcode`\^=7
+\def\fontinstversion{1.927}
+\ifx\ProvidesPackage\undefined
+ \def\NeedsTeXFormat#1{}
+ \def\ProvidesPackage#1[#2]{}
+\fi
+\ProvidesPackage{fontinst}
+[2004/08/07 v\fontinstversion\space
+ fontinst installation package]
+\def\a_macro#1{\catcode\number`#1=\the\catcode`#1 }
+\edef\normalcc{%
+ \a_macro{\ }\a_macro{\^^M}\a_macro{\@}\a_macro{\_}\a_macro{\~}
+}
+\def\fontinstcc{%
+ \catcode`\ =9%
+ \catcode`\^^M=9%
+ \catcode`\@=11%
+ \catcode`\_=11%
+ \catcode`\~=10
+}
+\fontinstcc
+\ifx\@ne\undefined_command
+ \input fontinst.ini\relax
+\fi
+\ifx\bye\undefined_command
+ \def\supereject{\par\penalty-\@MM}
+ \outer\expandafter\def \csname bye\endcsname
+ {\par\vfill\supereject\@@end}
+\fi
+\newcount\a_count
+\newcount\b_count
+\newcount\c_count
+\newcount\d_count
+\newcount\e_count
+\newcount\f_count
+\newcount\g_count
+\newdimen\a_dimen
+\newdimen\b_dimen
+\newdimen\c_dimen
+\newdimen\d_dimen
+\newtoks\a_toks
+\newtoks\b_toks
+\newtoks\c_toks
+\newif\if_a_
+\newwrite\out_file
+\mathchardef\one_thousand=1000
+\mathchardef\five_hundred=500
+\mathchardef\one_hundred=100
+\mathchardef\max_mathchardef="7FFF
+\mathchardef\two_thousand=2000
+\newdimen\half_point \half_point=0.5pt
+\let\@tempdima\a_dimen
+\let\@tempdimb\b_dimen
+\input trig.sty
+\def\x_cs#1#2{\expandafter#1\csname#2\endcsname}
+\let\x_relax=\relax
+\def\g_let{\global\let}
+\def\empty_command{}
+\def\gobble_one#1{}
+\def\gobble_two#1#2{}
+\def\gobble_three#1#2#3{}
+\def\identity_one#1{#1}
+\def\first_of_two#1#2{#1}
+\def\second_of_two#1#2{#2}
+\def\swap_two#1#2{#2#1}
+\def\first_of_three#1#2#3{#1}
+\bgroup
+ \catcode`\[=1
+ \catcode`\]=2
+ \catcode`\#=12
+ \catcode`\%=12
+ \catcode`\{=12
+ \catcode`\}=12
+ \gdef\hash_char[#]
+ \gdef\percent_char[%]
+ \gdef\left_brace_char[{]
+ \gdef\right_brace_char[}]
+\egroup
+\def\first_char#1#2={#1}
+\def\add_to#1#2{
+ \ifx#1\x_relax
+ \def#1{#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{#1#2}
+ \fi
+}
+\def\prep_to#1#2{
+ \ifx#1\x_relax
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2}
+ \else
+ \expandafter\def\expandafter#1\expandafter{\expandafter#2#1}
+ \fi
+}
+\def\never_do{\noexpand\do}
+\newif\if_extensions_warning_
+\_extensions_warning_false
+\ifx \eTeXversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\eTeX#1{
+ \if_extensions_warning_
+ \space/\space e-TeX\space version\space #1
+~ \else
+~ \ifdim \number\eTeXversion\eTeXrevision\p@ < #1\p@ \else
+~ \_a_true
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\ifx \pdftexversion\undefined_command
+ \catcode`\~=14 % 14=comment
+\fi
+\def\pdfTeX#1#2{%
+ \if_extensions_warning_
+ \space/\space pdfTeX\space version\space
+ \ifnum #1<100\space
+ 0.\ifnum #1<10\space 0\fi
+ \else
+ \expandafter\swap_two \expandafter.
+ \fi
+ #1#2%
+~ \else
+~ \ifdim #1>\pdftexversion \else
+~ \ifnum \expandafter\expandafter \expandafter`
+~ \expandafter\first_char \pdftexrevision= <
+~ \expandafter` \first_char#2=
+~ \else \_a_true \fi
+~ \fi
+ \fi
+}
+\catcode`\~=10
+\def\needsTeXextension#1#2{
+ \_a_false
+ #1
+ \if_a_ \else
+ \_extensions_warning_true
+ \edef\a_macro{#1}
+ \_extensions_warning_false
+ \fontinstwarningnoline{#2}{
+ This~file~needs:\messagebreak
+ \expandafter\second_of_two\a_macro
+ \iffalse
+ <no~sufficient~extensions~were~listed!!>\if_false
+ \fi
+ \messagebreak
+ You~are~not~using~any~of~them.~This~is~likely~to~cause~errors
+ }
+ \fi
+}
+\def\open_out#1{
+ \immediate\openout\out_file=#1 \xdef\out_filename{#1}}
+\def\close_out#1{
+ \immediate\write16{#1~written~on~\out_filename.}
+ \immediate\closeout\out_file}
+\def\out_line#1{\immediate\write\out_file{#1}}
+\edef\out_lline#1{\noexpand\out_line{\space\space\space#1}}
+\edef\out_llline#1{
+ \noexpand\out_line{\space\space\space\space\space\space#1}
+}
+\def\TeX_terminal{\string\TeX\space terminal}
+\chardef\closed_stream=99
+\x_cs\let{out_filename-99}=\TeX_terminal
+\x_cs\def{out_filename--1}{\jobname.log}
+\def\allocate_stream{
+ \a_count=\m@ne
+ \b_count=\m@ne
+ \loop \ifnum \count17>\a_count
+ \advance \a_count \@ne
+ \x_cs\ifx{out_filename-\the\a_count}\TeX_terminal
+ \b_count=\a_count
+ \a_count=\count17
+ \fi
+ \repeat
+ \ifnum \b_count=\m@ne
+ \global\advance\count17by\@ne
+ \ifnum \count17<\sixt@@n
+ \b_count=\count17
+ \global\x_cs\let{out_filename-\the\b_count}\TeX_terminal
+ \wlog{\string\write\the\b_count\space allocated~to~the~pool.}
+ \else
+ \global\count17=\sixt@@n
+ \fi
+ \fi
+}
+\def\ch@ck#1#2#3{
+ \ifnum \count1#1<#2 \else
+ \errmessage{No~room~for~a~new~#3}
+ \global\count1#1=#2
+ \fi
+}
+\def\open_pout#1#2{
+ \allocate_stream
+ \ifnum \b_count=\m@ne
+ \immediate\write\sixt@@n{fontinst~is~out~of~output~streams.^^J
+ Output~file~#2~cannot~be~opened.^^J
+ Writes~will~be~redirected~to~the~log~file.
+ }
+ \gdef#1{\m@ne}
+ \else
+ \immediate\openout\b_count=#2\x_relax
+ \x_cs\xdef{out_filename-\the\b_count}{#2}
+ \global\chardef#1=\b_count
+ \fi
+}
+\def\close_pout#1#2{
+ \ifnum #1=\closed_stream
+ \errmessage{Output~file~\string#1~(#2)~not~closed,^^J
+ since~it~was~not~open}
+ \else
+ \immediate\write\sixt@@n{#2~written~on~
+ \csname out_filename-\the#1\endcsname.}
+ \ifnum #1=\m@ne \else
+ \immediate\closeout#1
+ \global\x_cs\let{out_filename-\the#1}=\TeX_terminal
+ \fi
+ \global\chardef#1=\closed_stream
+ \fi
+}
+\def\pout_line#1#2{\immediate\write#1{#2}}
+\edef\pout_lline#1#2{\noexpand\pout_line#1{\space\space\space#2}}
+\edef\pout_llline#1#2{
+ \noexpand\pout_line#1{\space\space\space\space\space\space#2}
+}
+\def\tempfileprefix#1{\def\temp_prefix{#1}}
+\tempfileprefix{}
+\let\then=\iffalse
+\def\if_false{\iffalse}
+\def\if_true{\iftrue}
+\_a_false\eTeX{2.0}
+\if_a_\else \catcode`\~=14\x_relax \fi
+~ \def\if_defined#1\then{
+~ \if
+~ \ifcsname#1\endcsname
+~ \expandafter\ifx \csname#1\endcsname \x_relax
+~ 0
+~ \else
+~ 1
+~ \fi
+~ \else
+~ 0
+~ \fi
+~ 1
+~ }
+~ \def\if_undefined{\expandafter\unless\if_defined}
+\catcode`\~=\if_a_ 14 \else 10 \fi \x_relax
+~ \def\if_defined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ \expandafter\if_false
+~ \else
+~ \expandafter\if_true
+~ \fi
+~ }
+~ \def\if_undefined#1\then{
+~ \expandafter\ifx \csname#1\endcsname\x_relax
+~ }
+\catcode`\~=10\x_relax
+\def\gobble_if{\iftrue\else}
+\def\if_or#1\or_else#2\then{
+ #1\then
+ \expandafter\if_true
+ \else
+ #2\then
+ \expandafter\expandafter\expandafter\if_true
+ \else
+ \expandafter\expandafter\expandafter\if_false
+ \fi
+ \fi
+}
+\def\if_equal#1\then{\ifx#1}
+\def\if_file_exists#1\then{
+ \immediate\openin1=#1\x_relax
+ \ifeof1\x_relax
+ \immediate\closein1
+ \expandafter\if_false
+ \else
+ \immediate\closein1
+ \expandafter\if_true
+ \fi
+}
+\let\Else=\else
+\let\Fi=\fi
+\x_cs\ifx{@@input}\x_relax
+ \let\primitiveinput=\input
+\else
+ \let\primitiveinput=\@@input
+\fi
+\def\process_csep_list#1#2,{
+ \ifx\process_csep_list#2
+ \expandafter\gobble_one
+ \else
+ \expandafter\identity_one
+ \fi{
+ #1{#2}
+ \process_csep_list{#1}
+ }
+}
+\def\make_factor#1{
+ \ifnum #1<\z@
+ -\expandafter\make_factor_i\expandafter{\number-#1}
+ \else
+ \expandafter\make_factor_i\expandafter{\number#1}
+ \fi
+}
+\def\make_factor_i#1{
+ \ifnum #1<\one_thousand
+ \make_factor_ii{#1}
+ \else
+ \make_factor_iii #1
+ \fi
+ #1
+}
+\def\make_factor_ii#1{
+ 0.
+ \ifnum #1<\one_hundred
+ 0
+ \ifnum #1<10~ 0\fi
+ \fi
+}
+\def\make_factor_iii#1#2#3\fi#4{
+ \fi
+ #4
+ \ifnum 1#3<\one_thousand
+ .
+ \else
+ \make_factor_iii#2#3
+ \fi
+}
+{
+ \catcode`\p=12
+ \catcode`\t=12
+ \gdef\lose_measure#1pt{#1}
+}
+\let\messagebreak\x_relax
+\def\generic_info#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\m@ne{#2\on_line.}
+ \endgroup
+}
+\def\generic_warning#1#2{
+ \begingroup
+ \def\messagebreak{^^J#1}
+ \immediate\write\closed_stream{^^J#2\on_line.^^J}
+ \endgroup
+}
+\def\generic_error#1#2#3#4{
+ \begingroup
+ \immediate\write\closed_stream{}
+ \def\messagebreak{^^J}
+ \edef\a_macro{{#4}}
+ \errhelp\a_macro
+ \def\messagebreak{^^J#1}
+ \errmessage{#2.^^J^^J#3
+ Type~\space H~<return>~\space for~immediate~help
+ }
+ \endgroup
+}
+\def\fontinsterror#1#2#3{
+ \generic_error{
+ \four_spaces\four_spaces
+ }{
+ #1~error:\messagebreak #2
+ }{
+ }{#3}
+}
+\def\fontinstwarning#1#2{
+ \generic_warning{
+ \four_spaces\four_spaces
+ }{
+ #1~warning:\messagebreak #2
+ }
+}
+\def\fontinstwarningnoline#1#2{
+ \fontinstwarning{#1}{#2\gobble_one}
+}
+\def\fontinstinfo#1#2{
+ \generic_info{
+ \four_spaces\four_spaces
+ }{
+ #1~info:\messagebreak #2
+ }
+}
+\def\on_line{~on~input~line~\the\inputlineno}
+\edef\four_spaces{\space\space\space\space}
+\gdef\error_help_a{
+ Your~command~was~ignored.\messagebreak
+ Type~\space I~<command>~<return>~\space to~replace~it~
+ with~another~command,\messagebreak
+ or~\space <return>~\space to~continue~without~it.}
+\gdef\error_help_c{
+ Try~typing~\space <return>~
+ \space to~proceed.\messagebreak
+ If~that~doesn't~work,~type~\space X~<return>~\space to~quit.}
+\gdef\error_help_d{
+ You're~in~trouble~here.~\space\error_help_c}
+\def\error_help_e#1{You~can~continue,~but~the~#1~wrong.}
+\newlinechar=`\^^J
+\errorcontextlines=999
+\tracinglostchars=1
+%%% From file: ficommon.dtx
+\def\str#1{\csname~s-#1\endcsname}
+\def\strint#1{\expandafter\identity_one\expandafter{\number\int{#1}}}
+\newcount\result
+\def\eval_expr#1{\global\result=#1\x_relax}
+\def\eval_expr_to#1#2{\eval_expr{#2}#1=\result}
+\def\g_eval_expr_to#1#2{\eval_expr{#2}\global#1=\result}
+\def\add#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\advance \result \a_count
+ \egroup
+}
+\def\sub#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \advance \a_count -\result
+ \global\result=\a_count
+ \egroup
+}
+\def\int#1{\csname i-#1 \endcsname}
+\def\neg#1{#1 \global\result=-\result}
+\def\mul#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \egroup
+}
+\def\div#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \divide \a_count \result
+ \global\result=\a_count
+ \egroup
+}
+\def\max#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count>\result \global\result=\a_count \fi
+ \egroup
+}
+\def\min#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \ifnum \a_count<\result \global\result=\a_count \fi
+ \egroup
+}
+\def\half#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\otherhalf#1{
+ #1\x_relax
+ \ifodd\result
+ \global\advance \result \@ne
+ \global\divide \result \tw@
+ \ifodd\result \else \global\advance \result \m@ne \fi
+ \else
+ \global\divide \result \tw@
+ \fi
+}
+\def\scale#1#2{
+ #1
+ \bgroup
+ \a_count=\result
+ \eval_expr{#2}
+ \global\multiply \result \a_count
+ \rounded_thousandths
+ \egroup
+}
+\def\rounded_thousandths{
+ \global\divide \result \five_hundred
+ \ifodd \result
+ \global\advance \result by \ifnum 0>\result - \fi 1
+ \fi
+ \global\divide \result \tw@
+}
+\def\l_rounded_thousandths#1{
+ \divide #1 \five_hundred
+ \ifodd #1
+ \advance #1 by \ifnum 0>#1 - \fi\@ne
+ \fi
+ \divide #1 \tw@
+}
+\def\l_inv_scale#1#2{
+ \multiply #1 \two_thousand
+ \divide #1 #2\x_relax
+ \ifodd#1 \advance #1 \ifnum 0>#1 - \fi\@ne \fi
+ \divide #1 \tw@
+}
+\def\ifnumber#1#2#3\then{
+ \eval_expr_to\a_count{#1}
+ \eval_expr{#3}
+ \ifnum \a_count#2\result
+ \expandafter\if_true
+ \else
+ \expandafter\if_false
+ \fi
+}
+
+\let\setsomething_global=\x_relax
+\def\x_setint#1#2{
+ \x_cs\ifx{i-#1}\x_relax
+ \x_resetint{#1}{#2}
+ \fi
+}
+\let\setint=\x_setint
+\def\x_setstr#1#2{
+ \x_cs\ifx{s-#1}\x_relax
+ \setsomething_global\x_cs\edef{s-#1}{#2}
+ \fi
+}
+\let\setstr=\x_setstr
+\def\setdim#1#2{
+ \x_cs\ifx{d-#1}\x_relax
+ \a_dimen=#2\x_relax
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+ \fi
+}
+\def\setcommand#1{
+ \ifx#1\undefined_command
+ \setsomething_global \expandafter\def \expandafter#1
+ \else
+ \expandafter\def \expandafter\a_macro
+ \fi
+}
+\def\x_resetint#1#2{
+ \eval_expr{#2}
+ \setsomething_global
+ \ifnum\result<\max_mathchardef
+ \ifnum 0>\result
+ \x_cs\edef{i-#1}{\the\result}
+ \else
+ \x_cs\mathchardef{i-#1}=\result
+ \fi
+ \else
+ \x_cs\edef{i-#1}{\the\result}
+ \fi
+}
+\let\resetint=\x_resetint
+\def\resetstr#1#2{\setsomething_global\x_cs\edef{s-#1}{#2}}
+\def\resetdim#1#2{
+ \a_dimen=#2
+ \setsomething_global\x_cs\edef{d-#1}{\the\a_dimen}
+}
+\def\resetcommand#1{\setsomething_global\def#1}
+\def\dim#1{\csname~d-#1\endcsname}
+\def\ifisint#1\then{\if_defined i-#1\then}
+\def\ifisstr#1\then{\if_defined s-#1\then}
+\def\ifisdim#1\then{\if_defined d-#1\then}
+\def\ifiscommand#1\then{
+ \ifx#1\undefined_command
+ \expandafter\if_false
+ \else
+ \expandafter\if_true
+ \fi
+}
+\def\unsetint#1{\setsomething_global\x_cs\let{i-#1}\x_relax}
+\def\unsetstr#1{\setsomething_global\x_cs\let{s-#1}\x_relax}
+\def\unsetdim#1{\setsomething_global\x_cs\let{d-#1}\x_relax}
+\def\unsetcommand#1{\setsomething_global\let#1=\undefined_command}
+\def\offcommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax
+ \setsomething_global\x_cs\let{saved-\string#1}#1
+ \x_cs\ifx{off-\string#1}\x_relax
+ \generate_off_command{#1}
+ \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname off-\string#1\endcsname
+ \fi
+ \fi
+}
+\def\oncommand#1{
+ \x_cs\ifx{saved-\string#1}\x_relax \else
+ \setsomething_global \expandafter\let \expandafter#1
+ \csname saved-\string#1\endcsname
+ \setsomething_global\x_cs\let{saved-\string#1}\x_relax
+ \fi
+}
+\def\generate_off_command#1{
+ \a_count=0
+ \let\next=\count_hashes
+ \expandafter\next\meaning#1~->\x_relax
+ \b_count=0
+ \a_toks={}
+ \loop \ifnum \b_count<\a_count
+ \advance \b_count 1
+ \a_toks=\expandafter{\the\expandafter\a_toks \expandafter####
+ \the\b_count}
+ \repeat
+ \setsomething_global \expandafter\def \expandafter#1 \the\a_toks {}
+}
+\def\count_hashes#1#2{
+ \if \hash_char#1
+ \advance \a_count 1
+ \else
+ \if -#1
+ \if >#2
+ \let\next=\gobble_to_xrelax
+ \fi\fi
+ \fi
+ \next#2
+}
+\def\gobble_to_xrelax#1\x_relax{}
+\def\for(#1)#2#3#4{
+ \eval_expr_to\a_count{#2}
+ \x_resetint{#1}{\a_count}
+ \eval_expr{#4}
+ \ifnum 0=\result \else
+ \c_count=\result
+ \eval_expr_to\b_count{#3}
+ \setsomething_global\x_cs\edef{for-#1}{
+ \the\c_count \x_relax
+ \noexpand\ifnum \gobble_one\fi
+ \the\b_count \ifnum 0>\c_count > \else < \fi
+ }
+ \def\next##1##2##3\endfor(#1){##2\for_i{##1}{##3}}
+ \next{#1}
+ \fi
+}
+\def\for_i#1#2{
+ \setsomething_global\x_cs\def{body-#1}{#2}
+ \ifnum \b_count \ifnum0>\c_count >\else<\fi \a_count
+ \expandafter\gobble_two
+ \else
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\for_ii#1{
+ \a_count=\int{#1}
+ \advance \a_count \csname for-#1\endcsname \a_count
+ \expandafter\gobble_two
+ \else
+ \x_resetint{#1}\a_count
+ \csname body-#1 \expandafter\endcsname
+ \fi
+ \for_ii{#1}
+}
+\def\endfor(#1){}
+\def\foreach(#1)#2{
+ \def\next##1\endfor(#1){
+ \setsomething_global\x_cs\def{body-#1}{##1}
+ \process_csep_list{\foreach_i{#1}}#2,\process_csep_list,
+ }
+ \next
+}
+\def\foreach_i#1#2{
+ \resetstr{#1}{#2}
+ \csname body-#1\endcsname
+}
+\let\comment=\gobble_one
+\let\begincomment=\iffalse
+\let\endcomment=\fi
+%%% From file: fimain.dtx
+\def\inputetx#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \slot_number=0
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\encoding=\fi
+ \primitiveinput \lowercase_file.etx\x_relax
+ \let\relax=\x_relax
+}
+\let\encoding=\relax
+\outer\def\endencoding{\endinput}
+\def\setslot#1{\edef\slot_name{#1}\do_slot}
+\def\endsetslot{\end_do_slot\advance\slot_number by 1\x_relax}
+\let\do_slot\empty_command
+\let\end_do_slot\empty_command
+\newcount\slot_number
+\def\nextslot#1{\eval_expr_to\slot_number{#1}}
+\def\skipslots#1{\eval_expr{#1} \advance\slot_number by \result}
+\def\setleftboundary#1{\edef\slot_name{#1}\do_boundary}
+\let\endsetleftboundary\x_relax
+\let\do_boundary\x_relax
+\def\setrightboundary#1{
+ \makerightboundary{#1}
+ \advance \slot_number 1\x_relax
+}
+\let\ligature=\gobble_three
+\def\Ligature{\ligature}
+\def\oddligature#1#2#3#4{}
+\let\nextlarger=\gobble_one
+\let\usedas=\gobble_two
+\let\makerightboundary=\gobble_one
+\let\Unicode=\gobble_two
+\let\varchar=\empty_command
+\let\vartop=\gobble_one
+\let\varmid=\gobble_one
+\let\varbot=\gobble_one
+\let\varrep=\gobble_one
+\let\endvarchar=\empty_command
+\let\useexamplefont=\gobble_one
+\let\slotexample=\empty_command
+\let\setslotcomment=\gobble_one
+\let\resetslotcomment=\gobble_one
+\let\unsetslotcomment=\empty_command
+\def\setfontdimen#1#2{
+ \ifisint{#2}\then \setint{fontdimen(#1)}{\int{#2}} \fi
+}
+\let\label=\gobble_one
+\newif\ifdirect \directtrue
+\def\input_mtx_as_etx#1{
+ \def\setscaledrawglyph##1##2##3##4##5##6##7##8##9{
+ \nextslot{##5}
+ \setslot{##1}\endsetslot
+ }
+ \offcommand\setscalednotglyph
+ \let\setglyph=\gobble_glyph
+ \offcommand\setkern
+ \inputmtx{#1}
+}
+\def\inputmtx#1{
+ \def\relax{\let\relax=\x_relax\iffalse}
+ \let\metrics=\fi
+ \primitiveinput #1.mtx\x_relax
+ \let\relax=\x_relax
+}
+\let\metrics=\x_relax
+\edef\endmetrics_text{\string\endmetrics}
+\outer\def\endmetrics{\endinput}
+\def\ProvidesMtxPackage#1{\x_cs\let{pack-#1}P}
+\def\usemtxpackage{\futurelet\next_token\test_UseMtxPkg_arguments}
+\def\test_UseMtxPkg_arguments{\ifx\next_token[
+ \expandafter\mtx_package_given_file
+ \else
+ \expandafter\mtx_package_separate_files
+ \fi
+}
+\def\mtx_package_given_file[#1]#2{
+ \_a_false
+ \process_csep_list\load_true_unless_loaded #2,\process_csep_list,
+ \if_a_ \inputmtx{#1} \fi
+}
+\def\load_true_unless_loaded#1{
+ \x_cs\ifx{pack-#1}P\else\_a_true\fi
+}
+\def\mtx_package_separate_files#1{
+ \process_csep_list\load_file_unless_loaded #1,\process_csep_list,
+}
+\def\load_file_unless_loaded#1{
+ \x_cs\ifx{pack-#1}P\else \inputmtx{#1} \fi
+}
+\let\glyph_name_modifier=\identity_one
+\def\setkern#1#2#3{
+ \x_cs\ifx{i-rawscale}\x_relax
+ \expandafter\set_kern
+ \csname~r-\glyph_name_modifier{#1}\expandafter\endcsname
+ \csname~l-\glyph_name_modifier{#2}\endcsname
+ {#3}
+ \else
+ \expandafter\set_kern
+ \csname~r-\glyph_name_modifier{#1}\expandafter\endcsname
+ \csname~l-\glyph_name_modifier{#2}\endcsname
+ {\scale{#3}{\int{rawscale}}}
+ \fi
+}
+\def\set_kern#1#2#3{
+ \eval_expr{#3}
+ \expandafter\set_kern_cs\csname\the\result\endcsname#1#2
+}
+\def\set_kern_cs#1#2#3{
+ \add_to#2{\k#3#1}
+ \add_to#3{\k#2#1}
+}
+\def\resetkern#1#2#3{
+ \x_cs\ifx{i-rawscale}\x_relax
+ \expandafter\reset_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{#3}
+ \else
+ \expandafter\reset_kern
+ \csname~r-#1\expandafter\endcsname
+ \csname~l-#2\endcsname{\scale{#3}{\int{rawscale}}}
+ \fi
+}
+\def\reset_kern#1#2#3{
+ \eval_expr{#3}
+ \expandafter\reset_kern_cs\csname\the\result\endcsname#1#2
+}
+\def\reset_kern_cs#1#2#3{
+ \prep_to#2{\k\expandafter#3\expandafter#1}
+ \prep_to#3{\k\expandafter#2\expandafter#1}
+}
+\def\setleftkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+}
+\def\setrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\setleftrightkerning#1#2#3{
+ \eval_expr_to\b_count{#3}
+ \expandafter\set_kerning
+ \csname~l-#1\expandafter\endcsname
+ \csname~l-#2\endcsname
+ \expandafter\set_kerning
+ \csname~r-#1\expandafter\endcsname
+ \csname~r-#2\endcsname
+}
+\def\set_kerning#1#2{
+ \if\b_count=\one_thousand
+ \def\k##1##2{
+ \set_kern_cs##2##1#1
+ }
+ \else
+ \def\k##1##2{
+ \set_kern##1#1{
+ \scale\b_count{\expandafter\gobble_one\string##2}
+ }
+ }
+ \fi
+ #2
+}
+\def\kerning#1#2{0\x_relax
+ \def\k##1{\csname~set-\string##1\endcsname\gobble_one}
+ \bgroup
+ \x_cs\def{set-\string\l-#2}##1##2{
+ \global\result=\expandafter\gobble_one\string##2\egroup
+ }
+ \csname~r-#1\endcsname
+ \csname~set-\string\l-#2\endcsname\gobble_one{00}
+}
+\def\ifiskern#1#2\then{
+ \def\k##1##2{\ifx T##1 \let\k\gobble_two \fi}
+ \bgroup
+ \x_cs\let{l-#2}T
+ \csname r-#1\endcsname
+ \expandafter\egroup \ifx\k\gobble_two
+}
+\def\unsetkerns#1#2{
+ \let\k\k_unless_to_U
+ \process_csep_list\make_slots_U#1,\process_csep_list,
+ \def\do##1{\x_cs\main_remove_Us{l-##1}}
+ \process_csep_list\do#2,\process_csep_list,
+ \process_csep_list\make_slots_relax#1,\process_csep_list,
+ \process_csep_list\make_slots_U#2,\process_csep_list,
+ \def\do##1{\x_cs\main_remove_Us{r-##1}}
+ \process_csep_list\do#1,\process_csep_list,
+ \process_csep_list\make_slots_relax#2,\process_csep_list,
+}
+\def\make_slots_U#1{\x_cs\let{slots-#1}U}
+\def\make_slots_relax#1{\x_cs\let{slots-#1}\x_relax}
+\def\k_unless_to_U#1#2{
+ \x_cs\ifx{slots-\expandafter\gobble_three\string#1}U \else
+ \noexpand\k\noexpand#1\noexpand#2
+ \fi
+}
+\def\main_remove_Us#1{
+ \ifx#1\x_relax \else
+ \edef#1{#1}
+ \ifx#1\empty_command \let#1\x_relax \fi
+ \fi
+}
+\def\noleftkerning#1{\no_kerning{l}{#1}}
+\def\norightkerning#1{\no_kerning{r}{#1}}
+\def\noleftrightkerning#1{\no_kerning{l}{#1}\no_kerning{r}{#1}}
+\def\no_kerning#1#2{
+ \let\k\no_kerning_i
+ \def\do##1{\csname #1-##1\endcsname}
+ \bgroup
+ \aftergroup\def \aftergroup\a_macro \aftergroup{
+ \process_csep_list\do #2,\process_csep_list,
+ \aftergroup}
+ \egroup
+ \def\do##1{\expandafter\let \csname #1-##1\endcsname \x_relax}
+ \process_csep_list\do #2,\process_csep_list,
+ \let\k\no_kerning_ii
+ \def\do##1{\edef##1{##1}}
+ \a_macro
+}
+\def\no_kerning_i#1#2{
+ \ifx #1\x_relax \else
+ \aftergroup\do \aftergroup#1
+ \let #1\x_relax
+ \fi
+}
+\def\no_kerning_ii#1#2{
+ \ifx #1\x_relax \else \noexpand\k \noexpand#1 \noexpand#2 \fi
+}
+\def\width{\glyph_parameter\first_of_six}
+\def\height{\glyph_parameter\second_of_six}
+\def\depth{\glyph_parameter\third_of_six}
+\def\italic{\glyph_parameter\fourth_of_six}
+\def\mapcommands{\glyph_parameter\fifth_of_six}
+\def\mapfonts{\glyph_parameter\sixth_of_six}
+\def\glyph_parameter#1#2{
+ \expandafter\expandafter\expandafter
+ #1\csname g-#2\endcsname
+}
+\def\first_of_six#1#2#3#4#5#6{#1}
+\def\second_of_six#1#2#3#4#5#6{#2}
+\def\third_of_six#1#2#3#4#5#6{#3}
+\def\fourth_of_six#1#2#3#4#5#6{#4}
+\def\fifth_of_six#1#2#3#4#5#6{#5}
+\def\sixth_of_six#1#2#3#4#5#6{#6}
+\def\glyph_metrics#1#2#3#4#5#6{
+ \a_count=#1
+ \b_count=#2
+ \c_count=#3
+ \d_count=#4~
+}
+\let\saved_scale\x_relax
+\let\saved_mapfont\x_relax
+\let\saved_raw\x_relax
+\let\saved_rule\x_relax
+\let\saved_special\x_relax
+\let\saved_warning\x_relax
+\let\saved_movert\x_relax
+\let\saved_moveup\x_relax
+\let\saved_push\x_relax
+\let\saved_pop\x_relax
+\newcount\glyph_width
+\newcount\glyph_height
+\newcount\glyph_depth
+\newcount\glyph_italic
+\newtoks\glyph_map_commands
+\newtoks\glyph_map_fonts
+\newcount\glyph_voffset
+\newcount\glyph_maxhpos
+\def\setglyph#1{
+ \ifisglyph{\glyph_name_modifier{#1}}\then
+ \expandafter\gobble_glyph
+ \else
+ \x_cs\def{g-\glyph_name_modifier{#1}}{
+ {\the\glyph_width}{\the\glyph_height}
+ {\the\glyph_depth}{\the\glyph_italic}
+ {\the\glyph_map_commands}{\the\glyph_map_fonts}
+ }
+ \resetglyph{\glyph_name_modifier{#1}}
+ \fi
+}
+\long\def\gobble_glyph#1\endsetglyph{}
+\def\resetglyph#1{
+ \edef\glyphname{#1}
+ \glyph_width=0
+ \global\glyph_height=0
+ \global\glyph_depth=0
+ \global\glyph_italic=0
+ \glyph_voffset=0
+ \global\glyph_maxhpos=0
+ \global\glyph_map_commands={}
+ \global\glyph_map_fonts={}
+}
+\def\endsetglyph{
+ \x_cs\edef{g-\glyphname}
+ {{\the\glyph_width}{\the\glyph_height}
+ {\the\glyph_depth}{\the\glyph_italic}
+ {\the\glyph_map_commands}{\the\glyph_map_fonts}}
+}
+\let\endresetglyph=\endsetglyph
+\def\setrawglyph#1#2#3{
+ \setscaledrawglyph{#1}{#2}{#3}\one_thousand
+}
+\def\setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \if_undefined{g-\glyph_name_modifier{#1}}\then
+ \eval_expr{#4}
+ \ifnum \result=\one_thousand
+ \let\a_macro\identity_one
+ \else
+ \edef\a_macro##1{\saved_scale{\the\result}{##1}}
+ \fi
+ \eval_expr_to\a_count{#6}
+ \eval_expr_to\b_count{#7}
+ \eval_expr_to\c_count{#8}
+ \eval_expr_to\d_count{#9}
+ \ifisint{rawscale}\then
+ \e_count=\int{rawscale}
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \edef\a_macro##1{\saved_scale{\the\e_count}{\a_macro{##1}}}
+ \fi
+ \x_cs\edef{g-\glyph_name_modifier{#1}}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\a_macro{\saved_raw{#2}{#5}{#1}}}
+ {\a_macro{\saved_mapfont{#2}{#3}}}
+ }
+ \fi
+}
+\def\setnotglyph#1#2#3{
+ \setscalednotglyph{#1}{#2}{#3}\one_thousand
+}
+\def\setscalednotglyph#1#2#3#4#5#6#7#8#9{
+ \if_undefined{g-\glyph_name_modifier{#1}-not}\then
+ \eval_expr_to\a_count{#6}
+ \eval_expr_to\b_count{#7}
+ \eval_expr_to\c_count{#8}
+ \eval_expr_to\d_count{#9}
+ \ifisint{rawscale}\then
+ \e_count=\int{rawscale}
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \fi
+ \x_cs\edef{g-\glyph_name_modifier{#1}-not}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {}{}
+ }
+ \fi
+}
+\def\unsetglyph#1{\x_cs\let{g-#1}\x_relax}
+\def\glyph#1#2{
+ \glyph_parameter\glyph_metrics{#1}
+ \eval_expr_to\e_count{#2}
+ \ifnum \e_count=\one_thousand
+ \edef\a_macro{\mapcommands{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \edef\a_macro{\mapfonts{#1}}
+ \else
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \edef\a_macro{\saved_scale{\the\e_count}{\mapcommands{#1}}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \edef\a_macro{\saved_scale{\the\e_count}{\mapfonts{#1}}}
+ \fi
+ \advance \glyph_width \a_count
+ \advance \b_count \glyph_voffset
+ \ifnum \glyph_height<\b_count \global\glyph_height=\b_count \fi
+ \advance \c_count -\glyph_voffset
+ \ifnum \glyph_depth<\c_count \global\glyph_depth=\c_count \fi
+ \global\glyph_italic=\d_count
+ \global\glyph_map_fonts\expandafter{
+ \the\expandafter\glyph_map_fonts \a_macro
+ }
+}
+\def\glyphrule#1#2{
+ \eval_expr_to\b_count{#1} \eval_expr_to\c_count{#2}
+ \advance\glyph_width by \b_count
+ \g_eval_expr_to\glyph_depth{\max\glyph_depth{-\glyph_voffset}}
+ \g_eval_expr_to\glyph_height{
+ \max\glyph_height{\add\glyph_voffset\c_count}
+ }
+ \global\glyph_italic=0
+ \edef\a_macro{\saved_rule{\the\b_count}{\the\c_count}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\glyphspecial#1{
+ \edef\a_macro{\saved_special{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\glyphwarning#1{
+ \edef\a_macro{\saved_warning{#1}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+}
+\def\movert#1{
+ \eval_expr{#1}
+ \ifnum \glyph_maxhpos<\glyph_width
+ \global\glyph_maxhpos\glyph_width
+ \fi
+ \ifnum 0=\result \else
+ \advance\glyph_width by \result
+ \edef\a_macro{\saved_movert{\the\result}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \fi
+}
+\def\moveup#1{
+ \eval_expr{#1}
+ \ifnum\result=0\else
+ \advance\glyph_voffset by \result
+ \edef\a_macro{\saved_moveup{\the\result}}
+ \global\glyph_map_commands\expandafter{
+ \the\expandafter\glyph_map_commands \a_macro
+ }
+ \fi
+}
+\def\push{
+ \bgroup
+ \global\glyph_map_commands\expandafter{
+ \the\glyph_map_commands \saved_push
+ }
+}
+\def\pop{
+ \ifnum \glyph_maxhpos<\glyph_width
+ \global\glyph_maxhpos\glyph_width
+ \fi
+ \egroup
+ \global\glyph_map_commands\expandafter{
+ \the\glyph_map_commands \saved_pop
+ }
+}
+\def\resetwidth#1{\movert{\sub{#1}\glyph_width}}
+\def\resetheight{\g_eval_expr_to\glyph_height}
+\def\resetdepth{\g_eval_expr_to\glyph_depth}
+\def\resetitalic{\g_eval_expr_to\glyph_italic}
+\def\glyphpcc#1#2#3{
+ \ifisglyph{\glyph_name_modifier{#1}}\then
+ \push
+ \movert{#2}
+ \moveup{#3}
+ \glyph{\glyph_name_modifier{#1}}{\one_thousand}
+ \pop
+ \else
+ \fontinsterror{\string\glyphpcc}{
+ Base~glyph~not~set.\messagebreak
+ This~could~be~a~sign~that~the~AFM~file~is~buggy
+ }\error_help_a
+ \fi
+}
+\def\glyphbboxright{\max\glyph_width\glyph_maxhpos}
+\def\samesize#1{
+ \if_undefined{g-\glyph_name_modifier{#1}}\then
+ \resetwidth{\glyphbboxright}
+ \else
+ \expandafter\expandafter\expandafter
+ \same_size\csname g-\glyph_name_modifier{#1}\endcsname
+ \fi
+}
+\def\same_size#1#2#3#4#5#6{
+ \movert{\sub{#1}\glyph_width}
+ \global\glyph_height=#2
+ \global\glyph_depth=#3
+ \global\glyph_italic=#4
+}
+\def\ifisglyph#1\then{\if_defined{g-#1}\then}
+\def\ifareglyphs#1\then{
+ \process_csep_list{\if_is_glyph}#1,\process_csep_list,
+ \if_true
+}
+\def\if_is_glyph#1{
+ \if_undefined{g-#1}\then \expandafter\if_false \fi
+}
+\def\etxtovpl#1#2{{
+ \def\vpl_extension{vpl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{virtual~font}
+ \def\vpl_Font{Virtual~font}
+ \def\vpl_call{\string\etxtovpl{#1}{#2}}
+ \def\vpl_to_vf##1{vptovf~##1.vpl~##1.vf~##1.tfm}
+ \a_toks={}
+ \process_csep_list\make_inputetx #1,\process_csep_list,
+ \expandafter\etx_to_font \expandafter{\the\a_toks}{#2}
+}}
+\def\etxtopl#1#2{{
+ \def\vpl_extension{pl}
+ \def\vpl_title{COMMENT}
+ \def\vpl_font{font}
+ \def\vpl_Font{Font}
+ \def\vpl_call{\string\etxtopl{#1}{#2}}
+ \def\vpl_to_vf##1{pltotf~##1.pl~##1.tfm}
+ \_including_map_false
+ \global\rawfont_scaling=-\p@
+ \a_toks={}
+ \process_csep_list\make_inputetx #1,\process_csep_list,
+ \expandafter\etx_to_font \expandafter{\the\a_toks}{#2}
+}}
+\newif\if_including_map_
+\_including_map_true
+\def\make_inputetx#1{
+ \def\a_macro{\noexpand\inputetx{\file_name}}
+ \get_file_name #1~{}~\par
+ \edef\a_macro{\a_macro}
+ \a_toks=\expandafter{ \the\expandafter\a_toks \a_macro}
+}
+\x_cs\def{IFKW-mtxasetx}{
+ \def\a_macro{\noexpand\input_mtx_as_etx{\file_name}}
+ \get_keyword
+}
+\def\etx_to_font#1#2{
+ \make_assignments{#1}
+ \open_out{#2.\vpl_extension}
+ \top_of_pl_hook
+ \out_line{(\vpl_title\space\vpl_font\space
+ #2~created~by~fontinst~v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.\vpl_extension)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\vpl_call)}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~a~\vpl_font\space
+ with)}
+ \out_line{(COMMENT~\vpl_to_vf{#2})}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \make_header{#1}
+ \if_including_map_ \make_mapfonts{#1} \fi
+ \make_fontdimens{#1}
+ \make_ligtable{#1}
+ \make_characters{#1}
+ \make_tidy{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.\vpl_extension)}
+ \close_out{\vpl_Font}
+}
+\let\pre_first_etx_pass_hook\x_relax
+\let\pre_second_etx_pass_hook\x_relax
+\let\pre_third_etx_pass_hook\x_relax
+\let\pre_fourth_etx_pass_hook\x_relax
+\let\post_first_etx_pass_hook\x_relax
+\let\post_second_etx_pass_hook\x_relax
+\let\post_third_etx_pass_hook\x_relax
+\let\post_fourth_etx_pass_hook\x_relax
+\let\tidying_up_hook\x_relax
+\let\top_of_pl_hook\x_relax
+\def\make_assignments#1{
+ \let\do_slot=\assign_slot
+ \let\end_do_slot=\end_assign_slot
+ \def\do_boundary{\bgroup
+ \let\makerightboundary=\bad_makerightboundary
+ }
+ \let\endsetleftboundary=\egroup
+ \let\makerightboundary=\assign_rboundary
+ \pre_first_etx_pass_hook
+ #1
+ \post_first_etx_pass_hook
+ \let\end_do_slot=\empty_command
+ \let\do_boundary=\x_relax
+ \let\endsetleftboundary=\x_relax
+ \let\makerightboundary=\gobble_one
+}
+\def\assign_slot{\a_toks={\do}}
+\begingroup
+ \catcode0=12
+ \gdef\end_assign_slot{
+ \ifisglyph\slot_name\then
+ \lccode0=\slot_number
+ \lowercase{
+ \expandafter\add_to
+ \csname slots-\slot_name\expandafter\endcsname
+ \expandafter{\the\a_toks^^@}
+ }
+ \fi
+ }
+ \gdef\assign_rboundary#1{
+ \lccode0=\slot_number
+ \lowercase{\x_cs\add_to{slots-#1}{\rboundary_do^^@}}
+ \x_setint{\percent_char boundarychar}\slot_number
+ \a_toks={\rbserver_do}
+ }
+\endgroup
+\def\bad_makerightboundary#1{
+ \errhelp={The~left~boundary~is~not~a~slot,~so~it~cannot~serve~
+ as~right~boundary.}
+ \errmessage{Incorrect~use~of~\string\makerightboundary}
+}
+\def\get_slot_num#1{
+ \global\result=-1
+ \bgroup
+ \def\do{\global\result=`}
+ \let\rbserver_do=\do
+ \let\rboundary_do=\gobble_one
+ \csname slots-#1\endcsname
+ \egroup
+}
+\def\ifisinslot#1#2\then{
+ \ifx \makerightboundary\gobble_one
+ \eval_expr{#2}
+ \begingroup
+ \def\do##1{\ifnum `##1=\result \let\do=\gobble_one \fi}
+ \def\rbserver_do{\do}
+ \let\rboundary_do=\gobble_one
+ \csname slots-#1\endcsname
+ \expandafter\endgroup
+ \ifx \do\gobble_one
+ \expandafter\expandafter \expandafter\if_true
+ \else
+ \expandafter\expandafter \expandafter\if_false
+ \fi
+ \else
+ \expandafter\gobble_if
+ \fi
+}
+\newdimen\mapfont_scaling
+\mapfont_scaling=1pt
+\newdimen\rawfont_scaling
+\def\vpl_real#1{R~\expandafter\lose_measure\the#1}
+\def\vpl_int#1{D~\the#1}
+\newdimen\side_bearings
+\newdimen\curr_bearings
+\def\make_header#1{
+ \global\font_count=0
+ \setdim{designsize}{10pt}
+ \a_dimen=\dim{designsize}
+ \out_line{(DESIGNSIZE~\vpl_real\a_dimen)}
+ \x_setstr{codingscheme}{UNKNOWN}
+ \out_line{(CODINGSCHEME~\str{codingscheme})}
+ \ifisint{\percent_char boundarychar}\then
+ \a_count=\int{\percent_char boundarychar}
+ \out_line{(BOUNDARYCHAR~\vpl_int\a_count)}
+ \fi
+ \x_setint{letterspacing}{0}
+ \side_bearings=\make_factor{\int{letterspacing}}\half_point
+ \x_setint{minimumkern}{0}
+ \minimum_kern=\int{minimumkern}
+ \out_line{}
+}
+\def\make_mapfonts#1{
+ \let\saved_scale\vpl_scale
+ \let\saved_mapfont\vpl_mapfont
+ \let\do_slot=\do_mapfont
+ \pre_second_etx_pass_hook
+ #1
+ \post_second_etx_pass_hook
+ \out_line{}
+}
+\def\do_mapfont{
+ \ifisglyph\slot_name\then
+ \mapfonts\slot_name
+ \fi
+}
+\def\vpl_scale#1#2{{
+ \mapfont_scaling=\make_factor{#1}\mapfont_scaling
+ #2
+}}
+\def\vpl_mapfont#1#2{
+ \a_dimen=#2
+ \if_undefined{\the\mapfont_scaling-#1}\then
+ \global\x_cs\mathchardef{\the\mapfont_scaling-#1}=\font_count
+ \x_cs\xdef{f-\the\font_count}{\the\mapfont_scaling-#1}
+ \out_line{(MAPFONT~\vpl_int\font_count\space
+ (FONTNAME~#1)~
+ (FONTDSIZE~\vpl_real\a_dimen)~
+ (FONTAT~\vpl_real\mapfont_scaling))}
+ \record_usage{#1}
+ \global\advance\font_count by 1
+ \fi
+}
+\def\pl_mapfont#1#2{\global\rawfont_scaling=\mapfont_scaling}
+\newcount\font_count
+\newcount\next_mapfont
+\newcount\prev_mapfont
+\def\make_fontdimens#1{
+ \out_line{(FONTDIMEN}
+ \a_count=1
+ \loop\ifnum 256>\a_count
+ \ifisint{fontdimen(\the\a_count)}\then
+ \out_lline{(PARAMETER~\vpl_int\a_count\space
+ R~\make_factor{\int{fontdimen(\the\a_count)}})}
+ \fi
+ \advance \a_count \@ne
+ \repeat
+ \out_lline{)}
+ \out_line{}
+}
+\def\make_ligtable#1{
+ \begingroup
+ \out_line{(LIGTABLE}
+ \let\do_slot=\bgroup
+ \let\end_do_slot=\vpl_kerning
+ \def\do_boundary{\bgroup \let\vpl_liglabel=\boundary_liglabel}
+ \let\endsetleftboundary=\vpl_kerning
+ \let\ligature=\vpl_ligature
+ \let\k=\vpl_kern
+ \let\rbserver_do=\vpl_rbserver_do
+ \let\rboundary_do=\vpl_rboundary_do
+ \pre_third_etx_pass_hook
+ #1
+ \post_third_etx_pass_hook
+ \out_lline{)}
+ \endgroup
+ \out_line{}
+}
+\def\vpl_rbserver_do#1{
+ \do{#1}
+ \let\rboundary_do=\wrn_rboundary_do
+}
+\def\vpl_rboundary_do#1{
+ \do{#1}
+ \let\rbserver_do=\wrn_rboundary_do
+}
+\def\wrn_rboundary_do#1{
+ \do{#1}
+ \immediate\write16{Boundarychar~slot~usage~collision~in~
+ `\slot_name'~ligkern~program.}
+}
+\def\vpl_ligature#1#2#3{
+ \get_slot_num{#3}
+ \ifnum -1=\result
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#3'.}
+ \else
+ \x_cs\ifx{slots-#2}\x_relax
+ \immediate\write16{Warning:~\string\ligature\space
+ for~unknown~slot~`#2'.}
+ \else
+ \def\do##1{
+ \vpl_liglabel
+ \out_lline{(#1~D~\number`##1~\space\vpl_int\result)~
+ (COMMENT~#2~#3)}
+ }
+ \csname slots-#2\endcsname
+ \fi
+ \fi
+}
+\def\vpl_kerning{
+ \let\do=\vpl_kern_do
+ \csname~r-\slot_name\endcsname
+ \vpl_ligstop
+ \egroup
+}
+\def\vpl_kern#1#2{
+ \edef\a_macro{\expandafter\gobble_three\string#1}
+ \a_count=\expandafter\gobble_one\string#2\x_relax
+ \ifnum \ifnum -\a_count>\a_count - \fi\a_count>\minimum_kern
+ \edef\b_macro{~R~\make_factor\a_count}
+ \csname slots-\a_macro\endcsname
+ \fi
+ \x_cs\let{slots-\a_macro}=\x_relax
+}
+\def\vpl_kern_do#1{
+ \vpl_liglabel
+ \out_lline{
+ (KRN~D~\number`#1~\b_macro)~
+ (COMMENT~\a_macro)
+ }
+}
+\def\out_liglabel{
+ \out_lline{(LABEL~\vpl_int\slot_number)~(COMMENT~\slot_name)}
+ \let\vpl_liglabel=\x_relax
+ \let\vpl_ligstop=\out_ligstop
+}
+\def\boundary_liglabel{
+ \out_lline{(LABEL~BOUNDARYCHAR)~(COMMENT~\slot_name)}
+ \let\vpl_liglabel=\x_relax
+ \let\vpl_ligstop=\out_ligstop
+}
+\let\vpl_liglabel=\out_liglabel
+\def\out_ligstop{\out_lline{(STOP)}
+ \let\vpl_liglabel=\out_liglabel
+ \let\vpl_ligstop=\x_relax}
+\let\vpl_ligstop=\x_relax
+\def\make_characters#1{
+ \bgroup
+ \let\do_slot=\do_character
+ \let\end_do_slot=\end_do_character
+ \let\nextlarger=\vpl_nextlarger
+ \let\varchar=\vpl_varchar
+ \let\endvarchar=\end_vpl_varchar
+ \let\vartop=\vpl_vartop
+ \let\varmid=\vpl_varmid
+ \let\varbot=\vpl_varbot
+ \let\varrep=\vpl_varrep
+ \if_including_map_
+ \let\saved_raw\vpl_raw
+ \let\saved_rule\vpl_rule
+ \let\saved_special\vpl_special
+ \let\saved_warning\vpl_warning
+ \let\saved_movert\vpl_movert
+ \let\saved_moveup\vpl_moveup
+ \let\saved_push\vpl_push
+ \let\saved_pop\vpl_pop
+ \else
+ \def\do_character_map{
+ \ifdim \rawfont_scaling=-\p@
+ \mapfonts\slot_name
+ \else
+ \let\do_character_map=\x_relax
+ \fi
+ }
+ \let\saved_mapfont\pl_mapfont
+ \let\saved_scale\vpl_scale
+ \fi
+ \pre_fourth_etx_pass_hook
+ #1
+ \post_fourth_etx_pass_hook
+ \egroup
+}
+\def\do_character{
+ \if_undefined{g-\slot_name}\then
+ \ifisint{requireglyphs}\then
+ \fontinstwarning{ETX~to~(V)PL}{
+ Undefined~glyph~`\slot_name'~requested\message_break
+ for~slot~\the\slot_number\message_number}
+ \fi
+ \expandafter\gobble_setslot
+ \else
+ \ifx\slot_name\notdef_name\else
+ \out_line{(CHARACTER~\vpl_int\slot_number\space
+ (COMMENT~\slot_name)}
+ \glyph_parameter\glyph_metrics\slot_name
+ \a_dimen=\make_factor\a_count \p@
+ \do_character_sidebearings
+ \out_lline{(CHARWD~\vpl_real\a_dimen)}
+ \ifnum \z@=\b_count \else
+ \out_lline{(CHARHT~R~\make_factor\b_count)}
+ \fi
+ \ifnum \z@=\c_count \else
+ \out_lline{(CHARDP~R~\make_factor\c_count)}
+ \fi
+ \ifnum \z@=\d_count \else
+ \out_lline{(CHARIC~R~\make_factor\d_count)}
+ \fi
+ \do_character_map
+ \fi
+ \fi
+}
+\def\do_character_sidebearings{
+ \ifisint{\slot_name-spacing}\then
+ \curr_bearings=\make_factor{\int{\slot_name-spacing}}\half_point
+ \else
+ \curr_bearings=\side_bearings
+ \fi
+ \advance\a_dimen by 2\curr_bearings
+}
+\def\do_character_map{
+ \global\prev_mapfont=0
+ \out_lline{(MAP}
+ \ifdim 0pt=\curr_bearings
+ \mapcommands\slot_name
+ \else
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \mapcommands\slot_name
+ \out_llline{(MOVERIGHT~\vpl_real\curr_bearings)}
+ \fi
+ \out_llline{)}
+}
+\long\def\gobble_setslot#1\endsetslot{\endsetslot}
+\def\end_do_character{
+ \ifisglyph\slot_name\then
+ \out_lline{)}
+ \fi
+}
+\def\notdef_name{.notdef}
+\def\vpl_nextlarger#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_lline{(NEXTLARGER~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\nextlarger\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varchar{\out_lline{(VARCHAR}}
+\def\end_vpl_varchar{\out_llline{)}}
+\def\vpl_vartop#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(TOP~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\vartop\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varmid#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(MID~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varmid\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varbot#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(BOT~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varbot\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_varrep#1{
+ \get_slot_num{#1}
+ \ifnum -1<\result
+ \out_llline{(REP~D~\the\result)~(COMMENT~#1)}
+ \else
+ \immediate\write16{Warning:~\string\varrep\space
+ for~unknown~slot~`#1'}
+ \fi
+}
+\def\vpl_raw#1#2#3{
+ \global\next_mapfont=\csname\the\mapfont_scaling-#1\endcsname
+ \ifnum \next_mapfont=\prev_mapfont \else
+ \out_llline{(SELECTFONT~\vpl_int\next_mapfont)~
+ (COMMENT~#1~at~
+ \expandafter\lose_measure \the\mapfont_scaling)}
+ \fi
+ \out_llline{(SETCHAR~D~#2)~(COMMENT~#3)}
+ \global\prev_mapfont=\next_mapfont
+}
+\def\vpl_rule#1#2{
+ \a_dimen=\make_factor{#2}\mapfont_scaling
+ \b_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(SETRULE~\vpl_real\a_dimen\space\vpl_real\b_dimen)}
+}
+\def\vpl_special#1{
+ \out_llline{(SPECIAL~#1)}}
+\def\vpl_warning#1{
+ \ifwarningspecials
+ \out_llline{(SPECIAL~Warning:~#1)}
+ \fi
+ \immediate\write16{Warning:~#1.}
+}
+\newif\ifwarningspecials
+\warningspecialstrue
+\def\vpl_movert#1{
+ \a_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(MOVERIGHT~\vpl_real\a_dimen)}
+}
+\def\vpl_moveup#1{
+ \a_dimen=\make_factor{#1}\mapfont_scaling
+ \out_llline{(MOVEUP~\vpl_real\a_dimen)}
+}
+\def\vpl_push{\out_llline{(PUSH)}}
+\def\vpl_pop{\out_llline{(POP)}}
+\def\make_tidy#1{
+ \tidying_up_hook
+ \if_including_map_
+ \a_count=0
+ \loop\ifnum \a_count<\font_count
+ \edef\a_macro{\csname~f-\the\a_count\endcsname}
+ \global\x_cs\let\a_macro\x_relax
+ \advance\a_count by 1
+ \repeat
+ \global\font_count=0
+ \else
+ \ifdim \rawfont_scaling<\z@
+ \fontinstwarning{ETX~to~(V)PL}{The~font~
+ \out_filename\space doesn't~contain~any~characters}
+ \global\rawfont_scaling=\p@
+ \fi
+ \ifdim \rawfont_scaling=\p@ \else
+ \out_line{(DESIGNUNITS~\vpl_real\rawfont_scaling)}
+ \fi
+ \fi
+}
+\newtoks\family_toks
+\def\installfonts{
+ \bgroup
+ \global\family_toks={}
+ \gdef\prev_file_list{}
+ \global\let\setsomething_global=\global
+}
+\def\installfamily#1#2#3{
+ \global\family_toks=
+ \expandafter{\the\family_toks\fd_family{#1}{#2}{#3}}
+ \global\x_cs\let{#1-#2}\empty_command
+}
+\def\installfont#1#2#3#4#5#6#7#8{
+ \global\let\setsomething_global=\x_relax
+ \input_metrics{}{#2}
+ \etxtovpl{#3}{#1}
+ \installfontas{#1}{#4}{#5}{#6}{#7}{#8}
+ \global\let\setsomething_global=\global
+}
+\def\installrawfont#1#2#3#4#5#6#7#8{
+ \global\let\setsomething_global=\x_relax
+ \xdef\out_filename{#1}
+ \input_metrics{\let\storemapdata=\installraw_storemap}{#2}
+ \let\storemapdata=\gobble_three
+ \etxtopl{#3}{#1}
+ \record_usage{#1}
+ \installfontas{
+ \ifdim \rawfont_scaling=\p@ \else
+ [\expandafter\lose_measure\the\rawfont_scaling]~
+ \fi #1
+ }{#4}{#5}{#6}{#7}{#8}
+ \global\let\setsomething_global=\global
+}
+\def\installraw_storemap#1#2#3{
+ \def\a_macro{#1}
+ \ifx \a_macro\out_filename \else
+ \record_transform{\out_filename}{\string\frommtx{#1}}{}\if_false
+ \fi
+}
+\def\input_metrics#1#2{
+ \let\metrics=\file_list_metrics
+ \xdef\curr_file_list{#2,}
+ \let\metrics=\x_relax
+ \ifx\prev_file_list\curr_file_list\else
+ \egroup\bgroup
+ #1
+ \expandafter\process_csep_list \expandafter\input_mtx_file
+ \curr_file_list\process_csep_list,
+ \global\let\prev_file_list=\curr_file_list
+ \fi
+}
+\def\file_list_metrics#1,{
+ \iffalse{\fi}
+ \a_toks=\expandafter{\curr_file_list\x_relax#1,}
+ \xdef\curr_file_list{\the\a_toks \iffalse}\fi
+}
+\def\installfontas#1#2#3#4#5#6{
+ \if_undefined{#2-#3-#4-#5}\then
+ \let\do_shape=\x_relax
+ \if_undefined{#2-#3}\then
+ \x_cs\let{#2-#3}\empty_command
+ \autoinstallfamily{#2}{#3}
+ \fi
+ \x_cs\xdef{#2-#3}{
+ \csname#2-#3\endcsname
+ \do_shape{#2}{#3}{#4}{#5}
+ }
+ \fi
+ \let\do_size=\x_relax
+ \x_cs\xdef{#2-#3-#4-#5}{
+ \if_defined{#2-#3-#4-#5}\then
+ \csname#2-#3-#4-#5\endcsname
+ \fi
+ \do_size{#6}{#1}
+ }
+}
+\def\autoinstallfamily#1#2{\installfamily{#1}{#2}{}}
+\def\endinstallfonts{
+ \global\let\setsomething_global=\x_relax
+ \let\do_shape=\fd_shape
+ \let\do_size=\fd_size
+ \the\family_toks
+ \global\family_toks{}
+ \egroup
+}
+\def\input_mtx_file#1{
+ \reset_modifiers_hook
+ \ifx\x_relax#1\x_relax
+ \else
+ \identity_one{\get_file_name #1~}~\par
+ \ifx \pl_encoding\empty_command
+ \fromany\file_name
+ \else
+ \metrics_given_encoding{\file_name}{\pl_encoding}
+ \fi
+ \ifisstr{afm-name}\then
+ \inputmtx{\str{afm-name}}
+ \else
+ \fontinsterror{\string\install...}{
+ Font/MTX~file~\file_name\space not found
+ }{
+ You~can~insert~an~\string\inputmtx\space command~here
+ \messagebreak to~input~some~other~MTX~file~instead.
+ \ifisint{rawscale}\then \messagebreak
+ The~requested~raw~scaling~will~then~be~applied~on~that.
+ \fi
+ }
+ \fi
+ \fi
+}
+\def\metrics_given_encoding#1#2{
+ \x_setstr{afm-name}{#1-#2}
+ \if_file_exists{#1.pl}\then
+ \generalpltomtx{#1}{#1-#2}{pl}{#2}
+ \else
+ \if_file_exists{#1.vpl}\then
+ \generalpltomtx{#1}{#1-#2}{vpl}{#2}
+ \else
+ \unsetstr{afm-name}
+ \fi\fi
+}
+\def\reset_modifiers_hook{
+ \unsetint{rawscale}
+ \let\glyph_name_modifier\identity_one
+ \let\pl_encoding\empty_command
+ \let\list_of_options\empty_command
+}
+\def\get_file_name #1~{
+ \edef\file_name{#1}
+ \get_keyword
+}
+\def\get_keyword #1~{
+ \if_defined{IFKW-#1}\then
+ \csname IFKW-#1 \expandafter\endcsname
+ \else
+ \fontinsterror{\string\install...}{
+ `#1'~is~not~a~defined~keyword
+ }{
+ \error_help_a\messagebreak
+ Extra~tokens~will~be~flushed.
+ }
+ \expandafter\gobble_keywords
+ \fi
+}
+\def\gobble_keywords#1\par{}
+\x_cs\let{IFKW-}=\gobble_keywords
+\x_cs\def{IFKW-scaled}#1~{
+ \ifnum #1=\one_thousand
+ \unsetint{rawscale}
+ \else
+ \x_resetint{rawscale}{#1}
+ \fi
+ \get_keyword
+}
+\x_cs\def{IFKW-suffix}#1~{
+ \def\glyph_name_modifier##1{##1#1}
+ \get_keyword
+}
+\x_cs\def{IFKW-encoding}#1~{
+ \def\pl_encoding{#1}
+ \get_keyword
+}
+\let\pl_encoding=\empty_command
+\x_cs\def{IFKW-option}#1~{
+ \add_to\list_of_options{\do{#1}}
+}
+\def\ifoption#1\then{
+ \_a_false
+ \edef\a_macro{#1}
+ \def\do##1{
+ \if_a_ \else
+ \def\b_macro{##1}
+ \ifx \a_macro\b_macro \_a_true \fi
+ \fi
+ }
+ \list_of_options
+ \if_a_
+}
+\let\list_of_options\empty_command
+\def\fd_family#1#2#3{
+ \a_toks{#3}
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1#2.fd}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~Filename:~\lowercase_file}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using~fontinst~v\fontinstversion}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~SHOULD~BE~PUT~IN~A~TEX~INPUTS~
+ DIRECTORY}
+ \out_line{}
+ \out_line{\string\ProvidesFile{\lowercase_file}}
+ \out_lline{[
+ \the\year/
+ \ifnum10>\month0\fi\the\month/
+ \ifnum10>\day0\fi\the\day\space
+ Fontinst~v\fontinstversion\space
+ font~definitions~for~#1/#2.
+ ]}
+ \out_line{}
+ \out_line{\string\DeclareFontFamily{#1}{#2}{\the\a_toks}}
+ {
+ \csname #1-#2\endcsname
+ \out_line{}
+ \let\do_shape=\substitute_shape
+ \csname #1-#2\endcsname
+ \let\do_shape=\remove_shape
+ \csname #1-#2\endcsname
+ }
+ \x_cs\g_let{#1-#2}\x_relax
+ \out_line{}
+ \out_line{\string\endinput}
+ \close_out{Font~definitions}
+}
+\def\fd_shape#1#2#3#4{
+ \out_line{}
+ \out_line{\string\DeclareFontShape{#1}{#2}{#3}{#4}\left_brace_char}
+ \csname #1-#2-#3-#4\endcsname
+ \x_cs\g_let{#1-#2-#3-#4}\empty_command
+ \out_line{\right_brace_char{}}
+}
+\def\fd_size#1#2{
+ \x_cs\ifx{siz-#1}\x_relax
+ \out_lline{#1~#2}
+ \else
+ \out_lline{\csname siz-#1\endcsname\space #2}
+ \fi
+}
+\def\remove_shape#1#2#3#4{
+ \x_cs\g_let{#1-#2-#3-#4}\x_relax
+}
+\def\substitute_shape#1#2#3#4{
+ \edef\orig_shape{#4}
+ \substitute_series{#1}{#2}{#3}{\orig_shape}
+ \x_cs\ifx{sub-\orig_shape}\x_relax\else
+ \edef\subst_shape{\csname sub-\orig_shape\endcsname}
+ \x_cs\ifx{#1-#2-#3-\subst_shape}\x_relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{#3}{\subst_shape}{
+ <->\csname typ-\orig_shape\endcsname\space
+ *~#2/#3/\orig_shape
+ }{}
+ }
+ \x_cs\let{#1-#2-#3-\subst_shape}\empty_command
+ \substitute_shape{#1}{#2}{#3}{\subst_shape}
+ \fi
+ \fi
+}
+\def\substitute_series#1#2#3#4{
+ \edef\orig_series{#3}
+ \x_cs\ifx{sub-\orig_series}\x_relax\else
+ \edef\subst_series{\csname sub-\orig_series\endcsname}
+ \x_cs\ifx{#1-#2-\subst_series-#4}\x_relax
+ \out_line{
+ \string\DeclareFontShape{#1}{#2}{\subst_series}{#4}{
+ <->\csname typ-\orig_series\endcsname\space
+ *~#2/\orig_series/#4
+ }{}
+ }
+ \x_cs\let{#1-#2-\subst_series-#4}\empty_command
+ \substitute_series{#1}{#2}{\subst_series}{#4}
+ \fi
+ \fi
+}
+\def\substitutesilent#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{ssub}
+}
+\def\substitutenoisy#1#2{
+ \x_cs\def{sub-#2}{#1}
+ \x_cs\def{typ-#2}{sub}
+}
+\substitutesilent{bx}{b}
+\substitutesilent{b}{bx}
+\substitutesilent{b}{sb}
+\substitutesilent{b}{db}
+\substitutesilent{m}{mb}
+\substitutesilent{m}{l}
+\substitutenoisy{ui}{it}
+\substitutesilent{sl}{it}
+\substitutesilent{it}{sl}
+\def\declareencoding#1#2{\x_cs\edef{enc-#1}{#2}}
+\declareencoding{TEX~TEXT}{ot1}
+\declareencoding{TEX~TEXT~WITHOUT~F-LIGATURES}{ot1}
+\declareencoding{TEX~TYPEWRITER~TEXT}{ot1tt}
+\declareencoding{TEX~MATH~ITALIC}{oml}
+\declareencoding{TEX~MATH~SYMBOLS}{oms}
+\declareencoding{TEX~MATH~EXTENSION}{omx}
+\declareencoding{LATEX~SYMBOLS}{lasy}
+\declareencoding{TEX~TEXT~SUBSET}{eufrak}
+\declareencoding{TEX~MATH~ITALIC~SUBSET}{eurm}
+\declareencoding{TEX~MATH~SYMBOLS~SUBSET}{euscr}
+\declareencoding{EULER~SUBSTITUTIONS~ONLY}{euex}
+\declareencoding{EXTENDED~TEX~FONT~ENCODING~-~LATIN}{t1}
+\declareencoding{TEX~TEXT~COMPANION~SYMBOLS~1---TS1}{ts1}
+\declareencoding{TEXBASE1ENCODING}{8r}
+\declareencoding{TEX~TYPEWRITER~AND~WINDOWS~ANSI}{8y}
+\def\declaresize#1#2{\x_cs\edef{siz-#1}{#2}}
+\declaresize{}{<->}
+\declaresize{5}{<5>}
+\declaresize{6}{<6>}
+\declaresize{7}{<7>}
+\declaresize{8}{<8>}
+\declaresize{9}{<9>}
+\declaresize{10}{<10>}
+\declaresize{11}{<10.95>}
+\declaresize{12}{<12>}
+\declaresize{14}{<14.4>}
+\declaresize{17}{<17.28>}
+\declaresize{20}{<20.74>}
+\declaresize{25}{<24.88>}
+\def\NOFILES{
+ \def\transformfont##1##2{
+ \touch_file{##1.mtx}
+ \touch_file{##1.pl}
+ }
+ \def\reglyphfont##1##2{\touch_file{##1.mtx}}
+ \def\installfonts{}
+ \def\endinstallfonts{}
+ \def\installfont##1##2##3##4##5##6##7##8{
+ \touch_file{##1.vpl}
+ }
+ \def\installrawfont##1##2##3##4##5##6##7##8{
+ \touch_file{##1.pl}
+ }
+ \def\installfamily##1##2##3{\touch_file{##1##2.fd}}
+}
+\def\touch_file#1{
+ \edef\lowercase_file{\lowercase{
+ \edef\noexpand\lowercase_file{#1}}}
+ \lowercase_file
+ \open_out{\lowercase_file}
+ \out_line{\percent_char~TEST~FILE.}
+ \out_line{\percent_char~Created~whilst~debugging~fontinst.}
+ \close_out{Test~file}
+}
+%%% From file: ficonv.dtx
+\def\afmtomtx#1#2{{
+ \let\setsomething_global=\x_relax
+ \open_out{\temp_prefix#2.mtx}
+ \edef\raw_font_name{#2}
+ \edef\source_font_name{#1}
+ \x_resetint{italicslant}{0}
+ \let\italcorr_expression=\uprightitalcorr
+ \x_setint{minimumkern}{0}
+ \minimum_kern=\int{minimumkern}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\afmtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.afm~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \catcode`\^^M=12
+ \catcode`\ =10
+ \expandafter\afm_line\primitiveinput #1.afm\x_relax
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Metrics}
+}}
+\newcount\minimum_kern
+\def\afm_length#1#2{
+ \a_dimen=#2\afm_unit_dimen
+ #1=\a_dimen
+ \divide #1 by \afm_unit_dimen
+ \advance \a_dimen by -#1\afm_unit_dimen
+ \ifdim \a_dimen>0.5\afm_unit_dimen
+ \advance #1 by 1
+ \else \ifdim \a_dimen<-0.5\afm_unit_dimen
+ \advance #1 by -1
+ \fi\fi
+ \x_relax
+}
+\newdimen\afm_unit_dimen
+\afm_unit_dimen=1000sp
+{\catcode`\^^M=12 \gdef\afm_line#1
+{\afm_command#1~\end_of_line\afm_line}}
+\def\afm_command#1~{\csname~afm-#1\endcsname\gobble_one_line}
+\def\gobble_one_line#1\end_of_line{}
+\x_cs\def{afm-EndFontMetrics}#1\afm_line{\endinput}
+\def\afm_def#1(#2)#3{\x_cs\def{afm-#1}
+ \gobble_one_line#2\end_of_line{#3}}
+\def\afm_let#1#2{
+ \expandafter\let \csname afm-#1\expandafter\endcsname
+ \csname afm-#2\endcsname
+}
+\afm_def{CharWidth}(#1){\afm_length\char_x_width{#1}}
+\afm_def{ItalicAngle}(#1~){\calculate_it_slant{#1}}
+\afm_def{XHeight}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{xheight}{\the\a_count}}}
+\afm_def{CapHeight}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{capheight}{\the\a_count}}}
+\afm_def{Ascender}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{ascender}{\the\a_count}}}
+\afm_def{Descender}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{descender_neg}{\the\a_count}}}
+\afm_def{UnderlineThickness}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{underlinethickness}{\the\a_count}}}
+\afm_def{FontBBox}(#1~#2~#3~#4){
+ \afm_length\a_count{#4}
+ \out_line{\string\setint{maxheight}{\the\a_count}}
+ \afm_length\a_count{#2}
+ \out_line{\string\setint{maxdepth_neg}{\the\a_count}}}
+\afm_def{StdVW}(#1){
+ \afm_length\a_count{#1}
+ \out_line{\string\setint{verticalstem}{\the\a_count}}}
+\afm_def{IsFixedPitch}(#1){
+ \if\first_char#1=f
+ \else\out_line{\string\setint{monowidth}{1}}
+ \fi
+}
+\afm_def{FontName}(#1~){
+ \record_transform{\raw_font_name}
+ {\string\fromafm{\source_font_name}{#1}}{}\iftrue
+}
+\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{#1}{#2}{\the\a_count}}
+ \else\ifnum \a_count<-\minimum_kern
+ \out_line{\string\setkern{#1}{#2}{\the\a_count}}
+ \fi\fi
+ \fi\fi
+}
+\afm_let{KPX}{KP}
+\afm_def{C}(#1~;#2){\init_afm{#1}\do_list[#2]\afm_char}
+\afm_let{CH}{C}
+\afm_def{CC}(#1~#2~;#3){\init_cc{#1}\do_list[#3]\cc_char}
+\newcount\char_slot
+\newcount\char_x_width
+\newcount\x_width
+\newcount\bbox_llx
+\newcount\bbox_lly
+\newcount\bbox_urx
+\newcount\bbox_ury
+\let\char_name=\empty_command
+\def\init_afm#1{
+ \char_slot=#1\x_relax
+ \x_width=\char_x_width
+ \bbox_llx=0
+ \bbox_lly=0
+ \bbox_urx=0
+ \bbox_ury=0
+ \let\char_name=\empty_command
+}
+\def\afm_char{
+ \a_count=-\bbox_lly
+ \eval_expr{
+ \italcorr_expression\x_width\bbox_llx\bbox_urx\bbox_lly\bbox_ury
+ }
+ \out_line{
+ \ifnum -1<\char_slot
+ \string\setrawglyph
+ \else
+ \string\setnotglyph
+ \fi
+ {\char_name}
+ {\raw_font_name}
+ {10pt}
+ {\the\char_slot}
+ {\the\x_width}
+ {\the\bbox_ury}
+ {\the\a_count}
+ {\the\result}
+ }
+}
+\def\init_cc#1{%
+ \out_line{\string\setglyph{#1}}
+ \def\char_name{#1}
+}
+\def\cc_char{%
+ \out_lline{\string\samesize{\char_name-not}}
+ \out_line{\string\endsetglyph}
+}
+\def\uprightitalcorr#1#2#3#4#5{0}
+\def\slanteditalcorr#1#2#3#4#5{\max{\sub{#3}{#1}}{0}}
+\def\calculate_it_slant#1{
+ \edef\theangle{#1}
+ \CalculateTan{\theangle}
+ \a_dimen=-\one_thousand sp
+ \a_dimen=\UseTan{\theangle}\a_dimen
+ \a_count=\a_dimen
+ \out_line{\string\setint{italicslant}{\the\a_count}}
+ \x_resetint{italicslant}{\a_count}
+ \ifnum 0<\a_count
+ \let\italcorr_expression=\slanteditalcorr
+ \else
+ \let\italcorr_expression=\uprightitalcorr
+ \fi
+}
+\def\do_list[~#1~#2;~#3]{
+ \csname~list-#1\endcsname\gobble_one_semi#2;
+ \ifx\x_relax#3\x_relax\expandafter\gobble_one
+ \else\expandafter\identity_one\fi
+ {\do_list[~#3]}
+}
+\def\gobble_one_semi#1;{}
+\def\list_def#1(#2)#3{\x_cs\def{list-#1}\gobble_one_semi#2~;{#3}}
+\list_def{W}(#1~#2){\afm_length\x_width{#1}}
+\list_def{WX}(#1){\afm_length\x_width{#1}}
+\list_def{WY}(#1){}
+\list_def{N}(#1){\def\char_name{#1}}
+\list_def{B}(#1~#2~#3~#4){
+ \afm_length\bbox_llx{#1}
+ \afm_length\bbox_lly{#2}
+ \afm_length\bbox_urx{#3}
+ \afm_length\bbox_ury{#4}
+}
+\list_def{PCC}(#1~#2~#3){
+ \afm_length\a_count{#2}
+ \afm_length\b_count{#3}
+ \out_lline{\string\glyphpcc{#1}{\the\a_count}{\the\b_count}}
+}
+\def\generalpltomtx#1#2#3#4{{
+ \let\setsomething_global=\x_relax
+ \let\setfontdimen=\pl_setfontdimen
+ \if _#4_ \else
+ \def\do_slot{\x_cs\let{name-\the\slot_number}\slot_name}
+ \def\do_boundary{\x_cs\let{name-BOUNDARYCHAR}\slot_name}
+ \inputetx{#4}
+ \let\CODINGSCHEME=\ignore_parens
+ \fi
+ \pl_to_mtx{#1}{#2}{#3}{\string\generalpltomtx{#1}{#2}{#3}{#4}}
+}}
+\def\pltomtx#1#2{\generalpltomtx{#1}{#2}{pl}{}}
+\def\pl_to_mtx#1#2#3#4{
+ \edef\raw_font_name{#1}
+ \open_out{\temp_prefix#2.mtx}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~#4}
+ \out_line{}
+ \out_line{\percent_char~This~file~contains~the~
+ information~of~#1.#3~in~a~form}
+ \out_line{\percent_char~more~easily~read~by~TeX.~
+ It~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \lowercase{
+ \record_transform{#2}{
+ \string\from#3 \x_cs\ifx{from#3}\frompl {#1} \fi
+ }{}\iftrue
+ }
+ \out_line{}
+ \catcode`\(=0 \catcode`\)=9
+ \let\/=\ignore_parens
+ \let\do_pl_glyph=\x_relax
+ \primitiveinput #1.#3\x_relax
+ \do_pl_glyph
+ \out_line{}
+ \ifisint{\percent_char boundarychar}\then
+ \f_count=\int{\percent_char boundarychar}
+ \x_cs\ifx{name-\the\f_count}\x_relax \else
+ \out_line{\string\setstr{rightboundary}
+ {\csname name-\the\f_count\endcsname}
+ }
+ \out_line{}
+ \fi
+ \fi
+ \out_line{\endmetrics_text}
+ \close_out{Metrics}
+}
+\def\ignore_parens{\bgroup\catcode`(=1 \catcode`)=2 \x_relax
+ \expandafter\expandafter\expandafter\gobble_parens
+ \iftrue\expandafter{\else}\fi}
+\def\gobble_parens#1{\egroup}
+\def\pl_real#1{\pl_realer(#1000)}
+\def\pl_realer(#1.#2#3#4#5){#1#2#3#4}
+\def\pl_rounded_real(#1.#2#3#4#5){
+ \global\result=#1#2#3#4\relax
+ \ifnum \first_char#5= >4
+ \global\advance \result
+ \if - \first_char#1= \m@ne \else \@ne \fi
+ \fi
+}
+\def\pl_int#1#2{
+ \ifx#1C `#2
+ \else\ifx#1D #2
+ \else\ifx#1O '#2
+ \else\ifx#1H "#2
+ \else -1\errmessage{Unknown~PL~number~prefix~`#1'}
+ \fi\fi\fi\fi
+}
+\let\FAMILY=\ignore_parens
+\let\FACE=\ignore_parens
+\let\CHECKSUM=\ignore_parens
+\def\HEADER~#1~#2~#3~#4~{}
+\def\SEVENBITSAFEFLAG~#1~{}
+\let\COMMENT=\ignore_parens
+\let\LIG=\ignore_parens
+\let\NEXTLARGER=\ignore_parens
+\let\VARCHAR=\ignore_parens
+\let\VTITLE=\ignore_parens
+\let\MAPFONT=\ignore_parens
+\let\MAP=\ignore_parens
+\def\CODINGSCHEME{\bgroup\catcode`\)=12\x_relax\CODINGSCHEME_cont}
+\def\CODINGSCHEME_cont#1){
+ \egroup
+ \if_undefined{enc-#1}\then
+ \errhelp{The~encoding~for~`#1'~has~not~been~declared.^^J
+ You~should~declare~it~with~
+ \string\declareencoding{#1}{ETXFILE}.^^J
+ Press~<RETURN>~to~carry~on~with~fingers~crossed,^^J
+ or~X~<RETURN>~to~exit.}
+ \errmessage{Undeclared~encoding~`#1'}
+ \else
+ \def\do_slot{\x_cs\let{name-\the\slot_number}\slot_name}
+ \def\do_boundary{\x_cs\let{name-BOUNDARYCHAR}\slot_name}
+ \catcode`\(=12 \catcode`\)=12
+ \x_cs\inputetx{enc-#1}\x_relax
+ \catcode`\(=0 \catcode`\)=9
+ \fi
+}
+\def\DESIGNSIZE~#1~#2~{
+ \a_dimen=#2pt
+ \out_line{\string\setdim{designsize}{\the\a_dimen}}
+}
+\def\DESIGNUNITS~#1~#2~{
+ \b_dimen=#2pt\x_relax
+ \ifdim 1pt=\b_dimen \else
+ \fontinsterror{PL-to-MTX}{Nondefault~unit~used~in~PL~file}
+ {You~may~continue,~but~the~metrics~for~this~font~will~be~wrong.}
+ \fi
+ \out_line{\string\setdim{designunits}{\the\b_dimen}}
+}
+\def\BOUNDARYCHAR~#1~#2~{
+ \x_setint{\percent_char boundarychar}{\pl_int{#1}{#2}}
+}
+\def\pl_setfontdimen#1#2{\x_cs\def{fdimen-#1}{#2}}
+\def\PARAMETER~#1~#2~R~#3~{
+ \f_count=\pl_int{#1}{#2}\x_relax
+ \if_defined{fdimen-\the\f_count}\then
+ \pl_rounded_real(#3 0000)
+ \out_line{\string\setint{\csname fdimen-\the\f_count\endcsname}
+ {\the\result}}
+ \fi
+}
+\let\FONTDIMEN=\x_relax
+\def\SLANT{\PARAMETER D~1~}
+\pl_setfontdimen{1}{italicslant}
+\def\SPACE{\PARAMETER D~2~}
+\pl_setfontdimen{2}{interword}
+\def\STRETCH{\PARAMETER D~3~}
+\pl_setfontdimen{3}{stretchword}
+\def\SHRINK{\PARAMETER D~4~}
+\pl_setfontdimen{4}{shrinkword}
+\def\XHEIGHT{\PARAMETER D~5~}
+\pl_setfontdimen{5}{xheight}
+\def\QUAD{\PARAMETER D~6~}
+\pl_setfontdimen{6}{quad}
+\def\EXTRASPACE{\PARAMETER D~7~}
+\pl_setfontdimen{7}{extraspace}
+\def\NUM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~8~#2~#3~
+ \or
+ \PARAMETER D~9~#2~#3~
+ \or
+ \PARAMETER D~10~#2~#3~
+ \fi
+}
+\def\DENOM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~11~#2~#3~
+ \or
+ \PARAMETER D~12~#2~#3~
+ \fi
+}
+\def\SUP#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~13~#2~#3~
+ \or
+ \PARAMETER D~14~#2~#3~
+ \or
+ \PARAMETER D~15~#2~#3~
+ \fi
+}
+\def\SUB#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~16~#2~#3~
+ \or
+ \PARAMETER D~17~#2~#3~
+ \fi
+}
+\def\SUPDROP{\PARAMETER D~18~}
+\def\SUBDROP{\PARAMETER D~19~}
+\def\AXISHEIGHT{\PARAMETER D~22~}
+\def\DELIM#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~20~#2~#3~
+ \or
+ \PARAMETER D~21~#2~#3~
+ \fi
+}
+\def\DEFAULTRULETHICKNESS{\PARAMETER D~8~}
+\def\BIGOPSPACING#1~#2~#3~{
+ \ifcase #1\or
+ \PARAMETER D~9~#2~#3~
+ \or
+ \PARAMETER D~10~#2~#3~
+ \or
+ \PARAMETER D~11~#2~#3~
+ \or
+ \PARAMETER D~12~#2~#3~
+ \or
+ \PARAMETER D~13~#2~#3~
+ \fi
+}
+\def\LABEL~#1{\ifx #1B
+ \expandafter\LABEL_boundarychar
+ \else
+ \expandafter\LABEL_slot \expandafter#1
+ \fi
+}
+\def\LABEL_slot #1~#2~{
+ \f_count=\pl_int{#1}{#2}
+ \edef\a_macro{\a_macro
+ \x_cs\do_if_defined{name-\the\f_count}
+ }
+}
+\def\LABEL_boundarychar OUNDARYCHAR{
+ \edef\a_macro{\a_macro
+ \x_cs\do_if_defined{name-BOUNDARYCHAR}
+ }
+}
+\def\do_if_defined#1{\ifx #1\x_relax \else \do{#1} \fi}
+\def\LIGTABLE{\let\do=\never_do\let\a_macro\empty_command}
+\def\STOP{\let\a_macro\empty_command}
+\def\SKIP~#1~#2~{\immediate\write16{Warning:~SKIP~instruction~ignored.}}
+\def\KRN~#1~#2~R~#3~{
+ \pl_rounded_real(#3 0000)
+ \edef\do{\noexpand\write_pl_krn{\pl_int{#1}{#2}}{\the\result}}
+ \a_macro
+ \let\do=\never_do
+}
+\def\write_pl_krn#1#2#3{
+ \f_count=#1\x_relax
+ \x_cs\ifx{name-\the\f_count}\x_relax \else
+ \out_line{\string\setkern{#3}
+ {\csname name-\the\f_count\endcsname}{#2}
+ }
+ \fi
+}
+\def\CHARWD~R~#1~{\pl_rounded_real(#1 0000) \b_count=\result}
+\def\CHARHT~R~#1~{\pl_rounded_real(#1 0000) \c_count=\result}
+\def\CHARDP~R~#1~{\pl_rounded_real(#1 0000) \d_count=\result}
+\def\CHARIC~R~#1~{\pl_rounded_real(#1 0000) \e_count=\result}
+\def\CHARACTER~#1~#2~{
+ \do_pl_glyph
+ \a_count=\pl_int{#1}{#2}
+ \b_count=0
+ \c_count=0
+ \d_count=0
+ \e_count=0
+ \let\do_pl_glyph=\write_pl_glyph
+}
+\def\write_pl_glyph{
+ \x_cs\ifx{name-\the\a_count}\x_relax\else
+ \out_line{\string\setrawglyph
+ {\csname~name-\the\a_count\endcsname}
+ {\raw_font_name}
+ {\the\a_dimen}
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ {\the\e_count}}
+ \fi
+ }
+\def\mtxtopl#1#2{{
+ \let\setsomething_global=\x_relax
+ \open_out{#2.pl}
+ \top_of_pl_hook
+ \out_line{(COMMENT~raw~font~#2~created~by~fontinst~
+ v\fontinstversion)}
+ \out_line{}
+ \out_line{(COMMENT~Filename:~#2.pl)}
+ \out_line{(COMMENT~Created~by:~tex~\jobname)}
+ \out_line{(COMMENT~Created~using:~\string\mtxtopl{#1}{#2})}
+ \out_line{}
+ \out_line{(COMMENT~This~file~can~be~turned~into~
+ a~ligless~TeX~font~with)}
+ \out_line{(COMMENT~pltotfm~#2.pl~#2.tfm)}
+ \out_line{}
+ \out_line{(COMMENT~THIS~FILE~CAN~THEN~BE~DELETED.)}
+ \out_line{}
+ \out_line{(DESIGNSIZE~R~10.0)}
+ \out_line{}
+ \let\setglyph=\iffalse
+ \let\endsetglyph=\fi
+ \let\setkern=\gobble_three
+ \let\setscaledrawglyph=\first_pl_raw_glyph
+ \def\setscalednotglyph##1##2##3##4##5##6##7##8##9{}
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{(COMMENT~END~OF~FILE~#2.pl)}
+ \close_out{Raw~font}
+}}
+\def\first_pl_raw_glyph#1#2#3#4{
+ \out_line{(DESIGNUNITS~R~\make_factor{#4})}
+ \let\setscaledrawglyph=\pl_raw_glyph
+ \pl_raw_glyph{#1}{#2}{#3}{#4}
+}
+\def\pl_raw_glyph#1#2#3#4#5#6#7#8#9{
+ \out_line{(CHARACTER~D~\number#5~\space(COMMENT~#1)}
+ \out_lline{(CHARWD~R~\make_factor{#6})}
+ \out_lline{(CHARHT~R~\make_factor{#7})}
+ \out_lline{(CHARDP~R~\make_factor{#8})}
+ \out_lline{(CHARIC~R~\make_factor{#9})}
+ \out_lline{)}
+}
+\def\transformfont#1#2{{
+ \let\setsomething_global=\x_relax
+ \unsetstr{afm-name}
+ \unsetstr{etx-name}
+ \x_resetint{x-scale}{\one_thousand}
+ \x_resetint{y-scale}{\one_thousand}
+ \x_resetint{slant-scale}{0}
+ #2
+ \ifisstr{afm-name}\then
+ \mtxtomtx{\str{afm-name}}{#1}
+ \mtxtopl{#1}{#1}
+ \else
+ \fontinsterror{Transformfont}{
+ Failed~to~make~transformed~font~#1;\messagebreak
+ source~font~metrics~file~not~found
+ }\error_help_a
+ \fi
+}}
+\def\fromafm#1{
+ \if_file_exists{#1.afm}\then
+ \x_setstr{afm-name}{#1}
+ \afmtomtx{#1}{#1}
+ \mtxtopl{#1}{#1}
+ \fi
+}
+\def\frommtx#1{
+ \if_file_exists{#1.mtx}\then \x_setstr{afm-name}{#1} \fi
+}
+\def\frompl#1{
+ \if_file_exists{#1.pl}\then
+ \x_setstr{afm-name}{#1}
+ \generalpltomtx{#1}{#1}{pl}{}
+ \fi
+}
+\def\fromplgivenetx#1#2{
+ \if_file_exists{#1.pl}\then
+ \x_setstr{afm-name}{#1}
+ \generalpltomtx{#1}{#1}{pl}{#2}
+ \fi
+}
+\def\fromany#1{
+ \x_cs\edef{s-afm-name}{#1}
+ \if_file_exists{#1.mtx}\then\else
+ \if_file_exists{#1.pl}\then
+ \generalpltomtx{#1}{#1}{pl}{}
+ \else
+ \if_file_exists{#1.afm}\then
+ \afmtomtx{#1}{#1}
+ \mtxtopl{#1}{#1}
+ \else
+ \if_file_exists{#1.vpl}\then
+ \generalpltomtx{#1}{#1}{vpl}{}
+ \else
+ \unsetstr{afm-name}
+ \fi\fi\fi\fi
+}
+\def\scalefont#1#2{
+ \eval_expr_to\d_count{#1}
+ \x_resetint{x-scale}{\scale{\d_count}{\int{x-scale}}}
+ \x_resetint{y-scale}{\scale{\d_count}{\int{y-scale}}}
+ \x_resetint{slant-scale}{\scale{\d_count}{\int{slant-scale}}}
+ #2
+}
+\def\xscalefont#1#2{
+ \x_resetint{x-scale}{\scale{#1}{\int{x-scale}}}
+ #2
+}
+\def\yscalefont#1#2{
+ \eval_expr_to\d_count{#1}
+ \x_resetint{y-scale}{\scale{\d_count}{\int{y-scale}}}
+ \x_resetint{slant-scale}{\scale{\d_count}{\int{slant-scale}}}
+ #2
+}
+\def\slantfont#1#2{
+ \x_resetint{slant-scale}{
+ \add{\scale{#1}{\int{x-scale}}}{\int{slant-scale}}
+ }
+ #2
+}
+\def\reencodefont#1#2{
+ #2
+ \resetstr{etx-name}{#1}
+}
+\def\mtxtomtx#1#2{{
+ \ifisstr{etx-name}\then
+ \def\do_slot{\x_cs\edef{slots-\slot_name}{\the\slot_number}}
+ \directfalse
+ \inputetx{\str{etx-name}}
+ \edef\a_macro{\string\reencodefont{\str{etx-name}}}
+ \else
+ \let\a_macro=\empty_command
+ \fi
+ \_a_true
+ \ifnum \int{x-scale}=\int{y-scale}
+ \ifnum \int{slant-scale}=\z@
+ \_a_false
+ \fi \fi
+ \if_a_
+ \a_count=\int{x-scale}
+ \l_inv_scale\a_count{\int{y-scale}}
+ \b_count=\int{slant-scale}
+ \l_inv_scale\b_count{\int{y-scale}}
+ \edef\a_macro{\a_macro
+ \string\transformfont{\the\a_count}{\the\b_count}
+ }
+ \fi
+ \open_out{\temp_prefix#2.mtx}
+ \edef\raw_font_name{#2}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\mtxtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#2}{\string\frommtx{#1}}{\a_macro}\iftrue
+ \out_line{}
+ \mtxtomtx_redefinitions
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Transformed~metrics}
+}}
+\def\mtxtomtx_redefinitions{
+ \let\setint=\mtxtomtx_setint
+ \let\setdim=\mtxtomtx_setdim
+ \let\setstr=\mtxtomtx_setstr
+ \let\setscaledrawglyph=\mtxtomtx_setscaledrawglyph
+ \let\setscalednotglyph=\mtxtomtx_setscaledrawglyph
+ \let\setkern=\mtxtomtx_setkern
+ \let\setglyph=\mtxtomtx_setglyph
+ \let\glyphpcc=\mtxtomtx_glyphpcc
+ \let\samesize=\mtxtomtx_samesize
+ \let\endsetglyph=\mtxtomtx_endsetglyph
+ \def\aliased{\string\aliased}
+}
+\let\aliased=\second_of_two
+\def\mtxtomtx_setint#1#2{
+ \def\a_macro{#1}
+ \ifx \a_macro\italicslant_name
+ \eval_expr{#2}
+ \global\multiply \result \int{x-scale}
+ \a_count=\int{slant-scale}
+ \multiply \a_count \one_thousand
+ \advance \a_count \result
+ \divide \a_count \int{y-scale}\x_relax
+ \else
+ \def\do##1{
+ \def\b_macro{##1}
+ \ifx \a_macro\b_macro \expandafter\if_false \fi
+ }
+ \gobble_one\iftrue \width_ints_list \if_true
+ \eval_expr_to\a_count{\scale{#2}{\int{y-scale}}}
+ \else
+ \eval_expr_to\a_count{\scale{#2}{\int{x-scale}}}
+ \fi
+ \fi
+ \out_line{\string\setint{#1}{\the\a_count}}
+}
+\def\italicslant_name{italicslant}
+\def\width_ints_list{
+ \do{interword}\do{stretchword}\do{shrinkword}\do{quad}
+ \do{extraspace}\do{digitwidth}\do{verticalstem}
+}
+\def\mtxtomtx_setdim#1#2{
+ \out_line{\string\setdim{#1}{#2}}
+}
+\def\mtxtomtx_setstr#1#2{
+ \out_line{\string\setstr{#1}{#2}}
+}
+\def\mtxtomtx_setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \eval_expr_to\a_count{\scale{#6}{\int{x-scale}}}
+ \eval_expr_to\b_count{\scale{#7}{\int{y-scale}}}
+ \eval_expr_to\c_count{\scale{#8}{\int{y-scale}}}
+ \eval_expr_to\d_count{#9} \eval_expr{#7}
+ \multiply \d_count \int{x-scale}
+ \global\multiply \result \int{slant-scale}
+ \global\advance \result \d_count
+ \rounded_thousandths
+ \d_count=\result
+ \eval_expr{\scale{#4}{\int{y-scale}}}
+ \ifisstr{etx-name}\then
+ \bgroup
+ \let\aliased=\first_of_two
+ \if_undefined{slots-#1}\then
+ \egroup \e_count=\m@ne
+ \else
+ \expandafter\egroup \expandafter\e_count
+ \csname slots-#1\endcsname
+ \fi
+ \else
+ \e_count=#5
+ \fi
+ \out_line{
+ \ifnum \e_count>\m@ne
+ \string\setscaledrawglyph
+ \else
+ \string\setscalednotglyph
+ \fi
+ {#1}{\raw_font_name}{#3}{\the\result}{\the\e_count}
+ {\the\a_count}{\the\b_count}{\the\c_count}{\the\d_count}
+ }
+}
+\def\mtxtomtx_setkern#1#2#3{
+ \eval_expr{\scale{\int{x-scale}}{#3}}
+ \out_line{\string\setkern{#1}{#2}{\the\result}}
+}
+\def\mtxtomtx_setglyph#1{\out_line{\string\setglyph{#1}}}
+\def\mtxtomtx_samesize#1{\out_lline{\string\samesize{#1}}}
+\def\mtxtomtx_endsetglyph{\out_line{\string\endsetglyph}}
+\def\mtxtomtx_glyphpcc#1#2#3{
+ \eval_expr_to\b_count{\scale{\int{y-scale}}{#3}}
+ \eval_expr_to\a_count{#2} \eval_expr{#3}
+ \multiply \a_count \int{x-scale}
+ \global\multiply \result \int{slant-scale}
+ \global\advance \result \a_count
+ \rounded_thousandths
+ \out_lline{\string\glyphpcc{#1}{\the\result}{\the\b_count}}
+}
+\def\reglyphfonts{
+ \begingroup
+ \let\setsomething_global=\x_relax
+ \x_setint{renameweight}{1}
+ \x_setint{killweight}{-10}
+ \setcommand\iftokeep##1\then{\ifnum -1<##1}
+}
+\def\endreglyphfonts{\endgroup}
+\def\offmtxcommand#1{
+ \x_cs\offcommand{reglyph_\expandafter\gobble_one\string#1}
+}
+\def\onmtxcommand#1{
+ \x_cs\oncommand{reglyph_\expandafter\gobble_one\string#1}
+}
+\begingroup
+ \catcode`\-=11
+ \gdef\renameglyph#1#2{
+ \x_cs\edef{slots-#2}{
+ \noexpand\rename_glyph{#1}\noexpand\i-renameweight
+ }
+ }
+\endgroup
+\def\renameglyphweighted#1#2#3{
+ \eval_expr{#3}
+ \x_cs\edef{slots-#2}{\noexpand\rename_glyph{#1}{\the\result}}
+}
+\begingroup
+ \catcode`\-=11
+ \gdef\killglyph#1{
+ \x_cs\def{slots-#1}{\kill_glyph\i-killweight}
+ }
+\endgroup
+\def\killglyphweighted#1#2{
+ \eval_expr{#2}
+ \x_cs\edef{slots-#1}{\noexpand\kill_glyph{\the\result}}
+}
+\def\reglyphfont#1#2{
+ \fromany{#2}
+ \ifisstr{afm-name}\then
+ \reglyph_font{#1}{#2}
+ \else
+ \fontinsterror{Reglyph}{Could~not~find~font~metrics~for~#2.}
+ \error_help_a
+ \fi
+}
+\def\reglyph_font#1#2{{
+ \open_out{\temp_prefix#1.mtx}
+ \out_line{\percent_char~Filename:~#1.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\reglyphfont{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#1}{\string\frommtx{#2}}{\string\reglyphfont}
+ \iftrue
+ \out_line{}
+ \reglyph_redefinitions
+ \inputmtx{#2}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Reglyphed~metrics}
+}}
+\def\reglyph_redefinitions{
+ \let\setint=\reglyph_setint
+ \let\setdim=\reglyph_setdim
+ \let\setstr=\reglyph_setstr
+ \let\setscaledrawglyph=\reglyph_setscaledrawglyph
+ \let\setscalednotglyph=\reglyph_setscaledrawglyph
+ \let\setkern=\reglyph_setkern
+ \let\setglyph=\reglyph_setglyph
+ \let\glyphpcc=\reglyph_glyphpcc
+ \let\samesize=\reglyph_samesize
+ \let\endsetglyph=\reglyph_endsetglyph
+}
+\def\reglyph_setint#1#2{\out_line{\string\setint{#1}{#2}}}
+\def\reglyph_setdim#1#2{\out_line{\string\setdim{#1}{#2}}}
+\def\reglyph_setstr#1#2{\out_line{\string\setstr{#1}{#2}}}
+\newcount\command_survivance
+\def\rename_glyph#1{\def\glyphname{#1}\kill_glyph}
+\def\kill_glyph#1{\advance \command_survivance #1\x_relax}
+\def\reglyph_setscaledrawglyph#1#2#3#4#5#6#7#8#9{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{
+ \ifnum #5<\z@
+ \string\setscalednotglyph
+ \else
+ \string\setscaledrawglyph
+ \fi
+ {\glyphname}{#2}{#3}{\number#4}{#5}{#6}{#7}{#8}{#9}
+ }
+ \fi
+}
+\def\reglyph_setkern#1#2#3{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \let\a_macro=\glyphname
+ \def\glyphname{#2}
+ \csname slots-#2\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{\string\setkern{\a_macro}{\glyphname}{#3}}
+ \fi
+}
+\def\reglyph_setglyph#1{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_line{\string\setglyph{\glyphname}}}
+ \a_toks=\expandafter{\a_macro}
+}
+\x_cs\def{off-\string\reglyph_setglyph}#1{\gobble_glyph}
+\def\reglyph_glyphpcc#1#2#3{
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_lline{
+ \string\glyphpcc{\glyphname}{#2}{#3}
+ }}
+ \a_toks=\expandafter{\the\expandafter\a_toks \a_macro}
+}
+\def\reglyph_samesize#1{
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \edef\a_macro{\noexpand\out_lline{
+ \string\samesize{\glyphname}
+ }}
+ \a_toks=\expandafter{\the\expandafter\a_toks \a_macro}
+}
+\def\reglyph_endsetglyph{
+ \iftokeep\command_survivance\then
+ \the\a_toks
+ \out_line{\string\endsetglyph}
+ \fi
+ \a_toks={}
+}
+%%% From file: filtfam.dtx
+\def\latinfamily#1#2{{
+ \edef\a_macro{#1}
+ \expandafter\parse_family\a_macro
+ \empty_command\empty_command\end_parse_family
+ \installfonts
+ \if_file_exists{\raw_encoding.mtx}\then
+ \installfamily{\raw_encoding}{\latex_family}{#2}
+ \fi
+ \installfamily{OT1}{\latex_family}{#2}
+ \installfamily{T1}{\latex_family}{#2}
+ \installfamily{TS1}{\latex_family}{#2}
+ \latin_weights
+ \endinstallfonts
+}}
+\def\parse_family #1#2#3#4#5\end_parse_family{
+ \gdef\font_family{#1#2#3}
+ \gdef\font_variant{#4#5}
+ \gdef\raw_variant{#4#5}
+ \gdef\latex_family{#1#2#3#4#5}
+ \_expert_false
+ \_oldstyle_false
+ \ifx#4x
+ \_expert_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1}
+ \else\ifx#4j
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else\ifx#49
+ \gdef\latex_family{#1#2#3j#5}
+ \_expert_true
+ \_oldstyle_true
+ \gdef\raw_variant{#5}
+ \gdef\font_variant{#5}
+ %\setcommand\digit##1{##1oldstyle}
+ \else
+ \_expert_false
+ \_oldstyle_false
+ %\setcommand\digit##1{##1}
+ \fi\fi\fi
+ \if_oldstyle_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(oldstyle)}
+ \else\if_expert_
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#5>~(expert)}
+ \else
+ \immediate\write16{INFO>~parse~family~<#1#2#3><#4#5>}
+ \fi\fi
+}
+\newif\if_expert_
+\newif\if_oldstyle_
+\def\latin_weight#1#2{
+ \gdef\font_weight{#1}%
+ \gdef\latex_weight{#2}%
+ \latin_widths
+}
+\def\latin_width#1#2{
+ \gdef\font_width{#1}
+ \gdef\latex_width{#2}
+ \latin_shapes
+}
+\def\latin_shape#1#2#3#4#5{
+ \gdef\font_shape{#1}
+ \gdef\raw_shape{#2}
+ \gdef\encoding_shape{#3}
+ \if_oldstyle_
+ \gdef\encoding_shape{#3\oldstyle_shape}
+ \fi
+ \gdef\latex_shape{#4}
+ \gdef\encoding_switches{#5}
+ \immediate\write16{
+ INFO>~to~make~LaTeX~font~shape~<\latex_family,
+ \latex_weight,\latex_shape,\latex_width>~seek~
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx}
+ \csname fake_width_\font_width\endcsname
+ \csname fake_shape_\raw_shape\endcsname
+ \if_file_exists{
+ \font_family\font_weight\raw_shape
+ \raw_variant\raw_encoding\font_width.mtx
+ }\then
+ \latin_encodings
+ \fi
+}
+\def\fake_shape_{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_raw_encoding
+ \fi
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.afm
+ }\then
+ \fake_shape_expert_encoding
+ \fi
+ \fi
+ \if_oldstyle_
+ \gdef\oldstyle_variant{\oldstyle_shape}
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\oldstyle_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_oldstyle_encoding
+ \else
+ \gdef\oldstyle_variant{\caps_shape}
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\oldstyle_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_oldstyle_encoding
+ \fi
+ \fi
+ \fi
+}
+\def\fake_shape_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width>
+ }
+ \transformfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \reencodefont{\raw_encoding}{
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+}
+\def\fake_shape_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \fromafm{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width
+ }
+ \fi
+}
+\def\fake_shape_oldstyle_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\oldstyle_variant
+ \adobe_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\raw_shape\oldstyle_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_shape\oldstyle_variant
+ \adobe_encoding\font_width>
+ }
+ \transformfont{
+ \font_family\font_weight\raw_shape\oldstyle_variant
+ \raw_encoding\font_width
+ }{
+ \reencodefont{\raw_encoding}{
+ \fromafm{
+ \font_family\font_weight\raw_shape\oldstyle_variant
+ \adobe_encoding\font_width
+ }
+ }
+ }
+ \fi
+}
+\def\fake_shape_c{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ % If real smallcaps font doesn't exist, fake it from the roman.
+ \gdef\raw_shape{}
+ \if_oldstyle_
+ \gdef\encoding_shape{cj}
+ \else
+ \gdef\encoding_shape{c}
+ \fi
+ \fake_shape_
+ \fi
+}
+\def\fake_shape_o{
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then
+ \fake_shape_
+ \else
+ \fake_shape_o_raw_encoding
+ \if_expert_
+ \fake_shape_o_expert_encoding
+ \fi
+ \if_oldstyle_
+ \fake_shape_o_oldstyle_encoding
+ \fi
+ \fi
+}
+\def\fake_shape_o_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \raw_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \raw_encoding\font_width
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_shape_o_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\raw_variant
+ \expert_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\raw_variant
+ \expert_encoding\font_width
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\def\fake_shape_o_oldstyle_encoding{
+ \if_file_exists{
+ \font_family\font_weight\oldstyle_variant
+ \raw_encoding\font_width.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\oldstyle_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\oldstyle_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\oldstyle_variant
+ \raw_encoding\font_width>~(faking~oblique)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~oblique~font~
+ \font_family\font_weight\font_shape\oldstyle_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\oldstyle_variant
+ \raw_encoding\font_width
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\oldstyle_variant
+ \raw_encoding\font_width
+ }{
+ \slantfont{\SlantAmount}{
+ \frommtx{
+ \font_family\font_weight\oldstyle_variant
+ \raw_encoding\font_width
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\let\fake_shape_i\fake_shape_ % We must do this again!
+\newif\if_fake_narrow_
+\_fake_narrow_false
+\def\fakenarrow#1{
+ \_fake_narrow_true
+ \gdef\fake_narrow_width{#1}
+}
+\def\fake_width_{}
+\def\fake_width_c{}
+\def\fake_width_n{
+ \if_fake_narrow_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \adobe_encoding\font_width.afm
+ }\then % no action required
+ \else
+ \fake_width_n_raw_encoding
+ \if_expert_
+ \fake_width_n_expert_encoding
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_raw_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding
+ }
+ }
+ }
+ \if_file_exists{ \raw_encoding.mtx }\then
+ \immediate\write16{
+ INFO>~run~\string\installrawfont\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width>
+ <\font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding>
+ <\raw_encoding>
+ <\raw_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installrawfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width
+ }{ \font_family\font_weight\font_shape\raw_variant
+ \raw_encoding\font_width,
+ \raw_encoding
+ }{ \raw_encoding
+ }{ \raw_encoding
+ }{ \latex_family
+ }{ \latex_weight\latex_width
+ }{ \latex_shape
+ }{}
+ \fi
+ \fi
+ \fi
+}
+\def\fake_width_n_expert_encoding{
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding.mtx
+ }\then
+ \if_file_exists{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then % no action required
+ \else
+ \immediate\write16{
+ INFO>~run~\string\transformfont\space\space
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width>~from~
+ <\font_family\font_weight\font_shape\raw_variant
+ \expert_encoding>~(faking~narrow)
+ }
+ %%% WARNING: famtool.pl relies on this message format!!!
+ \immediate\write16{
+ Faking~narrow~font~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ \space from~
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ \transformfont{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding\font_width
+ }{
+ \xscalefont{\fake_narrow_width}{
+ \frommtx{
+ \font_family\font_weight\font_shape\raw_variant
+ \expert_encoding
+ }
+ }
+ }
+ \fi
+ \fi
+}
+\def\latin_encoding#1#2#3#4#5{
+ \gdef\latex_encoding{#4}
+ \gdef\latex_mtx{#5}
+ \if_oldstyle_
+ \gdef\font_encoding{#3}
+ \else\if_expert_
+ \gdef\font_encoding{#2}
+ \else
+ \gdef\font_encoding{#1}
+ \fi\fi
+ \gdef\expert_font{}
+ \gdef\oldstyle_font{}
+ \if_expert_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width.mtx
+ }\then
+ \gdef\expert_font{
+ \font_family\font_weight\raw_shape\raw_variant
+ \expert_encoding\font_width,
+ }
+ \fi
+ \fi
+ \if_oldstyle_
+ \if_file_exists{
+ \font_family\font_weight\raw_shape\oldstyle_variant
+ \raw_variant\raw_encoding\font_width.mtx
+ }\then
+ \gdef\oldstyle_font{
+ unsetnum,
+ \font_family\font_weight\raw_shape\oldstyle_variant
+ \raw_variant\raw_encoding\font_width,
+ resetosf,
+ }
+ \fi
+ \fi
+ \immediate\write16{
+ INFO>~run~\string\installfont\space
+ <\font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width>
+ <\font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx>
+ <\latex_encoding\encoding_shape>
+ <\latex_encoding>
+ <\latex_family>
+ <\latex_weight\latex_width>
+ <\latex_shape>}
+ \installfont{
+ \font_family\font_weight\font_shape\font_variant
+ \font_encoding\font_width
+ }{
+ \font_family\font_weight\raw_shape\raw_variant
+ \raw_encoding\font_width,
+ \if_oldstyle_
+ \ifx\raw_shape\caps_shape
+ resetosf,
+ \fi
+ \fi
+ \expert_font
+ \oldstyle_font
+ \latex_mtx
+ }{
+ \latex_encoding\encoding_shape
+ }{
+ \latex_encoding
+ }{
+ \latex_family
+ }{
+ \latex_weight\latex_width
+ }{
+ \latex_shape
+ }{}
+}
+\def\latin_weights{
+ \latin_weight{r}{m}
+ \latin_weight{k}{m}
+ \latin_weight{b}{b}
+ \latin_weight{s}{sb}
+ \latin_weight{d}{db} % was {d}{sb}, SPQR changed
+ \latin_weight{m}{mb} % was {m}{m}, UV changed
+ \latin_weight{c}{eb} % UV added
+ \latin_weight{h}{eb} % UV added
+ \latin_weight{x}{eb}
+ \latin_weight{u}{ub}
+ \latin_weight{l}{l}
+ %\latin_weight{j}{el}
+ %\latin_weight{a}{ul} % UV added
+}
+\def\latin_widths{
+ \latin_width{}{}
+ \latin_width{n}{c}
+ %latin_width{c}{c}
+ %latin_width{x}{x}
+}
+\def\latin_shapes{
+ \latin_shape{} {} {} {n} {\_textcomp_true }
+ \latin_shape{c}{c}{} {sc}{\_textcomp_false}
+ \latin_shape{o}{o}{} {sl}{\_textcomp_true }
+ \latin_shape{i}{i}{i}{it}{\_textcomp_true }
+}
+\def\latin_encodings{
+ \latin_encoding{7t}{9t}{9o}{OT1}{newlatin}
+ \latin_encoding{8t}{9e}{9d}{T1} {newlatin}
+ \encoding_switches
+ \if_textcomp_
+ \latin_encoding{8c}{9c}{9c}{TS1}{textcomp}
+ \fi
+}
+\newif\if_textcomp_
+
+\def\raw_encoding{8r}
+\def\adobe_encoding{8a}
+\def\expert_encoding{8x}
+
+\def\caps_shape{c}
+\def\oldstyle_shape{j}
+\def\SlantAmount{167}
+%%% From file: fimapgen.dtx
+\def\mapfrags_subsystem{Map~fragments~writer}
+\def\recordtransforms#1{\open_pout\transform_record_file{#1}}
+\def\endrecordtransforms{
+ \close_pout\transform_record_file{Font~transformation~records}
+}
+\chardef\transform_record_file=\closed_stream
+\let\storemapdata=\gobble_three
+\def\record_transform#1#2#3#4{
+ \ifnum \transform_record_file=\closed_stream \else
+ \pout_line\transform_record_file{\string\storemapdata{#1}{#2}{#3}}
+ \fi
+ #4 \out_line{\string\storemapdata{#1}{#2}{#3}} \fi
+}
+\def\record_usage#1{
+ \ifnum \transform_record_file=\closed_stream \else
+ \pout_line\transform_record_file{\string\makemapentry{#1}}
+ \fi
+}
+%%% From file: fibasics.dtx
+\def\needsfontinstversion#1{{
+ \a_dimen=#1pt
+ \b_dimen=\fontinstversion~pt\x_relax
+ \ifnum\a_dimen>\b_dimen
+ \immediate\write16{}
+ \immediate\write16{Warning:~This~file~needs~fontinst~version~#1.}
+ \immediate\write16{Warning:~You~are~using~version~
+ \fontinstversion.}
+ \immediate\write16{Warning:~This~may~cause~errors.}
+ \immediate\write16{}
+ \fi
+}}
+\if_file_exists{fontinst.rc}\then
+ \primitiveinput fontinst.rc
+\else
+ \immediate\write16{No~file~fontinst.rc.}
+\fi
+\normalcc
+\endinput
+%%
+%% End of file `xfntinst.sty'.
diff --git a/Master/texmf-dist/tex/fontinst/cyrfinst/6r.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/6r.etx
new file mode 100644
index 00000000000..875e0b825b9
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/README b/Master/texmf-dist/tex/fontinst/cyrfinst/README
new file mode 100644
index 00000000000..e5214358b39
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/cyrillic.mtx b/Master/texmf-dist/tex/fontinst/cyrfinst/cyrillic.mtx
new file mode 100644
index 00000000000..3a7dd11a433
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyc.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyc.etx
new file mode 100644
index 00000000000..62a85186c92
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyci.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyci.etx
new file mode 100644
index 00000000000..9679f33bb7f
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycij.etx
new file mode 100644
index 00000000000..2d4e2e2a6a7
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcycj.etx
new file mode 100644
index 00000000000..853fe71833c
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyctt.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyctt.etx
new file mode 100644
index 00000000000..d20f92a6361
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyi.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyi.etx
new file mode 100644
index 00000000000..d591b32b01e
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyij.etx
new file mode 100644
index 00000000000..b501311133d
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyitt.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyitt.etx
new file mode 100644
index 00000000000..bd16d5125ba
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcyj.etx
new file mode 100644
index 00000000000..f20187b3b24
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcytt.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/lcytt.etx
new file mode 100644
index 00000000000..4b476fb3d47
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2c.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2c.etx
new file mode 100644
index 00000000000..7b18d90746d
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2cj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2cj.etx
new file mode 100644
index 00000000000..9f0d9a38b6c
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2i.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2i.etx
new file mode 100644
index 00000000000..8473e9a767f
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2ij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2ij.etx
new file mode 100644
index 00000000000..a635ea1cfe4
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2j.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/ot2j.etx
new file mode 100644
index 00000000000..bf5793c26aa
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ac.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ac.etx
new file mode 100644
index 00000000000..89940040f01
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2acj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2acj.etx
new file mode 100644
index 00000000000..f5964e92e2b
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ai.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ai.etx
new file mode 100644
index 00000000000..f615e2ebf23
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aij.etx
new file mode 100644
index 00000000000..aff193d9424
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2aj.etx
new file mode 100644
index 00000000000..67d5813bc44
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bc.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bc.etx
new file mode 100644
index 00000000000..6e48e3eadbe
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bcj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bcj.etx
new file mode 100644
index 00000000000..c9a0cbba825
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bi.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bi.etx
new file mode 100644
index 00000000000..27f2f3fc9a4
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bij.etx
new file mode 100644
index 00000000000..d6bf83fd55a
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2bj.etx
new file mode 100644
index 00000000000..0a242585eb5
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cc.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cc.etx
new file mode 100644
index 00000000000..92ec06376de
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ccj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ccj.etx
new file mode 100644
index 00000000000..95192940307
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ci.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2ci.etx
new file mode 100644
index 00000000000..323d6db8337
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cij.etx
new file mode 100644
index 00000000000..050ff110f0e
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/t2cj.etx
new file mode 100644
index 00000000000..5c8955a6588
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2c.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2c.etx
new file mode 100644
index 00000000000..1ee91450176
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2cj.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2cj.etx
new file mode 100644
index 00000000000..fa88c0b71e4
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2i.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2i.etx
new file mode 100644
index 00000000000..e85eab97694
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2ij.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2ij.etx
new file mode 100644
index 00000000000..06e8caa0fce
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2j.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/derivatives/x2j.etx
new file mode 100644
index 00000000000..00ece78d31b
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-cmc.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-cmc.tex
new file mode 100644
index 00000000000..656cff9ea7d
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-wncy.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/alias-wncy.tex
new file mode 100644
index 00000000000..fca40602bb8
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/etc/cyralias.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/cyralias.tex
new file mode 100644
index 00000000000..611b695f585
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/etc/fnstcorr.tex b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/fnstcorr.tex
new file mode 100644
index 00000000000..c49df3c04bd
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/etc/showenc b/Master/texmf-dist/tex/fontinst/cyrfinst/etc/showenc
new file mode 100644
index 00000000000..ef0ca64104c
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/lcy-hi.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/lcy-hi.etx
new file mode 100644
index 00000000000..3cc5a4772dc
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/lcy.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/lcy.etx
new file mode 100644
index 00000000000..783b87d4bbb
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/ot2.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/ot2.etx
new file mode 100644
index 00000000000..3677b80a555
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/t2a.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/t2a.etx
new file mode 100644
index 00000000000..00ebb267b11
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/t2b.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/t2b.etx
new file mode 100644
index 00000000000..8553be302a4
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/t2c.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/t2c.etx
new file mode 100644
index 00000000000..4f2d5f99b84
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/cyrfinst/x2.etx b/Master/texmf-dist/tex/fontinst/cyrfinst/x2.etx
new file mode 100644
index 00000000000..176554539ce
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/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/Master/texmf-dist/tex/fontinst/latinetx/8r.etx b/Master/texmf-dist/tex/fontinst/latinetx/8r.etx
new file mode 100644
index 00000000000..c4592964f0f
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/8r.etx
@@ -0,0 +1,1354 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Alan Jeffrey and Sebastian Rahtz and
+%%% Constantin Kahn and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m and Walter Schmidt
+%%% and Philipp Lehman",
+%%% version = "2.0",
+%%% date = "2003-02-09",
+%%% time = "17:13:33 +01:00",
+%%% filename = "8r.etx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the 8r encoding as a TeX font encoding
+%%% file, for use with the fontinst utility.
+%%% It implements the TeX Base1 encoding.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[TS1,T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{fontdoc}[2001/03/16]
+\usepackage{amsfonts}
+
+\title{The \TeX\ Base~1 encoding vector}
+\author{Alan~Jeffrey\and Sebastian~Rahtz\and Constantin~Kahn\and
+ Ulrik~Vieth\and Lars~Hellstr\"om\and Walter~Schmidt\and
+ Philipp~Lehman}
+\date{9 February 2003\\Version 2.0}
+
+\showbranches
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX{}Base1 encoding vector, also known
+as the \texttt{8r} encoding.
+
+\encoding
+
+\needsfontinstversion{1.924}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\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
+
+\ifisint{monowidth}\then
+ \setint{stretchword}{0}
+ \setint{shrinkword}{0}
+ \setint{extraspace}{\int{interword}}
+ \setint{ligaturing}{0}
+\Else
+ \setint{stretchword}{\scale{\int{interword}}{600}}
+ \setint{shrinkword}{\scale{\int{interword}}{240}}
+ \setint{extraspace}{\scale{\int{interword}}{240}}
+ \setint{ligaturing}{1}
+\Fi
+\setint{quad}{1000}
+
+
+\begincomment
+\section{Font parameters}
+\endcomment
+
+\setstr{codingscheme}{TEXBASE1ENCODING}
+
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+
+
+\begincomment
+\section{The encoding}
+
+\subsection{The ASCII control range}
+
+The layout of the first 32 slots is rather arbitrary, except
+that is was carefully chosen to avoid the potentially dangerous
+slots 0 (NUL), 10 (LF) and 13 (CR).
+\endcomment
+
+\nextslot{1}
+\setslot{dotaccent}
+ \comment{The dot accent `\.{}'.}
+\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{fraction}
+ \comment{The fraction slash `\textfractionsolidus'.}
+\endsetslot
+
+\setslot{hungarumlaut}
+ \comment{The long Hungarian umlaut `\H{}'.}
+\endsetslot
+
+\setslot{\uc{Lslash}{lslash}}
+ \comment{The letter `\L'.}
+\endsetslot
+
+\setslot{\lc{Lslash}{lslash}}
+ \comment{The letter `\l'.}
+\endsetslot
+
+\setslot{ogonek}
+ \comment{The ogonek accent `\k{}'.}
+\endsetslot
+
+\setslot{ring}
+ \comment{The ring accent `\r{}'.}
+\endsetslot
+
+\nextslot{11}
+\setslot{breve}
+ \comment{The breve accent `\u{}'.}
+\endsetslot
+
+\setslot{minus}
+ \comment{The subtraction sign `\textminus'.}
+\endsetslot
+
+\nextslot{14}
+\setslot{\uctop{Zcaron}{zcaron}}
+ \comment{The letter `\v Z'.}
+\endsetslot
+
+\setslot{\lctop{Zcaron}{zcaron}}
+ \comment{The letter `\v z'.}
+\endsetslot
+
+\setslot{caron}
+ \comment{The caron or h\'a\v cek accent `\v{}'.}
+\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}}
+ \comment{The `ff' ligature. It should be two characters wide in a
+ monowidth font.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+ \Fi
+\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
+
+\begincomment
+ \begin{trivlist}\item
+ The following eight slots, 22--29, incorporate glyphs found in
+ MacRoman encoding, in no particular order.
+ \end{trivlist}
+\endcomment
+
+\setslot{notequal}
+ \comment{The `not equal to' symbol `$\neq$'.}
+\endsetslot
+
+\setslot{infinity}
+ \comment{The infinity symbol `$\infty$'.}
+\endsetslot
+
+\setslot{lessequal}
+ \comment{The `less-than or equal to' symbol `$\leq$'.}
+\endsetslot
+
+\setslot{greaterequal}
+ \comment{The `great-than or equal to' symbol `$\geq$'.}
+\endsetslot
+
+\setslot{partialdiff}
+ \comment{The partial differential symbol `$\partial$'.}
+\endsetslot
+
+\setslot{summation}
+ \comment{The $n$-ary summation symbol `$\Sigma$', similar to the greek
+ capital letter sigma.}
+\endsetslot
+
+\setslot{product}
+ \comment{The $n$-ary product symbol `$\Pi$', similar to the greek
+ capital letter pi.}
+\endsetslot
+
+\setslot{pi}
+ \comment{The mathematical constant `$\pi$'.}
+\endsetslot
+
+\setslot{grave}
+ \comment{The grave accent `\`{}'.}
+\endsetslot
+
+\setslot{quotesingle}
+ \comment{The `neutral' single quote mark `\,\textquotesingle\,',
+ included for use in monowidth fonts, or for setting computer
+ programs.}
+\endsetslot
+
+\begincomment
+\subsection{The visible ASCII range}
+The following 96 slots, 32--127, are based on standard ASCII (as
+interpreted in \textit{The \TeX book}).
+\endcomment
+
+\nextslot{32}
+\setslot{space}
+ \comment{The space character.}
+\endsetslot
+
+\setslot{exclam}
+ \comment{The exclamation mark `!'.}
+ \ligature{LIG}{quoteleft}{exclamdown}
+\endsetslot
+
+\setslot{quotedbl}
+ \comment{The `neutral' double quote mark `\,\textquotedbl\,',
+ included for use in monowidth fonts, or for setting computer
+ programs.}
+\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}
+ \comment{The English closing quote mark `\,\textquoteright\,'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{quoteright}{quotedblright}
+ \Fi
+\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 `,'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{comma}{quotedblbase}
+ \Fi
+\endsetslot
+
+\setslot{hyphen}
+ \comment{The hyphen `-'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{hyphen}{endash}
+ \Fi
+\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 `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon `;'.}
+\endsetslot
+
+\setslot{less}
+ \comment{The less-than sign `\textless'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{less}{guillemotleft}
+ \Fi
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \comment{The greater-than sign `\textgreater'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{greater}{guillemotright}
+ \Fi
+\endsetslot
+
+\setslot{question}
+ \comment{The question mark `?'.}
+ \ligature{LIG}{quoteleft}{questiondown}
+\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}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{quoteleft}{quotedblleft}
+ \Fi
+\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}}
+ \comment{The letter `f'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \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
+\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
+
+\begincomment
+\subsection{The Windows ANSI range}
+The following 32 slots, 128--159, are mostly based on
+Windows ANSI. Slots 129, 141--143, and 157--158 incorporate glyphs
+found in MacRoman encoding, in no particular order.
+\endcomment
+
+\nextslot{128}
+\setslot{Euro}
+ \comment{The European currency sign `\texteuro'.}
+\endsetslot
+
+\setslot{integral}
+ \comment{The integral symbol.}
+\endsetslot
+
+\setslot{quotesinglbase}
+ \comment{A German single quote mark `\quotesinglbase' similar to a comma,
+ but with different sidebearings.}
+\endsetslot
+
+\setslot{florin}
+ \comment{The florin sign, similar to an italic letter `\textflorin'.}
+\endsetslot
+
+\setslot{quotedblbase}
+ \comment{A German double quote mark `\quotedblbase' similar to two commas,
+ but with tighter letterspacing and different sidebearings.}
+\endsetslot
+
+\setslot{ellipsis}
+ \comment{The ellipsis `\textellipsis'.}
+\endsetslot
+
+\setslot{dagger}
+ \comment{The single dagger `\textdagger'.}
+\endsetslot
+
+\setslot{daggerdbl}
+ \comment{The double dagger `\textdaggerdbl'.}
+\endsetslot
+
+\setslot{circumflex}
+ \comment{The circumflex accent `\^{}'.}
+\endsetslot
+
+\setslot{perthousand}
+ \comment{The perthousand sign `\textperthousand',
+ similar to `\%' with an extra zero.}
+\endsetslot
+
+\setslot{\uctop{Scaron}{scaron}}
+ \comment{The letter `\v S'.}
+\endsetslot
+
+\setslot{guilsinglleft}
+ \comment{A French single opening quote mark `\guilsinglleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uc{OE}{oe}}
+ \comment{The letter `\OE'.
+ This is a single letter, and should not be faked with `OE'.}
+\endsetslot
+
+\setslot{Omega}
+ \comment{The greek capital letter omega, the Ohm sign `\textohm'.}
+\endsetslot
+
+\setslot{radical}
+ \comment{The radical sign `\textsurd'.}
+\endsetslot
+
+\setslot{approxequal}
+ \comment{The `approximately equal to' symbol `$\approx$'.}
+\endsetslot
+
+\iffalse
+\nextslot{145}
+\setslot{quoteleft-unused}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+\endsetslot
+
+\setslot{quoteright-unused}
+ \comment{The English closing single quote mark `\,\textquoteright\,'.}
+\endsetslot
+\fi
+
+\nextslot{147}
+\setslot{quotedblleft}
+ \comment{The English opening double quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\setslot{quotedblright}
+ \comment{The English closing double quote mark `\,\textquotedblright\,'.}
+\endsetslot
+
+\setslot{bullet}
+ \comment{The centered bullet `\textbullet'.}
+\endsetslot
+
+\setslot{endash}
+ \comment{The en-dash `\textendash'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{hyphen}{emdash}
+ \Fi
+\endsetslot
+
+\setslot{emdash}
+ \comment{The em-dash `\textemdash'.}
+\endsetslot
+
+\setslot{tilde}
+ \comment{The tilde accent `\~{}'.}
+\endsetslot
+
+\setslot{trademark}
+ \comment{The trademark sign, similar to the raised letters `TM'.}
+\endsetslot
+
+\setslot{\lctop{Scaron}{scaron}}
+ \comment{The letter `\v s'.}
+\endsetslot
+
+\setslot{guilsinglright}
+ \comment{A French single closing quote mark `\guilsinglright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lc{OE}{oe}}
+ \comment{The letter `\oe'.
+ This is a single letter, and should not be faked with `oe'.}
+\endsetslot
+
+\setslot{Delta}
+ \comment{The forward difference symbol `$\Delta$' similar to the
+ greek capital letter delta.}
+\endsetslot
+
+\setslot{lozenge}
+ \comment{The lozenge symbol `$\lozenge$'.}
+\endsetslot
+
+\setslot{\uctop{Ydieresis}{ydieresis}}
+ \comment{The letter `\"Y'.}
+\endsetslot
+
+\begincomment
+\subsection{The low ISO latin 1 range}
+The following 32 slots, 160--191, are based on ISO Latin~1,
+which is identical to Windows ANSI in this plane.
+\endcomment
+
+% % This is commented out since the \texttt{8r.enc} encoding vector
+% % does not (at least not currently) place any glyph in this slot.
+%
+% \ifdirect
+% \nextslot{160}
+% \setslot{space}
+% \comment{The (non-breaking) space character.}
+% \endsetslot
+% \Fi
+
+\nextslot{161}
+\setslot{exclamdown}
+ \comment{The Spanish punctuation mark `!`'.}
+\endsetslot
+
+\setslot{cent}
+ \comment{The cent sign `\textcent'.}
+\endsetslot
+
+\setslot{sterling}
+ \comment{The British currency sign, `\textsterling'.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\setslot{yen}
+ \comment{The Japanese currency sign, `\textyen'.}
+\endsetslot
+
+\setslot{brokenbar}
+ \comment{A broken vertical bar, `\textbrokenbar',
+ similar to `\textbar' with a gap through the middle.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{dieresis}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\setslot{copyright}
+ \comment{The copyright sign `\textcopyright',
+ similar to a small `C' enclosed by a circle.}
+\endsetslot
+
+\setslot{ordfeminine}
+ \comment{The raised letter `\textordfeminine'.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A French double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{logicalnot}
+ \comment{The logical not sign `\textlnot'.}
+\endsetslot
+
+\ifdirect
+
+\setslot{hyphen}
+ \comment{\texttt{8r.enc} puts \texttt{hyphen} in this slot as
+ well, because it is the position of the latin-1 ``soft
+ hyphen''.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{hyphen}{endash}
+ \Fi
+\endsetslot
+
+\Fi
+
+\nextslot{174}
+\setslot{registered}
+ \comment{The registered trademark sign `\textregistered',
+ similar to a small `R' enclosed by a circle.}
+\endsetslot
+
+\setslot{macron}
+ \comment{The macron accent `\={}'.}
+\endsetslot
+
+\setslot{degree}
+ \comment{The degree sign `\textdegree'.}
+\endsetslot
+
+\setslot{plusminus}
+ \comment{The plus or minus sign `\textpm'.}
+\endsetslot
+
+\setslot{twosuperior}
+ \comment{The raised digit `\texttwosuperior'.}
+\endsetslot
+
+\setslot{threesuperior}
+ \comment{The raised digit `\textthreesuperior'.}
+\endsetslot
+
+\setslot{acute}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{mu}
+ \comment{The lowercase Greek letter `\textmu', intended
+ for use as a prefix `micro' in physical units.}
+\endsetslot
+
+\setslot{paragraph}
+ \comment{The paragraph mark `\textparagraph'.}
+\endsetslot
+
+\setslot{periodcentered}
+ \comment{The centered period `\textperiodcentered'.}
+\endsetslot
+
+\setslot{cedilla}
+ \comment{The cedilla accent `\c{}'.}
+\endsetslot
+
+\setslot{onesuperior}
+ \comment{The raised digit `\textonesuperior'.}
+\endsetslot
+
+\setslot{ordmasculine}
+ \comment{The raised letter `\textordmasculine'.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A French double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{onequarter}
+ \comment{The fraction `\textonequarter'.}
+\endsetslot
+
+\setslot{onehalf}
+ \comment{The fraction `\textonehalf'.}
+\endsetslot
+
+\setslot{threequarters}
+ \comment{The fraction `\textthreequarters'.}
+\endsetslot
+
+\setslot{questiondown}
+ \comment{The Spanish punctuation mark `?`'.}
+\endsetslot
+
+\begincomment
+\subsection{The high ISO latin 1 range}
+The remaining 64 slots, 192--255, are again based on ISO Latin~1.
+\endcomment
+
+\nextslot{192}
+\setslot{\uctop{Agrave}{agrave}}
+ \comment{The letter `\`A'.}
+\endsetslot
+
+\setslot{\uctop{Aacute}{aacute}}
+ \comment{The letter `\'A'.}
+\endsetslot
+
+\setslot{\uctop{Acircumflex}{acircumflex}}
+ \comment{The letter `\^A'.}
+\endsetslot
+
+\setslot{\uctop{Atilde}{atilde}}
+ \comment{The letter `\~A'.}
+\endsetslot
+
+\setslot{\uctop{Adieresis}{adieresis}}
+ \comment{The letter `\"A'.}
+\endsetslot
+
+\setslot{\uctop{Aring}{aring}}
+ \comment{The letter `\AA'.}
+\endsetslot
+
+\setslot{\uc{AE}{ae}}
+ \comment{The letter `\AE'.
+ This is a single letter, and should not be faked with `AE'.}
+\endsetslot
+
+\setslot{\uc{Ccedilla}{ccedilla}}
+ \comment{The letter `\c C'.}
+\endsetslot
+
+\setslot{\uctop{Egrave}{egrave}}
+ \comment{The letter `\`E'.}
+\endsetslot
+
+\setslot{\uctop{Eacute}{eacute}}
+ \comment{The letter `\'E'.}
+\endsetslot
+
+\setslot{\uctop{Ecircumflex}{ecircumflex}}
+ \comment{The letter `\^E'.}
+\endsetslot
+
+\setslot{\uctop{Edieresis}{edieresis}}
+ \comment{The letter `\"E'.}
+\endsetslot
+
+\setslot{\uctop{Igrave}{igrave}}
+ \comment{The letter `\`I'.}
+\endsetslot
+
+\setslot{\uctop{Iacute}{iacute}}
+ \comment{The letter `\'I'.}
+\endsetslot
+
+\setslot{\uctop{Icircumflex}{icircumflex}}
+ \comment{The letter `\^I'.}
+\endsetslot
+
+\setslot{\uctop{Idieresis}{idieresis}}
+ \comment{The letter `\"I'.}
+\endsetslot
+
+\setslot{\uc{Eth}{eth}}
+ \comment{The Icelandic capital letter `Eth' similar to a `D'
+ with a horizontal bar through the stem. It is unavailable
+ in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uctop{Ntilde}{ntilde}}
+ \comment{The letter `\~N'.}
+\endsetslot
+
+\setslot{\uctop{Ograve}{ograve}}
+ \comment{The letter `\`O'.}
+\endsetslot
+
+\setslot{\uctop{Oacute}{oacute}}
+ \comment{The letter `\'O'.}
+\endsetslot
+
+\setslot{\uctop{Ocircumflex}{ocircumflex}}
+ \comment{The letter `\^O'.}
+\endsetslot
+
+\setslot{\uctop{Otilde}{otilde}}
+ \comment{The letter `\~O'.}
+\endsetslot
+
+\setslot{\uctop{Odieresis}{odieresis}}
+ \comment{The letter `\"O'.}
+\endsetslot
+
+\setslot{multiply}
+ \comment{The multiplication sign `\texttimes'.}
+\endsetslot
+
+\setslot{\uc{Oslash}{oslash}}
+ \comment{The letter `\O'.}
+\endsetslot
+
+\setslot{\uctop{Ugrave}{ugrave}}
+ \comment{The letter `\`U'.}
+\endsetslot
+
+\setslot{\uctop{Uacute}{uacute}}
+ \comment{The letter `\'U'.}
+\endsetslot
+
+\setslot{\uctop{Ucircumflex}{ucircumflex}}
+ \comment{The letter `\^U'.}
+\endsetslot
+
+\setslot{\uctop{Udieresis}{udieresis}}
+ \comment{The letter `\"U'.}
+\endsetslot
+
+\setslot{\uctop{Yacute}{yacute}}
+ \comment{The letter `\'Y'.}
+\endsetslot
+
+\setslot{\uc{Thorn}{thorn}}
+ \comment{The Icelandic capital letter `Thorn', similar to a `P'
+ with the bowl moved down. It is unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lc{SS}{germandbls}}
+ \comment{The letter `\ss'.}
+\endsetslot
+
+\setslot{\lctop{Agrave}{agrave}}
+ \comment{The letter `\`a'.}
+\endsetslot
+
+\setslot{\lctop{Aacute}{aacute}}
+ \comment{The letter `\'a'.}
+\endsetslot
+
+\setslot{\lctop{Acircumflex}{acircumflex}}
+ \comment{The letter `\^a'.}
+\endsetslot
+
+\setslot{\lctop{Atilde}{atilde}}
+ \comment{The letter `\~a'.}
+\endsetslot
+
+\setslot{\lctop{Adieresis}{adieresis}}
+ \comment{The letter `\"a'.}
+\endsetslot
+
+\setslot{\lctop{Aring}{aring}}
+ \comment{The letter `\aa'.}
+\endsetslot
+
+\setslot{\lc{AE}{ae}}
+ \comment{The letter `\ae'.
+ This is a single letter, and should not be faked with `ae'.}
+\endsetslot
+
+\setslot{\lc{Ccedilla}{ccedilla}}
+ \comment{The letter `\c c'.}
+\endsetslot
+
+\setslot{\lctop{Egrave}{egrave}}
+ \comment{The letter `\`e'.}
+\endsetslot
+
+\setslot{\lctop{Eacute}{eacute}}
+ \comment{The letter `\'e'.}
+\endsetslot
+
+\setslot{\lctop{Ecircumflex}{ecircumflex}}
+ \comment{The letter `\^e'.}
+\endsetslot
+
+\setslot{\lctop{Edieresis}{edieresis}}
+ \comment{The letter `\"e'.}
+\endsetslot
+
+\setslot{\lctop{Igrave}{igrave}}
+ \comment{The letter `\`\i'.}
+\endsetslot
+
+\setslot{\lctop{Iacute}{iacute}}
+ \comment{The letter `\'\i'.}
+\endsetslot
+
+\setslot{\lctop{Icircumflex}{icircumflex}}
+ \comment{The letter `\^\i'.}
+\endsetslot
+
+\setslot{\lctop{Idieresis}{idieresis}}
+ \comment{The letter `\"\i'.}
+\endsetslot
+
+\setslot{\lc{Eth}{eth}}
+ \comment{The Icelandic lowercase letter `eth' similar to a
+ `$\partial$' with an oblique bar through the stem. It is
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lctop{Ntilde}{ntilde}}
+ \comment{The letter `\~n'.}
+\endsetslot
+
+\setslot{\lctop{Ograve}{ograve}}
+ \comment{The letter `\`o'.}
+\endsetslot
+
+\setslot{\lctop{Oacute}{oacute}}
+ \comment{The letter `\'o'.}
+\endsetslot
+
+\setslot{\lctop{Ocircumflex}{ocircumflex}}
+ \comment{The letter `\^o'.}
+\endsetslot
+
+\setslot{\lctop{Otilde}{otilde}}
+ \comment{The letter `\~o'.}
+\endsetslot
+
+\setslot{\lctop{Odieresis}{odieresis}}
+ \comment{The letter `\"o'.}
+\endsetslot
+
+\setslot{divide}
+ \comment{The division sign `\textdiv'.}
+\endsetslot
+
+\setslot{\lc{Oslash}{oslash}}
+ \comment{The letter `\o'.}
+\endsetslot
+
+\setslot{\lctop{Ugrave}{ugrave}}
+ \comment{The letter `\`u'.}
+\endsetslot
+
+\setslot{\lctop{Uacute}{uacute}}
+ \comment{The letter `\'u'.}
+\endsetslot
+
+\setslot{\lctop{Ucircumflex}{ucircumflex}}
+ \comment{The letter `\^u'.}
+\endsetslot
+
+\setslot{\lctop{Udieresis}{udieresis}}
+ \comment{The letter `\"u'.}
+\endsetslot
+
+\setslot{\lctop{Yacute}{yacute}}
+ \comment{The letter `\'y'.}
+\endsetslot
+
+\setslot{\lc{Thorn}{thorn}}
+ \comment{The Icelandic lowercase letter `thorn', similar to a `p'
+ with an ascender rising from the stem. It is unavailable
+ in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lctop{Ydieresis}{ydieresis}}
+ \comment{The letter `\"y'.}
+\endsetslot
+
+\endencoding
+
+
+\section{The basis for the design of this encoding}
+
+The idea is to have all the characters normally included in Type 1 fonts
+available for typesetting. This is effectively the characters in Adobe
+Standard encoding, ISO Latin 1, Windows ANSI including the \texttt{euro}
+symbol, MacRoman, and some extra characters from Lucida.
+
+Character code assignments were made as follows:
+\begin{enumerate}
+ \item
+ the Windows ANSI characters are almost all in their Windows ANSI
+ positions, because some Windows users cannot easily reencode the
+ fonts, and it makes no difference on other systems. The only
+ Windows ANSI characters not available are those that make no sense
+ for typesetting---\texttt{rubout} (127~decimal),
+ \texttt{nobreakspace}~(160), \texttt{softhyphen}~(173).
+ \texttt{quotesingle} and \texttt{grave} are moved just because
+ it's such an irritation not having them in TeX positions.
+ \item
+ Remaining characters are assigned arbitrarily to the lower part
+ of the range, avoiding 0, 10 and 13 in case we meet dumb software.
+ \item
+ Y\&Y Lucida Bright includes some extra text characters; in the
+ hopes that other PostScript fonts, perhaps created for public
+ consumption, will include them, they are included starting at 0x12.
+ These are \texttt{dotlessj}, \texttt{ff}, \texttt{ffi},
+ \texttt{ffl}.
+ \item
+ \texttt{hyphen} appears twice for compatibility with both ASCII
+ and Windows.
+ \item
+ \texttt{Euro} was assigned to 128, as in Windows ANSI.
+ \item
+ Missing characters from MacRoman encoding incorporated as
+ follows:
+ \begin{center}
+ \small
+ \begin{tabular}{lrr}
+ \textbf{Glyph}& \textbf{MacRoman}& \textbf{TeXBase1}\\
+ \texttt{notequal}& 173& 22\\
+ \texttt{infinity}& 176& 23\\
+ \texttt{lessequal}& 178& 24\\
+ \texttt{greaterequal}& 179& 25\\
+ \texttt{partialdiff}& 182& 26\\
+ \texttt{summation}& 183& 27\\
+ \texttt{product}& 184& 28\\
+ \texttt{pi}& 185& 29\\
+ \texttt{integral}& 186& 129\\
+ \texttt{Omega}& 189& 141\\
+ \texttt{radical}& 195& 142\\
+ \texttt{approxequal}& 197& 143\\
+ \texttt{Delta}& 198& 157\\
+ \texttt{lozenge}& 215& 158
+ \end{tabular}
+ \end{center}
+\end{enumerate}
+
+
+
+\section{Changes}
+
+1995/03/19: The `\texttt{softhyphen}' is back; now called
+`\texttt{alternate-hyphen}' and has \verb|\ligature| commands. In
+`\texttt{hyphen}' slot \verb|\ligature| $\mapsto$ `\texttt{rangedash}'
+changed to `\texttt{endash}'. (ASAJ)
+
+1995/04/03: Changed around the order of some characters at start
+(to avoid 0, 10 and 13, and reposition \texttt{quoteleft} and
+\texttt{quoteright}). (ASAJ)
+
+1995/08/03: Interword stretch and shrink [again!]. (ASAJ)
+
+1998/06/29: Major update of comments and markup; made it a
+proper \LaTeXe\ document, using \texttt{T1} and \texttt{TS1} encoded
+fonts for giving examples of glyphs, and added descriptions for
+numerous slots. Lowercasified names of accents---removed uses of
+\verb|\lc| in \verb|\setslot|s for accents. (UV)
+
+2002/03/11: Added `\texttt{Euro}' in slot 128. (WaS)
+
+2002/10/30: New symbols incorporated from MacRoman. (Philipp Lehman)
+
+2002/11/12: Added \verb|\showbranches| markup. Modernised setting of
+fontdimens. (LH)
+
+2003/02/04: Introduced the \textit{ligaturing} integer for control of
+ whether ligatures are made. (LH)
+
+2003/02/09: Made use of \verb|\ifdirect| to clear up the situation
+ with \texttt{alternate-hyphen}. It is now included under the proper
+ name \texttt{hyphen}, but is ignored when reencoding. (LH)
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/8y.etx b/Master/texmf-dist/tex/fontinst/latinetx/8y.etx
new file mode 100644
index 00000000000..175da2047ec
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/8y.etx
@@ -0,0 +1,1295 @@
+% Copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Ulrik Vieth and Lars Hellstr{\"o}m",
+%%% version = "1.910",
+%%% date = "2003-12-08",
+%%% time = "21:21:00 +01:00",
+%%% filename = "8y.etx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the 8y encoding as a TeX font encoding
+%%% file, for use with the fontinst utility.
+%%% It implements the TeXnANSI (or LY1) encoding
+%%% proposed and promoted by Y&Y.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+% Changes list at end of file.
+
+\documentclass[twocolumn]{article}
+\usepackage[TS1,T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{fontdoc}[2003/02/09]
+
+\title{The \TeX'n'ANSI encoding vector}
+\author{Ulrik Vieth\and Lars Hellstr\"om}
+\date{8 December 2003\\Version 1.927}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX'n'ANSI encoding vector proposed
+by Y\&Y, which is represented by the \texttt{LY1} encoding in \LaTeXe.
+
+It is almost identical to the \TeX{}Base1 encoding (defined in
+\texttt{8r.etx}) in the range 32--126 and 161--255. It is similar
+to \texttt{8r.etx} in the range 127--160, but contains additional
+characters, which are stored elsewhere in \texttt{8r.etx}.
+
+\showbranches
+\encoding
+
+\needsfontinstversion{1.924}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\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
+
+\ifisint{monowidth}\then
+ \setint{stretchword}{0}
+ \setint{shrinkword}{0}
+ \setint{extraspace}{\int{interword}}
+ \setint{ligaturing}{0}
+\Else
+ \setint{stretchword}{\scale{\int{interword}}{600}}
+ \setint{shrinkword}{\scale{\int{interword}}{240}}
+ \setint{extraspace}{\scale{\int{interword}}{240}}
+ \setint{ligaturing}{1}
+\Fi
+\setint{quad}{1000}
+
+
+\begincomment
+\section{Font parameters}
+\endcomment
+
+\setstr{codingscheme}{TEX TYPEWRITER AND WINDOWS ANSI}
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+
+
+\begincomment
+\section{The encoding}
+
+\subsection{Low ASCII control characters}
+
+The layout of the first 16 slots wase carefully chosen to avoid
+potentially dangerous slots 0 (NUL), 9 (HT), 10 (LF) and 13 (CR).
+\endcomment
+
+\nextslot{4}
+\setslot{fraction}
+ \comment{The fraction slash `\textfractionsolidus'.}
+\endsetslot
+
+\setslot{dotaccent}
+ \comment{The dot accent `\.{}'.}
+\endsetslot
+
+\setslot{hungarumlaut}
+ \comment{The long Hungarian umlaut `\H{}'.}
+\endsetslot
+
+\setslot{ogonek}
+ \comment{The ogonek accent `\k{}'.}
+\endsetslot
+
+\setslot{\lclig{FL}{fl}}
+ \comment{The `fl' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\nextslot{11}
+\setslot{\lclig{FF}{ff}}
+ \comment{The `ff' ligature. It should be two characters wide in a
+ monowidth font.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+ \Fi
+\endsetslot
+
+\setslot{\lclig{FI}{fi}}
+ \comment{The `fi' ligature. It should be two characters wide in a
+ monowidth font.}
+\endsetslot
+
+\nextslot{14}
+\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
+
+\begincomment
+\subsection{The \texttt{OT1} compatibility range}
+The following 16 slots share the same encoding as \texttt{OT1}.
+\endcomment
+
+\nextslot{16}
+\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 `\`{}'.}
+\endsetslot
+
+\setslot{acute}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{caron}
+ \comment{The caron or h\'a\v cek accent `\v {}'.}
+\endsetslot
+
+\setslot{breve}
+ \comment{The breve accent `\u{}'.}
+\endsetslot
+
+\setslot{macron}
+ \comment{The macron accent `\={}'.}
+\endsetslot
+
+\setslot{ring}
+ \comment{The ring accent `\r{}'.}
+\endsetslot
+
+\setslot{cedilla}
+ \comment{The cedilla accent `\c{}'.}
+\endsetslot
+
+\ifdirect
+
+\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
+
+\Fi
+
+\begincomment
+\subsection{The visible ASCII range}
+The following 96 slots, 32--127, are based on standard ASCII,
+except that `\texttt{asciicircum}', `\texttt{asciitilde}', and the
+empty slot 127 have been replaced by the `\texttt{circumflex}',
+`\texttt{tilde}' and `\texttt{dieresis}' as in \texttt{OT1}.
+\endcomment
+
+\nextslot{32}
+\setslot{space}
+ \comment{The space character.}
+\endsetslot
+
+\setslot{exclam}
+ \comment{The exclamation mark `!'.}
+ \ligature{LIG}{quoteleft}{exclamdown}
+\endsetslot
+
+\setslot{quotedbl}
+ \comment{The `neutral' double quote mark `\,\textquotedbl\,',
+ included for use in monowidth fonts, or for setting computer
+ programs.}
+\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}
+ \comment{The English closing quote mark `\,\textquoteright\,'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{quoteright}{quotedblright}
+ \Fi
+\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 `,'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{comma}{quotedblbase}
+ \Fi
+\endsetslot
+
+\setslot{hyphen}
+ \comment{The hyphen `-'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{hyphen}{endash}
+ \Fi
+\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 `:'.}
+\endsetslot
+
+\setslot{semicolon}
+ \comment{The semi-colon `;'.}
+\endsetslot
+
+\setslot{less}
+ \comment{The less-than sign `\textless'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{less}{guillemotleft}
+ \Fi
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \comment{The greater-than sign `\textgreater'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{greater}{guillemotright}
+ \Fi
+\endsetslot
+
+\setslot{question}
+ \comment{The question mark `?'.}
+ \ligature{LIG}{quoteleft}{questiondown}
+\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{circumflex}
+ \comment{The circumflex accent `\^{}'.}
+\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}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{quoteleft}{quotedblleft}
+ \Fi
+\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}}
+ \comment{The letter `f'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \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
+\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{tilde}
+ \comment{The tilde accent `\~{}'.}
+\endsetslot
+
+\setslot{dieresis}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\begincomment
+\subsection{The Windows ANSI range}
+The following 32 slots, 128--159, are based on an extended
+version of Windows ANSI.
+\endcomment
+
+\nextslot{128}
+\setslot{\uc{Lslash}{lslash}}
+ \comment{The letter `\L'.}
+\endsetslot
+
+\setslot{quotesingle}
+ \comment{The `neutral' single quote mark `\,\textquotesingle\,',
+ included for use in monowidth fonts, or for setting computer
+ programs.}
+\endsetslot
+
+\setslot{quotesinglbase}
+ \comment{A German single quote mark `\quotesinglbase' similar to a comma,
+ but with different sidebearings.}
+\endsetslot
+
+\setslot{florin}
+ \comment{The florin sign, similar to an italic letter `\textflorin'.}
+\endsetslot
+
+\setslot{quotedblbase}
+ \comment{A German double quote mark `\quotedblbase' similar to two commas,
+ but with tighter letterspacing and different sidebearings.}
+\endsetslot
+
+\setslot{ellipsis}
+ \comment{The ellipsis `\textellipsis'.}
+\endsetslot
+
+\setslot{dagger}
+ \comment{The single dagger `\textdagger'.}
+\endsetslot
+
+\setslot{daggerdbl}
+ \comment{The double dagger `\textdaggerdbl'.}
+\endsetslot
+
+\setslot{circumflex}
+ \comment{The circumflex accent `\^{}'.}
+\endsetslot
+
+\setslot{perthousand}
+ \comment{The perthousand sign `\textperthousand',
+ similar to `\%' with an extra zero.}
+\endsetslot
+
+\setslot{\uctop{Scaron}{scaron}}
+ \comment{The letter `\v S'.}
+\endsetslot
+
+\setslot{guilsinglleft}
+ \comment{A French single opening quote mark `\guilsinglleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uc{OE}{oe}}
+ \comment{The letter `\OE'.
+ This is a single letter, and should not be faked with `OE'.}
+\endsetslot
+
+\setslot{\uctop{Zcaron}{zcaron}}
+ \comment{The letter `\v Z'.}
+\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{minus}
+ \comment{The subtraction sign `\textminus'.}
+\endsetslot
+
+\setslot{\lc{Lslash}{lslash}}
+ \comment{The letter `\l'.}
+\endsetslot
+
+\ifdirect
+
+\nextslot{145}
+\setslot{quoteleft}
+ \comment{The English opening single quote mark `\,\textquoteleft\,'.}
+\endsetslot
+
+\setslot{quoteright}
+ \comment{The English closing single quote mark `\,\textquoteright\,'.}
+\endsetslot
+
+\Fi
+
+\nextslot{147}
+\setslot{quotedblleft}
+ \comment{The English opening double quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\setslot{quotedblright}
+ \comment{The English closing double quote mark `\,\textquotedblright\,'.}
+\endsetslot
+
+\setslot{bullet}
+ \comment{The centered bullet `\textbullet'.}
+\endsetslot
+
+\setslot{endash}
+ \comment{The en-dash `\textendash'.}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{hyphen}{emdash}
+ \Fi
+\endsetslot
+
+\setslot{emdash}
+ \comment{The em-dash `\textemdash'.}
+\endsetslot
+
+\setslot{tilde}
+ \comment{The tilde accent `\~{}'.}
+\endsetslot
+
+\setslot{trademark}
+ \comment{The trademark sign, similar to the raised letters `TM'.}
+\endsetslot
+
+\setslot{\lctop{Scaron}{scaron}}
+ \comment{The letter `\v s'.}
+\endsetslot
+
+\setslot{guilsinglright}
+ \comment{A French single closing quote mark `\guilsinglright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lc{OE}{oe}}
+ \comment{The letter `\oe'.
+ This is a single letter, and should not be faked with `oe'.}
+\endsetslot
+
+\setslot{\lctop{Zcaron}{zcaron}}
+ \comment{The letter `\v z'.}
+\endsetslot
+
+\setslot{asciitilde}
+ \comment{The ASCII tilde `\textasciitilde'.
+ This is included for compatibility with typewriter fonts used
+ for computer listings.}
+\endsetslot
+
+\setslot{\uctop{Ydieresis}{ydieresis}}
+ \comment{The letter `\"Y'.}
+\endsetslot
+
+\begincomment
+\subsection{The low ISO latin 1 range}
+The following 32 slots, 160--191, are based on ISO Latin~1,
+which is identical to Windows ANSI in this plane.
+\endcomment
+
+\ifdirect
+
+\nextslot{160}
+\setslot{space}
+ \comment{The (non-breaking) space character.}
+\endsetslot
+
+\Fi
+
+\nextslot{161}
+\setslot{exclamdown}
+ \comment{The Spanish punctuation mark `!`'.}
+\endsetslot
+
+\setslot{cent}
+ \comment{The cent sign `\textcent'.}
+\endsetslot
+
+\setslot{sterling}
+ \comment{The British currency sign, `\textsterling'.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\setslot{yen}
+ \comment{The Japanese currency sign, `\textyen'.}
+\endsetslot
+
+\setslot{brokenbar}
+ \comment{A broken vertical bar, `\textbrokenbar',
+ similar to `\textbar' with a gap through the middle.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{dieresis}
+ \comment{The umlaut or dieresis accent `\"{}'.}
+\endsetslot
+
+\setslot{copyright}
+ \comment{The copyright sign `\textcopyright',
+ similar to a small `C' enclosed by a circle.}
+\endsetslot
+
+\setslot{ordfeminine}
+ \comment{The raised letter `\textordfeminine'.}
+\endsetslot
+
+\setslot{guillemotleft}
+ \comment{A French double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{logicalnot}
+ \comment{The logical not sign `\textlnot'.}
+\endsetslot
+
+\ifdirect
+
+\nextslot{173}
+\setslot{hyphen}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{hyphen}{endash}
+ \Fi
+\endsetslot
+
+\Fi
+
+\nextslot{174}
+\setslot{registered}
+ \comment{The registered trademark sign `\textregistered',
+ similar to a small `R' enclosed by a circle.}
+\endsetslot
+
+\setslot{macron}
+ \comment{The macron accent `\={}'.}
+\endsetslot
+
+\setslot{degree}
+ \comment{The degree sign `\textdegree'.}
+\endsetslot
+
+\setslot{plusminus}
+ \comment{The plus or minus sign `\textpm'.}
+\endsetslot
+
+\setslot{twosuperior}
+ \comment{The raised digit `\texttwosuperior'.}
+\endsetslot
+
+\setslot{threesuperior}
+ \comment{The raised digit `\textthreesuperior'.}
+\endsetslot
+
+\setslot{acute}
+ \comment{The acute accent `\'{}'.}
+\endsetslot
+
+\setslot{mu}
+ \comment{The lowercase Greek letter `\textmu', intended
+ for use as a prefix `micro' in physical units.}
+\endsetslot
+
+\setslot{paragraph}
+ \comment{The paragraph mark `\textparagraph'.}
+\endsetslot
+
+\setslot{periodcentered}
+ \comment{The centered period `\textperiodcentered'.}
+\endsetslot
+
+\setslot{cedilla}
+ \comment{The cedilla accent `\c{}'.}
+\endsetslot
+
+\setslot{onesuperior}
+ \comment{The raised digit `\textonesuperior'.}
+\endsetslot
+
+\setslot{ordmasculine}
+ \comment{The raised letter `\textordmasculine'.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A French double closing quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{onequarter}
+ \comment{The fraction `\textonequarter'.}
+\endsetslot
+
+\setslot{onehalf}
+ \comment{The fraction `\textonehalf'.}
+\endsetslot
+
+\setslot{threequarters}
+ \comment{The fraction `\textthreequarters'.}
+\endsetslot
+
+\setslot{questiondown}
+ \comment{The Spanish punctuation mark `?`'.}
+\endsetslot
+
+\begincomment
+\subsection{The high ISO latin 1 range}
+The remaining 64 slots, 192--255, are again based on ISO Latin~1.
+\endcomment
+
+\nextslot{192}
+\setslot{\uctop{Agrave}{agrave}}
+ \comment{The letter `\`A'.}
+\endsetslot
+
+\setslot{\uctop{Aacute}{aacute}}
+ \comment{The letter `\'A'.}
+\endsetslot
+
+\setslot{\uctop{Acircumflex}{acircumflex}}
+ \comment{The letter `\^A'.}
+\endsetslot
+
+\setslot{\uctop{Atilde}{atilde}}
+ \comment{The letter `\~A'.}
+\endsetslot
+
+\setslot{\uctop{Adieresis}{adieresis}}
+ \comment{The letter `\"A'.}
+\endsetslot
+
+\setslot{\uctop{Aring}{aring}}
+ \comment{The letter `\AA'.}
+\endsetslot
+
+\setslot{\uc{AE}{ae}}
+ \comment{The letter `\AE'.
+ This is a single letter, and should not be faked with `AE'.}
+\endsetslot
+
+\setslot{\uc{Ccedilla}{ccedilla}}
+ \comment{The letter `\c C'.}
+\endsetslot
+
+\setslot{\uctop{Egrave}{egrave}}
+ \comment{The letter `\`E'.}
+\endsetslot
+
+\setslot{\uctop{Eacute}{eacute}}
+ \comment{The letter `\'E'.}
+\endsetslot
+
+\setslot{\uctop{Ecircumflex}{ecircumflex}}
+ \comment{The letter `\^E'.}
+\endsetslot
+
+\setslot{\uctop{Edieresis}{edieresis}}
+ \comment{The letter `\"E'.}
+\endsetslot
+
+\setslot{\uctop{Igrave}{igrave}}
+ \comment{The letter `\`I'.}
+\endsetslot
+
+\setslot{\uctop{Iacute}{iacute}}
+ \comment{The letter `\'I'.}
+\endsetslot
+
+\setslot{\uctop{Icircumflex}{icircumflex}}
+ \comment{The letter `\^I'.}
+\endsetslot
+
+\setslot{\uctop{Idieresis}{idieresis}}
+ \comment{The letter `\"I'.}
+\endsetslot
+
+\setslot{\uc{Eth}{eth}}
+ \comment{The Icelandic capital letter `Eth' similar to a `D'
+ with a horizontal bar through the stem. It is unavailable
+ in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uctop{Ntilde}{ntilde}}
+ \comment{The letter `\~N'.}
+\endsetslot
+
+\setslot{\uctop{Ograve}{ograve}}
+ \comment{The letter `\`O'.}
+\endsetslot
+
+\setslot{\uctop{Oacute}{oacute}}
+ \comment{The letter `\'O'.}
+\endsetslot
+
+\setslot{\uctop{Ocircumflex}{ocircumflex}}
+ \comment{The letter `\^O'.}
+\endsetslot
+
+\setslot{\uctop{Otilde}{otilde}}
+ \comment{The letter `\~O'.}
+\endsetslot
+
+\setslot{\uctop{Odieresis}{odieresis}}
+ \comment{The letter `\"O'.}
+\endsetslot
+
+\setslot{multiply}
+ \comment{The multiplication sign `\texttimes'.}
+\endsetslot
+
+\setslot{\uc{Oslash}{oslash}}
+ \comment{The letter `\O'.}
+\endsetslot
+
+\setslot{\uctop{Ugrave}{ugrave}}
+ \comment{The letter `\`U'.}
+\endsetslot
+
+\setslot{\uctop{Uacute}{uacute}}
+ \comment{The letter `\'U'.}
+\endsetslot
+
+\setslot{\uctop{Ucircumflex}{ucircumflex}}
+ \comment{The letter `\^U'.}
+\endsetslot
+
+\setslot{\uctop{Udieresis}{udieresis}}
+ \comment{The letter `\"U'.}
+\endsetslot
+
+\setslot{\uctop{Yacute}{yacute}}
+ \comment{The letter `\'Y'.}
+\endsetslot
+
+\setslot{\uc{Thorn}{thorn}}
+ \comment{The Icelandic capital letter `Thorn', similar to a `P'
+ with the bowl moved down. It is unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lc{SS}{germandbls}}
+ \comment{The letter `\ss'.}
+\endsetslot
+
+\setslot{\lctop{Agrave}{agrave}}
+ \comment{The letter `\`a'.}
+\endsetslot
+
+\setslot{\lctop{Aacute}{aacute}}
+ \comment{The letter `\'a'.}
+\endsetslot
+
+\setslot{\lctop{Acircumflex}{acircumflex}}
+ \comment{The letter `\^a'.}
+\endsetslot
+
+\setslot{\lctop{Atilde}{atilde}}
+ \comment{The letter `\~a'.}
+\endsetslot
+
+\setslot{\lctop{Adieresis}{adieresis}}
+ \comment{The letter `\"a'.}
+\endsetslot
+
+\setslot{\lctop{Aring}{aring}}
+ \comment{The letter `\aa'.}
+\endsetslot
+
+\setslot{\lc{AE}{ae}}
+ \comment{The letter `\ae'.
+ This is a single letter, and should not be faked with `ae'.}
+\endsetslot
+
+\setslot{\lc{Ccedilla}{ccedilla}}
+ \comment{The letter `\c c'.}
+\endsetslot
+
+\setslot{\lctop{Egrave}{egrave}}
+ \comment{The letter `\`e'.}
+\endsetslot
+
+\setslot{\lctop{Eacute}{eacute}}
+ \comment{The letter `\'e'.}
+\endsetslot
+
+\setslot{\lctop{Ecircumflex}{ecircumflex}}
+ \comment{The letter `\^e'.}
+\endsetslot
+
+\setslot{\lctop{Edieresis}{edieresis}}
+ \comment{The letter `\"e'.}
+\endsetslot
+
+\setslot{\lctop{Igrave}{igrave}}
+ \comment{The letter `\`\i'.}
+\endsetslot
+
+\setslot{\lctop{Iacute}{iacute}}
+ \comment{The letter `\'\i'.}
+\endsetslot
+
+\setslot{\lctop{Icircumflex}{icircumflex}}
+ \comment{The letter `\^\i'.}
+\endsetslot
+
+\setslot{\lctop{Idieresis}{idieresis}}
+ \comment{The letter `\"\i'.}
+\endsetslot
+
+\setslot{\lc{Eth}{eth}}
+ \comment{The Icelandic lowercase letter `eth' similar to a
+ `$\partial$' with an oblique bar through the stem. It is
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lctop{Ntilde}{ntilde}}
+ \comment{The letter `\~n'.}
+\endsetslot
+
+\setslot{\lctop{Ograve}{ograve}}
+ \comment{The letter `\`o'.}
+\endsetslot
+
+\setslot{\lctop{Oacute}{oacute}}
+ \comment{The letter `\'o'.}
+\endsetslot
+
+\setslot{\lctop{Ocircumflex}{ocircumflex}}
+ \comment{The letter `\^o'.}
+\endsetslot
+
+\setslot{\lctop{Otilde}{otilde}}
+ \comment{The letter `\~o'.}
+\endsetslot
+
+\setslot{\lctop{Odieresis}{odieresis}}
+ \comment{The letter `\"o'.}
+\endsetslot
+
+\setslot{divide}
+ \comment{The division sign `\textdiv'.}
+\endsetslot
+
+\setslot{\lc{Oslash}{oslash}}
+ \comment{The letter `\o'.}
+\endsetslot
+
+\setslot{\lctop{Ugrave}{ugrave}}
+ \comment{The letter `\`u'.}
+\endsetslot
+
+\setslot{\lctop{Uacute}{uacute}}
+ \comment{The letter `\'u'.}
+\endsetslot
+
+\setslot{\lctop{Ucircumflex}{ucircumflex}}
+ \comment{The letter `\^u'.}
+\endsetslot
+
+\setslot{\lctop{Udieresis}{udieresis}}
+ \comment{The letter `\"u'.}
+\endsetslot
+
+\setslot{\lctop{Yacute}{yacute}}
+ \comment{The letter `\'y'.}
+\endsetslot
+
+\setslot{\lc{Thorn}{thorn}}
+ \comment{The Icelandic lowercase letter `thorn', similar to a `p'
+ with an ascender rising from the stem. It is unavailable
+ in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lctop{Ydieresis}{ydieresis}}
+ \comment{The letter `\"y'.}
+\endsetslot
+
+\endencoding
+
+
+\section{Changes}
+
+The noteworthy changes made to this document are as follows.
+
+1999/10/25:
+ Typos regarding \texttt{Lslash} and \texttt{lslash}
+ corrected. (UV\&LH)
+
+1999/11/11:
+ Added \verb|\showbranches| markup. Removed \texttt{-OT1}
+ suffix from some glyph names. (LH)
+
+2003/02/04:
+ Returned to the v\,1.801 version of this file, and
+ reintroduced the few later additions (see above) that made sense.
+ Modernized setting of font parameters. Tidied up some markup.
+ (LH)
+
+2003/02/09:
+ Unified the duplicate glyphs (again!), this time using
+ the new \verb|\ifdirect| switch.
+
+2003/12/08:
+ Fixed two typos (\verb|\setslot| where it should be
+ \verb|\nextslot|). (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1.etx
new file mode 100644
index 00000000000..d047de664d7
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1.etx
@@ -0,0 +1,938 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% copyright 1998, 1999, 2002 the fontinst maintenance team and
+% any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = {Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m},
+%%% version = "1.910",
+%%% date = "2002-07-31",
+%%% time = "21:45:37 +02:00",
+%%% filename = "ot1.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the old TeX text encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \TeX\ text encoding vector}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{31 July 2002\\Version 1.921}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX\ text (\texttt{OT1}) encoding---or
+rather the \texttt{OT1} encodings, since the Computer Modern font
+family alone provide examples of no less than five different
+\texttt{OT1} encodings.
+
+The exact encoding of fonts produced using this file is controlled
+through the two integers \texttt{ligaturing} (relevant values are $0$,
+$1$, and $2$) and \texttt{italicizing} (relevant values are $0$ and
+$1$). \texttt{ligaturing} controls roughly how many ligature
+characters and ligaturing instructions there are in the font.
+\texttt{italicizing} controls whether the font contains a dollar or
+pound sign.
+
+This file also makes use of five macros in forming the names of
+glyphs, so that this can be configured.
+\begin{itemize}
+\item \verb|\lc{A}{a}| should return the name of a lower-case
+ glyph, for example `\texttt{a}' or `\texttt{Asmall}'.
+
+\item \verb|\uc{A}{a}| should return the name of an upper-case
+ glyph, for example `\texttt{A}' or `\texttt{Amedium}'.
+
+\item \verb|\lclig{FI}{fi}| should return the name of a lower-case
+ ligature, for example `\texttt{fi}' or `\texttt{FIsmall}'.
+
+\item \verb|\uclig{FI}{fi}| should return the name of an upper-case
+ ligature, for example `\texttt{FI}' or `\texttt{FImedium}'.
+
+\item \verb|\digit{zero}| should return the name of a digit, for
+ example `\texttt{zero}' or `\texttt{zerooldstyle}'.
+
+% \item \verb|\currency| should be the name of the currency glyph, either
+% `\texttt{sterling}' or `\texttt{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}
+\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}
+\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}
+\end{verbatim}
+This document describes the upper and lower case encoding.
+
+\showbranches
+
+\encoding
+
+\needsfontinstversion{1.917}
+
+
+\begincomment\section{Default values}\endcomment
+
+\comment{The \textit{ligaturing} default depends on whether
+ \textit{monowidth} is set mainly because that causes the default
+ installation of fonts to be slightly more intelligent.}
+\ifisint{monowidth}\then
+ \setint{ligaturing}{0}
+\Else
+ \setint{ligaturing}{2}
+\Fi
+
+\setint{italicizing}{0}
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+
+% \comment{The following trickery was introduced to make the change
+% from monowidth implying typewriter to monowidth not implying
+% typewriter less abrupt.}
+% \ifisint{monowidth}\then
+% \ifisint{typewriter}\then \Else
+% \ifnumber{\int{monowidth}}={9876}\then \Else
+% \fontinstwarningnoline{ot1.etx}{%
+% Set the typewriter integer to get a typewriter font,%
+% \messagebreak
+% set monowidth to 9876 to get a monowidth font,%
+% \messagebreak
+% or set both to get a monowidth typewriter font%
+% }
+% \setint{typewriter}{0}
+% \Fi
+% \Fi
+% \Fi
+
+
+\setint{italicslant}{0}
+
+\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{stretchword}{0}
+ \setint{shrinkword}{0}
+\Else
+ \setint{stretchword}{\scale{\int{interword}}{600}}
+ \setint{shrinkword}{\scale{\int{interword}}{240}}
+\Fi
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\setint{quad}{1000}
+
+\ifisint{monowidth}\then
+% \ifnumber{\int{ligaturing}}={0}\then
+% \setint{extraspace}{0}
+% \Else
+ \setint{extraspace}{\int{interword}}
+% \Fi
+\Else
+ \setint{extraspace}{\scale{\int{interword}}{240}}
+\Fi
+
+
+
+\begincomment
+\section{Font dimensions and coding scheme}
+\endcomment
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+
+
+\ifnumber{\int{ligaturing}}={2}\then
+
+\setstr{codingscheme}{TEX TEXT}
+
+\Else\ifnumber{\int{ligaturing}}={1}\then
+
+\setstr{codingscheme}{TEX TEXT WITHOUT F-LIGATURES}
+
+\Else
+
+\setstr{codingscheme}{TEX TYPEWRITER TEXT}
+
+\Fi\Fi
+
+
+
+\begincomment
+\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.
+\endcomment
+
+\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 `\texttt{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
+
+\ifnumber{\int{ligaturing}}<{2}\then
+
+\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 `\texttt{\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
+
+\ifnumber{\int{ligaturing}}<{1}\then
+
+\setslot{visiblespace}
+ \comment{A visible space glyph `\texttt{\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
+
+\ifnumber{\int{ligaturing}}>{0}\then
+
+\setslot{quotedblright}
+ \comment{An English double closing quote mark `\,''\,'.}
+\endsetslot
+
+\Else
+
+\setslot{quotedbl}
+ \comment{The `neutral' quotation mark `\texttt{\char`\"}', included
+ for use in monowidth fonts, or for setting computer programs.}
+\endsetslot
+
+\Fi
+
+\setslot{numbersign}
+ \comment{The hash sign `\#'.}
+\endsetslot
+
+\ifnumber{\int{italicizing}}={0}\then
+
+\setslot{dollar}
+ \comment{The dollar sign `\$'.}
+\endsetslot
+
+\Else
+
+\setslot{sterling}
+ \comment{The pound sign `\pounds'.}
+\endsetslot
+
+\Fi
+
+\setslot{percent}
+ \comment{The percent sign `\%'.}
+\endsetslot
+
+\setslot{ampersand}
+ \comment{The ampersand sign `\&'.}
+\endsetslot
+
+\setslot{quoteright}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \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}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \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
+
+\ifnumber{\int{ligaturing}}<{2}\then
+
+\setslot{less}
+ \comment{The less-than sign `$<$'.}
+\endsetslot
+
+\setslot{equal}
+ \comment{The equals sign `='.}
+\endsetslot
+
+\setslot{greater}
+ \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
+
+\ifnumber{\int{ligaturing}}>{0}\then
+
+\setslot{quotedblleft}
+ \comment{An English double opening quote mark `\,``\,'.}
+\endsetslot
+
+\Else
+
+\setslot{backslash}
+ \comment{The backwards oblique `$\backslash$'.}
+\endsetslot
+
+\Fi
+
+\setslot{bracketright}
+ \comment{The closing square bracket `]'.}
+\endsetslot
+
+\setslot{circumflex}
+ \comment{The circumflex accent `\^ a'.}
+\endsetslot
+
+\ifnumber{\int{ligaturing}}>{0}\then
+
+\setslot{dotaccent}
+ \comment{The dot accent `\.a'.}
+\endsetslot
+
+\Else
+
+\setslot{underscore}
+ \comment{The ASCII underline character `\texttt{\char`\_}', usually
+ set on the baseline.}
+\endsetslot
+
+\Fi
+
+\setslot{quoteleft}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \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}}
+ \ifnumber{\int{ligaturing}}<{2}\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
+
+\ifnumber{\int{ligaturing}}>{0}\then
+
+\setslot{rangedash}
+ \ligature{LIG}{hyphen}{punctdash}
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `\texttt{1{-}9}'.}
+\endsetslot
+
+\setslot{punctdash}
+ \comment{The punctuation dash `Oh---boy.' In a monowidth font, this
+ might be set as `\texttt{Oh{-}{-}boy.}'}
+\endsetslot
+
+\setslot{hungarumlaut}
+ \comment{The long Hungarian umlaut `\H a'.}
+\endsetslot
+
+\Else
+
+\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
+
+\Fi
+
+\setslot{tilde}
+ \comment{The tilde accent `\~a'.}
+\endsetslot
+
+\setslot{dieresis}
+ \comment{The umlaut or dieresis accent `\"a'.}
+\endsetslot
+
+\begincomment
+\section{Non-standard ligatures}
+
+The `\l' and `\L' glyphs are not usually in the ot1 encoding, but
+they're needed for fonts which don't have a special `lslashslash' glyph.
+\endcomment
+
+\nextslot{"8A}
+
+\setslot{\uc{Lslash}{lslash}}
+ \comment{The letter `\L'.}
+\endsetslot
+
+\nextslot{"AA}
+
+\setslot{\lc{Lslash}{lslash}}
+ \comment{The letter `\l'.}
+\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+1999/10/18: Introduced the \texttt{typewriter} integer and made changes
+for \verb|\showbranches|. (LH)
+
+1999/11/07: Removed the ``if \texttt{typewriter} then
+\texttt{monowidth}'' implication. Changed \texttt{fontdimen(7)} to zero
+in monowidth typewriter fonts. (LH)
+
+2002/07/31: Major update. The \verb|\currency| and
+\textit{typewriter} parameters were removed---instead the
+\textit{ligaturing} and \textit{italicizing} parameters were added.
+\verb|\setfontdimen| interface used for setting fontdimens. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1c.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1c.etx
new file mode 100644
index 00000000000..4251562e567
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1c.etx
@@ -0,0 +1,92 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% copyright 1998, 1999, 2002 the fontinst maintenance team and
+% any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \texttt{OT1} encoding for small-caps fonts}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+This file is used to install a small-caps font in which the small-caps
+glyphs are named as $\langle$\textit{full cap glyph name}$\rangle +{}$%
+\texttt{small}. It is mainly used to install faked small-caps fonts,
+but it is also used to install small-caps fonts where the small-caps
+glyphs are taken from an Expert font.
+
+\showbranches
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\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}
+
+% \comment{The default letter spacing is 1/10 of the design size, with
+% small caps 80\% the size of full 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\ifisint{smallcapsspacing}\then
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\Fi\Fi
+
+\comment{Then we call \texttt{ot1.etx}.}
+
+\inputetx{ot1}
+
+\endencoding
+
+\section{Changes}
+
+1999/10/26: Added \textsf{fontdoc} markup, made changes for
+\verb|\showbranches|, and code for things that was moved from encoding
+to metric files ages ago commented out. (LH)
+
+2002/07/31: Minor fixes. (LH)
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1cj.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1cj.etx
new file mode 100644
index 00000000000..9be75daafbc
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1cj.etx
@@ -0,0 +1,69 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% copyright 1998, 1999, 2002 the fontinst maintenance team
+% and any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \texttt{OT1} encoding for small-caps and hanging figures fonts}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+This file is used to install a small-caps and hanging (oldstyle)
+figures font in which the small-caps glyphs are named as
+$\langle$\textit{full cap glyph name}$\rangle +{}$\texttt{small} and
+the figures are named as $\langle$\textit{figure name}$\rangle + {}$%
+\texttt{oldstyle}. It is mainly used to install faked small-caps fonts,
+but it is also used to install small-caps fonts where the small-caps
+glyphs are taken from an Expert font.
+
+\showbranches
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\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}
+
+\ifisint{capspacing}\then
+ \setint{letterspacing}{\int{capspacing}}
+\Else\ifisint{letterspacing}\then
+ \setint{letterspacing}{\int{smallcapsspacing}}
+\Fi\Fi
+
+\inputetx{ot1}
+
+\endencoding
+
+
+\section{Changes}
+
+1999/10/27: Added \textsf{fontdoc} markup, made changes for
+\verb|\showbranches|, and code for things that was moved from encoding
+to metric files ages ago was removed. (LH)
+
+2002/07/31: Minor fixes. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx
new file mode 100644
index 00000000000..50f5a61f3de
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1ctt.etx
@@ -0,0 +1,61 @@
+% Copyright 1993 Alan Jeffrey,
+% copyright 1999, 2002 the fontinst maintenance team
+% and any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \texttt{OT1} encoding for small-caps typewriter fonts}
+\author{Alan Jeffrey\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+The main use for this file is conversion from PL to MTX format of the
+metrics for a small-caps font with the \texttt{TEX TYPEWRITER TEXT}
+codingscheme. It can also be used to install an \texttt{OT1}-%
+typewriter encoded font with small-caps in the places of the lower case.
+
+\showbranches
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setint{ligaturing}{0}
+
+\comment{Then we call \texttt{ot1c.etx}.}
+
+\inputetx{ot1c}
+
+\endencoding
+
+\section{Changes}
+
+1993/12/29: File created. (ASAJ)
+
+1999/11/04: Removed a lot of antiquated code (including two
+\verb|\setglyph| commands!!), updated for the v\,1.909 \texttt{ot1.etx},
+made the file call \texttt{ot1c.etx} rather than \texttt{ot1.etx}, and
+added \textsf{fontdoc} markup. (LH)
+
+2002/07/31: Minor fixes, after having updated \texttt{ot1.etx}. (LH)
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1i.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1i.etx
new file mode 100644
index 00000000000..415d4826f87
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1i.etx
@@ -0,0 +1,56 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% copyright 1998, 1999, 2002 the fontinst maintenance team
+% and any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \texttt{OT1} encoding for italic fonts}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This file is used to install an italic \texttt{OT1}-encoded font. It
+is necessary to distinguish between roman and italic in \texttt{OT1},
+because the \texttt{sterling} and \texttt{dollar} glyphs share the
+same slot.
+
+\section{Default values}
+\showbranches
+\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}
+\setint{italicizing}{1}
+
+\inputetx{ot1}
+
+\endencoding
+
+\section{Changes}
+
+1999/10/27: Added \textsf{fontdoc} markup. (LH)
+
+2002/07/31:
+Minor update called for by changes in \texttt{ot1.etx}. (LH)
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1ij.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1ij.etx
new file mode 100644
index 00000000000..8564c3f50af
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1ij.etx
@@ -0,0 +1,56 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% copyright 1998, 1999, 2002 the fontinst maintenance team
+% and any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \texttt{OT1} encoding for italic fonts}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This file is used to install an italic \texttt{OT1}-encoded font with
+hanging (oldstyle) digits. It is necessary to distinguish between roman
+and italic in \texttt{OT1}, because the \texttt{sterling} and
+\texttt{dollar} glyphs share the same slot.
+
+\section{Default values}
+\showbranches
+\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}
+\setint{italicizing}{1}
+
+\inputetx{ot1}
+
+\endencoding
+
+\section{Changes}
+
+1999/10/27: Added \textsf{fontdoc} markup. (LH)
+
+2002/07/31:
+Minor update called for by changes in \texttt{ot1.etx}. (LH)
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx
new file mode 100644
index 00000000000..610bf1c1eef
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1itt.etx
@@ -0,0 +1,68 @@
+% Copyright 1993 Alan Jeffrey,
+% copyright 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/10/16]
+
+\title{The \texttt{OT1} encoding for typewriter fonts}
+\author{Alan Jeffrey\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+The main use for this file is conversion from PL to MTX format of the
+metrics for a font with the \texttt{TEX TYPEWRITER TEXT}
+codingscheme. It can also be used to install an \texttt{OT1}-%
+typewriter encoded font.
+
+\showbranches
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+% \setint{typewriter}{0}
+% \setcommand\currency{dollar}
+
+\setint{italicizing}{1}
+\setint{ligaturing}{0}
+
+\comment{Then we call \texttt{ot1.etx}.}
+
+\inputetx{ot1}
+
+\endencoding
+
+\section{Changes}
+
+1993/12/29: File created. (ASAJ)
+
+1999/11/04: Updated for v\,1.909 \texttt{ot1.etx} and added
+\textsf{fontdoc} markup. (LH)
+
+2002/07/31: Updated for v\,1.921 \texttt{ot1.etx} and corrected the
+name of the currency glyph. (LH)
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1j.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1j.etx
new file mode 100644
index 00000000000..4fdd71bcad3
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1j.etx
@@ -0,0 +1,52 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% copyright 1998, 1999, 2002 the fontinst maintenance team
+% and any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \texttt{OT1} encoding for italic fonts}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This file is used to install an \texttt{OT1}-encoded font with hanging
+(oldstyle) digits.
+
+\section{Default values}
+\showbranches
+\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{ot1}
+
+\endencoding
+
+\section{Changes}
+
+1999/10/27: Added \textsf{fontdoc} markup. (LH)
+
+2002/07/31: Minor fixes. (LH)
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/ot1tt.etx b/Master/texmf-dist/tex/fontinst/latinetx/ot1tt.etx
new file mode 100644
index 00000000000..23cbd66ac30
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/ot1tt.etx
@@ -0,0 +1,66 @@
+% Copyright 1993 Alan Jeffrey,
+% copyright 1999, 2002 the fontinst maintenance team
+% and any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/03/16]
+
+\title{The \texttt{OT1} encoding for typewriter fonts}
+\author{Alan Jeffrey\and Lars Hellstr\"om}
+\date{See also the normal \texttt{OT1} encoding}
+
+\begin{document}
+\maketitle
+
+The main use for this file is conversion from PL to MTX format of the
+metrics for a font with the \texttt{TEX TYPEWRITER TEXT}
+codingscheme. It can also be used to install an \texttt{OT1}-%
+encoded font with that codingscheme.
+
+\showbranches
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setcommand\lc#1#2{#2}
+\setcommand\uc#1#2{#1}
+\setcommand\lclig#1#2{#2}
+\setcommand\uclig#1#2{#1}
+\setcommand\digit#1{#1}
+% \setint{typewriter}{0}
+% \setcommand\currency{dollar}
+\setint{ligaturing}{0}
+
+\comment{Then we call \texttt{ot1.etx}.}
+
+\inputetx{ot1}
+
+\endencoding
+
+\section{Changes}
+
+1993/12/29: File created. (ASAJ)
+
+1999/11/04: Updated for v\,1.909 \texttt{ot1.etx} and added
+\textsf{fontdoc} markup. (LH)
+
+2002/07/31: Updated for v\,1.921 \texttt{ot1.etx}. (LH)
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/t1.etx b/Master/texmf-dist/tex/fontinst/latinetx/t1.etx
new file mode 100644
index 00000000000..541211c8a14
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/t1.etx
@@ -0,0 +1,1452 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Alan Jeffrey and Sebastian Rahtz and
+%%% Ulrik Vieth and Lars Hellstr{\"o}m",
+%%% version = "1.923",
+%%% date = "2002-10-29",
+%%% time = "00:17:50 +01:00",
+%%% filename = "t1.etx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the T1 encoding as a TeX font encoding
+%%% file, for use with the fontinst utility.
+%%% It implements the TeX extended text encoding.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[TS1,T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{fontdoc}
+
+\showbranches
+
+\title{The \TeX\ extended text encoding vector}
+\author{Alan Jeffrey\and Sebastian Rahtz\and Ulrik Vieth\and
+ Lars Hellstr\"om}
+\date{26 October 2002\\Version 1.923}
+
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the Cork (\texttt{T1}) text encoding.
+
+The following macros play an important role in this file, since they
+are involved in determining the names of most glyphs that will be put
+in some slot.
+\begin{itemize}
+\item
+ \verb|\lc{A}{a}| should return the name of a lower-case
+ glyph, for example `\texttt{a}' or `\texttt{Asmall}'.
+\item
+ \verb|\uc{A}{a}| should return the name of an upper-case
+ glyph, for example `\texttt{A}' or `\texttt{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 `\texttt{aacute}' or `\texttt{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 `\texttt{Aacute}' or `\texttt{Aacutemedium}'.
+\item
+ \verb|\lclig{FI}{fi}| should return the name of a lower-case
+ ligature, for example `\texttt{fi}' or `\texttt{FIsmall}'.
+\item
+ \verb|\uclig{FI}{fi}| should return the name of an upper-case
+ ligature, for example `\texttt{FI}' or `\texttt{FImedium}'.
+\item
+ \verb|\digit{zero}| should return the name of a digit, for
+ example `\texttt{zero}' or `\texttt{zerooldstyle}'.
+\end{itemize}
+By explicitly defining them, the encoding can (to some extent) be
+customised. All these macros should expand in the mouth,
+otherwise you may get error messages!
+
+For example, to get the standard upper and lower case font (which is
+the default), 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}
+In this document, the glyph names shown are for the upper and
+lower case variant.
+
+Another important parameter is the integer variable \textit{ligaturing},
+which controls to what extent (non-mandatory) ligatures are made. The
+value of this variable is interpreted as follows:
+\begin{enumerate}
+ \item[$1$]
+ All the standard ligature glyphs (\texttt{fi}, \texttt{fl},
+ \texttt{ff}, \texttt{ffi}, \texttt{ffl}, \texttt{IJ}, and
+ \texttt{ij}) are included and the normal ligaturing instructions
+ (those for the \texttt{f}-ligatures) are included.
+ \item[$0$]
+ All the standard ligature glyphs are included, but none of their
+ ligaturing instructions.
+ \item[$-1$]
+ The seven slots normally used for ligatures are left empty.
+ \item[$-2$]
+ The seven slots normally used for ligatures are left empty, as
+ are the slots normally used for \texttt{c}, \texttt{f},
+ \texttt{s}, \texttt{i}, and \texttt{I}.
+\end{enumerate}
+The default value is $0$ for monowidth fonts (because the ligature
+glyphs in such fonts are often useless) and $1$ otherwise. The
+negative values are useful when making fonts with a nonstandard
+set of ligatures; the idea is that some other (smaller) encoding file
+should set these remaining slots.
+
+
+\encoding
+
+\needsfontinstversion{1.910}
+
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\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}
+
+\ifisint{monowidth}\then
+ \setint{ligaturing}{0}
+\Else
+ \setint{ligaturing}{1}
+\Fi
+
+\comment{The remaining code in this section sets various metric
+parameters for the font. Ideally, all these parameters should already
+have been set; the values computed here are merely crude guesses
+about what might be the right value.}
+
+\setint{italicslant}{0}
+\setint{quad}{1000}
+\setint{baselineskip}{1200}
+
+\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
+
+\ifisint{monowidth}\then
+ \setint{stretchword}{0}
+ \setint{shrinkword}{0}
+ \setint{extraspace}{\int{interword}}
+\Else
+ \setint{stretchword}{\scale{\int{interword}}{600}}
+ \setint{shrinkword}{\scale{\int{interword}}{240}}
+ \setint{extraspace}{\scale{\int{interword}}{240}}
+\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
+% end changes by Thierry
+
+
+\begincomment
+\section{Font parameters}
+\endcomment
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+\setfontdimen{8}{capheight} % cap height
+\setfontdimen{9}{ascender} % ascender
+\setfontdimen{10}{acccapheight} % accented cap height
+\setfontdimen{11}{descender} % descender's depth
+\setfontdimen{12}{maxheight} % max height
+\setfontdimen{13}{maxdepth} % max depth
+\setfontdimen{14}{digitwidth} % digit width
+\setfontdimen{15}{verticalstem} % dominant width of verical stems
+\setfontdimen{16}{baselineskip} % baselineskip
+
+\ifnumber{\int{ligaturing}}<{0}\then
+ \comment{In this case, the codingscheme can be different from the
+ default, and therefore we refrain from setting it.}
+\Else
+ \setstr{codingscheme}{EXTENDED TEX FONT ENCODING - LATIN}
+\Fi
+
+
+
+\begincomment
+\section{The encoding}
+There are 256 glyphs in this encoding.
+\endcomment
+
+\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{quotesinglbase}
+ \comment{A German single quote mark `\quotesinglbase' similar to a comma,
+ but with different sidebearings.}
+\endsetslot
+
+\setslot{guilsinglleft}
+ \comment{A French single opening quote mark `\guilsinglleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{guilsinglright}
+ \comment{A French single closing quote mark `\guilsinglright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{quotedblleft}
+ \comment{The English opening quote mark `\,\textquotedblleft\,'.}
+\endsetslot
+
+\setslot{quotedblright}
+ \comment{The English closing quote mark `\,\textquotedblright\,'.}
+\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 French double opening quote mark `\guillemotleft',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{guillemotright}
+ \comment{A French closing opening quote mark `\guillemotright',
+ unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{rangedash}
+ \ligature{LIG}{hyphen}{punctdash}
+ \comment{The number range dash `1--9'. In a monowidth font, this
+ might be set as `\texttt{1{-}9}'.}
+\endsetslot
+
+\setslot{punctdash}
+ \comment{The punctuation dash `Oh---boy.' In a monowidth font, this
+ might be set as `\texttt{Oh{-}{-}boy.}'}
+\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
+
+\ifnumber{\int{ligaturing}}<{0}\then \skipslots{5}\Else
+
+\setslot{\lclig{FF}{ff}}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \ligature{LIG}{\lc{I}{i}}{\lclig{FFI}{ffi}}
+ \ligature{LIG}{\lc{L}{l}}{\lclig{FFL}{ffl}}
+ \Fi
+ \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{visiblespace}
+ \comment{A visible space glyph `\textvisiblespace'.}
+\endsetslot
+
+\setslot{exclam}
+ \ligature{LIG}{quoteleft}{exclamdown}
+ \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\char`\"}' 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}
+ \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
+
+\ifnumber{\int{ligaturing}}<{-1}\then \skipslots{1}\Else
+
+\setslot{\uc{I}{i}}
+ \comment{The letter `{I}'.}
+\endsetslot
+
+\Fi
+
+\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
+
+\ifnumber{\int{ligaturing}}<{-1}\then \skipslots{1}\Else
+
+ \setslot{\lc{C}{c}}
+ \comment{The letter `{c}'.}
+ \endsetslot
+
+\Fi
+
+\setslot{\lc{D}{d}}
+ \comment{The letter `{d}'.}
+\endsetslot
+
+\setslot{\lc{E}{e}}
+ \comment{The letter `{e}'.}
+\endsetslot
+
+\ifnumber{\int{ligaturing}}<{-1}\then \skipslots{1}\Else
+
+ \setslot{\lc{F}{f}}
+ \ifnumber{\int{ligaturing}}>{0}\then
+ \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
+
+\Fi
+
+\setslot{\lc{G}{g}}
+ \comment{The letter `{g}'.}
+\endsetslot
+
+\setslot{\lc{H}{h}}
+ \comment{The letter `{h}'.}
+\endsetslot
+
+\ifnumber{\int{ligaturing}}<{-1}\then \skipslots{1}\Else
+
+ \setslot{\lc{I}{i}}
+ \comment{The letter `{i}'.}
+ \endsetslot
+
+\Fi
+
+\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
+
+\ifnumber{\int{ligaturing}}<{-1}\then \skipslots{1}\Else
+
+ \setslot{\lc{S}{s}}
+ \comment{The letter `{s}'.}
+ \endsetslot
+
+\Fi
+
+\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{\uctop{Abreve}{abreve}}
+ \comment{The letter `\u A'.}
+\endsetslot
+
+\setslot{\uc{Aogonek}{aogonek}}
+ \comment{The letter `\k A'.}
+\endsetslot
+
+\setslot{\uctop{Cacute}{cacute}}
+ \comment{The letter `\' C'.}
+\endsetslot
+
+\setslot{\uctop{Ccaron}{ccaron}}
+ \comment{The letter `\v C'.}
+\endsetslot
+
+\setslot{\uctop{Dcaron}{dcaron}}
+ \comment{The letter `\v D'.}
+\endsetslot
+
+\setslot{\uctop{Ecaron}{ecaron}}
+ \comment{The letter `\v E'.}
+\endsetslot
+
+\setslot{\uc{Eogonek}{eogonek}}
+ \comment{The letter `\k E'.}
+\endsetslot
+
+\setslot{\uctop{Gbreve}{gbreve}}
+ \comment{The letter `\u G'.}
+\endsetslot
+
+\setslot{\uctop{Lacute}{lacute}}
+ \comment{The letter `\' L'.}
+\endsetslot
+
+\setslot{\uc{Lcaron}{lcaron}}
+ \comment{The letter `\v L'.}
+\endsetslot
+
+\setslot{\uc{Lslash}{lslash}}
+ \comment{The letter `\L'.}
+\endsetslot
+
+\setslot{\uctop{Nacute}{nacute}}
+ \comment{The letter `\' N'.}
+\endsetslot
+
+\setslot{\uctop{Ncaron}{ncaron}}
+ \comment{The letter `\v N'.}
+\endsetslot
+
+\setslot{\uc{Ng}{ng}}
+ \comment{The Sami letter `\NG'. It is unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uctop{Ohungarumlaut}{ohungarumlaut}}
+ \comment{The letter `\H O'.}
+\endsetslot
+
+\setslot{\uctop{Racute}{racute}}
+ \comment{The letter `\' R'.}
+\endsetslot
+
+\setslot{\uctop{Rcaron}{rcaron}}
+ \comment{The letter `\v R'.}
+\endsetslot
+
+\setslot{\uctop{Sacute}{sacute}}
+ \comment{The letter `\' S'.}
+\endsetslot
+
+\setslot{\uctop{Scaron}{scaron}}
+ \comment{The letter `\v S'.}
+\endsetslot
+
+\setslot{\uc{Scedilla}{scedilla}}
+ \comment{The letter `\c S'.}
+\endsetslot
+
+\setslot{\uctop{Tcaron}{tcaron}}
+ \comment{The letter `\v T'.}
+\endsetslot
+
+\setslot{\uc{Tcedilla}{tcedilla}}
+ \comment{The letter `\c T'.}
+\endsetslot
+
+\setslot{\uctop{Uhungarumlaut}{uhungarumlaut}}
+ \comment{The letter `\H U'.}
+\endsetslot
+
+\setslot{\uctop{Uring}{uring}}
+ \comment{The letter `\r U'.}
+\endsetslot
+
+\setslot{\uctop{Ydieresis}{ydieresis}}
+ \comment{The letter `\" Y'.}
+\endsetslot
+
+\setslot{\uctop{Zacute}{zacute}}
+ \comment{The letter `\' Z'.}
+\endsetslot
+
+\setslot{\uctop{Zcaron}{zcaron}}
+ \comment{The letter `\v Z'.}
+\endsetslot
+
+\setslot{\uctop{Zdotaccent}{zdotaccent}}
+ \comment{The letter `\. Z'.}
+\endsetslot
+
+\ifnumber{\int{ligaturing}}<{0}\then \skipslots{1}\Else
+
+ \setslot{\uclig{IJ}{ij}}
+ \comment{The letter `IJ'. This is a single letter, and in a
+ monowidth font should ideally be one letter wide.}
+ \endsetslot
+
+\Fi
+
+\setslot{\uctop{Idotaccent}{idotaccent}}
+ \comment{The letter `\. I'.}
+\endsetslot
+
+\setslot{\lc{Dbar}{dbar}}
+ \comment{The letter `\dj'.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{\lctop{Abreve}{abreve}}
+ \comment{The letter `\u a'.}
+\endsetslot
+
+\setslot{\lc{Aogonek}{aogonek}}
+ \comment{The letter `\k a'.}
+\endsetslot
+
+\setslot{\lctop{Cacute}{cacute}}
+ \comment{The letter `\' c'.}
+\endsetslot
+
+\setslot{\lctop{Ccaron}{ccaron}}
+ \comment{The letter `\v c'.}
+\endsetslot
+
+\setslot{\lctop{Dcaron}{dcaron}}
+ \comment{The letter `\v d'.}
+\endsetslot
+
+\setslot{\lctop{Ecaron}{ecaron}}
+ \comment{The letter `\v e'.}
+\endsetslot
+
+\setslot{\lc{Eogonek}{eogonek}}
+ \comment{The letter `\k e'.}
+\endsetslot
+
+\setslot{\lctop{Gbreve}{gbreve}}
+ \comment{The letter `\u g'.}
+\endsetslot
+
+\setslot{\lctop{Lacute}{lacute}}
+ \comment{The letter `\' l'.}
+\endsetslot
+
+\setslot{\lc{Lcaron}{lcaron}}
+ \comment{The letter `\v l'.}
+\endsetslot
+
+\setslot{\lc{Lslash}{lslash}}
+ \comment{The letter `\l'.}
+\endsetslot
+
+\setslot{\lctop{Nacute}{nacute}}
+ \comment{The letter `\' n'.}
+\endsetslot
+
+\setslot{\lctop{Ncaron}{ncaron}}
+ \comment{The letter `\v n'.}
+\endsetslot
+
+\setslot{\lc{Ng}{ng}}
+ \comment{The Sami letter `\ng'. It is unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lctop{Ohungarumlaut}{ohungarumlaut}}
+ \comment{The letter `\H o'.}
+\endsetslot
+
+\setslot{\lctop{Racute}{racute}}
+ \comment{The letter `\' r'.}
+\endsetslot
+
+\setslot{\lctop{Rcaron}{rcaron}}
+ \comment{The letter `\v r'.}
+\endsetslot
+
+\setslot{\lctop{Sacute}{sacute}}
+ \comment{The letter `\' s'.}
+\endsetslot
+
+\setslot{\lctop{Scaron}{scaron}}
+ \comment{The letter `\v s'.}
+\endsetslot
+
+\setslot{\lc{Scedilla}{scedilla}}
+ \comment{The letter `\c s'.}
+\endsetslot
+
+\setslot{\lctop{Tcaron}{tcaron}}
+ \comment{The letter `\v t'.}
+\endsetslot
+
+\setslot{\lc{Tcedilla}{tcedilla}}
+ \comment{The letter `\c t'.}
+\endsetslot
+
+\setslot{\lctop{Uhungarumlaut}{uhungarumlaut}}
+ \comment{The letter `\H u'.}
+\endsetslot
+
+\setslot{\lctop{Uring}{uring}}
+ \comment{The letter `\r u'.}
+\endsetslot
+
+\setslot{\lctop{Ydieresis}{ydieresis}}
+ \comment{The letter `\" y'.}
+\endsetslot
+
+\setslot{\lctop{Zacute}{zacute}}
+ \comment{The letter `\' z'.}
+\endsetslot
+
+\setslot{\lctop{Zcaron}{zcaron}}
+ \comment{The letter `\v z'.}
+\endsetslot
+
+\setslot{\lctop{Zdotaccent}{zdotaccent}}
+ \comment{The letter `\. z'.}
+\endsetslot
+
+\ifnumber{\int{ligaturing}}<{0}\then \skipslots{1}\Else
+
+ \setslot{\lclig{IJ}{ij}}
+ \comment{The letter `ij'. This is a single letter, and in a
+ monowidth font should ideally be one letter wide.}
+ \endsetslot
+
+\Fi
+
+\setslot{exclamdown}
+ \comment{The Spanish punctuation mark `!`'.}
+\endsetslot
+
+\setslot{questiondown}
+ \comment{The Spanish punctuation mark `?`'.}
+\endsetslot
+
+\setslot{sterling}
+ \comment{The British currency mark `\textsterling'.}
+\endsetslot
+
+\setslot{\uctop{Agrave}{agrave}}
+ \comment{The letter `\` A'.}
+\endsetslot
+
+\setslot{\uctop{Aacute}{aacute}}
+ \comment{The letter `\' A'.}
+\endsetslot
+
+\setslot{\uctop{Acircumflex}{acircumflex}}
+ \comment{The letter `\^ A'.}
+\endsetslot
+
+\setslot{\uctop{Atilde}{atilde}}
+ \comment{The letter `\~ A'.}
+\endsetslot
+
+\setslot{\uctop{Adieresis}{adieresis}}
+ \comment{The letter `\" A'.}
+\endsetslot
+
+\setslot{\uctop{Aring}{aring}}
+ \comment{The letter `\r A'.}
+\endsetslot
+
+\setslot{\uc{AE}{ae}}
+ \comment{The letter `\AE'. This is a single letter, and should not be
+ faked with `AE'.}
+\endsetslot
+
+\setslot{\uc{Ccedilla}{ccedilla}}
+ \comment{The letter `\c C'.}
+\endsetslot
+
+\setslot{\uctop{Egrave}{egrave}}
+ \comment{The letter `\` E'.}
+\endsetslot
+
+\setslot{\uctop{Eacute}{eacute}}
+ \comment{The letter `\' E'.}
+\endsetslot
+
+\setslot{\uctop{Ecircumflex}{ecircumflex}}
+ \comment{The letter `\^ E'.}
+\endsetslot
+
+\setslot{\uctop{Edieresis}{edieresis}}
+ \comment{The letter `\" E'.}
+\endsetslot
+
+\setslot{\uctop{Igrave}{igrave}}
+ \comment{The letter `\` I'.}
+\endsetslot
+
+\setslot{\uctop{Iacute}{iacute}}
+ \comment{The letter `\' I'.}
+\endsetslot
+
+\setslot{\uctop{Icircumflex}{icircumflex}}
+ \comment{The letter `\^ I'.}
+\endsetslot
+
+\setslot{\uctop{Idieresis}{idieresis}}
+ \comment{The letter `\" I'.}
+\endsetslot
+
+\setslot{\uc{Eth}{eth}}
+ \comment{The uppercase Icelandic letter `Eth' similar to a `D'
+ with a horizontal bar through the stem. It is unavailable
+ in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uctop{Ntilde}{ntilde}}
+ \comment{The letter `\~ N'.}
+\endsetslot
+
+\setslot{\uctop{Ograve}{ograve}}
+ \comment{The letter `\` O'.}
+\endsetslot
+
+\setslot{\uctop{Oacute}{oacute}}
+ \comment{The letter `\' O'.}
+\endsetslot
+
+\setslot{\uctop{Ocircumflex}{ocircumflex}}
+ \comment{The letter `\^ O'.}
+\endsetslot
+
+\setslot{\uctop{Otilde}{otilde}}
+ \comment{The letter `\~ O'.}
+\endsetslot
+
+\setslot{\uctop{Odieresis}{odieresis}}
+ \comment{The letter `\" O'.}
+\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
+
+\setslot{\uctop{Ugrave}{ugrave}}
+ \comment{The letter `\` U'.}
+\endsetslot
+
+\setslot{\uctop{Uacute}{uacute}}
+ \comment{The letter `\' U'.}
+\endsetslot
+
+\setslot{\uctop{Ucircumflex}{ucircumflex}}
+ \comment{The letter `\^ U'.}
+\endsetslot
+
+\setslot{\uctop{Udieresis}{udieresis}}
+ \comment{The letter `\" U'.}
+\endsetslot
+
+\setslot{\uctop{Yacute}{yacute}}
+ \comment{The letter `\' Y'.}
+\endsetslot
+
+\setslot{\uc{Thorn}{thorn}}
+ \comment{The Icelandic capital letter Thorn, similar to a `P'
+ with the bowl moved down. It is unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\uclig{SS}{germandbls}}
+ \comment{The ligature `SS', used to give an upper case `\ss'.
+ In a monowidth font it should be two letters wide.}
+\endsetslot
+
+\setslot{\lctop{Agrave}{agrave}}
+ \comment{The letter `\` a'.}
+\endsetslot
+
+\setslot{\lctop{Aacute}{aacute}}
+ \comment{The letter `\' a'.}
+\endsetslot
+
+\setslot{\lctop{Acircumflex}{acircumflex}}
+ \comment{The letter `\^ a'.}
+\endsetslot
+
+\setslot{\lctop{Atilde}{atilde}}
+ \comment{The letter `\~ a'.}
+\endsetslot
+
+\setslot{\lctop{Adieresis}{adieresis}}
+ \comment{The letter `\" a'.}
+\endsetslot
+
+\setslot{\lctop{Aring}{aring}}
+ \comment{The letter `\r a'.}
+\endsetslot
+
+\setslot{\lc{AE}{ae}}
+ \comment{The letter `\ae'. This is a single letter, and should not be
+ faked with `ae'.}
+\endsetslot
+
+\setslot{\lc{Ccedilla}{ccedilla}}
+ \comment{The letter `\c c'.}
+\endsetslot
+
+\setslot{\lctop{Egrave}{egrave}}
+ \comment{The letter `\` e'.}
+\endsetslot
+
+\setslot{\lctop{Eacute}{eacute}}
+ \comment{The letter `\' e'.}
+\endsetslot
+
+\setslot{\lctop{Ecircumflex}{ecircumflex}}
+ \comment{The letter `\^ e'.}
+\endsetslot
+
+\setslot{\lctop{Edieresis}{edieresis}}
+ \comment{The letter `\" e'.}
+\endsetslot
+
+\setslot{\lctop{Igrave}{igrave}}
+ \comment{The letter `\`\i'.}
+\endsetslot
+
+\setslot{\lctop{Iacute}{iacute}}
+ \comment{The letter `\'\i'.}
+\endsetslot
+
+\setslot{\lctop{Icircumflex}{icircumflex}}
+ \comment{The letter `\^\i'.}
+\endsetslot
+
+\setslot{\lctop{Idieresis}{idieresis}}
+ \comment{The letter `\"\i'.}
+\endsetslot
+
+\setslot{\lc{Eth}{eth}}
+ \comment{The Icelandic lowercase letter `eth' similar to
+ a `$\partial$' with an oblique bar through the stem.
+ It is unavailable in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lctop{Ntilde}{ntilde}}
+ \comment{The letter `\~ n'.}
+\endsetslot
+
+\setslot{\lctop{Ograve}{ograve}}
+ \comment{The letter `\` o'.}
+\endsetslot
+
+\setslot{\lctop{Oacute}{oacute}}
+ \comment{The letter `\' o'.}
+\endsetslot
+
+\setslot{\lctop{Ocircumflex}{ocircumflex}}
+ \comment{The letter `\^ o'.}
+\endsetslot
+
+\setslot{\lctop{Otilde}{otilde}}
+ \comment{The letter `\~ o'.}
+\endsetslot
+
+\setslot{\lctop{Odieresis}{odieresis}}
+ \comment{The letter `\" o'.}
+\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{\lctop{Ugrave}{ugrave}}
+ \comment{The letter `\` u'.}
+\endsetslot
+
+\setslot{\lctop{Uacute}{uacute}}
+ \comment{The letter `\' u'.}
+\endsetslot
+
+\setslot{\lctop{Ucircumflex}{ucircumflex}}
+ \comment{The letter `\^ u'.}
+\endsetslot
+
+\setslot{\lctop{Udieresis}{udieresis}}
+ \comment{The letter `\" u'.}
+\endsetslot
+
+\setslot{\lctop{Yacute}{yacute}}
+ \comment{The letter `\' y'.}
+\endsetslot
+
+\setslot{\lc{Thorn}{thorn}}
+ \comment{The Icelandic lowercase letter `thorn', similar to a `p'
+ with an ascender rising from the stem. It is unavailable
+ in \plain\ \TeX.}
+\endsetslot
+
+\setslot{\lc{SS}{germandbls}}
+ \comment{The letter `\ss'.}
+\endsetslot
+
+\endencoding
+
+
+\section{Changes}
+
+This is one of the files which have been with \textsf{fontinst}
+``forever'', so a lot of the early changes where probably never
+recorded. The following are from the \texttt{CHANGES} file.
+
+1994/06/01 (v\,1.327): Removed the f-liagatures for monowidth fonts.
+(ASAJ) Sebastian spotted that one.
+
+1994/11/29 (v\,1.401): Added \texttt{hyphen}${}*{}$\texttt{hyphenchar}%
+${}\rightarrow{}$\texttt{hyphenchar} ligature (so that foo-bar words
+can be hyphenated as foo$\langle\mbox{\textit{hyphenchar}}\rangle$bar)%
+---spotted by Frank Mittelbach. Made default stretch and shrink 50\%
+and 16.7\% of interword space respectively. (ASAJ)
+
+1996/01/23 (v\,1.504):
+Included some of Sebastian's changes: upped stretch and shrink to $.6$
+and $.24$ of space; reduced extra space after {.} to $.24$ of space;
+made \verb|\setslot{grave}| etc.\ into
+\verb|\setslot{\lc{Grave}{grave}}| etc. (ASAJ)
+
+\bigskip
+\noindent The following changes have been made after changes stopped
+being recorded in the \texttt{CHANGES} file.
+
+1997/02/07 (v\,1.7): Added code for calculating values for and setting
+the extra fontdimens found in the \texttt{ec} fonts. (Thierry Bouche)
+
+1998/06/29 (v\,1.8): Using \texttt{T1} encoding for character
+examples. (UV)
+
+2002/10/26 (v\,1.923): Added \TypesetIntegerExpression{\int{ligaturing}}
+parameter. Using \verb|\showbranches|. Using \verb|\setfontdimen|.
+Changed definition of fontdimen 15 slightly---from ``the width of
+capital vertical stems'' to ``the dominant width of vertical stems'',
+which is provided in AFM files. (LH)
+
+
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/t1c.etx b/Master/texmf-dist/tex/fontinst/latinetx/t1c.etx
new file mode 100644
index 00000000000..2805f64d461
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/t1c.etx
@@ -0,0 +1,63 @@
+\relax
+
+% t1c.etx -- install a T1-encoded faked small-caps font
+%
+% This is used to install expertized or faked small-caps fonts;
+% real small caps fonts built from fonts with variant c8r are
+% installed using the default t1.etx.
+
+\encoding
+
+% We define the parameters for t1.etx to produce a c&sc font.
+
+\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}
+
+%%
+ % Commented out 2002/12/14, since t1.etx does this more carefully
+ % anyway. It could perhaps be useful to use the width of `Ismall'
+ % instead of `i', but even that is dubious. (LH)
+ %
+ % \ifisglyph{space}\then
+ % \setint{interword}{\width{space}}
+ % \else\ifisglyph{i}\then
+ % \setint{interword}{\width{i}}
+ % \else
+ % \setint{interword}{333}
+ % \fi\fi
+ %%
+
+%%
+ % Commented out 2002/12/14, since these parameters are anyway never used
+ % by t1.etx (they are used by latin.mtx, but by the time we get here, that
+ % file has already been processed). (LH)
+ %
+ % % The default letter spacing is 1/10 of the design size, with small
+ % % caps 80% the size of large caps.
+ %
+ % \setint{smallcapsscale}{800}
+ %
+ % \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
+
+% Then we call t1.etx.
+
+\inputetx{t1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/t1cj.etx b/Master/texmf-dist/tex/fontinst/latinetx/t1cj.etx
new file mode 100644
index 00000000000..2c80b3821b8
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/t1cj.etx
@@ -0,0 +1,51 @@
+\relax
+
+% t1cj.etx -- install a T1-encoded faked small-caps & oldstyle font
+%
+% This is used to install expertized or faked small-caps fonts;
+% real small caps fonts built from fonts with variant c8r are
+% installed using the default t1.etx.
+
+\encoding
+
+% We define the parameters for t1.etx to produce a c&sc font.
+
+\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
+
+% Then we call t1.etx.
+
+\inputetx{t1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/t1i.etx b/Master/texmf-dist/tex/fontinst/latinetx/t1i.etx
new file mode 100644
index 00000000000..99b9819b206
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/t1i.etx
@@ -0,0 +1,20 @@
+\relax
+
+% t1i.etx -- install a T1-encoded italic font
+%
+% We do not need to distinguish between roman and italic in T1,
+% hence we simply call t1.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{t1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/t1ij.etx b/Master/texmf-dist/tex/fontinst/latinetx/t1ij.etx
new file mode 100644
index 00000000000..6eb3e286193
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/t1ij.etx
@@ -0,0 +1,20 @@
+\relax
+
+% t1ij.etx -- install a T1-encoded italic font with oldstyle digits
+%
+% We do not need to distinguish between roman and italic in T1,
+% hence we simply call t1.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{t1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/t1j.etx b/Master/texmf-dist/tex/fontinst/latinetx/t1j.etx
new file mode 100644
index 00000000000..b8e575968e4
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/t1j.etx
@@ -0,0 +1,20 @@
+\relax
+
+% t1j.etx -- install a T1-encoded roman font with oldstyle digits
+%
+% We do not need to distinguish between roman and italic in T1,
+% hence we simply call t1.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{t1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/latinetx/txtfdmns.etx b/Master/texmf-dist/tex/fontinst/latinetx/txtfdmns.etx
new file mode 100644
index 00000000000..a2242468b60
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinetx/txtfdmns.etx
@@ -0,0 +1,136 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\begin{document}
+
+\title{\texttt{textfdim} --- text font dimensions}
+\author{Alan Jeffrey\and Thierry Bouche\and Sebastian Rahtz\and
+ Lars Hellstr\"om}
+\date{2002/10/25}
+\maketitle
+
+\begin{abstract}
+ This encoding file sets font dimensions 1--16 as for modern
+ (\texttt{T1}-encoded) text fonts. Much of the code comes from
+ \texttt{t1.etx}.
+\end{abstract}
+
+\showbranches
+
+\encoding
+
+\needsfontinstversion{1.917}
+
+\begincomment
+\section{Default values}
+
+This code tries to produce reasonable values for the font dimensions,
+in case the font metrics didn't specify them. Preferably, all the
+integers computed below should already be set.
+\endcomment
+
+
+\setint{italicslant}{0}
+\setint{quad}{1000}
+
+\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
+
+\ifisint{monowidth}\then
+ \setint{stretchword}{0}
+ \setint{shrinkword}{0}
+ \setint{extraspace}{\int{interword}}
+\Else
+ \setint{stretchword}{\scale{\int{interword}}{600}}
+ \setint{shrinkword}{\scale{\int{interword}}{240}}
+ \setint{extraspace}{\scale{\int{interword}}{240}}
+\Fi
+
+
+\ifisglyph{X}\then
+ \setint{capheight}{\height{X}}
+\Else
+ \setint{capheight}{750}
+\Fi
+
+\ifisglyph{d}\then
+ \setint{ascender}{\height{d}}
+\Else
+ \setint{ascender}{\int{capheight}}
+\Fi
+
+\ifisglyph{Aring}\then
+ \setint{acccapheight}{\height{Aring}}
+ \setint{maxheight}{\height{Aring}}
+\Else
+ \setint{acccapheight}{999}
+ \setint{maxheight}{1000}
+\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
+
+
+\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{baselineskip}{1200}
+
+
+\begincomment
+\section{Defining font dimensions}
+\endcomment
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+\setfontdimen{8}{capheight} % cap height
+\setfontdimen{9}{ascender} % ascender
+\setfontdimen{10}{acccapheight} % accented cap height
+\setfontdimen{11}{descender} % descender's depth
+\setfontdimen{12}{maxheight} % max height
+\setfontdimen{13}{maxdepth} % max depth
+\setfontdimen{14}{digitwidth} % digit width
+\setfontdimen{15}{verticalstem} % dominant width of verical stems
+\setfontdimen{16}{baselineskip} % baselineskip
+
+\endencoding
+
+\section{Changes}
+
+This file was created 2002/10/25.
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx
new file mode 100644
index 00000000000..b15d84069f0
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/8r.mtx
@@ -0,0 +1,234 @@
+% Copyright 1994, 1995, 1996 Constantin Kahn, Sebastian Rathz, and
+% Alan Jeffrey,
+% hacked and maintained 1997, 1998 Sebastian Rathz,
+% copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Constantin Kahn and Sebastian Rathz and
+%%% Ulrik Vieth and Lars Hellstr{\"o}m",
+%%% version = "1.910",
+%%% date = "15 November 1999",
+%%% time = "21:54:57 CET",
+%%% filename = "8r.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "26393 234 602 7162",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the 8r metrics file, for use with the
+%%% fontinst utility. It is used to install raw
+%%% fonts using the 8r encoding.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+% List of changes now at end of file.
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/10/16]
+
+\title{The metric adjustments for ligful \texttt{8r}-encoded fonts}
+\author{Constantin Kahn\and Sebastian Rathz\and
+ Ulrik Vieth\and Lars Hellstr\"om}
+\date{15 November 1999 \\
+Version 1.910}
+
+\begin{document}
+\maketitle
+
+This file is just the part of \texttt{latin.mtx} that's needed for
+installing kern-and-ligful \texttt{8r} fonts.
+
+\showbranches
+
+\metrics
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Duplicating glyphs}
+
+This part has been commented out since as of v\,1.9 \textsf{fontinst}
+has no problem putting the same glyph in several slots (it used to
+cause some kerns and ligatures to be lost).
+\endcomment
+
+% Get a `space' into the `alternate-space' slot (nee `nbspace')
+%
+%\setglyph{alternate-space}
+% \glyph{space}{1000}
+%\endsetglyph
+
+
+% \setglyph{alternate-hyphen}
+% \glyph{hyphen}{1000}
+% \comment{Get a \texttt{hyphen} into the \texttt{alternate-hyphen}
+% slot (nee \texttt{softhyphen}).}
+% \endsetglyph
+
+% The LGC claims that `quoteleft' and `quoteright' appear twice,
+% which is not the case for 8r.enc, but does apply for texnansi.enc.
+% We prefer the ASCII position and mark the second one as unused.
+%
+%\setglyph{quoteleft-unused}
+% \glyph{quoteleft}{1000}
+%\endsetglyph
+%\setglyph{quoteright-unused}
+% \glyph{quoteright}{1000}
+%\endsetglyph
+
+
+\begincomment
+\section{Kerning}
+Kern accented characters the same way as their base characters.
+Characters are listed in the order in which they appear in
+\texttt{8r.enc}.
+\endcomment
+
+
+% 0-31, 128-159
+\setleftrightkerning{Lslash}{L}{1000}
+%\setleftrightkerning{lslash}{l}{1000}
+
+\setleftrightkerning{Zcaron}{Z}{1000}
+%\setleftrightkerning{zcaron}{z}{1000}
+
+\setleftrightkerning{Scaron}{S}{1000}
+%\setleftrightkerning{scaron}{s}{1000}
+
+\setleftrightkerning{Ydieresis}{Y}{1000}
+
+% 192-255
+\setleftrightkerning{Agrave}{A}{1000}
+\setleftrightkerning{Aacute}{A}{1000}
+\setleftrightkerning{Acircumflex}{A}{1000}
+\setleftrightkerning{Atilde}{A}{1000}
+\setleftrightkerning{Adieresis}{A}{1000}
+\setleftrightkerning{Aring}{A}{1000}
+
+\setleftrightkerning{Ccedilla}{C}{1000}
+
+\setleftrightkerning{Egrave}{E}{1000}
+\setleftrightkerning{Eacute}{E}{1000}
+\setleftrightkerning{Ecircumflex}{E}{1000}
+\setleftrightkerning{Edieresis}{E}{1000}
+
+\setleftrightkerning{Igrave}{I}{1000}
+\setleftrightkerning{Iacute}{I}{1000}
+\setleftrightkerning{Icircumflex}{I}{1000}
+\setleftrightkerning{Idieresis}{I}{1000}
+
+\setleftrightkerning{Ograve}{O}{1000}
+\setleftrightkerning{Oacute}{O}{1000}
+\setleftrightkerning{Ocircumflex}{O}{1000}
+\setleftrightkerning{Otilde}{O}{1000}
+\setleftrightkerning{Odieresis}{O}{1000}
+\setleftrightkerning{Oslash}{O}{1000}
+
+\setleftrightkerning{Ugrave}{U}{1000}
+\setleftrightkerning{Uacute}{U}{1000}
+\setleftrightkerning{Ucircumflex}{U}{1000}
+\setleftrightkerning{Udieresis}{U}{1000}
+
+\setleftrightkerning{Yacute}{Y}{1000}
+
+%\setleftrightkerning{agrave}{a}{1000}
+%\setleftrightkerning{aacute}{a}{1000}
+%\setleftrightkerning{acircumflex}{a}{1000}
+%\setleftrightkerning{atilde}{a}{1000}
+%\setleftrightkerning{adieresis}{a}{1000}
+%\setleftrightkerning{aring}{a}{1000}
+
+\setleftrightkerning{ccedilla}{c}{1000}
+
+%\setleftrightkerning{egrave}{e}{1000}
+%\setleftrightkerning{eacute}{e}{1000}
+%\setleftrightkerning{ecircumflex}{e}{1000}
+%\setleftrightkerning{edieresis}{e}{1000}
+
+%\setleftrightkerning{igrave}{i}{1000}
+%\setleftrightkerning{iacute}{i}{1000}
+%\setleftrightkerning{icircumflex}{i}{1000}
+%\setleftrightkerning{idieresis}{i}{1000}
+
+%\setleftrightkerning{ograve}{o}{1000}
+%\setleftrightkerning{oacute}{o}{1000}
+%\setleftrightkerning{ocircumflex}{o}{1000}
+%\setleftrightkerning{otilde}{o}{1000}
+%\setleftrightkerning{odieresis}{o}{1000}
+%\setleftrightkerning{oslash}{o}{1000}
+
+%\setleftrightkerning{ugrave}{u}{1000}
+%\setleftrightkerning{uacute}{u}{1000}
+%\setleftrightkerning{ucircumflex}{u}{1000}
+%\setleftrightkerning{udieresis}{u}{1000}
+
+%\setleftrightkerning{yacute}{y}{1000}
+%\setleftrightkerning{ydieresis}{y}{1000}
+
+\begincomment
+\section{Adjusting depth of accents}
+We copy the \verb|\zerodepth| stuff from \texttt{latin.mtx}:
+\endcomment
+
+\setcommand\zerodepth#1{
+ \ifisglyph{#1}\then
+ \resetglyph{#1}
+ \glyph{#1}{1000}
+ \resetdepth{0}
+ \endresetglyph
+ \Fi
+}
+\zerodepth{acute}
+\zerodepth{grave}
+\zerodepth{caron}
+\zerodepth{breve}
+\zerodepth{macron}
+\zerodepth{ring}
+\zerodepth{circumflex}
+\zerodepth{dotaccent}
+\zerodepth{tilde}
+\zerodepth{dieresis}
+
+\endmetrics
+
+\section{Changes}
+
+This file used to contains more kerning commands for lower case glyphs
+than \texttt{latin.mtx} but these were commented out February 1997
+after representation on \TeX-fonts list by Thierry Bouche and others.
+\global\parindent=1em
+
+It also adds a default for the \texttt{alternate-hyphen} glyph.
+
+1997/02/03: An \verb|\ifisglyph| test was added to \verb|\zerodepth|.
+(SPQR)
+
+1998/06/11: \verb|\needsfontinstversion| was updated (to v\,1.800) and
+the definition of \verb|\setleftrightkerning| was removed (now defined
+in \texttt{fontinst.sty}). (UV)
+
+1999/10/25: A typo regarding \texttt{quoteright-unused} (in code
+commented out) was corrected. (UV\&LH)
+
+1999/10/29: \textsf{fontdoc} markup was added and the
+\verb|\needsfontinstversion| was increased to v\,1.900. (LH)
+
+1999/11/10: Code setting \texttt{alternate-hyphen} commented out,
+adjustments made for \verb|\showbranches|, and
+\verb|\needsfontinstversion| was increased to v\,1.909. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx
new file mode 100644
index 00000000000..aca2ea3b9f3
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/8y.mtx
@@ -0,0 +1,251 @@
+% Copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Ulrik Vieth and Lars Hellstr{\"o}m",
+%%% version = "1.910",
+%%% date = "15 November 1999",
+%%% time = "21:55:14 CET",
+%%% filename = "8y.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "",
+%%% checksum = "58019 251 594 7215",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the 8y metrics file, for use with the
+%%% fontinst utility. It is used to install raw
+%%% fonts using the 8y encoding.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+% List of changes now at end of file.
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The metric adjustments for ligful \texttt{8y}-encoded fonts}
+\author{Constantin Kahn\and
+ Sebastian Rathz\and
+ Ulrik Vieth\and
+ Lars Hellstr\"om}
+\date{15 November 1999 \\
+Version 1.910}
+
+\begin{document}
+\maketitle
+
+This file is just the part of \texttt{latin.mtx} that's needed for
+installing kern-and-ligful \texttt{8y} fonts.
+
+\metrics
+
+\needsfontinstversion{1.900}
+
+\begincomment
+\section{Duplicating glyphs}
+
+The code in this part has been commented out since glyph duplicates
+aren't needed anymore.
+\endcomment
+
+
+
+% \setglyph{alternate-space}
+% \glyph{space}{1000}
+% \comment{Get a \texttt{space} into the \texttt{alternate-space} slot
+% (nee \texttt{nbspace}).}
+% \endsetglyph
+
+
+% \setglyph{alternate-hyphen}
+% \glyph{hyphen}{1000}
+% \comment{Get a \texttt{hyphen} into the \texttt{alternate-hyphen} slot
+% (nee \texttt{softhyphen}).}
+% \endsetglyph
+
+
+% \setglyph{quoteleft-unused}
+% \glyph{quoteleft}{1000}
+% \comment{The LGC claims that \texttt{quoteleft} and \texttt{quoteright}
+% appear twice, which is not the case for \texttt{8r.enc}, but does
+% apply for \texttt{texnansi.enc}. We prefer the ASCII position and
+% mark the second one as unused.}
+% \endsetglyph
+% \setglyph{quoteright-unused}
+% \glyph{quoteright}{1000}
+% \comment{As for \texttt{quoteleft-unused}.}
+% \endsetglyph
+
+% \begincomment\medskip
+% Several special characters from \texttt{OT1} appear twice in
+% \texttt{texnansi.enc}, once in their \texttt{OT1} position (0--31) and
+% again in their Windows ANSI or Latin 1 position (128--255). We usually
+% prefer the second one.
+% \endcomment
+%
+% \setglyph{germandbls-OT1}
+% \glyph{germandbls}{1000}
+% \endsetglyph
+% \setglyph{ae-OT1}
+% \glyph{ae}{1000}
+% \endsetglyph
+% \setglyph{oe-OT1}
+% \glyph{oe}{1000}
+% \endsetglyph
+% \setglyph{oslash-OT1}
+% \glyph{oslash}{1000}
+% \endsetglyph
+% \setglyph{AE-OT1}
+% \glyph{AE}{1000}
+% \endsetglyph
+% \setglyph{OE-OT1}
+% \glyph{OE}{1000}
+% \endsetglyph
+% \setglyph{Oslash-OT1}
+% \glyph{Oslash}{1000}
+% \endsetglyph
+
+
+\begincomment
+\section{Kerning}
+Kern accented characters the same way as their base characters.
+Characters are listed in the order in which they appear in
+\texttt{8y.enc}.
+\endcomment
+
+% 128-159
+\setleftrightkerning{Lslash}{L}{1000}
+\setleftrightkerning{Scaron}{S}{1000}
+\setleftrightkerning{Zcaron}{Z}{1000}
+
+%\setleftrightkerning{lslash}{l}{1000}
+%\setleftrightkerning{scaron}{s}{1000}
+%\setleftrightkerning{zcaron}{z}{1000}
+
+\setleftrightkerning{Ydieresis}{Y}{1000}
+
+% 192-255
+\setleftrightkerning{Agrave}{A}{1000}
+\setleftrightkerning{Aacute}{A}{1000}
+\setleftrightkerning{Acircumflex}{A}{1000}
+\setleftrightkerning{Atilde}{A}{1000}
+\setleftrightkerning{Adieresis}{A}{1000}
+\setleftrightkerning{Aring}{A}{1000}
+
+\setleftrightkerning{Ccedilla}{C}{1000}
+
+\setleftrightkerning{Egrave}{E}{1000}
+\setleftrightkerning{Eacute}{E}{1000}
+\setleftrightkerning{Ecircumflex}{E}{1000}
+\setleftrightkerning{Edieresis}{E}{1000}
+
+\setleftrightkerning{Igrave}{I}{1000}
+\setleftrightkerning{Iacute}{I}{1000}
+\setleftrightkerning{Icircumflex}{I}{1000}
+\setleftrightkerning{Idieresis}{I}{1000}
+
+\setleftrightkerning{Ograve}{O}{1000}
+\setleftrightkerning{Oacute}{O}{1000}
+\setleftrightkerning{Ocircumflex}{O}{1000}
+\setleftrightkerning{Otilde}{O}{1000}
+\setleftrightkerning{Odieresis}{O}{1000}
+\setleftrightkerning{Oslash}{O}{1000}
+
+\setleftrightkerning{Ugrave}{U}{1000}
+\setleftrightkerning{Uacute}{U}{1000}
+\setleftrightkerning{Ucircumflex}{U}{1000}
+\setleftrightkerning{Udieresis}{U}{1000}
+
+\setleftrightkerning{Yacute}{Y}{1000}
+
+%\setleftrightkerning{agrave}{a}{1000}
+%\setleftrightkerning{aacute}{a}{1000}
+%\setleftrightkerning{acircumflex}{a}{1000}
+%\setleftrightkerning{atilde}{a}{1000}
+%\setleftrightkerning{adieresis}{a}{1000}
+%\setleftrightkerning{aring}{a}{1000}
+
+\setleftrightkerning{ccedilla}{c}{1000}
+
+%\setleftrightkerning{egrave}{e}{1000}
+%\setleftrightkerning{eacute}{e}{1000}
+%\setleftrightkerning{ecircumflex}{e}{1000}
+%\setleftrightkerning{edieresis}{e}{1000}
+
+%\setleftrightkerning{igrave}{i}{1000}
+%\setleftrightkerning{iacute}{i}{1000}
+%\setleftrightkerning{icircumflex}{i}{1000}
+%\setleftrightkerning{idieresis}{i}{1000}
+
+%\setleftrightkerning{ograve}{o}{1000}
+%\setleftrightkerning{oacute}{o}{1000}
+%\setleftrightkerning{ocircumflex}{o}{1000}
+%\setleftrightkerning{otilde}{o}{1000}
+%\setleftrightkerning{odieresis}{o}{1000}
+%\setleftrightkerning{oslash}{o}{1000}
+
+%\setleftrightkerning{ugrave}{u}{1000}
+%\setleftrightkerning{uacute}{u}{1000}
+%\setleftrightkerning{ucircumflex}{u}{1000}
+%\setleftrightkerning{udieresis}{u}{1000}
+
+%\setleftrightkerning{yacute}{y}{1000}
+%\setleftrightkerning{ydieresis}{y}{1000}
+
+
+\begincomment
+\section{Adjusting depth of accents}
+We copy the \verb|\zerodepth| stuff from \texttt{latin.mtx}:
+\endcomment
+
+\setcommand\zerodepth#1{
+ \ifisglyph{#1}\then
+ \resetglyph{#1}
+ \glyph{#1}{1000}
+ \resetdepth{0}
+ \endresetglyph
+ \fi
+}
+\zerodepth{acute}
+\zerodepth{grave}
+\zerodepth{caron}
+\zerodepth{breve}
+\zerodepth{macron}
+\zerodepth{ring}
+\zerodepth{circumflex}
+\zerodepth{dotaccent}
+\zerodepth{tilde}
+\zerodepth{dieresis}
+
+\endmetrics
+
+\section{Changes}
+
+See also the changes list for \texttt{8r.mtx}.
+
+1998/06/11: This file was created based on a copy of \texttt{8r.mtx}.
+The glyphs \texttt{alternate-space}, \texttt{quoteleft-unused}, and
+\texttt{quoteright-unused} were added. (UV)
+
+1999/10/25: A typo regarding \texttt{quoteright-unused} was corrected.
+(UV\&LH)
+
+1999/10/30: \textsf{fontdoc} markup was added and the
+\verb|\needsfontinstversion| was increased to v\,1.900. (LH)
+
+1999/11/13: Duplication of glyphs was commented out. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx
new file mode 100644
index 00000000000..74692b47689
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/latin.mtx
@@ -0,0 +1,1791 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% hacked and maintained 1997, 1998 Sebastian Rahtz,
+% copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and Walter Schmidt",
+%%% version = "1.916",
+%%% date = "18 March 2003",
+%%% time = "23:59 MESZ",
+%%% filename = "latin.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It provides the defaults
+%%% used to install the Latin glyphs.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The \textsf{fontinst} latin glyphs}
+\author{Alan Jeffrey\and Ulrik Vieth\and Walter Schmidt}
+\date{18 March 2003 \\
+Version 1.916}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the glyphs used by the \textsf{fontinst} package
+when generating Latin fonts. This file, \texttt{latin.mtx}, is intended
+for use with normal fonts or with faked small caps fonts generated by
+scaling and applying some letterspacing. A special version of this
+file, \texttt{latinsc.mtx}, also exists, which may be more suitable for
+use with real small caps glyphs.
+
+\metrics
+
+\needsfontinstversion{1.800}
+
+% \unfakable is a glyph which can't be faked.
+
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \glyphrule{500}{500}
+ \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 command to put an accent at the same height as the dot of the i. (WaS)
+
+\setcommand\itopaccent#1#2#3{
+ \push
+ \moveup{\max{0}{\sub{\height{i}}{\height{#2}}}}
+ \movert{\add{\sub{\scale{\width{#1}}{#3}}{\scale{\width{#2}}{500}}}
+ {\scale{\sub{\height{i}}{\height{#2}}}{\int{italicslant}}}} % <--- ???
+ \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 top accent glyph is placed using the small glyphs if
+% available, and otherwise by shrinking the equivalent capital.
+
+\setcommand\csctopaccent#1#2#3{
+ \ifisglyph{#1small}\then
+ \topaccent{#1small}{#2small}{#3}
+ \else
+ \cscglyph{#1#2}
+ \fi
+}
+
+% A c&sc bot accent glyph is placed using the small glyphs if
+% available, and otherwise by shrinking the equivalent capital.
+
+\setcommand\cscbotaccent#1#2#3{
+ \ifisglyph{#1small}\then
+ \botaccent{#1small}{#2small}{#3}
+ \else
+ \cscglyph{#1#2}
+ \fi
+}
+
+% 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}
+
+% Vertical symmetry axis. (WaS)
+\setint{vaxis}{\scale{\sub{\height{parenleft}}{\depth{parenleft}}}{500}}
+
+\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
+
+\ifisint{visiblespace}\then
+ \setint{boundarychar}{\int{visiblespace}}
+\fi
+
+
+\comment{\section{Kerning}}
+
+\setleftrightkerning{visiblespace}{space}{1000}
+
+\setleftkerning{hyphenchar}{hyphen}{1000}
+
+\setleftrightkerning{Aacute}{A}{1000}
+\setleftrightkerning{Abreve}{A}{1000}
+\setleftrightkerning{Acircumflex}{A}{1000}
+\setleftrightkerning{Adieresis}{A}{1000}
+\setleftrightkerning{Agrave}{A}{1000}
+\setleftrightkerning{Aogonek}{A}{1000}
+\setleftrightkerning{Aring}{A}{1000}
+\setleftrightkerning{Atilde}{A}{1000}
+
+\setleftrightkerning{Cacute}{C}{1000}
+\setleftrightkerning{Ccaron}{C}{1000}
+\setleftrightkerning{Ccedilla}{C}{1000}
+
+\setleftrightkerning{Dcaron}{D}{1000}
+
+\setleftrightkerning{Eacute}{E}{1000}
+\setleftrightkerning{Ecaron}{E}{1000}
+\setleftrightkerning{Ecircumflex}{E}{1000}
+\setleftrightkerning{Edieresis}{E}{1000}
+\setleftrightkerning{Egrave}{E}{1000}
+\setleftrightkerning{Eogonek}{E}{1000}
+
+\setleftrightkerning{Gbreve}{G}{1000}
+
+\setleftkerning{IJ}{I}{1000}
+
+\setleftrightkerning{Iacute}{I}{1000}
+\setleftrightkerning{Icircumflex}{I}{1000}
+\setleftrightkerning{Idieresis}{I}{1000}
+\setleftrightkerning{Idotaccent}{I}{1000}
+\setleftrightkerning{Igrave}{I}{1000}
+
+\setrightkerning{IJ}{J}{1000}
+
+\setleftrightkerning{Lacute}{L}{1000}
+\setleftrightkerning{Lslash}{L}{1000}
+\setleftkerning{Lcaron}{L}{1000}
+
+\setleftrightkerning{Nacute}{N}{1000}
+\setleftrightkerning{Ncaron}{N}{1000}
+\setleftrightkerning{Ntilde}{N}{1000}
+
+\setleftkerning{Ng}{N}{1000}
+\setrightkerning{Ng}{J}{1000}
+
+\setleftrightkerning{Oacute}{O}{1000}
+\setleftrightkerning{Ocircumflex}{O}{1000}
+\setleftrightkerning{Odieresis}{O}{1000}
+\setleftrightkerning{Ograve}{O}{1000}
+\setleftrightkerning{Ohungarumlaut}{O}{1000}
+\setleftrightkerning{Oslash}{O}{1000}
+\setleftrightkerning{Otilde}{O}{1000}
+
+\setleftrightkerning{Rcaron}{R}{1000}
+\setleftrightkerning{Racute}{R}{1000}
+
+\setleftrightkerning{SS}{S}{1000}
+\setleftrightkerning{Sacute}{S}{1000}
+\setleftrightkerning{Scaron}{S}{1000}
+\setleftrightkerning{Scedilla}{S}{1000}
+
+\setleftrightkerning{Tcaron}{T}{1000}
+\setleftrightkerning{Tcedilla}{T}{1000}
+
+\setleftrightkerning{Uacute}{U}{1000}
+\setleftrightkerning{Ucircumflex}{U}{1000}
+\setleftrightkerning{Udieresis}{U}{1000}
+\setleftrightkerning{Ugrave}{U}{1000}
+\setleftrightkerning{Uhungarumlaut}{U}{1000}
+\setleftrightkerning{Uring}{U}{1000}
+
+\setleftrightkerning{Yacute}{Y}{1000}
+\setleftrightkerning{Ydieresis}{Y}{1000}
+
+\setleftrightkerning{Zacute}{Z}{1000}
+\setleftrightkerning{Zcaron}{Z}{1000}
+\setleftrightkerning{Zdotaccent}{Z}{1000}
+
+\setleftrightkerning{aogonek}{a}{1000}
+
+\setleftrightkerning{ccedilla}{c}{1000}
+
+\setleftrightkerning{eogonek}{e}{1000}
+
+\setleftkerning{ffi}{f}{1000}
+\setleftkerning{ffl}{f}{1000}
+\setleftrightkerning{ff}{f}{1000}
+\setleftkerning{fi}{f}{1000}
+\setleftkerning{fl}{f}{1000}
+
+\setleftkerning{ij}{i}{1000}
+
+\setrightkerning{fi}{i}{1000}
+\setrightkerning{ffi}{i}{1000}
+
+\setrightkerning{ij}{j}{1000}
+
+\setrightkerning{fl}{l}{1000}
+\setrightkerning{ffl}{l}{1000}
+
+\setleftkerning{ng}{n}{1000}
+\setrightkerning{ng}{j}{1000}
+
+\setleftkerning{oe}{o}{1000}
+\setrightkerning{oe}{e}{1000}
+\setleftrightkerning{oslash}{o}{1000}
+
+\setleftrightkerning{scedilla}{s}{1000}
+
+\setleftrightkerning{tcedilla}{t}{1000}
+
+
+\comment{\section{All-caps kerning}}
+
+\setleftrightkerning{dotlessI}{I}{1000}
+\setleftrightkerning{dotlessJ}{J}{1000}
+\setleftrightkerning{FFspaced}{F}{1000}
+\setleftkerning{FIspaced}{F}{1000}
+\setrightkerning{FIspaced}{I}{1000}
+\setleftkerning{FLspaced}{F}{1000}
+\setrightkerning{FLspaced}{L}{1000}
+\setleftkerning{FFIspaced}{F}{1000}
+\setrightkerning{FFIspaced}{I}{1000}
+\setleftkerning{FFLspaced}{F}{1000}
+\setrightkerning{FFLspaced}{L}{1000}
+\setleftrightkerning{Dbar}{Eth}{1000}
+\setleftkerning{IJspaced}{I}{1000}
+\setrightkerning{IJspaced}{J}{1000}
+\setleftrightkerning{SSspaced}{S}{1000}
+
+
+\comment{\section{Small caps kerning}}
+
+\setleftrightkerning{Asmall}{A}{\int{smallcapskerning}}
+\setleftrightkerning{Bsmall}{B}{\int{smallcapskerning}}
+\setleftrightkerning{Csmall}{C}{\int{smallcapskerning}}
+\setleftrightkerning{Dsmall}{D}{\int{smallcapskerning}}
+\setleftrightkerning{Esmall}{E}{\int{smallcapskerning}}
+\setleftrightkerning{Fsmall}{F}{\int{smallcapskerning}}
+\setleftrightkerning{Gsmall}{G}{\int{smallcapskerning}}
+\setleftrightkerning{Hsmall}{H}{\int{smallcapskerning}}
+\setleftrightkerning{Ismall}{I}{\int{smallcapskerning}}
+\setleftrightkerning{Jsmall}{J}{\int{smallcapskerning}}
+\setleftrightkerning{Ksmall}{K}{\int{smallcapskerning}}
+\setleftrightkerning{Lsmall}{L}{\int{smallcapskerning}}
+\setleftrightkerning{Msmall}{M}{\int{smallcapskerning}}
+\setleftrightkerning{Nsmall}{N}{\int{smallcapskerning}}
+\setleftrightkerning{Osmall}{O}{\int{smallcapskerning}}
+\setleftrightkerning{Psmall}{P}{\int{smallcapskerning}}
+\setleftrightkerning{Qsmall}{Q}{\int{smallcapskerning}}
+\setleftrightkerning{Rsmall}{R}{\int{smallcapskerning}}
+\setleftrightkerning{Ssmall}{S}{\int{smallcapskerning}}
+\setleftrightkerning{Tsmall}{T}{\int{smallcapskerning}}
+\setleftrightkerning{Usmall}{U}{\int{smallcapskerning}}
+\setleftrightkerning{Vsmall}{V}{\int{smallcapskerning}}
+\setleftrightkerning{Wsmall}{W}{\int{smallcapskerning}}
+\setleftrightkerning{Xsmall}{X}{\int{smallcapskerning}}
+\setleftrightkerning{Ysmall}{Y}{\int{smallcapskerning}}
+\setleftrightkerning{Zsmall}{Z}{\int{smallcapskerning}}
+\setleftrightkerning{Aacutesmall}{Aacute}{\int{smallcapskerning}}
+\setleftrightkerning{Abrevesmall}{Abreve}{\int{smallcapskerning}}
+\setleftrightkerning{Acircumflexsmall}{Acircumflex}{\int{smallcapskerning}}
+\setleftrightkerning{Adieresissmall}{Adieresis}{\int{smallcapskerning}}
+\setleftrightkerning{AEsmall}{AE}{\int{smallcapskerning}}
+\setleftrightkerning{Agravesmall}{Agrave}{\int{smallcapskerning}}
+\setleftrightkerning{Aogoneksmall}{Aogonek}{\int{smallcapskerning}}
+\setleftrightkerning{Aringsmall}{Aring}{\int{smallcapskerning}}
+\setleftrightkerning{Atildesmall}{Atilde}{\int{smallcapskerning}}
+\setleftrightkerning{Cacutesmall}{Cacute}{\int{smallcapskerning}}
+\setleftrightkerning{Ccaronsmall}{Ccaron}{\int{smallcapskerning}}
+\setleftrightkerning{Ccedillasmall}{Ccedilla}{\int{smallcapskerning}}
+\setleftrightkerning{Dbarsmall}{Dbar}{\int{smallcapskerning}}
+\setleftrightkerning{Dcaronsmall}{Dcaron}{\int{smallcapskerning}}
+\setleftrightkerning{Eacutesmall}{Eacute}{\int{smallcapskerning}}
+\setleftrightkerning{Ecaronsmall}{Ecaron}{\int{smallcapskerning}}
+\setleftrightkerning{Ecircumflexsmall}{Ecircumflex}{\int{smallcapskerning}}
+\setleftrightkerning{Edieresissmall}{Edieresis}{\int{smallcapskerning}}
+\setleftrightkerning{Egravesmall}{Egrave}{\int{smallcapskerning}}
+\setleftrightkerning{Eogoneksmall}{Eogonek}{\int{smallcapskerning}}
+\setleftrightkerning{Ethsmall}{Eth}{\int{smallcapskerning}}
+\setleftrightkerning{Gbrevesmall}{Gbreve}{\int{smallcapskerning}}
+\setleftrightkerning{IJsmall}{IJ}{\int{smallcapskerning}}
+\setleftrightkerning{Iacutesmall}{Iacute}{\int{smallcapskerning}}
+\setleftrightkerning{Icircumflexsmall}{Icircumflex}{\int{smallcapskerning}}
+\setleftrightkerning{Idieresissmall}{Idieresis}{\int{smallcapskerning}}
+\setleftrightkerning{Idotaccentsmall}{Idotaccent}{\int{smallcapskerning}}
+\setleftrightkerning{Igravesmall}{Igrave}{\int{smallcapskerning}}
+\setleftrightkerning{Lacutesmall}{Lacute}{\int{smallcapskerning}}
+\setleftrightkerning{Lcaronsmall}{Lcaron}{\int{smallcapskerning}}
+\setleftrightkerning{Lslashsmall}{Lslash}{\int{smallcapskerning}}
+\setleftrightkerning{Nacutesmall}{Nacute}{\int{smallcapskerning}}
+\setleftrightkerning{Ncaronsmall}{Ncaron}{\int{smallcapskerning}}
+\setleftrightkerning{Ngsmall}{Ng}{\int{smallcapskerning}}
+\setleftrightkerning{Ntildesmall}{Ntilde}{\int{smallcapskerning}}
+\setleftrightkerning{Oacutesmall}{Oacute}{\int{smallcapskerning}}
+\setleftrightkerning{Ocircumflexsmall}{Ocircumflex}{\int{smallcapskerning}}
+\setleftrightkerning{Odieresissmall}{Odieresis}{\int{smallcapskerning}}
+\setleftrightkerning{OEsmall}{OE}{\int{smallcapskerning}}
+\setleftrightkerning{Ogravesmall}{Ograve}{\int{smallcapskerning}}
+\setleftrightkerning{Ohungarumlautsmall}{Ohungarumlaut}{\int{smallcapskerning}}
+\setleftrightkerning{Oslashsmall}{Oslash}{\int{smallcapskerning}}
+\setleftrightkerning{Otildesmall}{Otilde}{\int{smallcapskerning}}
+\setleftrightkerning{Racutesmall}{Racute}{\int{smallcapskerning}}
+\setleftrightkerning{Rcaronsmall}{Rcaron}{\int{smallcapskerning}}
+\setleftrightkerning{SSsmall}{SS}{\int{smallcapskerning}}
+\setleftrightkerning{Sacutesmall}{Sacute}{\int{smallcapskerning}}
+\setleftrightkerning{Scaronsmall}{Scaron}{\int{smallcapskerning}}
+\setleftrightkerning{Scedillasmall}{Scedilla}{\int{smallcapskerning}}
+\setleftrightkerning{Tcaronsmall}{Tcaron}{\int{smallcapskerning}}
+\setleftrightkerning{Tcedillasmall}{Tcedilla}{\int{smallcapskerning}}
+\setleftrightkerning{Thornsmall}{Thorn}{\int{smallcapskerning}}
+\setleftrightkerning{Uacutesmall}{Uacute}{\int{smallcapskerning}}
+\setleftrightkerning{Ucircumflexsmall}{Ucircumflex}{\int{smallcapskerning}}
+\setleftrightkerning{Udieresissmall}{Udieresis}{\int{smallcapskerning}}
+\setleftrightkerning{Ugravesmall}{Ugrave}{\int{smallcapskerning}}
+\setleftrightkerning{Uhungarumlautsmall}{Uhungarumlaut}{\int{smallcapskerning}}
+\setleftrightkerning{Uringsmall}{Uring}{\int{smallcapskerning}}
+\setleftrightkerning{Yacutesmall}{Yacute}{\int{smallcapskerning}}
+\setleftrightkerning{Ydieresissmall}{Ydieresis}{\int{smallcapskerning}}
+\setleftrightkerning{Zacutesmall}{Zacute}{\int{smallcapskerning}}
+\setleftrightkerning{Zcaronsmall}{Zcaron}{\int{smallcapskerning}}
+\setleftrightkerning{Zdotaccentsmall}{Zdotaccent}{\int{smallcapskerning}}
+\setleftrightkerning{dotlessIsmall}{Ismall}{1000}
+\setleftrightkerning{dotlessJsmall}{Jsmall}{1000}
+
+
+\comment{\section{Unfakable glyphs}}
+
+\unfakable{Gamma}
+\unfakable{Delta}
+\unfakable{Theta}
+\unfakable{Lambda}
+\unfakable{Xi}
+\unfakable{Pi}
+\unfakable{Sigma}
+\unfakable{Upsilon}
+\unfakable{Upsilon1}
+\unfakable{Phi}
+\unfakable{Psi}
+\unfakable{Omega}
+
+\unfakable{grave}
+\unfakable{acute}
+\unfakable{circumflex}
+\unfakable{tilde}
+\unfakable{dieresis}
+\unfakable{hungarumlaut}
+\unfakable{ring}
+\unfakable{caron}
+\unfakable{breve}
+\unfakable{macron}
+\unfakable{dotaccent}
+\unfakable{cedilla}
+\unfakable{ogonek}
+\unfakable{guilsinglleft}
+\unfakable{guilsinglright}
+\unfakable{quotedblleft}
+\unfakable{quotedblright}
+\unfakable{quotedblbase}
+\unfakable{guillemotleft}
+\unfakable{guillemotright}
+\unfakable{endash}
+\unfakable{emdash}
+\unfakable{dotlessi}
+\unfakable{perthousandzero}
+\unfakable{exclam}
+\unfakable{quotedbl}
+\unfakable{numbersign}
+\unfakable{dollar}
+\unfakable{percent}
+\unfakable{ampersand}
+\unfakable{quoteright}
+\unfakable{parenleft}
+\unfakable{parenright}
+\unfakable{asterisk}
+\unfakable{plus}
+\unfakable{comma}
+\unfakable{hyphen}
+\unfakable{period}
+\unfakable{slash}
+\unfakable{zero}
+\unfakable{one}
+\unfakable{two}
+\unfakable{three}
+\unfakable{four}
+\unfakable{five}
+\unfakable{six}
+\unfakable{seven}
+\unfakable{eight}
+\unfakable{nine}
+\unfakable{zerooldstyle}
+\unfakable{oneoldstyle}
+\unfakable{twooldstyle}
+\unfakable{threeoldstyle}
+\unfakable{fouroldstyle}
+\unfakable{fiveoldstyle}
+\unfakable{sixoldstyle}
+\unfakable{sevenoldstyle}
+\unfakable{eightoldstyle}
+\unfakable{nineoldstyle}
+\unfakable{colon}
+\unfakable{semicolon}
+\unfakable{less}
+\unfakable{equal}
+\unfakable{greater}
+\unfakable{question}
+\unfakable{at}
+\unfakable{A}
+\unfakable{B}
+\unfakable{C}
+\unfakable{D}
+\unfakable{E}
+\unfakable{F}
+\unfakable{G}
+\unfakable{H}
+\unfakable{I}
+\unfakable{J}
+\unfakable{K}
+\unfakable{L}
+\unfakable{M}
+\unfakable{N}
+\unfakable{O}
+\unfakable{P}
+\unfakable{Q}
+\unfakable{R}
+\unfakable{S}
+\unfakable{T}
+\unfakable{U}
+\unfakable{V}
+\unfakable{W}
+\unfakable{X}
+\unfakable{Y}
+\unfakable{Z}
+\unfakable{bracketleft}
+\unfakable{backslash}
+\unfakable{bracketright}
+\unfakable{asciicircum}
+\unfakable{underscore}
+\unfakable{quoteleft}
+\unfakable{a}
+\unfakable{b}
+\unfakable{c}
+\unfakable{d}
+\unfakable{e}
+\unfakable{f}
+\unfakable{g}
+\unfakable{h}
+\unfakable{i}
+\unfakable{j}
+\unfakable{k}
+\unfakable{l}
+\unfakable{m}
+\unfakable{n}
+\unfakable{o}
+\unfakable{p}
+\unfakable{q}
+\unfakable{r}
+\unfakable{s}
+\unfakable{t}
+\unfakable{u}
+\unfakable{v}
+\unfakable{w}
+\unfakable{x}
+\unfakable{y}
+\unfakable{z}
+\unfakable{braceleft}
+\unfakable{bar}
+\unfakable{braceright}
+\unfakable{asciitilde}
+\unfakable{Eng}
+\unfakable{section}
+\unfakable{eng}
+\unfakable{exclamdown}
+\unfakable{questiondown}
+\unfakable{sterling}
+\unfakable{AE}
+\unfakable{Eth}
+\unfakable{OE}
+\unfakable{Oslash}
+\unfakable{Thorn}
+\unfakable{ae}
+\unfakable{eth}
+\unfakable{oe}
+\unfakable{oslash}
+\unfakable{thorn}
+\unfakable{germandbls}
+\unfakable{lslashslash}
+
+\setglyph{dotlessj}
+ \moveup{\neg{\depth{j}}}
+ \glyphrule{\width{j}}{\add{\depth{j}}{\height{dotlessi}}}
+ \resetitalic{\italic{dotlessi}}
+ \moveup{\depth{j}}
+ \glyphwarning{missing glyph `dotlessj'}
+\endsetglyph
+
+
+\comment{\section{Glyphs}}
+
+% only with monospaced fonts. (WaS)
+\ifisint{monowidth}\then
+\resetglyph{asterisk}
+ \moveup{\neg{\sub{\scale{\sub{\height{asterisk}}{\depth{asterisk}}}{500}}{\int{vaxis}}}}
+ \glyph{asterisk}{1000}
+ \resetdepth{0}
+\endresetglyph
+\fi
+
+\setglyph{space}
+ \ifisglyph{space-not}\then
+ \movert{\width{space-not}}
+ \else
+ \movert{\width{i}}
+ \fi
+\endsetglyph
+
+\setglyph{compwordmark}
+ \glyphrule{0}{\int{xheight}}
+\endsetglyph
+\setint{compwordmark-spacing}{0}
+
+\setglyph{quotesinglbase}
+ \glyph{comma}{1000}
+\endsetglyph
+
+\setglyph{fi}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{i}}
+ \glyph{i}{1000}
+\endsetglyph
+
+\setglyph{ff}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{f}{1000}
+\endsetglyph
+
+\setglyph{fl}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{l}}
+ \glyph{l}{1000}
+\endsetglyph
+
+\setglyph{ffi}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{fi}{1000}
+\endsetglyph
+
+\setglyph{ffl}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{fl}{1000}
+\endsetglyph
+
+\setglyph{visiblespace}
+ \moveup{\neg{\int{visiblespacedepth}}}
+ \movert{\int{visiblespacesurround}}
+ \glyphrule
+ {\int{underlinethickness}}
+ {\int{visiblespacedepth}}
+ \glyphrule
+ {\int{visiblespacewidth}}
+ {\int{underlinethickness}}
+ \glyphrule
+ {\int{underlinethickness}}
+ {\int{visiblespacedepth}}
+ \movert{\int{visiblespacesurround}}
+ \moveup{\int{visiblespacedepth}}
+\endsetglyph
+
+\setglyph{rangedash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \else
+ \glyph{endash}{1000}
+ \fi
+\endsetglyph
+
+\setglyph{punctdash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \glyph{hyphen}{1000}
+ \else
+ \glyph{emdash}{1000}
+ \fi
+\endsetglyph
+
+\setglyph{hyphenchar}
+ \glyph{hyphen}{1000}
+\endsetglyph
+
+\setglyph{ringfitted}
+ \movert{\div{\sub{\width{A}}{\width{ring}}}{2}}
+ \glyph{ring}{1000}
+ \movert{\div{\sub{\width{A}}{\width{ring}}}{2}}
+\endsetglyph
+
+\setglyph{lslash}
+ \glyph{lslashslash}{1000}
+ \movert{\kerning{lslashslash}{l}}
+ \glyph{l}{1000}
+\endsetglyph
+
+\setglyph{Lslash}
+ \glyph{lslashslash}{1000}
+ \movert{\kerning{lslashslash}{L}}
+ \glyph{L}{1000}
+\endsetglyph
+
+\setglyph{Ng}
+ \glyph{Eng}{1000}
+\endsetglyph
+
+\setglyph{ng}
+ \glyph{eng}{1000}
+\endsetglyph
+
+\setglyph{Abreve}
+ \topaccent{A}{breve}{500}
+\endsetglyph
+
+\setglyph{Aogonek}
+ \botaccent{A}{ogonek}{900}
+\endsetglyph
+
+\setglyph{Cacute}
+ \topaccent{C}{acute}{500}
+\endsetglyph
+
+\setglyph{Ccaron}
+ \topaccent{C}{caron}{500}
+\endsetglyph
+
+\setglyph{Dcaron}
+ \topaccent{D}{caron}{450}
+\endsetglyph
+
+\setglyph{Ecaron}
+ \topaccent{E}{caron}{500}
+\endsetglyph
+
+\setglyph{Eogonek}
+ \botaccent{E}{ogonek}{850}
+\endsetglyph
+
+\setglyph{Gbreve}
+ \topaccent{G}{breve}{500}
+\endsetglyph
+
+\setglyph{Lacute}
+ \topaccent{L}{acute}{250}
+\endsetglyph
+
+\setglyph{Lcaron}
+ \glyph{L}{1000}
+ \ifisint{monowidth}\then\else
+ \movert{-200}
+ \fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+
+\setglyph{Nacute}
+ \topaccent{N}{acute}{500}
+\endsetglyph
+
+\setglyph{Ncaron}
+ \topaccent{N}{caron}{500}
+\endsetglyph
+
+\setglyph{Ohungarumlaut}
+ \topaccent{O}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Racute}
+ \topaccent{R}{acute}{500}
+\endsetglyph
+
+\setglyph{Rcaron}
+ \topaccent{R}{caron}{500}
+\endsetglyph
+
+\setglyph{Sacute}
+ \topaccent{S}{acute}{500}
+\endsetglyph
+
+\setglyph{Scaron}
+ \topaccent{S}{caron}{500}
+\endsetglyph
+
+\setglyph{Scedilla}
+ \botaccent{S}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Tcaron}
+ \topaccent{T}{caron}{500}
+\endsetglyph
+
+\setglyph{Tcedilla}
+ \botaccent{T}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Uhungarumlaut}
+ \topaccent{U}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Uring}
+ \topaccent{U}{ring}{500}
+\endsetglyph
+
+\setglyph{Ydieresis}
+ \topaccent{Y}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Zacute}
+ \topaccent{Z}{acute}{500}
+\endsetglyph
+
+\setglyph{Zcaron}
+ \topaccent{Z}{caron}{500}
+\endsetglyph
+
+\setglyph{Zdotaccent}
+ \topaccent{Z}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{IJ}
+ \glyph{I}{1000}
+ \movert{\kerning{I}{J}}
+ \glyph{J}{1000}
+\endsetglyph
+
+\setglyph{Idotaccent}
+ \topaccent{I}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{dbar}
+ \push
+ \movert{\sub{\width{d}}{\width{macron}}}
+ \moveup{
+ \sub{\scale{\add{\height{d}}{\int{xheight}}}{500}}
+ {\height{macron}}}
+ \glyph{macron}{1000}
+ \pop
+ \glyph{d}{1000}
+\endsetglyph
+
+\setglyph{abreve}
+ \topaccent{a}{breve}{500}
+\endsetglyph
+
+\setglyph{aogonek}
+ \botaccent{a}{ogonek}{850}
+\endsetglyph
+
+\setglyph{cacute}
+ \topaccent{c}{acute}{500}
+\endsetglyph
+
+\setglyph{ccaron}
+ \topaccent{c}{caron}{500}
+\endsetglyph
+
+\setglyph{dcaron}
+ \glyph{d}{1000}
+ \ifisint{monowidth}\then\else
+ \movert{-75}
+ \fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+
+\setglyph{ecaron}
+ \topaccent{e}{caron}{500}
+\endsetglyph
+
+\setglyph{eogonek}
+ \botaccent{e}{ogonek}{500}
+\endsetglyph
+
+\setglyph{gbreve}
+ \topaccent{g}{breve}{500}
+\endsetglyph
+
+\setglyph{lacute}
+ \topaccent{l}{acute}{500}
+\endsetglyph
+
+\setglyph{lcaron}
+ \glyph{l}{1000}
+ \ifisint{monowidth}\then\else
+ \movert{-100}
+ \fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+
+\setglyph{nacute}
+ \topaccent{n}{acute}{500}
+\endsetglyph
+
+\setglyph{ncaron}
+ \topaccent{n}{caron}{500}
+\endsetglyph
+
+\setglyph{ohungarumlaut}
+ \topaccent{o}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{racute}
+ \topaccent{r}{acute}{500}
+\endsetglyph
+
+\setglyph{rcaron}
+ \topaccent{r}{caron}{500}
+\endsetglyph
+
+\setglyph{sacute}
+ \topaccent{s}{acute}{500}
+\endsetglyph
+
+\setglyph{scaron}
+ \topaccent{s}{caron}{500}
+\endsetglyph
+
+\setglyph{scedilla}
+ \botaccent{s}{cedilla}{500}
+\endsetglyph
+
+\setglyph{tcaron}
+ \glyph{t}{1000}
+ \ifisint{monowidth}\then\else
+ \movert{-75}
+ \fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+
+\setglyph{tcedilla}
+ \botaccent{t}{cedilla}{500}
+\endsetglyph
+
+\setglyph{uhungarumlaut}
+ \topaccent{u}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{uring}
+ \topaccent{u}{ring}{500}
+\endsetglyph
+
+\setglyph{ydieresis}
+ \topaccent{y}{dieresis}{500}
+\endsetglyph
+
+\setglyph{zacute}
+ \topaccent{z}{acute}{500}
+\endsetglyph
+
+\setglyph{zcaron}
+ \topaccent{z}{caron}{500}
+\endsetglyph
+
+% make this glyph match the letter i. (WaS)
+\setglyph{zdotaccent}
+ \itopaccent{z}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{ij}
+ \glyph{i}{1000}
+ \movert{\kerning{i}{j}}
+ \glyph{j}{1000}
+\endsetglyph
+
+\setglyph{Agrave}
+ \topaccent{A}{grave}{500}
+\endsetglyph
+
+\setglyph{Aacute}
+ \topaccent{A}{acute}{500}
+\endsetglyph
+
+\setglyph{Acircumflex}
+ \topaccent{A}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Atilde}
+ \topaccent{A}{tilde}{500}
+\endsetglyph
+
+\setglyph{Adieresis}
+ \topaccent{A}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Aring}
+ \topaccent{A}{ring}{500}
+\endsetglyph
+
+\setglyph{Ccedilla}
+ \botaccent{C}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Egrave}
+ \topaccent{E}{grave}{500}
+\endsetglyph
+
+\setglyph{Eacute}
+ \topaccent{E}{acute}{500}
+\endsetglyph
+
+\setglyph{Ecircumflex}
+ \topaccent{E}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Edieresis}
+ \topaccent{E}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Iacute}
+ \topaccent{I}{acute}{500}
+\endsetglyph
+
+\setglyph{Igrave}
+ \topaccent{I}{grave}{500}
+\endsetglyph
+
+\setglyph{Icircumflex}
+ \topaccent{I}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Idieresis}
+ \topaccent{I}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ntilde}
+ \topaccent{N}{tilde}{500}
+\endsetglyph
+
+\setglyph{Ograve}
+ \topaccent{O}{grave}{500}
+\endsetglyph
+
+\setglyph{Oacute}
+ \topaccent{O}{acute}{500}
+\endsetglyph
+
+\setglyph{Ocircumflex}
+ \topaccent{O}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Otilde}
+ \topaccent{O}{tilde}{500}
+\endsetglyph
+
+\setglyph{Odieresis}
+ \topaccent{O}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ugrave}
+ \topaccent{U}{grave}{500}
+\endsetglyph
+
+\setglyph{Uacute}
+ \topaccent{U}{acute}{500}
+\endsetglyph
+
+\setglyph{Ucircumflex}
+ \topaccent{U}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Udieresis}
+ \topaccent{U}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Yacute}
+ \topaccent{Y}{acute}{500}
+\endsetglyph
+
+\setglyph{SS}
+ \glyph{S}{1000}
+ \movert{\kerning{S}{S}}
+ \glyph{S}{1000}
+\endsetglyph
+
+\setglyph{agrave}
+ \topaccent{a}{grave}{500}
+\endsetglyph
+
+\setglyph{aacute}
+ \topaccent{a}{acute}{500}
+\endsetglyph
+
+\setglyph{acircumflex}
+ \topaccent{a}{circumflex}{500}
+\endsetglyph
+
+\setglyph{atilde}
+ \topaccent{a}{tilde}{500}
+\endsetglyph
+
+\setglyph{adieresis}
+ \topaccent{a}{dieresis}{500}
+\endsetglyph
+
+\setglyph{aring}
+ \topaccent{a}{ring}{500}
+\endsetglyph
+
+\setglyph{ccedilla}
+ \botaccent{c}{cedilla}{500}
+\endsetglyph
+
+\setglyph{egrave}
+ \topaccent{e}{grave}{500}
+\endsetglyph
+
+\setglyph{eacute}
+ \topaccent{e}{acute}{500}
+\endsetglyph
+
+\setglyph{ecircumflex}
+ \topaccent{e}{circumflex}{500}
+\endsetglyph
+
+\setglyph{edieresis}
+ \topaccent{e}{dieresis}{500}
+\endsetglyph
+
+\setglyph{igrave}
+ \topaccent{dotlessi}{grave}{500}
+\endsetglyph
+
+\setglyph{iacute}
+ \topaccent{dotlessi}{acute}{500}
+\endsetglyph
+
+\setglyph{icircumflex}
+ \topaccent{dotlessi}{circumflex}{500}
+\endsetglyph
+
+\setglyph{idieresis}
+ \topaccent{dotlessi}{dieresis}{500}
+\endsetglyph
+
+\setglyph{ntilde}
+ \topaccent{n}{tilde}{500}
+\endsetglyph
+
+\setglyph{ograve}
+ \topaccent{o}{grave}{500}
+\endsetglyph
+
+\setglyph{oacute}
+ \topaccent{o}{acute}{500}
+\endsetglyph
+
+\setglyph{ocircumflex}
+ \topaccent{o}{circumflex}{500}
+\endsetglyph
+
+\setglyph{otilde}
+ \topaccent{o}{tilde}{500}
+\endsetglyph
+
+\setglyph{odieresis}
+ \topaccent{o}{dieresis}{500}
+\endsetglyph
+
+\setglyph{ugrave}
+ \topaccent{u}{grave}{500}
+\endsetglyph
+
+\setglyph{uacute}
+ \topaccent{u}{acute}{500}
+\endsetglyph
+
+\setglyph{ucircumflex}
+ \topaccent{u}{circumflex}{500}
+\endsetglyph
+
+\setglyph{udieresis}
+ \topaccent{u}{dieresis}{500}
+\endsetglyph
+
+\setglyph{yacute}
+ \topaccent{y}{acute}{500}
+\endsetglyph
+
+
+\comment{\section{All-caps glyphs}}
+
+\setglyph{dotlessI}
+ \glyph{I}{1000}
+\endsetglyph
+
+\setglyph{dotlessJ}
+ \glyph{J}{1000}
+\endsetglyph
+
+\setglyph{FFspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{F}}
+ {\int{capspacing}}}
+ \glyph{F}{1000}
+\endsetglyph
+
+\setglyph{FIspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{I}}
+ {\int{capspacing}}}
+ \glyph{I}{1000}
+\endsetglyph
+
+\setglyph{FLspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{L}}
+ {\int{capspacing}}}
+ \glyph{L}{1000}
+\endsetglyph
+
+\setglyph{FFIspaced}
+ \glyph{FFspaced}{1000}
+ \movert{\add{\kerning{FFspaced}{I}}
+ {\int{capspacing}}}
+ \glyph{I}{1000}
+\endsetglyph
+
+\setglyph{FFLspaced}
+ \glyph{FFspaced}{1000}
+ \movert{\add{\kerning{FFspaced}{L}}
+ {\int{capspacing}}}
+ \glyph{L}{1000}
+\endsetglyph
+
+\setglyph{Dbar}
+ \glyph{Eth}{1000}
+\endsetglyph
+
+\setglyph{IJspaced}
+ \glyph{I}{1000}
+ \movert{\add{\kerning{I}{J}}{\int{capspacing}}}
+ \glyph{J}{1000}
+\endsetglyph
+
+\setglyph{SSspaced}
+ \glyph{S}{1000}
+ \movert{\add{\kerning{S}{S}}{\int{capspacing}}}
+ \glyph{S}{1000}
+\endsetglyph
+
+
+\comment{\section{Small caps glyphs}}
+
+\setglyph{Acutesmall}
+ \cscaccent{acute}
+\endsetglyph
+
+\setglyph{acutesmall}
+ \glyph{Acutesmall}{1000}
+\endsetglyph
+
+\setglyph{Gravesmall}
+ \cscaccent{grave}
+\endsetglyph
+
+\setglyph{gravesmall}
+ \glyph{Gravesmall}{1000}
+\endsetglyph
+
+\setglyph{Circumflexsmall}
+ \cscaccent{circumflex}
+\endsetglyph
+
+\setglyph{circumflexsmall}
+ \glyph{Circumflexsmall}{1000}
+\endsetglyph
+
+\setglyph{Tildesmall}
+ \cscaccent{tilde}
+\endsetglyph
+
+\setglyph{tildesmall}
+ \glyph{Tildesmall}{1000}
+\endsetglyph
+
+\setglyph{Dieresissmall}
+ \cscaccent{dieresis}
+\endsetglyph
+
+\setglyph{dieresissmall}
+ \glyph{Dieresissmall}{1000}
+\endsetglyph
+
+\setglyph{Brevesmall}
+ \cscaccent{breve}
+\endsetglyph
+
+\setglyph{brevesmall}
+ \glyph{Brevesmall}{1000}
+\endsetglyph
+
+\setglyph{Dotaccentsmall}
+ \cscaccent{dotaccent}
+\endsetglyph
+
+\setglyph{dotaccentsmall}
+ \glyph{Dotaccentsmall}{1000}
+\endsetglyph
+
+\setglyph{Caronsmall}
+ \cscaccent{caron}
+\endsetglyph
+
+\setglyph{caronsmall}
+ \glyph{Caronsmall}{1000}
+\endsetglyph
+
+\setglyph{Hungarumlautsmall}
+ \cscaccent{hungarumlaut}
+\endsetglyph
+
+\setglyph{hungarumlautsmall}
+ \glyph{Hungarumlautsmall}{1000}
+\endsetglyph
+
+\setglyph{Ringsmall}
+ \cscaccent{ring}
+\endsetglyph
+
+\setglyph{ringsmall}
+ \glyph{Ringsmall}{1000}
+\endsetglyph
+
+\setglyph{Macronsmall}
+ \cscaccent{macron}
+\endsetglyph
+
+\setglyph{macronsmall}
+ \glyph{Macronsmall}{1000}
+ \comment{It might be unnecessary to set this glyph. This should be
+ checked sometime. /LH}
+\endsetglyph
+
+\setglyph{Cedillasmall}
+ \cscglyph{cedilla}
+\endsetglyph
+
+\setglyph{cedillasmall}
+ \glyph{Cedillasmall}{1000}
+\endsetglyph
+
+\setglyph{Ogoneksmall}
+ \cscglyph{ogonek}
+\endsetglyph
+
+\setglyph{ogoneksmall}
+ \glyph{Ogoneksmall}{1000}
+\endsetglyph
+
+\setglyph{Idotaccentsmall}
+ \csctopaccent{I}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{Abrevesmall}
+ \csctopaccent{A}{breve}{500}
+\endsetglyph
+
+\setglyph{Aogoneksmall}
+ \cscbotaccent{A}{ogonek}{900}
+\endsetglyph
+
+\setglyph{Cacutesmall}
+ \csctopaccent{C}{acute}{500}
+\endsetglyph
+
+\setglyph{Ccaronsmall}
+ \csctopaccent{C}{caron}{500}
+\endsetglyph
+
+\setglyph{Dcaronsmall}
+ \csctopaccent{D}{caron}{500}
+\endsetglyph
+
+\setglyph{Ecaronsmall}
+ \csctopaccent{E}{caron}{500}
+\endsetglyph
+
+\setglyph{Eogoneksmall}
+ \cscbotaccent{E}{ogonek}{850}
+\endsetglyph
+
+\setglyph{Gbrevesmall}
+ \csctopaccent{G}{breve}{500}
+\endsetglyph
+
+\setglyph{Lacutesmall}
+ \csctopaccent{L}{acute}{250}
+\endsetglyph
+
+\setglyph{Nacutesmall}
+ \csctopaccent{N}{acute}{500}
+\endsetglyph
+
+\setglyph{Ncaronsmall}
+ \csctopaccent{N}{caron}{500}
+\endsetglyph
+
+\setglyph{Ngsmall}
+ \cscglyph{Ng}
+\endsetglyph
+
+\setglyph{Ohungarumlautsmall}
+ \csctopaccent{O}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Racutesmall}
+ \csctopaccent{R}{acute}{500}
+\endsetglyph
+
+\setglyph{Rcaronsmall}
+ \csctopaccent{R}{caron}{500}
+\endsetglyph
+
+\setglyph{Sacutesmall}
+ \csctopaccent{S}{acute}{500}
+\endsetglyph
+
+\setglyph{Scaronsmall}
+ \csctopaccent{S}{caron}{500}
+\endsetglyph
+
+\setglyph{Scedillasmall}
+ \cscbotaccent{S}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Tcaronsmall}
+ \csctopaccent{T}{caron}{500}
+\endsetglyph
+
+\setglyph{Tcedillasmall}
+ \cscbotaccent{T}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Uhungarumlautsmall}
+ \csctopaccent{U}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Uringsmall}
+ \csctopaccent{U}{ring}{500}
+\endsetglyph
+
+\setglyph{Ydieresissmall}
+ \csctopaccent{Y}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Zacutesmall}
+ \csctopaccent{Z}{acute}{500}
+\endsetglyph
+
+\setglyph{Zcaronsmall}
+ \csctopaccent{Z}{caron}{500}
+\endsetglyph
+
+\setglyph{Zdotaccentsmall}
+ \csctopaccent{Z}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{Agravesmall}
+ \csctopaccent{A}{grave}{500}
+\endsetglyph
+
+\setglyph{Aacutesmall}
+ \csctopaccent{A}{acute}{500}
+\endsetglyph
+
+\setglyph{Acircumflexsmall}
+ \csctopaccent{A}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Atildesmall}
+ \csctopaccent{A}{tilde}{500}
+\endsetglyph
+
+\setglyph{Adieresissmall}
+ \csctopaccent{A}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Aringsmall}
+ \csctopaccent{A}{ring}{500}
+\endsetglyph
+
+\setglyph{Ccedillasmall}
+ \csctopaccent{C}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Egravesmall}
+ \csctopaccent{E}{grave}{500}
+\endsetglyph
+
+\setglyph{Eacutesmall}
+ \csctopaccent{E}{acute}{500}
+\endsetglyph
+
+\setglyph{Ecircumflexsmall}
+ \csctopaccent{E}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Edieresissmall}
+ \csctopaccent{E}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Igravesmall}
+ \csctopaccent{I}{grave}{500}
+\endsetglyph
+
+\setglyph{Iacutesmall}
+ \csctopaccent{I}{acute}{500}
+\endsetglyph
+
+\setglyph{Icircumflexsmall}
+ \csctopaccent{I}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Idieresissmall}
+ \csctopaccent{I}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ethsmall}
+ \cscglyph{Eth}
+\endsetglyph
+
+\setglyph{Dbarsmall}
+ \glyph{Ethsmall}{1000}
+\endsetglyph
+
+\setglyph{Ntildesmall}
+ \csctopaccent{N}{tilde}{500}
+\endsetglyph
+
+\setglyph{Ogravesmall}
+ \csctopaccent{O}{grave}{500}
+\endsetglyph
+
+\setglyph{Oacutesmall}
+ \csctopaccent{O}{acute}{500}
+\endsetglyph
+
+\setglyph{Ocircumflexsmall}
+ \csctopaccent{O}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Otildesmall}
+ \csctopaccent{O}{tilde}{500}
+\endsetglyph
+
+\setglyph{Odieresissmall}
+ \csctopaccent{O}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ugravesmall}
+ \csctopaccent{U}{grave}{500}
+\endsetglyph
+
+\setglyph{Uacutesmall}
+ \csctopaccent{U}{acute}{500}
+\endsetglyph
+
+\setglyph{Ucircumflexsmall}
+ \csctopaccent{U}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Udieresissmall}
+ \csctopaccent{U}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Yacutesmall}
+ \csctopaccent{Y}{acute}{500}
+\endsetglyph
+
+\setglyph{Thornsmall}
+ \cscglyph{Thorn}
+\endsetglyph
+
+\setglyph{Asmall}
+ \cscglyph{A}
+\endsetglyph
+
+\setglyph{Bsmall}
+ \cscglyph{B}
+\endsetglyph
+
+\setglyph{Csmall}
+ \cscglyph{C}
+\endsetglyph
+
+\setglyph{Dsmall}
+ \cscglyph{D}
+\endsetglyph
+
+\setglyph{Esmall}
+ \cscglyph{E}
+\endsetglyph
+
+\setglyph{Fsmall}
+ \cscglyph{F}
+\endsetglyph
+
+\setglyph{Gsmall}
+ \cscglyph{G}
+\endsetglyph
+
+\setglyph{Hsmall}
+ \cscglyph{H}
+\endsetglyph
+
+\setglyph{Ismall}
+ \cscglyph{I}
+\endsetglyph
+
+\setglyph{Jsmall}
+ \cscglyph{J}
+\endsetglyph
+
+\setglyph{Ksmall}
+ \cscglyph{K}
+\endsetglyph
+
+\setglyph{Lsmall}
+ \cscglyph{L}
+\endsetglyph
+
+\setglyph{Msmall}
+ \cscglyph{M}
+\endsetglyph
+
+\setglyph{Nsmall}
+ \cscglyph{N}
+\endsetglyph
+
+\setglyph{Osmall}
+ \cscglyph{O}
+\endsetglyph
+
+\setglyph{Psmall}
+ \cscglyph{P}
+\endsetglyph
+
+\setglyph{Qsmall}
+ \cscglyph{Q}
+\endsetglyph
+
+\setglyph{Rsmall}
+ \cscglyph{R}
+\endsetglyph
+
+\setglyph{Ssmall}
+ \cscglyph{S}
+\endsetglyph
+
+\setglyph{Tsmall}
+ \cscglyph{T}
+\endsetglyph
+
+\setglyph{Usmall}
+ \cscglyph{U}
+\endsetglyph
+
+\setglyph{Vsmall}
+ \cscglyph{V}
+\endsetglyph
+
+\setglyph{Wsmall}
+ \cscglyph{W}
+\endsetglyph
+
+\setglyph{Xsmall}
+ \cscglyph{X}
+\endsetglyph
+
+\setglyph{Ysmall}
+ \cscglyph{Y}
+\endsetglyph
+
+\setglyph{Zsmall}
+ \cscglyph{Z}
+\endsetglyph
+
+\setglyph{Lslashsmall}
+ \cscglyph{Lslash}
+\endsetglyph
+
+\setglyph{AEsmall}
+ \cscglyph{AE}
+\endsetglyph
+
+\setglyph{OEsmall}
+ \cscglyph{OE}
+\endsetglyph
+
+\setglyph{Oslashsmall}
+ \cscglyph{Oslash}
+\endsetglyph
+
+\setglyph{dotlessIsmall}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{dotlessJsmall}
+ \glyph{Jsmall}{1000}
+\endsetglyph
+
+\setglyph{FFsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Fsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Fsmall}{1000}
+\endsetglyph
+
+\setglyph{FIsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Ismall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{FLsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Lsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Lsmall}{1000}
+\endsetglyph
+
+\setglyph{FFIsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\add{\kerning{FFsmall}{Ismall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{FFLsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\add{\kerning{FFsmall}{Lsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Lsmall}{1000}
+\endsetglyph
+
+\setglyph{IJsmall}
+ \glyph{Ismall}{1000}
+ \movert{\add{\kerning{Ismall}{Jsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Jsmall}{1000}
+\endsetglyph
+
+\setglyph{Lcaronsmall}
+ \glyph{Lsmall}{1000}
+ \ifisint{monowidth}\then\else
+ \movert{-100}
+ \fi
+ \glyph{quoteright}{\int{smallcapsscale}}
+\endsetglyph
+
+\setglyph{SSsmall}
+ \glyph{Ssmall}{1000}
+ \movert{\add{\kerning{Ssmall}{Ssmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Ssmall}{1000}
+\endsetglyph
+
+
+\comment{\section{Accents}
+ \TeX's math accent-positioning requires accents to have zero depth.}
+
+\setcommand\zerodepth#1{
+ \ifisglyph{#1}\then
+ \resetglyph{#1}
+ \glyph{#1}{1000}
+ \resetdepth{0}
+ \endresetglyph
+ \fi
+}
+\zerodepth{grave}
+\zerodepth{acute}
+\zerodepth{circumflex}
+\zerodepth{tilde}
+\zerodepth{dieresis}
+\zerodepth{hungarumlaut}
+\zerodepth{ring}
+\zerodepth{caron}
+\zerodepth{breve}
+\zerodepth{macron}
+\zerodepth{dotaccent}
+
+\endmetrics
+
+\section{Changes}
+
+2003/03/18: Added \texttt{vaxis} for the vertical symmetry axis
+Changed `\texttt{asterisk}', which is now vertically centered
+in monospaced fonts.
+New code to create `\texttt{zdotaccent}', making sure that the
+height of the dot matches the letter `\texttt{i}'. This requires
+a new macro \verb|\itopaccent|. (WaS)
+
+1999/10/25: Added \verb|\setglyphs| for \texttt{Macronsmall} and
+\texttt{macronsmall}. (LH)
+
+1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH)
+Rationale: It is thoroughly confusing if the size of the black box
+created by \verb|\unfakable| depends on the metrics of an unencoded
+glyph that isn't accessible and therefore unavailable for all pratical
+purposes.
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx
new file mode 100644
index 00000000000..272c4df97e3
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/latinsc.mtx
@@ -0,0 +1,1324 @@
+% Copyright 1997, 1998 Sebastian Rahtz,
+% copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Sebastian Rahtz and Ulrik Vieth and Walter Schmidt",
+%%% version = "1.916",
+%%% date = "12 March 2003",
+%%% time = "23:59 MESZ",
+%%% filename = "latinsc.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It provides the defaults
+%%% used to install the Latin small caps glyphs.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The \textsf{fontinst} latin small caps glyphs}
+\author{Sebastian Rahtz, Ulrik Vieth, Walter Schmidt}
+\date{12 March 2003 \\
+Version 1.916}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the glyphs used by the \textsf{fontinst} package
+when generating Latin fonts. This file, \texttt{latinsc.mtx}, is a
+special version of \texttt{latin.mtx}, intended for use with real small
+caps glyphs from expert fonts using `oldstyle' or `small' glyph names.
+
+\metrics
+
+\needsfontinstversion{1.800}
+
+% \unfakable is a glyph which can't be faked.
+
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \glyphrule{500}{500}
+ \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{
+ \ifisglyph{#1small}\then
+ \glyph{#1small}{1000}
+ \else
+ \movert{\int{smallcapsextraspace}}
+ \glyph{#1}{\int{smallcapsscale}}
+ \movert{\int{smallcapsextraspace}}
+ \fi
+}
+
+% A c&sc top accent glyph is placed using the small glyphs if
+% available, and otherwise by shrinking the equivalent capital.
+
+\setcommand\csctopaccent#1#2#3{
+ \ifisglyph{#1small}\then
+ \topaccent{#1small}{#2small}{#3}
+ \else
+ \cscglyph{#1#2}
+ \fi
+}
+
+% A c&sc bot accent glyph is placed using the small glyphs if
+% available, and otherwise by shrinking the equivalent capital.
+
+\setcommand\cscbotaccent#1#2#3{
+ \ifisglyph{#1small}\then
+ \botaccent{#1small}{#2small}{#3}
+ \else
+ \cscglyph{#1#2}
+ \fi
+}
+
+% 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}
+
+% Vertical symmetry axis. (WaS)
+\setint{vaxis}{\scale{\sub{\height{parenleft}}{\depth{parenleft}}}{500}}
+
+\ifisint{monowidth}\then
+ \setint{capspacing}{0}
+ \setint{smallcapsextraspace}{0}
+\else
+ \setint{capspacing}{0}
+ \setint{smallcapsextraspace}{0}
+\fi
+
+\ifisint{visiblespace}\then
+ \setint{boundarychar}{\int{visiblespace}}
+\fi
+
+
+\comment{\section{Kerning}}
+
+\setleftrightkerning{visiblespace}{space}{1000}
+
+\setleftkerning{hyphenchar}{hyphen}{1000}
+
+\setleftrightkerning{Aacute}{A}{1000}
+\setleftrightkerning{Abreve}{A}{1000}
+\setleftrightkerning{Acircumflex}{A}{1000}
+\setleftrightkerning{Adieresis}{A}{1000}
+\setleftrightkerning{Agrave}{A}{1000}
+\setleftrightkerning{Aogonek}{A}{1000}
+\setleftrightkerning{Aring}{A}{1000}
+\setleftrightkerning{Atilde}{A}{1000}
+
+\setleftrightkerning{Cacute}{C}{1000}
+\setleftrightkerning{Ccaron}{C}{1000}
+\setleftrightkerning{Ccedilla}{C}{1000}
+
+\setleftrightkerning{Dcaron}{D}{1000}
+
+\setleftrightkerning{Eacute}{E}{1000}
+\setleftrightkerning{Ecaron}{E}{1000}
+\setleftrightkerning{Ecircumflex}{E}{1000}
+\setleftrightkerning{Edieresis}{E}{1000}
+\setleftrightkerning{Egrave}{E}{1000}
+\setleftrightkerning{Eogonek}{E}{1000}
+
+\setleftrightkerning{Gbreve}{G}{1000}
+
+\setleftkerning{IJ}{I}{1000}
+
+\setleftrightkerning{Iacute}{I}{1000}
+\setleftrightkerning{Icircumflex}{I}{1000}
+\setleftrightkerning{Idieresis}{I}{1000}
+\setleftrightkerning{Idotaccent}{I}{1000}
+\setleftrightkerning{Igrave}{I}{1000}
+
+\setrightkerning{IJ}{J}{1000}
+
+\setleftrightkerning{Lacute}{L}{1000}
+\setleftrightkerning{Lslash}{L}{1000}
+\setleftkerning{Lcaron}{L}{1000}
+
+\setleftrightkerning{Nacute}{N}{1000}
+\setleftrightkerning{Ncaron}{N}{1000}
+\setleftrightkerning{Ntilde}{N}{1000}
+
+%\setleftkerning{Ng}{N}{1000}
+%\setrightkerning{Ng}{J}{1000}
+
+\setleftrightkerning{Oacute}{O}{1000}
+\setleftrightkerning{Ocircumflex}{O}{1000}
+\setleftrightkerning{Odieresis}{O}{1000}
+\setleftrightkerning{Ograve}{O}{1000}
+\setleftrightkerning{Ohungarumlaut}{O}{1000}
+\setleftrightkerning{Oslash}{O}{1000}
+\setleftrightkerning{Otilde}{O}{1000}
+
+\setleftrightkerning{Rcaron}{R}{1000}
+\setleftrightkerning{Racute}{R}{1000}
+
+\setleftrightkerning{SS}{S}{1000}
+\setleftrightkerning{Sacute}{S}{1000}
+\setleftrightkerning{Scaron}{S}{1000}
+\setleftrightkerning{Scedilla}{S}{1000}
+
+\setleftrightkerning{Tcaron}{T}{1000}
+\setleftrightkerning{Tcedilla}{T}{1000}
+
+\setleftrightkerning{Uacute}{U}{1000}
+\setleftrightkerning{Ucircumflex}{U}{1000}
+\setleftrightkerning{Udieresis}{U}{1000}
+\setleftrightkerning{Ugrave}{U}{1000}
+\setleftrightkerning{Uhungarumlaut}{U}{1000}
+\setleftrightkerning{Uring}{U}{1000}
+
+\setleftrightkerning{Yacute}{Y}{1000}
+\setleftrightkerning{Ydieresis}{Y}{1000}
+
+\setleftrightkerning{Zacute}{Z}{1000}
+\setleftrightkerning{Zcaron}{Z}{1000}
+\setleftrightkerning{Zdotaccent}{Z}{1000}
+
+
+\setleftrightkerning{Aacutesmall}{Asmall}{1000}
+\setleftrightkerning{Abrevesmall}{Asmall}{1000}
+\setleftrightkerning{Acircumflexsmall}{Asmall}{1000}
+\setleftrightkerning{Adieresissmall}{Asmall}{1000}
+\setleftrightkerning{Agravesmall}{Asmall}{1000}
+\setleftrightkerning{Aogoneksmall}{Asmall}{1000}
+\setleftrightkerning{Aringsmall}{Asmall}{1000}
+\setleftrightkerning{Atildesmall}{Asmall}{1000}
+
+\setleftrightkerning{Cacutesmall}{Csmall}{1000}
+\setleftrightkerning{Ccaronsmall}{Csmall}{1000}
+\setleftrightkerning{Ccedillasmall}{Csmall}{1000}
+
+\setleftrightkerning{Dcaronsmall}{Dsmall}{1000}
+
+\setleftrightkerning{Eacutesmall}{Esmall}{1000}
+\setleftrightkerning{Ecaronsmall}{Esmall}{1000}
+\setleftrightkerning{Ecircumflexsmall}{Esmall}{1000}
+\setleftrightkerning{Edieresissmall}{Esmall}{1000}
+\setleftrightkerning{Egravesmall}{Esmall}{1000}
+\setleftrightkerning{Eogoneksmall}{Esmall}{1000}
+
+\setleftrightkerning{Gbrevesmall}{Gsmall}{1000}
+
+\setleftrightkerning{Iacutesmall}{Ismall}{1000}
+\setleftrightkerning{Icircumflexsmall}{Ismall}{1000}
+\setleftrightkerning{Idieresissmall}{Ismall}{1000}
+\setleftrightkerning{Idotaccentsmall}{Ismall}{1000}
+\setleftrightkerning{Igravesmall}{Ismall}{1000}
+
+\setleftrightkerning{Lacutesmall}{Lsmall}{1000}
+\setleftrightkerning{Lslashsmall}{Lsmall}{1000}
+\setleftkerning{Lcaronsmall}{Lsmall}{1000}
+
+\setleftrightkerning{Nacutesmall}{Nsmall}{1000}
+\setleftrightkerning{Ncaronsmall}{Nsmall}{1000}
+\setleftrightkerning{Ntildesmall}{Nsmall}{1000}
+
+%\setleftkerning{Ngsmall}{Nsmall}{1000}
+%\setrightkerning{Ngsmall}{Jsmall}{1000}
+
+\setleftrightkerning{Oacutesmall}{Osmall}{1000}
+\setleftrightkerning{Ocircumflexsmall}{Osmall}{1000}
+\setleftrightkerning{Odieresissmall}{Osmall}{1000}
+\setleftrightkerning{Ogravesmall}{Osmall}{1000}
+\setleftrightkerning{Ohungarumlautsmall}{Osmall}{1000}
+\setleftrightkerning{Oslashsmall}{Osmall}{1000}
+\setleftrightkerning{Otildesmall}{Osmall}{1000}
+
+\setleftrightkerning{Rcaronsmall}{Rsmall}{1000}
+\setleftrightkerning{Racutesmall}{Rsmall}{1000}
+
+\setleftrightkerning{SSsmall}{Ssmall}{1000}
+\setleftrightkerning{Sacutesmall}{Ssmall}{1000}
+\setleftrightkerning{Scaronsmall}{Ssmall}{1000}
+\setleftrightkerning{Scedillasmall}{Ssmall}{1000}
+
+\setleftrightkerning{Tcaronsmall}{Tsmall}{1000}
+\setleftrightkerning{Tcedillasmall}{Tsmall}{1000}
+
+\setleftrightkerning{Uacutesmall}{Usmall}{1000}
+\setleftrightkerning{Ucircumflexsmall}{Usmall}{1000}
+\setleftrightkerning{Udieresissmall}{Usmall}{1000}
+\setleftrightkerning{Ugravesmall}{Usmall}{1000}
+\setleftrightkerning{Uhungarumlautsmall}{Usmall}{1000}
+\setleftrightkerning{Uringsmall}{Usmall}{1000}
+
+\setleftrightkerning{Yacutesmall}{Ysmall}{1000}
+\setleftrightkerning{Ydieresissmall}{Ysmall}{1000}
+
+\setleftrightkerning{Zacutesmall}{Zsmall}{1000}
+\setleftrightkerning{Zcaronsmall}{Zsmall}{1000}
+\setleftrightkerning{Zdotaccentsmall}{Zsmall}{1000}
+
+
+\comment{\section{All-caps kerning}}
+
+\setleftrightkerning{dotlessI}{I}{1000}
+\setleftrightkerning{dotlessJ}{J}{1000}
+\setleftrightkerning{FFspaced}{F}{1000}
+\setleftkerning{FIspaced}{F}{1000}
+\setrightkerning{FIspaced}{I}{1000}
+\setleftkerning{FLspaced}{F}{1000}
+\setrightkerning{FLspaced}{L}{1000}
+\setleftkerning{FFIspaced}{F}{1000}
+\setrightkerning{FFIspaced}{I}{1000}
+\setleftkerning{FFLspaced}{F}{1000}
+\setrightkerning{FFLspaced}{L}{1000}
+\setleftrightkerning{Dbar}{Eth}{1000}
+\setleftkerning{IJspaced}{I}{1000}
+\setrightkerning{IJspaced}{J}{1000}
+\setleftrightkerning{SSspaced}{S}{1000}
+
+
+\comment{\section{Small caps kerning}}
+
+\setleftrightkerning{dotlessIsmall}{Ismall}{1000}
+\setleftrightkerning{dotlessJsmall}{Jsmall}{1000}
+
+
+\comment{\section{Unfakable glyphs}}
+
+\unfakable{Gamma}
+\unfakable{Delta}
+\unfakable{Theta}
+\unfakable{Lambda}
+\unfakable{Xi}
+\unfakable{Pi}
+\unfakable{Sigma}
+\unfakable{Upsilon}
+\unfakable{Upsilon1}
+\unfakable{Phi}
+\unfakable{Psi}
+\unfakable{Omega}
+
+\unfakable{grave}
+\unfakable{acute}
+\unfakable{circumflex}
+\unfakable{tilde}
+\unfakable{dieresis}
+\unfakable{hungarumlaut}
+\unfakable{ring}
+\unfakable{caron}
+\unfakable{breve}
+\unfakable{macron}
+\unfakable{dotaccent}
+\unfakable{cedilla}
+\unfakable{ogonek}
+\unfakable{guilsinglleft}
+\unfakable{guilsinglright}
+\unfakable{quotedblleft}
+\unfakable{quotedblright}
+\unfakable{quotedblbase}
+\unfakable{guillemotleft}
+\unfakable{guillemotright}
+\unfakable{endash}
+\unfakable{emdash}
+\unfakable{dotlessi}
+\unfakable{perthousandzero}
+\unfakable{exclam}
+\unfakable{quotedbl}
+\unfakable{numbersign}
+\unfakable{dollar}
+\unfakable{percent}
+\unfakable{ampersand}
+\unfakable{quoteright}
+\unfakable{parenleft}
+\unfakable{parenright}
+\unfakable{asterisk}
+\unfakable{plus}
+\unfakable{comma}
+\unfakable{hyphen}
+\unfakable{period}
+\unfakable{slash}
+\unfakable{zero}
+\unfakable{one}
+\unfakable{two}
+\unfakable{three}
+\unfakable{four}
+\unfakable{five}
+\unfakable{six}
+\unfakable{seven}
+\unfakable{eight}
+\unfakable{nine}
+\unfakable{zerooldstyle}
+\unfakable{oneoldstyle}
+\unfakable{twooldstyle}
+\unfakable{threeoldstyle}
+\unfakable{fouroldstyle}
+\unfakable{fiveoldstyle}
+\unfakable{sixoldstyle}
+\unfakable{sevenoldstyle}
+\unfakable{eightoldstyle}
+\unfakable{nineoldstyle}
+\unfakable{colon}
+\unfakable{semicolon}
+\unfakable{less}
+\unfakable{equal}
+\unfakable{greater}
+\unfakable{question}
+\unfakable{at}
+\unfakable{A}
+\unfakable{B}
+\unfakable{C}
+\unfakable{D}
+\unfakable{E}
+\unfakable{F}
+\unfakable{G}
+\unfakable{H}
+\unfakable{I}
+\unfakable{J}
+\unfakable{K}
+\unfakable{L}
+\unfakable{M}
+\unfakable{N}
+\unfakable{O}
+\unfakable{P}
+\unfakable{Q}
+\unfakable{R}
+\unfakable{S}
+\unfakable{T}
+\unfakable{U}
+\unfakable{V}
+\unfakable{W}
+\unfakable{X}
+\unfakable{Y}
+\unfakable{Z}
+\unfakable{bracketleft}
+\unfakable{backslash}
+\unfakable{bracketright}
+\unfakable{asciicircum}
+\unfakable{underscore}
+\unfakable{quoteleft}
+\unfakable{a}
+\unfakable{b}
+\unfakable{c}
+\unfakable{d}
+\unfakable{e}
+\unfakable{f}
+\unfakable{g}
+\unfakable{h}
+\unfakable{i}
+\unfakable{j}
+\unfakable{k}
+\unfakable{l}
+\unfakable{m}
+\unfakable{n}
+\unfakable{o}
+\unfakable{p}
+\unfakable{q}
+\unfakable{r}
+\unfakable{s}
+\unfakable{t}
+\unfakable{u}
+\unfakable{v}
+\unfakable{w}
+\unfakable{x}
+\unfakable{y}
+\unfakable{z}
+\unfakable{braceleft}
+\unfakable{bar}
+\unfakable{braceright}
+\unfakable{asciitilde}
+\unfakable{Eng}
+\unfakable{section}
+\unfakable{Engsmall}
+\unfakable{exclamdown}
+\unfakable{questiondown}
+\unfakable{sterling}
+\unfakable{AE}
+\unfakable{Eth}
+\unfakable{OE}
+\unfakable{Oslash}
+\unfakable{Thorn}
+\unfakable{AEsmall}
+\unfakable{Ethsmall}
+\unfakable{OEsmall}
+\unfakable{Oslashsmall}
+\unfakable{Thornsmall}
+\unfakable{germandbls}
+\unfakable{lslashslash}
+
+\setglyph{dotlessj}
+ \moveup{\neg{\depth{j}}}
+ \glyphrule{\width{j}}{\add{\depth{j}}{\height{dotlessi}}}
+ \resetitalic{\italic{dotlessi}}
+ \moveup{\depth{j}}
+ \glyphwarning{missing glyph `dotlessj'}
+\endsetglyph
+
+
+\comment{\section{Glyphs}}
+
+% only with monospaced fonts. (WaS)
+\ifisint{monowidth}\then
+\resetglyph{asterisk}
+ \moveup{\neg{\sub{\scale{\sub{\height{asterisk}}{\depth{asterisk}}}{500}}{\int{vaxis}}}}
+ \glyph{asterisk}{1000}
+ \resetdepth{0}
+\endresetglyph
+\fi
+
+\setglyph{space}
+ \ifisglyph{space-not}\then
+ \movert{\width{space-not}}
+ \else
+ \movert{\width{i}}
+ \fi
+\endsetglyph
+
+\setglyph{compwordmark}
+ \glyphrule{0}{\int{xheight}}
+\endsetglyph
+\setint{compwordmark-spacing}{0}
+
+\setglyph{quotesinglbase}
+ \glyph{comma}{1000}
+\endsetglyph
+
+\setglyph{visiblespace}
+ \moveup{\neg{\int{visiblespacedepth}}}
+ \movert{\int{visiblespacesurround}}
+ \glyphrule
+ {\int{underlinethickness}}
+ {\int{visiblespacedepth}}
+ \glyphrule
+ {\int{visiblespacewidth}}
+ {\int{underlinethickness}}
+ \glyphrule
+ {\int{underlinethickness}}
+ {\int{visiblespacedepth}}
+ \movert{\int{visiblespacesurround}}
+ \moveup{\int{visiblespacedepth}}
+\endsetglyph
+
+\setglyph{rangedash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \else
+ \glyph{endash}{1000}
+ \fi
+\endsetglyph
+
+\setglyph{punctdash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \glyph{hyphen}{1000}
+ \else
+ \glyph{emdash}{1000}
+ \fi
+\endsetglyph
+
+\setglyph{hyphenchar}
+ \glyph{hyphen}{1000}
+\endsetglyph
+
+\setglyph{ringfitted}
+ \movert{\div{\sub{\width{A}}{\width{ring}}}{2}}
+ \glyph{ring}{1000}
+ \movert{\div{\sub{\width{A}}{\width{ring}}}{2}}
+\endsetglyph
+
+%\setglyph{lslash}
+% \glyph{lslashslash}{1000}
+% \movert{\kerning{lslashslash}{l}}
+% \glyph{l}{1000}
+%\endsetglyph
+
+%\setglyph{Lslash}
+% \glyph{lslashslash}{1000}
+% \movert{\kerning{lslashslash}{L}}
+% \glyph{L}{1000}
+%\endsetglyph
+
+\setglyph{Ng}
+ \glyph{Eng}{1000}
+\endsetglyph
+
+\setglyph{Ngsmall}
+ \glyph{Engsmall}{1000}
+\endsetglyph
+
+\setglyph{Abreve}
+ \topaccent{A}{breve}{500}
+\endsetglyph
+
+\setglyph{Aogonek}
+ \botaccent{A}{ogonek}{900}
+\endsetglyph
+
+\setglyph{Cacute}
+ \topaccent{C}{acute}{500}
+\endsetglyph
+
+\setglyph{Ccaron}
+ \topaccent{C}{caron}{500}
+\endsetglyph
+
+\setglyph{Dcaron}
+ \topaccent{D}{caron}{450}
+\endsetglyph
+
+\setglyph{Ecaron}
+ \topaccent{E}{caron}{500}
+\endsetglyph
+
+\setglyph{Eogonek}
+ \botaccent{E}{ogonek}{850}
+\endsetglyph
+
+\setglyph{Gbreve}
+ \topaccent{G}{breve}{500}
+\endsetglyph
+
+\setglyph{Lacute}
+ \topaccent{L}{acute}{250}
+\endsetglyph
+
+\setglyph{Lcaron}
+ \glyph{L}{1000}
+ \ifisint{monowidth}\then\else
+ \movert{-200}
+ \fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+
+\setglyph{Nacute}
+ \topaccent{N}{acute}{500}
+\endsetglyph
+
+\setglyph{Ncaron}
+ \topaccent{N}{caron}{500}
+\endsetglyph
+
+\setglyph{Ohungarumlaut}
+ \topaccent{O}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Racute}
+ \topaccent{R}{acute}{500}
+\endsetglyph
+
+\setglyph{Rcaron}
+ \topaccent{R}{caron}{500}
+\endsetglyph
+
+\setglyph{Sacute}
+ \topaccent{S}{acute}{500}
+\endsetglyph
+
+\setglyph{Scaron}
+ \topaccent{S}{caron}{500}
+\endsetglyph
+
+\setglyph{Scedilla}
+ \botaccent{S}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Tcaron}
+ \topaccent{T}{caron}{500}
+\endsetglyph
+
+\setglyph{Tcedilla}
+ \botaccent{T}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Uhungarumlaut}
+ \topaccent{U}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Uring}
+ \topaccent{U}{ring}{500}
+\endsetglyph
+
+\setglyph{Ydieresis}
+ \topaccent{Y}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Zacute}
+ \topaccent{Z}{acute}{500}
+\endsetglyph
+
+\setglyph{Zcaron}
+ \topaccent{Z}{caron}{500}
+\endsetglyph
+
+\setglyph{Zdotaccent}
+ \topaccent{Z}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{IJ}
+ \glyph{I}{1000}
+ \movert{\kerning{I}{J}}
+ \glyph{J}{1000}
+\endsetglyph
+
+\setglyph{Idotaccent}
+ \topaccent{I}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{Agrave}
+ \topaccent{A}{grave}{500}
+\endsetglyph
+
+\setglyph{Aacute}
+ \topaccent{A}{acute}{500}
+\endsetglyph
+
+\setglyph{Acircumflex}
+ \topaccent{A}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Atilde}
+ \topaccent{A}{tilde}{500}
+\endsetglyph
+
+\setglyph{Adieresis}
+ \topaccent{A}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Aring}
+ \topaccent{A}{ring}{500}
+\endsetglyph
+
+\setglyph{Ccedilla}
+ \botaccent{C}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Egrave}
+ \topaccent{E}{grave}{500}
+\endsetglyph
+
+\setglyph{Eacute}
+ \topaccent{E}{acute}{500}
+\endsetglyph
+
+\setglyph{Ecircumflex}
+ \topaccent{E}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Edieresis}
+ \topaccent{E}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Iacute}
+ \topaccent{I}{acute}{500}
+\endsetglyph
+
+\setglyph{Igrave}
+ \topaccent{I}{grave}{500}
+\endsetglyph
+
+\setglyph{Icircumflex}
+ \topaccent{I}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Idieresis}
+ \topaccent{I}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ntilde}
+ \topaccent{N}{tilde}{500}
+\endsetglyph
+
+\setglyph{Ograve}
+ \topaccent{O}{grave}{500}
+\endsetglyph
+
+\setglyph{Oacute}
+ \topaccent{O}{acute}{500}
+\endsetglyph
+
+\setglyph{Ocircumflex}
+ \topaccent{O}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Otilde}
+ \topaccent{O}{tilde}{500}
+\endsetglyph
+
+\setglyph{Odieresis}
+ \topaccent{O}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ugrave}
+ \topaccent{U}{grave}{500}
+\endsetglyph
+
+\setglyph{Uacute}
+ \topaccent{U}{acute}{500}
+\endsetglyph
+
+\setglyph{Ucircumflex}
+ \topaccent{U}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Udieresis}
+ \topaccent{U}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Yacute}
+ \topaccent{Y}{acute}{500}
+\endsetglyph
+
+\setglyph{SS}
+ \glyph{S}{1000}
+ \movert{\kerning{S}{S}}
+ \glyph{S}{1000}
+\endsetglyph
+
+
+\comment{\section{All-caps glyphs}}
+
+\setglyph{dotlessI}
+ \glyph{I}{1000}
+\endsetglyph
+
+\setglyph{dotlessJ}
+ \glyph{J}{1000}
+\endsetglyph
+
+\setglyph{FFspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{F}}
+ {\int{capspacing}}}
+ \glyph{F}{1000}
+\endsetglyph
+
+\setglyph{FIspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{I}}
+ {\int{capspacing}}}
+ \glyph{I}{1000}
+\endsetglyph
+
+\setglyph{FLspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{L}}
+ {\int{capspacing}}}
+ \glyph{L}{1000}
+\endsetglyph
+
+\setglyph{FFIspaced}
+ \glyph{FFspaced}{1000}
+ \movert{\add{\kerning{FFspaced}{I}}
+ {\int{capspacing}}}
+ \glyph{I}{1000}
+\endsetglyph
+
+\setglyph{FFLspaced}
+ \glyph{FFspaced}{1000}
+ \movert{\add{\kerning{FFspaced}{L}}
+ {\int{capspacing}}}
+ \glyph{L}{1000}
+\endsetglyph
+
+\setglyph{Dbar}
+ \glyph{Eth}{1000}
+\endsetglyph
+
+\setglyph{IJspaced}
+ \glyph{I}{1000}
+ \movert{\add{\kerning{I}{J}}{\int{capspacing}}}
+ \glyph{J}{1000}
+\endsetglyph
+
+\setglyph{SSspaced}
+ \glyph{S}{1000}
+ \movert{\add{\kerning{S}{S}}{\int{capspacing}}}
+ \glyph{S}{1000}
+\endsetglyph
+
+
+\comment{\section{Small caps glyphs}}
+
+\setglyph{Acutesmall}
+ \cscaccent{acute}
+\endsetglyph
+
+\setglyph{acutesmall}
+ \glyph{Acutesmall}{1000}
+\endsetglyph
+
+\setglyph{Gravesmall}
+ \cscaccent{grave}
+\endsetglyph
+
+\setglyph{gravesmall}
+ \glyph{Gravesmall}{1000}
+\endsetglyph
+
+\setglyph{Circumflexsmall}
+ \cscaccent{circumflex}
+\endsetglyph
+
+\setglyph{circumflexsmall}
+ \glyph{Circumflexsmall}{1000}
+\endsetglyph
+
+\setglyph{Tildesmall}
+ \cscaccent{tilde}
+\endsetglyph
+
+\setglyph{tildesmall}
+ \glyph{Tildesmall}{1000}
+\endsetglyph
+
+\setglyph{Dieresissmall}
+ \cscaccent{dieresis}
+\endsetglyph
+
+\setglyph{dieresissmall}
+ \glyph{Dieresissmall}{1000}
+\endsetglyph
+
+\setglyph{Brevesmall}
+ \cscaccent{breve}
+\endsetglyph
+
+\setglyph{brevesmall}
+ \glyph{Brevesmall}{1000}
+\endsetglyph
+
+\setglyph{Dotaccentsmall}
+ \cscaccent{dotaccent}
+\endsetglyph
+
+\setglyph{dotaccentsmall}
+ \glyph{Dotaccentsmall}{1000}
+\endsetglyph
+
+\setglyph{Caronsmall}
+ \cscaccent{caron}
+\endsetglyph
+
+\setglyph{caronsmall}
+ \glyph{Caronsmall}{1000}
+\endsetglyph
+
+\setglyph{Hungarumlautsmall}
+ \cscaccent{hungarumlaut}
+\endsetglyph
+
+\setglyph{hungarumlautsmall}
+ \glyph{Hungarumlautsmall}{1000}
+\endsetglyph
+
+\setglyph{Ringsmall}
+ \cscaccent{ring}
+\endsetglyph
+
+\setglyph{ringsmall}
+ \glyph{Ringsmall}{1000}
+\endsetglyph
+
+\setglyph{Cedillasmall}
+ \cscglyph{cedilla}
+\endsetglyph
+
+\setglyph{cedillasmall}
+ \glyph{Cedillasmall}{1000}
+\endsetglyph
+
+\setglyph{Ogoneksmall}
+ \cscglyph{ogonek}
+\endsetglyph
+
+\setglyph{ogoneksmall}
+ \glyph{Ogoneksmall}{1000}
+\endsetglyph
+
+\setglyph{Abrevesmall}
+ \csctopaccent{A}{breve}{500}
+\endsetglyph
+
+\setglyph{Aogoneksmall}
+ \cscbotaccent{A}{ogonek}{900}
+\endsetglyph
+
+\setglyph{Cacutesmall}
+ \csctopaccent{C}{acute}{500}
+\endsetglyph
+
+\setglyph{Ccaronsmall}
+ \csctopaccent{C}{caron}{500}
+\endsetglyph
+
+\setglyph{Dcaronsmall}
+ \csctopaccent{D}{caron}{500}
+\endsetglyph
+
+\setglyph{Ecaronsmall}
+ \csctopaccent{E}{caron}{500}
+\endsetglyph
+
+\setglyph{Eogoneksmall}
+ \cscbotaccent{E}{ogonek}{850}
+\endsetglyph
+
+\setglyph{Gbrevesmall}
+ \csctopaccent{G}{breve}{500}
+\endsetglyph
+
+\setglyph{Lacutesmall}
+ \csctopaccent{L}{acute}{250}
+\endsetglyph
+
+\setglyph{Nacutesmall}
+ \csctopaccent{N}{acute}{500}
+\endsetglyph
+
+\setglyph{Ncaronsmall}
+ \csctopaccent{N}{caron}{500}
+\endsetglyph
+
+\setglyph{Ngsmall}
+ \cscglyph{Ng}
+\endsetglyph
+
+\setglyph{Ohungarumlautsmall}
+ \csctopaccent{O}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Racutesmall}
+ \csctopaccent{R}{acute}{500}
+\endsetglyph
+
+\setglyph{Rcaronsmall}
+ \csctopaccent{R}{caron}{500}
+\endsetglyph
+
+\setglyph{Sacutesmall}
+ \csctopaccent{S}{acute}{500}
+\endsetglyph
+
+\setglyph{Scaronsmall}
+ \csctopaccent{S}{caron}{500}
+\endsetglyph
+
+\setglyph{Scedillasmall}
+ \cscbotaccent{S}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Tcaronsmall}
+ \csctopaccent{T}{caron}{500}
+\endsetglyph
+
+\setglyph{Tcedillasmall}
+ \cscbotaccent{T}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Uhungarumlautsmall}
+ \csctopaccent{U}{hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Uringsmall}
+ \csctopaccent{U}{ring}{500}
+\endsetglyph
+
+\setglyph{Ydieresissmall}
+ \csctopaccent{Y}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Zacutesmall}
+ \csctopaccent{Z}{acute}{500}
+\endsetglyph
+
+\setglyph{Zcaronsmall}
+ \csctopaccent{Z}{caron}{500}
+\endsetglyph
+
+\setglyph{Zdotaccentsmall}
+ \csctopaccent{Z}{dotaccent}{500}
+\endsetglyph
+
+\setglyph{Agravesmall}
+ \csctopaccent{A}{grave}{500}
+\endsetglyph
+
+\setglyph{Aacutesmall}
+ \csctopaccent{A}{acute}{500}
+\endsetglyph
+
+\setglyph{Acircumflexsmall}
+ \csctopaccent{A}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Atildesmall}
+ \csctopaccent{A}{tilde}{500}
+\endsetglyph
+
+\setglyph{Adieresissmall}
+ \csctopaccent{A}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Aringsmall}
+ \csctopaccent{A}{ring}{500}
+\endsetglyph
+
+\setglyph{Ccedillasmall}
+ \csctopaccent{C}{cedilla}{500}
+\endsetglyph
+
+\setglyph{Egravesmall}
+ \csctopaccent{E}{grave}{500}
+\endsetglyph
+
+\setglyph{Eacutesmall}
+ \csctopaccent{E}{acute}{500}
+\endsetglyph
+
+\setglyph{Ecircumflexsmall}
+ \csctopaccent{E}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Edieresissmall}
+ \csctopaccent{E}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Igravesmall}
+ \csctopaccent{I}{grave}{500}
+\endsetglyph
+
+\setglyph{Iacutesmall}
+ \csctopaccent{I}{acute}{500}
+\endsetglyph
+
+\setglyph{Icircumflexsmall}
+ \csctopaccent{I}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Idieresissmall}
+ \csctopaccent{I}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ethsmall}
+ \cscglyph{Eth}
+\endsetglyph
+
+\setglyph{Dbarsmall}
+ \glyph{Ethsmall}{1000}
+\endsetglyph
+
+\setglyph{Ntildesmall}
+ \csctopaccent{N}{tilde}{500}
+\endsetglyph
+
+\setglyph{Ogravesmall}
+ \csctopaccent{O}{grave}{500}
+\endsetglyph
+
+\setglyph{Oacutesmall}
+ \csctopaccent{O}{acute}{500}
+\endsetglyph
+
+\setglyph{Ocircumflexsmall}
+ \csctopaccent{O}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Otildesmall}
+ \csctopaccent{O}{tilde}{500}
+\endsetglyph
+
+\setglyph{Odieresissmall}
+ \csctopaccent{O}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Ugravesmall}
+ \csctopaccent{U}{grave}{500}
+\endsetglyph
+
+\setglyph{Uacutesmall}
+ \csctopaccent{U}{acute}{500}
+\endsetglyph
+
+\setglyph{Ucircumflexsmall}
+ \csctopaccent{U}{circumflex}{500}
+\endsetglyph
+
+\setglyph{Udieresissmall}
+ \csctopaccent{U}{dieresis}{500}
+\endsetglyph
+
+\setglyph{Yacutesmall}
+ \csctopaccent{Y}{acute}{500}
+\endsetglyph
+
+\setglyph{Thornsmall}
+ \cscglyph{Thorn}
+\endsetglyph
+
+\setglyph{dotlessIsmall}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{dotlessJsmall}
+ \glyph{Jsmall}{1000}
+\endsetglyph
+
+\setglyph{FFsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Fsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Fsmall}{1000}
+\endsetglyph
+
+\setglyph{FIsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Ismall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{FLsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Lsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Lsmall}{1000}
+\endsetglyph
+
+\setglyph{FFIsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\add{\kerning{FFsmall}{Ismall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{FFLsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\add{\kerning{FFsmall}{Lsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Lsmall}{1000}
+\endsetglyph
+
+\setglyph{IJsmall}
+ \glyph{Ismall}{1000}
+ \movert{\add{\kerning{Ismall}{Jsmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Jsmall}{1000}
+\endsetglyph
+
+\setglyph{Lcaronsmall}
+ \glyph{Lsmall}{1000}
+ \ifisint{monowidth}\then\else
+ \movert{-100}
+ \fi
+ \glyph{quoteright}{\int{smallcapsscale}}
+\endsetglyph
+
+\setglyph{SSsmall}
+ \glyph{Ssmall}{1000}
+ \movert{\add{\kerning{Ssmall}{Ssmall}}
+ {\mul{2}{\int{smallcapsextraspace}}}}
+ \glyph{Ssmall}{1000}
+\endsetglyph
+
+
+\comment{\section{Accents}
+ \TeX's math accent-positioning requires accents to have zero depth.}
+
+\setcommand\zerodepth#1{
+ \ifisglyph{#1}\then
+ \resetglyph{#1}
+ \glyph{#1}{1000}
+ \resetdepth{0}
+ \endresetglyph
+ \fi
+}
+\zerodepth{Gravesmall}
+\zerodepth{Acutesmall}
+\zerodepth{Circumflexsmall}
+\zerodepth{Tildesmall}
+\zerodepth{Dieresissmall}
+\zerodepth{Hungarumlautsmall}
+\zerodepth{Ringsmall}
+\zerodepth{Caronsmall}
+\zerodepth{Brevesmall}
+\zerodepth{Macronsmall}
+\zerodepth{Dotaccentsmall}
+
+\endmetrics
+
+\section{Changes}
+
+2003/03/17: Added \texttt{vaxis} for the vertical symmetry axis.
+Changed `\texttt{asterisk}', which is now vertically centered
+in monospaced fonts. (WaS)
+
+1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH)
+Rationale: It is thoroughly confusing if the size of the black box
+created by \verb|\unfakable| depends on the metrics of an unencoded
+glyph that isn't accessible and therefore unavailable for all
+pratical purposes.
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx
new file mode 100644
index 00000000000..91306fbaf31
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/llbuild.mtx
@@ -0,0 +1,568 @@
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.923",
+%%% date = "2003-03-29",
+%%% time = "01:24:47 +01:00",
+%%% filename = "llbuild.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It builds upper case latin
+%%% letters.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}[2002/03/01]
+\showbranches
+
+\title{Building lower case}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{5 January 2002\\Version 1.923}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This file builds lower case (small, \texttt{l} case) latin letters,
+or more precisely, it makes sure that a set of glyphs is defined that
+cover the lower case letters used in European latin scripts.
+Even that is a slight exaggeration, because there are a couple of
+``exotic'' letters that are missing, but most people never try to use
+those anyway.
+
+For the glyphs set in this file to look anything like the letters they
+are supposed to be, it is necessary that the glyphs for unaccented
+letters and for accents already exist and look like they are supposed
+to. In that case, the commands below will manufacture decent
+substitutes for the missing glyphs by composing letters and accents.
+If some of these base glyphs are missing, then a ``missing glyph''
+substitute will be supplied for them. Such substitutes will show up in
+print as black squares, and most DVI drivers will emit a warning when
+producing them.
+
+The most common case encountered is that almost all unaccented letters
+and accents are available, but only about half of the accented
+letters. Then for the other half, quite decent substitutes are made,
+but a few letters only show up as ``missing glyph'' boxes.
+
+
+\metrics
+
+\needsfontinstversion{1.910}
+\usemtxpackage{ltcmds}
+
+\ProvidesMtxPackage{llbuild}
+
+\begincomment
+\section{Lower case base glyphs}
+
+\subsection{Unfakable glyphs}
+
+The following commands make sure all the unaccented letter glyphs and
+accent glyphs are set. If any of them are not already set at this
+point, then those will be set to ``missing glyph'' boxes.
+\endcomment
+
+\unfakable{a}
+\unfakable{ae}
+\unfakable{b}
+\unfakable{c}
+\unfakable{d}
+\unfakable{dotlessi}
+\unfakable{e}
+\unfakable{eng}
+\unfakable{eth}
+\unfakable{f}
+\unfakable{g}
+\unfakable{germandbls}
+\unfakable{h}
+\unfakable{i}
+\unfakable{j}
+\unfakable{k}
+\unfakable{l}
+\unfakable{m}
+\unfakable{n}
+\unfakable{o}
+\unfakable{oe}
+\unfakable{oslash}
+\unfakable{p}
+\unfakable{q}
+\unfakable{r}
+\unfakable{s}
+\unfakable{t}
+\unfakable{thorn}
+\unfakable{u}
+\unfakable{v}
+\unfakable{w}
+\unfakable{x}
+\unfakable{y}
+\unfakable{z}
+
+
+\unfakabletopaccent{acute}
+\unfakabletopaccent{breve}
+\unfakabletopaccent{caron}
+\unfakable{cedilla}
+\unfakabletopaccent{circumflex}
+\unfakabletopaccent{dieresis}
+\unfakabletopaccent{dotaccent}
+\unfakabletopaccent{grave}
+\unfakabletopaccent{hungarumlaut}
+\unfakable{lslashslash}
+\unfakabletopaccent{macron}
+\unfakable{ogonek}
+\unfakabletopaccent{quoteright}
+\unfakabletopaccent{ring}
+\unfakabletopaccent{tilde}
+
+\begincomment
+\subsection{Fakable lower case glyphs}
+\endcomment
+
+\ifisglyph{dcroat}\then
+ \setglyph{dbar}
+ \glyph{dcroat}{1000}
+ \endsetglyph
+\Else
+ \setglyph{dbar}
+ \push
+ \movert{\sub{\width{d}}{\width{macron}}}
+ \moveup{
+ \sub{\half{\add{\height{d}}{\int{xheight}}}}
+ {\height{macron}}}
+ \glyph{macron}{1000}
+ \pop
+ \glyph{d}{1000}
+ \endsetglyph
+\Fi
+\setleftrightkerning{dbar}{d}{1000}
+
+\setglyph{dotlessj}
+ \glyph{j}{1000}
+ \resetheight{\int{xheight}}
+ \comment{The reason \texttt{dotlessj} \emph{can} be faked using a
+ \texttt{j} is that it is not a distinct character. Unlike
+ \texttt{dotlessi}, which is in Turkish a letter distinct from
+ \texttt{i}, the only thing \texttt{dotlessj} is ever used for is
+ as the base glyph for accented j's.}
+\endsetglyph
+\setleftrightkerning{dotlessj}{j}{1000}
+
+
+\begincomment
+\subsection{Aliased lower case glyphs}
+\endcomment
+
+\setglyph{ng}
+ \glyph{eng}{1000}
+\endsetglyph
+\setleftkerning{ng}{n}{1000}
+\setrightkerning{ng}{j}{1000}
+
+
+\begincomment
+\subsection{Some extra kerning}
+\endcomment
+
+\setleftkerning{oe}{o}{1000}
+\setrightkerning{oe}{e}{1000}
+
+\setleftrightkerning{oslash}{o}{1000}
+
+
+
+\begincomment
+\section{Accented lower case glyphs}
+\endcomment
+
+\setglyph{aacute}
+ \topaccent{a}{acute}{500}
+\endsetglyph
+\setleftrightkerning{aacute}{a}{1000}
+
+\setglyph{abreve}
+ \topaccent{a}{breve}{500}
+\endsetglyph
+\setleftrightkerning{abreve}{a}{1000}
+
+\setglyph{acircumflex}
+ \topaccent{a}{circumflex}{500}
+\endsetglyph
+\setleftrightkerning{acircumflex}{a}{1000}
+
+\setglyph{adieresis}
+ \topaccent{a}{dieresis}{500}
+\endsetglyph
+\setleftrightkerning{adieresis}{a}{1000}
+
+\setglyph{agrave}
+ \topaccent{a}{grave}{500}
+\endsetglyph
+\setleftrightkerning{agrave}{a}{1000}
+
+\setglyph{aogonek}
+ \botaccent{a}{ogonek}{850}
+\endsetglyph
+\setleftrightkerning{aogonek}{a}{1000}
+
+\setglyph{aring}
+ \topaccent{a}{ring}{500}
+\endsetglyph
+\setleftrightkerning{aring}{a}{1000}
+
+\setglyph{atilde}
+ \topaccent{a}{tilde}{500}
+\endsetglyph
+\setleftrightkerning{atilde}{a}{1000}
+
+\setglyph{cacute}
+ \topaccent{c}{acute}{500}
+\endsetglyph
+\setleftrightkerning{cacute}{c}{1000}
+
+\setglyph{ccaron}
+ \topaccent{c}{caron}{500}
+\endsetglyph
+\setleftrightkerning{ccaron}{c}{1000}
+
+\setglyph{ccedilla}
+ \botaccent{c}{cedilla}{500}
+\endsetglyph
+\setleftrightkerning{ccedilla}{c}{1000}
+
+\setglyph{dcaron}
+ \glyph{d}{1000}
+ \ifisint{monowidth}\then\Else
+ \movert{-75}
+ \Fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+\setleftkerning{dcaron}{d}{1000}
+
+\setglyph{eacute}
+ \topaccent{e}{acute}{500}
+\endsetglyph
+\setleftrightkerning{eacute}{e}{1000}
+
+\setglyph{ecaron}
+ \topaccent{e}{caron}{500}
+\endsetglyph
+\setleftrightkerning{ecaron}{e}{1000}
+
+\setglyph{ecircumflex}
+ \topaccent{e}{circumflex}{500}
+\endsetglyph
+\setleftrightkerning{ecircumflex}{e}{1000}
+
+\setglyph{edieresis}
+ \topaccent{e}{dieresis}{500}
+\endsetglyph
+\setleftrightkerning{edieresis}{e}{1000}
+
+\setglyph{egrave}
+ \topaccent{e}{grave}{500}
+\endsetglyph
+\setleftrightkerning{egrave}{e}{1000}
+
+\setglyph{eogonek}
+ \botaccent{e}{ogonek}{500}
+\endsetglyph
+\setleftrightkerning{eogonek}{e}{1000}
+
+\setglyph{gbreve}
+ \topaccent{g}{breve}{500}
+\endsetglyph
+\setleftrightkerning{gbreve}{g}{1000}
+
+\setglyph{iacute}
+ \topaccent{dotlessi}{acute}{500}
+\endsetglyph
+\setleftrightkerning{iacute}{i}{1000}
+
+\setglyph{icircumflex}
+ \topaccent{dotlessi}{circumflex}{500}
+\endsetglyph
+\setleftrightkerning{icircumflex}{i}{1000}
+
+\setglyph{idieresis}
+ \topaccent{dotlessi}{dieresis}{500}
+\endsetglyph
+\setleftrightkerning{idieresis}{i}{1000}
+
+\setglyph{idotaccent}
+ \comment{This should be the normal `\texttt{i}', except in
+ smallcaps fonts.}
+ \ifnumber{\height{i}}>{\scale{\int{xheight}}{1050}}\then
+ \comment{Some quick statistics showed that the height of an
+ `\texttt{i}' with dot is usually around 140\% of the
+ x-height, but to be on the safe side we assume all
+ \texttt{i}s whose height exceed 105\% of the x-height to
+ be dotted.}
+ \glyph{i}{1000}
+ \Else
+ \topaccent{i}{dotaccent}{500}
+ \Fi
+\endsetglyph
+\setleftrightkerning{idotaccent}{i}{1000}
+
+\setglyph{igrave}
+ \topaccent{dotlessi}{grave}{500}
+\endsetglyph
+\setleftrightkerning{igrave}{i}{1000}
+
+\setglyph{lacute}
+ \topaccent{l}{acute}{500}
+\endsetglyph
+\setleftrightkerning{lacute}{l}{1000}
+
+\setglyph{lcaron}
+ \glyph{l}{1000}
+ \ifisint{monowidth}\then\Else
+ \movert{-100}
+ \Fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+\setleftkerning{lcaron}{l}{1000}
+
+\setglyph{lslash}
+ \glyph{lslashslash}{1000}
+ \movert{\kerning{lslashslash}{l}}
+ \glyph{l}{1000}
+\endsetglyph
+\comment{I'm not sure what this should kern like.}
+
+\setglyph{nacute}
+ \topaccent{n}{acute}{500}
+\endsetglyph
+\setleftrightkerning{nacute}{n}{1000}
+
+\setglyph{ncaron}
+ \topaccent{n}{caron}{500}
+\endsetglyph
+\setleftrightkerning{ncaron}{n}{1000}
+
+\setglyph{ntilde}
+ \topaccent{n}{tilde}{500}
+\endsetglyph
+\setleftrightkerning{ntilde}{n}{1000}
+
+\setglyph{oacute}
+ \topaccent{o}{acute}{500}
+\endsetglyph
+\setleftrightkerning{oacute}{o}{1000}
+
+\setglyph{ocircumflex}
+ \topaccent{o}{circumflex}{500}
+\endsetglyph
+\setleftrightkerning{ocircumflex}{o}{1000}
+
+\setglyph{odieresis}
+ \topaccent{o}{dieresis}{500}
+\endsetglyph
+\setleftrightkerning{odieresis}{o}{1000}
+
+\setglyph{ograve}
+ \topaccent{o}{grave}{500}
+\endsetglyph
+\setleftrightkerning{ograve}{o}{1000}
+
+\setglyph{ohungarumlaut}
+ \topaccent{o}{hungarumlaut}{500}
+\endsetglyph
+\setleftrightkerning{ohungarumlaut}{o}{1000}
+
+\setglyph{otilde}
+ \topaccent{o}{tilde}{500}
+\endsetglyph
+\setleftrightkerning{otilde}{o}{1000}
+
+\setglyph{racute}
+ \topaccent{r}{acute}{500}
+\endsetglyph
+\setleftrightkerning{racute}{r}{1000}
+
+\setglyph{rcaron}
+ \topaccent{r}{caron}{500}
+\endsetglyph
+\setleftrightkerning{rcaron}{r}{1000}
+
+\setglyph{sacute}
+ \topaccent{s}{acute}{500}
+\endsetglyph
+\setleftrightkerning{sacute}{s}{1000}
+
+\setglyph{scaron}
+ \topaccent{s}{caron}{500}
+\endsetglyph
+\setleftrightkerning{scaron}{s}{1000}
+
+\setglyph{scedilla}
+ \botaccent{s}{cedilla}{500}
+\endsetglyph
+\setleftrightkerning{scedilla}{s}{1000}
+
+\setglyph{tcaron}
+ \glyph{t}{1000}
+ \ifisint{monowidth}\then\Else
+ \movert{-75}
+ \Fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+\setleftkerning{tcaron}{t}{1000}
+\comment{I don't know what this should kern like on the right.}
+
+\setglyph{tcedilla}
+ \botaccent{t}{cedilla}{500}
+\endsetglyph
+\setleftrightkerning{tcedilla}{t}{1000}
+
+\setglyph{ugrave}
+ \topaccent{u}{grave}{500}
+\endsetglyph
+\setleftrightkerning{ugrave}{u}{1000}
+
+\setglyph{uacute}
+ \topaccent{u}{acute}{500}
+\endsetglyph
+\setleftrightkerning{uacute}{u}{1000}
+
+\setglyph{ucircumflex}
+ \topaccent{u}{circumflex}{500}
+\endsetglyph
+\setleftrightkerning{ucircumflex}{u}{1000}
+
+\setglyph{udieresis}
+ \topaccent{u}{dieresis}{500}
+\endsetglyph
+\setleftrightkerning{udieresis}{u}{1000}
+
+\setglyph{uhungarumlaut}
+ \topaccent{u}{hungarumlaut}{500}
+\endsetglyph
+\setleftrightkerning{uhungarumlaut}{u}{1000}
+
+\setglyph{uring}
+ \topaccent{u}{ring}{500}
+\endsetglyph
+\setleftrightkerning{uring}{u}{1000}
+
+\setglyph{yacute}
+ \topaccent{y}{acute}{500}
+\endsetglyph
+\setleftrightkerning{yacute}{y}{1000}
+
+\setglyph{ydieresis}
+ \topaccent{y}{dieresis}{500}
+\endsetglyph
+\setleftrightkerning{ydieresis}{y}{1000}
+
+\setglyph{zacute}
+ \topaccent{z}{acute}{500}
+\endsetglyph
+\setleftrightkerning{zacute}{z}{1000}
+
+\setglyph{zcaron}
+ \topaccent{z}{caron}{500}
+\endsetglyph
+\setleftrightkerning{zcaron}{z}{1000}
+
+\setglyph{zdotaccent}
+ \topaccentas{z}{dotaccent}{500}{idotaccent}
+\endsetglyph
+\setleftrightkerning{zdotaccent}{z}{1000}
+
+
+\begincomment
+\section{Lower case ligatures}
+\endcomment
+
+\setglyph{fi}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{i}}
+ \glyph{i}{1000}
+\endsetglyph
+\setleftkerning{fi}{f}{1000}
+\setrightkerning{fi}{i}{1000}
+
+\setglyph{ff}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{f}{1000}
+\endsetglyph
+\setleftrightkerning{ff}{f}{1000}
+
+\setglyph{fl}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{l}}
+ \glyph{l}{1000}
+\endsetglyph
+\setleftkerning{fl}{f}{1000}
+\setrightkerning{fl}{l}{1000}
+
+\setglyph{ffi}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{fi}{1000}
+\endsetglyph
+\setleftkerning{ffi}{f}{1000}
+\setrightkerning{ffi}{i}{1000}
+
+\setglyph{ffl}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{fl}{1000}
+\endsetglyph
+\setleftkerning{ffl}{f}{1000}
+\setrightkerning{ffl}{l}{1000}
+
+
+\setglyph{ij}
+ \glyph{i}{1000}
+ \movert{\kerning{i}{j}}
+ \glyph{j}{1000}
+\endsetglyph
+\setleftkerning{ij}{i}{1000}
+\setrightkerning{ij}{j}{1000}
+
+
+
+
+\endmetrics
+
+\section{Changes}
+
+The original version of this file was created in February 2003,
+although it is based on code from the traditional \texttt{latin.mtx}.
+The changes that have been made after that are as follows.
+
+2003/03/15: Using \verb|\unfakabletopaccent| for the accent
+characters. This should change the appearence of accented letters
+built using such a character from ``a black square'' to ``a letter
+with a black square above''. Neither is satisfactory, but the latter
+conveys more information. (LH)
+
+2003/03/15: Modified the construction of `\texttt{zdotaccent}' so that
+it always has the dot at the same vertical position as a dotted i, as
+requested by Walter Schmidt. Also added the `\texttt{idotaccent}'
+glyph to have something to compare with. (LH)
+
+2003/03/15: Added kerning for ligatures; it seems I had forgotten
+that. (LH)
+
+2003/03/29: Added some kerning for non-English unfakable letters. (LH)
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx
new file mode 100644
index 00000000000..372ea4b4fdd
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/lsbuild.mtx
@@ -0,0 +1,256 @@
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Lars Hellstr{\"o}m",
+%%% date = "2003-03-29",
+%%% time = "16:16:56 +01:00",
+%%% filename = "lsbuild.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It builds less common
+%%% small caps letters from plain ones and
+%%% accents.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}[2002/03/01]
+\showbranches
+
+\title{Building latin smallcaps letters}
+\author{Lars Hellstr\"om}
+\date{3 January 2003}
+
+\begin{document}
+\maketitle
+
+This file contains commands that build some proper small capital
+glyphs from other small capital glyphs, but nothing is done is those
+base glyphs have not already been set.
+
+If you want to \emph{fake} small capitals using full capitals, then
+have a look at \texttt{lsfake.mtx} instead.
+
+\metrics
+
+\needsfontinstversion{1.917}
+
+\usemtxpackage{ltcmds}
+\ProvidesMtxPackage{lsbuild}
+
+\begincomment
+\section{Proper latin small capitals}
+
+\subsection{Some utility commands}
+\endcomment
+
+\setcommand\setcsctopglyph#1#2#3#4{
+ \ifareglyphs{#2small,#3}\then
+ \setglyph{#1}
+ \topaccent{#2small}{#3}{#4}
+ \endsetglyph
+ \setleftrightkerning{#1}{#2small}{1000}
+ \Fi
+}
+\setcommand\setcscbotglyph#1#2#3#4{
+ \ifareglyphs{#2small,#3}\then
+ \setglyph{#1}
+ \botaccent{#2small}{#3}{#4}
+ \endsetglyph
+ \setleftrightkerning{#1}{#2small}{1000}
+ \Fi
+}
+\begincomment\medskip
+A \textbf{Try: Set glyph} is an ordinary \textbf{Set glyph} which is
+conditional on that a set of glyphs (those used to construct the
+composite glyph) are available. It is technically e.g.
+\begin{quotation}
+ \setcsctopglyph{\macroparameter{1}}{\macroparameter{2}}%
+ {\macroparameter{3}}{\macroparameter{4}}
+ \setcscbotglyph{\macroparameter{1}}{\macroparameter{2}}%
+ {\macroparameter{3}}{\macroparameter{4}}\par
+\end{quotation}
+(both of which are implemented in the code as simple four argument
+commands), but in the list of commands below those two commands will
+be typeset as
+\resetcommand\setcsctopglyph#1#2#3#4{%
+ \Aheading{Try: Set glyph `\TypesetStringExpression{#1}'}
+ \topaccent{#2small}{#3}{#4}
+ \setleftrightkerning{#1}{#2small}{1000}
+}
+\resetcommand\setcscbotglyph#1#2#3#4{%
+ \Aheading{Try: Set glyph `\TypesetStringExpression{#1}'}
+ \botaccent{#2small}{#3}{#4}
+ \setleftrightkerning{#1}{#2small}{1000}
+}
+\begin{quotation}
+ \setcsctopglyph{\macroparameter{1}}{\macroparameter{2}}%
+ {\macroparameter{3}}{\macroparameter{4}}
+ \setcscbotglyph{\macroparameter{1}}{\macroparameter{2}}%
+ {\macroparameter{3}}{\macroparameter{4}}
+\end{quotation}
+\endcomment
+
+\begincomment
+\subsection{Getting the \textit{smallcapsscale} right}
+
+The \textit{smallcapsscale} integer is normally only used when
+faking smallcaps by shrinking capitals, but with one of the
+glyphs below (\texttt{Lcaron}) it is actually used for shrinking
+the right quote. Thus a suitable default value has to be assigned
+to it.
+\endcomment
+
+\ifareglyphs{L,Lsmall}\then
+ \setint{smallcapsscale}{
+ \div{\mul{1000}{\height{Lsmall}}}{\height{L}}
+ }
+\Else
+ \setint{smallcapsscale}{800}
+\Fi
+
+\begincomment
+\subsection{Accenting smallcaps glyphs}
+
+The commands below build accented smallcaps letters from existing
+smallcaps letters and normal accents. The accent positions are the
+ones traditionally used in \texttt{latin.mtx}.
+
+\endcomment
+
+
+\setcsctopglyph{Aacutesmall}{A}{acute}{500}
+\setcsctopglyph{Abrevesmall}{A}{breve}{500}
+\setcsctopglyph{Acircumflexsmall}{A}{circumflex}{500}
+\setcsctopglyph{Adieresissmall}{A}{dieresis}{500}
+\setcsctopglyph{Agravesmall}{A}{grave}{500}
+\setcscbotglyph{Aogoneksmall}{A}{ogonek}{900}
+\setcsctopglyph{Aringsmall}{A}{ring}{500}
+\setcsctopglyph{Atildesmall}{A}{tilde}{500}
+
+\setcsctopglyph{Cacutesmall}{C}{acute}{500}
+\setcsctopglyph{Ccaronsmall}{C}{caron}{500}
+\setcsctopglyph{Ccedillasmall}{C}{cedilla}{500}
+
+\setcsctopglyph{Dcaronsmall}{D}{caron}{500}
+
+\setcsctopglyph{Eacutesmall}{E}{acute}{500}
+\setcsctopglyph{Ecaronsmall}{E}{caron}{500}
+\setcsctopglyph{Ecircumflexsmall}{E}{circumflex}{500}
+\setcsctopglyph{Edieresissmall}{E}{dieresis}{500}
+\setcsctopglyph{Egravesmall}{E}{grave}{500}
+\setcscbotglyph{Eogoneksmall}{E}{ogonek}{850}
+
+\setcsctopglyph{Gbrevesmall}{G}{breve}{500}
+
+\setcsctopglyph{Iacutesmall}{I}{acute}{500}
+\setcsctopglyph{Icircumflexsmall}{I}{circumflex}{500}
+\setcsctopglyph{Idieresissmall}{I}{dieresis}{500}
+\setcsctopglyph{Idotaccentsmall}{I}{dotaccent}{500}
+\setcsctopglyph{Igravesmall}{I}{grave}{500}
+
+\setcsctopglyph{Lacutesmall}{L}{acute}{250}
+
+\ifareglyphs{Lsmall,quoteright}\then
+ \setglyph{Lcaronsmall}
+ \glyph{Lsmall}{1000}
+ \ifisint{monowidth}\then\Else \movert{-100} \Fi
+ \glyph{quoteright}{\int{smallcapsscale}}
+ \endsetglyph
+ \setleftkerning{Lcaronsmall}{Lsmall}{1000}
+\Fi
+
+\setcsctopglyph{Nacutesmall}{N}{acute}{500}
+\setcsctopglyph{Ncaronsmall}{N}{caron}{500}
+\setcsctopglyph{Ntildesmall}{N}{tilde}{500}
+
+\setcsctopglyph{Oacutesmall}{O}{acute}{500}
+\setcsctopglyph{Ocircumflexsmall}{O}{circumflex}{500}
+\setcsctopglyph{Odieresissmall}{O}{dieresis}{500}
+\setcsctopglyph{Ogravesmall}{O}{grave}{500}
+\setcsctopglyph{Ohungarumlautsmall}{O}{hungarumlaut}{500}
+\setcsctopglyph{Otildesmall}{O}{tilde}{500}
+
+\setcsctopglyph{Racutesmall}{R}{acute}{500}
+\setcsctopglyph{Rcaronsmall}{R}{caron}{500}
+
+\setcsctopglyph{Sacutesmall}{S}{acute}{500}
+\setcsctopglyph{Scaronsmall}{S}{caron}{500}
+\setcscbotglyph{Scedillasmall}{S}{cedilla}{500}
+
+\setcsctopglyph{Tcaronsmall}{T}{caron}{500}
+\setcscbotglyph{Tcedillasmall}{T}{cedilla}{500}
+
+\setcsctopglyph{Uacutesmall}{U}{acute}{500}
+\setcsctopglyph{Ucircumflexsmall}{U}{circumflex}{500}
+\setcsctopglyph{Udieresissmall}{U}{dieresis}{500}
+\setcsctopglyph{Ugravesmall}{U}{grave}{500}
+\setcsctopglyph{Uhungarumlautsmall}{U}{hungarumlaut}{500}
+\setcsctopglyph{Uringsmall}{U}{ring}{500}
+
+\setcsctopglyph{Yacutesmall}{Y}{acute}{500}
+\setcsctopglyph{Ydieresissmall}{Y}{dieresis}{500}
+
+\setcsctopglyph{Zacutesmall}{Z}{acute}{500}
+\setcsctopglyph{Zcaronsmall}{Z}{caron}{500}
+\setcsctopglyph{Zdotaccentsmall}{Z}{dotaccent}{500}
+
+
+\begincomment
+\subsection{Other glyphs that can be built}
+\endcomment
+
+\ifisglyph{Dcroatsmall}\then
+ \setglyph{Dbarsmall}
+ \glyph{Dcroatsmall}{1000}
+ \endsetglyph
+ \setleftrightkerning{Dbarsmall}{Dcroatsmall}{1000}
+\Else\ifisglyph{Ethsmall}\then
+ \setglyph{Dbarsmall}
+ \glyph{Ethsmall}{1000}
+ \endsetglyph
+ \setleftrightkerning{Dbarsmall}{Ethsmall}{1000}
+\Fi\Fi
+
+
+\endmetrics
+
+\texttt{Dbar} and \texttt{Dbarsmall} are old names for this glyph;
+nowadays the standard names are rather \texttt{Dcroat} and
+\texttt{Dcroatsmall}, but using those names throughout would require
+a coordinated change of the ETX files.
+It is probably possible to build a decent \texttt{Dbarsmall} from
+\texttt{Dsmall} and an \texttt{lslashslash} (or the like), similarly
+to the case with \texttt{dbar}, but that would require some
+experimentation.
+
+\section{Changes}
+
+This file was created 2003/01/02--05. It is loosely based on parts
+of \texttt{latin.mtx}. (LH)
+
+2003/02/06: Added setting of \textit{smallcapsscale}, and made
+\texttt{Lcaron} kern like \texttt{L} only on the left (not on the
+right). (LH)
+
+\end{document}
+
+% Copyright 2003 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx
new file mode 100644
index 00000000000..ad942a87a7e
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/lsfake.mtx
@@ -0,0 +1,409 @@
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Lars Hellstr{\"o}m",
+%%% version = "1.923",
+%%% date = "2003-03-29",
+%%% time = "16:17:30 +01:00",
+%%% filename = "lsfake.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It fakes latin smallcaps.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty, lubuild.mtx",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}[2002/03/01]
+\showbranches
+
+\newcommand{\IEint}[1]{\ensuremath{\TypesetIntegerExpression{\int{#1}}}}
+
+\title{Faking smallcaps}
+\author{Lars Hellstr\"om}
+\date{5 January 2003\\Version 1.923}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This file is used to fake small capitals (the \texttt{s} case) for a
+font by shrinking the full capitals (the \texttt{u} case) by a
+certain factor (\IEint{smallcapsscale}). This effectively changes the
+weight of the font so that it becomes lighter, but that effect is
+(for scaling factors near the default value) not too large, even
+though it is quite visible.
+
+Optimal distance between two letters generally grows slower than the
+dimensions of the letters themself. Conversely, to linearly shrink a
+line of text usually places the letters a bit too close. To counteract
+that, the \textbf{Small glyph} commands used below insert a bit of
+extra space (\IEint{smallcapsextraspace}) before and after the actual
+glyph.
+
+Besides the letters, there is also manufactured a special set of
+diacritical marks (skrunk by the same factor as the letters), with
+names such as \texttt{Acutesmall}. These are meant to be used as
+accent characters in a font where the fake small capitals are used as
+small letters, so that clashes within a single character when \TeX's
+\verb|\accent| primitive is used can be less pronounced.
+
+
+\metrics
+
+\needsfontinstversion{1.910}
+\usemtxpackage{lubuild}
+
+\ProvidesMtxPackage{lsfake}
+
+
+\begincomment
+\section{Some commands and default values}
+
+\endcomment
+
+
+
+% 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}}
+}
+\begincomment
+A \textbf{Small glyph} is mainly the special case of a \textbf{Glyph}
+when the glyph is scaled
+$\TypesetIntegerExpression{\int{smallcapsscale}}$. This is used to
+fake smallcaps from full capitals. The exact meaning of
+``\textbf{Small glyph} `\#1'\,'' is
+\begin{quotation}\cscglyph{\macroparameter{1}}\end{quotation}
+
+\resetcommand\cscglyph#1{%
+ \Bheading{Small glyph} `\TypesetStringExpression{#1}'%
+}
+\endcomment
+
+\setcommand\fakecscglyph#1#2{
+ \setglyph{#1small}
+ \cscglyph{#2}
+ \setleftrightkerning{#1small}{#2}{\int{smallcapskerning}}
+ \endsetglyph
+}
+% If you supply a definition of \fakecscglyph which has #1medium
+% instead of #1small, then you can use this file to fake medium
+% capitals instead of small capitals.
+
+
+\setint{smallcapsscale}{800}
+\setint{smallcapskerning}{900}
+
+\ifisint{monowidth}\then
+ \setint{smallcapsextraspace}
+ {\half{\scale{\width{x}}{\sub{1000}{\int{smallcapsscale}}}}}
+\Else
+ \setint{smallcapsextraspace}{25}
+\Fi
+
+
+
+\begincomment
+\section{Unaccented letters}
+\endcomment
+
+\fakecscglyph{A}{A}
+\fakecscglyph{AE}{AE}
+\fakecscglyph{B}{B}
+\fakecscglyph{C}{C}
+\fakecscglyph{D}{D}
+\fakecscglyph{Eth}{Eth}
+\fakecscglyph{E}{E}
+\fakecscglyph{F}{F}
+\fakecscglyph{G}{G}
+\fakecscglyph{H}{H}
+\fakecscglyph{I}{I}
+\fakecscglyph{J}{J}
+\fakecscglyph{K}{K}
+\fakecscglyph{Lslash}{Lslash}
+\fakecscglyph{L}{L}
+\fakecscglyph{M}{M}
+\fakecscglyph{N}{N}
+\fakecscglyph{Ng}{Ng}
+\fakecscglyph{O}{O}
+\fakecscglyph{OE}{OE}
+\fakecscglyph{Oslash}{Oslash}
+\fakecscglyph{P}{P}
+\fakecscglyph{Q}{Q}
+\fakecscglyph{R}{R}
+\fakecscglyph{S}{S}
+\fakecscglyph{T}{T}
+\fakecscglyph{Thorn}{Thorn}
+\fakecscglyph{U}{U}
+\fakecscglyph{V}{V}
+\fakecscglyph{W}{W}
+\fakecscglyph{X}{X}
+\fakecscglyph{Y}{Y}
+\fakecscglyph{Z}{Z}
+
+\setglyph{Dbarsmall}
+ \glyph{Ethsmall}{1000}
+ \setleftrightkerning{Dbarsmall}{Ethsmall}{1000}
+\endsetglyph
+
+
+
+
+\begincomment
+\section{Accented letters}
+\endcomment
+
+
+\fakecscglyph{Aacute}{Aacute}
+\fakecscglyph{Abreve}{Abreve}
+\fakecscglyph{Acircumflex}{Acircumflex}
+\fakecscglyph{Adieresis}{Adieresis}
+\fakecscglyph{Agrave}{Agrave}
+\fakecscglyph{Aogonek}{Aogonek}
+\fakecscglyph{Aring}{Aring}
+\fakecscglyph{Atilde}{Atilde}
+\fakecscglyph{Cacute}{Cacute}
+\fakecscglyph{Ccaron}{Ccaron}
+\fakecscglyph{Ccedilla}{Ccedilla}
+\fakecscglyph{Dcaron}{Dcaron}
+\fakecscglyph{Eacute}{Eacute}
+\fakecscglyph{Ecaron}{Ecaron}
+\fakecscglyph{Ecircumflex}{Ecircumflex}
+\fakecscglyph{Edieresis}{Edieresis}
+\fakecscglyph{Egrave}{Egrave}
+\fakecscglyph{Eogonek}{Eogonek}
+\fakecscglyph{Gbreve}{Gbreve}
+\fakecscglyph{Iacute}{Iacute}
+\fakecscglyph{Icircumflex}{Icircumflex}
+\fakecscglyph{Idieresis}{Idieresis}
+\fakecscglyph{Idotaccent}{Idotaccent}
+\fakecscglyph{Igrave}{Igrave}
+\fakecscglyph{Lacute}{Lacute}
+\fakecscglyph{Lcaron}{Lcaron}
+\fakecscglyph{Nacute}{Nacute}
+\fakecscglyph{Ncaron}{Ncaron}
+\fakecscglyph{Ntilde}{Ntilde}
+\fakecscglyph{Oacute}{Oacute}
+\fakecscglyph{Ocircumflex}{Ocircumflex}
+\fakecscglyph{Odieresis}{Odieresis}
+\fakecscglyph{Ograve}{Ograve}
+\fakecscglyph{Ohungarumlaut}{Ohungarumlaut}
+\fakecscglyph{Otilde}{Otilde}
+\fakecscglyph{Racute}{Racute}
+\fakecscglyph{Rcaron}{Rcaron}
+\fakecscglyph{Sacute}{Sacute}
+\fakecscglyph{Scaron}{Scaron}
+\fakecscglyph{Scedilla}{Scedilla}
+\fakecscglyph{Tcaron}{Tcaron}
+\fakecscglyph{Tcedilla}{Tcedilla}
+\fakecscglyph{Uacute}{Uacute}
+\fakecscglyph{Ucircumflex}{Ucircumflex}
+\fakecscglyph{Udieresis}{Udieresis}
+\fakecscglyph{Ugrave}{Ugrave}
+\fakecscglyph{Uhungarumlaut}{Uhungarumlaut}
+\fakecscglyph{Uring}{Uring}
+\fakecscglyph{Yacute}{Yacute}
+\fakecscglyph{Ydieresis}{Ydieresis}
+\fakecscglyph{Zacute}{Zacute}
+\fakecscglyph{Zcaron}{Zcaron}
+\fakecscglyph{Zdotaccent}{Zdotaccent}
+
+
+\begincomment
+\section{Shrunk accents}
+\endcomment
+
+% 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}}}
+}
+\begincomment\medskip
+A \textbf{Shrunk accent} is a \textbf{Small glyph} whose vertical
+position has been adjusted so that the
+$\TypesetIntegerExpression{\int{xheight}}$ position of the original
+accent coincides with that of the shrunk accent. Without this
+adjustment, it would instead be the baselines that would coincide,
+but such an accent would be too low. The exact meaning of
+``\textbf{Shrunk accent} `\#1'\,'' is
+\begin{quotation}\cscaccent{\macroparameter{1}}\end{quotation}
+
+\resetcommand\cscaccent#1{%
+ \Bheading{Shrunk accent} `\TypesetStringExpression{#1}'%
+}
+\endcomment
+
+
+\setglyph{Acutesmall}
+ \cscaccent{Acute}
+\endsetglyph
+
+\setglyph{Gravesmall}
+ \cscaccent{Grave}
+\endsetglyph
+
+\setglyph{Circumflexsmall}
+ \cscaccent{Circumflex}
+\endsetglyph
+
+\setglyph{Tildesmall}
+ \cscaccent{Tilde}
+\endsetglyph
+
+\setglyph{Dieresissmall}
+ \cscaccent{Dieresis}
+\endsetglyph
+
+\setglyph{Brevesmall}
+ \cscaccent{Breve}
+\endsetglyph
+
+\setglyph{Dotaccentsmall}
+ \cscaccent{Dotaccent}
+\endsetglyph
+
+\setglyph{Caronsmall}
+ \cscaccent{Caron}
+\endsetglyph
+
+\setglyph{Hungarumlautsmall}
+ \cscaccent{Hungarumlaut}
+\endsetglyph
+
+\setglyph{Ringsmall}
+ \cscaccent{Ring}
+\endsetglyph
+
+\setglyph{Macronsmall}
+ \cscaccent{Macron}
+\endsetglyph
+
+\setglyph{Cedillasmall}
+ \cscglyph{Cedilla}
+\endsetglyph
+
+\setglyph{Ogoneksmall}
+ \cscglyph{Ogonek}
+\endsetglyph
+
+
+
+\begincomment
+\section{Miscellaneous glyphs}
+\endcomment
+
+
+\setglyph{dotlessIsmall}
+ \glyph{Ismall}{1000}
+\endsetglyph
+\setleftrightkerning{dotlessIsmall}{Ismall}{1000}
+
+\setglyph{dotlessJsmall}
+ \glyph{Jsmall}{1000}
+\endsetglyph
+\setleftrightkerning{dotlessJsmall}{Jsmall}{1000}
+
+\setglyph{FFsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\kerning{Fsmall}{Fsmall}}
+ \glyph{Fsmall}{1000}
+\endsetglyph
+
+\setglyph{FIsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\kerning{Fsmall}{Ismall}}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{FLsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\kerning{Fsmall}{Lsmall}}
+ \glyph{Lsmall}{1000}
+\endsetglyph
+
+\setglyph{FFIsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\kerning{FFsmall}{Ismall}}
+ \glyph{Ismall}{1000}
+\endsetglyph
+
+\setglyph{FFLsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\kerning{FFsmall}{Lsmall}}
+ \glyph{Lsmall}{1000}
+\endsetglyph
+
+\setglyph{IJsmall}
+ \glyph{Ismall}{1000}
+ \movert{\kerning{Ismall}{Jsmall}}
+ \glyph{Jsmall}{1000}
+\endsetglyph
+
+\setglyph{SSsmall}
+ \glyph{Ssmall}{1000}
+ \movert{\kerning{Ssmall}{Ssmall}}
+ \glyph{Ssmall}{1000}
+\endsetglyph
+
+
+
+\endmetrics
+
+\section{Notes}
+
+An important, but rather obscure, difference between what is done by
+this file and what is done by the old \texttt{latin.mtx} concerns the
+manner in which the letters are spaced. In this file, spacing of
+smallcaps is consistently done using the \IEint{smallcapsextraspace}
+parameter, but \texttt{latin.mtx} only uses this mechanism in
+monowidth fonts. For proportional fonts, the default was instead to
+use the \IEint{letterspacing} parameter to space the entire
+font---the same amount for non-faked as for faked letters.
+
+
+\section{Changes}
+
+1999/10/25: Added \verb|\setglyphs| for \texttt{Macronsmall} and
+\texttt{macronsmall}. (LH)
+
+1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH)
+Rationale: It is thoroughly confusing if the size of the black box
+created by \verb|\unfakable| depends on the metrics of an unencoded
+glyph that isn't accessible and therefore unavailable for all pratical
+purposes.
+
+2000/10/20: File split off from \texttt{latin.mtx}.
+
+2003/01/02--05: File heavily reorganised. (LH)
+
+\end{document}
+
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% hacked and maintained 1997, 1998 Sebastian Rahtz,
+% copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx
new file mode 100644
index 00000000000..d30ac97cfb5
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/lsmisc.mtx
@@ -0,0 +1,194 @@
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.923",
+%%% date = "2003-03-29",
+%%% time = "16:18:07 +01:00",
+%%% filename = "lsmisc.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It sets some miscellaneous
+%%% glyphs in latin smallcaps.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}[2002/03/01]
+\showbranches
+
+\title{Smallcaps miscellanea}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{5 January 2003\\Version 1.923}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This file sets some miscellaneous smallcaps glyphs, most of which
+serve mainly to complete some family of glyphs whose names are built
+according to some simple pattern. It should work just as well will
+real smallcaps as with faked smallcaps.
+
+\metrics
+
+\needsfontinstversion{1.917}
+
+\ProvidesMtxPackage{lsmisc}
+
+\begincomment
+\section{Miscellaneous smallcaps}
+
+\subsection{Some glyph aliases}
+
+The next few glyphs are usually available (if any smallcaps glyphs are),
+but may come under a name different from that which ETX files expect.
+\endcomment
+
+\ifisglyph{Ismall}\then
+ \setglyph{dotlessIsmall}
+ \glyph{Ismall}{1000}
+ \setleftrightkerning{dotlessIsmall}{Ismall}{1000}
+ \endsetglyph
+\Fi
+
+\ifisglyph{Jsmall}\then
+ \setglyph{dotlessJsmall}
+ \glyph{Jsmall}{1000}
+ \setleftrightkerning{dotlessJsmall}{Jsmall}{1000}
+ \endsetglyph
+\Fi
+
+
+\begincomment
+\subsection{Smallcap ligatures}
+
+Smallcap letters usually do not form ligatures, but many font encodings
+nonetheless reserve slots for them, and in particular many ETX files
+will try to put smallcap ligatures in the ligature slots. Hence there
+is some point in making these glyphs, even though they are only what
+one would get if there was no ligature.
+
+\medskip
+\endcomment
+
+\setint{smallcapsspacing}{0}
+\comment{In case some letterspacing will be applied to the smallcaps,
+ then that amount should also be added between the glyphs below.
+ In most cases however, such spacing should already have been
+ included in the base glyphs, and in that case, $0$ is the correct
+ value.}
+
+\ifisglyph{Fsmall}\then
+
+\setglyph{FFsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Fsmall}}{\int{smallcapsspacing}}}
+ \glyph{Fsmall}{1000}
+\endsetglyph
+\setrightkerning{FFsmall}{Fsmall}{1000}
+
+\ifisglyph{Ismall}\then
+ \setglyph{FIsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Ismall}}{\int{smallcapsspacing}}}
+ \glyph{Ismall}{1000}
+ \endsetglyph
+
+% \setleftkerning{FIsmall}{Fsmall}{1000}
+ \setrightkerning{FIsmall}{Ismall}{1000}
+
+ \setglyph{FFIsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Ismall}}{\int{smallcapsspacing}}}
+ \glyph{Ismall}{1000}
+ \endsetglyph
+
+% \setleftkerning{FFIsmall}{Fsmall}{1000}
+ \setrightkerning{FFIsmall}{Ismall}{1000}
+\Fi
+
+\ifisglyph{Lsmall}\then
+ \setglyph{FLsmall}
+ \glyph{Fsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Lsmall}}{\int{smallcapsspacing}}}
+ \glyph{Lsmall}{1000}
+ \endsetglyph
+
+% \setleftkerning{FLsmall}{Fsmall}{1000}
+ \setrightkerning{FLsmall}{Lsmall}{1000}
+
+ \setglyph{FFLsmall}
+ \glyph{FFsmall}{1000}
+ \movert{\add{\kerning{Fsmall}{Lsmall}}{\int{smallcapsspacing}}}
+ \glyph{Lsmall}{1000}
+ \endsetglyph
+
+% \setleftkerning{FFLsmall}{Fsmall}{1000}
+ \setrightkerning{FFLsmall}{Lsmall}{1000}
+\Fi
+\Fi % ifisglyph{Fsmall}
+
+
+\ifareglyphs{Ismall,Jsmall}\then
+ \setglyph{IJsmall}
+ \glyph{Ismall}{1000}
+ \movert{\add{\kerning{Ismall}{Jsmall}}{\int{smallcapsspacing}}}
+ \glyph{Jsmall}{1000}
+ \endsetglyph
+% \setleftkerning{IJsmall}{Ismall}{1000}
+ \setrightkerning{IJsmall}{Jsmall}{1000}
+\Fi
+
+\comment{That the above glyphs only kern on the right is deliberate.
+ Since they are only put in a horizontal list due to a ligature,
+ they will never occur as the right party when kerning is considered.
+ Not having any kerns on the left simplifies reusing ligature slots
+ as right boundary characters. \texttt{SSsmall} is however a
+ different matter, since that is (in a sense, and probably only if
+ some German spelling reforms are ignored) a proper letter.}
+
+\ifisglyph{Ssmall}\then
+ \setglyph{SSsmall}
+ \glyph{Ssmall}{1000}
+ \movert{\add{\kerning{Ssmall}{Ssmall}}{\int{smallcapsspacing}}}
+ \glyph{Ssmall}{1000}
+ \endsetglyph
+ \setleftrightkerning{SSsmall}{Ssmall}{1000}
+\Fi
+
+
+
+\endmetrics
+
+
+\section{Changes}
+
+This file was part of \texttt{latin.mtx} until 2000/10/20. Its was set
+up as a separate file 2003/01/02--05. (LH)
+
+\end{document}
+
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% hacked and maintained 1997, 1998 Sebastian Rahtz,
+% copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx
new file mode 100644
index 00000000000..ffe2af0efd3
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/ltcmds.mtx
@@ -0,0 +1,302 @@
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% hacked and maintained 1997, 1998 Sebastian Rahtz,
+% copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth",
+%%% version = "1.915",
+%%% date = "2003-03-29",
+%%% time = "16:07:18 +01:00",
+%%% filename = "ltcmds.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It provides the defaults
+%%% used to install the Latin glyphs.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\title{The file \texttt{ltcmds.mtx}}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{20 October 2000\\Version 1.915}
+
+\showbranches
+
+\begin{document}
+\maketitle
+
+\metrics
+
+\needsfontinstversion{1.917}
+\ProvidesMtxPackage{ltcmds}
+
+\begincomment
+\section{Some commands for making latin glyphs}
+
+\endcomment
+
+% \unfakable is a glyph which can't be faked.
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \glyphrule{\int{xheight}}{\int{xheight}}
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+\begincomment\medskip
+An \textbf{Unfakable} is a glyph which can't be faked. An
+``\textbf{Unfakable `\#1'}\,'' is equivalent to
+\begin{quotation}\unfakable{\macroparameter{1}}\end{quotation}
+
+\resetcommand\unfakable#1{%
+ \Aheading{Unfakable `\TypesetStringExpression{#1}'}%
+}
+\endcomment
+
+
+\setcommand\topaccent#1#2#3{
+ \push
+ \moveup{\max{0}{\sub{\height{#1}}{\int{xheight}}}}
+ \movert{\add{\sub{\scale{\width{#1}}{#3}}{\half{\width{#2}}}}
+ {\scale{\sub{\height{#1}}{\int{xheight}}}{\int{italicslant}}}}
+ \glyph{#2}{1000}
+ \pop
+ \glyph{#1}{1000}
+}
+\begincomment\medskip
+A \textbf{Top accent} is built 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. This is
+the algorithm used by the \TeX\ \verb|\accent| primitive.
+A ``\textbf{Top accent} `\#1' with `\#2' at \#3'' is equivalent to
+\begin{quotation}
+ \topaccent{\macroparameter{1}}{\macroparameter{2}}{\macroparameter{3}}
+\end{quotation}
+\resetcommand\topaccent#1#2#3{%
+ \Bheading{Top accent} `\TypesetStringExpression{#1}' with
+ `\TypesetStringExpression{#2}' at $\TypesetIntegerExpression{#3}$%
+}
+\endcomment
+
+
+\setcommand\topaccentas#1#2#3#4{
+ \push
+ \moveup{\sub{\height{#4}}{\height{#2}}}
+ \movert{\add{
+ \sub{\scale{\width{#1}}{#3}}{\half{\width{#2}}}
+ }{
+ \scale{\sub{\height{#4}}{\height{#2}}}{\int{italicslant}}
+ }}
+ \glyph{#2}{1000}
+ \pop
+ \glyph{#1}{1000}
+}
+\begincomment\medskip
+A \textbf{Top accent \dots\ as} is built 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 accent and the height of
+the model glyph. A ``\textbf{Top accent} `\#1' with `\#2' at \#3 as
+\#4'' is equivalent to
+\begin{quotation}
+ \topaccentas{\macroparameter{1}}{\macroparameter{2}}
+ {\macroparameter{3}}{\macroparameter{4}}
+\end{quotation}
+\resetcommand\topaccentas#1#2#3#4{%
+ \Bheading{Top accent} `\TypesetStringExpression{#1}' with
+ `\TypesetStringExpression{#2}' at $\TypesetIntegerExpression{#3}$
+ as `\TypesetStringExpression{#4}'%
+}
+\endcomment
+
+
+\setcommand\botaccent#1#2#3{
+ \push
+ \movert{\sub{\scale{\width{#1}}{#3}}{\half{\width{#2}}}}
+ \glyph{#2}{1000}
+ \pop
+ \glyph{#1}{1000}
+}
+\begincomment\medskip
+A \textbf{Bottom accent} is built by placing the center of the accent at
+the given position along the width of the letter. A ``\textbf{Bottom
+accent} `\#1' with `\#2' at \#3'' is equivalent to
+\begin{quotation}
+ \botaccent{\macroparameter{1}}{\macroparameter{2}}{\macroparameter{3}}
+\end{quotation}
+\resetcommand\botaccent#1#2#3{%
+ \Bheading{Bottom accent} `\TypesetStringExpression{#1}' with
+ `\TypesetStringExpression{#2}' at $\TypesetIntegerExpression{#3}$%
+}
+\endcomment
+
+
+\setcommand\unfakabletopaccent#1{
+ \setglyph{#1}
+ \moveup{\add{\int{xheight}}{50}}
+ \glyphrule{\half{\int{xheight}}}{\half{\int{xheight}}}
+ \glyphwarning{missing glyph `#1'}
+ \moveup{\neg{\add{\int{xheight}}{50}}}
+ \endsetglyph
+}
+\begincomment\medskip
+An \textbf{Unfakable top accent} is the same as an
+\textbf{Unfakable}, except that the rule is smaller and has a more
+accent-like position. An ``\textbf{Unfakable top accent `\#1'}\,''
+is equivalent to
+\begin{quotation}\unfakabletopaccent{\macroparameter{1}}\end{quotation}
+
+\resetcommand\unfakabletopaccent#1{%
+ \Aheading{Unfakable top accent `\TypesetStringExpression{#1}'}%
+}
+\endcomment
+
+
+
+% A c&sc top accent glyph is placed using the small glyphs if
+% available, and otherwise by shrinking the equivalent capital.
+
+\setcommand\csctopaccent#1#2#3{
+% \ifareglyphs{#1small,#2small}\then
+% \topaccent{#1small}{#2small}{#3}
+% \Else
+ \cscglyph{#1#2}
+% \Fi
+}
+
+% A c&sc bot accent glyph is placed using the small glyphs if
+% available, and otherwise by shrinking the equivalent capital.
+
+\setcommand\cscbotaccent#1#2#3{
+% \ifisglyph{#1small}\then
+% \botaccent{#1small}{#2small}{#3}
+% \Else
+ \cscglyph{#1#2}
+% \Fi
+}
+
+% 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}}}
+}
+
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\ifisglyph{A}\then
+ \setint{capheight}{\height{A}}
+ \comment{\texttt{t1.etx} has traditionally measured the capheight
+ on \texttt{X}, whereas \texttt{latin.mtx} measured it on
+ \texttt{A}. There is probably no good reason for this
+ difference.}
+\Else\ifisglyph{X}\then
+ \setint{capheight}{\height{X}}
+\Else
+ \setint{capheight}{750}
+\Fi\Fi
+
+\ifisglyph{d}\then
+ \setint{ascender}{\height{d}}
+\Else
+ \setint{ascender}{\int{capheight}}
+\Fi
+
+\ifisint{descender_neg}\then
+ \setint{descender}{\neg{\int{descender_neg}}}
+\Else\ifisglyph{g}\then
+ \setint{descender}{\depth{g}}
+ \comment{Similarly, \texttt{t1.etx} has traditionally measured
+ the descender depth on \texttt{p}, whereas \texttt{latin.mtx}
+ measured it on \texttt{g}.}
+\Else\ifisglyph{p}\then
+ \setint{descender}{\depth{p}}
+\Else
+ \setint{descender}{250}
+\Fi\Fi\Fi
+
+\setint{underlinethickness}{40}
+\setint{visiblespacedepth}{200}
+\setint{visiblespacewidth}{400}
+\setint{visiblespacesurround}{50}
+\setint{capspacing}{0}
+
+
+\ifisglyph{parenleft}\then
+ \setint{vaxis}{\half{\sub{\height{parenleft}}{\depth{parenleft}}}}
+\Else
+ \setint{vaxis}{\half{\int{xheight}}}
+\Fi
+
+
+\endmetrics
+
+
+
+
+
+\section{Changes}
+
+1999/10/25: Added \verb|\setglyphs| for \texttt{Macronsmall} and
+\texttt{macronsmall}. (LH)
+
+1999/10/25: Simplified definition of \verb|\unfakable|. (UV\&LH)
+Rationale: It is thoroughly confusing if the size of the black box
+created by \verb|\unfakable| depends on the metrics of an unencoded
+glyph that isn't accessible and therefore unavailable for all pratical
+purposes.
+
+2000/10/20--2003/03/15: File split off from \texttt{latin.mtx} and
+reorganised into a separate package. (LH) (It took until the last of
+these dates before all the useless code had been removed.) Also made
+special typeset definitions of many commands and modernized the
+conditionals.
+
+2003/03/15: Made the \verb|\unfakable| a square with side
+$\TypesetIntegerExpression{\int{xheight}}$ and added the
+\verb|\unfakabletopaccent| command. (LH) Rationale: That the glyph is
+unavailable doesn't mean the rule replacing it has to look bad. This
+should make them blend in better with any glyphs that are actually
+available.
+
+2003/03/15: Added \verb|\topaccentas|. (LH) It is based on a command
+|\idotaccent| defined by Walter Schmidt.
+
+2003/03/15: Added calculation of a vertical symmetry axis position
+$\TypesetIntegerExpression{\int{vaxis}}$. (LH) It is based on some
+code by Walter Schmidt.
+
+2004/08/07: Fixed typo in vertical symmetry axis code. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx
new file mode 100644
index 00000000000..223b2005f48
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/ltpunct.mtx
@@ -0,0 +1,247 @@
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.923",
+%%% date = "2003-03-29",
+%%% time = "16:25:58 +01:00",
+%%% filename = "ltpunct.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with
+%%% the fontinst utility. It deals with the
+%%% punctuation characters needed for the most
+%%% common latin font encodings.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}[2002/03/01]
+\showbranches
+
+\title{Latin punctuation}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{7 January 2003\\Version 1.923}
+
+\begin{document}
+\maketitle
+
+
+\metrics
+
+\needsfontinstversion{1.902}
+\usemtxpackage{ltcmds}
+\ProvidesMtxPackage{ltpunct}
+
+\begincomment
+\section{Punctuation}
+
+\subsection{Unfakable characters}
+\endcomment
+
+\unfakable{ampersand}
+\unfakable{asciicircum}
+\unfakable{asciitilde}
+\unfakable{asterisk}
+\unfakable{at}
+\unfakable{backslash}
+\unfakable{bar}
+\unfakable{braceleft}
+\unfakable{braceright}
+\unfakable{bracketleft}
+\unfakable{bracketright}
+\unfakable{colon}
+\unfakable{comma}
+\unfakable{dollar}
+\unfakable{emdash}
+\unfakable{endash}
+\unfakable{equal}
+\unfakable{exclamdown}
+\unfakable{exclam}
+\unfakable{greater}
+\unfakable{guillemotleft}
+\unfakable{guillemotright}
+\unfakable{guilsinglleft}
+\unfakable{guilsinglright}
+\unfakable{hyphen}
+\unfakable{less}
+\unfakable{numbersign}
+\unfakable{parenleft}
+\unfakable{parenright}
+\unfakable{percent}
+\unfakable{period}
+\unfakable{perthousandzero}
+\unfakable{plus}
+\unfakable{questiondown}
+\unfakable{question}
+\unfakable{quotedblbase}
+\unfakable{quotedblleft}
+\unfakable{quotedblright}
+\unfakable{quotedbl}
+\unfakable{quoteleft}
+\unfakable{quoteright}
+\unfakable{section}
+\unfakable{semicolon}
+\unfakable{slash}
+\unfakable{sterling}
+\unfakable{underscore}
+
+\begincomment
+\subsection{Fakable characters}
+\endcomment
+
+\setglyph{space}
+ \ifisglyph{space-not}\then
+ \movert{\width{space-not}}
+ \Else\ifisglyph{i}\then
+ \movert{\width{i}}
+ \Else
+ \movert{333}
+ \Fi\Fi
+\endsetglyph
+
+\setglyph{compwordmark}
+ \glyphrule{0}{\int{xheight}}
+\endsetglyph
+\setint{compwordmark-spacing}{0}
+
+\setglyph{quotesinglbase}
+ \glyph{comma}{1000}
+\endsetglyph
+
+
+\setglyph{visiblespace}
+ \moveup{\neg{\int{visiblespacedepth}}}
+ \movert{\int{visiblespacesurround}}
+ \glyphrule
+ {\int{underlinethickness}}
+ {\int{visiblespacedepth}}
+ \glyphrule
+ {\int{visiblespacewidth}}
+ {\int{underlinethickness}}
+ \glyphrule
+ {\int{underlinethickness}}
+ {\int{visiblespacedepth}}
+ \movert{\int{visiblespacesurround}}
+ \moveup{\int{visiblespacedepth}}
+\endsetglyph
+\setleftrightkerning{visiblespace}{space}{1000}
+\comment{The matter of whether a \texttt{visiblespace} should kern
+ like a \texttt{space} has never been satisfactory resolved.}
+
+
+
+\begincomment
+\subsection{Some special dashes}
+
+\texttt{rangedash} and \texttt{punctdash} are mostly two traditional
+aliases for \texttt{endash} and \texttt{emdash}. The problem with the
+latter two ``original'' glyphs is that they in monowidth fonts
+usually are much shorter than one would expect, whereas the hyphen
+combinations look quite good.
+\endcomment
+
+\setglyph{rangedash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \Else
+ \glyph{endash}{1000}
+ \Fi
+\endsetglyph
+
+\setglyph{punctdash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \glyph{hyphen}{1000}
+ \Else
+ \glyph{emdash}{1000}
+ \Fi
+\endsetglyph
+
+\setglyph{hyphenchar}
+ \glyph{hyphen}{1000}
+ \resetwidth{\half{\width{hyphen}}}
+ \comment{Unlike the normal \texttt{hyphen}, this glyph is only
+ meant to be used at the right end of a line of text. This means
+ it can be a ``hanging hyphen'' which significantly extends
+ outside the character box.}
+ \setleftkerning{hyphenchar}{hyphen}{1000}
+ \comment{\TeX\ does consider kerning (and ligatures) between a
+ hyphenchar and what preceeds it on the line, but there is
+ nothing after the hyphenchar.}
+\endsetglyph
+
+
+\begincomment
+\subsection{More monowidth specialities}
+\endcomment
+
+% only with monospaced fonts. (WaS)
+\ifisint{monowidth}\then
+ \resetglyph{asterisk}
+ \moveup{\sub{\int{vaxis}}{\half{\sub{\height{asterisk}}{\depth{asterisk}}}}}
+ \glyph{asterisk}{1000}
+ \resetdepth{0}
+ \endresetglyph
+\Fi
+
+
+
+\begincomment
+\section{Digits}
+
+The traditional coding here has been that all digits are considered to
+be unfakable. An obvious alternative is however to fake
+\texttt{zerooldstyle} with \texttt{zero}, \texttt{oneoldstyle} with
+\texttt{one}, etc., or vice versa.
+\endcomment
+
+
+\unfakable{zero}
+\unfakable{one}
+\unfakable{two}
+\unfakable{three}
+\unfakable{four}
+\unfakable{five}
+\unfakable{six}
+\unfakable{seven}
+\unfakable{eight}
+\unfakable{nine}
+
+\unfakable{zerooldstyle}
+\unfakable{oneoldstyle}
+\unfakable{twooldstyle}
+\unfakable{threeoldstyle}
+\unfakable{fouroldstyle}
+\unfakable{fiveoldstyle}
+\unfakable{sixoldstyle}
+\unfakable{sevenoldstyle}
+\unfakable{eightoldstyle}
+\unfakable{nineoldstyle}
+
+
+
+\endmetrics
+
+
+\section{Changes}
+
+The original version of this file was created in February 2003,
+although it is based on code from the traditional \texttt{latin.mtx}.
+The changes that have been made after that are as follows.
+
+2003/03/15: The asterisk in monowidth fonts is vertically centered,
+to make it more useful for computer listings. Suggested by Walter
+Schmidt.
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx
new file mode 100644
index 00000000000..e1e2f1bf9a4
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/lubuild.mtx
@@ -0,0 +1,646 @@
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.923",
+%%% date = "2003-03-29",
+%%% time = "16:12:42 +01:00",
+%%% filename = "lubuild.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It builds upper case latin
+%%% letters.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}[2002/03/01]
+\showbranches
+
+\title{Building upper case}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{4 January 2002\\Version 1.923}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This file builds upper case (full capitals, \texttt{u} case) latin
+letters, or more precisely, it makes sure that a set of glyphs is
+defined that cover the upper case letters used in European latin scripts.
+Even that is a slight exaggeration, because there are a couple of
+``exotic'' letters that are missing, but most people never try to use
+those anyway.
+
+For the glyphs set in this file to look anything like the letters they
+are supposed to be, it is necessary that the glyphs for unaccented
+letters and for accents already exist and look like they are supposed
+to. In that case, the commands below will manufacture decent
+substitutes for the missing glyphs by composing letters and accents.
+If some of these base glyphs are missing, then a ``missing glyph''
+substitute will be supplied for them. Such substitutes will show up in
+print as black squares, and most DVI drivers will emit a warning when
+producing them.
+
+The most common case encountered is that almost all unaccented letters
+and accents are available, but only about half of the accented
+letters. Then for the other half, quite decent substitutes are made,
+but a few letters only show up as ``missing glyph'' boxes.
+
+
+\metrics
+
+\needsfontinstversion{1.910}
+\usemtxpackage{ltcmds}
+
+\ProvidesMtxPackage{lubuild}
+
+\begincomment
+\section{Base upper case glyphs}
+
+The following commands make sure all the unaccented letter glyphs and
+accent glyphs are set. If any of them are not already set at this
+point, then those will be set to ``missing glyph'' boxes.
+
+\subsection{Letters}
+\endcomment
+
+\unfakable{A}
+\unfakable{AE}
+\unfakable{B}
+\unfakable{C}
+\unfakable{D}
+\unfakable{E}
+\unfakable{Eng}
+\unfakable{Eth}
+\unfakable{F}
+\unfakable{G}
+\unfakable{H}
+\unfakable{I}
+\unfakable{J}
+\unfakable{K}
+\unfakable{L}
+\unfakable{M}
+\unfakable{N}
+\unfakable{O}
+\unfakable{OE}
+\unfakable{Oslash}
+\unfakable{P}
+\unfakable{Q}
+\unfakable{R}
+\unfakable{S}
+\unfakable{T}
+\unfakable{Thorn}
+\unfakable{U}
+\unfakable{V}
+\unfakable{W}
+\unfakable{X}
+\unfakable{Y}
+\unfakable{Z}
+
+\begincomment
+\subsection{Accents}
+
+The accents on designed full capitals are often different from the
+accents on lower case letters: strokes are generally at a smaller
+angle to the horizontal, so that the accent is compressed in the
+vertical direction. Most fonts do not provide those accents as
+separate characters, but one should nonetheless try to use them
+whenever possible. The standard names appear (see for example the
+\emph{Adobe Glyph List}) to be the same as for the
+normal accents, but with the first letter in upper case.
+When these accents are not available, it is anyway
+possible to make do with the ordinary accents.
+\endcomment
+
+
+\unfakabletopaccent{grave}
+\unfakabletopaccent{acute}
+\unfakabletopaccent{circumflex}
+\unfakabletopaccent{tilde}
+\unfakabletopaccent{dieresis}
+\unfakabletopaccent{hungarumlaut}
+\unfakabletopaccent{ring}
+\unfakabletopaccent{caron}
+\unfakabletopaccent{breve}
+\unfakabletopaccent{macron}
+\unfakabletopaccent{dotaccent}
+\unfakable{cedilla}
+\unfakable{ogonek}
+\unfakable{quoteright}
+\unfakable{lslashslash}
+
+
+\setglyph{Acute}
+ \glyph{acute}{1000}
+\endsetglyph
+
+\setglyph{Grave}
+ \glyph{grave}{1000}
+\endsetglyph
+
+\setglyph{Circumflex}
+ \glyph{circumflex}{1000}
+\endsetglyph
+
+\setglyph{Tilde}
+ \glyph{tilde}{1000}
+\endsetglyph
+
+\setglyph{Dieresis}
+ \glyph{dieresis}{1000}
+\endsetglyph
+
+\setglyph{Breve}
+ \glyph{breve}{1000}
+\endsetglyph
+
+\setglyph{Dotaccent}
+ \glyph{dotaccent}{1000}
+\endsetglyph
+
+\setglyph{Caron}
+ \glyph{caron}{1000}
+\endsetglyph
+
+\setglyph{Hungarumlaut}
+ \glyph{hungarumlaut}{1000}
+\endsetglyph
+
+\setglyph{Ring}
+ \glyph{ring}{1000}
+\endsetglyph
+
+\setglyph{Macron}
+ \glyph{macron}{1000}
+\endsetglyph
+
+\setglyph{Cedilla}
+ \glyph{cedilla}{1000}
+\endsetglyph
+
+\setglyph{Ogonek}
+ \glyph{ogonek}{1000}
+\endsetglyph
+
+\begincomment
+Note that the \TeX\ accenting algorithm assumes that accents are
+positioned correctly for being placed on a letter whose height is the
+x-height. It might happen that a font with special upper case accents,
+made for use with some other typesetting engine, instead has these
+glyphs positioned correctly for being placed on a capital. In such a
+case, one would first have to adjust the accent positions before they
+can be used.
+\endcomment
+
+
+\begincomment
+\section{Building accented letters}
+\endcomment
+
+
+\setglyph{Aacute}
+ \topaccent{A}{Acute}{500}
+\endsetglyph
+
+\setglyph{Abreve}
+ \topaccent{A}{Breve}{500}
+\endsetglyph
+
+\setglyph{Acircumflex}
+ \topaccent{A}{Circumflex}{500}
+\endsetglyph
+
+\setglyph{Adieresis}
+ \topaccent{A}{Dieresis}{500}
+\endsetglyph
+
+\setglyph{Agrave}
+ \topaccent{A}{Grave}{500}
+\endsetglyph
+
+\setglyph{Aogonek}
+ \botaccent{A}{Ogonek}{900}
+\endsetglyph
+
+\setglyph{Aring}
+ \topaccent{A}{Ring}{500}
+\endsetglyph
+
+\setglyph{Atilde}
+ \topaccent{A}{Tilde}{500}
+\endsetglyph
+
+\setglyph{Cacute}
+ \topaccent{C}{Acute}{500}
+\endsetglyph
+
+\setglyph{Ccaron}
+ \topaccent{C}{Caron}{500}
+\endsetglyph
+
+\setglyph{Ccedilla}
+ \botaccent{C}{Cedilla}{500}
+\endsetglyph
+
+\setglyph{Dcaron}
+ \topaccent{D}{Caron}{450}
+\endsetglyph
+
+\setglyph{Eacute}
+ \topaccent{E}{Acute}{500}
+\endsetglyph
+
+\setglyph{Ecaron}
+ \topaccent{E}{Caron}{500}
+\endsetglyph
+
+\setglyph{Ecircumflex}
+ \topaccent{E}{Circumflex}{500}
+\endsetglyph
+
+\setglyph{Edieresis}
+ \topaccent{E}{Dieresis}{500}
+\endsetglyph
+
+\setglyph{Egrave}
+ \topaccent{E}{Grave}{500}
+\endsetglyph
+
+\setglyph{Eogonek}
+ \botaccent{E}{Ogonek}{850}
+\endsetglyph
+
+\setglyph{Gbreve}
+ \topaccent{G}{Breve}{500}
+\endsetglyph
+
+\setglyph{Iacute}
+ \topaccent{I}{Acute}{500}
+\endsetglyph
+
+\setglyph{Icircumflex}
+ \topaccent{I}{Circumflex}{500}
+\endsetglyph
+
+\setglyph{Idieresis}
+ \topaccent{I}{Dieresis}{500}
+\endsetglyph
+
+\setglyph{Idotaccent}
+ \topaccent{I}{Dotaccent}{500}
+\endsetglyph
+
+\setglyph{Igrave}
+ \topaccent{I}{Grave}{500}
+\endsetglyph
+
+\setglyph{Lacute}
+ \topaccent{L}{Acute}{250}
+\endsetglyph
+
+\setglyph{Lcaron}
+ \glyph{L}{1000}
+ \ifisint{monowidth}\then\Else
+ \movert{-200}
+ \Fi
+ \glyph{quoteright}{1000}
+\endsetglyph
+
+\setglyph{Nacute}
+ \topaccent{N}{Acute}{500}
+\endsetglyph
+
+\setglyph{Ncaron}
+ \topaccent{N}{Caron}{500}
+\endsetglyph
+
+\setglyph{Ntilde}
+ \topaccent{N}{Tilde}{500}
+\endsetglyph
+
+\setglyph{Oacute}
+ \topaccent{O}{Acute}{500}
+\endsetglyph
+
+\setglyph{Ocircumflex}
+ \topaccent{O}{Circumflex}{500}
+\endsetglyph
+
+\setglyph{Odieresis}
+ \topaccent{O}{Dieresis}{500}
+\endsetglyph
+
+\setglyph{Ograve}
+ \topaccent{O}{Grave}{500}
+\endsetglyph
+
+\setglyph{Ohungarumlaut}
+ \topaccent{O}{Hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Otilde}
+ \topaccent{O}{Tilde}{500}
+\endsetglyph
+
+\setglyph{Racute}
+ \topaccent{R}{Acute}{500}
+\endsetglyph
+
+\setglyph{Rcaron}
+ \topaccent{R}{Caron}{500}
+\endsetglyph
+
+\setglyph{Sacute}
+ \topaccent{S}{Acute}{500}
+\endsetglyph
+
+\setglyph{Scaron}
+ \topaccent{S}{Caron}{500}
+\endsetglyph
+
+\setglyph{Scedilla}
+ \botaccent{S}{Cedilla}{500}
+\endsetglyph
+
+\setglyph{Tcaron}
+ \topaccent{T}{Caron}{500}
+\endsetglyph
+
+\setglyph{Tcedilla}
+ \botaccent{T}{Cedilla}{500}
+\endsetglyph
+
+\setglyph{Uacute}
+ \topaccent{U}{Acute}{500}
+\endsetglyph
+
+\setglyph{Ucircumflex}
+ \topaccent{U}{Circumflex}{500}
+\endsetglyph
+
+\setglyph{Udieresis}
+ \topaccent{U}{Dieresis}{500}
+\endsetglyph
+
+\setglyph{Ugrave}
+ \topaccent{U}{Grave}{500}
+\endsetglyph
+
+\setglyph{Uhungarumlaut}
+ \topaccent{U}{Hungarumlaut}{500}
+\endsetglyph
+
+\setglyph{Uring}
+ \topaccent{U}{Ring}{500}
+\endsetglyph
+
+\setglyph{Yacute}
+ \topaccent{Y}{Acute}{500}
+\endsetglyph
+
+\setglyph{Ydieresis}
+ \topaccent{Y}{Dieresis}{500}
+\endsetglyph
+
+\setglyph{Zacute}
+ \topaccent{Z}{Acute}{500}
+\endsetglyph
+
+\setglyph{Zcaron}
+ \topaccent{Z}{Caron}{500}
+\endsetglyph
+
+\setglyph{Zdotaccent}
+ \topaccent{Z}{Dotaccent}{500}
+\endsetglyph
+
+
+\begincomment
+\section{Other glyphs that can be built}
+\endcomment
+
+\setglyph{Lslash}
+ \glyph{lslashslash}{1000}
+ \movert{\kerning{lslashslash}{L}}
+ \glyph{L}{1000}
+\endsetglyph
+
+\setglyph{Ng}
+ \glyph{Eng}{1000}
+ \comment{This is simply an alias.}
+\endsetglyph
+
+\setglyph{dotlessI}
+ \glyph{I}{1000}
+ \comment{This simplifies making all-caps fonts.}
+\endsetglyph
+
+\setglyph{dotlessJ}
+ \glyph{J}{1000}
+ \comment{This simplifies making all-caps fonts.}
+\endsetglyph
+
+
+\setglyph{IJ}
+ \glyph{I}{1000}
+ \movert{\kerning{I}{J}}
+ \glyph{J}{1000}
+\endsetglyph
+
+\setglyph{SS}
+ \glyph{S}{1000}
+ \movert{\kerning{S}{S}}
+ \glyph{S}{1000}
+\endsetglyph
+
+
+\begincomment
+\subsection{All-caps spaced digraphs}
+
+These glyphs are combinations of upper case letters in which the
+distances between them have been increased by
+$\TypesetIntegerExpression{\int{capspacing}}$. These are intended for
+use in all-caps fonts that are made with a nonzero
+$\TypesetIntegerExpression{\int{letterspacing}}$ equal to the
+$\TypesetIntegerExpression{\int{capspacing}}$.
+\endcomment
+
+\setglyph{FFspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{F}}{\int{capspacing}}}
+ \glyph{F}{1000}
+\endsetglyph
+\setleftrightkerning{FFspaced}{F}{1000}
+\setleftrightkerning{Dbar}{Eth}{1000}
+
+
+\setglyph{FIspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{I}}{\int{capspacing}}}
+ \glyph{I}{1000}
+\endsetglyph
+\setleftkerning{FIspaced}{F}{1000}
+\setrightkerning{FIspaced}{I}{1000}
+
+\setglyph{FLspaced}
+ \glyph{F}{1000}
+ \movert{\add{\kerning{F}{L}}{\int{capspacing}}}
+ \glyph{L}{1000}
+\endsetglyph
+\setleftkerning{FLspaced}{F}{1000}
+\setrightkerning{FLspaced}{L}{1000}
+
+\setglyph{FFIspaced}
+ \glyph{FFspaced}{1000}
+ \movert{\add{\kerning{FFspaced}{I}}{\int{capspacing}}}
+ \glyph{I}{1000}
+\endsetglyph
+\setleftkerning{FFIspaced}{F}{1000}
+\setrightkerning{FFIspaced}{I}{1000}
+
+\setglyph{FFLspaced}
+ \glyph{FFspaced}{1000}
+ \movert{\add{\kerning{FFspaced}{L}}{\int{capspacing}}}
+ \glyph{L}{1000}
+\endsetglyph
+\setleftkerning{FFLspaced}{F}{1000}
+\setrightkerning{FFLspaced}{L}{1000}
+
+\setglyph{IJspaced}
+ \glyph{I}{1000}
+ \movert{\add{\kerning{I}{J}}{\int{capspacing}}}
+ \glyph{J}{1000}
+\endsetglyph
+\setleftkerning{IJspaced}{I}{1000}
+\setrightkerning{IJspaced}{J}{1000}
+
+\setglyph{SSspaced}
+ \glyph{S}{1000}
+ \movert{\add{\kerning{S}{S}}{\int{capspacing}}}
+ \glyph{S}{1000}
+\endsetglyph
+\setleftrightkerning{SSspaced}{S}{1000}
+
+
+
+
+\begincomment
+\section{All-caps kerning}
+\endcomment
+
+\setleftrightkerning{dotlessI}{I}{1000}
+\setleftrightkerning{dotlessJ}{J}{1000}
+
+
+\setleftrightkerning{Aacute}{A}{1000}
+\setleftrightkerning{Abreve}{A}{1000}
+\setleftrightkerning{Acircumflex}{A}{1000}
+\setleftrightkerning{Adieresis}{A}{1000}
+\setleftrightkerning{Agrave}{A}{1000}
+\setleftrightkerning{Aogonek}{A}{1000}
+\setleftrightkerning{Aring}{A}{1000}
+\setleftrightkerning{Atilde}{A}{1000}
+
+\setleftrightkerning{Cacute}{C}{1000}
+\setleftrightkerning{Ccaron}{C}{1000}
+\setleftrightkerning{Ccedilla}{C}{1000}
+
+\setleftrightkerning{Dcaron}{D}{1000}
+
+\setleftrightkerning{Eacute}{E}{1000}
+\setleftrightkerning{Ecaron}{E}{1000}
+\setleftrightkerning{Ecircumflex}{E}{1000}
+\setleftrightkerning{Edieresis}{E}{1000}
+\setleftrightkerning{Egrave}{E}{1000}
+\setleftrightkerning{Eogonek}{E}{1000}
+
+\setleftrightkerning{Gbreve}{G}{1000}
+
+\setleftkerning{IJ}{I}{1000}
+
+\setleftrightkerning{Iacute}{I}{1000}
+\setleftrightkerning{Icircumflex}{I}{1000}
+\setleftrightkerning{Idieresis}{I}{1000}
+\setleftrightkerning{Idotaccent}{I}{1000}
+\setleftrightkerning{Igrave}{I}{1000}
+
+\setrightkerning{IJ}{J}{1000}
+
+\setleftrightkerning{Lacute}{L}{1000}
+\setleftrightkerning{Lslash}{L}{1000}
+\setleftkerning{Lcaron}{L}{1000}
+
+\setleftrightkerning{Nacute}{N}{1000}
+\setleftrightkerning{Ncaron}{N}{1000}
+\setleftrightkerning{Ntilde}{N}{1000}
+
+\setleftkerning{Ng}{N}{1000}
+\setrightkerning{Ng}{J}{1000}
+
+\setleftrightkerning{Oacute}{O}{1000}
+\setleftrightkerning{Ocircumflex}{O}{1000}
+\setleftrightkerning{Odieresis}{O}{1000}
+\setleftrightkerning{Ograve}{O}{1000}
+\setleftrightkerning{Ohungarumlaut}{O}{1000}
+\setleftrightkerning{Oslash}{O}{1000}
+\setleftrightkerning{Otilde}{O}{1000}
+
+\setleftrightkerning{Rcaron}{R}{1000}
+\setleftrightkerning{Racute}{R}{1000}
+
+\setleftrightkerning{SS}{S}{1000}
+\setleftrightkerning{Sacute}{S}{1000}
+\setleftrightkerning{Scaron}{S}{1000}
+\setleftrightkerning{Scedilla}{S}{1000}
+
+\setleftrightkerning{Tcaron}{T}{1000}
+\setleftrightkerning{Tcedilla}{T}{1000}
+
+\setleftrightkerning{Uacute}{U}{1000}
+\setleftrightkerning{Ucircumflex}{U}{1000}
+\setleftrightkerning{Udieresis}{U}{1000}
+\setleftrightkerning{Ugrave}{U}{1000}
+\setleftrightkerning{Uhungarumlaut}{U}{1000}
+\setleftrightkerning{Uring}{U}{1000}
+
+\setleftrightkerning{Yacute}{Y}{1000}
+\setleftrightkerning{Ydieresis}{Y}{1000}
+
+\setleftrightkerning{Zacute}{Z}{1000}
+\setleftrightkerning{Zcaron}{Z}{1000}
+\setleftrightkerning{Zdotaccent}{Z}{1000}
+
+
+
+\endmetrics
+
+
+\section{Changes}
+
+The original version of this file was created in February 2003,
+although it is based on code from the traditional \texttt{latin.mtx}.
+The changes that have been made after that are as follows.
+
+2003/03/15: Using \verb|\unfakabletopaccent| for the accent
+characters. This should change the appearence of accented letters
+built using such a character from ``a black square'' to ``a letter
+with a black square above''. Neither is satisfactory, but the latter
+conveys more information. (LH)
+
+2003/03/29: Added some code (from \texttt{latin.mtx}) for all-caps
+glyphs that had been forgotten. (LH)
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx
new file mode 100644
index 00000000000..083dfe259b7
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/newlatin.mtx
@@ -0,0 +1,190 @@
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.924",
+%%% date = "2003-03-29",
+%%% time = "16:28:28 +01:00",
+%%% filename = "newlatin.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It provides the defaults
+%%% used to install the Latin glyphs.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}[2003/02/09]
+\showbranches
+
+\title{The \textsf{fontinst} latin glyphs, modernized}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{16 February 2003}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document lists commands for the \textsf{fontinst} utility that
+will generate the glyphs needed to make a set of latin fonts. The
+intent is that this file should replace the old \texttt{latin.mtx}
+as the generic ``fixer'' for latin fonts---doing a decent job both
+when proper smallcaps is available and when it is not.
+
+Most of the actual commands are however to be found in other files,
+which this file uses. This modular design is meant to simplify tuning
+the process, for example by adjusting the accent positions to better
+suit particular fonts.
+
+
+\metrics
+
+\needsfontinstversion{1.924}
+
+\usemtxpackage{llbuild}
+
+\usemtxpackage{lubuild}
+
+\ifoption{nosc}\then \Else
+
+\usemtxpackage{lsbuild}
+\usemtxpackage{lsfake}
+\usemtxpackage{lsmisc}
+
+\Fi
+
+\usemtxpackage{ltpunct}
+
+\begincomment
+\section{\texttt{OT1} oddities}
+
+One important, although also deprecated, encoding for latin text
+fonts is the \texttt{OT1} encoding. Besides being a text font
+encoding, that makes double service as a math font encoding, and
+this imposes some extra restrictions.
+
+\subsection{Greek capitals}
+\endcomment
+
+\usemtxpackage{ltcmds}
+
+\unfakable{Gamma}
+\unfakable{Delta}
+\unfakable{Theta}
+\unfakable{Lambda}
+\unfakable{Xi}
+\unfakable{Pi}
+\unfakable{Sigma}
+\unfakable{Upsilon}
+\unfakable{Upsilon1}
+\unfakable{Phi}
+\unfakable{Psi}
+\unfakable{Omega}
+
+\begincomment
+\subsection{Math accents}
+
+\TeX's math accent-positioning requires accents to have zero depth.
+\endcomment
+
+\foreach(accent){grave,acute,circumflex,tilde,dieresis,hungarumlaut,%
+ ring,caron,breve,macron,dotaccent}
+ \ifisglyph{\str{accent}}\then
+ \resetglyph{\str{accent}}
+ \glyph{\str{accent}}{1000}
+ \resetdepth{0}
+ \endresetglyph
+ \Fi
+\endfor(accent)
+
+% \setcommand\zerodepth#1{
+% \ifisglyph{#1}\then
+% \resetglyph{#1}
+% \glyph{#1}{1000}
+% \resetdepth{0}
+% \endresetglyph
+% \Fi
+% }
+% \zerodepth{grave}
+% \zerodepth{acute}
+% \zerodepth{circumflex}
+% \zerodepth{tilde}
+% \zerodepth{dieresis}
+% \zerodepth{hungarumlaut}
+% \zerodepth{ring}
+% \zerodepth{caron}
+% \zerodepth{breve}
+% \zerodepth{macron}
+% \zerodepth{dotaccent}
+
+
+\begincomment
+\subsection{The ring accent}
+
+The \texttt{OT1} definition of \r{A} (that does not make use of
+\verb|\accent|) assumes that the ring accent glyph has the same width
+as \texttt{A}. Hence this special \texttt{ringfitted} glyph.
+\endcomment
+
+\setglyph{ringfitted}
+ \movert{\half{\sub{\width{A}}{\width{ring}}}}
+ \glyph{ring}{1000}
+ \movert{\otherhalf{\sub{\width{A}}{\width{ring}}}}
+\endsetglyph
+
+
+\begincomment
+\section{\texttt{T1} oddities}
+
+Even the modern \texttt{T1} encoding has some odd traits. The most
+notable is that the guillemet glyphs \texttt{guillemotleft} and
+\texttt{guillemotright} can be formed as ligatures from a pair of
+\texttt{less}s and \texttt{greater}s respectively. Then to get the
+right kerning on the left side of the two former glyphs, the two
+latter must kern like them!
+\endcomment
+
+\setleftkerning{less}{guillemotleft}{1000}
+\setleftkerning{greater}{guillemotright}{1000}
+
+
+\endmetrics
+
+
+\section{Changes}
+
+The original version of this file was created in February 2003,
+although it is based on code from the traditional \texttt{latin.mtx}.
+The changes that have been made after that are listed below, but see
+also the files containing the individual metric packages for any
+changes made to those files.
+
+
+\end{document}
+
+
+%
+% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+% hacked and maintained 1997, 1998 Sebastian Rahtz,
+% copyright 1998, 1999, 2000, 2003 the fontinst maintenance team and
+% any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.2 or, at your option, any later version.
+%
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx
new file mode 100644
index 00000000000..445e737525e
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/resetsc.mtx
@@ -0,0 +1,166 @@
+% Copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Ulrik Vieth",
+%%% version = "1.927",
+%%% date = "13 April 2004",
+%%% time = "23:01:07 CET",
+%%% filename = "resetsc.mtx",
+%%% email = "fontinst@tug.org",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "07130 161 332 5005",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a metrics file, for use with the
+%%% fontinst utility. It recodes glyph names
+%%% for small capitals read from AFM files
+%%% to glyph names with a `small' suffix.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The \texttt{resetsc.mtx} metrics file}
+\author{Ulrik Vieth}
+\date{16 November 1999 \\
+Version 1.910}
+
+\begin{document}
+\maketitle
+
+This document describes the \texttt{resetsc.mtx} metrics file, which is
+used to recode raw glyph names for small capitals to glyph names with
+a `small' suffix.
+
+\metrics
+
+\setcommand\smallcapsglyph#1#2{
+ \ifisglyph{#2}\then
+ \setglyph{#1}\glyph{#2}{1000}
+ \endsetglyph
+ \fi
+}
+
+\setcommand\smallcapskerning#1#2{
+ \ifisglyph{#2}\then
+ \setleftrightkerning{#1}{#2}{1000}
+ \fi
+}
+
+% Renaming small caps glyphs.
+
+\smallcapsglyph{Asmall}{a}
+\smallcapsglyph{Bsmall}{b}
+\smallcapsglyph{Csmall}{c}
+\smallcapsglyph{Dsmall}{d}
+\smallcapsglyph{Esmall}{e}
+\smallcapsglyph{Fsmall}{f}
+\smallcapsglyph{Gsmall}{g}
+\smallcapsglyph{Hsmall}{h}
+\smallcapsglyph{Ismall}{i}
+\smallcapsglyph{Jsmall}{j}
+\smallcapsglyph{Ksmall}{k}
+\smallcapsglyph{Lsmall}{l}
+\smallcapsglyph{Msmall}{m}
+\smallcapsglyph{Nsmall}{n}
+\smallcapsglyph{Osmall}{o}
+\smallcapsglyph{Psmall}{p}
+\smallcapsglyph{Qsmall}{q}
+\smallcapsglyph{Rsmall}{r}
+\smallcapsglyph{Ssmall}{s}
+\smallcapsglyph{Tsmall}{t}
+\smallcapsglyph{Usmall}{u}
+\smallcapsglyph{Vsmall}{v}
+\smallcapsglyph{Wsmall}{w}
+\smallcapsglyph{Xsmall}{x}
+\smallcapsglyph{Ysmall}{y}
+\smallcapsglyph{Zsmall}{z}
+
+\smallcapsglyph{Lslashsmall}{lslash}
+\smallcapsglyph{Scaronsmall}{scaron}
+\smallcapsglyph{Zcaronsmall}{zcaron}
+
+\smallcapsglyph{Agravesmall}{agrave}
+\smallcapsglyph{Aacutesmall}{aacute}
+\smallcapsglyph{Acircumflexsmall}{acircumflex}
+\smallcapsglyph{Atildesmall}{atilde}
+\smallcapsglyph{Adieresissmall}{adieresis}
+\smallcapsglyph{Aringsmall}{aring}
+\smallcapsglyph{AEsmall}{ae}
+\smallcapsglyph{Ccedillasmall}{ccedilla}
+\smallcapsglyph{Egravesmall}{egrave}
+\smallcapsglyph{Eacutesmall}{eacute}
+\smallcapsglyph{Ecircumflexsmall}{ecircumflex}
+\smallcapsglyph{Edieresissmall}{edieresis}
+\smallcapsglyph{Igravesmall}{igrave}
+\smallcapsglyph{Iacutesmall}{iacute}
+\smallcapsglyph{Icircumflexsmall}{icircumflex}
+\smallcapsglyph{Idieresissmall}{idieresis}
+\smallcapsglyph{Ethsmall}{eth}
+\smallcapsglyph{Ntildesmall}{ntilde}
+\smallcapsglyph{Ogravesmall}{ograve}
+\smallcapsglyph{Oacutesmall}{oacute}
+\smallcapsglyph{Ocircumflexsmall}{ocircumflex}
+\smallcapsglyph{Otildesmall}{otilde}
+\smallcapsglyph{Odieresissmall}{odieresis}
+\smallcapsglyph{OEsmall}{oe}
+\smallcapsglyph{Oslashsmall}{oslash}
+\smallcapsglyph{Ugravesmall}{ugrave}
+\smallcapsglyph{Uacutesmall}{uacute}
+\smallcapsglyph{Ucircumflexsmall}{ucircumflex}
+\smallcapsglyph{Udieresissmall}{udieresis}
+\smallcapsglyph{Yacutesmall}{yacute}
+\smallcapsglyph{Thornsmall}{thorn}
+\smallcapsglyph{Ydieresissmall}{ydieresis}
+
+% Renaming small caps kern pairs.
+
+\smallcapskerning{Asmall}{a}
+\smallcapskerning{Bsmall}{b}
+\smallcapskerning{Csmall}{c}
+\smallcapskerning{Dsmall}{d}
+\smallcapskerning{Esmall}{e}
+\smallcapskerning{Fsmall}{f}
+\smallcapskerning{Gsmall}{g}
+\smallcapskerning{Hsmall}{h}
+\smallcapskerning{Ismall}{i}
+\smallcapskerning{Jsmall}{j}
+\smallcapskerning{Ksmall}{k}
+\smallcapskerning{Lsmall}{l}
+\smallcapskerning{Msmall}{m}
+\smallcapskerning{Nsmall}{n}
+\smallcapskerning{Osmall}{o}
+\smallcapskerning{Psmall}{p}
+\smallcapskerning{Qsmall}{q}
+\smallcapskerning{Rsmall}{r}
+\smallcapskerning{Ssmall}{s}
+\smallcapskerning{Tsmall}{t}
+\smallcapskerning{Usmall}{u}
+\smallcapskerning{Vsmall}{v}
+\smallcapskerning{Wsmall}{w}
+\smallcapskerning{Xsmall}{x}
+\smallcapskerning{Ysmall}{y}
+\smallcapskerning{Zsmall}{z}
+
+\endmetrics
+
+\section{Changes}
+
+2004/04/13: Fixed typo (\texttt{Xsmall} instead of \texttt{Ysmall}).
+(LH)
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx b/Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx
new file mode 100644
index 00000000000..cc6b792de09
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/latinmtx/unsetalf.mtx
@@ -0,0 +1,114 @@
+% Copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Ulrik Vieth",
+%%% version = "1.910",
+%%% date = "16 November 1999",
+%%% time = "23:02:32 CET",
+%%% filename = "unsetalf.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "64950 114 264 2737",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a metrics file, for use with the
+%%% fontinst utility. It makes glyph names
+%%% for alphabetic glyphs undefined.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The \texttt{unsetalf.mtx} metrics file}
+\author{Ulrik Vieth}
+\date{16 November 1999 \\
+Version 1.910}
+
+\begin{document}
+\maketitle
+
+This document describes the \texttt{unsetalf.mtx} metrics file, which is
+used to make glyph names for alphabetic glyphs undefined.
+
+\metrics
+
+\unsetint{xheight}
+\unsetint{ascender}
+\unsetint{descender}
+\unsetint{capheight}
+\unsetint{italicslant}
+
+\unsetglyph{A}
+\unsetglyph{B}
+\unsetglyph{C}
+\unsetglyph{D}
+\unsetglyph{E}
+\unsetglyph{F}
+\unsetglyph{G}
+\unsetglyph{H}
+\unsetglyph{I}
+\unsetglyph{J}
+\unsetglyph{K}
+\unsetglyph{L}
+\unsetglyph{M}
+\unsetglyph{N}
+\unsetglyph{O}
+\unsetglyph{P}
+\unsetglyph{Q}
+\unsetglyph{R}
+\unsetglyph{S}
+\unsetglyph{T}
+\unsetglyph{U}
+\unsetglyph{V}
+\unsetglyph{W}
+\unsetglyph{X}
+\unsetglyph{Y}
+\unsetglyph{Z}
+
+\unsetglyph{a}
+\unsetglyph{b}
+\unsetglyph{c}
+\unsetglyph{d}
+\unsetglyph{e}
+\unsetglyph{f}
+\unsetglyph{g}
+\unsetglyph{h}
+\unsetglyph{i}
+\unsetglyph{j}
+\unsetglyph{k}
+\unsetglyph{l}
+\unsetglyph{m}
+\unsetglyph{n}
+\unsetglyph{o}
+\unsetglyph{p}
+\unsetglyph{q}
+\unsetglyph{r}
+\unsetglyph{s}
+\unsetglyph{t}
+\unsetglyph{u}
+\unsetglyph{v}
+\unsetglyph{w}
+\unsetglyph{x}
+\unsetglyph{y}
+\unsetglyph{z}
+
+\unsetglyph{dotlessi}
+\unsetglyph{dotlessj}
+
+\endmetrics
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/euex.etx b/Master/texmf-dist/tex/fontinst/mathetx/euex.etx
new file mode 100644
index 00000000000..1d33e7ac4b6
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/euex.etx
@@ -0,0 +1,164 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Matthias Clasen and Ulrik Vieth",
+%%% version = "1.915",
+%%% date = "26 October 2000",
+%%% time = "11:28:00 CEST",
+%%% filename = "euex.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/index.html",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the Euler extension encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\useexamplefont{euex10}
+\showbranches
+
+\title{The AMS Euler Extension encoding vector}
+\author{Matthias Clasen and Ulrik Vieth}
+
+\begin{document}
+\maketitle
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{EULER SUBSTITUTIONS ONLY}
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\comment{The following font dimensions are taken from \texttt{euex10}.}
+
+\setint{defaultrulethickness}{40}
+\setint{bigopspacing1}{111}
+\setint{bigopspacing2}{167}
+\setint{bigopspacing3}{200}
+\setint{bigopspacing4}{600}
+\setint{bigopspacing5}{100}
+
+\begincomment
+\section{Default font dimensions}
+\endcomment
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{0} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{0} % extra space after .
+
+\setint{fontdimen(8)}{\int{defaultrulethickness}} % default rule thickness
+\setint{fontdimen(9)}{\int{bigopspacing1}} % bigopspacing 1
+\setint{fontdimen(10)}{\int{bigopspacing2}} % bigopspacing 2
+\setint{fontdimen(11)}{\int{bigopspacing3}} % bigopspacing 3
+\setint{fontdimen(12)}{\int{bigopspacing4}} % bigopspacing 4
+\setint{fontdimen(13)}{\int{bigopspacing5}} % bigopspacing 5
+
+
+\begincomment
+\section{The encoding}
+\endcomment
+
+\setslotcomment{The symbol `\slotexample'.}
+
+\nextslot{8}
+\setslot{braceleftbig}\endsetslot
+\setslot{bracerightbig}\endsetslot
+\setslot{braceleftBig}\endsetslot
+\setslot{bracerightBig}\endsetslot
+\setslot{braceleftbigg}\endsetslot
+\setslot{bracerightbigg}\endsetslot
+\setslot{braceleftBigg}\endsetslot
+\setslot{bracerightBigg}\endsetslot
+
+\nextslot{24}
+\setslot{arrowlefttophalf}\endsetslot
+\setslot{arrowleftbothalf}\endsetslot
+\setslot{arrowrighttophalf}\endsetslot
+\setslot{arrowrightbothalf}\endsetslot
+
+\nextslot{32}
+\setslot{arrowleft}\endsetslot
+\setslot{arrowright}\endsetslot
+\setslot{arrowup}\endsetslot
+\setslot{arrowdown}\endsetslot
+\setslot{arrowboth}\endsetslot
+\setslot{arrownortheast}\endsetslot
+\setslot{arrowsoutheast}\endsetslot
+
+\nextslot{40}
+\setslot{arrowdblleft}\endsetslot
+\setslot{arrowdblright}\endsetslot
+\setslot{arrowdblup}\endsetslot
+\setslot{arrowdbldown}\endsetslot
+\setslot{arrowdblboth}\endsetslot
+\setslot{arrownorthwest}\endsetslot
+\setslot{arrowsouthwest}\endsetslot
+
+\nextslot{49}
+\setslot{infinity}\endsetslot
+
+\nextslot{56}
+\setslot{bracelefttp}\endsetslot
+\setslot{bracerighttp}\endsetslot
+\setslot{braceleftbt}\endsetslot
+\setslot{bracerightbt}\endsetslot
+\setslot{braceleftmid}\endsetslot
+\setslot{bracerightmid}\endsetslot
+\setslot{braceex}\endsetslot
+
+\nextslot{72}
+\setslot{contintegraltext}\endsetslot
+\setslot{contintegraldisplay}\endsetslot
+
+\nextslot{80}
+\setslot{summationtext}\endsetslot
+\setslot{producttext}\endsetslot
+\setslot{integraltext}\endsetslot
+
+\nextslot{88}
+\setslot{summationdisplay}\endsetslot
+\setslot{productdisplay}\endsetslot
+\setslot{integraldisplay}\endsetslot
+
+\nextslot{96}
+\setslot{coproducttext}\endsetslot
+\setslot{coproductdisplay}\endsetslot
+
+\nextslot{122}
+\setslot{bracehtipdownleft}\endsetslot
+\setslot{bracehtipdownright}\endsetslot
+\setslot{bracehtipupleft}\endsetslot
+\setslot{bracehtipupright}\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+12 October 2000, v1\,1.915: Introduced intermediate variables for
+fontdimens 8--13. Updated markup. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/eufrak.etx b/Master/texmf-dist/tex/fontinst/mathetx/eufrak.etx
new file mode 100644
index 00000000000..edc289e80da
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/eufrak.etx
@@ -0,0 +1,238 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Matthias Clasen and Ulrik Vieth",
+%%% version = "1.915",
+%%% date = "26 October 2000",
+%%% time = "11:29:00 CEST",
+%%% filename = "eufrak.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/index.html",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the Euler Fraktur encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\useexamplefont{eufm10}
+\showbranches
+
+\title{The AMS Euler Fraktur encoding vector (\texttt{OT1}-subset)}
+\author{Matthias Clasen and Ulrik Vieth}
+
+\begin{document}
+\maketitle
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{TEX TEXT SUBSET}
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\comment{The following font dimensions are taken from \texttt{eufm10}.}
+
+\setint{num1}{378}
+\setint{num2}{270}
+\setint{num3}{297}
+\setint{denom1}{378}
+\setint{denom2}{162}
+\setint{sup1}{405}
+\setint{sup2}{378}
+\setint{sup3}{324}
+\setint{sub1}{189}
+\setint{sub2}{243}
+\setint{supdrop}{405}
+\setint{subdrop}{27}
+\setint{delim1}{2198}
+\setint{delim2}{1000}
+\setint{axisheight}{257}
+
+\begincomment
+\section{Font dimensions}
+\endcomment
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{0} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{0} % extra space after .
+
+\setint{fontdimen(8)}{\int{num1}} % num 1
+\setint{fontdimen(9)}{\int{num2}} % num 2
+\setint{fontdimen(10)}{\int{num3}} % num 3
+\setint{fontdimen(11)}{\int{denom1}} % denom 1
+\setint{fontdimen(12)}{\int{denom2}} % denom 2
+\setint{fontdimen(13)}{\int{sup1}} % sup 1
+\setint{fontdimen(14)}{\int{sup2}} % sup 2
+\setint{fontdimen(15)}{\int{sup3}} % sup 3
+\setint{fontdimen(16)}{\int{sub1}} % sub 1
+\setint{fontdimen(17)}{\int{sub2}} % sub 2
+\setint{fontdimen(18)}{\int{supdrop}} % supdrop
+\setint{fontdimen(19)}{\int{subdrop}} % subdrop
+\setint{fontdimen(20)}{\int{delim1}} % delim 1
+\setint{fontdimen(21)}{\int{delim2}} % delim 2
+\setint{fontdimen(22)}{\int{axisheight}} % math axis height
+
+
+\begincomment
+\section{The encoding}
+\endcomment
+
+\setslotcomment{The alternate letter `\slotexample'.}
+
+\setslot{d1frak}\endsetslot
+\setslot{d2frak}\endsetslot
+\setslot{f1frak}\endsetslot
+\setslot{f2frak}\endsetslot
+\setslot{g1frak}\endsetslot
+\setslot{t1frak}\endsetslot
+\setslot{t2frak}\endsetslot
+\setslot{u1frak}\endsetslot
+
+\resetslotcomment{The symbol `\slotexample'.}
+
+\nextslot{18}
+\setslot{quoteleft}\endsetslot
+\setslot{quoteright}\endsetslot
+
+\nextslot{33}
+\setslot{exclam}\endsetslot
+\skipslots{4}
+\setslot{ampersand}\endsetslot
+\setslot{quotesingle}\endsetslot
+\setslot{parenleft}\endsetslot
+\setslot{parenright}\endsetslot
+\setslot{asterisk}\endsetslot
+\setslot{plus}\endsetslot
+\setslot{comma}\endsetslot
+\setslot{minus}\endsetslot
+\setslot{period}\endsetslot
+\setslot{slash}\endsetslot
+
+\resetslotcomment{The Fraktur numeral `\slotexample'.}
+
+\nextslot{48}
+\setslot{zerofrak}\endsetslot
+\setslot{onefrak}\endsetslot
+\setslot{twofrak}\endsetslot
+\setslot{threefrak}\endsetslot
+\setslot{fourfrak}\endsetslot
+\setslot{fivefrak}\endsetslot
+\setslot{sixfrak}\endsetslot
+\setslot{sevenfrak}\endsetslot
+\setslot{eightfrak}\endsetslot
+\setslot{ninefrak}\endsetslot
+
+\resetslotcomment{The symbol `\slotexample'.}
+
+\setslot{colon}\endsetslot
+\setslot{semicolon}\endsetslot
+\skipslots{1}
+\setslot{equal}\endsetslot
+\skipslots{1}
+\setslot{question}\endsetslot
+
+\resetslotcomment{The Fraktur letter `\slotexample'.}
+
+\nextslot{65}
+\setslot{Afrak}\endsetslot
+\setslot{Bfrak}\endsetslot
+\setslot{Cfrak}\endsetslot
+\setslot{Dfrak}\endsetslot
+\setslot{Efrak}\endsetslot
+\setslot{Ffrak}\endsetslot
+\setslot{Gfrak}\endsetslot
+\setslot{Hfrak}\endsetslot
+\setslot{Ifrak}\endsetslot
+\setslot{Jfrak}\endsetslot
+\setslot{Kfrak}\endsetslot
+\setslot{Lfrak}\endsetslot
+\setslot{Mfrak}\endsetslot
+\setslot{Nfrak}\endsetslot
+\setslot{Ofrak}\endsetslot
+\setslot{Pfrak}\endsetslot
+\setslot{Qfrak}\endsetslot
+\setslot{Rfrak}\endsetslot
+\setslot{Sfrak}\endsetslot
+\setslot{Tfrak}\endsetslot
+\setslot{Ufrak}\endsetslot
+\setslot{Vfrak}\endsetslot
+\setslot{Wfrak}\endsetslot
+\setslot{Xfrak}\endsetslot
+\setslot{Yfrak}\endsetslot
+\setslot{Zfrak}\endsetslot
+
+\resetslotcomment{The symbol `\slotexample'.}
+
+\setslot{bracketleft}\endsetslot
+\skipslots{1}
+\setslot{bracketright}\endsetslot
+\setslot{asciicircum}\endsetslot
+
+\resetslotcomment{The Fraktur letter `\slotexample'.}
+
+\nextslot{97}
+\setslot{afrak}\endsetslot
+\setslot{bfrak}\endsetslot
+\setslot{cfrak}\endsetslot
+\setslot{dfrak}\endsetslot
+\setslot{efrak}\endsetslot
+\setslot{ffrak}\endsetslot
+\setslot{gfrak}\endsetslot
+\setslot{hfrak}\endsetslot
+\setslot{ifrak}\endsetslot
+\setslot{jfrak}\endsetslot
+\setslot{kfrak}\endsetslot
+\setslot{lfrak}\endsetslot
+\setslot{mfrak}\endsetslot
+\setslot{nfrak}\endsetslot
+\setslot{ofrak}\endsetslot
+\setslot{pfrak}\endsetslot
+\setslot{qfrak}\endsetslot
+\setslot{rfrak}\endsetslot
+\setslot{sfrak}\endsetslot
+\setslot{tfrak}\endsetslot
+\setslot{ufrak}\endsetslot
+\setslot{vfrak}\endsetslot
+\setslot{wfrak}\endsetslot
+\setslot{xfrak}\endsetslot
+\setslot{yfrak}\endsetslot
+\setslot{zfrak}\endsetslot
+
+\resetslotcomment{The symbol `\slotexample'.}
+
+\skipslots{2}
+\setslot{quotedbl}\endsetslot
+\skipslots{1}
+\setslot{onealtfrak}\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+12 October 2000, v\,1.915: Introduced intermediate variables for fontdimens
+8--22. Updated markup. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/eurm.etx b/Master/texmf-dist/tex/fontinst/mathetx/eurm.etx
new file mode 100644
index 00000000000..063137ad6f5
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/eurm.etx
@@ -0,0 +1,239 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Matthias Clasen and Ulrik Vieth",
+%%% version = "1.915",
+%%% date = "26 October 2000",
+%%% time = "11:29:00 CEST",
+%%% filename = "eurm.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/index.html",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the Euler Roman encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\useexamplefont{eurm10}
+\showbranches
+
+\title{The AMS Euler Roman encoding vector (\texttt{OML}-subset)}
+\author{Matthias Clasen and Ulrik Vieth}
+
+\begin{document}
+\maketitle
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{TEX MATH ITALIC SUBSET}
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\comment{The following font dimensions are taken from \texttt{eurm10}.}
+
+\setint{num1}{378}
+\setint{num2}{270}
+\setint{num3}{297}
+\setint{denom1}{378}
+\setint{denom2}{162}
+\setint{sup1}{405}
+\setint{sup2}{378}
+\setint{sup3}{324}
+\setint{sub1}{189}
+\setint{sub2}{243}
+\setint{supdrop}{405}
+\setint{subdrop}{27}
+\setint{delim1}{2198}
+\setint{delim2}{1000}
+\setint{axisheight}{257}
+
+\begincomment
+\section{Font dimensions}
+\endcomment
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{0} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{0} % extra space after .
+
+\setint{fontdimen(8)}{\int{num1}} % num 1
+\setint{fontdimen(9)}{\int{num2}} % num 2
+\setint{fontdimen(10)}{\int{num3}} % num 3
+\setint{fontdimen(11)}{\int{denom1}} % denom 1
+\setint{fontdimen(12)}{\int{denom2}} % denom 2
+\setint{fontdimen(13)}{\int{sup1}} % sup 1
+\setint{fontdimen(14)}{\int{sup2}} % sup 2
+\setint{fontdimen(15)}{\int{sup3}} % sup 3
+\setint{fontdimen(16)}{\int{sub1}} % sub 1
+\setint{fontdimen(17)}{\int{sub2}} % sub 2
+\setint{fontdimen(18)}{\int{supdrop}} % supdrop
+\setint{fontdimen(19)}{\int{subdrop}} % subdrop
+\setint{fontdimen(20)}{\int{delim1}} % delim 1
+\setint{fontdimen(21)}{\int{delim2}} % delim 2
+\setint{fontdimen(22)}{\int{axisheight}} % math axis height
+
+
+\begincomment
+\section{The encoding}
+\endcomment
+
+\setslotcomment{The Greek letter `\slotexample'.}
+\setslot{Gammaupright}\endsetslot
+\setslot{Deltaupright}\endsetslot
+\setslot{Thetaupright}\endsetslot
+\setslot{Lambdaupright}\endsetslot
+\setslot{Xiupright}\endsetslot
+\setslot{Piupright}\endsetslot
+\setslot{Sigmaupright}\endsetslot
+\setslot{Upsilonupright}\endsetslot
+\setslot{Phiupright}\endsetslot
+\setslot{Psiupright}\endsetslot
+\setslot{Omegaupright}\endsetslot
+\setslot{alphaupright}\endsetslot
+\setslot{betaupright}\endsetslot
+\setslot{gammaupright}\endsetslot
+\setslot{deltaupright}\endsetslot
+\setslot{epsilonupright}\endsetslot
+\setslot{zetaupright}\endsetslot
+\setslot{etaupright}\endsetslot
+\setslot{thetaupright}\endsetslot
+\setslot{iotaupright}\endsetslot
+\setslot{kappaupright}\endsetslot
+\setslot{lambdaupright}\endsetslot
+\setslot{muupright}\endsetslot
+\setslot{nuupright}\endsetslot
+\setslot{xiupright}\endsetslot
+\setslot{piupright}\endsetslot
+\setslot{rhoupright}\endsetslot
+\setslot{sigmaupright}\endsetslot
+\setslot{tauupright}\endsetslot
+\setslot{upsilonupright}\endsetslot
+\setslot{phiupright}\endsetslot
+\setslot{chiupright}\endsetslot
+\setslot{psiupright}\endsetslot
+\setslot{omegaupright}\endsetslot
+\setslot{epsilon1upright}\endsetslot
+\setslot{theta1upright}\endsetslot
+\setslot{pi1upright}\endsetslot
+\skipslots{2}
+\setslot{phi1upright}\endsetslot
+
+\nextslot{48}
+
+\resetslotcomment{The numeral `\slotexample'.}
+\setslot{zeroupright}\endsetslot
+\setslot{oneupright}\endsetslot
+\setslot{twoupright}\endsetslot
+\setslot{threeupright}\endsetslot
+\setslot{fourupright}\endsetslot
+\setslot{fiveupright}\endsetslot
+\setslot{sixupright}\endsetslot
+\setslot{sevenupright}\endsetslot
+\setslot{eightupright}\endsetslot
+\setslot{nineupright}\endsetslot
+
+\resetslotcomment{The symbol `\slotexample'.}
+\setslot{period}\endsetslot
+\setslot{comma}\endsetslot
+\setslot{less}\endsetslot
+\setslot{slash}\endsetslot
+\setslot{greater}\endsetslot
+\skipslots{1}
+\setslot{partialdiffupright}\endsetslot
+
+\nextslot{65}
+
+\resetslotcomment{The letter `\slotexample'.}
+\setslot{A}\endsetslot
+\setslot{B}\endsetslot
+\setslot{C}\endsetslot
+\setslot{D}\endsetslot
+\setslot{E}\endsetslot
+\setslot{F}\endsetslot
+\setslot{G}\endsetslot
+\setslot{H}\endsetslot
+\setslot{I}\endsetslot
+\setslot{J}\endsetslot
+\setslot{K}\endsetslot
+\setslot{L}\endsetslot
+\setslot{M}\endsetslot
+\setslot{N}\endsetslot
+\setslot{O}\endsetslot
+\setslot{P}\endsetslot
+\setslot{Q}\endsetslot
+\setslot{R}\endsetslot
+\setslot{S}\endsetslot
+\setslot{T}\endsetslot
+\setslot{U}\endsetslot
+\setslot{V}\endsetslot
+\setslot{W}\endsetslot
+\setslot{X}\endsetslot
+\setslot{Y}\endsetslot
+\setslot{Z}\endsetslot
+\skipslots{5}
+
+\setslot{lscript}\endsetslot
+\setslot{a}\endsetslot
+\setslot{b}\endsetslot
+\setslot{c}\endsetslot
+\setslot{d}\endsetslot
+\setslot{e}\endsetslot
+\setslot{f}\endsetslot
+\setslot{g}\endsetslot
+\setslot{h}\endsetslot
+\setslot{i}\endsetslot
+\setslot{j}\endsetslot
+\setslot{k}\endsetslot
+\setslot{l}\endsetslot
+\setslot{m}\endsetslot
+\setslot{n}\endsetslot
+\setslot{o}\endsetslot
+\setslot{p}\endsetslot
+\setslot{q}\endsetslot
+\setslot{r}\endsetslot
+\setslot{s}\endsetslot
+\setslot{t}\endsetslot
+\setslot{u}\endsetslot
+\setslot{v}\endsetslot
+\setslot{w}\endsetslot
+\setslot{x}\endsetslot
+\setslot{y}\endsetslot
+\setslot{z}\endsetslot
+\setslot{dotlessi}\endsetslot
+\setslot{dotlessj}\endsetslot
+\setslot{weierstrass}\endsetslot
+
+\nextslot{127}
+\setslot{skewchar}\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+12 October 2000, v\,1.915: Introduced intermediate variables for fontdimens
+8--22. Updated markup. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/euscr.etx b/Master/texmf-dist/tex/fontinst/mathetx/euscr.etx
new file mode 100644
index 00000000000..c5811f646c0
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/euscr.etx
@@ -0,0 +1,171 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Matthias Clasen and Ulrik Vieth",
+%%% version = "1.915",
+%%% date = "26 October 2000",
+%%% time = "11:30:00 CEST",
+%%% filename = "euscr.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/index.html",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the Euler Script encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\useexamplefont{eusm10}
+\showbranches
+
+\title{The AMS Euler Script encoding vector (\texttt{OMS}-subset)}
+\author{Matthias Clasen and Ulrik Vieth}
+
+\begin{document}
+\maketitle
+
+\encoding
+
+\needsfontinstversion{1.909}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{TEX MATH SYMBOLS SUBSET}
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\comment{The following font dimensions are taken from \texttt{eusm10}.}
+
+\setint{num1}{378}
+\setint{num2}{270}
+\setint{num3}{297}
+\setint{denom1}{378}
+\setint{denom2}{162}
+\setint{sup1}{405}
+\setint{sup2}{378}
+\setint{sup3}{324}
+\setint{sub1}{189}
+\setint{sub2}{243}
+\setint{supdrop}{405}
+\setint{subdrop}{27}
+\setint{delim1}{2198}
+\setint{delim2}{1000}
+\setint{axisheight}{257}
+
+\begincomment
+\section{Font dimensions}
+\endcomment
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{0} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{0} % extra space after .
+
+\setint{fontdimen(8)}{\int{num1}} % num 1
+\setint{fontdimen(9)}{\int{num2}} % num 2
+\setint{fontdimen(10)}{\int{num3}} % num 3
+\setint{fontdimen(11)}{\int{denom1}} % denom 1
+\setint{fontdimen(12)}{\int{denom2}} % denom 2
+\setint{fontdimen(13)}{\int{sup1}} % sup 1
+\setint{fontdimen(14)}{\int{sup2}} % sup 2
+\setint{fontdimen(15)}{\int{sup3}} % sup 3
+\setint{fontdimen(16)}{\int{sub1}} % sub 1
+\setint{fontdimen(17)}{\int{sub2}} % sub 2
+\setint{fontdimen(18)}{\int{supdrop}} % supdrop
+\setint{fontdimen(19)}{\int{subdrop}} % subdrop
+\setint{fontdimen(20)}{\int{delim1}} % delim 1
+\setint{fontdimen(21)}{\int{delim2}} % delim 2
+\setint{fontdimen(22)}{\int{axisheight}} % math axis height
+
+
+\begincomment
+\section{The encoding}
+\endcomment
+
+\setslotcomment{The symbol `\slotexample'.}
+
+\nextslot{24}
+\setslot{similar}\endsetslot
+
+\nextslot{48}
+\setslot{skewchar}\endsetslot
+
+\nextslot{58}
+\setslot{logicalnot}\endsetslot
+\nextslot{60}
+\setslot{Rfraktur}\endsetslot
+\setslot{Ifraktur}\endsetslot
+\nextslot{64}
+\setslot{aleph}\endsetslot
+
+\setslotcomment{The script letter `\slotexample'.}
+
+\nextslot{65}
+\setslot{Acal}\endsetslot
+\setslot{Bcal}\endsetslot
+\setslot{Ccal}\endsetslot
+\setslot{Dcal}\endsetslot
+\setslot{Ecal}\endsetslot
+\setslot{Fcal}\endsetslot
+\setslot{Gcal}\endsetslot
+\setslot{Hcal}\endsetslot
+\setslot{Ical}\endsetslot
+\setslot{Jcal}\endsetslot
+\setslot{Kcal}\endsetslot
+\setslot{Lcal}\endsetslot
+\setslot{Mcal}\endsetslot
+\setslot{Ncal}\endsetslot
+\setslot{Ocal}\endsetslot
+\setslot{Pcal}\endsetslot
+\setslot{Qcal}\endsetslot
+\setslot{Rcal}\endsetslot
+\setslot{Scal}\endsetslot
+\setslot{Tcal}\endsetslot
+\setslot{Ucal}\endsetslot
+\setslot{Vcal}\endsetslot
+\setslot{Wcal}\endsetslot
+\setslot{Xcal}\endsetslot
+\setslot{Ycal}\endsetslot
+\setslot{Zcal}\endsetslot
+
+\setslotcomment{The symbol `\slotexample'.}
+
+\nextslot{94}
+\setslot{logicaland}\endsetslot
+\setslot{logicalor}\endsetslot
+\nextslot{102}
+\setslot{braceleft}\endsetslot
+\setslot{braceright}\endsetslot
+\nextslot{106}
+\setslot{bar}\endsetslot
+\nextslot{110}
+\setslot{backslash}\endsetslot
+\nextslot{120}
+\setslot{section}\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+12 October 2000, v\,1.915: Introduced intermediate variables for fontdimens
+8--22. Updated markup. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/msam.etx b/Master/texmf-dist/tex/fontinst/mathetx/msam.etx
new file mode 100644
index 00000000000..89a38dedfb2
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/msam.etx
@@ -0,0 +1,636 @@
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}
+\usepackage{amssymb}
+\usepackage{multicol}
+
+\title{The AMS \texttt{msam} symbol encoding vector}
+\author{Mattias Clasen, modifications by Ulrik Vieth}
+
+\begin{document}
+\onecolumn
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the AMS \texttt{msam} symbol encoding, which
+is unfortunately called \texttt{TEX MATH SYMBOLS} in the \texttt{.tfm}
+files although it has nothing to do with the encoding of
+\texttt{cmsy}. To overcome this difficulty use e.g.\ \texttt{msam10}
+like
+\begin{quote}
+ \textellipsis
+ \verb|,\metrics\generalpltomtx{msam10}{msam10}{pl}{msam},msam10,|%
+ \textellipsis
+\end{quote}
+in the \textit{file list} argument of \verb+\installfont+, or generate
+the \texttt{.mtx} file at some point before the \verb|\installfont|
+command.
+
+Most glyph names were revised to match the names used in the
+\texttt{.afm} files of the BlueSky Type~1 fonts, except for a few
+cases where those glyph names were found to be confusing or
+misleading.
+
+\showbranches
+
+\begin{multicols}{2}
+
+\encoding
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{AMS Math Symbols, Part A}
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\comment{The following font dimension defaults are taken from
+\texttt{cmsy10}.}
+
+\setint{num1}{677}
+\setint{num2}{394}
+\setint{num3}{444}
+\setint{denom1}{686}
+\setint{denom2}{345}
+\setint{sup1}{413}
+\setint{sup2}{363}
+\setint{sup3}{289}
+\setint{sub1}{150}
+\setint{sub2}{247}
+\setint{supdrop}{386}
+\setint{subdrop}{50}
+\setint{delim1}{2390}
+\setint{delim2}{1010}
+\setint{axisheight}{250}
+
+
+\begincomment
+\section{Default font dimensions}
+\endcomment
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{0} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{0} % extra space after .
+
+\setint{fontdimen(8)}{\int{num1}} % num 1
+\setint{fontdimen(9)}{\int{num2}} % num 2
+\setint{fontdimen(10)}{\int{num3}} % num 3
+\setint{fontdimen(11)}{\int{denom1}} % denom 1
+\setint{fontdimen(12)}{\int{denom2}} % denom 2
+\setint{fontdimen(13)}{\int{sup1}} % sup 1
+\setint{fontdimen(14)}{\int{sup2}} % sup 2
+\setint{fontdimen(15)}{\int{sup3}} % sup 3
+\setint{fontdimen(16)}{\int{sub1}} % sub 1
+\setint{fontdimen(17)}{\int{sub2}} % sub 2
+\setint{fontdimen(18)}{\int{supdrop}} % supdrop
+\setint{fontdimen(19)}{\int{subdrop}} % subdrop
+\setint{fontdimen(20)}{\int{delim1}} % delim 1
+\setint{fontdimen(21)}{\int{delim2}} % delim 2
+\setint{fontdimen(22)}{\int{axisheight}} % math axis height
+
+
+\begincomment
+\section{The encoding}
+There are 128 glyphs in this encoding.
+\endcomment
+
+\setslot{squaredot}
+ \comment{The symbol `$\boxdot$'.}
+\endsetslot
+
+\setslot{squareplus}
+ \comment{The symbol `$\boxplus$'.}
+\endsetslot
+
+\setslot{squaremultiply}
+ \comment{The symbol `$\boxtimes$'.}
+\endsetslot
+
+\setslot{square}
+ \comment{The symbol `$\square$'.}
+\endsetslot
+
+\setslot{squaresolid}
+ \comment{The symbol `$\blacksquare$'.}
+\endsetslot
+
+\setslot{squaresmallsolid}
+ \comment{The symbol `$\centerdot$'.}
+\endsetslot
+
+\setslot{lozenge}
+ \comment{The symbol `$\lozenge$'.}
+\endsetslot
+
+\setslot{lozengesolid}
+ \comment{The symbol `$\blacklozenge$'.}
+\endsetslot
+
+\setslot{clockwise}
+ \comment{The symbol `$\circlearrowright$'.}
+\endsetslot
+
+\setslot{anticlockwise}
+ \comment{The symbol `$\circlearrowleft$'.}
+\endsetslot
+
+\setslot{harpoonleftright}
+ \comment{The symbol `$\rightleftharpoons$'.}
+\endsetslot
+
+\setslot{harpoonrightleft}
+ \comment{The symbol `$\leftrightharpoons$'.}
+\endsetslot
+
+\setslot{squareminus}
+ \comment{The symbol `$\boxminus$'.}
+\endsetslot
+
+\setslot{forces}
+ \comment{The symbol `$\Vdash$'.}
+\endsetslot
+
+\setslot{forcesbar}
+ \comment{The symbol `$\Vvdash$'.}
+\endsetslot
+
+\setslot{satisfies}
+ \comment{The symbol `$\vDash$'.}
+\endsetslot
+
+\setslot{dblarrowheadright}
+ \comment{The symbol `$\twoheadrightarrow$'.}
+\endsetslot
+
+\setslot{dblarrowheadleft}
+ \comment{The symbol `$\twoheadleftarrow$'.}
+\endsetslot
+
+\setslot{dblarrowleft}
+ \comment{The symbol `$\leftleftarrows$'.}
+\endsetslot
+
+\setslot{dblarrowright}
+ \comment{The symbol `$\rightrightarrows$'.}
+\endsetslot
+
+\setslot{dblarrowup}
+ \comment{The symbol `$\upuparrows$'.}
+\endsetslot
+
+\setslot{dblarrowdown}
+ \comment{The symbol `$\downdownarrows$'.}
+\endsetslot
+
+\setslot{harpoonupright}
+ \comment{The symbol `$\upharpoonright$'.}
+\endsetslot
+
+\setslot{harpoondownright}
+ \comment{The symbol `$\downharpoonright$'.}
+\endsetslot
+
+\setslot{harpoonupleft}
+ \comment{The symbol `$\upharpoonleft$'.}
+\endsetslot
+
+\setslot{harpoondownleft}
+ \comment{The symbol `$\downharpoonleft$'.}
+\endsetslot
+
+\setslot{arrowtailright}
+ \comment{The symbol `$\rightarrowtail$'.}
+\endsetslot
+
+\setslot{arrowtailleft}
+ \comment{The symbol `$\leftarrowtail$'.}
+\endsetslot
+
+\setslot{arrowparrleftright}
+ \comment{The symbol `$\leftrightarrows$'.}
+\endsetslot
+
+\setslot{arrowparrrightleft}
+ \comment{The symbol `$\rightleftarrows$'.}
+\endsetslot
+
+\setslot{shiftleft}
+ \comment{The symbol `$\Lsh$'.}
+\endsetslot
+
+\setslot{shiftright}
+ \comment{The symbol `$\Rsh$'.}
+\endsetslot
+
+\setslot{squiggleright}
+ \comment{The symbol `$\rightsquigarrow$'.}
+\endsetslot
+
+\setslot{squiggleleftright}
+ \comment{The symbol `$\leftrightsquigarrow$'.}
+\endsetslot
+
+\setslot{curlyleft}
+ \comment{The symbol `$\looparrowleft$'.}
+\endsetslot
+
+\setslot{curlyright}
+ \comment{The symbol `$\looparrowright$'.}
+\endsetslot
+
+\setslot{circleequal}
+ \comment{The symbol `$\circeq$'.}
+\endsetslot
+
+\setslot{followsorsimilar} % was: followsorequal
+ \comment{The symbol `$\succsim$'.}
+\endsetslot
+
+\setslot{greaterorsimilar}
+ \comment{The symbol `$\gtrsim$'.}
+\endsetslot
+
+\setslot{greaterorapproxeql}
+ \comment{The symbol `$\gtrapprox$'.}
+\endsetslot
+
+\setslot{multimap}
+ \comment{The symbol `$\multimap$'.}
+\endsetslot
+
+\setslot{therefore}
+ \comment{The symbol `$\therefore$'.}
+\endsetslot
+
+\setslot{because}
+ \comment{The symbol `$\because$'.}
+\endsetslot
+
+\setslot{equalsdots}
+ \comment{The symbol `$\doteqdot$'.}
+\endsetslot
+
+\setslot{defines}
+ \comment{The symbol `$\triangleq$'.}
+\endsetslot
+
+\setslot{precedesorsimilar} % was: precedesorequal
+ \comment{The symbol `$\precsim$'.}
+\endsetslot
+
+\setslot{lessorsimilar}
+ \comment{The symbol `$\lesssim$'.}
+\endsetslot
+
+\setslot{lessorapproxeql}
+ \comment{The symbol `$\lessapprox$'.}
+\endsetslot
+
+\setslot{equalslantorless} % was: equalorless
+ \comment{The symbol `$\eqslantless$'.}
+\endsetslot
+
+\setslot{equalslantorgreater} % was: equaulorgreater
+ \comment{The symbol `$\eqslantgtr$'.}
+\endsetslot
+
+\setslot{curlyorprecedes} % was: equalorprecedes
+ \comment{The symbol `$\curlyeqprec$'.}
+\endsetslot
+
+\setslot{curlyorfollows} % was: equalorfollows
+ \comment{The symbol `$\curlyeqsucc$'.}
+\endsetslot
+
+\setslot{precedesorcurly}
+ \comment{The symbol `$\preccurlyeq$'.}
+\endsetslot
+
+\setslot{lessdblequal}
+ \comment{The symbol `$\leqq$'.}
+\endsetslot
+
+\setslot{lessorequalslant}
+ \comment{The symbol `$\leqslant$'.}
+\endsetslot
+
+\setslot{lessorgreater}
+ \comment{The symbol `$\lessgtr$'.}
+\endsetslot
+
+\setslot{primereverse}
+ \comment{The symbol `$\backprime$'.}
+\endsetslot
+
+\setslot{arrowaxishorizex} % axisshort
+ \comment{The extension piece to construct dashed arrows.}
+\endsetslot
+
+\setslot{equaldotrightleft}
+ \comment{The symbol `$\risingdotseq$'.}
+\endsetslot
+
+\setslot{equaldotleftright}
+ \comment{The symbol `$\fallingdotseq$'.}
+\endsetslot
+
+\setslot{followsorcurly}
+ \comment{The symbol `$\succcurlyeq$'.}
+\endsetslot
+
+\setslot{greaterdblequal}
+ \comment{The symbol `$\geqq$'.}
+\endsetslot
+
+\setslot{greaterorequalslant}
+ \comment{The symbol `$\geqslant$'.}
+\endsetslot
+
+\setslot{greaterorless}
+ \comment{The symbol `$\gtrless$'.}
+\endsetslot
+
+\setslot{squareimage}
+ \comment{The symbol `$\sqsubset$'.}
+\endsetslot
+
+\setslot{squareoriginal}
+ \comment{The symbol `$\sqsupset$'.}
+\endsetslot
+
+\setslot{vartriangleright}
+ \comment{The symbol `$\vartriangleright$'.}
+\endsetslot
+
+\setslot{vartriangleleft}
+ \comment{The symbol `$\vartriangleleft$'.}
+\endsetslot
+
+\setslot{trianglerightequal}
+ \comment{The symbol `$\trianglerighteq$'.}
+\endsetslot
+
+\setslot{triangleleftequal}
+ \comment{The symbol `$\trianglelefteq$'.}
+\endsetslot
+
+\setslot{bigstar}
+ \comment{The symbol `$\bigstar$'.}
+\endsetslot
+
+\setslot{between}
+ \comment{The symbol `$\between$'.}
+\endsetslot
+
+\setslot{triangledownsld}
+ \comment{The symbol `$\blacktriangledown$'.}
+\endsetslot
+
+\setslot{trianglerightsld}
+ \comment{The symbol `$\blacktriangleright$'.}
+\endsetslot
+
+\setslot{triangleleftsld}
+ \comment{The symbol `$\blacktriangleleft$'.}
+\endsetslot
+
+\setslot{arrowaxisright}
+ \comment{The right arrowhead to construct dashed arrows.}
+\endsetslot
+
+\setslot{arrowaxisleft}
+ \comment{The left arrowhead to construct dashed arrows.}
+\endsetslot
+
+\setslot{triangleup}
+ \comment{The symbol `$\vartriangle$'.}
+\endsetslot
+
+\setslot{trianglesolid}
+ \comment{The symbol `$\blacktriangle$'.}
+\endsetslot
+
+\setslot{triangledown} % triangleinv ?
+ \comment{The symbol `$\triangledown$'.}
+\endsetslot
+
+\setslot{ringinequal}
+ \comment{The symbol `$\eqcirc$'.}
+\endsetslot
+
+\setslot{lessequalgreater}
+ \comment{The symbol `$\lesseqgtr$'.}
+\endsetslot
+
+\setslot{greaterequalless}
+ \comment{The symbol `$\gtreqless$'.}
+\endsetslot
+
+\setslot{lessdbleqlgreater}
+ \comment{The symbol `$\lesseqqgtr$'.}
+\endsetslot
+
+\setslot{greaterdbleqlless}
+ \comment{The symbol `$\gtreqqless$'.}
+\endsetslot
+
+\setslot{Yen}
+ \comment{The symbol `$\yen$'.}
+\endsetslot
+
+\setslot{arrowtripleright}
+ \comment{The symbol `$\Rrightarrow$'.}
+\endsetslot
+
+\setslot{arrowtripleleft}
+ \comment{The symbol `$\Lleftarrow$'.}
+\endsetslot
+
+\setslot{check}
+ \comment{The symbol `$\checkmark$'.}
+\endsetslot
+
+\setslot{orunderscore}
+ \comment{The symbol `$\veebar$'.}
+\endsetslot
+
+\setslot{nand}
+ \comment{The symbol `$\barwedge$'.}
+\endsetslot
+
+\setslot{perpcorrespond}
+ \comment{The symbol `$\doublebarwedge$'.}
+\endsetslot
+
+\setslot{angle}
+ \comment{The symbol `$\angle$'.}
+\endsetslot
+
+\setslot{measuredangle}
+ \comment{The symbol `$\measuredangle$'.}
+\endsetslot
+
+\setslot{sphericalangle}
+ \comment{The symbol `$\sphericalangle$'.}
+\endsetslot
+
+\setslot{proportional}
+ \comment{The symbol `$\varpropto$'.}
+\endsetslot
+
+\setslot{slurbelow} % smile ???
+ \comment{The symbol `$\smallsmile$'.}
+\endsetslot
+
+\setslot{slurabove} % frown ???
+ \comment{The symbol `$\smallfrown$'.}
+\endsetslot
+
+\setslot{subsetdbl}
+ \comment{The symbol `$\Subset$'.}
+\endsetslot
+
+\setslot{supersetdbl}
+ \comment{The symbol `$\Supset$'.}
+\endsetslot
+
+\setslot{uniondbl}
+ \comment{The symbol `$\Cup$'.}
+\endsetslot
+
+\setslot{intersectiondbl}
+ \comment{The symbol `$\Cap$'.}
+\endsetslot
+
+\setslot{uprise}
+ \comment{The symbol `$\curlywedge$'.}
+\endsetslot
+
+\setslot{downfall}
+ \comment{The symbol `$\curlyvee$'.}
+\endsetslot
+
+\setslot{multiopenleft}
+ \comment{The symbol `$\leftthreetimes$'.}
+\endsetslot
+
+\setslot{multiopenright}
+ \comment{The symbol `$\rightthreetimes$'.}
+\endsetslot
+
+\setslot{subsetdblequal}
+ \comment{The symbol `$\subseteqq$'.}
+\endsetslot
+
+\setslot{supersetdblequal}
+ \comment{The symbol `$\supseteqq$'.}
+\endsetslot
+
+\setslot{difference}
+ \comment{The symbol `$\bumpeq$'.}
+\endsetslot
+
+\setslot{geomequivalent}
+ \comment{The symbol `$\Bumpeq$'.}
+\endsetslot
+
+\setslot{muchless}
+ \comment{The symbol `$\lll$'.}
+\endsetslot
+
+\setslot{muchgreater}
+ \comment{The symbol `$\ggg$'.}
+\endsetslot
+
+\setslot{rightanglenw}
+ \comment{The symbol `$\ulcorner$'.}
+\endsetslot
+
+\setslot{rightanglene}
+ \comment{The symbol `$\urcorner$'.}
+\endsetslot
+
+\setslot{circledR} % circleR
+ \comment{The symbol `$\circledR$'.}
+\endsetslot
+
+\setslot{circledS} % circleS
+ \comment{The symbol `$\circledS$'.}
+\endsetslot
+
+\setslot{fork}
+ \comment{The symbol `$\pitchfork$'.}
+\endsetslot
+
+\setslot{dotplus}
+ \comment{The symbol `$\dotplus$'.}
+\endsetslot
+
+\setslot{revsimilar}
+ \comment{The symbol `$\backsim$'.}
+\endsetslot
+
+\setslot{revasymptequal}
+ \comment{The symbol `$\backsimeq$'.}
+\endsetslot
+
+\setslot{rightanglesw}
+ \comment{The symbol `$\llcorner$'.}
+\endsetslot
+
+\setslot{rightanglese}
+ \comment{The symbol `$\lrcorner$'.}
+\endsetslot
+
+\setslot{maltesecross}
+ \comment{The symbol `$\maltese$'.}
+\endsetslot
+
+\setslot{complement}
+ \comment{The symbol `$\complement$'.}
+\endsetslot
+
+\setslot{intercal}
+ \comment{The symbol `$\intercal$'.}
+\endsetslot
+
+\setslot{circlecirc} % circlering ???
+ \comment{The symbol `$\circledcirc$'.}
+\endsetslot
+
+\setslot{circleasterisk}
+ \comment{The symbol `$\circledast$'.}
+\endsetslot
+
+\setslot{circledash} % circleminus ???
+ \comment{The symbol `$\circleddash$'.}
+\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+2001/01/10: File added to \textsf{fontinst} distribution, description
+of workaround for codingscheme bug in \texttt{msam} fonts changed,
+intermediate variables for fontdimens 8--22 introduced, and some minor
+markup changes were made. (LH)
+
+\end{multicols}
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/msbm.etx b/Master/texmf-dist/tex/fontinst/mathetx/msbm.etx
new file mode 100644
index 00000000000..d58bd8cfb2e
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/msbm.etx
@@ -0,0 +1,619 @@
+\relax
+
+\documentclass[twocolumn]{article}
+
+\usepackage{fontdoc}
+\usepackage{amssymb}
+\usepackage{multicol}
+
+\title{The AMS \texttt{msbm} symbol encoding vector}
+\author{Mattias Clasen, modifications by Ulrik Vieth}
+
+\begin{document}\onecolumn
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the AMS \texttt{msbm} symbol encoding, which
+is unfortunately called \texttt{TEX MATH SYMBOLS} in the \texttt{.tfm}
+files although it has nothing to do with the encoding of
+\texttt{cmsy}. To overcome this difficulty use e.g.\ \texttt{msbm10}
+like
+\begin{quote}
+ \textellipsis
+ \verb|,\metrics\generalpltomtx{msbm10}{msbm10}{pl}{msbm},msbm10,|%
+ \textellipsis
+\end{quote}
+in the \textit{file list} argument of \verb+\installfont+, or generate
+the \texttt{.mtx} file at some point before the \verb|\installfont|
+command.
+
+Most glyph names were revised to match the names used in the
+\texttt{.afm} files of the BlueSky Type~1 fonts, except for a few
+cases where those glyph names were found to be confusing or
+misleading.
+
+\showbranches
+\begin{multicols}{2}
+
+\encoding
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{AMS Math Symbols, Part B}
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\comment{The following font dimension defaults are taken from
+\texttt{cmsy10}.}
+
+\setint{num1}{677}
+\setint{num2}{394}
+\setint{num3}{444}
+\setint{denom1}{686}
+\setint{denom2}{345}
+\setint{sup1}{413}
+\setint{sup2}{363}
+\setint{sup3}{289}
+\setint{sub1}{150}
+\setint{sub2}{247}
+\setint{supdrop}{386}
+\setint{subdrop}{50}
+\setint{delim1}{2390}
+\setint{delim2}{1010}
+\setint{axisheight}{250}
+
+
+\begincomment
+\section{Default font dimensions}
+\endcomment
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{0} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{0} % extra space after .
+
+\setint{fontdimen(8)}{\int{num1}} % num 1
+\setint{fontdimen(9)}{\int{num2}} % num 2
+\setint{fontdimen(10)}{\int{num3}} % num 3
+\setint{fontdimen(11)}{\int{denom1}} % denom 1
+\setint{fontdimen(12)}{\int{denom2}} % denom 2
+\setint{fontdimen(13)}{\int{sup1}} % sup 1
+\setint{fontdimen(14)}{\int{sup2}} % sup 2
+\setint{fontdimen(15)}{\int{sup3}} % sup 3
+\setint{fontdimen(16)}{\int{sub1}} % sub 1
+\setint{fontdimen(17)}{\int{sub2}} % sub 2
+\setint{fontdimen(18)}{\int{supdrop}} % supdrop
+\setint{fontdimen(19)}{\int{subdrop}} % subdrop
+\setint{fontdimen(20)}{\int{delim1}} % delim 1
+\setint{fontdimen(21)}{\int{delim2}} % delim 2
+\setint{fontdimen(22)}{\int{axisheight}} % math axis height
+
+
+\begincomment
+\section{The encoding}
+There are 128 glyphs in this encoding.
+\endcomment
+
+\setslot{lessnotvertequal} % lessornotequal
+ \comment{The symbol `$\lvertneqq$'.}
+\endsetslot
+
+\setslot{greaternotvertequal} % greaterornotequal
+ \comment{The symbol `$\gvertneqq$'.}
+\endsetslot
+
+\setslot{notlessequal}
+ \comment{The symbol `$\nleq$'.}
+\endsetslot
+
+\setslot{notgreaterequal}
+ \comment{The symbol `$\ngeq$'.}
+\endsetslot
+
+\setslot{notless}
+ \comment{The symbol `$\nless$'.}
+\endsetslot
+
+\setslot{notgreater}
+ \comment{The symbol `$\ngtr$'.}
+\endsetslot
+
+\setslot{notprecedes}
+ \comment{The symbol `$\nprec$'.}
+\endsetslot
+
+\setslot{notfollows}
+ \comment{The symbol `$\nsucc$'.}
+\endsetslot
+
+\setslot{lessornotdbleql}
+ \comment{The symbol `$\lneqq$'.}
+\endsetslot
+
+\setslot{greaterornotdbleql}
+ \comment{The symbol `$\gneqq$'.}
+\endsetslot
+
+\setslot{notlessorequalslant} % was: notlessorslnteql
+ \comment{The symbol `$\nleqslant$'.}
+\endsetslot
+
+\setslot{notgreaterorequalslant} % was: notgreaterorslnteql
+ \comment{The symbol `$\ngeqslant$'.}
+\endsetslot
+
+\setslot{lessnotequal}
+ \comment{The symbol `$\lneq$'.}
+\endsetslot
+
+\setslot{greaternotequal}
+ \comment{The symbol `$\gneq$'.}
+\endsetslot
+
+\setslot{notprecedesoreql}
+ \comment{The symbol `$\npreceq$'.}
+\endsetslot
+
+\setslot{notfollowsoreql}
+ \comment{The symbol `$\nsucceq$'.}
+\endsetslot
+
+\setslot{precedesornotsimilar} % was: precedesornoteqvlnt
+ \comment{The symbol `$\precnsim$'.}
+\endsetslot
+
+\setslot{followsornotsimilar} % was: followornoteqvlnt
+ \comment{The symbol `$\succnsim$'.}
+\endsetslot
+
+\setslot{lessornotsimilar}
+ \comment{The symbol `$\lnsim$'.}
+\endsetslot
+
+\setslot{greaterornotsimilar}
+ \comment{The symbol `$\gnsim$'.}
+\endsetslot
+
+\setslot{notlessdblequal}
+ \comment{The symbol `$\nleqq$'.}
+\endsetslot
+
+\setslot{notgreaterdblequal}
+ \comment{The symbol `$\ngeqq$'.}
+\endsetslot
+
+\setslot{precedesnotdbleql} % was: precedesnotslnteql
+ \comment{The symbol `$\precneqq$'.}
+\endsetslot
+
+\setslot{followsnotdbleql} % was: followsnotslnteql
+ \comment{The symbol `$\succneqq$'.}
+\endsetslot
+
+\setslot{precedesnotapproxeql} % was: precedesnotdbleqv
+ \comment{The symbol `$\precnapprox$'.}
+\endsetslot
+
+\setslot{followsnotapproxeql} % was: followsnotdbleqv
+ \comment{The symbol `$\succnapprox$'.}
+\endsetslot
+
+\setslot{lessnotapproxeql} % was: lessnotdblequal
+ \comment{The symbol `$\lnapprox$'.}
+\endsetslot
+
+\setslot{greaternotapproxeql} % was: greaternotdblequal
+ \comment{The symbol `$\gnapprox$'.}
+\endsetslot
+
+\setslot{notsimilar}
+ \comment{The symbol `$\nsim$'.}
+\endsetslot
+
+\setslot{notcongruent} % was: notapproxequual
+ \comment{The symbol `$\ncong$'.}
+\endsetslot
+
+\setslot{upslope}
+ \comment{The symbol `$\diagup$'.}
+\endsetslot
+
+\setslot{downslope}
+ \comment{The symbol `$\diagdown$'.}
+\endsetslot
+
+\setslot{notsubsetoreql}
+ \comment{The symbol `$\varsubsetneq$'.}
+\endsetslot
+
+\setslot{notsupersetoreql}
+ \comment{The symbol `$\varsupsetneq$'.}
+\endsetslot
+
+\setslot{notsubsetordbleql}
+ \comment{The symbol `$\nsubseteqq$'.}
+\endsetslot
+
+\setslot{notsupersetordbleql}
+ \comment{The symbol `$\nsupseteqq$'.}
+\endsetslot
+
+\setslot{subsetornoteql}
+ \comment{The symbol `$\varsubsetneqq$'.}
+\endsetslot
+
+\setslot{supersetornoteql}
+ \comment{The symbol `$\varsupsetneqq$'.}
+\endsetslot
+
+\setslot{subsetornotdbleql}
+ \comment{The symbol `$\subsetneqq$'.}
+\endsetslot
+
+\setslot{supersetornotdbleql}
+ \comment{The symbol `$\supsetneqq$'.}
+\endsetslot
+
+\setslot{subsetnoteql}
+ \comment{The symbol `$\subsetneq$'.}
+\endsetslot
+
+\setslot{supersetnoteql}
+ \comment{The symbol `$\supsetneq$'.}
+\endsetslot
+
+\setslot{notsubseteql}
+ \comment{The symbol `$\nsubseteq$'.}
+\endsetslot
+
+\setslot{notsuperseteql}
+ \comment{The symbol `$\nsupseteq$'.}
+\endsetslot
+
+\setslot{notparallel}
+ \comment{The symbol `$\nparallel$'.}
+\endsetslot
+
+\setslot{notbar}
+ \comment{The symbol `$\nmid$'.}
+\endsetslot
+
+\setslot{notshortbar}
+ \comment{The symbol `$\nshortmid$'.}
+\endsetslot
+
+\setslot{notshortparallel}
+ \comment{The symbol `$\nshortparallel$'.}
+\endsetslot
+
+\setslot{notturnstile}
+ \comment{The symbol `$\nvdash$'.}
+\endsetslot
+
+\setslot{notforces}
+ \comment{The symbol `$\nVdash$'.}
+\endsetslot
+
+\setslot{notsatisfies}
+ \comment{The symbol `$\nvDash$'.}
+\endsetslot
+
+\setslot{notforcesextra}
+ \comment{The symbol `$\nVDash$'.}
+\endsetslot
+
+\setslot{nottriangeqlright}
+ \comment{The symbol `$\ntrianglerighteq$'.}
+\endsetslot
+
+\setslot{nottriangeqlleft}
+ \comment{The symbol `$\ntrianglelefteq$'.}
+\endsetslot
+
+\setslot{nottriangleleft}
+ \comment{The symbol `$\ntriangleleft$'.}
+\endsetslot
+
+\setslot{nottriangleright}
+ \comment{The symbol `$\ntriangleright$'.}
+\endsetslot
+
+\setslot{notarrowleft}
+ \comment{The symbol `$\nleftarrow$'.}
+\endsetslot
+
+\setslot{notarrowright}
+ \comment{The symbol `$\nrightarrow$'.}
+\endsetslot
+
+\setslot{notdblarrowleft}
+ \comment{The symbol `$\nLeftarrow$'.}
+\endsetslot
+
+\setslot{notdblarrowright}
+ \comment{The symbol `$\nRightarrow$'.}
+\endsetslot
+
+\setslot{notdblarrowboth}
+ \comment{The symbol `$\nLeftrightarrow$'.}
+\endsetslot
+
+\setslot{notarrowboth}
+ \comment{The symbol `$\nleftrightarrow$'.}
+\endsetslot
+
+\setslot{dividemultiply}
+ \comment{The symbol `$\divideontimes$'.}
+\endsetslot
+
+\setslot{emptyset}
+ \comment{The symbol `$\varnothing$'.}
+\endsetslot
+
+\setslot{notexistential}
+ \comment{The symbol `$\nexists$'.}
+\endsetslot
+
+\setslot{Abbb}
+ \comment{The letter `$\mathbb{A}$'.}
+\endsetslot
+
+\setslot{Bbbb}
+ \comment{The letter `$\mathbb{B}$'.}
+\endsetslot
+
+\setslot{Cbbb}
+ \comment{The letter `$\mathbb{C}$'.}
+\endsetslot
+
+\setslot{Dbbb}
+ \comment{The letter `$\mathbb{D}$'.}
+\endsetslot
+
+\setslot{Ebbb}
+ \comment{The letter `$\mathbb{E}$'.}
+\endsetslot
+
+\setslot{Fbbb}
+ \comment{The letter `$\mathbb{F}$'.}
+\endsetslot
+
+\setslot{Gbbb}
+ \comment{The letter `$\mathbb{G}$'.}
+\endsetslot
+
+\setslot{Hbbb}
+ \comment{The letter `$\mathbb{H}$'.}
+\endsetslot
+
+\setslot{Ibbb}
+ \comment{The letter `$\mathbb{I}$'.}
+\endsetslot
+
+\setslot{Jbbb}
+ \comment{The letter `$\mathbb{J}$'.}
+\endsetslot
+
+\setslot{Kbbb}
+ \comment{The letter `$\mathbb{K}$'.}
+\endsetslot
+
+\setslot{Lbbb}
+ \comment{The letter `$\mathbb{L}$'.}
+\endsetslot
+
+\setslot{Mbbb}
+ \comment{The letter `$\mathbb{M}$'.}
+\endsetslot
+
+\setslot{Nbbb}
+ \comment{The letter `$\mathbb{N}$'.}
+\endsetslot
+
+\setslot{Obbb}
+ \comment{The letter `$\mathbb{O}$'.}
+\endsetslot
+
+\setslot{Pbbb}
+ \comment{The letter `$\mathbb{P}$'.}
+\endsetslot
+
+\setslot{Qbbb}
+ \comment{The letter `$\mathbb{Q}$'.}
+\endsetslot
+
+\setslot{Rbbb}
+ \comment{The letter `$\mathbb{R}$'.}
+\endsetslot
+
+\setslot{Sbbb}
+ \comment{The letter `$\mathbb{S}$'.}
+\endsetslot
+
+\setslot{Tbbb}
+ \comment{The letter `$\mathbb{T}$'.}
+\endsetslot
+
+\setslot{Ubbb}
+ \comment{The letter `$\mathbb{U}$'.}
+\endsetslot
+
+\setslot{Vbbb}
+ \comment{The letter `$\mathbb{V}$'.}
+\endsetslot
+
+\setslot{Wbbb}
+ \comment{The letter `$\mathbb{W}$'.}
+\endsetslot
+
+\setslot{Xbbb}
+ \comment{The letter `$\mathbb{X}$'.}
+\endsetslot
+
+\setslot{Ybbb}
+ \comment{The letter `$\mathbb{Y}$'.}
+\endsetslot
+
+\setslot{Zbbb}
+ \comment{The letter `$\mathbb{Z}$'.}
+\endsetslot
+
+\setslot{hatwide}
+ \nextlarger{hatwider}
+\endsetslot
+
+\setslot{hatwider}
+\endsetslot
+
+\setslot{tildewide}
+ \nextlarger{tildewider}
+\endsetslot
+
+\setslot{tildewider}
+\endsetslot
+
+\nextslot{96}
+
+\setslot{Finv}
+ \comment{The symbol `$\Finv$'.}
+\endsetslot
+
+\setslot{Gmir}
+ \comment{The symbol `$\Game$'.}
+\endsetslot
+
+\nextslot{102}
+
+\setslot{Omegainv}
+ \comment{The symbol `$\mho$'.}
+\endsetslot
+
+\setslot{eth}
+ \comment{The symbol `$\eth$'.}
+\endsetslot
+
+\setslot{equalorsimilar}
+ \comment{The symbol `$\eqsim$'.}
+\endsetslot
+
+\setslot{beth}
+ \comment{The symbol `$\beth$'.}
+\endsetslot
+
+\setslot{gimel}
+ \comment{The symbol `$\gimel$'.}
+\endsetslot
+
+\setslot{daleth}
+ \comment{The symbol `$\daleth$'.}
+\endsetslot
+
+\setslot{lessdot}
+ \comment{The symbol `$\lessdot$'.}
+\endsetslot
+
+\setslot{greaterdot}
+ \comment{The symbol `$\gtrdot$'.}
+\endsetslot
+
+\setslot{multicloseleft}
+ \comment{The symbol `$\ltimes$'.}
+\endsetslot
+
+\setslot{multicloseright}
+ \comment{The symbol `$\rtimes$'.}
+\endsetslot
+
+\setslot{shortbar} % was: barshort
+ \comment{The symbol `$\shortmid$'.}
+\endsetslot
+
+\setslot{shortparallel} % was: parallelshort
+ \comment{The symbol `$\shortparallel$'.}
+\endsetslot
+
+\setslot{integerdivide}
+ \comment{The symbol `$\smallsetminus$'.}
+\endsetslot
+
+\setslot{thicksimilar} % similar ???
+ \comment{The symbol `$\thicksim$'.}
+\endsetslot
+
+\setslot{thickapproxequal} % approxequal ???
+ \comment{The symbol `$\thickapprox$'.}
+\endsetslot
+
+\setslot{approxorequal}
+ \comment{The symbol `$\approxeq$'.}
+\endsetslot
+
+\setslot{followsorapproxeql} % was: followsorequal
+ \comment{The symbol `$\succapprox$'.}
+\endsetslot
+
+\setslot{precedesorapproxeql} % was: precedesorequal
+ \comment{The symbol `$\precapprox$'.}
+\endsetslot
+
+\setslot{archleftdown}
+ \comment{The symbol `$\curvearrowleft$'.}
+\endsetslot
+
+\setslot{archrightdown}
+ \comment{The symbol `$\curvearrowright$'.}
+\endsetslot
+
+\setslot{digamma}
+ \comment{The symbol `$\digamma$'.}
+\endsetslot
+
+\setslot{kappa1}
+ \comment{The symbol `$\varkappa$'.}
+\endsetslot
+
+\setslot{kbbb}
+ \comment{The symbol `$\Bbbk$'.}
+\endsetslot
+
+\setslot{hslash}
+ \comment{The symbol `$\hslash$'.}
+\endsetslot
+
+\setslot{hbar}
+ \comment{The symbol `$\hbar$'.}
+\endsetslot
+
+\setslot{suchthat} % was: epsiloninv
+ \comment{The symbol `$\backepsilon$'.}
+\endsetslot
+
+\endencoding
+
+
+\section{Changes}
+
+2001/01/10: File added to \textsf{fontinst} distribution, description
+of workaround for codingscheme bug in \texttt{msbm} fonts changed,
+intermediate variables for fontdimens 8--22 introduced, and some minor
+markup changes were made. (LH)
+
+\end{multicols}
+\end{document}
+
+
+
+
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/oml.etx b/Master/texmf-dist/tex/fontinst/mathetx/oml.etx
new file mode 100644
index 00000000000..eee628677af
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/oml.etx
@@ -0,0 +1,625 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.921",
+%%% date = "2002-07-27",
+%%% time = "01:19:07 +02:00",
+%%% filename = "oml.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/index.html",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the old math italic encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\title{The \TeX\ math italic encoding vector}
+\author{Alan Jeffrey, Ulrik Vieth, Lars Hellstr\"om}
+\date{27 July 2002\\Version 1.921}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX\ math italic (OML) encoding.
+
+\showbranches
+\encoding
+
+\needsfontinstversion{1.917}
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{TEX MATH ITALIC}
+\setstr{encodingname}{TeXMathItalicEncoding}
+
+\setint{italicslant}{0}
+\setint{interword}{0} % interword space
+\setint{stretchword}{0} % interword stretch
+\setint{shrinkword}{0} % interword shrink
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\setint{quad}{1000} % quad
+\setint{extraspace}{0} % extra space after .
+
+\begincomment
+\section{Font dimensions}}
+\endcomment
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+
+
+
+\begincomment
+\section{The encoding}
+There are 128 glyphs in this encoding.
+\endcomment
+
+\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
+
+\setslot{alpha}
+ \comment{The greek letter `$\alpha$'.}
+\endsetslot
+
+\setslot{beta}
+ \comment{The greek letter `$\beta$'.}
+\endsetslot
+
+\setslot{gamma}
+ \comment{The greek letter `$\gamma$'.}
+\endsetslot
+
+\setslot{delta}
+ \comment{The greek letter `$\delta$'.}
+\endsetslot
+
+\setslot{epsilon1}
+ \comment{The greek letter `$\epsilon$'.}
+\endsetslot
+
+\setslot{zeta}
+ \comment{The greek letter `$\zeta$'.}
+\endsetslot
+
+\setslot{eta}
+ \comment{The greek letter `$\eta$'.}
+\endsetslot
+
+\setslot{theta}
+ \comment{The greek letter `$\theta$'.}
+\endsetslot
+
+\setslot{iota}
+ \comment{The greek letter `$\iota$'.}
+\endsetslot
+
+\setslot{kappa}
+ \comment{The greek letter `$\kappa$'.}
+\endsetslot
+
+\setslot{lambda}
+ \comment{The greek letter `$\lambda$'.}
+\endsetslot
+
+\setslot{mu}
+ \comment{The greek letter `$\mu$'.}
+\endsetslot
+
+\setslot{nu}
+ \comment{The greek letter `$\nu$'.}
+\endsetslot
+
+\setslot{xi}
+ \comment{The greek letter `$\xi$'.}
+\endsetslot
+
+\setslot{pi}
+ \comment{The greek letter `$\pi$'.}
+\endsetslot
+
+\setslot{rho}
+ \comment{The greek letter `$\rho$'.}
+\endsetslot
+
+\setslot{sigma}
+ \comment{The greek letter `$\sigma$'.}
+\endsetslot
+
+\setslot{tau}
+ \comment{The greek letter `$\tau$'.}
+\endsetslot
+
+\setslot{upsilon}
+ \comment{The greek letter `$\upsilon$'.}
+\endsetslot
+
+\setslot{phi}
+ \comment{The greek letter `$\phi$'.}
+\endsetslot
+
+\setslot{chi}
+ \comment{The greek letter `$\chi$'.}
+\endsetslot
+
+\setslot{psi}
+ \comment{The greek letter `$\psi$'.}
+\endsetslot
+
+\setslot{omega}
+ \comment{The greek letter `$\omega$'.}
+\endsetslot
+
+\setslot{epsilon}
+ \comment{The greek letter `$\varepsilon$'.}
+\endsetslot
+
+\setslot{theta1}
+ \comment{The greek letter `$\vartheta$'.}
+\endsetslot
+
+\setslot{pi1}
+ \comment{The greek letter `$\varpi$', rather unfortunately named
+ `omega1' by Adobe.}
+\endsetslot
+
+\setslot{rho1}
+ \comment{The greek letter `$\varrho$'.}
+\endsetslot
+
+\setslot{sigma1}
+ \comment{The greek letter `$\varsigma$'.}
+\endsetslot
+
+\setslot{phi1}
+ \comment{The greek letter `$\varphi$'.}
+\endsetslot
+
+\setslot{harpoonleftup}
+ \comment{The harpoon symbol `$\leftharpoonup$',
+ named `arrowlefttophalf' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{harpoonleftdown}
+ \comment{The harpoon symbol `$\leftharpoondown$',
+ named `arrowleftbothalf' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{harpoonrightup}
+ \comment{The harpoon symbol `$\rightharpoonup$',
+ named `arrowrighttophalf' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{harpoonrightdown}
+ \comment{The harpoon symbol `$\rightharpoondown$',
+ named `arrowrightbothalf' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{hookrightchar}
+ \comment{The building block for `$\hookrightarrow$',
+ named `arrowhookleft' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{hookleftchar}
+ \comment{The building block for `$\hookleftarrow$',
+ named `arrowhookright' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{triangleright}
+ \comment{The triangle symbol `$\triangleright$'.}
+\endsetslot
+
+\setslot{triangleleft}
+ \comment{The triangle symbol `$\triangleleft$'.}
+\endsetslot
+
+\setslot{zerooldstyle}
+ \comment{The oldstyle digit zero `0'.}
+\endsetslot
+
+\setslot{oneoldstyle}
+ \comment{The oldstyle digit one `1'.}
+\endsetslot
+
+\setslot{twooldstyle}
+ \comment{The oldstyle digit two `2'.}
+\endsetslot
+
+\setslot{threeoldstyle}
+ \comment{The oldstyle digit three `3'.}
+\endsetslot
+
+\setslot{fouroldstyle}
+ \comment{The oldstyle digit four `4'.}
+\endsetslot
+
+\setslot{fiveoldstyle}
+ \comment{The oldstyle digit five `5'.}
+\endsetslot
+
+\setslot{sixoldstyle}
+ \comment{The oldstyle digit six `6'.}
+\endsetslot
+
+\setslot{sevenoldstyle}
+ \comment{The oldstyle digit seven `7'.}
+\endsetslot
+
+\setslot{eightoldstyle}
+ \comment{The oldstyle digit eight `8'.}
+\endsetslot
+
+\setslot{nineoldstyle}
+ \comment{The oldstyle digit nine `9'.}
+\endsetslot
+
+\setslot{period}
+ \comment{The period `$.$'.}
+\endsetslot
+
+\setslot{comma}
+ \comment{The comma `$,$'.}
+\endsetslot
+
+\setslot{less}
+ \comment{The less-than sign `$<$'.}
+\endsetslot
+
+\setslot{slash}
+ \comment{The forwards oblique `$/$'.}
+\endsetslot
+
+\setslot{greater}
+ \comment{The greater-than sign `$>$'.}
+\endsetslot
+
+\setslot{star}
+ \comment{The star symbol `$\star$'.}
+\endsetslot
+
+\setslot{partialdiff}
+ \comment{The partial differentiation symbol `$\partial$'.}
+\endsetslot
+
+\setslot{A}
+ \comment{The letter `$\mathnormal{A}$'.}
+\endsetslot
+
+\setslot{B}
+ \comment{The letter `$\mathnormal{B}$'.}
+\endsetslot
+
+\setslot{C}
+ \comment{The letter `$\mathnormal{C}$'.}
+\endsetslot
+
+\setslot{D}
+ \comment{The letter `$\mathnormal{D}$'.}
+\endsetslot
+
+\setslot{E}
+ \comment{The letter `$\mathnormal{E}$'.}
+\endsetslot
+
+\setslot{F}
+ \comment{The letter `$\mathnormal{F}$'.}
+\endsetslot
+
+\setslot{G}
+ \comment{The letter `$\mathnormal{G}$'.}
+\endsetslot
+
+\setslot{H}
+ \comment{The letter `$\mathnormal{H}$'.}
+\endsetslot
+
+\setslot{I}
+ \comment{The letter `$\mathnormal{I}$'.}
+\endsetslot
+
+\setslot{J}
+ \comment{The letter `$\mathnormal{J}$'.}
+\endsetslot
+
+\setslot{K}
+ \comment{The letter `$\mathnormal{K}$'.}
+\endsetslot
+
+\setslot{L}
+ \comment{The letter `$\mathnormal{L}$'.}
+\endsetslot
+
+\setslot{M}
+ \comment{The letter `$\mathnormal{M}$'.}
+\endsetslot
+
+\setslot{N}
+ \comment{The letter `$\mathnormal{N}$'.}
+\endsetslot
+
+\setslot{O}
+ \comment{The letter `$\mathnormal{O}$'.}
+\endsetslot
+
+\setslot{P}
+ \comment{The letter `$\mathnormal{P}$'.}
+\endsetslot
+
+\setslot{Q}
+ \comment{The letter `$\mathnormal{Q}$'.}
+\endsetslot
+
+\setslot{R}
+ \comment{The letter `$\mathnormal{R}$'.}
+\endsetslot
+
+\setslot{S}
+ \comment{The letter `$\mathnormal{S}$'.}
+\endsetslot
+
+\setslot{T}
+ \comment{The letter `$\mathnormal{T}$'.}
+\endsetslot
+
+\setslot{U}
+ \comment{The letter `$\mathnormal{U}$'.}
+\endsetslot
+
+\setslot{V}
+ \comment{The letter `$\mathnormal{V}$'.}
+\endsetslot
+
+\setslot{W}
+ \comment{The letter `$\mathnormal{W}$'.}
+\endsetslot
+
+\setslot{X}
+ \comment{The letter `$\mathnormal{X}$'.}
+\endsetslot
+
+\setslot{Y}
+ \comment{The letter `$\mathnormal{Y}$'.}
+\endsetslot
+
+\setslot{Z}
+ \comment{The letter `$\mathnormal{Z}$'.}
+\endsetslot
+
+\setslot{flat}
+ \comment{The flat musical symbol `$\flat$'.}
+\endsetslot
+
+\setslot{natural}
+ \comment{The natural musical symbol `$\natural$'.}
+\endsetslot
+
+\setslot{sharp}
+ \comment{The sharp musical symbol `$\sharp$'.}
+\endsetslot
+
+\setslot{slurbelow}
+ \comment{The slur symbol `$\smile$'.}
+\endsetslot
+
+\setslot{slurabove}
+ \comment{The slur symbol `$\frown$'.}
+\endsetslot
+
+\setslot{lscript}
+ \comment{The script letter `$\ell$'.}
+\endsetslot
+
+\setslot{a}
+ \comment{The letter `$\mathnormal{a}$'.}
+\endsetslot
+
+\setslot{b}
+ \comment{The letter `$\mathnormal{b}$'.}
+\endsetslot
+
+\setslot{c}
+ \comment{The letter `$\mathnormal{c}$'.}
+\endsetslot
+
+\setslot{d}
+ \comment{The letter `$\mathnormal{d}$'.}
+\endsetslot
+
+\setslot{e}
+ \comment{The letter `$\mathnormal{e}$'.}
+\endsetslot
+
+\setslot{f}
+ \comment{The letter `$\mathnormal{f}$'.}
+\endsetslot
+
+\setslot{g}
+ \comment{The letter `$\mathnormal{g}$'.}
+\endsetslot
+
+\setslot{h}
+ \comment{The letter `$\mathnormal{h}$'.}
+\endsetslot
+
+\setslot{i}
+ \comment{The letter `$\mathnormal{i}$'.}
+\endsetslot
+
+\setslot{j}
+ \comment{The letter `$\mathnormal{j}$'.}
+\endsetslot
+
+\setslot{k}
+ \comment{The letter `$\mathnormal{k}$'.}
+\endsetslot
+
+\setslot{l}
+ \comment{The letter `$\mathnormal{l}$'.}
+\endsetslot
+
+\setslot{m}
+ \comment{The letter `$\mathnormal{m}$'.}
+\endsetslot
+
+\setslot{n}
+ \comment{The letter `$\mathnormal{n}$'.}
+\endsetslot
+
+\setslot{o}
+ \comment{The letter `$\mathnormal{o}$'.}
+\endsetslot
+
+\setslot{p}
+ \comment{The letter `$\mathnormal{p}$'.}
+\endsetslot
+
+\setslot{q}
+ \comment{The letter `$\mathnormal{q}$'.}
+\endsetslot
+
+\setslot{r}
+ \comment{The letter `$\mathnormal{r}$'.}
+\endsetslot
+
+\setslot{s}
+ \comment{The letter `$\mathnormal{s}$'.}
+\endsetslot
+
+\setslot{t}
+ \comment{The letter `$\mathnormal{t}$'.}
+\endsetslot
+
+\setslot{u}
+ \comment{The letter `$\mathnormal{u}$'.}
+\endsetslot
+
+\setslot{v}
+ \comment{The letter `$\mathnormal{v}$'.}
+\endsetslot
+
+\setslot{w}
+ \comment{The letter `$\mathnormal{w}$'.}
+\endsetslot
+
+\setslot{x}
+ \comment{The letter `$\mathnormal{x}$'.}
+\endsetslot
+
+\setslot{y}
+ \comment{The letter `$\mathnormal{y}$'.}
+\endsetslot
+
+\setslot{z}
+ \comment{The letter `$\mathnormal{z}$'.}
+\endsetslot
+
+\setslot{dotlessi}
+ \comment{The dotless letter `$\imath$'.}
+\endsetslot
+
+\setslot{dotlessj}
+ \comment{The dotless letter `$\jmath$'.}
+\endsetslot
+
+\setslot{weierstrass}
+ \comment{The Weierstrass P symbol `$\wp$'.}
+\endsetslot
+
+\setslot{vector}
+ \comment{The vector accent symbol `$\vec{x}$'.}
+\endsetslot
+
+\setslot{tie}
+ \comment{The tie accent symbol `\t oo'.}
+\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+
+29 Dec 1993, v\,1.30: Created file.
+
+03 Jan 1994, v\,1.301: Moved from ltugboat class to article.
+
+09 Jan 1994, v\,1.305: Renamed some glyphs to use the same glyph names
+ as Lucida New Math.
+
+10 Jun 1998, v\,1.800: Really use the same names as Lucida New Math.
+ Correct ordering of `flat', `natural', `sharp'.
+
+03 Oct 2000, v\,1.915: Minor markup changes (LH).
+
+06 Oct 2000, v\,1.915: Added \texttt{encodingname} (same as in
+ \texttt{texmital.enc}). (LH)
+
+27 Jul 2002, v\,1.921: Using \verb"\setfontdimen" for specifying
+ fontdimens. (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/oms.etx b/Master/texmf-dist/tex/fontinst/mathetx/oms.etx
new file mode 100644
index 00000000000..7bed129bd57
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/oms.etx
@@ -0,0 +1,672 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.921",
+%%% date = "2002-07-27",
+%%% time = "18:42:33 +02:00",
+%%% filename = "oms.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/index.html",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the old math symbol encoding as a TeX
+%%% font encoding file, for use with the fontinst
+%%% utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2001/03/16]
+
+\title{The \TeX\ math symbol encoding vector}
+\author{Alan Jeffrey, Ulrik Vieth}
+\date{27 July 2002\\Version 1.921}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX\ math symbol (OMS) encoding.
+
+\showbranches
+\encoding
+
+\needsfontinstversion{1.917}
+
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{TEX MATH SYMBOLS}
+\setstr{encodingname}{TeXMathSymbolEncoding}
+
+\setint{italicslant}{0}
+\setint{interword}{0}
+\setint{stretchword}{0}
+\setint{shrinkword}{0}
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+\setint{quad}{1000}
+\setint{extraspace}{0}
+
+
+\comment{The following font dimension defaults are taken from
+\texttt{cmsy10}.}
+
+\setint{num1}{677}
+\setint{num2}{394}
+\setint{num3}{444}
+\setint{denom1}{686}
+\setint{denom2}{345}
+\setint{sup1}{413}
+\setint{sup2}{363}
+\setint{sup3}{289}
+\setint{sub1}{150}
+\setint{sub2}{247}
+\setint{supdrop}{386}
+\setint{subdrop}{50}
+\setint{delim1}{2390}
+\setint{delim2}{1010}
+\setint{axisheight}{250}
+
+\begincomment
+\section{Font dimensions}
+\endcomment
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+
+\setfontdimen{8}{num1} % num 1
+\setfontdimen{9}{num2} % num 2
+\setfontdimen{10}{num3} % num 3
+\setfontdimen{11}{denom1} % denom 1
+\setfontdimen{12}{denom2} % denom 2
+\setfontdimen{13}{sup1} % sup 1
+\setfontdimen{14}{sup2} % sup 2
+\setfontdimen{15}{sup3} % sup 3
+\setfontdimen{16}{sub1} % sub 1
+\setfontdimen{17}{sub2} % sub 2
+\setfontdimen{18}{supdrop} % supdrop
+\setfontdimen{19}{subdrop} % subdrop
+\setfontdimen{20}{delim1} % delim 1
+\setfontdimen{21}{delim2} % delim 2
+\setfontdimen{22}{axisheight} % math axis height
+
+
+\begincomment
+\section{The encoding}
+There are 128 glyphs in this encoding.
+\endcomment
+
+\setslot{minus}
+ \comment{The subtraction symbol `$-$'.}
+\endsetslot
+
+\setslot{periodcentered}
+ \comment{The centered dot symbol `$\cdot$'.
+ It is called `dotmath' in Adobe Symbol.}
+\endsetslot
+
+\setslot{multiply}
+ \comment{The multiplication symbol `$\times$'.}
+\endsetslot
+
+\setslot{asteriskmath}
+ \comment{The centered asterisk symbol `$*$'.}
+\endsetslot
+
+\setslot{divide}
+ \comment{The division symbol `$\plaindiv$'.}
+\endsetslot
+
+\setslot{diamondmath}
+ \comment{The diamond symbol `$\diamond$'.}
+\endsetslot
+
+\setslot{plusminus}
+ \comment{The plus or minus symbol `$\pm$'.}
+\endsetslot
+
+\setslot{minusplus}
+ \comment{The minus or plus symbol `$\mp$'.}
+\endsetslot
+
+\setslot{circleplus}
+ \comment{The circled plus symbol `$\oplus$'.}
+\endsetslot
+
+\setslot{circleminus}
+ \comment{The circled minus symbol `$\ominus$'.}
+\endsetslot
+
+\setslot{circlemultiply}
+ \comment{The circled multiplication symbol `$\otimes$'.}
+\endsetslot
+
+\setslot{circledivide}
+ \comment{The circled oblique symbol `$\oslash$'.}
+\endsetslot
+
+\setslot{circledot}
+ \comment{The circled dot symbol `$\odot$'.}
+\endsetslot
+
+\setslot{circlecopyrt}
+ \comment{The large circle symbol `$\bigcirc$' used for building the
+ copyright symbol `\copyright'.}
+\endsetslot
+
+\setslot{openbullet}
+ \comment{The circle symbol `$\circ$'.}
+\endsetslot
+
+\setslot{bullet}
+ \comment{The bullet symbol `$\bullet$'.}
+\endsetslot
+
+\setslot{equivasymptotic}
+ \comment{The asymptotic equals symbol `$\asymp$'.}
+\endsetslot
+
+\setslot{equivalence}
+ \comment{The equivalence symbol `$\equiv$'.}
+\endsetslot
+
+\setslot{reflexsubset}
+ \comment{The subset or equals symbol `$\subseteq$'.}
+\endsetslot
+
+\setslot{reflexsuperset}
+ \comment{The superset or equals symbol `$\supseteq$'.}
+\endsetslot
+
+\setslot{lessequal}
+ \comment{The less or equals symbol `$\leq$'.}
+\endsetslot
+
+\setslot{greaterequal}
+ \comment{The greater or equals symbol `$\geq$'.}
+\endsetslot
+
+\setslot{precedesequal}
+ \comment{The precedes or equals symbol `$\preceq$'.}
+\endsetslot
+
+\setslot{followsequal}
+ \comment{The follows or equals symbol `$\succeq$'.}
+\endsetslot
+
+\setslot{similar}
+ \comment{The similar symbol `$\sim$'.}
+\endsetslot
+
+\setslot{approxequal}
+ \comment{The approximate equality symbol `$\approx$'.}
+\endsetslot
+
+\setslot{propersubset}
+ \comment{The subset symbol `$\subset$'.}
+\endsetslot
+
+\setslot{propersuperset}
+ \comment{The superset symbol `$\supset$'.}
+\endsetslot
+
+\setslot{lessmuch}
+ \comment{The much less symbol `$\ll$'.}
+\endsetslot
+
+\setslot{greatermuch}
+ \comment{The much greater symbol `$\gg$'.}
+\endsetslot
+
+\setslot{precedes} % was curlyless
+ \comment{The precedes symbol `$\prec$'.}
+\endsetslot
+
+\setslot{follows} % was curlygreater
+ \comment{The follows symbol `$\succ$'.}
+\endsetslot
+
+\setslot{arrowleft}
+ \comment{The left arrow symbol `$\leftarrow$'.}
+\endsetslot
+
+\setslot{arrowright}
+ \comment{The right arrow symbol `$\rightarrow$'.}
+\endsetslot
+
+\setslot{arrowup}
+ \comment{The up arrow symbol `$\uparrow$'.}
+\endsetslot
+
+\setslot{arrowdown}
+ \comment{The down arrow symbol `$\downarrow$'.}
+\endsetslot
+
+\setslot{arrowboth}
+ \comment{The horizontal arrow symbol `$\leftrightarrow$'.}
+\endsetslot
+
+\setslot{arrownortheast}
+ \comment{The north-east arrow symbol `$\nearrow$'.}
+\endsetslot
+
+\setslot{arrowsoutheast}
+ \comment{The south-east arrow symbol `$\searrow$'.}
+\endsetslot
+
+\setslot{similarequal}
+ \comment{The similar or equal symbol `$\simeq$'.}
+\endsetslot
+
+\setslot{arrowdblleft}
+ \comment{The double left arrow symbol `$\Leftarrow$'.}
+\endsetslot
+
+\setslot{arrowdblright}
+ \comment{The double right arrow symbol `$\Rightarrow$'.}
+\endsetslot
+
+\setslot{arrowdblup}
+ \comment{The double up arrow symbol `$\Uparrow$'.}
+\endsetslot
+
+\setslot{arrowdbldown}
+ \comment{The double down arrow symbol `$\Downarrow$'.}
+\endsetslot
+
+\setslot{arrowdblboth}
+ \comment{The double horizontal arrow symbol `$\Leftrightarrow$'.}
+\endsetslot
+
+\setslot{arrownorthwest}
+ \comment{The north-west arrow symbol `$\nwarrow$'.}
+\endsetslot
+
+\setslot{arrowsouthwest}
+ \comment{The south-west arrow symbol `$\swarrow$'.}
+\endsetslot
+
+\setslot{proportional}
+ \comment{The proportional symbol `$\propto$'.}
+\endsetslot
+
+\setslot{prime}
+ \comment{The prime symbol `$\prime$'.}
+\endsetslot
+
+\setslot{infinity}
+ \comment{The infinity symbol `$\infty$'.}
+\endsetslot
+
+\setslot{element}
+ \comment{The set membership symbol `$\in$'.}
+\endsetslot
+
+\setslot{owner}
+ \comment{The backwards set membership symbol `$\ni$'.}
+\endsetslot
+
+\setslot{triangle}
+ \comment{The upwards triangle symbol `$\bigtriangleup$'.}
+\endsetslot
+
+\setslot{triangleinv}
+ \comment{The downwards triangle symbol `$\bigtriangledown$'.}
+\endsetslot
+
+\setslot{negationslash}
+ \comment{The negation slash symbol, used to construct
+ negated relations or arrows such as `$\not=$'.}
+\endsetslot
+
+\setslot{mapstochar}
+ \comment{The maps to building block symbol `$\mapstochar$',
+ used to build `$\mapsto$'.}
+\endsetslot
+
+\setslot{universal}
+ \comment{The universal quantification symbol `$\forall$'.}
+\endsetslot
+
+\setslot{existential}
+ \comment{The existential quantification symbol `$\exists$'.}
+\endsetslot
+
+\setslot{logicalnot}
+ \comment{The negation symbol `$\neg$'.}
+\endsetslot
+
+\setslot{emptysetstress}
+ \comment{The `stressed' empty set symbol `$\emptyset$', which should
+ look like a zero with a slash. The `emptyset' symbol is a circle
+ with a slash.}
+\endsetslot
+
+\setslot{Rfraktur}
+ \comment{The upper case Fraktur R symbol `$\Re$'. It is called
+ `Rfractur' rather than `Rfraktur' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{Ifraktur}
+ \comment{The upper case Fraktur I symbol `$\Im$'. It is called
+ `Ifractur' rather than `Ifraktur' in MathTime and Lucida New Math.}
+\endsetslot
+
+\setslot{latticetop}
+ \comment{The inverted perpendicular symbol `$\top$'.}
+\endsetslot
+
+\setslot{perpendicular}
+ \comment{The perpendicular symbol `$\perp$'.}
+\endsetslot
+
+\setslot{aleph}
+ \comment{The aleph symbol `$\aleph$'.}
+\endsetslot
+
+\setslot{A}
+ \comment{The calligraphic letter `$\mathcal{A}$'.}
+\endsetslot
+
+\setslot{B}
+ \comment{The calligraphic letter `$\mathcal{B}$'.}
+\endsetslot
+
+\setslot{C}
+ \comment{The calligraphic letter `$\mathcal{C}$'.}
+\endsetslot
+
+\setslot{D}
+ \comment{The calligraphic letter `$\mathcal{D}$'.}
+\endsetslot
+
+\setslot{E}
+ \comment{The calligraphic letter `$\mathcal{E}$'.}
+\endsetslot
+
+\setslot{F}
+ \comment{The calligraphic letter `$\mathcal{F}$'.}
+\endsetslot
+
+\setslot{G}
+ \comment{The calligraphic letter `$\mathcal{G}$'.}
+\endsetslot
+
+\setslot{H}
+ \comment{The calligraphic letter `$\mathcal{H}$'.}
+\endsetslot
+
+\setslot{I}
+ \comment{The calligraphic letter `$\mathcal{I}$'.}
+\endsetslot
+
+\setslot{J}
+ \comment{The calligraphic letter `$\mathcal{J}$'.}
+\endsetslot
+
+\setslot{K}
+ \comment{The calligraphic letter `$\mathcal{K}$'.}
+\endsetslot
+
+\setslot{L}
+ \comment{The calligraphic letter `$\mathcal{L}$'.}
+\endsetslot
+
+\setslot{M}
+ \comment{The calligraphic letter `$\mathcal{M}$'.}
+\endsetslot
+
+\setslot{N}
+ \comment{The calligraphic letter `$\mathcal{N}$'.}
+\endsetslot
+
+\setslot{O}
+ \comment{The calligraphic letter `$\mathcal{O}$'.}
+\endsetslot
+
+\setslot{P}
+ \comment{The calligraphic letter `$\mathcal{P}$'.}
+\endsetslot
+
+\setslot{Q}
+ \comment{The calligraphic letter `$\mathcal{Q}$'.}
+\endsetslot
+
+\setslot{R}
+ \comment{The calligraphic letter `$\mathcal{R}$'.}
+\endsetslot
+
+\setslot{S}
+ \comment{The calligraphic letter `$\mathcal{S}$'.}
+\endsetslot
+
+\setslot{T}
+ \comment{The calligraphic letter `$\mathcal{T}$'.}
+\endsetslot
+
+\setslot{U}
+ \comment{The calligraphic letter `$\mathcal{U}$'.}
+\endsetslot
+
+\setslot{V}
+ \comment{The calligraphic letter `$\mathcal{V}$'.}
+\endsetslot
+
+\setslot{W}
+ \comment{The calligraphic letter `$\mathcal{W}$'.}
+\endsetslot
+
+\setslot{X}
+ \comment{The calligraphic letter `$\mathcal{X}$'.}
+\endsetslot
+
+\setslot{Y}
+ \comment{The calligraphic letter `$\mathcal{Y}$'.}
+\endsetslot
+
+\setslot{Z}
+ \comment{The calligraphic letter `$\mathcal{Z}$'.}
+\endsetslot
+
+\setslot{union}
+ \comment{The set union symbol `$\cup$'.}
+\endsetslot
+
+\setslot{intersection}
+ \comment{The set intersection symbol `$\cap$'.}
+\endsetslot
+
+\setslot{unionmulti}
+ \comment{The multiset union symbol `$\uplus$'.}
+\endsetslot
+
+\setslot{logicaland}
+ \comment{The meet symbol `$\wedge$'.}
+\endsetslot
+
+\setslot{logicalor}
+ \comment{The join symbol `$\vee$'.}
+\endsetslot
+
+\setslot{turnstileleft}
+ \comment{The turnstile symbol `$\vdash$'.}
+\endsetslot
+
+\setslot{turnstileright}
+ \comment{The backwards turnstile symbol `$\dashv$'.}
+\endsetslot
+
+\setslot{floorleft}
+ \comment{The left floor symbol `$\lfloor$'.}
+\endsetslot
+
+\setslot{floorright}
+ \comment{The right floor symbol `$\rfloor$'.}
+\endsetslot
+
+\setslot{ceilingleft}
+ \comment{The left ceiling symbol `$\lceil$'.}
+\endsetslot
+
+\setslot{ceilingright}
+ \comment{The right ceiling symbol `$\rceil$'.}
+\endsetslot
+
+\setslot{braceleft}
+ \comment{The left brace symbol `$\{$'.}
+\endsetslot
+
+\setslot{braceright}
+ \comment{The right brace symbol `$\}$'.}
+\endsetslot
+
+\setslot{angleleft}
+ \comment{The left angle bracket symbol `$\langle$'.
+ It is called `angbracketleft' in MathTime and Lucida,
+ but `angleleft' in Adobe Symbol.}
+\endsetslot
+
+\setslot{angleright}
+ \comment{The right angle bracket symbol `$\rangle$'.
+ It is called `angbracketright' in MathTime and Lucida,
+ but `angleleft' in Adobe Symbol.}
+\endsetslot
+
+\setslot{bar}
+ \comment{The vertical bar symbol `$|$'.}
+\endsetslot
+
+\setslot{bardbl}
+ \comment{The parallel vertical bars symbol `$\parallel$'.}
+\endsetslot
+
+\setslot{arrowbothv}
+ \comment{The vertical arrows symbol `$\updownarrow$'.}
+\endsetslot
+
+\setslot{arrowdblbothv}
+ \comment{The double vertical arrows symbol `$\Updownarrow$'.}
+\endsetslot
+
+\setslot{backslash}
+ \comment{The backwards oblique symbol `$\backslash$'.}
+\endsetslot
+
+\setslot{wreathproduct}
+ \comment{The Wreath product symbol `$\wp$'.}
+\endsetslot
+
+\setslot{radicallow}
+ \comment{The lowered radical symbol `$\surd$'.}
+\endsetslot
+
+\setslot{coproduct}
+ \comment{The textstyle coproduct symbol `$\coprod$'.}
+\endsetslot
+
+\setslot{gradient}
+ \comment{The inverted Delta symbol `$\nabla$'.
+ It is also called `gradient' in MathTime and Lucida,
+ but `gradient' in Adobe Symbol.}
+\endsetslot
+
+\setslot{integral}
+ \comment{The small integral symbol `$\plainint$'.}
+\endsetslot
+
+\setslot{unionsq}
+ \comment{The square union symbol `$\sqcup$'.}
+\endsetslot
+
+\setslot{intersectionsq}
+ \comment{The square intersection symbol `$\sqcap$'.}
+\endsetslot
+
+\setslot{subsetsqequal}
+ \comment{The square subset or equal symbol `$\sqsubseteq$'.}
+\endsetslot
+
+\setslot{supersetsqequal}
+ \comment{The square superset or equal symbol `$\sqsupseteq$'.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section symbol `\S'.}
+\endsetslot
+
+\setslot{dagger}
+ \comment{The dagger symbol `\dag'.}
+\endsetslot
+
+\setslot{daggerdbl}
+ \comment{The double dagger symbol `\ddag'.}
+\endsetslot
+
+\setslot{paragraph}
+ \comment{The paragraph symbol `\P'.}
+\endsetslot
+
+\setslot{club}
+ \comment{The club suit symbol `$\clubsuit$'.}
+\endsetslot
+
+\setslot{diamond}
+ \comment{The diamond suit symbol `$\diamondsuit$'.}
+\endsetslot
+
+\setslot{heart}
+ \comment{The heart suit symbol `$\heartsuit$'.}
+\endsetslot
+
+\setslot{spade}
+ \comment{The spade suit symbol `$\spadesuit$'.}
+\endsetslot
+
+\endencoding
+
+\section{Changes}
+
+29 Dec 1993, v1.30: Created file.
+
+03 Jan 1994, v1.301: Moved from ltugboat class to article.
+
+06 Jan 1994, v1.303: Corrected a fontdimen bug.
+
+08 Jan 1994, v1.304: Renamed radicallowered to radicallow and
+ perpendicularinverse to perpendicularinv.
+
+09 Jan 1994, v1.305: Renamed emptyset to emptysetstress, to distinguish
+ the geometric and the humanist emptyset symbols.
+ Renamed some glyphs to use the same glyph names
+ as Lucida New Math.
+
+10 Jun 1998, v1.800: Really use the same names as Lucida New Math.
+ `curlyless/greater' renamed to `precedes/follows'.
+
+06 Oct 2000, v1.915: Introduced intermediate variables for fontdimens
+ 8--22. Added \texttt{encodingname}. Updated markup.
+ (LH)
+
+27 Jul 2002, v1.921: Introduced intermediate variables also for
+ fontdimens 1--7. Switched to setting fontdimens
+ using \verb"\setfontdimen". (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/omx.etx b/Master/texmf-dist/tex/fontinst/mathetx/omx.etx
new file mode 100644
index 00000000000..52af52af6d9
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/omx.etx
@@ -0,0 +1,731 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Alan Jeffrey and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.921",
+%%% date = "2002-07-27",
+%%% time = "18:45:45 +02:00",
+%%% filename = "omx.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/index.html",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the old math extension encoding as
+%%% a TeX font encoding file, for use with the
+%%% fontinst utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2001/03/16]
+
+\title{The \TeX\ math extension encoding vector}
+\author{Alan Jeffrey\and Ulrik Vieth\and Lars Hellstr\"om}
+\date{27 July 2002\\Version 1.921}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX\ math extensions (\texttt{OMX})
+encoding.
+
+\showbranches
+\setslotcomment{The glyph `$\vcenter{\hbox{\slotexample}}$'.}
+\useexamplefont{cmex10}
+\encoding
+
+\needsfontinstversion{1.917}
+
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setstr{codingscheme}{TEX MATH EXTENSION}
+\setstr{encodingname}{TeXMathExtensionEncoding}
+
+\setint{italicslant}{0}
+\setint{interword}{0}
+\setint{stretchword}{0}
+\setint{shrinkword}{0}
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+\setint{quad}{1000}
+\setint{extraspace}{0}
+
+\comment{The following defaults are taken from \texttt{cmex10}.}
+
+\setint{defaultrulethickness}{40}
+\setint{bigopspacing1}{111}
+\setint{bigopspacing2}{167}
+\setint{bigopspacing3}{200}
+\setint{bigopspacing4}{600}
+\setint{bigopspacing5}{100}
+
+
+\begincomment
+\section{Font dimensions}
+\endcomment
+
+\setfontdimen{1}{italicslant} % italic slant
+\setfontdimen{2}{interword} % interword space
+\setfontdimen{3}{stretchword} % interword stretch
+\setfontdimen{4}{shrinkword} % interword shrink
+\setfontdimen{5}{xheight} % x-height
+\setfontdimen{6}{quad} % quad
+\setfontdimen{7}{extraspace} % extra space after .
+
+\setfontdimen{8}{defaultrulethickness} % default rule thickness
+\setfontdimen{9}{bigopspacing1} % bigopspacing 1
+\setfontdimen{10}{bigopspacing2} % bigopspacing 2
+\setfontdimen{11}{bigopspacing3} % bigopspacing 3
+\setfontdimen{12}{bigopspacing4} % bigopspacing 4
+\setfontdimen{13}{bigopspacing5} % bigopspacing 5
+
+
+\begincomment
+\section{The encoding}
+There are 128 glyphs in this encoding.
+\endcomment
+
+\setslot{parenleftbig}
+ \nextlarger{parenleftBig}
+\endsetslot
+
+\setslot{parenrightbig}
+ \nextlarger{parenrightBig}
+\endsetslot
+
+\setslot{bracketleftbig}
+ \nextlarger{bracketleftBig}
+\endsetslot
+
+\setslot{bracketrightbig}
+ \nextlarger{bracketrightBig}
+\endsetslot
+
+\setslot{floorleftbig}
+ \nextlarger{floorleftBig}
+\endsetslot
+
+\setslot{floorrightbig}
+ \nextlarger{floorrightBig}
+\endsetslot
+
+\setslot{ceilingleftbig}
+ \nextlarger{ceilingleftBig}
+\endsetslot
+
+\setslot{ceilingrightbig}
+ \nextlarger{ceilingrightBig}
+\endsetslot
+
+\setslot{braceleftbig}
+ \nextlarger{braceleftBig}
+\endsetslot
+
+\setslot{bracerightbig}
+ \nextlarger{bracerightBig}
+\endsetslot
+
+\setslot{angleleftbig}
+ \nextlarger{angleleftBig}
+\endsetslot
+
+\setslot{anglerightbig}
+ \nextlarger{anglerightBig}
+\endsetslot
+
+\setslot{barex}
+ \varchar
+ \varrep{barex}
+ \endvarchar
+\endsetslot
+
+\setslot{bardblex}
+ \varchar
+ \varrep{bardblex}
+ \endvarchar
+\endsetslot
+
+\setslot{slashbig}
+ \nextlarger{slashBig}
+\endsetslot
+
+\setslot{backslashbig}
+ \nextlarger{backslashBig}
+\endsetslot
+
+\setslot{parenleftBig}
+ \nextlarger{parenleftbigg}
+\endsetslot
+
+\setslot{parenrightBig}
+ \nextlarger{parenrightbigg}
+\endsetslot
+
+\setslot{parenleftbigg}
+ \nextlarger{parenleftBigg}
+\endsetslot
+
+\setslot{parenrightbigg}
+ \nextlarger{parenrightBigg}
+\endsetslot
+
+\setslot{bracketleftbigg}
+ \nextlarger{bracketleftBigg}
+\endsetslot
+
+\setslot{bracketrightbigg}
+ \nextlarger{bracketrightBigg}
+\endsetslot
+
+\setslot{floorleftbigg}
+ \nextlarger{floorleftBigg}
+\endsetslot
+
+\setslot{floorrightbigg}
+ \nextlarger{floorrightBigg}
+\endsetslot
+
+\setslot{ceilingleftbigg}
+ \nextlarger{ceilingleftBigg}
+\endsetslot
+
+\setslot{ceilingrightbigg}
+ \nextlarger{ceilingrightBigg}
+\endsetslot
+
+\setslot{braceleftbigg}
+ \nextlarger{braceleftBigg}
+\endsetslot
+
+\setslot{bracerightbigg}
+ \nextlarger{bracerightBigg}
+\endsetslot
+
+\setslot{angleleftbigg}
+ \nextlarger{angleleftBigg}
+\endsetslot
+
+\setslot{anglerightbigg}
+ \nextlarger{anglerightBigg}
+\endsetslot
+
+\setslot{slashbigg}
+ \nextlarger{slashBigg}
+\endsetslot
+
+\setslot{backslashbigg}
+ \nextlarger{backslashBigg}
+\endsetslot
+
+\setslot{parenleftBigg}
+ \nextlarger{parenlefttp}
+\endsetslot
+
+\setslot{parenrightBigg}
+ \nextlarger{parenrighttp}
+\endsetslot
+
+\setslot{bracketleftBigg}
+ \nextlarger{bracketlefttp}
+\endsetslot
+
+\setslot{bracketrightBigg}
+ \nextlarger{bracketrighttp}
+\endsetslot
+
+\setslot{floorleftBigg}
+ \nextlarger{bracketleftbt}
+\endsetslot
+
+\setslot{floorrightBigg}
+ \nextlarger{bracketrightbt}
+\endsetslot
+
+\setslot{ceilingleftBigg}
+ \nextlarger{bracketleftex}
+\endsetslot
+
+\setslot{ceilingrightBigg}
+ \nextlarger{bracketrightex}
+\endsetslot
+
+\setslot{braceleftBigg}
+ \nextlarger{bracelefttp}
+\endsetslot
+
+\setslot{bracerightBigg}
+ \nextlarger{bracerighttp}
+\endsetslot
+
+\setslot{angleleftBigg}
+\endsetslot
+
+\setslot{anglerightBigg}
+\endsetslot
+
+\setslot{slashBigg}
+\endsetslot
+
+\setslot{backslashBigg}
+\endsetslot
+
+\setslot{slashBig}
+ \nextlarger{slashbigg}
+\endsetslot
+
+\setslot{backslashBig}
+ \nextlarger{backslashbigg}
+\endsetslot
+
+\setslot{parenlefttp}
+ \varchar
+ \vartop{parenlefttp}
+ \varbot{parenleftbt}
+ \varrep{parenleftex}
+ \endvarchar
+\endsetslot
+
+\setslot{parenrighttp}
+ \varchar
+ \vartop{parenrighttp}
+ \varbot{parenrightbt}
+ \varrep{parenrightex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracketlefttp}
+ \varchar
+ \vartop{bracketlefttp}
+ \varbot{bracketleftbt}
+ \varrep{bracketleftex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracketrighttp}
+ \varchar
+ \vartop{bracketrighttp}
+ \varbot{bracketrightbt}
+ \varrep{bracketrightex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracketleftbt}
+ \varchar
+ \varbot{bracketleftbt}
+ \varrep{bracketleftex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracketrightbt}
+ \varchar
+ \varbot{bracketrightbt}
+ \varrep{bracketrightex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracketleftex}
+ \varchar
+ \vartop{bracketlefttp}
+ \varrep{bracketleftex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracketrightex}
+ \varchar
+ \vartop{bracketrighttp}
+ \varrep{bracketrightex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracelefttp}
+ \varchar
+ \vartop{bracelefttp}
+ \varmid{braceleftmid}
+ \varbot{braceleftbt}
+ \varrep{braceex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracerighttp}
+ \varchar
+ \vartop{bracerighttp}
+ \varmid{bracerightmid}
+ \varbot{bracerightbt}
+ \varrep{braceex}
+ \endvarchar
+\endsetslot
+
+\setslot{braceleftbt}
+ \varchar
+ \vartop{bracelefttp}
+ \varbot{braceleftbt}
+ \varrep{braceex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracerightbt}
+ \varchar
+ \vartop{bracerighttp}
+ \varbot{bracerightbt}
+ \varrep{braceex}
+ \endvarchar
+\endsetslot
+
+\setslot{braceleftmid}
+ \varchar
+ \varrep{arrowvertex}
+ \comment{This extensible entry has nothing to do with the
+ \texttt{braceleftmid} glyph; instead this slot is used as a
+ placeholder for the large form of the `\(\arrowvert\)'
+ delimiter.}
+ \endvarchar
+\endsetslot
+
+\setslot{bracerightmid}
+ \varchar
+ \varrep{arrowvertexdbl}
+ \comment{This extensible entry has nothing to do with the
+ \texttt{bracerightmid} glyph; instead this slot is used as a
+ placeholder for the large form of the `\(\Arrowvert\)'
+ delimiter.}
+ \endvarchar
+\endsetslot
+
+\setslot{braceex}
+ \varchar
+ \varrep{braceex}
+ \endvarchar
+\endsetslot
+
+\setslot{arrowvertex}
+ \varchar
+ \vartop{arrowtp}
+ \varbot{arrowbt}
+ \varrep{arrowvertex}
+ \endvarchar
+\endsetslot
+
+\setslot{parenleftbt}
+ \varchar
+ \vartop{bracelefttp}
+ \varbot{bracerightbt}
+ \varrep{braceex}
+ \endvarchar
+\endsetslot
+
+\setslot{parenrightbt}
+ \varchar
+ \vartop{bracerighttp}
+ \varbot{braceleftbt}
+ \varrep{braceex}
+ \endvarchar
+\endsetslot
+
+\setslot{parenleftex}
+ \varchar
+ \varrep{parenleftex}
+ \endvarchar
+\endsetslot
+
+\setslot{parenrightex}
+ \varchar
+ \varrep{parenrightex}
+ \endvarchar
+\endsetslot
+
+\setslot{angleleftBig}
+ \nextlarger{angleleftbigg}
+\endsetslot
+
+\setslot{anglerightBig}
+ \nextlarger{anglerightbigg}
+\endsetslot
+
+\setslot{unionsqtext}
+ \nextlarger{unionsqdisplay}
+\endsetslot
+
+\setslot{unionsqdisplay}
+\endsetslot
+
+\setslot{contintegraltext}
+ \nextlarger{contintegraldisplay}
+\endsetslot
+
+\setslot{contintegraldisplay}
+\endsetslot
+
+\setslot{circledottext}
+ \nextlarger{circledotdisplay}
+\endsetslot
+
+\setslot{circledotdisplay}
+\endsetslot
+
+\setslot{circleplustext}
+ \nextlarger{circleplusdisplay}
+\endsetslot
+
+\setslot{circleplusdisplay}
+\endsetslot
+
+\setslot{circlemultiplytext}
+ \nextlarger{circlemultiplydisplay}
+\endsetslot
+
+\setslot{circlemultiplydisplay}
+\endsetslot
+
+\setslot{summationtext}
+ \nextlarger{summationdisplay}
+\endsetslot
+
+\setslot{producttext}
+ \nextlarger{productdisplay}
+\endsetslot
+
+\setslot{integraltext}
+ \nextlarger{integraldisplay}
+\endsetslot
+
+\setslot{uniontext}
+ \nextlarger{uniondisplay}
+\endsetslot
+
+\setslot{intersectiontext}
+ \nextlarger{intersectiondisplay}
+\endsetslot
+
+\setslot{unionmultitext}
+ \nextlarger{unionmultidisplay}
+\endsetslot
+
+\setslot{logicalandtext}
+ \nextlarger{logicalanddisplay}
+\endsetslot
+
+\setslot{logicalortext}
+ \nextlarger{logicalordisplay}
+\endsetslot
+
+\setslot{summationdisplay}
+\endsetslot
+
+\setslot{productdisplay}
+\endsetslot
+
+\setslot{integraldisplay}
+\endsetslot
+
+\setslot{uniondisplay}
+\endsetslot
+
+\setslot{intersectiondisplay}
+\endsetslot
+
+\setslot{unionmultidisplay}
+\endsetslot
+
+\setslot{logicalanddisplay}
+\endsetslot
+
+\setslot{logicalordisplay}
+\endsetslot
+
+\setslot{coproducttext}
+ \nextlarger{coproductdisplay}
+\endsetslot
+
+\setslot{coproductdisplay}
+\endsetslot
+
+\setslot{hatwide}
+ \nextlarger{hatwider}
+\endsetslot
+
+\setslot{hatwider}
+ \nextlarger{hatwidest}
+\endsetslot
+
+\setslot{hatwidest}
+\endsetslot
+
+\setslot{tildewide}
+ \nextlarger{tildewider}
+\endsetslot
+
+\setslot{tildewider}
+ \nextlarger{tildewidest}
+\endsetslot
+
+\setslot{tildewidest}
+\endsetslot
+
+\setslot{bracketleftBig}
+ \nextlarger{bracketleftbigg}
+\endsetslot
+
+\setslot{bracketrightBig}
+ \nextlarger{bracketrightbigg}
+\endsetslot
+
+\setslot{floorleftBig}
+ \nextlarger{floorleftbigg}
+\endsetslot
+
+\setslot{floorrightBig}
+ \nextlarger{floorrightbigg}
+\endsetslot
+
+\setslot{ceilingleftBig}
+ \nextlarger{ceilingleftbigg}
+\endsetslot
+
+\setslot{ceilingrightBig}
+ \nextlarger{ceilingrightbigg}
+\endsetslot
+
+\setslot{braceleftBig}
+ \nextlarger{braceleftbigg}
+\endsetslot
+
+\setslot{bracerightBig}
+ \nextlarger{bracerightbigg}
+\endsetslot
+
+\setslot{radicalbig}
+ \nextlarger{radicalBig}
+\endsetslot
+
+\setslot{radicalBig}
+ \nextlarger{radicalbigg}
+\endsetslot
+
+\setslot{radicalbigg}
+ \nextlarger{radicalBigg}
+\endsetslot
+
+\setslot{radicalBigg}
+ \nextlarger{radicalbt}
+\endsetslot
+
+\setslot{radicalbt}
+ \varchar
+ \varbot{radicalbt}
+ \vartop{radicaltp}
+ \varrep{radicalvertex}
+ \endvarchar
+\endsetslot
+
+\setslot{radicalvertex}
+\endsetslot
+
+\setslot{radicaltp}
+\endsetslot
+
+\setslot{arrowvertexdbl}
+ \varchar
+ \vartop{arrowdbltp}
+ \varbot{arrowdblbt}
+ \varrep{arrowvertexdbl}
+ \endvarchar
+\endsetslot
+
+\setslot{arrowtp}
+ \varchar
+ \vartop{arrowtp}
+ \varrep{arrowvertex}
+ \endvarchar
+\endsetslot
+
+\setslot{arrowbt}
+ \varchar
+ \varbot{arrowbt}
+ \varrep{arrowvertex}
+ \endvarchar
+\endsetslot
+
+\setslot{bracehtipdownleft}
+\endsetslot
+
+\setslot{bracehtipdownright}
+\endsetslot
+
+\setslot{bracehtipupleft}
+\endsetslot
+
+\setslot{bracehtipupright}
+\endsetslot
+
+\setslot{arrowdbltp}
+ \varchar
+ \vartop{arrowdbltp}
+ \varrep{arrowvertexdbl}
+ \endvarchar
+\endsetslot
+
+\setslot{arrowdblbt}
+ \varchar
+ \varbot{arrowdblbt}
+ \varrep{arrowvertexdbl}
+ \endvarchar
+\endsetslot
+
+\endencoding
+
+
+\section{Changes}
+
+\parindent=1em
+
+29 Dec 1993, v1.30: Created file.
+
+03 Jan 1994, v1.301:
+Moved from \texttt{ltugboat} to \texttt{article} class.
+
+04 Jan 1994, v1.302:
+Renamed \texttt{loweredradical} to \texttt{radicallow}.
+
+06 Jan 1994, v1.303: Corrected a fontdimen bug.
+
+09 Jan 1994, v1.305: Changed some names to use the same glyph names
+ as Lucida New Math.
+
+10 Oct 1997, v1.306:
+Ulrik Vieth found a bug in the varchar recipe for the
+\texttt{parenrightbt} slot.
+
+10 October 2000, v\,1.915:
+Introduced intermediate variables for fontdimens 8--13.
+Added \texttt{encodingname}. Added glyph examples.
+Markup updates. (LH)
+
+20 November 2000, v\,1.915:
+Changed glyph names \texttt{arrowdblvertex}, \texttt{hatwiderr}, and
+\texttt{tildewiderr} to \texttt{arrowvertexdbl}, \texttt{hatwidest},
+and \texttt{tildewidest} respectively to really use the same names as
+\texttt{texmext.enc} and Lucida New Math. (LH) Reported by Alejandro
+L\'{o}pez-Valencia.
+
+22 November 2000, v\,1.915:
+Added explanations of the \verb|\varchar| entries for
+\texttt{braceleftmid} and \texttt{bracerightmid}. (LH)
+
+27 July 2002, v\,1.921:
+Introduced intermediate variables for fontdimens 1--7.
+Using \verb"\setfontdimen". (LH)
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathetx/rsfs.etx b/Master/texmf-dist/tex/fontinst/mathetx/rsfs.etx
new file mode 100644
index 00000000000..adfd02dd207
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathetx/rsfs.etx
@@ -0,0 +1,92 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Ulrik Vieth",
+%%% version = "1.801",
+%%% date = "29 June 1998",
+%%% time = "23:57:31 CEST",
+%%% filename = "rsfs.etx",
+%%% email = "vieth@thphy.uni-duesseldorf.de",
+%%% URL = "http://www.thphy.uni-duesseldorf.de/~vieth/",
+%%% checksum = "22539 92 192 2580",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the encoding of Ralph Smith's Formal
+%%% Script font as a TeX font encoding file, for
+%%% use with the fontinst utility.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\useexamplefont{rsfs10}
+
+\title{Ralph Smith's Formal Script font encoding vector}
+\author{Ulrik Vieth}
+
+\begin{document}
+\maketitle
+
+\encoding
+
+\comment{\section{Default values}}
+
+\setstr{codingscheme}{RAS SCRIPT}
+\setint{italicslant}{707}
+\setint{xheight}{233}
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{0} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{0} % extra space after .
+
+\comment{\section{The encoding}}
+
+\nextslot{65}
+\setslotcomment{The Script letter `\slotexample'.}
+
+\setslot{A}\endsetslot
+\setslot{B}\endsetslot
+\setslot{C}\endsetslot
+\setslot{D}\endsetslot
+\setslot{E}\endsetslot
+\setslot{F}\endsetslot
+\setslot{G}\endsetslot
+\setslot{H}\endsetslot
+\setslot{I}\endsetslot
+\setslot{J}\endsetslot
+\setslot{K}\endsetslot
+\setslot{L}\endsetslot
+\setslot{M}\endsetslot
+\setslot{N}\endsetslot
+\setslot{O}\endsetslot
+\setslot{P}\endsetslot
+\setslot{Q}\endsetslot
+\setslot{R}\endsetslot
+\setslot{S}\endsetslot
+\setslot{T}\endsetslot
+\setslot{U}\endsetslot
+\setslot{V}\endsetslot
+\setslot{W}\endsetslot
+\setslot{X}\endsetslot
+\setslot{Y}\endsetslot
+\setslot{Z}\endsetslot
+
+\nextslot{127}
+\unsetslotcomment
+
+\setslot{tie}
+ \comment{The skewchar.}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathmtx/mathex.mtx b/Master/texmf-dist/tex/fontinst/mathmtx/mathex.mtx
new file mode 100644
index 00000000000..73170fa7cf4
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathmtx/mathex.mtx
@@ -0,0 +1,303 @@
+%%%========================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey and Lars Hellstr{\"o}m",
+%%% version = "1.915",
+%%% date = "20 November 2000",
+%%% time = "17:01:00 CEST",
+%%% filename = "mathex.mtx",
+%%% checksum = "",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "These are the extra glyphs needed for TeX
+%%% math fonts, used by the fontinst package.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%%========================================================================
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\title{The \texttt{fontinst} math symbol glyphs}
+\author{Alan Jeffrey\and Lars Hellstr\"om}
+\date{November 20, 2000}
+
+\showbranches
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the glyphs used by the \texttt{fontinst}
+package when generating math symbol fonts.
+
+\metrics
+
+% Uses the fontinst package.
+
+\needsfontinstversion{1.900}
+
+
+% \unfakable is a glyph which can't be faked.
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \glyphrule{500}{500}
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+\begincomment\medskip
+An \textbf{Unfakable} is a glyph which can't be faked. An
+``\textbf{Unfakable `\#1'}\,'' is equivalent to
+\begin{quotation}\unfakable{\#1}\end{quotation}
+
+\resetcommand\unfakable#1{\Aheading{Unfakable `#1'}}
+\endcomment
+
+
+% \extensible and \vextensible define a number of extensible glyphs.
+\setcommand\extensible#1{
+ \begincomment
+ \subsection{The `#1' extensible}%
+ \endcomment
+ \unfakable{#1}
+ \unfakable{#1tp}
+ \unfakable{#1mid}
+ \unfakable{#1bt}
+ \unfakable{#1ex}
+ \setglyph{#1big} \glyph{#1}{1000} \endsetglyph
+ \setglyph{#1Big} \glyph{#1big}{1000} \endsetglyph
+ \setglyph{#1bigg} \glyph{#1Big}{1000} \endsetglyph
+ \setglyph{#1Bigg} \glyph{#1bigg}{1000} \endsetglyph
+}
+
+\setcommand\vextensible#1{
+ \begincomment
+ \subsection{The `#1' extensible}%
+ \endcomment
+ \unfakable{#1}
+ \unfakable{#1tp}
+ \unfakable{#1mid}
+ \unfakable{#1bt}
+ \unfakable{#1vertex}
+ \setglyph{#1big} \glyph{#1}{1000} \endsetglyph
+ \setglyph{#1Big} \glyph{#1big}{1000} \endsetglyph
+ \setglyph{#1bigg} \glyph{#1Big}{1000} \endsetglyph
+ \setglyph{#1Bigg} \glyph{#1bigg}{1000} \endsetglyph
+}
+
+% \wideaccent defines a wide accent.
+\setcommand\wideaccent#1{
+ \begincomment
+ \subsection{The `#1' wide accents}%
+ \endcomment
+ \unfakable{#1}
+ \setglyph{#1wide} \glyph{#1}{1000} \endsetglyph
+ \setglyph{#1wider} \glyph{#1wide}{1000} \endsetglyph
+ \setglyph{#1widest} \glyph{#1wider}{1000} \endsetglyph
+}
+
+\comment{\textit{displayoperatorscale} is the difference in scale
+between a big and a display operator, exept for integrals, which have
+their own scale.}
+\setint{displayoperatorscale}{1200}
+\setint{integralscale}{1728}
+
+\ifisglyph{product}\then
+ \setint{textoperatorsize}{
+ \add{\height{product}}{\depth{product}}
+ }
+\Else
+ \setint{textoperatorsize}{1000}
+ % Default taken from cmex10.
+\Fi
+
+% \integral, \bigoperator and \biggoperator define operators.
+
+\setcommand\integral#1{
+ \begincomment
+ \subsection{The `#1' integrals}%
+ \endcomment
+ \unfakable{#1}
+ \setglyph{#1text} \glyph{#1}{1000} \endsetglyph
+ \setglyph{#1display} \glyph{#1text}{\int{integralscale}} \endsetglyph
+}
+
+\setcommand\bigoperator#1{
+ \begincomment
+ \subsection{The `#1' big operators}%
+ \endcomment
+ \unfakable{#1}
+ \setglyph{#1text} \glyph{#1}{1000} \endsetglyph
+ \setglyph{#1display} \glyph{#1text}{\int{displayoperatorscale}} \endsetglyph
+}
+
+\setcommand\biggoperator#1{
+ \begincomment
+ \subsection{The `#1' big operators}%
+ \endcomment
+ \unfakable{#1}
+ \setglyph{#1text}
+ \glyph{#1}{
+ \div{\mul{1000}{\int{textoperatorsize}}}
+ {\add{\height{#1}}{\depth{#1}}}
+ }
+ \endsetglyph
+ \setglyph{#1display}
+ \glyph{#1text}{\int{displayoperatorscale}}
+ \endsetglyph
+}
+
+
+\begincomment
+\section{Math extension glyphs}
+\endcomment
+
+\unfakable{bracketleftbt}
+\unfakable{bracketrightbt}
+\unfakable{bracketlefttp}
+\unfakable{bracketrighttp}
+
+\setglyph{floorleft}
+ \glyph{bracketleftbt}{1000}
+\endsetglyph
+
+\setglyph{floorright}
+ \glyph{bracketrightbt}{1000}
+\endsetglyph
+
+\setglyph{ceilingleft}
+ \glyph{bracketlefttp}{1000}
+\endsetglyph
+
+\setglyph{ceilingright}
+ \glyph{bracketrighttp}{1000}
+\endsetglyph
+
+\setglyph{bardbl}
+ \glyph{bar}{1000}
+ \glyph{bar}{1000}
+\endsetglyph
+
+\setglyph{barex}
+ \glyph{bar}{1000}
+\endsetglyph
+
+\setglyph{bardblex}
+ \glyph{bardbl}{1000}
+\endsetglyph
+
+\setglyph{arrowtp}
+ \glyph{arrowup}{1000}
+\endsetglyph
+
+\setglyph{arrowbt}
+ \glyph{arrowdown}{1000}
+\endsetglyph
+
+\setglyph{arrowdbltp}
+ \glyph{arrowdblup}{1000}
+\endsetglyph
+
+\setglyph{arrowdblbt}
+ \glyph{arrowdbldown}{1000}
+\endsetglyph
+
+\unfakable{tilde}
+
+\setglyph{hat}
+ \glyph{circumflex}{1000}
+\endsetglyph
+
+\unfakable{plus}
+\unfakable{union}
+
+\setglyph{unionmulti}
+ \push
+ \movert{\div{\sub{\width{union}}{\scale{\width{plus}}{700}}}{2}}
+ \moveup{\div{\width{plus}}{4}}
+ \glyph{plus}{700}
+ \pop
+ \glyph{union}{1000}
+\endsetglyph
+
+\extensible{parenleft}
+\extensible{parenright}
+\extensible{bracketleft}
+\extensible{bracketright}
+\extensible{braceleft}
+\extensible{braceright}
+\extensible{floorleft}
+\extensible{floorright}
+\extensible{ceilingleft}
+\extensible{ceilingright}
+\extensible{slash}
+\extensible{backslash}
+\extensible{angleleft}
+\extensible{angleright}
+
+\wideaccent{hat}
+\wideaccent{tilde}
+
+\vextensible{radical}
+\vextensible{arrow}
+\extensible{arrowdbl}
+\unfakable{arrowvertexdbl}
+
+\biggoperator{unionsq}
+\biggoperator{circledot}
+\biggoperator{circleplus}
+\biggoperator{circlemultiply}
+\biggoperator{unionmulti}
+\biggoperator{intersection}
+\biggoperator{union}
+\biggoperator{logicaland}
+\biggoperator{logicalor}
+
+\bigoperator{product}
+\bigoperator{summation}
+\bigoperator{coproduct}
+
+\integral{integral}
+\integral{contintegral}
+
+\begincomment
+\subsection{Horizontal braces}
+\endcomment
+
+\unfakable{bracehtipdownleft}
+\unfakable{bracehtipdownright}
+\unfakable{bracehtipupleft}
+\unfakable{bracehtipupright}
+
+\endmetrics
+
+
+\section{Changes}
+
+29 Dec 1993, v1.30: Created file.
+
+3 Jan 1994, v1.301: Renamed some of the glyphs, added fakes for
+\texttt{arrowverttp} and friends.
+
+8 Jan 1994, v1.304: Renamed \texttt{similareq} to \texttt{similarequal}.
+
+9 Jan 1994, v1.305: Renamed some glyphs to use the same names as Lucida
+New Math.
+
+16 October 2000, v\,1.915: Updated markup (made it a \LaTeXe\
+document!). (LH)
+
+20 November 2000, v\,1.915: Added test for whether the \texttt{product}
+glyph exists before setting the \textit{textoperatorsize}, using
+value corresponding to \texttt{cmex10} if it doesn't. Changed
+\verb|\wideaccent| to call the widest glyph \textellipsis\texttt{widest}
+instead of \textellipsis\texttt{widerr}. Changed glyph name
+\texttt{arrowdblvertex} to \texttt{arrowvertexdbl}. (LH) Reported by
+Alejandro L\'{o}pez-Valencia.
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/mathmtx/mathit.mtx b/Master/texmf-dist/tex/fontinst/mathmtx/mathit.mtx
new file mode 100644
index 00000000000..67b72503781
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathmtx/mathit.mtx
@@ -0,0 +1,280 @@
+%%%========================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey",
+%%% version = "1.915",
+%%% date = "16 October 2000",
+%%% time = "17:30:00 CEST",
+%%% filename = "mathit.mtx",
+%%% checksum = "",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "These are the extra glyphs needed for TeX
+%%% math italic fonts, used by the fontinst package.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, ltugboat.sty",
+%%% }
+%%%========================================================================
+\relax
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\title{The \texttt{fontinst} math italic glyphs}
+\author{Alan Jeffrey}
+\date{9 January 1994}
+
+%\address{School of Cognitive and Computing Sciences \\
+% University of Sussex \\
+% Falmer \\
+% Brighton \\
+% BN1 9QH \\
+% UK}
+%\netaddress{alanje@cogs.susx.ac.uk}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the glyphs used by the \texttt{fontinst}
+package when generating math italic fonts.
+
+
+\metrics
+
+% Uses the fontinst package.
+
+\needsfontinstversion{1.30}
+
+% \unfakable is a glyph which can't be faked.
+
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \glyphrule{500}{500}
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+
+\comment{\section{Math symbol glyphs}}
+
+\unfakable{Gamma}
+\unfakable{Delta}
+\unfakable{Theta}
+\unfakable{Lambda}
+\unfakable{Xi}
+\unfakable{Pi}
+\unfakable{Sigma}
+\unfakable{Phi}
+\unfakable{Psi}
+\unfakable{Omega}
+\unfakable{alpha}
+\unfakable{beta}
+\unfakable{gamma}
+\unfakable{delta}
+\unfakable{zeta}
+\unfakable{eta}
+\unfakable{theta}
+\unfakable{iota}
+\unfakable{kappa}
+\unfakable{lambda}
+\unfakable{mu}
+\unfakable{nu}
+\unfakable{xi}
+\unfakable{pi}
+\unfakable{rho}
+\unfakable{sigma}
+\unfakable{tau}
+\unfakable{upsilon}
+\unfakable{phi}
+\unfakable{chi}
+\unfakable{psi}
+\unfakable{omega}
+\unfakable{epsilon}
+\unfakable{harpoonleftup}
+\unfakable{harpoonleftdown}
+\unfakable{harpoonrightup}
+\unfakable{harpoonrightdown}
+\unfakable{hookrightchar}
+\unfakable{hookleftchar}
+\unfakable{triangleright}
+\unfakable{triangleleft}
+\unfakable{period}
+\unfakable{comma}
+\unfakable{less}
+\unfakable{slash}
+\unfakable{greater}
+\unfakable{star}
+\unfakable{partialdiff}
+\unfakable{A}
+\unfakable{B}
+\unfakable{C}
+\unfakable{D}
+\unfakable{E}
+\unfakable{F}
+\unfakable{G}
+\unfakable{H}
+\unfakable{I}
+\unfakable{J}
+\unfakable{K}
+\unfakable{L}
+\unfakable{M}
+\unfakable{N}
+\unfakable{O}
+\unfakable{P}
+\unfakable{Q}
+\unfakable{R}
+\unfakable{S}
+\unfakable{T}
+\unfakable{U}
+\unfakable{V}
+\unfakable{W}
+\unfakable{X}
+\unfakable{Y}
+\unfakable{Z}
+\unfakable{flat}
+\unfakable{sharp}
+\unfakable{natural}
+\unfakable{slurabove}
+\unfakable{slurbelow}
+\unfakable{lscript}
+\unfakable{a}
+\unfakable{b}
+\unfakable{c}
+\unfakable{d}
+\unfakable{e}
+\unfakable{f}
+\unfakable{g}
+\unfakable{h}
+\unfakable{i}
+\unfakable{j}
+\unfakable{k}
+\unfakable{l}
+\unfakable{m}
+\unfakable{n}
+\unfakable{o}
+\unfakable{p}
+\unfakable{q}
+\unfakable{r}
+\unfakable{s}
+\unfakable{t}
+\unfakable{u}
+\unfakable{v}
+\unfakable{w}
+\unfakable{x}
+\unfakable{y}
+\unfakable{z}
+\unfakable{dotlessi}
+\unfakable{dotlessj}
+\unfakable{weierstrass}
+\unfakable{tie}
+
+\unfakable{Upsilon}
+\setglyph{Upsilon1}
+ \glyph{Upsilon}{1000}
+\endsetglyph
+
+\setglyph{epsilon1}
+ \glyph{epsilon}{1000}
+\endsetglyph
+
+\setglyph{theta1}
+ \glyph{theta}{1000}
+\endsetglyph
+
+\setglyph{pi1}
+ \ifisglyph{omega1}\then
+ \glyph{omega1}{1000}
+ \else
+ \glyph{pi}{1000}
+ \fi
+\endsetglyph
+
+\setglyph{rho1}
+ \glyph{rho}{1000}
+\endsetglyph
+
+\setglyph{sigma1}
+ \glyph{sigma}{1000}
+\endsetglyph
+
+\setglyph{phi1}
+ \glyph{phi}{1000}
+\endsetglyph
+
+\unfakable{zero}
+\unfakable{one}
+\unfakable{two}
+\unfakable{three}
+\unfakable{four}
+\unfakable{five}
+\unfakable{six}
+\unfakable{seven}
+\unfakable{eight}
+\unfakable{nine}
+
+\setglyph{zerooldstyle}
+ \glyph{zero}{1000}
+\endsetglyph
+
+\setglyph{oneoldstyle}
+ \glyph{one}{1000}
+\endsetglyph
+
+\setglyph{twooldstyle}
+ \glyph{two}{1000}
+\endsetglyph
+
+\setglyph{threeoldstyle}
+ \glyph{three}{1000}
+\endsetglyph
+
+\setglyph{fouroldstyle}
+ \glyph{four}{1000}
+\endsetglyph
+
+\setglyph{fiveoldstyle}
+ \glyph{five}{1000}
+\endsetglyph
+
+\setglyph{sixoldstyle}
+ \glyph{six}{1000}
+\endsetglyph
+
+\setglyph{sevenoldstyle}
+ \glyph{seven}{1000}
+\endsetglyph
+
+\setglyph{eightoldstyle}
+ \glyph{eight}{1000}
+\endsetglyph
+
+\setglyph{nineoldstyle}
+ \glyph{nine}{1000}
+\endsetglyph
+
+\unfakable{arrowright}
+
+\setglyph{vector}
+ \moveup{\int{xheight}}
+ \glyph{arrowright}{500}
+ \moveup{\neg{\int{xheight}}}
+\endsetglyph
+
+\endmetrics
+
+
+\section{Changes}
+
+29 Dec 1993, v1.30: Created file.
+
+3 Jan 1994, v1.301: Renamed \texttt{neutral} to \texttt{natural}.
+
+9 Jan 1994, v1.305:
+Renamed some glyphs to use the same names as Lucida New Math.
+
+16 October 2000, v\,1.915:
+Updated markup (made it a \LaTeXe\ document!). (LH)
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/fontinst/mathmtx/mathsy.mtx b/Master/texmf-dist/tex/fontinst/mathmtx/mathsy.mtx
new file mode 100644
index 00000000000..30737d2a07a
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/mathmtx/mathsy.mtx
@@ -0,0 +1,313 @@
+%%%========================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Alan Jeffrey",
+%%% version = "1.915",
+%%% date = "26 October 2000",
+%%% time = "11:36:00 CEST",
+%%% filename = "mathex.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, math, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "These are the extra glyphs needed for TeX
+%%% math extension fonts, used by the fontinst
+%%% package.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%%========================================================================
+\relax
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[1999/11/04]
+
+\title{The \texttt{fontinst} math symbol glyphs}
+\author{Alan Jeffrey}
+\date{January 10, 1994}
+% \address{School of Cognitive and Computing Sciences \\
+% University of Sussex \\
+% Falmer \\
+% Brighton \\
+% BN1 9QH \\
+% UK}
+% \netaddress{alanje@cogs.susx.ac.uk}
+
+\begin{document}
+
+\maketitle
+
+\section{Introduction}
+
+This document describes the glyphs used by the \texttt{fontinst}
+package when generating math symbol fonts.
+
+\raggedright
+
+\metrics
+
+% Uses the fontinst package.
+
+\needsfontinstversion{1.900}
+
+% \unfakable is a glyph which can't be faked.
+
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \glyphrule{500}{500}
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+
+\begincomment
+\section{Math symbol glyphs}
+\endcomment
+
+\unfakable{minus}
+\unfakable{periodcentered}
+\unfakable{multiply}
+\unfakable{asteriskmath}
+\unfakable{divide}
+\unfakable{diamondmath}
+\unfakable{plusminus}
+\unfakable{minusplus}
+\unfakable{circleplus}
+\unfakable{circleminus}
+\unfakable{circlemultiply}
+\unfakable{circledivide}
+\unfakable{circledot}
+\unfakable{circlecopyrt}
+\unfakable{bullet}
+\unfakable{equivasymptotic}
+\unfakable{equivalence}
+\unfakable{reflexsubset}
+\unfakable{reflexsuperset}
+\unfakable{lessequal}
+\unfakable{greaterequal}
+\unfakable{precedesequal}
+\unfakable{followsequal}
+\unfakable{similar}
+\unfakable{approxequal}
+\unfakable{propersubset}
+\unfakable{propersuperset}
+\unfakable{curlyless}
+\unfakable{curlygreater}
+\unfakable{arrowleft}
+\unfakable{arrowright}
+\unfakable{arrowup}
+\unfakable{arrowdown}
+\unfakable{arrowboth}
+\unfakable{arrownortheast}
+\unfakable{arrowsoutheast}
+\unfakable{similarequal}
+\unfakable{arrowdblleft}
+\unfakable{arrowdblright}
+\unfakable{arrowdblup}
+\unfakable{arrowdbldown}
+\unfakable{arrowdblboth}
+\unfakable{arrownorthwest}
+\unfakable{arrowsouthwest}
+\unfakable{proportional}
+\unfakable{infinity}
+\unfakable{element}
+\unfakable{owner}
+\unfakable{triangle}
+\unfakable{triangleinv}
+\unfakable{slash}
+\unfakable{mapstochar}
+\unfakable{universal}
+\unfakable{existential}
+\unfakable{logicalnot}
+\unfakable{emptyset}
+\unfakable{Rfraktur}
+\unfakable{Ifraktur}
+\unfakable{perpendicular}
+\unfakable{latticetop}
+\unfakable{aleph}
+\unfakable{A}
+\unfakable{B}
+\unfakable{C}
+\unfakable{D}
+\unfakable{E}
+\unfakable{F}
+\unfakable{G}
+\unfakable{H}
+\unfakable{I}
+\unfakable{J}
+\unfakable{K}
+\unfakable{L}
+\unfakable{M}
+\unfakable{N}
+\unfakable{O}
+\unfakable{P}
+\unfakable{Q}
+\unfakable{R}
+\unfakable{S}
+\unfakable{T}
+\unfakable{U}
+\unfakable{V}
+\unfakable{W}
+\unfakable{X}
+\unfakable{Y}
+\unfakable{Z}
+\unfakable{union}
+\unfakable{intersection}
+\unfakable{logicaland}
+\unfakable{logicalor}
+\unfakable{turnstileleft}
+\unfakable{turnstileright}
+\unfakable{braceleft}
+\unfakable{braceright}
+\unfakable{angleleft}
+\unfakable{angleright}
+\unfakable{bar}
+\unfakable{arrowbothv}
+\unfakable{arrowdblbothv}
+\unfakable{backslash}
+\unfakable{wreathproduct}
+\unfakable{coproduct}
+\unfakable{gradient}
+\unfakable{integral}
+\unfakable{unionsq}
+\unfakable{intersectionsq}
+\unfakable{subsetsqequal}
+\unfakable{supersetsqequal}
+\unfakable{section}
+\unfakable{dagger}
+\unfakable{daggerdbl}
+\unfakable{paragraph}
+\unfakable{club}
+\unfakable{diamond}
+\unfakable{heart}
+\unfakable{spade}
+
+\unfakable{degree}
+
+\setglyph{largedegree}
+ \glyph{degree}{
+ \div{\mul{1000}{\width{bullet}}}{\width{degree}}
+ }
+\endsetglyph
+
+\setglyph{openbullet}
+ \moveup{\sub{\height{bullet}}{\height{largedegree}}}
+ \glyph{largedegree}{1000}
+ \moveup{\sub{\height{largedegree}}{\height{bullet}}}
+\endsetglyph
+
+\unfakable{minute}
+
+\setglyph{prime}
+ \moveup{\sub{\height{bullet}}{\height{largedegree}}}
+ \glyph{minute}{\div{\mul{1000}{\width{bullet}}}{\width{degree}}}
+ \moveup{\sub{\height{largedegree}}{\height{bullet}}}
+\endsetglyph
+
+\unfakable{less}
+\unfakable{greater}
+
+\setglyph{lessmuch}
+ \glyph{less}{1000}
+ \movert{\scale{\width{less}}{-400}}
+ \glyph{less}{1000}
+\endsetglyph
+
+\setglyph{greatermuch}
+ \glyph{greater}{1000}
+ \movert{\scale{\width{greater}}{-400}}
+ \glyph{greater}{1000}
+\endsetglyph
+
+\unfakable{zero}
+
+\setglyph{emptysetstress}
+ \push
+ \movert{
+ \div{\sub{\width{zero}}{\width{slash}}}{2}
+ }
+ \moveup{
+ \div{
+ \sub{
+ \add{\height{zero}}{\depth{slash}}
+ }{
+ \add{\height{slash}}{\depth{zero}}
+ }
+ }{2}
+ }
+ \glyph{slash}{1000}
+ \pop
+ \glyph{zero}{1000}
+\endsetglyph
+
+\setglyph{unionmulti}
+ \push
+ \movert{\div{\sub{\width{union}}{\scale{\width{plus}}{700}}}{2}}
+ \moveup{\div{\width{plus}}{4}}
+ \glyph{plus}{700}
+ \pop
+ \glyph{union}{1000}
+\endsetglyph
+
+\unfakable{bracketleftbt}
+\unfakable{bracketrightbt}
+\unfakable{bracketlefttp}
+\unfakable{bracketrighttp}
+
+\setglyph{floorleft}
+ \glyph{bracketleftbt}{1000}
+\endsetglyph
+
+\setglyph{floorright}
+ \glyph{bracketrightbt}{1000}
+\endsetglyph
+
+\setglyph{ceilingleft}
+ \glyph{bracketlefttp}{1000}
+\endsetglyph
+
+\setglyph{ceilingright}
+ \glyph{bracketrighttp}{1000}
+\endsetglyph
+
+\setglyph{bardbl}
+ \glyph{bar}{1000}
+ \glyph{bar}{1000}
+\endsetglyph
+
+\unfakable{radical}
+\unfakable{radicalex}
+
+\setglyph{radicallow}
+ \moveup{\sub{\add{\height{radicalex}}{\depth{radicalex}}}{\height{radical}}}
+ \glyph{radical}{1000}
+ \moveup{\sub{\height{radical}}{\int{underlinethickness}}}
+\endsetglyph
+
+\setglyph{negationslash}
+ \push
+ \movert{\div{\sub{\width{arrowright}}{\width{slash}}}{2}}
+ \glyph{slash}{1000}
+ \pop
+\endsetglyph
+
+\endmetrics
+
+\section{Changes}
+
+
+29 Dec 1993, v1.30: Created file.
+
+3 Jan 1994, v1.301: Renamed some of the glyphs, added fakes for
+\texttt{arrowverttp} and friends.
+
+8 Jan 1994, v1.304: Renamed \texttt{similareq} to \texttt{similarequal}.
+
+9 Jan 1994, v1.305:
+Renamed some glyphs to use the same names as Lucida New Math.
+
+10 Jan 1994, v1.306: Split \texttt{mathsym.mtx} into \texttt{mathsy.mtx}
+(math symbols) and \texttt{mathex.mtx} (math extensions).
+
+16 October 2000, v\,1.915: Updated markup (made it a \LaTeXe\
+document!). (LH)
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/fontinst/misc/csc2x.tex b/Master/texmf-dist/tex/fontinst/misc/csc2x.tex
new file mode 100644
index 00000000000..092840e00dd
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/csc2x.tex
@@ -0,0 +1,118 @@
+%%
+%% This is file `csc2x.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ficonv.dtx (with options: `reglyphfigures,reglyphletters,glyphs')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: ficonv.dtx
+\renameglyph{Asmall}{a}
+\renameglyph{Bsmall}{b}
+\renameglyph{Csmall}{c}
+\renameglyph{Dsmall}{d}
+\renameglyph{Esmall}{e}
+\renameglyph{Fsmall}{f}
+\renameglyph{Gsmall}{g}
+\renameglyph{Hsmall}{h}
+\renameglyph{Ismall}{i}
+\renameglyph{Jsmall}{j}
+\renameglyph{Ksmall}{k}
+\renameglyph{Lsmall}{l}
+\renameglyph{Msmall}{m}
+\renameglyph{Nsmall}{n}
+\renameglyph{Osmall}{o}
+\renameglyph{Psmall}{p}
+\renameglyph{Qsmall}{q}
+\renameglyph{Rsmall}{r}
+\renameglyph{Ssmall}{s}
+\renameglyph{Tsmall}{t}
+\renameglyph{Usmall}{u}
+\renameglyph{Vsmall}{v}
+\renameglyph{Wsmall}{w}
+\renameglyph{Xsmall}{x}
+\renameglyph{Ysmall}{y}
+\renameglyph{Zsmall}{z}
+\renameglyph{zerooldstyle}{zero}
+\renameglyph{oneoldstyle}{one}
+\renameglyph{twooldstyle}{two}
+\renameglyph{threeoldstyle}{three}
+\renameglyph{fouroldstyle}{four}
+\renameglyph{fiveoldstyle}{five}
+\renameglyph{sixoldstyle}{six}
+\renameglyph{sevenoldstyle}{seven}
+\renameglyph{eightoldstyle}{eight}
+\renameglyph{nineoldstyle}{nine}
+\renameglyph{Acutesmall}{acute}
+\renameglyph{Brevesmall}{breve}
+\renameglyph{Caronsmall}{caron}
+\renameglyph{Cedillasmall}{cedilla}
+\renameglyph{Circumflexsmall}{circumflex}
+\renameglyph{Dieresissmall}{dieresis}
+\renameglyph{Dotaccentsmall}{dotaccent}
+\renameglyph{Gravesmall}{grave}
+\renameglyph{Hungarumlautsmall}{hungarumlaut}
+\renameglyph{Macronsmall}{macron}
+\renameglyph{Ogoneksmall}{ogonek}
+\renameglyph{Ringsmall}{ring}
+\renameglyph{Tildesmall}{tilde}
+\renameglyph{ampersandsmall}{ampersand}
+\renameglyph{centoldstyle}{cent}
+\renameglyph{dollaroldstyle}{dollar}
+\renameglyph{AEsmall}{ae}
+\renameglyph{Ethsmall}{eth}
+\renameglyph{Lslashsmall}{lslash}
+\renameglyph{Oslashsmall}{oslash}
+\renameglyph{OEsmall}{oe}
+\renameglyph{Thornsmall}{thorn}
+\renameglyph{Agravesmall}{agrave}
+\renameglyph{Egravesmall}{egrave}
+\renameglyph{Igravesmall}{igrave}
+\renameglyph{Ogravesmall}{ograve}
+\renameglyph{Ugravesmall}{ugrave}
+\renameglyph{Aacutesmall}{aacute}
+\renameglyph{Eacutesmall}{eacute}
+\renameglyph{Iacutesmall}{iacute}
+\renameglyph{Oacutesmall}{oacute}
+\renameglyph{Uacutesmall}{uacute}
+\renameglyph{Yacutesmall}{yacute}
+\renameglyph{Acircumflexsmall}{acircumflex}
+\renameglyph{Ecircumflexsmall}{ecircumflex}
+\renameglyph{Icircumflexsmall}{icircumflex}
+\renameglyph{Ocircumflexsmall}{ocircumflex}
+\renameglyph{Ucircumflexsmall}{ucircumflex}
+\renameglyph{Atildesmall}{atilde}
+\renameglyph{Ntildesmall}{ntilde}
+\renameglyph{Otildesmall}{otilde}
+\renameglyph{Adieresissmall}{adieresis}
+\renameglyph{Edieresissmall}{edieresis}
+\renameglyph{Idieresissmall}{idieresis}
+\renameglyph{Odieresissmall}{odieresis}
+\renameglyph{Ydieresissmall}{ydieresis}
+\renameglyph{Udieresissmall}{udieresis}
+\renameglyph{Aringsmall}{aring}
+\renameglyph{Ccedillasmall}{ccedilla}
+\renameglyph{Scaronsmall}{scaron}
+\renameglyph{Zcaronsmall}{zcaron}
+\killglyph{dotlessi}
+\renameglyph{FIsmall}{fi}
+\renameglyph{FLsmall}{fl}
+\renameglyph{SSsmall}{germandbls}
+\endinput
+%%
+%% End of file `csc2x.tex'.
diff --git a/Master/texmf-dist/tex/fontinst/misc/csckrn2x.tex b/Master/texmf-dist/tex/fontinst/misc/csckrn2x.tex
new file mode 100644
index 00000000000..91428e1a4d2
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/csckrn2x.tex
@@ -0,0 +1,121 @@
+%%
+%% This is file `csckrn2x.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ficonv.dtx (with options: `reglyphfigures,reglyphletters')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: ficonv.dtx
+\renameglyph{Asmall}{a}
+\renameglyph{Bsmall}{b}
+\renameglyph{Csmall}{c}
+\renameglyph{Dsmall}{d}
+\renameglyph{Esmall}{e}
+\renameglyph{Fsmall}{f}
+\renameglyph{Gsmall}{g}
+\renameglyph{Hsmall}{h}
+\renameglyph{Ismall}{i}
+\renameglyph{Jsmall}{j}
+\renameglyph{Ksmall}{k}
+\renameglyph{Lsmall}{l}
+\renameglyph{Msmall}{m}
+\renameglyph{Nsmall}{n}
+\renameglyph{Osmall}{o}
+\renameglyph{Psmall}{p}
+\renameglyph{Qsmall}{q}
+\renameglyph{Rsmall}{r}
+\renameglyph{Ssmall}{s}
+\renameglyph{Tsmall}{t}
+\renameglyph{Usmall}{u}
+\renameglyph{Vsmall}{v}
+\renameglyph{Wsmall}{w}
+\renameglyph{Xsmall}{x}
+\renameglyph{Ysmall}{y}
+\renameglyph{Zsmall}{z}
+\renameglyph{zerooldstyle}{zero}
+\renameglyph{oneoldstyle}{one}
+\renameglyph{twooldstyle}{two}
+\renameglyph{threeoldstyle}{three}
+\renameglyph{fouroldstyle}{four}
+\renameglyph{fiveoldstyle}{five}
+\renameglyph{sixoldstyle}{six}
+\renameglyph{sevenoldstyle}{seven}
+\renameglyph{eightoldstyle}{eight}
+\renameglyph{nineoldstyle}{nine}
+\renameglyph{Acutesmall}{acute}
+\renameglyph{Brevesmall}{breve}
+\renameglyph{Caronsmall}{caron}
+\renameglyph{Cedillasmall}{cedilla}
+\renameglyph{Circumflexsmall}{circumflex}
+\renameglyph{Dieresissmall}{dieresis}
+\renameglyph{Dotaccentsmall}{dotaccent}
+\renameglyph{Gravesmall}{grave}
+\renameglyph{Hungarumlautsmall}{hungarumlaut}
+\renameglyph{Macronsmall}{macron}
+\renameglyph{Ogoneksmall}{ogonek}
+\renameglyph{Ringsmall}{ring}
+\renameglyph{Tildesmall}{tilde}
+\renameglyph{ampersandsmall}{ampersand}
+\renameglyph{centoldstyle}{cent}
+\renameglyph{dollaroldstyle}{dollar}
+\renameglyph{AEsmall}{ae}
+\renameglyph{Ethsmall}{eth}
+\renameglyph{Lslashsmall}{lslash}
+\renameglyph{Oslashsmall}{oslash}
+\renameglyph{OEsmall}{oe}
+\renameglyph{Thornsmall}{thorn}
+\renameglyph{Agravesmall}{agrave}
+\renameglyph{Egravesmall}{egrave}
+\renameglyph{Igravesmall}{igrave}
+\renameglyph{Ogravesmall}{ograve}
+\renameglyph{Ugravesmall}{ugrave}
+\renameglyph{Aacutesmall}{aacute}
+\renameglyph{Eacutesmall}{eacute}
+\renameglyph{Iacutesmall}{iacute}
+\renameglyph{Oacutesmall}{oacute}
+\renameglyph{Uacutesmall}{uacute}
+\renameglyph{Yacutesmall}{yacute}
+\renameglyph{Acircumflexsmall}{acircumflex}
+\renameglyph{Ecircumflexsmall}{ecircumflex}
+\renameglyph{Icircumflexsmall}{icircumflex}
+\renameglyph{Ocircumflexsmall}{ocircumflex}
+\renameglyph{Ucircumflexsmall}{ucircumflex}
+\renameglyph{Atildesmall}{atilde}
+\renameglyph{Ntildesmall}{ntilde}
+\renameglyph{Otildesmall}{otilde}
+\renameglyph{Adieresissmall}{adieresis}
+\renameglyph{Edieresissmall}{edieresis}
+\renameglyph{Idieresissmall}{idieresis}
+\renameglyph{Odieresissmall}{odieresis}
+\renameglyph{Ydieresissmall}{ydieresis}
+\renameglyph{Udieresissmall}{udieresis}
+\renameglyph{Aringsmall}{aring}
+\renameglyph{Ccedillasmall}{ccedilla}
+\renameglyph{Scaronsmall}{scaron}
+\renameglyph{Zcaronsmall}{zcaron}
+\killglyph{dotlessi}
+\killglyph{fi}
+\killglyph{fl}
+\killglyph{germandbls}
+\offmtxcommand\setscaledrawglyph
+\offmtxcommand\setglyph
+\resetcommand\iftokeep#1\then{\ifnum 0<#1}
+\endinput
+%%
+%% End of file `csckrn2x.tex'.
diff --git a/Master/texmf-dist/tex/fontinst/misc/glyphbox.mtx b/Master/texmf-dist/tex/fontinst/misc/glyphbox.mtx
new file mode 100644
index 00000000000..223504d54e1
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/glyphbox.mtx
@@ -0,0 +1,62 @@
+\relax
+
+\documentclass{article}
+\usepackage{fontdoc}
+
+\begin{document}
+
+\title{\texttt{glyphbox.mtx}: showing metric boxes of glyphs}
+\author{Lars Hellstr\"om}
+\date{July 2003}
+\maketitle
+
+\begin{abstract}
+ This file redefines the \verb|\setscaledrawglyph| command to make a
+ thin ($5$ AFM units) frame lining the inside of the metric box of
+ the glyph. This is can be useful when debugging commands for
+ building glyphs, as it gives graphic account of the glyph metrics.
+ Use \verb|\oncommand\setscaledrawglyph| or the \texttt{glyphon.mtx}
+ file to restore the normal command definition.
+\end{abstract}
+
+
+\begin{verbatim}
+
+\metrics
+
+\needsfontinstversion{1.914}
+
+
+\offcommand\setscaledrawglyph
+
+\resetcommand\setscaledrawglyph#1#2#3#4#5#6#7#8#9{%
+ \csname saved-\string\setscaledrawglyph\endcsname
+ {#1/raw}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}%
+ \setglyph{#1}%
+ \push
+ \moveup{\neg{#8}}%
+ \glyphrule{5}{\add{#7}{#8}}%
+ \push
+ \ifnumber{#9}{>}{0}\then
+ \moveup{\add{#7}{#8}}%
+ \glyphrule{\add{\sub{#6}{5}}{#9}}{5}%
+ \else
+ \moveup{\add{#7}{#8}}%
+ \glyphrule{\sub{#6}{10}}{5}%
+ \fi
+ \pop
+ \glyphrule{\sub{#6}{10}}{5}%
+ \glyphrule{5}{\add{#7}{#8}}%
+ \pop
+ \glyph{#1/raw}{1000}%
+ \endsetglyph
+}
+
+
+\endmetrics
+
+
+\end{verbatim}
+
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/misc/glyphoff.mtx b/Master/texmf-dist/tex/fontinst/misc/glyphoff.mtx
new file mode 100644
index 00000000000..35c3a287160
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/glyphoff.mtx
@@ -0,0 +1,8 @@
+\relax
+
+\metrics
+
+\offcommand\setscaledrawglyph
+\let\setscaledrawglyph\setscalednotglyph
+
+\endmetrics
diff --git a/Master/texmf-dist/tex/fontinst/misc/glyphon.mtx b/Master/texmf-dist/tex/fontinst/misc/glyphon.mtx
new file mode 100644
index 00000000000..0746fd12981
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/glyphon.mtx
@@ -0,0 +1,7 @@
+\relax
+
+\metrics
+
+\oncommand\setscaledrawglyph
+
+\endmetrics
diff --git a/Master/texmf-dist/tex/fontinst/misc/kernoff.mtx b/Master/texmf-dist/tex/fontinst/misc/kernoff.mtx
new file mode 100644
index 00000000000..776011328c5
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/kernoff.mtx
@@ -0,0 +1,6 @@
+\relax
+\metrics
+
+\offcommand\setkern
+
+\endmetrics
diff --git a/Master/texmf-dist/tex/fontinst/misc/kernon.mtx b/Master/texmf-dist/tex/fontinst/misc/kernon.mtx
new file mode 100644
index 00000000000..a864c142420
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/kernon.mtx
@@ -0,0 +1,6 @@
+\relax
+\metrics
+
+\oncommand\setkern
+
+\endmetrics
diff --git a/Master/texmf-dist/tex/fontinst/misc/osf2x.tex b/Master/texmf-dist/tex/fontinst/misc/osf2x.tex
new file mode 100644
index 00000000000..a9ed8a9866a
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/misc/osf2x.tex
@@ -0,0 +1,37 @@
+%%
+%% This is file `osf2x.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ficonv.dtx (with options: `reglyphfigures,glyphs')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993, 1994, 1995, 1996 Alan Jeffrey,
+%% hacked and maintained 1997, 1998 Sebastian Rahtz,
+%% copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 the fontinst
+%% maintenance team and any individual authors listed elsewhere in
+%% this file. All rights reserved.
+%%
+%% This file is part of the fontinst system version 1.9.
+%% -----------------------------------------------------
+%%
+%% It may be distributed under the terms of the LaTeX Project Public
+%% License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.1 or, at your option, any later version.
+%%
+%%% From file: ficonv.dtx
+\renameglyph{zerooldstyle}{zero}
+\renameglyph{oneoldstyle}{one}
+\renameglyph{twooldstyle}{two}
+\renameglyph{threeoldstyle}{three}
+\renameglyph{fouroldstyle}{four}
+\renameglyph{fiveoldstyle}{five}
+\renameglyph{sixoldstyle}{six}
+\renameglyph{sevenoldstyle}{seven}
+\renameglyph{eightoldstyle}{eight}
+\renameglyph{nineoldstyle}{nine}
+\endinput
+%%
+%% End of file `osf2x.tex'.
diff --git a/Master/texmf-dist/tex/fontinst/smbletx/digit2.etx b/Master/texmf-dist/tex/fontinst/smbletx/digit2.etx
new file mode 100644
index 00000000000..48362854004
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smbletx/digit2.etx
@@ -0,0 +1,10 @@
+\relax
+\encoding
+
+% digit2.etx - This ETX file defines the \digit commands through
+\setcommand\digit#1{#1/2}
+% so that it will append a suffix /2 to the glyph name given.
+% Use this with a "suffix /2" clause in \installfont to select
+% digits from a different font that most of the glyphs.
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/smbletx/ts1.etx b/Master/texmf-dist/tex/fontinst/smbletx/ts1.etx
new file mode 100644
index 00000000000..7542b1644c7
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smbletx/ts1.etx
@@ -0,0 +1,760 @@
+%%% ====================================================================
+%%% @TeX-font-encoding-file{
+%%% author = "Sebastian Rahtz and Ulrik Vieth and
+%%% Lars Hellstr{\"o}m",
+%%% version = "1.913",
+%%% date = "2003-02-08",
+%%% time = "16:44:56 +01:00",
+%%% filename = "ts1.etx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.thphy.uni-duesseldorf.de/~vieth/",
+%%% checksum = "",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "encoding, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is the TS1 encoding as a TeX font encoding
+%%% file, for use with the fontinst utility.
+%%% It implements the TeX text companion encoding.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage[TS1,T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{fontdoc}
+
+\title{The \TeX\ text companion font encoding vector}
+\author{Sebastian Rahtz, Ulrik Vieth}
+\date{29 June 1998 \\
+Version 1.801}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the \TeX{} text companion encoding vector.
+
+\encoding
+\comment{\section{Default values}}
+
+\setstr{codingscheme}{TEX TEXT COMPANION SYMBOLS 1---TS1}
+
+\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
+
+\setint{italicslant}{0}
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\setint{fontdimen(3)}{0} % interword stretch
+\setint{fontdimen(4)}{0} % interword shrink
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\setint{fontdimen(7)}{\int{interword}} % extra space after .
+
+
+\comment{\section{The encoding}}
+
+\nextslot{0}
+\setslot{capitalgrave}
+ \comment{The grave accent `\capitalgrave{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{capitalacute}
+ \comment{The acute accent `\capitalacute{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{capitalcircumflex}
+ \comment{The circumflex accent `\capitalcircumflex{}', intended for
+ use with capital letters.}
+\endsetslot
+
+\setslot{capitaltilde}
+ \comment{The tilde accent `\capitaltilde{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{capitaldieresis}
+ \comment{The umlaut or dieresis accent `\capitaldieresis{}',
+ intended for use with capital letters.}
+\endsetslot
+
+\setslot{capitalhungarumlaut}
+ \comment{The long Hungarian umlaut `\capitalhungarumlaut{}',
+ intended for use with capital letters.}
+\endsetslot
+
+\setslot{capitalring}
+ \comment{The ring accent `\capitalring{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{capitalcaron}
+ \comment{The caron or h\'a\v cek accent `\capitalcaron{}', intended
+ for use with capital letters.}
+\endsetslot
+
+\setslot{capitalbreve}
+ \comment{The breve accent `\capitalbreve{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{capitalmacron}
+ \comment{The macron accent `\capitalmacron{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{capitaldotaccent}
+ \comment{The dot accent `\capitaldotaccent{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{cedilla}
+ \comment{The cedilla accent `\capitalcedilla{}', intended for use
+ with capital letters.}
+\endsetslot
+
+\setslot{ogonek}
+ \comment{The ogonek accent `\capitalogonek{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\nextslot{13}
+\setslot{quotesinglbase}
+ \comment{A straight single quote mark on the baseline,
+ `\textquotestraightbase'.}
+\endsetslot
+
+\nextslot{18}
+\setslot{quotedblbase}
+ \comment{A straight double quote mark on the baseline,
+ `\textquotestraightdblbase'.}
+\endsetslot
+
+\nextslot{21}
+\setslot{twelveudash}
+ \comment{A 2/3~em dash, `\texttwelveudash'.}
+\endsetslot
+
+\setslot{threequartersemdash}
+ \comment{A 3/4~em dash, `\textthreequartersemdash'.}
+\endsetslot
+
+\nextslot{23}
+\setslot{capitalcompwordmark}
+ \comment{An invisible glyph, with zero width and depth, but the
+ height of capital letters.
+ It is used to stop ligaturing in words like `shelf{}ful'.}
+\endsetslot
+
+\nextslot{24}
+\setslot{arrowleft}
+ \comment{A left pointing arrow, `\textleftarrow', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\setslot{arrowright}
+ \comment{A right pointing arrow, `\textrightarrow', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\nextslot{26}
+\setslot{tieaccentlowercase}
+ \comment{The original tie accent `\t{}', intended for use with
+ lowercase letters.}
+\endsetslot
+
+\setslot{tieaccentcapital}
+ \comment{The tie accent `\capitaltie{}', intended for use with
+ capital letters.}
+\endsetslot
+
+\setslot{newtieaccentlowercase}
+ \comment{A new tie accent `\newtie{}', intended for use with
+ lowercase letters.}
+\endsetslot
+
+\setslot{newtieaccentcapital}
+ \comment{A new tie accent `\capitalnewtie{}', intended for use
+ with capital letters.}
+\endsetslot
+
+\nextslot{31}
+\setslot{ascendercompwordmark}
+ \comment{An invisible glyph, with zero width and depth, but the
+ height of lowercase letters with ascenders.
+ It is used to stop ligaturing in words like `shelf{}ful'.}
+\endsetslot
+
+\nextslot{32}
+\setslot{blank}
+ \comment{The blank indicator `\textblank', similar to the letter `b'
+ with an oblique bar throgh the stem.}
+\endsetslot
+
+\nextslot{36}
+\setslot{dollar}
+ \comment{The dollar sign `\textdollar'.}
+\endsetslot
+
+\nextslot{39}
+\setslot{quotesingle}
+ \comment{A straight single quote mark, `\textquotesingle'.}
+\endsetslot
+
+\nextslot{42}
+\setslot{asteriskcentered}
+ \comment{The centered asterisk, `\textasteriskcentered'.}
+\endsetslot
+
+\nextslot{44}
+\setslot{comma}
+ \comment{The decimal comma `,'.}
+\endsetslot
+
+\nextslot{45}
+\setslot{hyphendbl}
+ \comment{An alternate double hyphen, `\textdblhyphen'.}
+\endsetslot
+
+\nextslot{46}
+\setslot{period}
+ \comment{The decimal point `.'.}
+\endsetslot
+
+\nextslot{47}
+\setslot{fraction}
+ \comment{The fraction slash `\textfractionsolidus'.}
+\endsetslot
+
+\nextslot{48}
+\setslot{zerooldstyle}
+ \comment{The oldstyle number `\oldstylenums{0}'.}
+\endsetslot
+
+\setslot{oneoldstyle}
+ \comment{The oldstyle number `\oldstylenums{1}'.}
+\endsetslot
+
+\setslot{twooldstyle}
+ \comment{The oldstyle number `\oldstylenums{2}'.}
+\endsetslot
+
+\setslot{threeoldstyle}
+ \comment{The oldstyle number `\oldstylenums{3}'.}
+\endsetslot
+
+\setslot{fouroldstyle}
+ \comment{The oldstyle number `\oldstylenums{4}'.}
+\endsetslot
+
+\setslot{fiveoldstyle}
+ \comment{The oldstyle number `\oldstylenums{5}'.}
+\endsetslot
+
+\setslot{sixoldstyle}
+ \comment{The oldstyle number `\oldstylenums{6}'.}
+\endsetslot
+
+\setslot{sevenoldstyle}
+ \comment{The oldstyle number `\oldstylenums{7}'.}
+\endsetslot
+
+\setslot{eightoldstyle}
+ \comment{The oldstyle number `\oldstylenums{8}'.}
+\endsetslot
+
+\setslot{nineoldstyle}
+ \comment{The oldstyle number `\oldstylenums{9}'.}
+\endsetslot
+
+\nextslot{60}
+\setslot{angbracketleft}
+ \comment{The opening angle bracket `\textlangle', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\nextslot{61}
+\setslot{minus}
+ \comment{The subtraction sign `\textminus'.}
+\endsetslot
+
+\nextslot{62}
+\setslot{angbracketright}
+ \comment{The closing angle bracket `\textrangle', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\nextslot{77}
+\setslot{Omegainv}
+ \comment{The inverted Ohm sign `\textmho', unavailable in most fonts.}
+\endsetslot
+
+\nextslot{79}
+ \comment{A circle `\textbigcircle', big enough to enclose a letter
+ as in `\textcopyright' or `\textregistered'.}
+\setslot{bigcircle}
+\endsetslot
+
+\nextslot{87}
+\setslot{Omega}
+ \comment{The upright Ohm sign `\textohm', unavailable in most fonts.
+ Even if it is available in Mac-encoded fonts, it isn't directly
+ accessible in the 8r or 8y encodings.}
+\endsetslot
+
+\nextslot{91}
+\setslot{openbracketleft}
+ \comment{The opening double square bracket `\textlbrackdbl',
+ unavailable in most PostScript fonts.}
+\endsetslot
+
+\nextslot{93}
+\setslot{openbracketright}
+ \comment{The closing double square bracket `\textrbrackdbl',
+ unavailable in most PostScript fonts.}
+\endsetslot
+
+\nextslot{94}
+\setslot{arrowup}
+ \comment{An upwards pointing arrow `\textuparrow', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\nextslot{95}
+\setslot{arrowdown}
+ \comment{An downwards pointing arrow `\textdownarrow', unavailable
+ in most PostScript fonts.}
+\endsetslot
+
+\nextslot{96}
+\setslot{asciigrave}
+ \comment{An ASCII-style grave `\textasciigrave'. This is supposed
+ to be a character by itself rather than a combining accents.}
+\endsetslot
+
+\nextslot{98}
+\setslot{born}
+ \comment{The born symbol `\textborn', unavailable in most PostScript
+ fonts.}
+\endsetslot
+
+\nextslot{99}
+\setslot{divorced}
+ \comment{The divorced symbol `\textdivorced', unavailable in most
+ PostScript fonts.}
+\endsetslot
+
+\nextslot{100}
+\setslot{died}
+ \comment{The died symbol `\textdied', unavailable in most PostScript
+ fonts.}
+\endsetslot
+
+\nextslot{108}
+\setslot{leaf}
+ \comment{The leaf symbol `\textleaf', unavailable in most PostScript
+ fonts.}
+\endsetslot
+
+\nextslot{109}
+\setslot{married}
+ \comment{The married symbol `\textmarried', unavailable in most
+ PostScript fonts.}
+\endsetslot
+
+\nextslot{110}
+\setslot{musicalnote}
+ \comment{A musical note symbol `\textmusicalnote', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\nextslot{126}
+\setslot{tildelow}
+ \comment{A lowered tilde `\texttildelow'. In most PostScript fonts
+ it can be substituted by `asciitilde', while `\textasciitilde'
+ is supposed to be a raised `tilde'.}
+\endsetslot
+
+\nextslot{127}
+\setslot{hyphendblchar}
+ \comment{The glyph used for hyphenation in this font, which will
+ almost always be the same as `hyphendbl'.}
+\endsetslot
+
+\nextslot{128}
+\setslot{asciibreve}
+ \comment{An ASCII-style breve `\textasciibreve'. This is supposed
+ to be a character by itself rather than a combining accents.}
+\endsetslot
+
+\setslot{asciicaron}
+ \comment{An ASCII-style caron `\textasciicaron'. This is supposed
+ to be a character by itself rather than a combining accents.}
+\endsetslot
+
+\setslot{asciiacutedbl}
+ \comment{An ASCII-style double tick mark, `\textacutedbl'.}
+\endsetslot
+
+\setslot{asciigravedbl}
+ \comment{An ASCII-style double backtick mark, `\textgravedbl'.}
+\endsetslot
+
+\setslot{dagger}
+ \comment{The single dagger `\textdagger'.}
+\endsetslot
+
+\setslot{daggerdbl}
+ \comment{The double dagger `\textdaggerdbl'.}
+\endsetslot
+
+\setslot{bardbl}
+ \comment{The double vertical bar `\textbardbl'.}
+\endsetslot
+
+\setslot{perthousand}
+ \comment{The perthousand sign `\textperthousand'.}
+\endsetslot
+
+\setslot{bullet}
+ \comment{The centered bullet `\textbullet'.}
+\endsetslot
+
+\setslot{centigrade}
+ \comment{The degree centigrade symbol `\textcelsius'.}
+\endsetslot
+
+\setslot{dollaroldstyle}
+ \comment{An oldstyle dollar sign `\textdollaroldstyle'.}
+\endsetslot
+
+\setslot{centoldstyle}
+ \comment{An oldstyle cent sign `\textcentoldstyle'.}
+\endsetslot
+
+\setslot{florin}
+ \comment{The florin sign `\textflorin'.}
+\endsetslot
+
+\setslot{colonmonetary}
+ \comment{The Colon currency sign `\textcolonmonetary', similar to
+ a capital `C' with a vertical bar through the middle.}
+\endsetslot
+
+\setslot{won}
+ \comment{The Won currency sign `\textwon', similar to a capital `W'
+ with two horizontal bars.}
+\endsetslot
+
+\setslot{naira}
+ \comment{The Naira currency sign `\textnaira', similar to a
+ capital `N' with two horizontal bars.}
+\endsetslot
+
+\setslot{guarani}
+ \comment{The Guarani currency sign `\textguarani', similar to
+ a capital `G' with a vertical bar through the middle.}
+\endsetslot
+
+\setslot{peso}
+ \comment{The Peso currency sign `\textpeso', similar to a capital `P'
+ with a horizontal bar through the bowl or below the bowl.}
+\endsetslot
+
+\setslot{lira}
+ \comment{The Lira currency sign `\textlira', similar to a sterling
+ sign `\textsterling' with two horizontal bars.}
+\endsetslot
+
+\setslot{recipe}
+ \comment{The recipe symbol `\textrecipe', similar to a capital `R'
+ with an oblique bar through the tail.}
+\endsetslot
+
+\setslot{interrobang}
+ \comment{The interrobang symbol `\textinterrobang', similar to
+ a combination of an exclamation mark and a question mark.}
+\endsetslot
+
+\setslot{interrobangdown}
+ \comment{The inverted interrobang symbol `\textinterrobangdown',
+ similar to a combination of an inverted exclamation mark
+ and an inverted question mark.}
+\endsetslot
+
+\setslot{dong}
+ \comment{The Dong currency sign `\textdong', similar to a lowercase
+ `d' with a horizontal bar through the stem and another bar below
+ the letter.}
+\endsetslot
+
+\setslot{trademark}
+ \comment{The trademark sign `\texttrademark', similar to the raised
+ letters `TM'.}
+\endsetslot
+
+\setslot{pertenthousand}
+ \comment{The pertenthousand sign `\textpertenthousand', unavailable
+ in most PostScript fonts.}
+\endsetslot
+
+\setslot{pilcrow}
+ \comment{The pilcrow mark `\textpilcrow', similar to a paragraph
+ mark `\textparagraph' with a single stem.}
+\endsetslot
+
+\setslot{baht}
+ \comment{The Baht currency sign `\textbaht', similar to a capital `B'
+ with a vertical bar through the middle.}
+\endsetslot
+
+\setslot{numero}
+ \comment{The numero sign `\textnumero', similar to the letter `N'
+ with a raised `o', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{discount}
+ \comment{The discount sign `\textdiscount', similar to a stylized
+ percent sign, unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{estimated}
+ \comment{The estimated sign `\textestimated', similar to an enlarged
+ lowercase `e', unavailable in most PostScript fonts.}
+\endsetslot
+
+\setslot{openbullet}
+ \comment{The centered open bullet `\textopenbullet'', unavailable
+ in most PostScript fonts.}
+\endsetslot
+
+\setslot{servicemark}
+ \comment{The service mark sign `\textservicemark', similar to the
+ raised letters `SM', unavailable in most PostScript fonts.}
+\endsetslot
+
+\nextslot{160}
+\setslot{quillbracketleft}
+ \comment{The opening quill bracket `\textlquill', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\setslot{quillbracketright}
+ \comment{The closing quill bracket `\textrquill', unavailable in
+ most PostScript fonts.}
+\endsetslot
+
+\setslot{cent}
+ \comment{The cent sign `\textcent'.}
+\endsetslot
+
+\setslot{sterling}
+ \comment{The British currency sign, `\textsterling'.}
+\endsetslot
+
+\setslot{currency}
+ \comment{The international currency sign, `\textcurrency'.}
+\endsetslot
+
+\setslot{yen}
+ \comment{The Japanese currency sign, `\textyen'.}
+\endsetslot
+
+\setslot{brokenbar}
+ \comment{A broken vertical bar, `\textbrokenbar', similar to
+ `\textbar' with a gap through the middle.}
+\endsetslot
+
+\setslot{section}
+ \comment{The section mark `\textsection'.}
+\endsetslot
+
+\setslot{asciidieresis}
+ \comment{An ASCII-style dieresis `\textasciidieresis'. This is
+ supposed to be character by itself rather than an accents.}
+\endsetslot
+
+\setslot{copyright}
+ \comment{The copyright sign `\textcopyright', similar to a small
+ letter `C' enclosed by a circle.}
+\endsetslot
+
+\setslot{ordfeminine}
+ \comment{The raised letter `\textordfeminine'.}
+\endsetslot
+
+\setslot{copyleft}
+ \comment{The reversed copyright sign `\textcopyleft', similar to
+ a small reversed `C' enclosed by a circle.}
+\endsetslot
+
+\setslot{logicalnot}
+ \comment{The logical not sign `\textlnot'.}
+\endsetslot
+
+\setslot{circledP}
+ \comment{A small letter `P' enclosed by a circle, `\textcircledP',
+ unavailable in most fonts.}
+\endsetslot
+
+\setslot{registered}
+ \comment{The registered trademark sign `\textregistered', similar to
+ a small letter `R' enclosed by a circle.}
+\endsetslot
+
+\setslot{asciimacron}
+ \comment{An ASCII-style macron `\textmacron'. This is supposed
+ to be a character by itself rather than a combining accents.}
+\endsetslot
+
+\setslot{degree}
+ \comment{The degree sign `\textdegree'.}
+\endsetslot
+
+\setslot{plusminus}
+ \comment{The plus or minus sign `\textpm'.}
+\endsetslot
+
+\setslot{twosuperior}
+ \comment{The raised digit `\texttwosuperior'.}
+\endsetslot
+
+\setslot{threesuperior}
+ \comment{The raised digit `\textthreesuperior'.}
+\endsetslot
+
+\setslot{asciiacute}
+ \comment{An ASCII-style acute `\textasciiacute'. This is supposed
+ to be a character by itself rather than a combining accents.}
+\endsetslot
+
+\setslot{mu}
+ \comment{The lowercase Greek letter `\textmu', intended for use as
+ a prefix `micro' in physical units.}
+\endsetslot
+
+\setslot{paragraph}
+ \comment{The paragraph mark `\textparagraph'.}
+\endsetslot
+
+\setslot{periodcentered}
+ \comment{The centered period `\textperiodcentered'.}
+\endsetslot
+
+\setslot{referencemark}
+ \comment{The reference mark `\textreferencemark', similar to
+ a combination of the `multiply' and `divide' symbols.}
+\endsetslot
+
+\setslot{onesuperior}
+ \comment{The raised digit `\textonesuperior'.}
+\endsetslot
+
+\setslot{ordmasculine}
+ \comment{The raised letter `\textordmasculine'.}
+\endsetslot
+
+\setslot{radical}
+ \comment{The radical sign `\textsurd', unavailable in most fonts.
+ Even if it is available in Mac-encoded fonts, it isn't directly
+ accessible in the 8r or 8y encodings.}
+\endsetslot
+
+\setslot{onequarter}
+ \comment{The fraction `\textonequarter'.}
+\endsetslot
+
+\setslot{onehalf}
+ \comment{The fraction `\textonehalf'.}
+\endsetslot
+
+\setslot{threequarters}
+ \comment{The fraction `\textthreequarters'.}
+\endsetslot
+
+\setslot{euro}
+ \comment{The European currency sign, similar to `\texteuro'.}
+\endsetslot
+
+
+\nextslot{214}
+\setslot{multiply}
+ \comment{The multiplication sign `\texttimes'.
+ This symbol was originally intended to be put into slot~215,
+ but ended up in this slot by mistake, at which time it was
+ considered too late to change it.}
+\endsetslot
+
+\nextslot{246}
+\setslot{divide}
+ \comment{The divison sign `\textdiv'.
+ This symbol was originally intended to be put into slot~247,
+ but ended up in this slot by mistake, at which time it was
+ onsidered too late to change it.}
+\endsetslot
+
+\endencoding
+
+\section{Notes on Euro fonts}
+
+The Euro$($Serif$\mid$Sans$\mid$Mono$)$ fonts downloadable from Adobe use
+the glyph name \texttt{Euro} (in slot 128) and the unencoded glyph
+\texttt{uni20AC}. It remains to be seen, what glyph names future
+releases of new fonts will be using.
+
+The proposed Latin 9 (ISO-8859-15) encoding uses the `\texttt{currency}'
+slot for the Euro sign, and changes a few other Latin 1 slots.
+
+
+\section{Changes}
+
+(UV, 1998/06/08):
+\begin{itemize}
+ \item brought up to symbol complement of EC/TC fonts 1.0,
+ adjusted symbol names to match LaTeX \texttt{ts1enc.def} v\,3.0.
+ \item added \texttt{capitalcompwordmark} and
+ \texttt{ascendercompwordmark}.
+ \item added new variant tie accents for lowercase and capitals.
+ \item added angle brackets and open square brackets
+ (glyph names based on Lucida New Math).
+ \item renamed \texttt{shortequals} to \texttt{hyphendbl} (in slot 42
+ and 127).
+ \item renamed \texttt{ohm} and \texttt{mho} to \texttt{Omega} and
+ \texttt{Omegainv}.
+ \item renamed \texttt{$($left$\mid$right$)$pointingarrow} to
+ \texttt{arrowleft} and \texttt{arrowright}.
+ \item added various symbols and currency signs, including
+ \texttt{euro}.
+\end{itemize}
+
+(LH, 2000/03/07):
+\begin{itemize}
+ \item
+ Added default setting of \texttt{italicslant} integer
+ (otherwise \texttt{ts1.etx} won't work with \verb|\generalpltomtx|).
+ \item
+ Moved changes list and some comments to end of file.
+\end{itemize}
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/smbletx/ts1i.etx b/Master/texmf-dist/tex/fontinst/smbletx/ts1i.etx
new file mode 100644
index 00000000000..1fee6defb77
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smbletx/ts1i.etx
@@ -0,0 +1,7 @@
+\relax
+
+\encoding
+
+\inputetx{ts1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/smbletx/ts1ij.etx b/Master/texmf-dist/tex/fontinst/smbletx/ts1ij.etx
new file mode 100644
index 00000000000..1fee6defb77
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smbletx/ts1ij.etx
@@ -0,0 +1,7 @@
+\relax
+
+\encoding
+
+\inputetx{ts1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/smbletx/ts1j.etx b/Master/texmf-dist/tex/fontinst/smbletx/ts1j.etx
new file mode 100644
index 00000000000..1fee6defb77
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smbletx/ts1j.etx
@@ -0,0 +1,7 @@
+\relax
+
+\encoding
+
+\inputetx{ts1}
+
+\endencoding
diff --git a/Master/texmf-dist/tex/fontinst/smblmtx/resetosf.mtx b/Master/texmf-dist/tex/fontinst/smblmtx/resetosf.mtx
new file mode 100644
index 00000000000..bde54d55d8e
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smblmtx/resetosf.mtx
@@ -0,0 +1,88 @@
+% Copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Ulrik Vieth",
+%%% version = "1.910",
+%%% date = "16 November 1999",
+%%% time = "23:01:44 CET",
+%%% filename = "resetosf.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "04190 88 254 2588",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a metrics file, for use with the
+%%% fontinst utility. It recodes glyph names
+%%% for oldstyle numerals read from AFM files
+%%% to glyph names with an `oldstyle' suffix.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The \texttt{resetosf.mtx} metrics file}
+\author{Ulrik Vieth}
+\date{16 November 1999 \\
+Version 1.910}
+
+\begin{document}
+\maketitle
+
+This document describes the \texttt{resetosf.mtx} metrics file, which is
+used to recode raw glyph names for oldstyle numerals to glyph names
+with an `oldstyle' suffix.
+
+\metrics
+
+\setcommand\oldstyleglyph#1{
+ \ifisglyph{#1}\then
+ \setglyph{#1oldstyle}\glyph{#1}{1000}
+ \endsetglyph
+ \fi
+}
+
+\setcommand\oldstylekerning#1{
+ \ifisglyph{#1}\then
+ \setleftrightkerning{#1oldstyle}{#1}{1000}
+ \fi
+}
+
+\oldstyleglyph{zero}
+\oldstyleglyph{one}
+\oldstyleglyph{two}
+\oldstyleglyph{three}
+\oldstyleglyph{four}
+\oldstyleglyph{five}
+\oldstyleglyph{six}
+\oldstyleglyph{seven}
+\oldstyleglyph{eight}
+\oldstyleglyph{nine}
+
+\oldstylekerning{zero}
+\oldstylekerning{one}
+\oldstylekerning{two}
+\oldstylekerning{three}
+\oldstylekerning{four}
+\oldstylekerning{five}
+\oldstylekerning{six}
+\oldstylekerning{seven}
+\oldstylekerning{eight}
+\oldstylekerning{nine}
+
+\endmetrics
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/smblmtx/textcomp.mtx b/Master/texmf-dist/tex/fontinst/smblmtx/textcomp.mtx
new file mode 100644
index 00000000000..ac2216139f2
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smblmtx/textcomp.mtx
@@ -0,0 +1,561 @@
+% Copyright 1997, 1998 Sebastian Rahtz,
+% copyright 1998, 1999, 2003 the fontinst maintenance team and
+% any individual authors listed elsewhere in this file.
+% All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Sebastian Rahtz and Ulrik Vieth and
+%%% Walter Schmidt and Lars Hellstr{\"o}m",
+%%% version = "1.926",
+%%% date = "2003-07-13",
+%%% time = "23:34:04 +02:00",
+%%% filename = "textcomp.mtx",
+%%% email = "w-a-schmidt@arcor.de",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a font metrics file, for use with the
+%%% fontinst utility. It provides the defaults
+%%% used to install the text companion glyphs.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}[2002/06/30] %Just guessing.
+
+\title{The \textsf{fontinst} text companion glyphs}
+\author{Sebastian Rahtz\and Ulrik Vieth\and Walter Schmidt\and
+ Lars Hellstr\"om}
+\date{Version 1.926}
+
+\showbranches
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+This document describes the glyphs used by the \textsf{fontinst}
+package when generating \TeX{} text companion fonts.
+
+\metrics
+
+\needsfontinstversion{1.917}
+
+% \unfakable is a glyph which can't be faked.
+
+\setcommand\unfakable#1{
+ \setglyph{#1}
+ \glyphrule{500}{500}
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+% \unfakableaccent is similar, but has an ``accent position''
+\setcommand\unfakableaccent#1{
+ \setglyph{#1}
+ \moveup{\add{\int{xheight}}{50}}
+ \movert{\scale{\add{\int{xheight}}{50}}{\int{italicslant}}}
+ \glyphrule{250}{\sub{\sub{\int{ascender}}{\int{xheight}}}{100}}
+ \movert{\neg{\scale{\add{\int{xheight}}{50}}{\int{italicslant}}}}
+ \glyphwarning{missing glyph `#1'}
+ \endsetglyph
+}
+
+% \fakeglyph replaces glyph #1 by #2, if it exists.
+
+\setcommand\fakeglyph#1#2{
+ \ifisglyph{#2}\then
+ \setglyph{#1}
+ \glyph{#2}{1000}
+ \endsetglyph
+ \Fi
+}
+
+
+\begincomment
+\section{Default values}
+\endcomment
+
+\setint{italicslant}{0}
+\setint{xheight}{\height{x}}
+\setint{capheight}{\height{A}}
+\setint{ascender}{\height{d}}
+\setint{descender}{\depth{g}}
+\setint{underlinethickness}{40}
+
+% Vertical symmetry axis. (WaS)
+\setint{vaxis}{\scale{\sub{\height{parenleft}}{\depth{parenleft}}}{500}}
+
+
+\begincomment
+\section{Oldstyle numerals}
+\endcomment
+
+\unfakable{zerooldstyle}
+\unfakable{oneoldstyle}
+\unfakable{twooldstyle}
+\unfakable{threeoldstyle}
+\unfakable{fouroldstyle}
+\unfakable{fiveoldstyle}
+\unfakable{sixoldstyle}
+\unfakable{sevenoldstyle}
+\unfakable{eightoldstyle}
+\unfakable{nineoldstyle}
+
+
+\begincomment
+\section{Capital accents}
+\endcomment
+
+\fakeglyph{capitalgrave}{grave}
+\fakeglyph{capitalacute}{acute}
+\fakeglyph{capitalcircumflex}{circumflex}
+\fakeglyph{capitaltilde}{tilde}
+\fakeglyph{capitaldieresis}{dieresis}
+\fakeglyph{capitalhungarumlaut}{hungarumlaut}
+\fakeglyph{capitalring}{ring}
+\fakeglyph{capitalcaron}{caron}
+\fakeglyph{capitalbreve}{breve}
+\fakeglyph{capitalmacron}{macron}
+\fakeglyph{capitaldotaccent}{dotaccent}
+\fakeglyph{capitalcedilla}{cedilla}
+\fakeglyph{capitalogonek}{ogonek}
+
+
+\begincomment
+\section{ASCII-style accents}
+\endcomment
+
+\ifisglyph{asciitilde}\then
+ \setglyph{tildelow}
+ \glyph{asciitilde}{1000}
+ \endsetglyph
+\Fi
+
+\ifisglyph{grave}\then
+ \setglyph{asciigrave}
+ \glyph{grave}{1000}
+ \endsetglyph
+\Fi
+
+\ifisglyph{breve}\then
+ \setglyph{asciibreve}
+ \glyph{breve}{1000}
+ \endsetglyph
+\Fi
+
+\ifisglyph{acute}\then
+ \setglyph{asciiacutedbl}
+ \ifisint{monowidth}\then
+ \glyph{acute}{1000}
+ \glyph{acute}{1000}
+ \Else
+ \glyph{acute}{1000}
+ \movert{\neg{\scale{\width{acute}}{333}}}
+ \glyph{acute}{1000}
+ \Fi
+ \endsetglyph
+\Fi
+
+\ifisglyph{grave}\then
+ \setglyph{asciigravedbl}
+ \ifisint{monowidth}\then
+ \glyph{grave}{1000}
+ \glyph{grave}{1000}
+ \Else
+ \glyph{grave}{1000}
+ \movert{\neg{\scale{\width{grave}}{333}}}
+ \glyph{grave}{1000}
+ \Fi
+ \endsetglyph
+\Fi
+
+\ifisglyph{caron}\then
+ \setglyph{asciicaron}
+ \glyph{caron}{1000}
+ \endsetglyph
+\Fi
+
+\ifisglyph{dieresis}\then
+ \setglyph{asciidieresis}
+ \glyph{dieresis}{1000}
+ \endsetglyph
+\Fi
+
+\ifisglyph{macron}\then
+ \setglyph{asciimacron}
+ \glyph{macron}{1000}
+ \endsetglyph
+\Fi
+
+\ifisglyph{acute}\then
+ \setglyph{asciiacute}
+ \glyph{acute}{1000}
+ \endsetglyph
+\Fi
+
+
+\begincomment
+\section{Glyphs}
+\endcomment
+
+\setglyph{capitalcompwordmark}
+ \glyphrule{0}{\int{capheight}}
+\endsetglyph
+\setint{capitalcompwordmark-spacing}{0}
+
+\setglyph{ascendercompwordmark}
+ \glyphrule{0}{\int{ascender}}
+\endsetglyph
+\setint{ascendercompwordmark-spacing}{0}
+
+% centers wrt/ vertical symmetry axis. (WaS)
+\ifisglyph{asterisk}\then
+ \resetglyph{asteriskcentered}
+ \moveup{\neg{\sub
+ {\scale{\sub{\height{asterisk}}{\depth{asterisk}}}{500}}
+ {\int{vaxis}}
+ }}
+ \glyph{asterisk}{1000}
+ \resetdepth{0}
+ \endresetglyph
+\Fi
+
+% assumes that 2/3em = 667 and \width{endash} about 500
+\ifisglyph{endash}\then
+ \setglyph{twelveudash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \glyph{hyphen}{1000}
+ \Else
+ \glyph{endash}{1000}
+ \movert{\sub{667}{\mul{2}{\width{endash}}}}
+ \glyph{endash}{1000}
+ \comment{This assumes that \(2/3\,\mathrm{em} = 667\) and
+ that the leading of the \texttt{endash} is less than
+ \(333/4\).}
+ \Fi
+ \endsetglyph
+\Fi
+
+% assumes that 3/4em = 750 and \width{endash} = 500
+\ifisglyph{endash}\then
+ \setglyph{threequartersemdash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \glyph{hyphen}{1000}
+ \Else
+ \glyph{endash}{1000}
+ \movert{\sub{750}{\mul{2}{\width{endash}}}}
+ \glyph{endash}{1000}
+ \comment{This assumes that the leading of the
+ \texttt{endash} is less than \(250/4\).}
+ \Fi
+ \endsetglyph
+\Fi
+
+% questionable fakery, doesn't really work with all fonts
+\ifisglyph{bracketleft}\then
+ \setglyph{openbracketleft}
+ \ifisint{monowidth}\then
+ \glyph{bracketleft}{1000}
+ \glyph{bracketleft}{1000}
+ \Else
+ \glyph{bracketleft}{1000}
+ \movert{\neg{\scale{\width{bracketleft}}{666}}}
+ \glyph{bracketleft}{1000}
+ \comment{This is questionable fakery, which doesn't
+ really work with all fonts.}
+ \Fi
+ \endsetglyph
+\Fi
+
+% questionable fakery, doesn't really work with all fonts
+\ifisglyph{bracketright}\then
+ \setglyph{openbracketright}
+ \ifisint{monowidth}\then
+ \glyph{bracketright}{1000}
+ \glyph{bracketright}{1000}
+ \Else
+ \glyph{bracketright}{1000}
+ \movert{\neg{\scale{\width{bracketright}}{666}}}
+ \glyph{bracketright}{1000}
+ \comment{This is questionable fakery, which doesn't
+ really work with all fonts.}
+ \Fi
+ \endsetglyph
+\Fi
+
+% questionable fakery, doesn't really work with all fonts
+\ifisglyph{bar}\then
+ \setglyph{bardbl}
+ \ifisint{monowidth}\then
+ \glyph{bar}{1000}
+ \glyph{bar}{1000}
+ \Else
+ \glyph{bar}{1000}
+ \movert{\neg{\scale{\width{bar}}{333}}}
+ \glyph{bar}{1000}
+ \comment{This is questionable fakery, which doesn't
+ really work with all fonts.}
+ \Fi
+ \endsetglyph
+\Fi
+
+\ifareglyphs{degree,C}\then
+ \setglyph{centigrade}
+ \glyph{degree}{1000}
+ \glyph{C}{1000}
+ \resetitalic{\italic{C}}
+ \endsetglyph
+\Fi
+
+\ifisglyph{Euro}\then
+ \setglyph{euro}
+ \glyph{Euro}{1000}
+ \endsetglyph
+\Else\ifisglyph{C}\then
+ \setglyph{euro}
+ \movert{50}
+ \push
+ \moveup{\half{\sub{\height{C}}{\depth{C}}}}
+ \movert{\scale
+ {\half{\sub{\height{C}}{\depth{C}}}}
+ {\int{italicslant}}
+ }
+ \push
+ \moveup{\scale{\int{underlinethickness}}{1500}}
+ \glyphrule{\scale{\width{C}}{750}}{\int{underlinethickness}}
+ \pop
+ \moveup{\scale{\int{underlinethickness}}{-1500}}
+ \glyphrule{\scale{\width{C}}{700}}{\int{underlinethickness}}
+ \comment{That this bar is slightly shorter than the previous
+ is deliberate. That the two bars are not quite centered
+ around the vertical midpoint is also deliberate.}
+ \pop
+ \movert{50}
+ \comment{This movement should be much larger for some fonts,
+ e.g. New Century Schoolbook Italic, but experiments indicate
+ that it is independent of the italic slant.}
+ \glyph{C}{1000}
+ \resetitalic{\italic{C}}
+ \endsetglyph
+\Fi\Fi
+
+\ifareglyphs{question,exclam}\then
+ \setglyph{interrobang}
+ \push
+ \movert{\add{\half{\sub{\width{question}}{\width{exclam}}}}{-50}}
+ \comment{The extra $-50$ serves to separate the exclamation mark
+ from the right side of the question mark.}
+ \glyph{exclam}{1000}
+ \pop
+ \glyph{question}{1000}
+ \endsetglyph
+\Fi
+\ifareglyphs{questiondown,exclamdown}\then
+ \setglyph{interrobangdown}
+ \push
+ \movert{\add
+ {\half{\sub{\width{questiondown}}{\width{exclamdown}}}}
+ {50}
+ }
+ \glyph{exclamdown}{1000}
+ \pop
+ \glyph{questiondown}{1000}
+ \endsetglyph
+\Fi
+
+
+\begincomment
+\section{Unfakable glyphs}
+In general, every glyph is unfakable unless we know how to fake it.
+\endcomment
+
+\unfakableaccent{capitalgrave} % 8r,8y
+\unfakableaccent{capitalacute} % 8r,8y
+\unfakableaccent{capitalcircumflex} % 8r,8y
+\unfakableaccent{capitaltilde} % 8r,8y
+\unfakableaccent{capitaldieresis} % 8r,8y
+\unfakableaccent{capitalhungarumlaut} % 8r,8y
+\unfakableaccent{capitalring} % 8r,8y
+\unfakableaccent{capitalcaron} % 8r,8y
+\unfakableaccent{capitalbreve} % 8r,8y
+\unfakableaccent{capitalmacron} % 8r,8y
+\unfakableaccent{capitaldotaccent} % 8r,8y
+\unfakable{capitalcedilla} % 8r,8y
+\unfakable{capitalogonek} % 8r,8y
+\unfakable{quotesinglbase} % 8r,8y
+\unfakable{quotedblbase} % 8r,8y
+\unfakable{twelveudash} % faked 8r,8x
+\unfakable{threequartersemdash} % 8x (Adobe)
+\unfakable{arrowleft}
+\unfakable{arrowright}
+\unfakableaccent{tieaccentlowercase}
+\unfakableaccent{tieaccentcapital}
+\unfakableaccent{newtieaccentlowercase}
+\unfakableaccent{newtieaccentcapital}
+\unfakable{blank}
+\unfakable{dollar} % 8r,8y
+\unfakable{quotesingle} % 8r,8y
+\unfakable{asteriskcentered} % faked 8r,8y
+\unfakable{comma} % 8r,8y
+\unfakable{hyphendbl}
+\unfakable{period} % 8r,8y
+\unfakable{fraction} % 8r,8y
+\unfakable{angbracketleft}
+\unfakable{minus} % 8r,8y
+\unfakable{angbracketright}
+\unfakable{Omegainv}
+\unfakable{bigcircle}
+\unfakable{Omega}
+\unfakable{openbracketleft} % faked 8r,8y
+\unfakable{openbracketright} % faked 8r,8y
+\unfakable{arrowup}
+\unfakable{arrowdown}
+\unfakable{asciigrave} % 8r,8y
+\unfakable{born}
+\unfakable{divorced}
+\unfakable{died}
+\unfakable{leaf}
+\unfakable{married}
+\unfakable{musicalnote}
+\unfakable{tildelow} % 8r,8y
+\unfakable{hyphendblchar}
+\unfakable{asciibreve} % 8r,8y
+\unfakable{asciicaron} % 8r,8y
+\unfakable{asciiacutedbl} % faked 8r,8y
+\unfakable{asciigravedbl} % faked 8r,8y
+\unfakable{dagger} % 8r,8y
+\unfakable{daggerdbl} % 8r,8y
+\unfakable{bardbl} % faked 8r,8y
+\unfakable{perthousand} % 8r,8y
+\unfakable{bullet} % 8r,8y
+\unfakable{centigrade} % faked 8r,8y
+\unfakable{dollaroldstyle} % 8x (Adobe)
+\unfakable{centoldstyle} % 8x (Adobe)
+\unfakable{florin} % 8r,8y
+\unfakable{colonmonetary} % 8x (Adobe)
+\unfakable{won}
+\unfakable{naira}
+\unfakable{guarani}
+\unfakable{peso}
+\unfakable{lira} % 8x (URW)
+\unfakable{recipe}
+\unfakable{interrobang}
+\unfakable{interrobangdown}
+\unfakable{dong}
+\unfakable{trademark} % 8r,8y
+\unfakable{pertenthousand} % faked 8x
+\unfakable{pilcrow}
+\unfakable{baht}
+\unfakable{numero}
+\unfakable{discount}
+\unfakable{estimated}
+\unfakable{openbullet}
+\unfakable{servicemark}
+\unfakable{quillbracketleft}
+\unfakable{quillbracketright}
+\unfakable{cent} % 8r,8y
+\unfakable{sterling} % 8r,8y
+\unfakable{currency} % 8r,8y
+\unfakable{yen} % 8r,8y
+\unfakable{brokenbar} % 8r,8y
+\unfakable{section} % 8r,8y
+\unfakable{asciidieresis} % 8r,8y
+\unfakable{copyright} % 8r,8y
+\unfakable{ordfeminine} % 8r,8y
+\unfakable{copyleft}
+\unfakable{logicalnot} % 8r,8y
+\unfakable{circledP}
+\unfakable{registered} % 8r,8y
+\unfakable{asciimacron} % 8r,8y
+\unfakable{degree} % 8r,8y
+\unfakable{plusminus} % 8r,8y
+\unfakable{twosuperior} % 8r,8y
+\unfakable{threesuperior} % 8r,8y
+\unfakable{asciiacute} % 8r,8y
+\unfakable{mu} % 8r,8y
+\unfakable{paragraph} % 8r,8y
+\unfakable{periodcentered} % 8r,8y
+\unfakable{referencemark}
+\unfakable{onesuperior} % 8r,8y
+\unfakable{ordmasculine} % 8r,8y
+\unfakable{radical}
+\unfakable{onequarter} % 8r,8y
+\unfakable{onehalf} % 8r,8y
+\unfakable{threequarters} % 8r,8y
+\unfakable{euro} % faked 8r,8y
+\unfakable{multiply} % 8r,8y
+\unfakable{divide} % 8r,8y
+
+
+% \begincomment
+% \section{Accents}
+% \TeX's math accent-positioning requires accents to have zero depth,
+% but is that really relevant for these accents?
+% \endcomment
+%
+% \setcommand\zerodepth#1{
+% \ifisglyph{#1}\then
+% \resetglyph{#1}
+% \glyph{#1}{1000}
+% \resetdepth{0}
+% \endresetglyph
+% \Fi
+% }
+% \zerodepth{capitalgrave}
+% \zerodepth{capitalacute}
+% \zerodepth{capitalcircumflex}
+% \zerodepth{capitaltilde}
+% \zerodepth{capitaldieresis}
+% \zerodepth{capitalhungarumlaut}
+% \zerodepth{capitalring}
+% \zerodepth{capitalcaron}
+% \zerodepth{capitalbreve}
+% \zerodepth{capitalmacron}
+% \zerodepth{capitaldotaccent}
+
+\endmetrics
+
+\section{Changes}
+
+1999/10/25: Definition of \verb|\unfakable| simplified. (UV\&LH)
+Rationale: It is thoroughly confusing if the size of the black box
+created by \verb|\unfakable| depends on the metrics of an unencoded
+glyph that isn't accessible and therefore unavailable for all
+pratical purposes.
+
+February--March 2003: Explicitly centering the
+\texttt{asteriskcentered}. Introduced the \textit{vaxis} integer. (WaS)
+
+2003/07/09:
+Making use of \verb|\showbranches|, \verb|\begincomment|, and
+\verb|\endcomment|. Make definitions of \texttt{twelveudash} and
+\texttt{threequartersemdash} less dependent on the exact width of
+\texttt{endash}. Added a fake definition of \texttt{euro}. (LH)
+
+2003/07/10:
+Commented out section on zero-depth accents. (LH) Rationale:
+\texttt{TS1}-encoded fonts are, to my knowledge, never used in math.
+
+2003/07/13:
+Added some \verb|\resetitalic| commands. Added fakes for
+\texttt{interrobang} and \texttt{interrobangdown}. Using an
+\verb|unfakableaccent| for unfakable accents. (LH) Rationale:
+The result becomes much more readable.
+
+\end{document}
diff --git a/Master/texmf-dist/tex/fontinst/smblmtx/unsetnum.mtx b/Master/texmf-dist/tex/fontinst/smblmtx/unsetnum.mtx
new file mode 100644
index 00000000000..c9f89b9ea9a
--- /dev/null
+++ b/Master/texmf-dist/tex/fontinst/smblmtx/unsetnum.mtx
@@ -0,0 +1,62 @@
+% Copyright 1998, 1999 the fontinst maintenance team and any individual
+% authors listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the fontinst system version 1.9.
+% -----------------------------------------------------
+%
+% It may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1.0 or, at your option, any later version.
+%
+%%% ====================================================================
+%%% @TeX-font-metrics-file{
+%%% author = "Ulrik Vieth",
+%%% version = "1.910",
+%%% date = "16 November 1999",
+%%% time = "23:02:47 CET",
+%%% filename = "unsetnum.mtx",
+%%% email = "fontinst@cogs.susx.ac.uk",
+%%% URL = "http://www.tug.org/applications/fontinst/",
+%%% checksum = "24513 62 213 1967",
+%%% codetable = "ISO/ASCII",
+%%% keywords = "metrics, raw, TeX, PostScript",
+%%% supported = "yes",
+%%% abstract = "This is a metrics file, for use with the
+%%% fontinst utility. It makes glyph names
+%%% for numerals undefined.",
+%%% package = "fontinst",
+%%% dependencies = "fontinst.sty, fontdoc.sty",
+%%% }
+%%% ====================================================================
+
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\title{The \texttt{unsetnum.mtx} metrics file}
+\author{Ulrik Vieth}
+\date{16 November 1999 \\
+Version 1.910}
+
+\begin{document}
+\maketitle
+
+This document describes the \texttt{unsetnum.mtx} metrics file, which is
+used to make glyph names for numerals undefined.
+
+\metrics
+
+\unsetglyph{zero}
+\unsetglyph{one}
+\unsetglyph{two}
+\unsetglyph{three}
+\unsetglyph{four}
+\unsetglyph{five}
+\unsetglyph{six}
+\unsetglyph{seven}
+\unsetglyph{eight}
+\unsetglyph{nine}
+
+\endmetrics
+\end{document}