texlive[53395] Master/texmf-dist: latex-dev (13jan20)

commits+karl at tug.org commits+karl at tug.org
Mon Jan 13 22:35:24 CET 2020


Revision: 53395
          http://tug.org/svn/texlive?view=revision&revision=53395
Author:   karl
Date:     2020-01-13 22:35:18 +0100 (Mon, 13 Jan 2020)
Log Message:
-----------
latex-dev (13jan20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex-dev/base/README.md
    trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
    trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/encguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/manual.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/modguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/source2e.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex
    trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/afterpage.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/array.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/bm.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/calc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/changes.txt
    trunk/Master/texmf-dist/doc/latex-dev/tools/dcolumn.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/delarray.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/enumerate.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/fileerr.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/fontsmpl.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/ftnright.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/hhline.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/indentfirst.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/layout.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/longtable.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/multicol.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/rawfonts.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/shellesc.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/showkeys.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/somedefs.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/tabularx.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/theorem.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/tools-overview.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/trace.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/varioref.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/verbatim.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/xr.pdf
    trunk/Master/texmf-dist/doc/latex-dev/tools/xspace.pdf
    trunk/Master/texmf-dist/source/latex-dev/base/alltt.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/alltt.ins
    trunk/Master/texmf-dist/source/latex-dev/base/classes.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/classes.ins
    trunk/Master/texmf-dist/source/latex-dev/base/cmextra.ins
    trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.fdd
    trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.ins
    trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/docstrip.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/docstrip.ins
    trunk/Master/texmf-dist/source/latex-dev/base/ec.ins
    trunk/Master/texmf-dist/source/latex-dev/base/exscale.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/exscale.ins
    trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.ins
    trunk/Master/texmf-dist/source/latex-dev/base/fontdef.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/format.ins
    trunk/Master/texmf-dist/source/latex-dev/base/graphpap.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/graphpap.ins
    trunk/Master/texmf-dist/source/latex-dev/base/ifthen.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ifthen.ins
    trunk/Master/texmf-dist/source/latex-dev/base/inputenc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/inputenc.ins
    trunk/Master/texmf-dist/source/latex-dev/base/latex209.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/latex209.ins
    trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.ins
    trunk/Master/texmf-dist/source/latex-dev/base/latexsym.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/latexsym.ins
    trunk/Master/texmf-dist/source/latex-dev/base/letter.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/letter.ins
    trunk/Master/texmf-dist/source/latex-dev/base/ltalloc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltbibl.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltcntrl.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltcounts.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltdirchk.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/lterror.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfloat.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfntcmd.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfsscmp.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfssdcl.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltfsstrc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/lthyphen.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltidxglo.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltlength.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltlists.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltlogos.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltmath.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.ins
    trunk/Master/texmf-dist/source/latex-dev/base/ltoutput.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltpage.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltpageno.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltpar.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltpictur.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltplain.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltsect.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/lttab.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltthm.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/ltxref.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/makeindx.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/makeindx.ins
    trunk/Master/texmf-dist/source/latex-dev/base/newdc.ins
    trunk/Master/texmf-dist/source/latex-dev/base/newlfont.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.ins
    trunk/Master/texmf-dist/source/latex-dev/base/olddc.ins
    trunk/Master/texmf-dist/source/latex-dev/base/oldlfont.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/preload.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/proc.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/proc.ins
    trunk/Master/texmf-dist/source/latex-dev/base/slides.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/slides.ins
    trunk/Master/texmf-dist/source/latex-dev/base/syntonly.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/syntonly.ins
    trunk/Master/texmf-dist/source/latex-dev/base/tulm.ins
    trunk/Master/texmf-dist/source/latex-dev/base/unpack.ins
    trunk/Master/texmf-dist/source/latex-dev/base/utf8ienc.dtx
    trunk/Master/texmf-dist/source/latex-dev/tools/hhline.dtx
    trunk/Master/texmf-dist/source/latex-dev/tools/multicol.dtx
    trunk/Master/texmf-dist/tex/latex-dev/base/alltt.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/ansinew.def
    trunk/Master/texmf-dist/tex/latex-dev/base/applemac.def
    trunk/Master/texmf-dist/tex/latex-dev/base/article.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/article.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/ascii.def
    trunk/Master/texmf-dist/tex/latex-dev/base/bezier.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/bk10.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/bk11.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/bk12.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/book.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/book.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/cp1250.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp1252.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp1257.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp437.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp437de.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp850.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp852.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp858.def
    trunk/Master/texmf-dist/tex/latex-dev/base/cp865.def
    trunk/Master/texmf-dist/tex/latex-dev/base/decmulti.def
    trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/docstrip.tex
    trunk/Master/texmf-dist/tex/latex-dev/base/exscale.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/fix-cm.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/fixltx2e.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/flafter.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/fltrace.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/fontenc.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.cfg
    trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.cfg
    trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/graphpap.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/hyphen.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/idx.tex
    trunk/Master/texmf-dist/tex/latex-dev/base/ifthen.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/inputenc.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/lablst.tex
    trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/latex209.def
    trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/latexsym.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/latin1.def
    trunk/Master/texmf-dist/tex/latex-dev/base/latin10.def
    trunk/Master/texmf-dist/tex/latex-dev/base/latin2.def
    trunk/Master/texmf-dist/tex/latex-dev/base/latin3.def
    trunk/Master/texmf-dist/tex/latex-dev/base/latin4.def
    trunk/Master/texmf-dist/tex/latex-dev/base/latin5.def
    trunk/Master/texmf-dist/tex/latex-dev/base/latin9.def
    trunk/Master/texmf-dist/tex/latex-dev/base/lcyenc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/leqno.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/leqno.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/letter.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/letter.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex
    trunk/Master/texmf-dist/tex/latex-dev/base/ltxcheck.tex
    trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/ly1enc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/macce.def
    trunk/Master/texmf-dist/tex/latex-dev/base/makeidx.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/newlfont.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/next.def
    trunk/Master/texmf-dist/tex/latex-dev/base/nfssfont.tex
    trunk/Master/texmf-dist/tex/latex-dev/base/oldlfont.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/omlcmm.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/omlcmr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/omlenc.def
    trunk/Master/texmf-dist/tex/latex-dev/base/omllcmm.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/omscmr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/omscmsy.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.def
    trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/omslcmsy.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/omxcmex.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/omxlcmex.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/openbib.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmdh.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfib.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmss.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmvtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.def
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmss.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ot2enc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/ot4enc.def
    trunk/Master/texmf-dist/tex/latex-dev/base/preload.cfg
    trunk/Master/texmf-dist/tex/latex-dev/base/preload.ltx
    trunk/Master/texmf-dist/tex/latex-dev/base/proc.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/proc.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/report.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/report.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/sfonts.def
    trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/showidx.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/size10.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/size11.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/size12.clo
    trunk/Master/texmf-dist/tex/latex-dev/base/slides.cls
    trunk/Master/texmf-dist/tex/latex-dev/base/slides.def
    trunk/Master/texmf-dist/tex/latex-dev/base/slides.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/syntonly.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/t1cmdh.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfib.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1cmr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1cmss.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1cmtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1cmvtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.def
    trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmss.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/t2aenc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/t2benc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/t2cenc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/testpage.tex
    trunk/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/tracefnt.sty
    trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmss.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmvtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.def
    trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/tuenc.def
    trunk/Master/texmf-dist/tex/latex-dev/base/tulmdh.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/tulmr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/tulmss.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/tulmssq.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/tulmtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/tulmvtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ucmr.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ucmss.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ucmtt.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ulasy.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/ullasy.fd
    trunk/Master/texmf-dist/tex/latex-dev/base/utf8-2018.def
    trunk/Master/texmf-dist/tex/latex-dev/base/utf8.def
    trunk/Master/texmf-dist/tex/latex-dev/base/utf8enc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/base/x2enc.dfu
    trunk/Master/texmf-dist/tex/latex-dev/tools/hhline.sty
    trunk/Master/texmf-dist/tex/latex-dev/tools/multicol.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
    trunk/Master/texmf-dist/source/latex-dev/base/lttextcomp.dtx
    trunk/Master/texmf-dist/tex/latex-dev/base/textcomp-2018-08-11.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/tex/latex-dev/tools/.tex
    trunk/Master/texmf-dist/tex/latex-dev/tools/calc.sty
    trunk/Master/texmf-dist/tex/latex-dev/tools/e.tex
    trunk/Master/texmf-dist/tex/latex-dev/tools/h.tex
    trunk/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty
    trunk/Master/texmf-dist/tex/latex-dev/tools/layout.sty
    trunk/Master/texmf-dist/tex/latex-dev/tools/q.tex
    trunk/Master/texmf-dist/tex/latex-dev/tools/r.tex
    trunk/Master/texmf-dist/tex/latex-dev/tools/s.tex
    trunk/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty
    trunk/Master/texmf-dist/tex/latex-dev/tools/trace.sty
    trunk/Master/texmf-dist/tex/latex-dev/tools/x.tex

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/README.md	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/README.md	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,7 +1,7 @@
 The LaTeX kernel
 ================
 
-Release 2020-02-01 pre-release 2
+Release 2020-02-02 pre-release 3
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/alltt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/cfgguide.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/changes.txt	2020-01-13 21:35:18 UTC (rev 53395)
@@ -4,6 +4,87 @@
 are not part of the distribution.
 =======================================================================
 
+2020-01-12  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssini.dtx (section{Custom series settings for main document families}):
+	Cleaning up the code for \rmfamily, \sffamily, \ttfamily and adding
+	hooks to support Japanese implementations.
+
+2020-01-05  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* base/ltclass.dtx: Support more write streams for
+          filecontents in LuaTeX (gh/238)
+
+2019-12-24  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* lttextcomp.dtx: Implement text companion symbols in the kernel
+	(formerly textcomp package).
+
+2019-12-21  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* fontdef.dtx:
+	Make remaing alias definition robust independently (gh/184)
+
+2019-12-20  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* classes.dtx (subsubsection{Itemize}):
+	Normalize the itemlabels by providing \itemlabelfont
+	(defaulting to \normalfont)
+
+2019-12-18  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltoutenc.dtx: improve \add at accent
+
+	* ltoutenc.dtx (subsubsection{Default encodings}):
+	Don't fake \textcompwordmark; take default from T1 instead
+
+2019-12-17  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* fontdef.dtx (subsection{Defaults}): Set
+	\shapedefault explicitly to "n" not \updefault
+	\bfdefault set to to "b" not "bx" (but bx for CM fonts)
+	\updefault set to to "up" not "n".
+	Part of extending the series and shape handling, see ltnews31.
+
+2019-12-17  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssini.dtx (section{Supporting nested emphasis}):
+	Support nested \emph sequences a generalization \eminnershape.
+	See ltnews31 for details.
+
+	* ltfssini.dtx (section{Custom series settings for main document families}):
+	Provide custom series settings a la mweights package.
+	See ltnews31 for details.
+
+2019-12-17  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssaxes.dtx: Code for additional series and shape axes added
+	See ltnews31 for details.
+
+2019-12-16  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* doc.dtx (subsection{Macros surrounding the `definition parts'}):
+	Use \shapedefault not \updefault for extended NFSS
+
+2019-12-16  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* cmfonts.fdd:  Provide substitutions for cmtt/bx/sl
+
+2019-12-02  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* cmfonts.fdd: Silent warning for cmss/it substitution (gh/172)}
+
+2019-11-29  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltclass.dtx: Be careful when displaying the package or
+	class info text as it may contain UTF-8 chars (gh/52)}
+
+2019-11-22  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltoutenc.dtx (subsection{The fontenc package}):
+	Avoid spurious warning if fontenc selects LY1 as default
+	encoding (gh/199)
+
 2019-11-14  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 
 	* utf8ienc.dtx (subsection{The mapping table}):
@@ -31,6 +112,11 @@
 	* ltclass.dtx (section{Implementation}): Initialize
 	\...-h@@k only when loading the package or class (gh/198)
 
+2019-10-11  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfsstrc.dtx (subsection{Sizefunctions}):
+	Added 'alias' size function (mainly for autoinst fonts)
+
 #########################
 # 2019-10-01 PL 3 Release
 #########################

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/classes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/clsguide.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cmfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/cyrguide.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/encguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/encguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/encguide.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/encguide.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/exscale.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fix-cm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/fntguide.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -38,7 +38,7 @@
 \author{\copyright~Copyright 1995--2019, \LaTeX3 Project Team.\\
    All rights reserved.}
  
-\date{July 2019}
+\date{October 2019}
  
 \begin{document}
  
@@ -170,7 +170,7 @@
 This section describes the commands available to class and package
 writers for specifying and selecting fonts.
  
-\subsection{Text font attributes}
+\subsection{Text font attributes} \label{sec:textfontattributes}
  
 Every text font in \LaTeX{} has five \emph{attributes}:
 \begin{description}
@@ -1214,6 +1214,13 @@
 \item[ssub]
 Silent variant of `sub', only loggings.
  
+\item[alias]
+\NEWfeature{2019/10/15}
+Same as `ssub' but with a different logging message. Intended for
+cases where the substitution is only done to change the name, e.g.,
+going from \texttt{regular} series to the official name \texttt{m}. In
+that case given a warning that some shape is not found is not correct.
+ 
 \item[subf]
 Like the empty function but issues a warning that it has to substitute
 the external font \m{fontarg} because the desired font shape was not
@@ -1603,6 +1610,9 @@
    \DeclareFontSubstitution{T1}{cmr}{m}{n}
 \end{verbatim}
 
+
+
+
 \subsection{Case changing}
 \label{sec:case}
 
@@ -1810,15 +1820,25 @@
 start with |E|, whilst |U| is for Unknown or Unclassified encodings.
  
 \item
-Font family names should contain up to five lower case letters.
-Where possible, these should conform to the \emph{Filenames for fonts}
-font naming scheme.
+\NEWdescription{2019/10/15}
+Font family names should contain only upper and lower case letters and
+hyphen characters.  Where possible, these should conform to the
+\emph{Filenames for fonts} font naming scheme of the scheme
+implemented by \texttt{autoinst} with suffixes such as \texttt{-LF},
+\texttt{-OsF}, etc.\ to indicate different figure styles.
  
 \item
-Font series names should contain up to four lower case letters.
+\NEWdescription{2019/10/15}
+Font series names should contain up to four lower case letters. If at
+all possible standard names as suggested in
+Section~\ref{sec:textfontattributes} should be used. Font specific
+names such as \texttt{regular} or \texttt{black}, etc.\ should be at
+least aliased to a corresponding standard name.
  
 \item
-Font shapes should contain up to two letters lower case.
+\NEWdescription{2019/10/15}
+Font shapes should contain up to four letters lower case. Use the
+names suggested in Section~\ref{sec:textfontattributes}.
  
 \item
 Names for symbol fonts are built from lower and upper case letters
@@ -1844,6 +1864,63 @@
    Note that commands defined in this way must be robust, in case they
    get put into a section title or other moving argument.
 
+
+
+\subsection{The order of declaration}
+
+
+\NEWdescription{2019/10/15}
+\NFSS{} forces you to give all declarations in a specific order so
+that it can check whether you have specified all necessary
+information.  If you declare objects in the wrong order, it will
+complain.  Here are the dependencies that you have to obey:
+\begin{itemize}
+\item
+|\DeclareFontFamily| checks that the encoding scheme was previously
+declared with |\DeclareFontEncoding|.
+
+\item
+|\DeclareFontShape| checks that the font
+family was declared to be available in the requested
+encoding (|\DeclareFontFamily|).
+
+\item
+|\DeclareSymbolFont| checks that the encoding scheme is valid.
+
+\item
+|\SetSymbolFont| additionally ensures that the requested math
+version was declared (|\DeclareMathVersion|) and that the requested
+symbol font was declared (|\DeclareSymbolFont|).
+
+
+\item
+|\DeclareSymbolFontAlphabet| checks that the command name for the
+alphabet identifier can be used and that the symbol font was declared.
+
+\item
+|\DeclareMathAlphabet| checks that the chosen command name can be
+used and that the encoding scheme was declared.
+
+\item
+|\SetMathAlphabet| checks that the alphabet identifier was
+previously declared with |\DeclareMathAlphabet| or
+|\DeclareSymbolFontAlphabet| and that the math version and the
+encoding scheme are known.
+
+\item
+|\DeclareMathSymbol| makes sure that the command name can be used
+(i.e., is undefined or was previously declared to be a math symbol)
+and that the symbol font was previously declared.
+
+\item
+When the |\begin{document}| command is reached, \NFSS{} makes
+some additional checks---for example, verifying that substitution
+defaults for every encoding scheme point to known font shape group
+declarations.
+\end{itemize}
+
+
+   
 \section{If you need to know more \ldots}
 
 \NEWdescription{1996/06/01}

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/graphpap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ifthen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/inputenc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/latexchanges.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexrelease.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/latexsym.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lb2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/letter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/lgc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltluatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,7 +1,7 @@
 % \iffalse meta-comment
 %
 % Copyright 2006, 2009, 2011, 2014 Heiko Oberdiek
-% Copyright (C) 2014-2019 The LaTeX3 Project
+% Copyright (C) 2014-2020 The LaTeX3 Project
 % 
 % This file is part of the LaTeX base system.
 % -------------------------------------------
@@ -32,7 +32,7 @@
 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltnews.tex}%
-  [2015/02/16 v1.4b Master file for ltnews*.tex (LaTeX Project)]
+  [2020/01/09 v1.4c Master file for ltnews*.tex (LaTeX Project)]
 
 \providecommand*{\lastissue}{31}
 
@@ -83,6 +83,7 @@
 \RequirePackage{hyperref}
 \hypersetup{colorlinks}
 \RequirePackage{bookmark}
+\RequirePackage{multicol}
 
 \makeatletter
 
@@ -189,7 +190,11 @@
               \def\y{|graphicx}%
               \ifx\x\y
               \else
-                \@latex at error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+                \def\y{|multicol}%
+                \ifx\x\y
+                \else
+                  \@latex at error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+                \fi
               \fi
             \fi
           \fi

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews01.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews02.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews03.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews04.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews05.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews06.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews07.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews08.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews09.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews10.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews11.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews12.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews13.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews14.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews15.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews16.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews17.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews18.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews19.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews20.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews21.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews22.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews23.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews24.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews25.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2016-2019
+% Copyright (C) 2016-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews26.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017-2019
+% Copyright (C) 2017-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews27.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017-2019
+% Copyright (C) 2017-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews28.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017-2019
+% Copyright (C) 2017-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews29.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2018-2019
+% Copyright (C) 2018-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews30.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltnews31.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright 2019
+% Copyright 2019-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -36,6 +36,7 @@
 \usepackage{lmodern,url,hologo}
 
 \usepackage{csquotes}
+\usepackage{multicol}
 
 \providecommand\acro[1]{\textsc{#1}}
 \providecommand\meta[1]{$\langle$\textit{#1}$\rangle$}
@@ -136,65 +137,34 @@
 This document is under construction \ldots
 
 
-\section{Primitive requirements}
+\section{Experiences with the \LaTeX\texttt{-dev} formats}
 
-Since the finalisation of \eTeX{} in 1999, a number of additional `utility'
-primitives have been added to \pdfTeX{}. Several of these are broadly useful
-and have been requirements for \pkg{expl3} for some time, most notably
-\cs{pdfstrcmp}. Over time, a common set of these `post-\eTeX{}' primitives have
-been incorporated into \XeTeX{} and (u)p-\TeX{}; they were available in
-\LuaTeX{} already.
+As reported in the previous \emph{\LaTeX{} News}, we have made a pre-release
+version of the \LaTeX{} kernel available as \LaTeX\texttt{-dev}. Overall, the
+approach of having an explicit testing release has been positive: it is now
+readily-available in \TeX{} systems and is getting real use beyond the team.
 
-A number of the additional primitives are needed to support new or improved
-functionality in \LaTeX{}. This is seen for example in improved UTF-8 handling,
-which uses \cs{ifincsname}. The following primitive functionality (which in
-\LuaTeX{} may be achieved using Lua code) will therefore be \emph{required} by
-the \LaTeX{} kernel after [INSERT DATE HERE]:
-\begin{itemize}
-  \item \cs{expanded}
-  \item \cs{ifincsname}
-  \item \cs{ifpdfprimitive}
-  \item \cs{pdfcreationdate}
-  \item \cs{pdfelapsedtime}
-  \item \cs{pdffiledump}
-  \item \cs{pdffilemoddate}
-  \item \cs{pdffilesize}
-  \item \cs{pdflastxpos}
-  \item \cs{pdflastypos}
-  \item \cs{pdfmdfivesum}
-  \item \cs{pdfnormaldeviate}
-  \item \cs{pdfpageheight}
-  \item \cs{pdfpagewidth}
-  \item \cs{pdfprimitive}
-  \item \cs{pdfrandomseed}
-  \item \cs{pdfresettimer}
-  \item \cs{pdfsavepos}
-  \item \cs{pdfsetrandomseed}
-  \item \cs{pdfshellescape}
-  \item \cs{pdfstrcmp}
-  \item \cs{pdfuniformdeviate}
-\end{itemize}
-For ease of reference, these primitives will be referred to as the
-`\pdfTeX{} utilities'.
+The current
+release has been tested by a number of users, and we have had useful feedback
+on a range of new ideas. This has allowed us to fix issues in several of the
+new features described below. We thank the dedicated users who have been
+trying out the development formats, and encourage others to do so. Pre-testing
+in this way does mean that for the vast majority of users, problems are solved
+before they even appear!
 
-Engines which are fully Unicode-capable must all provide the following
-primitives
-\begin{itemize}
-  \item \cs{Uchar}
-  \item \cs{Ucharcat}
-  \item \cs{Umathcode}
-\end{itemize}
-In particular, note that \cs{Umathcode} is used as a marker primitive for
-this capability.
+\section{Concerning this pre-release \ldots}
 
-\section{Experiences with the \LaTeX\texttt{-dev} formats}
+In \TeX{}Live 2020 the Lua\LaTeX{} format will use the new LuaHB\TeX{}
+engine, which is Lua\TeX{} with an embedded HarfBuzz library.
+HarfBuzz can be used by setting a suitable renderer in the font
+declaration. A basic interface for that is provided by \pkg{fontspec}.
+This additional font renderer will greatly improve the shaping of
+various scripts, which are currently handled correctly only by
+\XeTeX{}.  To simplify the testing of the new engine, binaries have
+been already added to MiK\TeX{} and \TeX{}Live 2019 and both have changed
+the Lua\LaTeX-dev format to use it.
 
-\emph{write}
 
-In TeXLive 2020 the Lua\LaTeX{} format will use the new LuaHB\TeX{} engine, which is Lua\TeX{} with an embedded HarfBuzz library.
-HarfBuzz can be used by setting a suitable renderer in the font declaration. An interface for that is provided by \pkg{fontspec}.
-This additional font renderer will greatly improve the shaping of various scripts, which are currently handled correctly only by \XeTeX{}.
-To simplify the testing of the new engine, binaries have been added to MiKTeX and TeXLive 2019 and both have changed the Lua\LaTeX-dev format to use it.
 
 \section{Improved load-times for \pkg{expl3}}
 
@@ -201,7 +171,7 @@
 The \LaTeX3 programming layer, \pkg{expl3}, has over the past decade moved from
 being largely experimental to broadly stable. It is now used in a significant
 number of third-party packages, most notably \pkg{xparse} for defining
-interfaces in cases where no \pkg{expl3} code is \enquote{visible}. Most
+interfaces in cases where no \pkg{expl3} code is \enquote{visible}. In addition, most
 \LaTeX{} documents compiled using \XeTeX{} or \LuaTeX{} load \pkg{fontspec},
 which is written using \pkg{expl3}.
 
@@ -221,28 +191,482 @@
 \end{verbatim}
 entirely, but to support older formats, this is still recommended at present.
 
+
+
+
+
+
+\section[Improvements to \LaTeX{}'s font selection\\ mechanism (NFSS)]
+        {Improvements to \LaTeX{}'s font selection\\ mechanism (NFSS)}
+
+
+\subsection{Extending the shape management of NFSS}
+
+Over time more and more fonts have become available for use with
+\LaTeX{}. Many such font families offer additional shapes, e.g., small
+caps italics (\texttt{scit}), small caps slanted (\texttt{scsl} or
+swash letters (\texttt{sw}). By using \cs{fontshape} those shapes can
+be explicitly selected and for the swash letter shapes there is also
+\cs{swshape} and \cs{textsw} available.
+
+In the original font selection implementation a request to select a new shape
+always overrode the current shape. With the 2020 release of \LaTeX{}
+this has changed and \cs{fontshape} can now be used to combine small
+capitals with italics, slanted or swash letters, either by explicitly
+asking for \texttt{scit}, etc., or by asking for italics when typesetting
+already in small caps and so forth.
+
+Using \cs{upshape} will still change italics or slanted back to an
+upright shape but will not any longer alter the small caps setting. To
+change small capitals back to upper/lower case you can now use
+\cs{ulcshape} (or \cs{textulc}) which in turn will not change the font
+with respect to italics, slanted or swash.
+%
+There is one exception: for compatibility reasons \cs{upshape} will
+change small capitals back to upright (\texttt{n} shape), if the
+current shape is \texttt{sc}. This is done so that something like
+\cs{scshape}\allowbreak\texttt{...}\allowbreak\cs{upshape} continues
+to work, but we suggest that you don't use that deprecated method in
+new documents.
+
+Finally, if you want to
+reset the shape back to normal you can use \cs{normalshape} which is a
+shorthand for \cs{upshape}\cs{ulcshape}.
+
+The way that shapes combine with each other is not hardwired but is
+customizable and extensible if there is ever a need for it. The
+mappings are defined through \cs{DeclareFontShapeChangeRule} and the
+details for developers are documented in \texttt{source2e.pdf}.
+
+The ideas for this interface extension have been pioneered in
+\pkg{fontspec} by Will Robertson for Unicode engines and in
+\pkg{fontaxes} by Andreas Bühmann and Michael Ummels for \pdfTeX{} and
+used in many font support packages.
+
+
+
+\subsection{Extending the series management of NFSS}
+
+Many of the the newer font families also come provided with additional
+weights (thin, semi-bold, ultra-bold, etc.\@) or several running lengths
+such a condensed or extra-condensed. In some cases the number of
+different series values is really impressive, for example, Noto Sans
+offers 36 fonts from ultra-light extra condensed to ultra-bold medium width.
+
+Already in its original design, NFSS supported 9 weight levels from
+ultra-light (\texttt{ul}) to ultra-bold (\texttt{ub}) and also 9 width
+levels from ultra-condensed (\texttt{uc}) to ultra-expanded
+(\texttt{ux}) so more than enough even for a font family like Noto
+Sans. Unfortunately, some font support packages nevertheless invented
+their own names so in recent years you could find all kinds of
+non-standard series names like \texttt{k}, \texttt{i}, \texttt{j} and
+others making it impossible to combine different fonts successfully
+using the standard NFSS mechanisms.
+
+Over the course of the last year a small number of individuals,
+notably, Bob Tennent, Michael Sharpe and Marc Penninga worked hard to
+bring this unsatisfying situation back under control and today we are
+happy to report that the internal font support files for more than a
+hundred font families are back to following the standard NFSS conventions
+so that combining them is now again rather nice and easy (of course,
+there is still the task of choosing combinations that visually work
+well together, but from a technical perspective they can now easily
+matched).
+
+
+In the original font selection implementation, a request to select a new series
+always overrode the current one. This was reasonable because there
+were nearly no fonts available that offered anything other than a
+medium or a bold series. Now that this has changed and families such
+as Noto Sans are available, combining weight and width into a single
+attribute is no longer appropriate. With the 2020 release of \LaTeX{}
+the series management therefore changed to allow for independently
+setting the weight and the width attribute of the series.
+
+For most users this change will be largely transparent as \LaTeX{}
+offers only \cs{textbf} or \cs{bfseries} to select a bolder face (and
+\cs{textmd} and \cs{mdseries} to return to a medium series) but no
+high-level command for selecting a condensed face, etc. However, with
+the NFSS low-level interface, it is now possible to ask for, say,
+\verb=\fontseries{c}\selectfont= in a marginal note to get a condensed
+face and that would still allow  using \cs{textbf} inside. This then would
+select a bold condensed face and not a rather odd-looking
+bold-extended face in the middle of condensed type.
+
+The expectation is that this functionality is largely used by class and package
+designers, but given that the low-level NFSS commands are usable on
+the document level and not really difficult to apply, there are
+probably also a number of users who will enjoy using the new
+possibilities that bring \LaTeX{} back into the front league when it
+comes to font usage.
+
+The way different series values combine with each other is not
+hardwired but is again customizable and extensible. The mappings are
+defined through \cs{DeclareFontSeriesChangeRule} and the details for
+developers are documented in \texttt{source2e.pdf}.
+
+
+
+\subsection{Font series defaults per document family}
+
+With additional weights and widths available in many font families it
+becomes more likely that somebody wants to match, say, a medium weight
+serif family with a semi-light sans serif family or that with one
+family one wants to use the bold-extend face when \cs{textbf} is used
+while with another it should be bold (not extended) or semibold, etc.
+
+In the past this kind of extension was made available with the
+\pkg{mweights} package by Bob Tennent which has been used in many font
+support packages.
+
+With the 2020 release of \LaTeX{} this feature is now available out
+of the box.  In addition we also offer a document-level interface to adjust the
+behavior of the high-level series commands \cs{textbf}, \cs{textmd} and their
+declaration forms \cs{bfseries} and \cs{mdseries} so that they can
+have different effects for the serif, sans serif and typewriter
+families used in a document.
+
+For example, specifying
+\begin{verbatim}
+  \DeclareFontSeriesDefault[rm]{bf}{sb}
+  \DeclareFontSeriesDefault[tt]{md}{lc}
+\end{verbatim}
+in the document preamble would result in \cs{textbf} producing
+semi-bold (\texttt{sb}) when typesetting in roman typeface and
+that typewriter is by default (medium series \texttt{md}) using
+a light-condensed face. The optional argument here can be either
+\texttt{rm}, \texttt{sf} or \texttt{tt} to indicate one of the three
+main font families in a document; if omitted you will change the
+overall document default instead.  In the first mandatory argument you
+specify either \texttt{md} or \texttt{bf} and the second mandatory
+argument then gives the desired series value in NFSS nomenclature.
+
+
+\subsection{Emphasis handling generalized}
+
+With previous releases of \LaTeX{} nested \cs{emph} commands
+automatically alternated between italics and upright.  This mechanism
+has now been generalized and you can now specify for arbitrary nesting
+levels how emphasis should be handled.
+
+The declaration \cs{DeclareEmphSequence} expects a comma separated
+list of font declarations corresponding to increasing levels of
+emphasis. For example,
+\begin{verbatim}
+  \DeclareEmphSequence{\itshape,%
+               \upshape\scshape,\itshape}
+\end{verbatim}
+uses italics for the first, small capitals for the second, and italic
+small capitals for the third level (provided you use a font that
+supports these shapes).  If there are a more nesting levels than
+provided, \LaTeX{} uses the declarations stored in \cs{emreset} (by
+default \cs{ulcshape}\cs{upshape}) for the next level and then
+restarts the list.
+
+The mechanism tries to be \enquote{smart} and verifies that the given
+declarations actually alter the current font. If not it continues and
+tries the next level---the assumption being that there was already a
+manual font change in the document to the font that is now supposed to
+be used for emphasis.
+%
+Of course, this only works if the declarations in the list entries
+actually change the font and not, for example, just the color. In such
+a scenario one has to add \cs{emforce} to the entry which directs the
+mechanism to use the level, even if the font attributes appear to be
+unchanged.
+
+
+
+\subsection{Providing font family substitutions}
+
+Given that \pdfTeX{} can only handle fonts with up to 256 glyphs a
+single font encoding can only support a few languages. The \texttt{T1}
+encoding, for example, does support many of the Latin based scripts,
+but if you want to write in Greek or Russian you need to switch
+encodings to \texttt{LGR} or \texttt{T2A}. Given that not every font
+family offers glyphs in such encodings, you may end up with some
+default family (e.g., Computer Modern) that doesn’t blend in well
+chosen document font.  For such cases NFSS now offers
+\cs{DeclareFontFamilySubstitution}, for example:
+\begin{verbatim}
+  \DeclareFontFamilySubstitution{LGR}
+       {Montserrat-LF}{IBMPlexSans-TLF}
+\end{verbatim}
+tells \LaTeX{} that if you are typesetting in the sans serif font
+\texttt{Montserrat-LF} and the Greek encoding \texttt{LGR} is asked
+for, then \LaTeX{} should use \texttt{IBMPlexSans-TLF} to fulfill the
+encoding request.
+
+The code is based on ideas from the \pkg{substitutefont}
+package by Günter Milde, but implemented differently.
+
+
+\subsection{Providing all text companion symbols by default}
+
+The text companion encoding \texttt{TS1} was originally not available
+by default, but only when the \pkg{textcomp} package was loaded. The
+main reason for this was limited availability in fonts other than
+Computer Modern and memory restrictions back in the nineties. These
+days neither limitation exists any more so with the 2020 release all
+the symbols provided with the \pkg{textcomp} package are available out
+of the box.
+
+Furthermore, an intelligent substitution mechanism has been
+implemented so that missing glyphs are automatically substituted with
+defaults that are sans serif if you typeset in \cs{textsf} and
+monospaced if you typeset using \cs{texttt} and not always serifed.
+
+
+\textsf{This is most noticeable with \cs{oldstylenums} which are now
+  taken from \texttt{TS1} so that you no longer get
+  \textrm{\oldstylenums{123}} but \oldstylenums{123} when typesetting
+  in sans serif fonts}\texttt{ and \oldstylenums{123} when using
+  typewriter fonts.}
+
+If there ever is a need to use the original (inferior) definition,
+then that remains available as \cs{legacyoldstylenums} and to fully
+revert to the old behavior there is also
+\cs{UseLegacyTextSymbols}. That declaration reverts \cs{oldstylenums}
+and also changes the footnote symbols, such as \cs{textdagger},
+\cs{textparagraph}, etc.\ pick up their glyphs again from the math
+fonts instead of the current text font (this means they always keep
+the same shape and do not nicely blend in with the text font).
+
+With the text companion symbols as part of the kernel it is normally
+no longer necessary to load the \pkg{textcomp} package, but for
+backwards compatibility this package will remain available.  There is,
+however, one use case where it remains useful: if you load the package
+with the option \texttt{error} or \texttt{warn} then substitutions
+will change their behavior and result in a \LaTeX{} error or a
+\LaTeX{} warning (on the terminal), respectively. Without the package
+the substitution information only appears in the \texttt{.log}
+file. If you use the option \texttt{quit}, then even the information in
+the transcript is suppressed (which is not really recommended).
+
 \section{Other changes to the \LaTeX{} kernel}
 
-\emph{fixed gh198}
+\subsection{New \texttt{alias} size function for use in \texttt{.fd} files}
 
+Most of the newer fonts supported in \TeX{} have been set up with the
+\texttt{autoinst} tool by Marc Penninga. In the past this program did
+set up the font faces using the face names chosen by its designer,
+e.g., \enquote{\texttt{regular}}, \enquote{\texttt{bold}}, etc., and
+then mapped those via substitution to the standard NFSS shape names,
+i.e., \enquote{\texttt{m}} or \enquote{\texttt{b}}. As a result one
+got unnecessary substitution warnings such as \enquote{\texttt{Font
+    T1/abc/bold/n not found using T1/abc/b/n instead}}.
 
+We now provide a new NFSS \texttt{alias} size function that can and will be
+used by \texttt{autoinst} in the future. It provides the same
+functionality as the \texttt{subst} function but is less vocal about
+its actions, such that only relevant font substitutions show up as
+warnings.
+
+
+
+
+
+\subsection{UTF-8 characters in package descriptions}
+
+In 2018 we made UTF-8 the default input encoding for \LaTeX{} but we
+overlooked the case of package descriptions in declarations such as
+\cs{ProvidesPackage} which worked (sometimes) before but now died
+always. This has been corrected.
+\githubissue{52}
+
+
+\subsection{Suppress unnecessary font substitution warnings}
+
+Many sans serif fonts do not have real italics but usually only
+oblique/slanted shapes, so the substitution of slanted for italics is
+natural and in fact many designers talk about italic sans serif faces
+even if in reality they are oblique. With nearly all sans serif font
+family the \LaTeX{} support files therefore silently substitute
+slanted if you ask for \cs{itshape} or \cs{textit}.  This is also true
+for Computer Modern in \texttt{T1} encoding but in \texttt{OT1} you
+got a warning on the terminal even though there is nothing you can do
+about it. This has now been changed to an information message only
+written to the \texttt{.log} file.
+%
+\githubissue{172}
+
+
+\subsection{Fix inconsistent hook setting when loading packages}
+
+When a package is loaded
+\texttt{\textbackslash}\textit{package}\texttt{.sty-h@@k} is set, but
+it was loaded several times it was unset again. Relevant only to
+package developers.
+%
+\githubissue{198}
+
+
+\subsection{Avoid spurious warning if \texttt{LY1} is made the default encoding}
+
+Making \texttt{LY1} the default encoding as done by some font support
+packages gave a spurious warning even if \cs{rmdefault} was changed
+first. This was corrected.
+%
+\githubissue{199}
+
+
+
+\subsection{Ensure that \cs{\textbackslash} remains robust}
+
+In the last release we made most document-level commands robust, but
+\cs{\textbackslash} became fragile again if \cs{raggedright}
+typesetting was used.
+%
+\githubissue{203}
+
+
+\subsection{Allow more write streams with \texttt{filecontents} in \LuaTeX}
+
+Most \TeX{} engines only support a maximum of sixteen concurrently
+open write streams and if those have been used up, then
+\texttt{filecontents} or any other code trying to open another one
+will fail. In \LuaTeX{} more write streams are available and those can
+now be utilized as well.
+%
+\githubissue{238}
+
+
+
+
+\section{Changes to packages in the \pkg{graphics} category}
+
+\subsection[Make \pkg{color}/\pkg{graphics} user-level commands robust]
+           {Make \pkg{color} \& \pkg{graphics} user-level commands robust}
+
+Some of the user-level commands of \pkg{color}, \pkg{graphics} and
+\pkg{graphicx} such as \cs{textcolor} or \cs{includegraphics} were
+still fragile, so didn't work in moving arguments without extra
+protection. All of them have now been made robust.
+%
+\githubissue{208}
+
+
+
+
 \section{Changes to packages in the \pkg{tools} category}
 
-\emph{fixed gh190}
+\subsection{Fixed column depth in boxed \texttt{multicols}}
 
+The \texttt{multicols} environment was setting \cs{maxdepth} when
+splitting boxes but the way the internal interfaces of \LaTeX{} are
+designed it should have used \cs{@maxdepth} instead. As a result
+balanced boxed multicols sometimes ended up having different height
+even if they had exactly the same content.
+%
+\githubissue{190}
 
 
-\section{Changes to packages in the \pkg{amsmath} category}
+\subsection{Ensure that \texttt{multicols} is not losing text}
 
+The \texttt{multicols} environment needs a set of consecutive boxes to
+collect column material. The way those got allocated could result in
+disaster if other packages allocated most boxes below box 255 (which
+\TeX{} always uses for the output page).  In the original
+implementation that problem was identified because one could only
+allocate boxes below 255, but nowadays the \LaTeX{} allocation routine
+allows allocating boxes below and above 255. So the assumption that
+asking for, say 20 boxes you get a consecutive sequence of box
+registers was no longer true and so some of the column material could
+end in box 255 and be overwritten. This has now been corrected by
+allocating all necessary boxes above 255 if there aren't enough
+registers available.
+%
+\githubissue{237}
 
+\subsection{Allow spaces in \cs{hhline} arguments}
 
+The verb \verb|\hhline| command which allows
+specification of rule segments in \texttt{tabular} environments now
+allows (and ignores) spaces between its tokens so
+\verb|\hhline{: = : =}| is now allowed and equivalent to
+\verb|\hhline{:=:=}|. This matches similar token arguments in \LaTeX{}
+such as the \verb|[h t p]| argument on floats.  A similar change has
+been made to the extended \verb|\hhline| command in the
+\texttt{colortbl} package.
+%
+\githubissue{242}
 
-\section{Documentation updates}
 
 
+\section{Primitive requirements}
 
+Since the finalization of \eTeX{} in 1999, a number of additional `utility'
+primitives have been added to \pdfTeX{}. Several of these are broadly useful
+and have been requirements for \pkg{expl3} for some time, most notably
+\cs{pdfstrcmp}. Over time, a common set of these `post-\eTeX{}' primitives have
+been incorporated into \XeTeX{} and (u)p-\TeX{}; they were available in
+\LuaTeX{} already.
 
+A number of the additional primitives are needed to support new or improved
+functionality in \LaTeX{}. This is seen for example in improved UTF-8 handling,
+which uses \cs{ifincsname}. The following primitive functionality (which in
+\LuaTeX{} may be achieved using Lua code) will therefore be \emph{required} by
+the \LaTeX{} kernel from the start of 2021:
+%
+\begingroup\setlength\columnsep{0pt}
+\begin{multicols}{2}
+\begin{itemize}
+  \item \cs{expanded}
+  \item \cs{ifincsname}
+  \item \cs{ifpdfprimitive}
+  \item \cs{pdfcreationdate}
+  \item \cs{pdfelapsedtime}
+  \item \cs{pdffiledump}
+  \item \cs{pdffilemoddate}
+  \item \cs{pdffilesize}
+  \item \cs{pdflastxpos}
+  \item \cs{pdflastypos}
+  \item \cs{pdfmdfivesum}
+  \item \cs{pdfnormaldeviate}
+  \item \cs{pdfpageheight}
+  \item \cs{pdfpagewidth}
+  \item \cs{pdfprimitive}
+  \item \cs{pdfrandomseed}
+  \item \cs{pdfresettimer}
+  \item \cs{pdfsavepos}
+  \item \cs{pdfsetrandomseed}
+  \item \cs{pdfshellescape}
+  \item \cs{pdfstrcmp}
+  \item \cs{pdfuniformdeviate}
+\end{itemize}
+\end{multicols}
+\endgroup
+%
+For ease of reference, these primitives will be referred to
+as the `\pdfTeX{} utilities'. With the exception of \cs{expanded},
+these have been present in \pdfTeX{} since the release of version
+1.40.0 in 2007; \cs{expanded} was added for \TeX{}~Live
+2019. Similarly, the full set of utility primitives have been
+available in \XeTeX{} from the 2019 \TeX{}~Live release, and have
+always been available in \LuaTeX{} (some by Lua emulation). p\TeX{}
+and up\TeX{} gained all of the above bar \cs{ifincsname} for
+\TeX{}~Live 2019, and will have that primitive from the 2020 release.
 
+At the same time, engines which are fully Unicode-capable must all
+provide the following primitives
+%
+\begingroup\setlength\columnsep{0pt}
+\begin{multicols}{2}
+\begin{itemize}
+  \item \cs{Uchar}
+  \item \cs{Ucharcat}
+  \item \cs{Umathcode}
+\end{itemize}
+\end{multicols}
+\endgroup
+%
+Note that it has become standard practice to check for Unicode-aware
+engines with the existence of the \cs{Umathcode} primitive. As such,
+this is already a requirement: engines lacking these primitives cannot
+access Unicode features of the \LaTeXe{} kernel or of
+\pkg{expl3}. Note that up\TeX{} has facilities for handling Unicode
+but is not classed as a Unicode engine by the base LaTeX code.
+
 \begin{thebibliography}{9}
 
 %\fontsize{9.3}{11.3}\selectfont
@@ -261,10 +685,6 @@
   \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
   \url{https://latex-project.org/documentation/}
 
-%\bibitem{31:site-pub}
-%  \emph{\LaTeX{} Project publications on the \LaTeX{} Project Website}.\\
-%  \url{https://latex-project.org/publications/}
-
 \end{thebibliography}
 
 \end{document}

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/ltx3info.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/ltxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/makeindx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/modguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/modguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/modguide.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/modguide.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/nfssfont.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/proc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slides.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/slifonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/source2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/source2e.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/source2e.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/source2e.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 
@@ -156,7 +156,7 @@
 \setcounter{IndexColumns}{2}
 
 % Needed for documentation in ltoutenc.dtx
-\usepackage{textcomp}
+% \usepackage{textcomp}
 
 \begin{document}
  \title{The \LaTeXe\ Sources}
@@ -266,6 +266,8 @@
 
  \DocInclude{ltfssbas} % NFSS Base macros
 
+ \DocInclude{ltfssbas} % NFSS Axes handling (new in 2020)
+
  \DocInclude{ltfsstrc} % NFSS Tracing (and tracefnt.sty)
 
  \DocInclude{ltfsscmp} % NFSS1 Compatibility
@@ -280,6 +282,8 @@
 
  \DocInclude{ltfntcmd} % \textrm etc
  
+ \DocInclude{lttextcomp} % companion symbols (new 2020)
+ 
  \DocInclude{ltpageno} % Page numbering
 
  \DocInclude{ltxref}   % Cross referencing

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/syntonly.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tlc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/tulm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/base/usrguide.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/utf8ienc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/base/webcomp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/afterpage.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/array.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/bm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/calc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex-dev/tools/changes.txt	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/doc/latex-dev/tools/changes.txt	2020-01-13 21:35:18 UTC (rev 53395)
@@ -5,6 +5,16 @@
 are not part of the distribution.
 =======================================================================
 
+2019-12-09  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* multicol.dtx:
+	Support up to 20 columns instead of 10; also ensure that
+	the insert boxes are not clobbered (gh/237)
+
+2019-10-15  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* multicol.dtx: Use \@maxdepth not \maxdepth (gh/190)
+
 #########################
 # 2019-11-10 PL 3 Release
 #########################

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/dcolumn.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/delarray.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/enumerate.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/fileerr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/fontsmpl.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/ftnright.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/hhline.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/indentfirst.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/layout.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/longtable.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/multicol.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/rawfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/shellesc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/showkeys.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/somedefs.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/tabularx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/theorem.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/tools-overview.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/trace.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/varioref.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/verbatim.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/xr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex-dev/tools/xspace.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex-dev/base/alltt.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/alltt.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/alltt.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/alltt.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/alltt.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/alltt.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/classes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/classes.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/classes.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -53,7 +53,7 @@
 %<*driver>
 \ProvidesFile{classes.drv}
 %</driver>
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
 %<article|report|book> Standard LaTeX document class]
 %<10pt|11pt|12pt>      Standard LaTeX file (size option)]
 %    \end{macrocode}
@@ -2949,19 +2949,37 @@
 % \begin{macro}{\labelitemiv}
 %    Itemization is controlled by four commands: |\labelitemi|,
 %    |\labelitemii|, |\labelitemiii|, and |\labelitemiv|, which define
-%    the labels of thevarious itemization levels: the symbols used are
+%    the labels of the various itemization levels: the symbols used are
 %    bullet, bold en-dash, centered asterisk and centred dot.
 %
 %    \begin{macrocode}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\newcommand\labelitemi  {\labelitemfont \textbullet}
+\newcommand\labelitemii {\labelitemfont \bfseries \textendash}
+\newcommand\labelitemiii{\labelitemfont \textasteriskcentered}
+\newcommand\labelitemiv{ \labelitemfont \textperiodcentered}
 %    \end{macrocode}
+%
+% \begin{macro}{\labelitemfont}
+%    The default definition for \cs{labelitemfont} is to reset the
+%    font to \cs{normalfont} so that always the same symbol is
+%    produced regardless of surrounding conditions.
+%
+% \changes{v1.4l}{2019/12/20}{Normalize label fonts} 
+%    A possible alternative would be
+%\begin{verbatim}
+%\renewcommand\labelitemfont{%
+%   \fontseries\seriesdefault
+%   \fontshape\shapedefault\selectfont}
+%\end{verbatim}
+%    which resets series and shape doesn't touch the family.
+%    \begin{macrocode}
+\newcommand\labelitemfont{\normalfont}
+%    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \subsubsection{Description}
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/classes.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/classes.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/classes.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/cmextra.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/cmextra.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/cmextra.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.fdd
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.fdd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.fdd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -26,7 +26,6 @@
 % extension .ins) which are part of the distribution.
 % 
 % \fi
-% \CheckSum{295}
 %
 %\iffalse        This is a META comment
 %
@@ -68,7 +67,7 @@
 %<*driver,  >
              \ProvidesFile{cmfonts.drv}
 %</driver,  >
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -915,8 +914,13 @@
 %<+OT1cmss,Ucmss>% Font undefined, therefore substituted
 %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{it}
 %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{it}%
-%<-nowarn>      {<->sub*cmss/m/sl}{}
-%<+nowarn>      {<->ssub*cmss/m/sl}{}
+%    \end{macrocode}
+%    Never warn about substituting \texttt{sl} for \texttt{it} because
+%    that is common practise for sans serif fonts.
+% \changes{v2.5i}{2019/12/02}{Silent warning for cmss/it substitution
+%    (gh/172)}
+%    \begin{macrocode}
+    {<->ssub*cmss/m/sl}{}
 %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{sl}
 %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{sl}%
     {%
@@ -1021,6 +1025,13 @@
 %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{it}%
 %<-nowarn>  {<->sub*cmtt/m/it}{}
 %<+nowarn>  {<->ssub*cmtt/m/it}{}
+%    \end{macrocode}
+%    
+% \changes{v2.5j}{2019/12/16}{Provide substitutions for cmtt/bx/sl}
+%    \begin{macrocode}
+%<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{sl}
+%<-nowarn>  {<->sub*cmtt/m/n}{}
+%<+nowarn>  {<->ssub*cmtt/m/n}{}
 %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{ui}
 %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{ui}%
 %<-nowarn>  {<->sub*cmtt/m/it}{}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/cmfonts.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/doc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -35,7 +35,7 @@
 %<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
 %<+package> \ProvidesPackage{doc}
 %<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb>  [2019/11/10 v2.1k
+%<+package|shortvrb>  [2019/12/16 v2.1l
 %<+package|shortvrb>   Standard LaTeX documentation package (FMi)]
 %\catcode`\<=12
 %
@@ -1448,18 +1448,19 @@
 %    bothered since doc-sources should be up-to-date but since the
 %    request came from someone called David Carlisle \ldots :-)
 % \changes{v1.9y}{1996/01/26}{Support compat mode}
+%  \changes{v2.1l}{2019/12/16}{Use \cs{shapedefault} not \cs{updefault} for extended NFSS}
 %    \begin{macrocode}
     \def\MacroFont{\small
                    \usefont\encodingdefault
                            \ttdefault
                            \mddefault
-                           \updefault
+                           \shapedefault
                    }%
   \else
     \def\MacroFont{\fontencoding\encodingdefault
                    \fontfamily\ttdefault
                    \fontseries\mddefault
-                   \fontshape\updefault
+                   \fontshape\shapedefault
                    \small}%
   \fi
   }{}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/docstrip.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/docstrip.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/docstrip.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/docstrip.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/docstrip.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -52,7 +52,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ec.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ec.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ec.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/exscale.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/exscale.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/exscale.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/exscale.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/exscale.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/exscale.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/fix-cm.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/fontdef.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/fontdef.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/fontdef.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -39,7 +39,7 @@
 %<driver, >\ProvidesFile{fontdef.drv}
 % \fi
 %          \ProvidesFile{fontdef.dtx}
-%<-latexrelease>           [2019/09/21 v3.0d LaTeX Kernel
+%<-latexrelease>           [2019/12/17 v3.0e LaTeX Kernel
 % \iftrue  (\else
 %<text,   >(Text
 %<math,   >(Math
@@ -253,6 +253,10 @@
 \input {ot1enc.def}       % <- should come after T1 for speed
 \input {omsenc.def}
 %    \end{macrocode}
+%    
+%    \begin{macrocode}
+\input{ts1enc.def}
+%    \end{macrocode}
 % \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines}
 %    \begin{macrocode}
 \ifx\Umathchar\@undefined
@@ -265,7 +269,17 @@
 \fontencoding{OT1}
 %    \end{macrocode}
 %
+%
+%
+%
 %    \begin{macrocode}
+\def\rmsubstdefault{cmr}
+\def\sfsubstdefault{cmss}
+\def\ttsubstdefault{cmtt}
+\LoadFontDefinitionFile{TS1}{cmr}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
 \else
 %    \end{macrocode}
 % Unicode.
@@ -273,13 +287,17 @@
 \input {tuenc.def}
 \fontencoding{TU}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
-\begingroup
-\nfss at catcodes
-\input  {tulmr.fd}
-\input  {tulmss.fd}
-\input  {tulmtt.fd}
-\endgroup
+\LoadFontDefinitionFile{TU}{lmr}
+\LoadFontDefinitionFile{TU}{lmss}
+\LoadFontDefinitionFile{TU}{lmtt}
 %    \end{macrocode}
+%    
+%    \begin{macrocode}
+\def\rmsubstdefault{lmr}
+\def\sfsubstdefault{lmss}
+\def\ttsubstdefault{lmtt}
+\LoadFontDefinitionFile{TS1}{lmr}
+%    \end{macrocode}
 %
 %    \begin{macrocode}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
@@ -442,8 +460,9 @@
 % \begin{macro}{\bfdefault}
 % \begin{macro}{\mddefault}
 %    Series changing commands are influenced by the following hooks.
+% \changes{v3.0e}{2019/12/17}{Set \cs{bfdefault} to ``b''}
 %    \begin{macrocode}
-\newcommand\bfdefault{bx}
+\newcommand\bfdefault{b}  % overwritten below
 \newcommand\mddefault{m}
 %    \end{macrocode}
 % \end{macro}
@@ -453,12 +472,14 @@
 % \begin{macro}{\sldefault}
 % \begin{macro}{\scdefault}
 % \begin{macro}{\updefault}
+%    
 %    Shape changing commands use the following hooks.
+% \changes{v3.0e}{2019/12/17}{Set \cs{updefault} to ``up''}
 %    \begin{macrocode}
 \newcommand\itdefault{it}
 \newcommand\sldefault{sl}
 \newcommand\scdefault{sc}
-\newcommand\updefault{n}
+\newcommand\updefault{up}  % overwritten below
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -465,6 +486,25 @@
 % \end{macro}
 % \end{macro}
 %
+
+%    \begin{macrocode}
+%</text>
+%<*text|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\updefault}{font defaults change}%
+\renewcommand\updefault{up}
+\renewcommand\bfdefault{b}
+%</text|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\updefault}{font defaults change}%
+%<latexrelease>
+%<latexrelease>\renewcommand\updefault{n}
+%<latexrelease>\renewcommand\bfdefault{bx}
+%<latexrelease>\EndIncludeInRelease
+%<*text>
+%    \end{macrocode}
+%
 % \begin{macro}{\familydefault}
 % \begin{macro}{\seriesdefault}
 % \begin{macro}{\shapedefault}
@@ -477,8 +517,15 @@
 %    \begin{macrocode}
 \newcommand\familydefault{\rmdefault}
 \newcommand\seriesdefault{\mddefault}
-\newcommand\shapedefault{\updefault}
 %    \end{macrocode}
+%    In previous releases \cs{shapedefault} pointed to \cs{updefault}
+%    which resolved to \texttt{n}, but these days that is no longer
+%    the case (and \texttt{up} is wrong when you want to do a
+%    reset. So we now use \texttt{n} explicitly.
+%    \begin{macrocode}
+% \changes{v3.0e}{2019/12/17}{Set \cs{shapedefault} explicitly to ``n''}
+\newcommand\shapedefault{n}
+%    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
@@ -854,7 +901,15 @@
 \DeclareMathSymbol{\forall}{\mathord}{symbols}{"38}
 \DeclareMathSymbol{\exists}{\mathord}{symbols}{"39}
 \DeclareMathSymbol{\neg}{\mathord}{symbols}{"3A}
-    \let\lnot=\neg
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%    \let\lnot=\neg
+\DeclareMathSymbol{\lnot}{\mathord}{symbols}{"3A}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
 \DeclareMathSymbol{\flat}{\mathord}{letters}{"5B}
 \DeclareMathSymbol{\natural}{\mathord}{letters}{"5C}
 \DeclareMathSymbol{\sharp}{\mathord}{letters}{"5D}
@@ -908,18 +963,33 @@
 \DeclareMathSymbol{\triangleright}{\mathbin}{letters}{"2E}
 \DeclareMathSymbol{\bigtriangleup}{\mathbin}{symbols}{"34}
 \DeclareMathSymbol{\bigtriangledown}{\mathbin}{symbols}{"35}
-   \let \varbigtriangledown \bigtriangledown
-   \let \varbigtriangleup \bigtriangleup
 %    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let \varbigtriangledown \bigtriangledown
+%   \let \varbigtriangleup \bigtriangleup
+\DeclareMathSymbol{\varbigtriangleup}{\mathbin}{symbols}{"34}
+\DeclareMathSymbol{\varbigtriangledown}{\mathbin}{symbols}{"35}
+%    \end{macrocode}
 %
-% These last two synonyms are needed because the \textsf{stamryrd}
+% These last two synonyms are needed because the \textsf{stmaryrd}
 % package redefines them as Operators.
 %
 %    \begin{macrocode}
 \DeclareMathSymbol{\wedge}{\mathbin}{symbols}{"5E}
-   \let\land=\wedge
 \DeclareMathSymbol{\vee}{\mathbin}{symbols}{"5F}
-   \let\lor=\vee
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let\land=\wedge
+%   \let\lor=\vee
+\DeclareMathSymbol{\land}{\mathbin}{symbols}{"5E}
+\DeclareMathSymbol{\lor}{\mathbin}{symbols}{"5F}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
 \DeclareMathSymbol{\cap}{\mathbin}{symbols}{"5C}
 \DeclareMathSymbol{\cup}{\mathbin}{symbols}{"5B}
 \DeclareMathSymbol{\ddagger}{\mathbin}{symbols}{"7A}
@@ -966,21 +1036,31 @@
 \DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C}
 \DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28}
 \DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29}
-\DeclareRobustCommand\neq{\not=}
+   \DeclareRobustCommand\neq{\not=}
 %    \end{macrocode}
 %    As \cs{neq} is robust we should not use \cs{let} to define
 %    \cs{ne} as then then it would change if \cs{neq} changes.
 % \changes{v3.0d}{2019/09/21}{Distangle alias (gh/184)}
 %    \begin{macrocode}
-%\let\ne=\neq
-\DeclareRobustCommand\ne{\not=}
+   \DeclareRobustCommand\ne{\not=}
 %    \end{macrocode}
-%    It is ok to use \cs{let} for those declared by \cs{DeclareMathSymbol}.
+%    It would ok to use \cs{let} for those declared by
+%    \cs{DeclareMathSymbol} but for a cleaner interface we avoid it
+%    always (just in case the internals change).
 %    \begin{macrocode}
 \DeclareMathSymbol{\leq}{\mathrel}{symbols}{"14}
-   \let\le=\leq
 \DeclareMathSymbol{\geq}{\mathrel}{symbols}{"15}
-   \let\ge=\geq
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let\le=\leq
+%   \let\ge=\geq
+\DeclareMathSymbol{\le}{\mathrel}{symbols}{"14}
+\DeclareMathSymbol{\ge}{\mathrel}{symbols}{"15}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
 \DeclareMathSymbol{\succ}{\mathrel}{symbols}{"1F}
 \DeclareMathSymbol{\prec}{\mathrel}{symbols}{"1E}
 \DeclareMathSymbol{\approx}{\mathrel}{symbols}{"19}
@@ -992,15 +1072,32 @@
 \DeclareMathSymbol{\subseteq}{\mathrel}{symbols}{"12}
 \DeclareMathSymbol{\in}{\mathrel}{symbols}{"32}
 \DeclareMathSymbol{\ni}{\mathrel}{symbols}{"33}
-    \let\owns=\ni
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%    \let\owns=\ni
+\DeclareMathSymbol{\owns}{\mathrel}{symbols}{"33}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
 \DeclareMathSymbol{\gg}{\mathrel}{symbols}{"1D}
 \DeclareMathSymbol{\ll}{\mathrel}{symbols}{"1C}
 \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36}
 \DeclareMathSymbol{\leftrightarrow}{\mathrel}{symbols}{"24}
 \DeclareMathSymbol{\leftarrow}{\mathrel}{symbols}{"20}
-   \let\gets=\leftarrow
 \DeclareMathSymbol{\rightarrow}{\mathrel}{symbols}{"21}
-   \let\to=\rightarrow
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let\gets=\leftarrow
+%   \let\to=\rightarrow
+\DeclareMathSymbol{\gets}{\mathrel}{symbols}{"20}
+\DeclareMathSymbol{\to}{\mathrel}{symbols}{"21}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
 \DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37}
    \DeclareRobustCommand\mapsto{\mapstochar\rightarrow}
 \DeclareMathSymbol{\sim}{\mathrel}{symbols}{"18}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/format.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/format.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/format.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 
@@ -123,7 +123,7 @@
 
 This is a generated file.  
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 
@@ -173,11 +173,13 @@
           \from{ltcounts.dtx}{2ekernel}
           \from{ltlength.dtx}{2ekernel}
           \from{ltfssbas.dtx}{2ekernel}
+          \from{ltfssaxes.dtx}{2ekernel}
           \from{ltfsstrc.dtx}{2ekernel}
-%          \from{ltfsscmp.dtx}{compat,2ekernel}
+%         \from{ltfsscmp.dtx}{compat,2ekernel} % only provided as part of latexrelease.sty!
           \from{ltfssdcl.dtx}{compat,2ekernel}
           \from{ltfssini.dtx}{compat,2ekernel}
           \from{ltfntcmd.dtx}{2ekernel}
+          \from{lttextcomp.dtx}{2ekernel}
           \from{ltpageno.dtx}{2ekernel}
           \from{ltxref.dtx}{2ekernel}
           \from{ltmiscen.dtx}{2ekernel}
@@ -207,6 +209,11 @@
           \from{ltmath.dtx}{fleqn}}
    \file{leqno.clo}{%
           \from{ltmath.dtx}{leqno}}
+%%% generate the textcomp package          
+   \file{textcomp.sty}{%
+          \from{lttextcomp.dtx}{TS1sty}}
+   \file{textcomp-2018-08-11.sty}{%
+          \from{lttextcomp.dtx}{TS1oldsty}}
   }
 
 \generateFile{oldlfont.sty}{t}{%
@@ -217,6 +224,7 @@
   \from{newlfont.dtx}{package}
 }
 
+
 % expl3-based extensions
 \generate{\file{ltexpl.ltx}{\from{ltexpl.dtx}{2ekernel}}}
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/graphpap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/graphpap.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/graphpap.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/graphpap.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/graphpap.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/graphpap.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ifthen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ifthen.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ifthen.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ifthen.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ifthen.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ifthen.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/inputenc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/inputenc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/inputenc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/inputenc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/inputenc.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/inputenc.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/latex209.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latex209.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latex209.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/latex209.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latex209.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latex209.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latexrelease.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 
@@ -115,8 +115,10 @@
   \from{ltfssini.dtx}    {latexrelease}%
   \from{fontdef.dtx}     {latexrelease}% (covering fontmath and fonttext)
   \from{ltfntcmd.dtx}    {latexrelease}% empty
+  \from{lttextcomp.dtx}  {latexrelease}%
   \from{ltfssbas.dtx}    {latexrelease}%
-  \from{ltfsstrc.dtx}    {latexrelease}% empty
+  \from{ltfssaxes.dtx}   {latexrelease}%
+  \from{ltfsstrc.dtx}    {latexrelease}%
   \from{ltfsscmp.dtx}    {latexrelease}%
   \from{ltpageno.dtx}    {latexrelease}% empty
   \from{ltxref.dtx}      {latexrelease}% empty

Modified: trunk/Master/texmf-dist/source/latex-dev/base/latexsym.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latexsym.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latexsym.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/latexsym.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/latexsym.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/latexsym.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 
@@ -87,7 +87,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/letter.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/letter.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/letter.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/letter.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/letter.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/letter.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltalloc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltalloc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltalloc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltbibl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltbibl.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltbibl.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltboxes.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltclass.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltclass.dtx}
-             [2019/10/18 v1.3d LaTeX Kernel (Class & Package Interface)]
+             [2020/01/05 v1.3f LaTeX Kernel (Class & Package Interface)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltclass.dtx}
@@ -791,19 +791,69 @@
   \@ifnextchar[\@pr at videpackage{\@pr at videpackage[]}}%]
 \@onlypreamble\ProvidesPackage
 %    \end{macrocode}
+%  \end{macro}
 %
+%
+%
+%  \begin{macro}{\@pr at videpackage}
+%    This is the helper command for \cs{ProvidesPackage}. It tries to
+%    be cautious when handling the identification string in case it
+%    contains UTF-8 characters.
+% \changes{v1.3e}{2019/11/29}{Protect package info text (gh/52)}
 %    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\@pr at videpackage}{Protection for package info}%
 \def\@pr at videpackage[#1]{%
-  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}%
   \ifx\@currext\@clsextension
     \typeout{Document Class: \@gtempa\space#1}%
   \else
-    \wlog{Package: \@gtempa\space#1}%
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
   \fi}
-\@onlypreamble\@pr at videpackage
 %    \end{macrocode}
 % \end{macro}
 %
+%
+%
+%  \begin{macro}{\protected at wlog}
+%    This is like plain \TeX's \cs{wlog} but gracefully handles
+%    protected commands.
+%    \begin{macrocode}
+\long\def\protected at wlog#1{\begingroup
+  \set at display@protect
+  \immediate \write \m at ne {#1}\endgroup }
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\@pr at videpackage}{Protection for package info}%
+%<latexrelease>
+%<latexrelease>\def\@pr at videpackage[#1]{%
+%<latexrelease>  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+%<latexrelease>  \ifx\@currext\@clsextension
+%<latexrelease>    \typeout{Document Class: \@gtempa\space#1}%
+%<latexrelease>  \else
+%<latexrelease>    \wlog{Package: \@gtempa\space#1}%
+%<latexrelease>  \fi}
+%<latexrelease>\let\protected at wlog\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\@onlypreamble\@pr at videpackage
+%    \end{macrocode}
+%    
+%
+%
 % \begin{macro}{\ProvidesClass}
 %    Like |\ProvidesPackage|, but for classes.
 %    \begin{macrocode}
@@ -1731,6 +1781,7 @@
 %                             filecontents environment file name}
 % \changes{v1.3b}{2019/08/27}{Make various commands robust}
 % \changes{v1.3c}{2019/09/11}{Support optional argument for filecontents}
+% \changes{v1.3f}{2020/01/05}{Support more write streams in LuaTeX gh/238}
 %
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -1805,6 +1856,11 @@
 \gdef\filec at ntents#1{%
   \set at curr@file{\filec at ntents@checkdir#1}%
   \edef\q at curr@file{\expandafter\quote at name\expandafter{\@curr at file}}%
+%    \end{macrocode}
+%
+% Lua\TeX\ has more writes (and 18 is safe here).
+%    \begin{macrocode}
+  \chardef\reserved at c\ifx\directlua\@undefined 15 \else 127 \fi%
   \openin\@inputcheck\q at curr@file \space %
   \ifeof\@inputcheck%
     \@latex at warning@no at line%
@@ -1814,8 +1870,7 @@
 % \changes{v1.0y}{1997/10/10}
 %         {\cs{reserved at c} not \cs{verbatim at out} to save a csname}
 %    \begin{macrocode}
-    \chardef\reserved at c15 %
-    \ch at ck7\reserved at c\write%
+    \ch at ck7\reserved at c\write\relax%
     \immediate\openout\reserved at c\q at curr@file\relax%
   \else%
 %    \end{macrocode}
@@ -1853,8 +1908,7 @@
 %    (hopefully) safe. If not opened that means we are going to write
 %    on the terminal.      
 %    \begin{macrocode}
-      \chardef\reserved at c15 %
-      \ch at ck7\reserved at c\write%
+      \ch at ck7\reserved at c\write\relax%
       \if at filesw%  % Foul ... trying to overwrite \jobname!
       \@latex at error{Trying to overwrite `\jobname.tex'}{You can't %
         write to the file you a reading from!\MessageBreak%

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltcntrl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltcntrl.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltcntrl.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltcounts.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltcounts.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltcounts.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltdefns.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltdirchk.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltdirchk.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltdirchk.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/lterror.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/lterror.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/lterror.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltexpl.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -66,7 +66,7 @@
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease>\IncludeInRelease{2020/02/02}%
 %<latexrelease>                 {expl3}{Pre-load expl3}%
 \IfFileExists{expl3.ltx}
   {%

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfiles.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfinal.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -1124,6 +1124,24 @@
 % \end{macro}
 % \end{macro}
 %
+%    \subsection{Some last minute initializations \ldots}
+%
+%    This initializes the 2020/02/02 extensions to NFSS after any changes
+%    in the preamble.
+%    \begin{macrocode}
+\AtBeginDocument{\reinstall at nfss@defs\init at series@setup}
+%    \end{macrocode}
+%
+%
+%
+% \subsection{Do some temporary work for pre-release}
+%
+%    This is a good place to load code that hasn't yet been
+%    integrated into the other files \ldots
+%    \begin{macrocode}
+%\input ...
+%    \end{macrocode}
+%
 % \subsection{Dumping the format}
 %    Finally we make |@| into a letter, ensure the format will
 % be in the `normal' error mode, and dump everything into the

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfloat.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfloat.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfloat.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfntcmd.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfntcmd.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfntcmd.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltfntcmd.dtx}
-             [2019/01/27 v3.4b LaTeX Kernel (Font commands)]
+             [2019/12/17 v3.4c LaTeX Kernel (Font commands)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltfntcmd.dtx}
@@ -391,6 +391,35 @@
 %  \end{macro}
 %  \end{macro}
 %  \end{macro}
+
+
+%  \begin{macro}{textulc}
+%  \begin{macro}{textsw}
+%  \begin{macro}{textssc}
+%    
+% \changes{v3.4c}{2019/12/17}{Macro added}
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\textulc}{Additional text commands}%
+\DeclareTextFontCommand{\textulc}{\ulcshape} 
+\DeclareTextFontCommand{\textsw}{\swshape}
+\DeclareTextFontCommand{\textssc}{\sscshape}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\textulc}{Additional text commands}%
+%<latexrelease>
+%<latexrelease>\let\textulc\@undefined
+%<latexrelease>\let\textsw\@undefined
+%<latexrelease>\let\textssc\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
 %
 %  \begin{macro}{\emph}
 % \changes{v3.0a}{1993/12/11}{Macro changed}

Added: trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -0,0 +1,1231 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% \iffalse
+%%% From File: ltfssbas.dtx
+%% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
+%
+%<*driver>
+% \fi
+%
+%
+\ProvidesFile{ltfssaxes.dtx}
+             [2019/12/16 v1.0a LaTeX Kernel (NFSS Axes handing)]
+% \iffalse
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{ltfssaxes.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+%
+% \GetFileInfo{ltfssaxes.dtx}
+% \title{A new font selection scheme for \TeX{} macro packages\\
+%        (Axes Handling)\thanks
+%       {This file has version number
+%       \fileversion\ dated \filedate}}
+%
+% \author{Frank Mittelbach}
+%
+% \MaintainedByLaTeXTeam{latex}
+% \maketitle
+%
+% This file contains the implementation for handling extra axes
+% splitting the series and the values into sub-categories.  selection
+% commands. See other parts of the \LaTeX\ distribution, or \emph{The
+% \LaTeX\ Companion} for higher level documentation of the
+% \LaTeX\ Font Selection Scheme.
+%
+%
+%
+% \StopEventually{}
+%
+% Everything in the this file got introduced 2020/02/02, so we do a
+% single rollback (for now).
+%    \begin{macrocode}
+%<*2ekernel>
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>   {\DeclareFontSeriesChangeRule}{Series change rules}%
+%    \end{macrocode}
+%
+%
+%
+% \section{Changing the font series}
+%
+% In the original NFSS implementation the series was a single
+% attribute stored in \cs{f at series} and so one always had to specify
+% both weight and width together. This means it was impossible to
+% typeset, a paragraph in a condensed font and inside have a few words
+% in bold weight (but still condensed) without doing this manually by
+% requesting \verb=\fontseries{bc}\selectfont=.
+%
+% The new implementation now works differently by looking both at the
+% current value of \cs{f at series} and the requested new series and out
+% of that combination selects a resulting series value. Thus, if the
+% current series is \texttt{c} and we ask for \texttt{b} we  now get
+% \texttt{bc}.
+%
+% This is done by consulting a simple lookup table. This table is
+% configurable (though most likely that flexibility will seldom of
+% ever be needed) Adding or changing entries in this table are done
+% with \cs{DeclareFontSeriesChangeRule}.
+%
+% \subsection{The series lookup table}
+%
+%
+%  \begin{macro}{\DeclareFontSeriesChangeRule}
+%    The \cs{DeclareFontSeriesChangeRule} defines entries in a simple
+%    database (implemented as a set of commands) that define mappings
+%    between from an existing series and requested new series and maps
+%    that to  a result series (and additionally offers an alternative
+%    if the desired one is not existing):
+%    \begin{itemize}
+%    \item[\texttt{\#1}] current \cs{f at series}
+%    \item[\texttt{\#2}] requested new series
+%    \item[\texttt{\#3}] result (if that exist for the given font family
+%    \item[\texttt{\#4}] alternative result (if \texttt{\#3} does not exist)
+%    \end{itemize}
+%    If an \texttt{.fd} file has its own substitution rules then
+%    \texttt{\#3} exist and thus \texttt{\#4} is not applied.
+%
+%    If there is no matching database entry or if neither the result
+%    nor the alternate result exist in the font family the requested
+%    new series is used (which then may trigger substitutions later on.
+%    \begin{macrocode}
+\def\DeclareFontSeriesChangeRule#1#2#3#4{%
+  \@namedef{series@#1@#2}{{#3}{#4}}}
+%    \end{macrocode}
+%  \end{macro}
+%
+% \subsection{Mapping rules for series changes}
+%
+% The rules set up use explicit series values not \cs{..default}
+% indirections; my current feeling is that this is in fact better.
+%
+% With 9 weights and 9 width classes this table is getting a bit large
+% in the end (324 entries) but on the other hand it doesn't change and
+% accessing speed and it is fast this way.
+%
+% We could alternatively split the axis and maintain weight and width
+% separately, but that would take more processing time and would not
+% allow for setting up explicit exceptions nicely (not sure that that
+% would ever get used though).
+%
+% Design considerations for mapping entries:
+% \begin{itemize}
+% \item
+%
+%    We make \texttt{m} to reset both weight and width (as this is
+%    how it always worked). To reset just the width \texttt{?m} is
+%    provided and to reset just the weight \texttt{m?}.
+%
+% \item
+%
+%   We do support ``\texttt{m}\textit{width}'' and
+%    ``\textit{weight}\texttt{m}'', e.g., \texttt{mec} to mean ``go to
+%    medium weight and extra-condensed width''. At the end of the
+%    process we automatically drop any leftover \texttt{m} in the
+%    series name (unless it is just a single \texttt{m}).
+%
+%
+% \item
+%
+%    If there is no table entry then the target series is used
+%    unconditionally. This means that any request to set both weight
+%    and width (e.g. \texttt{bx} or \texttt{ulc}) needs no table
+%    entries.
+%    For that reason there are no entries which have a weight+width as
+%    request (i.e., second argument).
+%
+%    In particular this is also true for cases involving \texttt{m},
+%    e.g., \texttt{bm} (bold medium width) which automatially gets
+%    reduced result in \texttt{b} or \texttt{mc} (medium weight
+%    condensed) which becomes \texttt{c} as a result.
+%
+% \item
+%
+%    Only a few entries have ``alterative'' values and perhaps most of
+%    them should get dropped. Or maybe not \ldots{} needs some thought
+%    perhaps.
+%
+%    The idea is that you don't want the normal substitution to kick
+%    in because that would reset the shape first and it may be better
+%    to stay with \texttt{b} when a change to \texttt{c} is requested
+%    and \texttt{bc} doesn't exist, than to go to first change the
+%    shape to \texttt{n} and then find that \texttt{bc/n} doesn't
+%    exist either and thus ending up wth \texttt{m/n}.
+%
+% \item
+%
+%    Also: while I did set up all nine standard weight values from
+%    \texttt{ul} to \texttt{ub} I only bothered to provide entries for
+%    \texttt{ec},  \texttt{sc}, \texttt{c} and \texttt{x}, because other levels of
+%    compression/expansion are not in any real fonts that I know.
+%
+%    Could and perhaps should be eventually extended to cover the
+%    whole set.
+%
+% \end{itemize}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {bc}{c}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc}
+\DeclareFontSeriesChangeRule {bc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {bc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc}
+\DeclareFontSeriesChangeRule {bc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {bc}{x}{bx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {bx}{c}  {bc}  {bx}	%<-----
+\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {bx}{ec}  {bec}  {bx}	%<-----
+\DeclareFontSeriesChangeRule {bx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {bx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {}
+\DeclareFontSeriesChangeRule {bx}{sc}  {bsc}  {bx}	%<-----
+\DeclareFontSeriesChangeRule {bx}{sl}{slx}  {}		
+\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {bx}{x}{bx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {b}{bx} {bx}  {b}		%<-----
+\DeclareFontSeriesChangeRule {b}{c}  {bc}  {b}		%<-----
+\DeclareFontSeriesChangeRule {b}{ec}  {bec}  {b}	%<-----
+\DeclareFontSeriesChangeRule {b}{sb} {sb}  {b}		%<-----
+\DeclareFontSeriesChangeRule {b}{sc}  {bsc}  {b}	%<-----
+\DeclareFontSeriesChangeRule {b}{x}  {bx}  {b}		%<-----
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {c}{bx} {bx}  {b} 		%<-----
+\DeclareFontSeriesChangeRule {c}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {c}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {c}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {c}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {c}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {c}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {c}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {c}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {c}{x}{x}{m}               %<-----
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ebc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{}		
+\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc}		
+\DeclareFontSeriesChangeRule {ebc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {ebc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc}		
+\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{}		
+%    \end{macrocode}
+%    
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ec}{bx} {bx}  {b} 	%<-----
+\DeclareFontSeriesChangeRule {ec}{b}{bec}{}		
+\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{}		
+\DeclareFontSeriesChangeRule {ec}{el}{elec}{}		
+\DeclareFontSeriesChangeRule {ec}{l}{lec}{}		
+\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{}		
+\DeclareFontSeriesChangeRule {ec}{sl}{slec}{}		
+\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{}		
+\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{}		
+\DeclareFontSeriesChangeRule {ec}{x}{x}{m}              %<-----
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sc}{bx} {bx}  {b} 	%<-----
+\DeclareFontSeriesChangeRule {sc}{b}{bsc}{}		
+\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{}		
+\DeclareFontSeriesChangeRule {sc}{el}{elsc}{}		
+\DeclareFontSeriesChangeRule {sc}{l}{lsc}{}		
+\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{}		
+\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{}		
+\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{}		
+\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{}		
+\DeclareFontSeriesChangeRule {sc}{x}{x}{m}              %<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ebx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{}		
+\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{}		
+\DeclareFontSeriesChangeRule {ebx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {ebx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{}		
+\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{}		
+\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{}		
+\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {eb}{c}{ebc}{}		
+\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{}		
+\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{}		
+\DeclareFontSeriesChangeRule {eb}{x}{ebx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {elc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {elc}{c}{elc}{}		
+\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {elc}{ec}{elec}{}		
+\DeclareFontSeriesChangeRule {elc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {elc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{}		
+\DeclareFontSeriesChangeRule {elc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {elc}{x}{elx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {elx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {elx}{c}{elc}{}		
+\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {elx}{ec}{elec}{}		
+\DeclareFontSeriesChangeRule {elx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {elx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{}		
+\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{}		
+\DeclareFontSeriesChangeRule {elx}{sl}{slx}{}		
+\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {elx}{x}{elx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {el}{c}{elc}{}		
+\DeclareFontSeriesChangeRule {el}{ec}{elec}{}		
+\DeclareFontSeriesChangeRule {el}{sc}{elsc}{}		
+\DeclareFontSeriesChangeRule {el}{x}{elx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {lc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {lc}{c}{lc}{}		
+\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {lc}{ec}{lec}{}		
+\DeclareFontSeriesChangeRule {lc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {lc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{}		
+\DeclareFontSeriesChangeRule {lc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {lc}{x}{lx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {lx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {lx}{c}{lc}{}		
+\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {lx}{ec}{lec}{}		
+\DeclareFontSeriesChangeRule {lx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {lx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{}		
+\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{}		
+\DeclareFontSeriesChangeRule {lx}{sl}{slx}{}		
+\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {lx}{x}{lx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {l}{bx} {bx}  {b}		%<-----
+\DeclareFontSeriesChangeRule {l}{b}  {b}   {bx}		%<-----
+\DeclareFontSeriesChangeRule {l}{c}  {lc}  {l}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{ec}  {lec}  {l}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{sb} {sb}  {b}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{sc}  {lsc}  {l}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{x}  {lx}  {l}  % ?	%<-----
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {m}{bx} {bx} {b}	  	%<-----
+\DeclareFontSeriesChangeRule {m}{b}  {b}  {bx}		%<-----
+\DeclareFontSeriesChangeRule {m}{c}  {c}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{ec}  {ec}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{l}  {l}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{sb} {sb} {b}		%<-----
+\DeclareFontSeriesChangeRule {m}{sc}  {sc}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{x}  {x}  {m}		%<-----
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sbc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{}		
+\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc}		
+\DeclareFontSeriesChangeRule {sbc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {sbc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc}		
+\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sbx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{}		
+\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{}		
+\DeclareFontSeriesChangeRule {sbx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {sbx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{}		
+\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{}		
+\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{}		
+\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sb}{c}  {sbc} {bc} %?	%<-----
+\DeclareFontSeriesChangeRule {sb}{ec}  {sbec} {sbc} %?	%<-----
+\DeclareFontSeriesChangeRule {sb}{sc}  {sbsc} {sbc} %?	%<-----
+\DeclareFontSeriesChangeRule {sb}{x}  {sbx} {bx} %?	%<-----
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {slc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {slc}{c}{slc}{}		
+\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {slc}{ec}{slec}{}		
+\DeclareFontSeriesChangeRule {slc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {slc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{}		
+\DeclareFontSeriesChangeRule {slc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {slc}{x}{slx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {slx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {slx}{c}{slc}{}		
+\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {slx}{ec}{slec}{}		
+\DeclareFontSeriesChangeRule {slx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {slx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{}		
+\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{}		
+\DeclareFontSeriesChangeRule {slx}{sl}{slx}{}		
+\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {slx}{x}{slx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sl}{c}{slc}{}		
+\DeclareFontSeriesChangeRule {sl}{ec}{slec}{}		
+\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{}		
+\DeclareFontSeriesChangeRule {sl}{x}{slx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ubc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{}		
+\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{}		
+\DeclareFontSeriesChangeRule {ubc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {ubc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{}		
+\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ubx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{}		
+\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{}		
+\DeclareFontSeriesChangeRule {ubx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {ubx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{}		
+\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{}		
+\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{}		
+\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ub}{c}{ubc}{}		
+\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{}		
+\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{}		
+\DeclareFontSeriesChangeRule {ub}{x}{ubx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ulc}{b}{bc}{}		
+\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{}		
+\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{}		
+\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc}		
+\DeclareFontSeriesChangeRule {ulc}{el}{elc}{}		
+\DeclareFontSeriesChangeRule {ulc}{l}{lc}{}		
+\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{}		
+\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc}		
+\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{}		
+\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{}		
+\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{}		
+\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ulx}{b}{bx}{}		
+\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{}		
+\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{}		
+\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{}		
+\DeclareFontSeriesChangeRule {ulx}{el}{elx}{}		
+\DeclareFontSeriesChangeRule {ulx}{l}{lx}{}		
+\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{}		
+\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{}		
+\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{}		
+\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{}		
+\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{}		
+\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ul}{c}{ulc}{}		
+\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{}		
+\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{}		
+\DeclareFontSeriesChangeRule {ul}{x}{ulx}{}		
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {x}{b}{bx}{}
+\DeclareFontSeriesChangeRule {x}{c}{c}{}
+\DeclareFontSeriesChangeRule {x}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {x}{ec}{ec}{}
+\DeclareFontSeriesChangeRule {x}{el}{elx}{}
+\DeclareFontSeriesChangeRule {x}{l}{lx}{}
+\DeclareFontSeriesChangeRule {x}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {x}{sc}{sc}{}
+\DeclareFontSeriesChangeRule {x}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {x}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {x}{ul}{ulx}{}
+%    \end{macrocode}
+%
+%
+%    Special rules for \texttt{lm} etc.\ aren't needed because if the
+%    target \texttt{lm} is request it will used if there is no rule
+%    and that id then reduced to \texttt{l}
+%    automatically. Same for \texttt{mc} and friends. Only \texttt{?m}
+%    and \texttt{m?} need rules.
+%
+%    So here are the special rules for \texttt{m?}:
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {bec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {bx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {b}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {c}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {ebc}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{}		
+\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{}		
+\DeclareFontSeriesChangeRule {ebx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {eb}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {ec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elc}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {elec}{m?}{ec}{}		
+\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{}		
+\DeclareFontSeriesChangeRule {elx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {el}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {lc}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {lec}{m?}{ec}{}		
+\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{}		
+\DeclareFontSeriesChangeRule {lx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {l}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {m}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {sbc}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{}		
+\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{}		
+\DeclareFontSeriesChangeRule {sbx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {sb}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {sc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slc}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {slec}{m?}{ec}{}		
+\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{}		
+\DeclareFontSeriesChangeRule {slx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {sl}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {ubc}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{}		
+\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{}		
+\DeclareFontSeriesChangeRule {ubx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {ub}{m?}{ub}{}		
+\DeclareFontSeriesChangeRule {ulc}{m?}{c}{}		
+\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ulx}{m?}{x}{}		
+\DeclareFontSeriesChangeRule {ul}{m?}{m}{}		
+\DeclareFontSeriesChangeRule {x}{m?}{x}{}
+%    \end{macrocode}
+%
+%    And there the special rules for \texttt{?m}:
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bec}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bx}{?m}{b}{}		
+\DeclareFontSeriesChangeRule {b}{?m}{b}{}		
+\DeclareFontSeriesChangeRule {c}{?m}{m}{}		
+\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{}		
+\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{}		
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}		
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}		
+\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{}		
+\DeclareFontSeriesChangeRule {eb}{?m}{eb}{}		
+\DeclareFontSeriesChangeRule {ec}{?m}{m}{}		
+\DeclareFontSeriesChangeRule {elc}{?m}{el}{}		
+\DeclareFontSeriesChangeRule {elec}{?m}{el}{}		
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}		
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}		
+\DeclareFontSeriesChangeRule {elx}{?m}{el}{}		
+\DeclareFontSeriesChangeRule {el}{?m}{el}{}		
+\DeclareFontSeriesChangeRule {lc}{?m}{l}{}		
+\DeclareFontSeriesChangeRule {lec}{?m}{l}{}		
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}		
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}		
+\DeclareFontSeriesChangeRule {lx}{?m}{l}{}		
+\DeclareFontSeriesChangeRule {l}{?m}{l}{}		
+\DeclareFontSeriesChangeRule {m}{?m}{m}{}		
+\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{}		
+\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{}		
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}		
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}		
+\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{}		
+\DeclareFontSeriesChangeRule {sb}{?m}{sb}{}		
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}		
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}		
+\DeclareFontSeriesChangeRule {slc}{?m}{sl}{}		
+\DeclareFontSeriesChangeRule {slec}{?m}{sl}{}		
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}		
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}		
+\DeclareFontSeriesChangeRule {slx}{?m}{sl}{}		
+\DeclareFontSeriesChangeRule {sl}{?m}{sl}{}		
+\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{}		
+\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{}		
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}		
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}		
+\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{}		
+\DeclareFontSeriesChangeRule {ub}{?m}{m}{}		
+\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{}		
+\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{}		
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}		
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}		
+\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{}		
+\DeclareFontSeriesChangeRule {ul}{?m}{ul}{}		
+\DeclareFontSeriesChangeRule {x}{?m}{m}{}	
+%    \end{macrocode}
+%
+%    
+
+
+% \subsection{Changing to a new series}
+%
+
+%  \begin{macro}{\fontseriesforce}
+%    To change unconditionally to a new series you can use
+%    \cs{fontseriesforce}. If course, if the series doesn't exist for
+%    the current family substitution still happens, but there is not
+%    dependency on the current series.
+%    \begin{macrocode}
+\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%  \begin{macro}{\fontseries}
+%    The \cs{fontseries} command takes one argument which is the requested new
+%    font series. In the orginal implementation  it simply saved the
+%    expanded value in \cs{f at series}. Now we do a bit more processing
+%    and look up the final value in the font series data base. This is
+%    done by \cs{merge at font@series}.
+%    \begin{macrocode}
+\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+%    \end{macrocode}
+%  \end{macro}
+
+
+%  \begin{macro}{\merge at font@series}
+%    We look up the data base value by expanding the right command
+%    twice. If no such value exist then the result will be \cs{relax}
+%    otherwise it will be the two brace groups: the desired result and
+%    the alternate result. The first case means that the third
+%    argument to \cs{merge at font@series} will be empty.
+%    \begin{macrocode}
+\def\merge at font@series#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@series@
+    \csname series@\f at series @#1\endcsname
+    {#1}%
+    \@nil
+}  
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\merge at font@series@}
+%    This now defines the new \cs{f at series}:
+%    \begin{macrocode}
+\def\merge at font@series@#1#2#3\@nil{%
+%    \end{macrocode}
+%    If the third argument is empty there is no database entry for the
+%    combination and the second argument holds the new series so we
+%    return that.
+%
+%    Originally the test was simply \verb=\ifx!#3!= but that actually
+%    dies if \texttt{\#3} starts with a conditional and in the
+%    definition of \cs{AmSfont} that is actually the case.
+%    \begin{macrocode}
+%\ifcat\expandafter X\detokenize{#1}X%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \set at target@series{#2}%
+  \else
+%    \end{macrocode}
+%    Otherwise we check if the desired result for the series
+%    (\texttt{\#1}) exists for the font family and the current shape.
+%    As the \texttt{.fd} is perhaps not loaded yet, we first
+%    have to do that, otherwise the test would fail even if the face
+%    is actually available.
+%    \begin{macrocode}
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /#1/\f at shape}%
+     \ifcsname \@reserveda \endcsname
+%    \end{macrocode}
+%     If the desired result is available then we use that. However, we
+%    do need some post-processing because we need to drop surplus
+%    \texttt{m}s due to the way naming convention was designed in the
+%    '90s (sigh).
+%    \begin{macrocode}
+       \set at target@series{#1}%
+%    \end{macrocode}
+%    If not, then we try the alternate result (\texttt{\#2}).
+%    \begin{macrocode}
+    \else
+       \ifcsname \f at encoding /\f at family /#2/\f at shape \endcsname
+%    \end{macrocode}
+%    If the alternate result exist we use that and also issue a
+%    warning (or rather a log entry) that we didn't managed to change
+%    to the desired font.
+%    \begin{macrocode}
+         \set at target@series{#2}%
+         \@font at shape@subst at warning
+%    \end{macrocode}
+%    If that doesn't exist either, then we use the requested series unmodified
+%    (again with a warning).
+%    \begin{macrocode}
+       \else
+         \set at target@series{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%    It is possible that the previous font and the new one are
+%    actually identical (and the font was not found because it still
+%    needs loading) in which case a warning  would look rather odd. So
+%    we make a quick check for that (which is the reason why we defined
+%    \cs{@reserveda} above.
+%    \begin{macrocode}
+\def\@font at shape@subst at warning{%
+   \edef\@reservedb{\curr at fontshape}%
+   \ifx\@reserveda\@reservedb \else
+     \@font at warning{Font shape `\@reserveda' undefined\MessageBreak
+                    using `\@reservedb' instead}%
+   \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%
+%  \begin{macro}{\maybe at load@fontshape}
+%    A small helper that we use a couple of times: try loading a
+%    fontshape (in a group because \cs{try at load@fontshape} normalizes
+%    catcodes).
+%    \begin{macrocode}
+\def\maybe at load@fontshape{\begingroup\try at load@fontshape\endgroup}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\set at target@series}
+%  \begin{macro}{\series at drop@one at m}
+%
+%    Finally the code for normalizing the \cs{f at series} value.
+%
+%    The combined series value determined by the mapping may still
+%    contain an \texttt{m} that we have to remove (as the \texttt{.fd}
+%    files use \texttt{c} not \texttt{mc} to denote a medium weight
+%    condensed series, etc.). We do this in all branches above because a user
+%    might have written
+%\begin{verbatim}
+\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc}		
+%\end{verbatim}
+%    instead of of using \texttt{sc} and \texttt{c} as needed in the
+%    \texttt{.fd} file.
+%    \begin{macrocode}
+\def\set at target@series#1{%
+%    \end{macrocode}
+%    We need to \cs{edef} the argument first in case it starts with a
+%    conditional.
+%    \begin{macrocode}
+    \edef\f at series{#1}%
+    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+}
+%    \end{macrocode}
+%    Drop up to two \texttt{m}s but keep one if that makes the series
+%    value empty.
+%    \begin{macrocode}
+\def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
+  \ifx\relax#1#2\relax m\else#1#2\fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+
+
+
+% \section{Changing the shape}
+%
+%    Shapes are also split in two axes (though it could be more if
+%    that is desirable), essentially building in an ``sc''
+%    axis).
+%
+%
+%
+%  \begin{macro}{\DeclareFontShapeChangeRule}
+%    The database for shapes is done in exactly the same way, only
+%    that it is much smaller and we usually have no alternative shape
+%    (or rather it is empty thus not used).
+%    \begin{macrocode}
+\def\DeclareFontShapeChangeRule #1#2#3#4{%
+  \@namedef{shape@#1@#2}{{#3}{#4}}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%    There is kind of the same problem with returning back from
+%    \texttt{sc} to normal. It sort of needs its own letter.  In
+%    \texttt{fontspec} this was solved by the first time \cs{upshape} changes
+%    \texttt{it} or \texttt{sl} back (so only \texttt{sc} remains) and
+%    second time it changes then \texttt{sc} back to normal.  Maybe
+%    that's not a bad way to handle it, but decided for a slightly
+%    different approach: \texttt{n} always returns to ``normal'', ie
+%    resets everything and \texttt{up} changes italic or slanted to
+%    upright and \texttt{ulc} undoes small caps.
+%
+%    So we now offer \cs{normalshape} (using \cs{shapedefault} which is normally the same as
+%    calling both \cs{ulcshape} and \cs{upshape}, only more efficient.
+%
+%
+%  \begin{macro}{\ulcshape}
+%  \begin{macro}{\textulc}
+%  \begin{macro}{\ulcdefault}
+%    To request going back to upper/lowercase we need a new
+%    command. It uses \texttt{ulc} as shape name but this shape is
+%    virtual, i.e., it doesn't exist as a real shape, it is only used
+%    as part of the database table entries and thus only appears in
+%    the second argument there (but not in the first).
+%    \begin{macrocode}
+\DeclareRobustCommand\ulcshape
+        {\not at math@alphabet\ulcshape\relax
+         \fontshape\ulcdefault\selectfont}
+\newcommand\ulcdefault{ulc}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%  \begin{macro}{\swshape}
+%  \begin{macro}{\textsw}
+%  \begin{macro}{\swdefault}
+%    New command to select a swash shape.  The standard rules put this
+%    in the same category as italics or slanted, i.e., if you ask for
+%    it then italics are undone. One could provide more complicated
+%    rules so that \texttt{it} + \texttt{sw} becomes \texttt{swit} but
+%    given that there are only very few fonts that have swash letters
+%    that level of flexibility (these days) would be just resulting in
+%    a lot of combinations that do not exist.
+%    \begin{macrocode}
+\DeclareRobustCommand\swshape
+        {\not at math@alphabet\swshape\relax
+         \fontshape\swdefault\selectfont}
+\newcommand\swdefault{sw}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\sscshape}
+%  \begin{macro}{\textssc}
+%  \begin{macro}{\sscdefault}
+%    New command to select spaced small capitals. This is only here
+%    because \texttt{fontaxes} offered it. There isn't a single free
+%    font that supports it. However, some commercial ones do, so we
+%    offer it so that at some point \texttt{fontaxes} could be
+%    retired.
+%
+%    So far there aren't any rules for it---probably there should be
+%    some putting it in the same category as \texttt{sc}.
+%    \begin{macrocode}
+\DeclareRobustCommand\sscshape
+        {\not at math@alphabet\sscshape\relax
+         \fontshape\sscdefault\selectfont}
+\newcommand\sscdefault{ssc}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%
+%
+% \subsection{Mapping rules for shape combinations}
+%
+%    Many of the entries are commented out as we will get that result
+%    without any entry.
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {n}{n}   {n}   {}
+\DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
+\DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
+%\DeclareFontShapeChangeRule {n}{sw}  {sw}  {}
+%\DeclareFontShapeChangeRule {n}{sc}  {sc}  {}
+\DeclareFontShapeChangeRule {n}{ulc} {n}   {}
+\DeclareFontShapeChangeRule {n}{up} {n}    {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {it}{n}   {n}     {}
+%\DeclareFontShapeChangeRule {it}{it}  {it}    {}
+\DeclareFontShapeChangeRule {it}{sl}  {sl}    {it}
+%\DeclareFontShapeChangeRule {it}{sw}  {sw}    {}
+%    \end{macrocode}
+%    If neither \texttt{scit} nor \texttt{scsl} exist then \texttt{sc}
+%    will be used as a fallback albeit with a log entry, so except for
+%    the latter there will be no change for CM or Latin Modern fonts.
+%    \begin{macrocode}
+\DeclareFontShapeChangeRule {it}{sc}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {it}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {it}{up} {n}      {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sl}{n}   {n}     {}
+\DeclareFontShapeChangeRule {sl}{it}  {it}    {sl}
+%\DeclareFontShapeChangeRule {sl}{sl}  {sl}    {}
+%\DeclareFontShapeChangeRule {sl}{sw}  {sw}    {}
+\DeclareFontShapeChangeRule {sl}{sc}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {sl}{up} {n}      {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sc}{n}   {n}     {}
+\DeclareFontShapeChangeRule {sc}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {sc}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sc}{sw}  {scsw}  {sw}   
+%\DeclareFontShapeChangeRule {sc}{sc}  {sc}    {}
+\DeclareFontShapeChangeRule {sc}{ulc} {n}     {}
+%    \end{macrocode}
+%
+%    The next rule might be a bit surprising and rightly so. Correct
+%    would be that \texttt{sc} is not affected by \texttt{up}, i.e.,
+%    remains \texttt{sc} as showed in the commented out rule. However,
+%    for nearly three decades commands such as \upshape{sc} or
+%    \cs{textup} changed small caps back to the ``normal'' shape. So
+%    for backward compatibility we keep hat behavior.
+%
+%    As a result you are currently typesetting in \texttt{scit} or
+%    \texttt{scsl} using \cs{upshape} twice will return you to the
+%    normal shape too, the first will change to \texttt{sc} and the
+%    second (because of the rule below) change that to
+%    \texttt{n}. This is the way \texttt{fontspec} implemented its
+%    version on this interface, so this rule means we are also
+%    compatible with the way \texttt{fontspec} behaved. Still it
+%    remains an odditywhic I would rather liked to have avoided.
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sc}{up} {sc}     {}
+\DeclareFontShapeChangeRule {sc}{up} {n}     {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {scit}{n}   {n}    {}
+\DeclareFontShapeChangeRule {scit}{it}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {scit}{sw}  {scsw}  {sc}    % or scit?  
+\DeclareFontShapeChangeRule {scit}{sc}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {scit}{up} {sc}     {}
+%    \end{macrocode}
+%    The previous rule assumes that if \texttt{scit} exists then
+%    \texttt{it} exists as well. If not, the mechanism will save
+%    \texttt{ulc} in \cs{f at series} which most certainly doesn't
+%    exist. So when a font is later selected that would result in a
+%    substitution (so no harm done really). Alternatively, we could in
+%    this case use \texttt{n} as aternative, which may be a bit
+%    faster, but such a  setup would be so weird in the first place
+%    that this isn't worth the effort.
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {scsl}{n}   {n}     {}
+\DeclareFontShapeChangeRule {scsl}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {scsl}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{sw}  {scsw}  {sc}    % or scsl?  
+\DeclareFontShapeChangeRule {scsl}{sc}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {scsl}{up}   {sc}   {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {scsw}{n}   {n}     {}
+\DeclareFontShapeChangeRule {scsw}{it}  {scit}  {scsw}
+\DeclareFontShapeChangeRule {scsw}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsw}{sw}  {scsw}  {} 
+\DeclareFontShapeChangeRule {scsw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {scsw}{up} {sc}     {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sw}{n}   {n}     {}
+%\DeclareFontShapeChangeRule {sw}{it}  {it}    {}
+%\DeclareFontShapeChangeRule {sw}{sl}  {sl}    {}
+%\DeclareFontShapeChangeRule {sw}{sw}  {sw}    {} 
+\DeclareFontShapeChangeRule {sw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {sw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {sw}{up} {n}      {}
+%    \end{macrocode}
+%
+%
+% \subsection{Changing to a new shape}
+%
+%  \begin{macro}{\fontshape}
+%    Again the \cs{fontshape} now has to do a lookup to get to its new
+%    value in \cs{f at shape}. The method is exactly the same as in
+%    \cs{fontseries}.
+%    \begin{macrocode}
+\DeclareRobustCommand\fontshape[1]{\merge at font@shape{#1}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%  \begin{macro}{\fontshapeforce}
+%    The unconditional version:
+%    \begin{macrocode}
+\DeclareRobustCommand\fontshapeforce[1]{\edef\f at shape{#1}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%  \begin{macro}{\merge at font@shape}
+%    Look up the database entry (if existing) and act accordingly.
+%    \begin{macrocode}
+\def\merge at font@shape#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@shape@
+    \csname shape@\f at shape @#1\endcsname
+    {#1}%
+    \@nil
+}  
+%    \end{macrocode}
+%  \end{macro}
+%
+
+%  \begin{macro}{\merge at font@shape@}
+%    Same game now, except that we look at shapes not series values
+%    and we can set the shape without the complication of dropping
+%    ``m''s from the name as we had to for the series.
+%    \begin{macrocode}
+\def\merge at font@shape@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \edef\f at shape{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /\f at series/#1}%
+     \ifcsname \@reserveda\endcsname
+       \edef\f at shape{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /\f at series/#2\endcsname
+         \edef\f at shape{#2}%
+         \@font at shape@subst at warning
+       \else
+         \edef\f at shape{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\normalshape}
+%    
+%    \cs{normalshape} resets both sub-axes if the default rules are used.
+%    \begin{macrocode}
+\protected\def\normalshape
+    {\not at math@alphabet\normalshape\relax
+      \fontshape\shapedefault\selectfont}%
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%
+% \section{Make sure we win \ldots}
+%
+%    This code implements one aspect of what the package \textsf{fontaxes}
+%    provide. So its redefinitions for the various shape commands,
+%    such as \cs{itshape} should no longer happen. We therefore force
+%    the standard definitions at \cs{AtBeginDocument} (later when this
+%    is defined. Once
+%    \texttt{fontaxes} is no longer doing such redefinitions that could
+%    be taken out again.
+%
+%    We use a separate macro so that we can easily disable this (in
+%    case of rollback).
+%
+%  \begin{macro}{\reinstall at nfss@defs}
+%    
+%    I use \cs{protected} here not \cs{DeclareRobustCommand} to avoid
+%    extra status lines.
+%    \begin{macrocode}
+\def\reinstall at nfss@defs{%
+  \protected\def\upshape
+          {\not at math@alphabet\upshape\relax
+           \fontshape\updefault\selectfont}%
+  \protected\def\slshape
+          {\not at math@alphabet\slshape\relax
+           \fontshape\sldefault\selectfont}%
+  \protected\def\scshape
+          {\not at math@alphabet\scshape\relax
+           \fontshape\scdefault\selectfont}%
+  \protected\def\itshape
+          {\not at math@alphabet\itshape\mathit
+           \fontshape\itdefault\selectfont}%
+  \protected\def\ulcshape
+          {\not at math@alphabet\ulcshape\relax
+           \fontshape{ulc}\selectfont}%
+  \protected\def\swshape
+          {\not at math@alphabet\swshape\relax
+           \fontshape\swdefault\selectfont}%
+  \protected\def\sscshape
+          {\not at math@alphabet\sscshape\relax
+           \fontshape\sscdefault\selectfont}%
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+% Supporting rollback \ldots
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>   {\DeclareFontSeriesChangeRule}{Series change rules}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
+%<latexrelease>\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
+%<latexrelease>\let\fontseriesforce\@undefined
+%<latexrelease>\let\fontshapeforce\@undefined
+%<latexrelease>
+%<latexrelease>\let\DeclareFontSeriesChangeRule\@undefined
+%<latexrelease>\let\merge at font@series\@undefined
+%<latexrelease>\let\merge at font@series@\@undefined
+%<latexrelease>\let\@font at shape@subst at warning\@undefined
+%<latexrelease>\let\maybe at load@fontshape\@undefined
+%<latexrelease>\let\set at target@series\@undefined
+%<latexrelease>\let\series at drop@one at m\@undefined
+%<latexrelease>\let\DeclareFontShapeChangeRule\@undefined
+%<latexrelease>\let\merge at font@shape\@undefined
+%<latexrelease>\let\merge at font@shape@\@undefined
+%<latexrelease>\let\normalshape\@undefined
+%<latexrelease>\let\ulcshape\@undefined
+%<latexrelease>\let\ulcdefault\@undefined
+%<latexrelease>\let\swshape\@undefined
+%<latexrelease>\let\swdefault\@undefined
+%<latexrelease>\let\sscshape\@undefined
+%<latexrelease>\let\sscdefault\@undefined
+%<latexrelease>\let\normalshape\@undefined
+%    \end{macrocode}
+%    This is always called in \cs{document} so don't make it undefined.
+%    \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\let\reinstall at nfss@defs\relax
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%</2ekernel>
+%    \end{macrocode}
+%
+% \Finale
+%
+
+


Property changes on: trunk/Master/texmf-dist/source/latex-dev/base/ltfssaxes.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfssbas.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -35,7 +35,7 @@
 %
 %
 \ProvidesFile{ltfssbas.dtx}
-             [2019/08/27 v3.2d LaTeX Kernel (NFSS Basic Macros)]
+             [2019/12/17 v3.2e LaTeX Kernel (NFSS Basic Macros)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -800,16 +800,11 @@
 % \begin{macro}{\f at shape}
 %    \begin{macrocode}
 \DeclareRobustCommand\fontfamily[1]{\edef\f at family{#1}}
-\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
-\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
 %    \end{macrocode}
-%    Some handy abbreviation if you want to get some particular font
-%    in the current size. If also the size should change one has to
-%    issue a |\fontsize| command first.
+%    There are now defined later (and differently).
 %    \begin{macrocode}
-\DeclareRobustCommand\usefont[4]{\fontencoding{#1}\fontfamily{#2}%
-             \fontseries{#3}\fontshape{#4}\selectfont
-             \ignorespaces}
+%\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
+%\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -819,6 +814,31 @@
 % \end{macro}
 %
 %
+%
+%  \begin{macro}{\usefont}
+%    Some handy abbreviation if you want to get some particular font
+%    in the current size. If also the size should change one has to
+%    issue a |\fontsize| command first.
+%
+%    \cs{fontencoding} needs to do some setup work so we call that,
+%    but instead of calling \cs{fontfamily}, \cs{fontseries} and
+%    \cs{fontshape} it earlier versions of this code did, we now set
+%    \cs{f at family}, etc.\ directly.  If we would call \cs{fontseries}
+%    or \cs{fontshape} as it 
+%    was done in the past, they would now interact with the existing
+%    series and shape which is not desired if we intend to use an
+%    explicit font shape!
+% \changes{v3.2e}{2019/12/17}{Don't call \cs{fontseries} or \cs{fontshape}}
+%    \begin{macrocode}
+\DeclareRobustCommand\usefont[4]{\fontencoding{#1}%
+   \edef\f at family{#2}%
+   \edef\f at series{#3}%
+   \edef\f at shape{#4}\selectfont
+   \ignorespaces}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
 %  \begin{macro}{\linespread}
 % \changes{v2.1j}{1994/05/12}{New macro}
 % \changes{v2.1p}{1994/05/16}{Remove surplus braces}
@@ -1269,6 +1289,122 @@
 %  \end{macro}
 %
 %
+%
+%  \begin{macro}{\LoadFontDefinitionFile}
+%    Load and \texttt{.fd} files for some encoding and family (if it exists).
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\LoadFontDefinitionFile}{Loading .fd files}%
+\def\LoadFontDefinitionFile#1#2{%
+  \begingroup
+    \edef\f at encoding{#1}%
+    \edef\f at family{#2}%
+    \try at load@fontshape
+  \endgroup
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\LoadFontDefinitionFile}{Loading .fd files}%
+%<latexrelease>
+%<latexrelease>\let\LoadFontDefinitionFile\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+
+%  \begin{macro}{\DeclareFontFamilySubstitution}
+%    The idea for this macro is stolen from the \texttt{substitutefont}
+%    package by Günter Milde, with some modifications and a new name.
+%
+%    Its purpose is to provide characters in a special encoding tht
+%    are not available in the current font family to be taken from a
+%    different family that is visually compatible (or not if you
+%    choose badly). For example, you can match the GFS Didot Greek
+%    characters with \TeX{} Gyre Pagella (Palatino) by specifying
+%\begin{verbatim}
+% \DeclareFontFamilySubstitution{LGR}{qpl}{udidot}
+%\end{verbatim}
+%    This way if you ask for the \texttt{LGR} encoding in for the
+%    \texttt{qpl} family you get the characters from the
+%    \texttt{udidot} family substituted.
+%
+%    We need to ensure that the macro is defined with
+%    \cs{nfss at catcodes} in force (not quite sure why at the moment to
+%    be honest).
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>       {\DeclareFontFamilySubstitution}{Provide family substituation}%
+\begingroup
+\nfss at catcodes
+\gdef\DeclareFontFamilySubstitution#1#2#3{%
+%    \end{macrocode}
+%    We only provide a set of silent substitutions. The package also
+%    (re)declared the family, but this is incorrect in my eyes and it
+%    is better to handle that differently.
+%
+%    Of course the families  may still need loading at
+%    this point and so we arange for this. Otherwise we might run into
+%    trouble because the necessary \cs{DeclareFontFamily} has not been
+%    seen.
+%    \begin{macrocode}
+   \LoadFontDefinitionFile{#1}{#2}%
+   \LoadFontDefinitionFile{#1}{#3}%
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+   \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}%
+   \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}%
+   \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}%
+   \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}%
+%    \end{macrocode}
+%    These days a few more shapes might be around, so we declare those
+%    too. If they don't exist then after the first substitution normal
+%    fallbacks will happen.
+%    \begin{macrocode}
+   \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}%
+   \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}%
+   \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}%
+%    \end{macrocode}
+%    Same game with \texttt{b} and \texttt{bx}, for other weights you
+%    are on your own:
+%    \begin{macrocode}
+   \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}%
+   \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}%
+   \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}%
+   \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}%
+   \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}%
+   \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}%
+   \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}%
+}
+\endgroup
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>      {\DeclareFontFamilySubstitution}{Provide family substituation}%
+%<latexrelease>
+%<latexrelease>\let\DeclareFontFamilySubstitution\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
 %  \begin{macro}{\DeclareErrorFont}
 %    Declare the last resort shape! We assume that in this fontshape
 %    there is a 10pt font but it doesn't really matter. We only loose

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfsscmp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfsscmp.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfsscmp.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfssdcl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfssdcl.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfssdcl.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfssini.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -36,7 +36,7 @@
 %
 %
 \ProvidesFile{ltfssini.dtx}
-             [2019/08/27 v3.1d LaTeX Kernel (NFSS Initialisation)]
+             [2020/01/11 v3.1f LaTeX Kernel (NFSS Initialisation)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -157,26 +157,28 @@
 %    Now we define the standard font change commands.
 %    We don't allow the use of |\rmfamily| etc.\ in math mode.
 %
+%    (Actually most are now defined further down in the file.)
+%
 %    First the changes to another \emph{family}:
 %    \begin{macrocode}
-\DeclareRobustCommand\rmfamily
-        {\not at math@alphabet\rmfamily\mathrm
-         \fontfamily\rmdefault\selectfont}
-\DeclareRobustCommand\sffamily
-        {\not at math@alphabet\sffamily\mathsf
-         \fontfamily\sfdefault\selectfont}
-\DeclareRobustCommand\ttfamily
-        {\not at math@alphabet\ttfamily\mathtt
-         \fontfamily\ttdefault\selectfont}
+%\DeclareRobustCommand\rmfamily
+%        {\not at math@alphabet\rmfamily\mathrm
+%         \fontfamily\rmdefault\selectfont}
+%\DeclareRobustCommand\sffamily
+%        {\not at math@alphabet\sffamily\mathsf
+%         \fontfamily\sfdefault\selectfont}
+%\DeclareRobustCommand\ttfamily
+%        {\not at math@alphabet\ttfamily\mathtt
+%         \fontfamily\ttdefault\selectfont}
 %    \end{macrocode}
 %    Then the commands changing the \emph{series}:
 %    \begin{macrocode}
-\DeclareRobustCommand\bfseries
-        {\not at math@alphabet\bfseries\mathbf
-         \fontseries\bfdefault\selectfont}
-\DeclareRobustCommand\mdseries
-        {\not at math@alphabet\mdseries\relax
-         \fontseries\mddefault\selectfont}
+%\DeclareRobustCommand\bfseries
+%        {\not at math@alphabet\bfseries\mathbf
+%         \fontseries\bfdefault\selectfont}
+%\DeclareRobustCommand\mdseries
+%        {\not at math@alphabet\mdseries\relax
+%         \fontseries\mddefault\selectfont}
 \DeclareRobustCommand\upshape
         {\not at math@alphabet\upshape\relax
          \fontshape\updefault\selectfont}
@@ -196,29 +198,873 @@
 %
 %
 %
+%
+% \section{Custom series settings for main document families}
+%
+%    This section was introduced 2020/02/02 and for now we support a
+%    full rollback (may need splitting later).        
+% \changes{v3.1e}{2019/12/17}{Provide custom series settings a la mweights}
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\DeclareFontSeriesDefault}{Custom series}%
+%    \end{macrocode}
+%
+%    One problem with the NFSS approach of handling the series axis
+%    turned out to be that (especially with respect to ``boldness'')
+%    different font families implemented different strategies. For
+%    example, with Computer Modern fonts you normally only have
+%    \texttt{bx} whereas most PostScript fonts offered only \texttt{b}
+%    but not \texttt{bx}. As a result \LaTeX's standard setting for
+%    \cs{bfdefault} didn't work with such fonts, but if it got changed
+%    to produce \texttt{b}, then that didn't work with Computer Modern
+%    if the fonts got combined (e.g., using Computer Modern Typewriter
+%    with such fonts).
+%
+%    The solution back then was to provide substitution rules in the
+%    font \texttt{.fd} such that if a \texttt{bx} series got requested
+%    the \texttt{b} series got used. While this works in that
+%    particular case, it isn't a very
+%    general solution. For example, if you happen to have a font family that
+%    has several weights you may want to typeset  the whole document
+%    in a somewhat lighter or darker font but if you then modify
+%    \cs{mddefault} to allow for this, then of course your change only
+%    works with that particular family but not with the typewriter
+%    or sans serif family you also want to use.
+%
+%    A better solution was provided by the \texttt{mweights} package by
+%    Bob Tennent that offers defaults on the level of the three main
+%    font families in the document: for ``rm'', ``sf'' and ``tt'' so
+%    that font packages could define defaults for the sans serif
+%    document font by providing \cs{bfseries at sf} which then was used
+%    when \cs{bfseries} got executed and the current family was the
+%    \cs{sffamily}.
+%
+%  \DescribeMacro\DeclareFontSeriesDefault
+%    We now support this concept directly from within \LaTeX{} and for
+%    use in font packages (or the document preamble) we offer
+%    \cs{DeclareSeriesDefault}. This declaration takes three
+%    arguments:
+%   \begin{description}
+%   \item[document family interface:] Can either be \texttt{rm},
+%    \texttt{sf} or \texttt{tt}. This is optional and if not given the
+%    overall default.
+%   \item[document series interface:] Can be \texttt{md} or
+%    \texttt{bf}.
+%   \item[series value:] This is the value that is going to be used
+%    with the combination is requested.
+%  \end{description}
+%
+%    For example, \verb=\DeclareFontSeriesDefault[rm]{bf}{sb}= would
+%    use \texttt{sb} (semi-bold) when \cs{rmfamily} \cs{bfseries} is
+%    asked for.
+%
+%    If used without the optional argument, e.g.,
+%    \verb=\DeclareFontSeriesDefault{bf}{b}=  then this is like
+%    redefining \cs{bfdefault} or \cs{mddefault}.
+%
+%    If some family specify defaults aren't given, e.g. if there are
+%    no declarations for, say, \texttt{tt} then the format defaults
+%    of \cs{mddefault} and \cs{bfdefault} are assumed. If those are
+%    later changed this is \emph{not} reflected!\footnote{I see no
+%    easy way to achieve this without compromising compatibility with
+%    existing packages that currently use \textsf{mweights} and directly
+%    define (some) of the \cs{mdseries at ..} commands but not others.}
+%
+%
+%
+%  \begin{macro}{\DeclareFontSeriesDefault}
+%    The command to declare font series defaults for the ``rm'', ``sf'' or
+%    ``tt'' family.
+%    \begin{macrocode}
+\newcommand\DeclareFontSeriesDefault[3][]{%
+  \def\@reserveda{#1}%
+%    \end{macrocode}
+%    No optional argument: set up general default.
+%    \begin{macrocode}
+  \ifx\@resereda\@empty
+    \ifcsname #2series\endcsname           % supported are
+                                           % \[md/bf]default
+      \expandafter\def
+         \csname #2default\endcsname{#3}%                     
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Mandatory first argument must be 'md'  or 'bf'.}
+    \fi
+%    \end{macrocode}
+%    Optional argument given, set up specific default.
+%    \begin{macrocode}
+  \else
+    \ifcsname #2series@#1\endcsname          % supported are
+                                             % \[md/bf]series@[rm/sf/tt]
+      \expandafter\edef
+         \csname #2series@#1\endcsname{#3}%                     
+%    \end{macrocode}
+%
+%    If the interface is used we remove the frozen kernel
+%    default. This way, we know that something was explicitly set up
+%    (even if the setup has the same value as the default).
+%    \begin{macrocode}
+      \expandafter\let
+         \csname #2series@#1 at kernel\endcsname\@undefined
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+           Second argument must be 'md'  or 'bf'.}
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+
+%  \begin{macro}{\mdseries at rm}
+%  \begin{macro}{\mdseries at sf}
+%  \begin{macro}{\mdseries at tt}
+%  \begin{macro}{\bfseries at rm}
+%  \begin{macro}{\bfseries at sf}
+%  \begin{macro}{\bfseries at tt}
+%    We initialize the family specific default at the end of the
+%    format generation. Later on they may get overwritten in the
+%    preamble or a package via \cs{DeclareFontSeriesDefault} (or
+%    possibly directly).
+%
+%    Conceptual change: The \cs{bfdefault} will be \texttt{b} not
+%    \texttt{bx} because that is what it should be really for nearly
+%    every font except Computer/Latin Modern.
+%
+%    To account for the fact that by default we typeset in CM or LM we
+%    set up the \cs{bfseries at ..} defaults to use \texttt{bx} instead.
+%
+%    This means that it behaves like before because if the default
+%    fonts are used then \cs{bfseries at rm} etc kick in and make
+%    \cs{textbf} use \texttt{bx}. However, if the font gets changed
+%    then \cs{bfdefault} will get used.
+%    
+%    \begin{macrocode}
+\def\bfseries at rm{bx}    
+\def\bfseries at sf{bx}
+\def\bfseries at tt{bx}
+%    \end{macrocode}
+%
+%    Frozen version of the kernel defaults so we can see if they have changed.
+%    \begin{macrocode}
+\let\bfseries at rm@kernel\bfseries at rm
+\let\bfseries at sf@kernel\bfseries at sf
+\let\bfseries at tt@kernel\bfseries at tt
+%    \end{macrocode}
+%
+%    The default for the medium series is \texttt{m} and this will be
+%    interpreted as resetting both weight and width. To reset only one
+%    of them the virtual value \texttt{?m} and \texttt{m?} are available.
+%    \begin{macrocode}
+\def\mdseries at rm{m}
+\def\mdseries at sf{m}
+\def\mdseries at tt{m}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\expand at font@defaults}
+%
+%    The family specific defaults are fully expanded, i.e., they are
+%    defined via \cs{edef} inside \cs{DeclareFontSeriesDefault}.
+%    However, the overall defaults, e.g., \cs{bfdefault} may have been
+%    redefined by the user and thus may not be fully expanded. So to
+%    enable reliable comparison we make expanded versions of
+%    them. That we rerun each time. The alternative would be to only
+%    allow for changes before begin document.
+%    \begin{macrocode}
+\def\expand at font@defaults{%
+  \edef\rmdef at ult{\rmdefault}%
+  \edef\sfdef at ult{\sfdefault}%
+  \edef\ttdef at ult{\ttdefault}%
+  \edef\bfdef at ult{\bfdefault}%
+  \edef\mddef at ult{\mddefault}%
+  \edef\famdef at ult{\familydefault}%
+}
+%    \end{macrocode}
+%
+%  \end{macro}
+
+
+
+%  \begin{macro}{\bfseries}
+%    This document command switches to the bold series.
+%    \begin{macrocode}
+\DeclareRobustCommand\bfseries{%
+  \not at math@alphabet\bfseries\mathbf
+%    \end{macrocode}
+%    In the original NFSS definition it then called \cs{fontseries}
+%    with the value \cs{bfdefault}. In the new scheme we have more
+%    alternatives and therefore check if the current family
+%    (\cs{f at family}) is the current \cs{rmdef at ult}, \cs{sfdef at ult} or
+%    \cs{ttdef at ult}  and the select the correct family default in that case.
+%    \begin{macrocode}
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \bfseries at rm
+    \else\ifx\f at family\sfdef at ult \bfseries at sf
+    \else\ifx\f at family\ttdef at ult \bfseries at tt
+%    \end{macrocode}
+%    If not \cs{bfdefault} is used.
+%    \begin{macrocode}
+    \else                        \bfdefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\mdseries}
+%    This document command switches to the medium series.
+%    \begin{macrocode}
+\DeclareRobustCommand\mdseries{%
+  \not at math@alphabet\mdseries\relax
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \mdseries at rm
+    \else\ifx\f at family\sfdef at ult \mdseries at sf
+    \else\ifx\f at family\ttdef at ult \mdseries at tt
+    \else                        \mddefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+%  \begin{macro}{\rmfamily}
+%    Here are the document level commands for changing the main font
+%    families, or rather, here is a documented outline of the code,
+%    the actual code is then streamlined and somewhat generalized.
+%\begin{verbatim}
+%\DeclareRobustCommand\rmfamily{%
+%  \not at math@alphabet\rmfamily\mathrm
+%\end{verbatim}
+%    If families are changed then we have to do a bit more work.
+%    In the original NFSS implementation
+%    a family change kept encoding, series shape and size unchanged
+%    but now we can't any 
+%    longer simply reuse the current series value. Instead we may have
+%    to change it from one family default to the next.
+%\begin{verbatim}
+%  \expand at font@defaults
+%\end{verbatim}
+%    We have to do the testing while while the current family is still
+%    unchanged but we have to do the adjustment of the series after it
+%    got changed (because the new family might has different sets
+%    ofshapes available and we certainly don't want to see
+%    substituation going on. So we use \cs{target at series@value} to
+%    hold the target series (if any).
+%\begin{verbatim}
+%  \let\target at series@value\@empty
+%\end{verbatim}
+%    Thus, if the current family is the sans family
+%\begin{verbatim}
+%  \ifx\f at family\sfdef at ult
+%\end{verbatim}
+%    and if we using the medium series of the sans family
+%\begin{verbatim}
+%       \ifx\f at series\mdseries at sf
+%\end{verbatim}
+%    then lets switch to the medium series for the serif family
+%\begin{verbatim}
+%                                       \let\target at series@value\mdseries at rm
+%\end{verbatim}
+%    and if we use the bold series of the sans family switch to the
+%    bold default of the serif family:
+%\begin{verbatim}
+%       \else\ifx\f at series\bfseries at sf  \let\target at series@value\bfseries at rm
+%\end{verbatim}
+%    However, the sans family may not have any specific defaults set,
+%    so we also compare with the overall defaults.
+%\begin{verbatim}
+%       \else\ifx\f at series\mddef at ult    \let\target at series@value\mdseries at rm
+%       \else\ifx\f at series\bfdef at ult    \let\target at series@value\bfseries at rm
+%\end{verbatim}
+%    If neither test was true we leave the series alone. This way a
+%    special manual setting such as \verb=\fontseries{lc}= is not
+%    undone if the family changes (of course there may not be any
+%    support for it in the new family but then the NFSS
+%    substitution kicks in and  sorts it out).
+%\begin{verbatim}
+%       \fi\fi\fi\fi
+%
+%\end{verbatim}
+%    We need to do the same if the current family is the typewriter family:
+%\begin{verbatim}
+%  \else\ifx\f at family\ttdef at ult
+%       \ifx\f at series\mdseries at tt       \let\target at series@value\mdseries at rm
+%       \else\ifx\f at series\bfseries at tt  \let\target at series@value\bfseries at rm
+%       \else\ifx\f at series\mddef at ult    \let\target at series@value\mdseries at rm
+%       \else\ifx\f at series\bfdef at ult    \let\target at series@value\bfseries at rm
+%       \fi\fi\fi\fi
+%  \fi\fi
+%\end{verbatim}
+%    With these preparations for series out of the way we can now
+%    change the font family to \cs{rmdefault}.
+%\begin{verbatim}
+%  \fontfamily\rmdefault
+%\end{verbatim}
+%
+%    If \cs{target at series@value} is still empty there is nothing more
+%    to do other than selecting the new family. However, if not then
+%    we should update the font series now as well. But there is one
+%    further subtle issue. We may not have loaded an \texttt{.fd} file
+%    for our target font family yet. In the past that was done in
+%    \cs{selectfont} if necessary but since we are now doing all the
+%    comparisons in \cs{fontseries} we need to make sure that the font
+%    family specifications are already loaded prior to calling
+%    \cs{fontseries}.
+%\begin{verbatim}
+%  \ifx\target at series@value\@empty \else
+%    \maybe at load@fontshape
+%\end{verbatim}
+%    Updating the series in this case means directly changing
+%    \cs{f at series} to the target value. We don't want to go through
+%    \cs{fontseries} because that would apply the mappings and then
+%    \texttt{bx + b} would keep \texttt{bx} instead of changing to
+%    \texttt{b} as desired.
+%    as 
+%\begin{verbatim}
+%    \let\f at series\target at series@value
+%  \fi
+%  \selectfont}
+%\end{verbatim}
+%
+%    So now for the real definition: most of the code above gets
+%    delegated to a helper command \cs{prepare at family@series at update}
+%    so that the definition becomes again fairly short. In addition we
+%    add a hook, mainly for our Japanese friends so that the code can
+%    be extended prior to the call to \cs{selectfont}.
+% 
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+%    \begin{macrocode}
+\DeclareRobustCommand\rmfamily{%
+   \not at math@alphabet\rmfamily\mathrm
+%    \end{macrocode}
+%    This holds all the code discussed above, first argument is the
+%    meta family, i.e., \texttt{rm} in this case, and second argument
+%    is the default family name, e.g., \texttt{cmr} indirectly
+%    accessed via \cs{rmdefault}. This is calling \cs{fontfamily} and
+%    if necessary \cs{fontseries} as outline above.
+%    \begin{macrocode}
+   \prepare at family@series at update{rm}\rmdefault
+%    \end{macrocode}
+%    The comes the hook code (by default a no-op) and finally the call
+%    to \cs{selectfont}.
+%    \begin{macrocode}
+   \@rmfamilyhook
+   \selectfont}
+%    \end{macrocode}
+%
+%  \begin{macro}{\sffamily}
+%  \begin{macro}{\ttfamily}
+%    The definitions for \cs{sffamily} and \cs{ttfamily} are similar,
+%    the differences are only in what font families get checked.
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+%    \begin{macrocode}
+\DeclareRobustCommand\sffamily{%
+   \not at math@alphabet\sffamily\mathsf
+   \prepare at family@series at update{sf}\sfdefault
+   \@sffamilyhook
+   \selectfont}
+%    \end{macrocode}
+%
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+%    \begin{macrocode}
+\DeclareRobustCommand\ttfamily{%
+   \not at math@alphabet\ttfamily\mathtt
+   \prepare at family@series at update{tt}\ttdefault
+   \@ttfamilyhook
+   \selectfont}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%    
+%  \begin{macro}{\@rmfamilyhook}
+%  \begin{macro}{\@sffamilyhook}
+%  \begin{macro}{\@ttfamilyhook}
+%    By default the hooks do nothing.   
+%    \begin{macrocode}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\prepare at family@series at update}
+%    This is core command that prepares for the family update. The big
+%    difference to the documented code above is that the nested
+%    \cs{ifx} statements seem to be missing. Instead we loop through
+%    an internal list that holds the names of the three meta
+%    families. This approach allows us to extend the mechanism at a
+%    later stage to allow for additional named meta families.
+%
+%  \begin{macro}{\@meta at family@list}
+%    Here is the current definition of that list:
+%    \begin{macrocode}
+\def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
+%    \end{macrocode}
+%  \end{macro}
+%    
+%    \begin{macrocode}
+\def\prepare at family@series at update#1#2{%
+   \expand at font@defaults
+%    \end{macrocode}
+%    We prepare for changing the current series. We have to find it
+%    before changing the family as discussed above.
+%    \begin{macrocode}
+   \let\target at series@value\@empty
+   \def\target at meta@family at value{#1}%
+%    \end{macrocode}
+%    To find it we loop over the meta family list with a suitable
+%    definition of \cs{@elt}.
+%    \begin{macrocode}
+   \let\@elt\update at series@target at value
+      \@meta at family@list
+   \let\@elt\relax
+%    \end{macrocode}
+%    That will figure out the correct series value to use without updating
+%    it. Now we can change the family.
+%    \begin{macrocode}
+   \fontfamily#2%
+%    \end{macrocode}
+%    After that we update the series. That code is again like the one
+%    above.
+%    \begin{macrocode}
+   \ifx\target at series@value\@empty
+   \else
+     \maybe at load@fontshape
+     \let\f at series\target at series@value
+   \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\update at series@target at value}
+%    In this macro used in the look you basically find the nested
+%    \cs{ifx}s from the outline above. The only difference is that is
+%    it is parameterized instead of being written out and only for one
+%    block of tests because the code is called reatedly when looping
+%    over the meta family list. From the list we get each meta family
+%    name in turn.
+%    \begin{macrocode}
+\def\update at series@target at value#1{%
+%    \end{macrocode}
+%    There is one additional test at the beginning, because the list
+%    contains all meta families and we need to ignore the case where
+%    current one from the list and target one are identical.
+%    \begin{macrocode}
+  \def\@reserveda{#1}%
+  \ifx\target at meta@family at value\@reserveda   % rm -> rm do nothing
+  \else
+%    \end{macrocode}
+%    We only ``do'' something if the current font family matches the
+%    current meta family.
+%    \begin{macrocode}
+    \expandafter\ifx\csname#1def at ult\endcsname\f at family
+%    \end{macrocode}
+%    If that's the case we know that this is the block that applies
+%    (only one meta family can match). So  to speed things up we
+%    change \cs{@elt} so that the rest of the loop gets gobbled.
+%    \begin{macrocode}
+      \let\@elt\@gobble
+%    \end{macrocode}
+%    Then we try to find the right new value for the series (as
+%    explained above). The two macros defined first are only there
+%    because we now need to use \cs{csname} and this way the code will
+%    be a little faster.
+%    \begin{macrocode}
+      \expandafter\let\expandafter\@reservedb
+                      \csname mdseries@\target at meta@family at value\endcsname
+      \expandafter\let\expandafter\@reservedc
+                      \csname bfseries@\target at meta@family at value\endcsname
+%    \end{macrocode}
+%    This here is now identical to the nested \cs{ifx} block from the
+%    outline, except that it there appeared twice in
+%    \cs{rmfamily}. This is now covered by looping and stopping the
+%    loop when a match was found.
+%    \begin{macrocode}
+      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedb
+      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedc
+      \else\ifx\f at series\mddef at ult    \let\target at series@value\@reservedb
+      \else\ifx\f at series\bfdef at ult    \let\target at series@value\@reservedc
+      \fi\fi\fi\fi
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%  \begin{macro}{\init at series@setup}
+%    This is code to be run at begin document \ldots
+%    \begin{macrocode}
+\def\init at series@setup{%
+%    \end{macrocode}
+%
+%    We only want \texttt{bx} in \cs{bfseries at rm} if the roman font is
+%    Computer Modern or Latin Modern, otherwise it should be
+%    \texttt{b}. It was set to \texttt{bx} in the kernel so that any
+%    font use with the default families in the preamble get this
+%    value. Now at the real document start we check if the fonts have
+%    been changed. If there was a \cs{DeclareFontSeriesDefault}
+%    declaration or \cs{bfseries at rm} was directly altered then it
+%    differs from \cs{bfseries at rm@kernel} and we do nothing.
+%    Otherwise we check if \cs{rmdefault} is one of the CM/LM font
+%    families and if so we keep \texttt{bx} otherwise we change it to
+%    \texttt{b}.
+%
+%    This approach doesn't cover one case: CM/LM got changed to a
+%    different family that supports \texttt{bx}, but the support
+%    package for that family used \verb=\def\bfseries at rm{bx}= instead
+%    of using  \cs{DeclareFontSeriesDefault}. In that case the code
+%    here changes it to \texttt{b}. Solution: use the
+%    \cs{DeclareFontSeriesDefault} interface.
+%    \begin{macrocode}
+  \ifx\bfseries at rm@kernel\bfseries at rm
+    \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at rm{b}\fi\fi
+%    \end{macrocode}
+%    Same approach for \cs{bfseries at sf} and \cs{bfseries at tt}:
+%    \begin{macrocode}
+  \ifx\bfseries at sf@kernel\bfseries at sf
+    \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at sf{b}\fi\fi
+  \ifx\bfseries at tt@kernel\bfseries at tt
+    \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at tt{b}\fi\fi
+%    \end{macrocode}
+%    
+%    If the document preamble has changed the \cs{familydefault} or if
+%    the if the \cs{rmdefault} contains a new font family, we have to
+%    adjust the series defaults accordingly, before starting
+%    typesetting.
+%
+%    On the other hand if we still typeset in CM or LM then
+%    \cs{bfdefault} is wrong since it is now saying \texttt{b} and not
+%    \texttt{bx}.
+    
+%    To fix this we run \cs{rmfamily}, \cs{sffamily} or
+%    \cs{ttfamily} depending on the situation and this will correct
+%    the setup for us.
+%    \begin{macrocode}
+  \expand at font@defaults
+  \ifx\famdef at ult\rmdef at ult      \rmfamily
+  \else\ifx\famdef at ult\sfdef at ult \sffamily
+  \else\ifx\famdef at ult\ttdef at ult \ttfamily
+  \fi\fi\fi
+}%
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%    As the kernel code now implements the same functionality as
+%    \textsf{mweights}, albeit internally coded slightly differently,
+%    that package shouldn't be loaded any more.  We therefore pretend
+%    that it already got loaded. Thus, a font package that tries to
+%    load it and then sets \cs{mdseries at ..}, etc.\ will continue to
+%    work but will now use the kernel code.
+%
+%    Of course, mid-term such package should probably use
+%    \cs{DeclareFontSeriesDefault} instead of making using low-level
+%    definitions.
+%
+%    \begin{macrocode}
+\expandafter\let\csname ver at mweights.sty\endcsname\fmtversion
+%    \end{macrocode}
+%
+%
+%    
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\DeclareFontSeriesDefault}{Custom series}%
+%<latexrelease>
+%<latexrelease>\let\DeclareFontSeriesDefault\@undefined
+%<latexrelease>\let\bfseries at rm\@undefined
+%<latexrelease>\let\bfseries at sf\@undefined
+%<latexrelease>\let\bfseries at tt\@undefined
+%<latexrelease>\let\bfseries at rm@kernel\@undefined
+%<latexrelease>\let\bfseries at sf@kernel\@undefined
+%<latexrelease>\let\bfseries at tt@kernel\@undefined
+%<latexrelease>\let\mdseries at rm\@undefined
+%<latexrelease>\let\mdseries at sf\@undefined
+%<latexrelease>\let\mdseries at tt\@undefined
+%<latexrelease>\let\expand at font@defaults\@undefined
+%<latexrelease>\expandafter\let\csname ver at mweights.sty\endcsname\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\bfseries
+%<latexrelease>        {\not at math@alphabet\bfseries\mathbf
+%<latexrelease>         \fontseries\bfdefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\mdseries
+%<latexrelease>        {\not at math@alphabet\mdseries\relax
+%<latexrelease>         \fontseries\mddefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\rmfamily
+%<latexrelease>        {\not at math@alphabet\rmfamily\mathrm
+%<latexrelease>         \fontfamily\rmdefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\sffamily
+%<latexrelease>        {\not at math@alphabet\sffamily\mathsf
+%<latexrelease>         \fontfamily\sfdefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\ttfamily
+%<latexrelease>        {\not at math@alphabet\ttfamily\mathtt
+%<latexrelease>         \fontfamily\ttdefault\selectfont}
+%<latexrelease>
+%<latexrelease>\let\@rmfamilyhook\@undefined
+%<latexrelease>\let\@sffamilyhook\@undefined
+%<latexrelease>\let\@ttfamilyhook\@undefined
+%<latexrelease>\let\@meta at family@list\@undefined
+%<latexrelease>\let\prepare at family@series at update\@undefined
+%<latexrelease>\let\update at series@target at value\@undefined
+%<latexrelease>
+%    \end{macrocode}
+%    This is always called in \cs{document} so don't make it undefined.
+%    \begin{macrocode}
+%<latexrelease>\let\init at series@setup\relax
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+       
+%
+%
+%
+% \section{Supporting nested emphasis}
+%
+%    By default \LaTeXe{} supports two levels of nested emphasis: if
+%    the current font has an upright shape then it switches to
+%    \cs{itshape} otherwise to \cs{eminnershape} (which defaults to
+%    \cs{upshape}). This means nested emphasis will ocssilate between
+%    italic and upright shapes.
+%
+%    Sometimes it would be nice to allow for a more lengthly sequence,
+%    but instead of providing a fixed one \LaTeX{} now offers a
+%    general mechanism that allows to define arbitrary sequences.
+%
+%    \DescribeMacro\DeclareEmphSequence  
+%    \DescribeMacro\emforce
+%
+%    This declaration expects a comma separated list of (font) change
+%    declarations corresponding to increasing levels of emphasis.
+%    The mechanism tries to be ``smart'' and verifies that the
+%    declarations actually alter the font. If not it will ignore this
+%    level and tries the next one---the assumption being that
+%    there was a manual font change in the document to the font that
+%    is now supposed to be used for emphasis. Of course, this only
+%    works if the declarations in the list actually change the font
+%    and not, say, just the color.
+%    In such a case one has to use \cs{emforce} to which directs the
+%    mechanism to use the level even if the font attributes haven't changed.
+%
+%  \DescribeMacro\emreset
+%    If the nesting is so deep, that the specified  levels are
+%    exhausted then \cs{emreset} is used as a final set of
+%    declarations (which by default returns
+%    back to the upright shape). Any additional nesting levels will
+%    then reuse the list from its beginning. 
+%
+%
+%
+%  \begin{macro}{\DeclareEmphSequence}
+%    
+%    \cs{DeclareEmphSequence} expects a clist of declaration. Spaces in the
+%    argument are dropped to avoid surious spaces in the output. The
+%    declarations are additive. At the very end the shape is reset
+%    using |\emreset| and |\emforce| so that this case is never
+%    skipped.\footnote{Maybe we should not add \cs{emforce} but allow
+%    that case to be  skipped as well. Of course, that might result in
+%    an endless loop if somebody defines a sequence without any font
+%    change and without \cs{emforce} but \ldots}
+%    Further nested calls restart at the beginning.
+% \changes{v3.1e}{2019/12/17}{Provide \cs{emph} sequences}
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\DeclareEmphSequence}{Nested emph}%
+\def\DeclareEmphSequence#1{%
+  \protected at edef\emfontdeclare at clist{\zap at space#1, \@empty\emforce\emreset}%
+}
+%    \end{macrocode}
+%    By default the it is empty, in which case \cs{eminnershape} is
+%    used by \LaTeX.
+%    \begin{macrocode}
+\let\emfontdeclare at clist\@empty  
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\emrest}
+%    Reset the font to upright and upper/lower case. With the default rules
+%    using \cs{shapedefault} does that for us but to be on the safe side we
+%    do it like this:
+%    \begin{macrocode}
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\em}
+%    The new definition for \cs{em} (and implicitly \cs{emph} is like
+%    it was before if \cs{emfontdeclare at clist} is empty.
+%    \begin{macrocode}
+\DeclareRobustCommand\em{%
+  \@nomath\em
+  \ifx\emfontdeclare at clist\@empty
+    \ifdim \fontdimen\@ne\font >\z@
+      \eminnershape \else \itshape \fi
+  \else
+%    \end{macrocode}
+%    But if not we use the list to decide how to do emphasis.
+%
+%    We use the current font to check if the declarations have any
+%    effect, so even a size change is allowed and identified as a
+%    modification (but a color change, for example, isn't).  So first
+%    we save the current status.
+%    \begin{macrocode}
+  \edef\em at currfont{\csname\curr at fontshape/\f at size\endcsname}%
+%    \end{macrocode}
+%    Then we grab the next element from the list and check if it can
+%    be used.
+%    \begin{macrocode}
+    \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \fi
+}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\def\eminnershape{\upshape}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\do at emfont@update}
+%    We know that the list (if not empty) has at least 2 elements
+%    separated by a comma, so we pick up the first in \texttt{\#1} and
+%    the rest in \texttt{\#2}.
+%    \begin{macrocode}
+\def\do at emfont@update#1,#2\do at emfont@update{%
+%    \end{macrocode}
+%    First action is to alter the list and move the first entry to the end
+%    \begin{macrocode}
+  \def\emfontdeclare at clist{#2,#1}%  
+%    \end{macrocode}
+%    Then we execute current declaration. Appending |\selectfont| means one
+%    can write just |\fontshape{it}}| and that works then too.
+%    \begin{macrocode}
+%  \typeout{Use: \detokenize{#1}}%
+  #1\selectfont
+%    \end{macrocode}
+%    We then compare the current font with our saved version, but with
+%    a slight twist: we add \cs{em at force} at the end of the
+%    name. Normally this is empty so has no effect but if there was an
+%    \cs{emforce} as part of \texttt{\#1} it will append a |/| to the
+%    font name (making it invalid) thus this will then always fail the
+%    test.
+%
+%    If the test fails we are done and the declarations will be used.
+%    Otherwise we will try the next declaration in the sequence.
+%    \begin{macrocode}
+  \expandafter\ifx\csname \curr at fontshape/\f at size\em at force
+%    \end{macrocode}
+%    For the comparison with \cs{ifx} we have to exand
+%    \cs{em at currfont} once as the relevant info is inside.
+%    \begin{macrocode}
+                          \expandafter\endcsname
+                  \em at currfont
+  \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+%    \end{macrocode}
+%    If \cs{emforce} was used, we have to undo its effect:
+%    \begin{macrocode}
+  \else
+    \let\em at force\@empty
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\emforce}
+%  \begin{macro}{\em at force}
+%    The definition of \cs{emforce} is simple: change \cs{em at force} to
+%    make the above test always invalid.
+%    \begin{macrocode}
+\protected\def\emforce{\def\em at force{/}}
+\let\em at force\@empty
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+
+
+
+%
 % \begin{macro}{\em}
 % \changes{v1.2b}{1990/01/28}{Call to \cs{@nomath} added.}
 % \changes{v3.1a}{2015/01/09}{Allow \cs{emph} to produce small caps (latexrelease)}
 % \begin{macro}{\eminnershape}
 % \changes{v3.1a}{2015/01/09}{macro added (latexrelease)}
+%
+%  These are the older definitions for \cs{em}, prior to 2020.
+%
 % We also have to define the {\em emphasize\/} font change command
 % (i.e.\ |\em|). This command will look is the current font is
 % sloped (i.e.\ has a positive |\fontdimen1|) and will then
 % select either |\upshape| or |\itshape|.
 %    \begin{macrocode}
-%</2ekernel>
-%<latexrelease>\IncludeInRelease{2015/01/01}{\eminnershape}{\eminnershape}%
-%<*2ekernel|latexrelease>
-\DeclareRobustCommand\em
-        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
-                       \eminnershape \else \itshape \fi}%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\def\eminnershape{\upshape}%
-%</2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2015/01/01}{\DeclareEmphSequence}{Nested emph}%
+%<latexrelease>\let\DeclareEmphSequence\@undefined
+%<latexrelease>\let\emfontdeclare at clist\@undefined
+%<latexrelease>\let\emreset\@undefined
+%<latexrelease>\let\do at emfont@update\@undefined
+%<latexrelease>\let\emforce\@undefined
+%<latexrelease>\let\em at force\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\em
+%<latexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+%<latexrelease>                       \eminnershape \else \itshape \fi}%
 %<latexrelease>\EndIncludeInRelease
-%<latexrelease>\IncludeInRelease{0000/00/00}{\eminnershape}{\eminnershape}%
+%<latexrelease>
+%<latexrelease>\IncludeInRelease{0000/00/00}{\DeclareEmphSequence}{Nested emph}%
 %<latexrelease>\DeclareRobustCommand\em
 %<latexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
 %<latexrelease>                       \upshape \else \itshape \fi}%
@@ -230,6 +1076,12 @@
 % \end{macro}
 %
 %
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
 %  \begin{macro}{\not at math@alphabet}
 %    This function generates an error message when it is called in
 %    math mode. The same function should be defined in
@@ -331,35 +1183,6 @@
 % \end{macro}
 %
 %
-%  \begin{macro}{\oldstylenums}
-%    This macro implements old style numerals but only works if we
-%    assume that the standard math fonts are used. Thus it needs
-%    changing in case other math encodings are used.
-%    \begin{macrocode}
-\DeclareRobustCommand\oldstylenums[1]{%
-   \begingroup
-%    \end{macrocode}
-%    Provide spacing using the interword space of the current font.
-%    \begin{macrocode}
-    \spaceskip\fontdimen\tw@\font
-%    \end{macrocode}
-%    Then switch to the math italic font. We don't change the current
-%    value of |\f at series| which means that you can use bold numerals
-%    if |\bfseries| is in force. As family we use |\rmdefault| which
-%    means that this only works if there exist an |OML| encoded
-%    version of that font or rather a corresponding |.fd| file (which
-%    is the case for standard \LaTeX{} fonts even though they only
-%    contain substitutions).
-% \changes{v3.0j}{1999/02/12}{Use \cs{rmdefault} instead of \texttt{cmm}
-%                 (pr/2954)}
-%    \begin{macrocode}
-    \usefont{OML}{\rmdefault}{\f at series}{it}%
-    \mathgroup\symletters #1%
-   \endgroup
-}
-%    \end{macrocode}
-%  \end{macro}
-%
 % \begin{macro}{\hexnumber@}
 %    To set up \LaTeX's special math character
 %    definitions we first provide a macro to generate hexadecimal
@@ -528,6 +1351,7 @@
 \let\@addtofilelist\@gobble
 %    \end{macrocode}
 %
+%
 % Ditto for math although I don't think that we will get a lot of
 % customisation :-)
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltfsstrc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltfsstrc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltfsstrc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -34,10 +34,10 @@
 %
 %<package>\NeedsTeXFormat{LaTeX2e}[1995/05/16]
 %<package>\ProvidesPackage{tracefnt}
-%<package>     [2015/02/21 v3.0k  Standard LaTeX package (font tracing)]
+%<package>     [2019/10/11 v3.0l  Standard LaTeX package (font tracing)]
 % \fi
 % \ProvidesFile{ltfsstrc.dtx}
-%              [2015/02/21 v3.0k LaTeX Kernel (NFSS tracing)]
+%              [2019/10/11 v3.0l LaTeX Kernel (NFSS tracing)]
 %
 % \iffalse
 %<+checkmem>\CHECKMEM
@@ -1731,7 +1731,7 @@
 %    the optional argument (if present) is ignored. The font encoding
 %    scheme cannot be changed. Therefore, the first thing we do is to
 %    prepend the encoding scheme.
-% \changes{v2.0b}{1992/07/26}{}
+%        {documentation fixes}
 %    \begin{macrocode}
 \DeclareSizeFunction{sub}{\sub at sfcnt\@font at warning}
 \DeclareSizeFunction{ssub}{\sub at sfcnt\@font at info}
@@ -1787,6 +1787,40 @@
 %    \end{macrocode}
 %  \end{macro}
 %
+%  \begin{macro}{\@font at aliasinfo}
+% \changes{v3.0l}{2019/10/11}{Added 'alias' size function}
+%    Sometimes a substitution is only done to map a long font name to
+%    a standard shape or series, e.g.,
+%\begin{verbatim}
+%\DeclareFontShape{T1}{Roboto-LF}{b}{it}{<-> alias * Roboto-LF/bold/it}{}
+%\end{verbatim}
+%    Using the \texttt{ssub} function in that case will give a strange
+%    (and incorrect) warning. As an alternative we therefore offer the
+%    size function \texttt{alias}. It will still add some info into
+%    the \texttt{.log} file, but no longer complains that the font
+%    shape is not available. It is implemented by grabbing the default
+%    warning text and replacing it with a new one.
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease>                 {\@font at aliasinfo}{alias size function}%
+\DeclareSizeFunction{alias}{\sub at sfcnt\@font at aliasinfo}
+\def\@font at aliasinfo#1{%
+  \@font at info{Font\space shape\space `\curr at fontshape'\space
+              aliased\space to\MessageBreak `\mandatory at arg'}%
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\@font at aliasinfo}{alias size function}%
+%<latexrelease>\let\s at fct@alias\@undefined
+%<latexrelease>\let\@font at aliasinfo\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
 %
 %  \begin{macro}{\s at fct@subf}
 %    The |subf| size function allows substitution of another font. The

Modified: trunk/Master/texmf-dist/source/latex-dev/base/lthyphen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/lthyphen.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/lthyphen.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltidxglo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltidxglo.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltidxglo.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltlength.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltlength.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltlength.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltlists.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltlists.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltlists.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -772,6 +772,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\item}
 % \changes{LaTeX2.09}{1992/09/18}
 %     {(RmS) Added warning if \cs{item} is used in math mode}
 % \changes{v1.0c}{1994/04/28}
@@ -778,7 +779,6 @@
 %     {Replaced \cs{@ltxnomath} by \cs{@inmatherr}}
 % \changes{v1.0d}{1994/05/03}
 %     {Removed superfluous braces}
-% \begin{macro}{\item}
 %    \begin{macrocode}
 \def\item{%
   \@inmatherr\item

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltlogos.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltlogos.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltlogos.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltluatex.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltmath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltmath.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltmath.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltmiscen.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -710,7 +710,7 @@
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease>\IncludeInRelease{2020/02/02}%
 %<latexrelease>                 {\@centercr}{Make robust}%
 \protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
        \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -37,15 +37,14 @@
 %<TS1>\ProvidesFile{ts1enc.def}[2001/06/05 v3.0e (jk/car/fm)
 %<TU>\ProvidesFile{tuenc.def}
 %<package>\ProvidesPackage{fontenc}
-%<TS1sty>\ProvidesPackage{textcomp}
-%<OT1|T1|OMS|OML|OT4|TU|package|TS1sty> [2018/08/11 v2.0j
-%<OT1|T1|OMS|OML|OT4|TS1|TU>         Standard LaTeX file]
-%<package|TS1sty>                 Standard LaTeX package]
+%<OT1|T1|OMS|OML|OT4|TU|package> [2019/11/22 v2.0l
+%<OT1|T1|OMS|OML|OT4|TS1|TU>      Standard LaTeX file]
+%<package>                        Standard LaTeX package]
 %
 %<*driver>
 % \fi
 \ProvidesFile{ltoutenc.dtx}
-             [2018/11/18 v2.0k LaTeX Kernel (font encodings)]
+             [2019/12/18 v2.0m LaTeX Kernel (font encodings)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltoutenc.dtx}
@@ -834,8 +833,23 @@
 %    {Explicitly set \cs{spacefactor} after \cs{accent} (pr/2877)}
 %    \begin{macrocode}
       \global\mathchardef\accent at spacefactor\spacefactor}%
+%    \end{macrocode}
+%    The accent primitive doesn't allow things \cs{begingroup} to
+%    interfere between accent and base character. Therefore we need to
+%    avoid that (they are some hidden inside \cs{maybe at load@fontshape}).
+%    As we don't have to load the fontshape in this case
+%    (as that happened in the box above if necessary, we simply
+%    disable that part of the code temporaily.
+%    We also ignore \cs{ignorespaces} which has the same issue and may
+%    show up as part of \cs{normalfont} if that is used.
+% \changes{v2.0m}{2019/12/18}{Avoid code that breaks \cs{accent}}
+%    \begin{macrocode}
+   \let\maybe at load@fontshape\relax
+   \let\ignorespaces\relax
    \accent#1 #2\egroup\spacefactor\accent at spacefactor}
 %    \end{macrocode}
+%
+%
 %    Default definition for |\accent at spacefactor| prevents a horrible
 %    death of the above macro inside an unprotected |\edef|.
 % \changes{v1.9w}{1999/10/28}{Give \cs{accent at spacefactor} a default
@@ -1107,7 +1121,8 @@
 %<*2ekernel>
 %    \end{macrocode}
 %
-%
+%    Switch to a different text encoding without any grouping for use in
+%    \cs{UseTextAccent} or \cs{UseTextSymbol} (and for \cs{oldstylenums}).
 %    \begin{macrocode}
 \def\@use at text@encoding#1{%
    \edef\f at encoding{#1}%
@@ -1445,12 +1460,19 @@
 %    \begin{macrocode}
 \DeclareTextCommandDefault{\textasciicircum}{\^{}}
 \DeclareTextCommandDefault{\textasciitilde}{\~{}}
-\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
 \DeclareTextCommandDefault{\textunderscore}{%
   \leavevmode \kern.06em\vbox{\hrule\@width.3em}}
 %    \end{macrocode}
 %
+%    There is no good reason anymore to fake \cs{textcompwordmark}.
+% \changes{v2.0m}{2019/12/18}{Don't fake \cs{textcompwordmark}; take
+%    default from T1 instead}
 %    \begin{macrocode}
+%\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
+\DeclareTextSymbolDefault{\textcompwordmark}{T1}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareTextCommandDefault{\textvisiblespace}{%
    \mbox{\kern.06em\vrule \@height.3ex}%
    \vbox{\hrule \@width.3em}%
@@ -3508,9 +3530,22 @@
 \ProcessOptions*
 %    \end{macrocode}
 %
+%    We select the new font encoding default (i.e., the last encoding
+%    specified in the option list. But this encoding may not work with
+%    the current |\f at shape|, e.g., \texttt{LY1} is not defined for
+%    \texttt{cmr} and therefore packages switching to \texttt{LY1}
+%    usually also change \cs{rmdefault}. But that only applies at
+%    |\begin{document}| so we get a spurious warning if we use what
+%    \LaTeX{} previously used:
+% \changes{v2.0l}{2019/11/22}{Avoid spurious if fontenc selects LY1 as
+%    default encoding (gh/199)}
 %    \begin{macrocode}
-\fontencoding\encodingdefault\selectfont
+%\fontencoding\encodingdefault\selectfont
 %    \end{macrocode}
+%    So instead we do this here:
+%    \begin{macrocode}
+\usefont\encodingdefault\familydefault\seriesdefault\shapedefault
+%    \end{macrocode}
 %
 % To save some space we get rid of the macro extending the
 % |\@uclclist| (might have happened already).
@@ -3538,729 +3573,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{The textcomp package}
 %
-%    This one is for the |TS1| encoding which contains text symbols
-%    for use with the |T1|-encoded text fonts.  It therefore first
-%    inputs the file |TS1enc.def| and then sets (or resets) the
-%    defaults for the symbols it contains.  The result of this is that
-%    when one of these symbols is accessed and the current encoding
-%    does not provide it, the symbol will be supplied by a silent,
-%    local change to this encoding.
-%
-%    \begin{macrocode}
-%<*TS1sty>
-%    \end{macrocode}
-%    Since many PostScript fonts only implement a subset of |TS1| many
-%    commands only produce black blobs of ink. To resolve the
-%    resulting problems a number of options have been introduced and
-%    some code  has been developed to distinguish sub-encodings.
-%
-%    The sub-encodings have a numerical id and are defined as follows
-%    for \texttt{TS1}:
-% \begin{description}
-%
-% \item[\#5] those \texttt{TS1} symbols that are also in the ISO-Adobe
-%       character set; without \verb=textcurrency=, which is often
-%       misused for the Euro.  Older Type1 fonts from the non-\TeX{}
-%       world provide only this subset.
-%
-% \item[\#4] = \#5 + \verb=\texteuro=.  Most newer fonts provide this.
-%
-% \item[\#3] = \#4 + \verb=\textomega=.  Can also be described as
-%       $\texttt{TS1} \cap (\texttt{ISO-Adobe} \cup
-%       \texttt{MacRoman})$.  (Except for the missing "currency".)
-
-%
-% \item[\#2] = \#3 + \verb=\textestimated= + \verb=\textcurrency=.  Can
-%       also be described as $\texttt{TS1} \cap
-%       \texttt{Adobe-Western-2}$.  This may be relevant for OpenType
-%       fonts, which usually show the Adobe-Western-2 character set.
-%
-%    \item[\#1] = \texttt{TS1} without \verb=\textcircled= and \verb=\t=.
-%       These two glyphs are often not implemented and if their kernel
-%       defaults are changed commands like \verb=\copyright=
-%       unnecessarily fail.
-%
-%    \item[\#0] = full \texttt{TS1}
-% \end{description}
-%
-%    And here a summary to go in the transcript file:
-%    \begin{macrocode}
-\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak
-    \space\space 5 = only ISO-Adobe without
-                              \string\textcurrency\MessageBreak
-    \space\space 4 = 5 + \string\texteuro\MessageBreak
-    \space\space 3 = 4 + \string\textohm\MessageBreak
-    \space\space 2 = 3 + \noexpand\textestimated+ 
-                                \string\textcurrency\MessageBreak
-    \space\space 1 = TS1 - \noexpand\textcircled-
-                                            \string\t\MessageBreak
-    \space\space 0 = TS1 (full)\MessageBreak
-    Font families with sub-encoding setting implement\MessageBreak
-    only a restricted character set as indicated.\MessageBreak
-    Family '?' is the default used for unknown fonts.\MessageBreak
-    See the documentation for details\@gobble}
-%    \end{macrocode}
-%
-% \begin{macro}{\DeclareEncodingSubset}
-%    An encoding subset to which a font family belongs is declared by
-%    the command |\DeclareEncodingSubset| that takes the major encoding as the
-%    first argument (e.g., |TS1|), the family name as the second
-%    argument (e.g., |cmr|), and the subset encoding id as a third,
-%    (e.g., |0| for |cmr|).
-%
-%    The default encoding subset to use when nothing is known about
-%    the current font family is named |?|.
-%    \begin{macrocode}
-\def\DeclareEncodingSubset#1#2#3{%
-   \@ifundefined{#1:#2}%
-     {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}%
-     {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}%
-   \@namedef{#1:#2}{#3}}
-\@onlypreamble\DeclareEncodingSubset
-%    \end{macrocode}
-% \end{macro}
-%
-%
-%  The options for the package are the following:
-%    \begin{description}
-%    \item[safe]
-%       for unknown font families enables only symbols that are also
-%       in the ISO-Adobe character set; without "currency", which is
-%       often misused for the Euro.  Older Type1 fonts from the
-%       non-TeX world provide only this subset.
-%
-%    \item[euro]
-%       enables the ``safe'' symbols plus the |\texteuro|
-%       command. Most newer fonts provide this.
-%
-%    \item[full] enables all |TS1| commands; useful only with fonts
-%       like EC or CM bright.
-%
-%    \item[almostfull]
-%       same as ``full'', except that |\textcircled|
-%       and |\t| are \emph{not} redefined from their defaults to avoid
-%       that commands like |\copyright| suddenly no longer work.
-%
-%    \item[force]
-%       ignore all subset encoding definitions stored in the package
-%       itself or in the configuration file and always use the default
-%       subset as specified by one of the other options (seldom useful,
-%       only dangerous).
-%    \end{description}
-
-% \begin{macro}{\iftc at forced}
-%    Switch used to implement the \texttt{force} option
-%    \begin{macrocode}
-\newif\iftc at forced   \tc at forcedfalse
-%    \end{macrocode}
-% \end{macro}
-
-%    This is implemented by defining the default subset:
-%    \begin{macrocode}
-\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
-\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
-\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}}
-\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}}
-%    \end{macrocode}
-%    The default is ``almostfull'' which means that old documents will
-%    work except that |\textcircled| and |\t| will use the kernel
-%    defaults (with the advantage that this also works if the current
-%    font (as often the case) doesn't implement these glyphs.
-%
-%    The ``force'' option simply sets the switch to true.
-%    \begin{macrocode}
-\DeclareOption{force}{\tc at forcedtrue}
-%    \end{macrocode}
-%
-%    The suggestions to user is to use the ``safe'' option always
-%    unless that balks in which case they could switch to
-%    ``almostfull'' but then better check their output manually.
-%
-%    \begin{macrocode}
-\def\tc at errorwarn{\PackageError}
-\DeclareOption{warn}{\gdef\tc at errorwarn#1#2#3{\PackageWarning{#1}{#2}}}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\ExecuteOptions{almostfull}
-\ProcessOptions\relax
-%    \end{macrocode}
-%
-% \begin{macro}{\CheckEncodingSubset}
-%    The command |\CheckEncodingSubset| will check if the current font
-%    family has the right encoding subset to typeset a certain
-%    command. It takes five arguments as follows:
-%    first argument is either |\UseTextSymbol|, |\UseTextAccent|
-%    depending on whether or not the symbol is a text symbol or a text
-%    accent.
-
-%    The second argument is the encoding from which this symbol should
-%    be fetched.
-%
-%    The third argument is either a fake accessor command or an error
-%    message. the code in that argument (if ever executed) receives
-%    two arguments: |#2| and |#5| of |\CheckEncodingSubset|.
-%
-%    Argument four is the subset encoding id to test against: if this
-%    value is higher than the subset id of the current font family
-%    then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise
-%    it runs |#3#5|, e.g., to produce an error message or fake the
-%    glyph somehow.
-%
-%    Argument five is the symbol or accent command that is being
-%    checked.
-%
-%    For usage examples see definitions below.
-%    \begin{macrocode}
-\iftc at forced
-%    \end{macrocode}
-%    If the ``force'' option was given we always use the default for
-%    testing against.
-%    \begin{macrocode}
-\def\CheckEncodingSubset#1#2#3#4#5{%
-    \ifnum #4>%
-        0\csname #2:?\endcsname
-        \relax
-   \expandafter\@firstoftwo
-  \else
-   \expandafter\@secondoftwo
- \fi
-  {#1{#2}}{#3}%
-  #5%
-}
-%    \end{macrocode}
-%    In normal circumstances the test is a bit more complicated: first
-%    check if there exists a macro
-%    |\|\meta{arg2}|:|\meta{current-family} and if so use that value
-%    to test against, otherwise use the default to test against.
-%    \begin{macrocode}
-\else
-\def\CheckEncodingSubset#1#2#3#4#5{%
-    \ifnum #4>%
-      \expandafter\ifx\csname #2:\f at family\endcsname\relax
-        0\csname #2:?\endcsname
-      \else
-        \csname #2:\f at family\endcsname
-      \fi
-   \relax
-   \expandafter\@firstoftwo
-  \else
-   \expandafter\@secondoftwo
- \fi
-  {#1{#2}}{#3}%
-  #5%
-}
-\fi
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tc at subst}
-%    \begin{macrocode}
-\def\tc at subst#1{%
-   \tc at errorwarn{textcomp}%  % should be latex error if general
-    {Symbol \string#1 not provided by\MessageBreak
-     font family \f at family\space
-     in TS1 encoding.\MessageBreak Default family used instead}\@eha
-  \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\textcompsubstdefault}
-%    \begin{macrocode}
-\def\textcompsubstdefault{cmr}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\tc at error}
-%    |\tc at error| is going to be used in arg |#3| of
-%    |\CheckEncodingSubset| when a symbol is not available in a
-%    certain font family. It gets pass the encoding it normally lives
-%    in (arg one) and the name of the symbol or accent that has a
-%    problem.
-%
-%    \begin{macrocode}
-% error commands take argument:
-% #1 symbol to be used
-\def\tc at error#1{%
-   \PackageError{textcomp}%  % should be latex error if general
-    {Accent \string#1 not provided by\MessageBreak
-     font family \f at family\space
-     in TS1 encoding}\@eha
-}
-%    \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\tc at fake@euro}
-%    |\tc at fake@euro|  is an example of a ``fake'' definition to use in  arg |#3| of
-%    |\CheckEncodingSubset| when a symbol is not available in a
-%    certain font family. Here we produce an Euro symbol by combining
-%    a ``C'' with a ``=''.
-%    \begin{macrocode}
-\def\tc at fake@euro#1{%
-   \leavevmode
-   \PackageInfo{textcomp}{Faking \noexpand#1for font family
-                          \f at family\MessageBreak in TS1 encoding}%
-   \valign{##\cr
-      \vfil\hbox to 0.07em{\dimen@\f at size\p@
-                           \math at fontsfalse
-                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
-      \vfil\cr%
-      \hbox{C}\crcr
-   }%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tc at check@symbol}
-% \begin{macro}{\tc at check@accent}
-%    These are two abbreviations that we use below to check symbols
-%    and accents in TS1. Only there to save some space, e.g., we can
-%    then write
-%\begin{verbatim}
-%\DeclareTextCommandDefault{\textcurrency}{\tc at check@symbol3\textcurrency}
-%\end{verbatim}
-%    to ensure that |\textcurrency| is only typeset if the current
-%    font has a \texttt{TS1} subset id of less than 3. Otherwise
-%    |\tc at error| is called telling the user that for this font family
-%    |\textcurreny| is not available.
-%    \begin{macrocode}
-\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
-\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%    We start with the commands that are ``safe'' and which can be
-%    unconditionally set up, first the accents\ldots
-%    \begin{macrocode}
-\DeclareTextAccentDefault{\capitalcedilla}{TS1}
-\DeclareTextAccentDefault{\capitalogonek}{TS1}
-\DeclareTextAccentDefault{\capitalgrave}{TS1}
-\DeclareTextAccentDefault{\capitalacute}{TS1}
-\DeclareTextAccentDefault{\capitalcircumflex}{TS1}
-\DeclareTextAccentDefault{\capitaltilde}{TS1}
-\DeclareTextAccentDefault{\capitaldieresis}{TS1}
-\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1}
-\DeclareTextAccentDefault{\capitalring}{TS1}
-\DeclareTextAccentDefault{\capitalcaron}{TS1}
-\DeclareTextAccentDefault{\capitalbreve}{TS1}
-\DeclareTextAccentDefault{\capitalmacron}{TS1}
-\DeclareTextAccentDefault{\capitaldotaccent}{TS1}
-%    \end{macrocode}
-%    \ldots and then the other glyphs.
-% \changes{v1.9p}{1998/06/12}{Renamed \cs{textmacron} pr/2840}
-%    \begin{macrocode}
-\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
-\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
-\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
-\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
-\DeclareTextSymbolDefault{\textdollar}{TS1}
-\DeclareTextSymbolDefault{\textquotesingle}{TS1}
-\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
-\DeclareTextSymbolDefault{\textfractionsolidus}{TS1}
-\DeclareTextSymbolDefault{\textminus}{TS1}
-\DeclareTextSymbolDefault{\textlbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textrbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textasciigrave}{TS1}
-\DeclareTextSymbolDefault{\texttildelow}{TS1}
-\DeclareTextSymbolDefault{\textasciibreve}{TS1}
-\DeclareTextSymbolDefault{\textasciicaron}{TS1}
-\DeclareTextSymbolDefault{\textgravedbl}{TS1}
-\DeclareTextSymbolDefault{\textacutedbl}{TS1}
-\DeclareTextSymbolDefault{\textdagger}{TS1}
-\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
-\DeclareTextSymbolDefault{\textbardbl}{TS1}
-\DeclareTextSymbolDefault{\textperthousand}{TS1}
-\DeclareTextSymbolDefault{\textbullet}{TS1}
-\DeclareTextSymbolDefault{\textcelsius}{TS1}
-\DeclareTextSymbolDefault{\textflorin}{TS1}
-\DeclareTextSymbolDefault{\texttrademark}{TS1}
-\DeclareTextSymbolDefault{\textcent}{TS1}
-\DeclareTextSymbolDefault{\textsterling}{TS1}
-\DeclareTextSymbolDefault{\textyen}{TS1}
-\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
-\DeclareTextSymbolDefault{\textsection}{TS1}
-\DeclareTextSymbolDefault{\textasciidieresis}{TS1}
-\DeclareTextSymbolDefault{\textcopyright}{TS1}
-\DeclareTextSymbolDefault{\textordfeminine}{TS1}
-\DeclareTextSymbolDefault{\textlnot}{TS1}
-\DeclareTextSymbolDefault{\textregistered}{TS1}
-\DeclareTextSymbolDefault{\textasciimacron}{TS1}
-\DeclareTextSymbolDefault{\textdegree}{TS1}
-\DeclareTextSymbolDefault{\textpm}{TS1}
-\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
-\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
-\DeclareTextSymbolDefault{\textasciiacute}{TS1}
-\DeclareTextSymbolDefault{\textmu}{TS1}
-\DeclareTextSymbolDefault{\textparagraph}{TS1}
-\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
-\DeclareTextSymbolDefault{\textonesuperior}{TS1}
-\DeclareTextSymbolDefault{\textordmasculine}{TS1}
-\DeclareTextSymbolDefault{\textonequarter}{TS1}
-\DeclareTextSymbolDefault{\textonehalf}{TS1}
-\DeclareTextSymbolDefault{\textthreequarters}{TS1}
-\DeclareTextSymbolDefault{\texttimes}{TS1}
-\DeclareTextSymbolDefault{\textdiv}{TS1}
-%    \end{macrocode}
-%
-%    The |\texteuro| is only available for subsets with id 4 or
-%    less. Otherwise we fake the glyph using |\tc at fake@euro|
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\texteuro}
-   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro5\texteuro}
-%    \end{macrocode}
-%
-%    The |\textohm| is only available for subsets with id 3 or
-%    less. Otherwise we produce an error.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\textohm}{\tc at check@symbol4\textohm}
-%    \end{macrocode}
-%    The |\textestimated| and |\textcurrency| are only provided for
-%    fonts with subset encoding with id 2 or less.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\textestimated}%
-    {\tc at check@symbol3\textestimated}
-\DeclareTextCommandDefault{\textcurrency}%
-    {\tc at check@symbol3\textcurrency}
-%    \end{macrocode}
-%    Nearly all of the remaining glyphs are provided only with fonts
-%    with id 1 or 0, i.e., are essentially complete.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\capitaltie}%
-    {\tc at check@accent2\capitaltie}
-\DeclareTextCommandDefault{\newtie}%
-    {\tc at check@accent2\newtie}
-\DeclareTextCommandDefault{\capitalnewtie}%
-    {\tc at check@accent2\capitalnewtie}
-\DeclareTextCommandDefault{\textleftarrow}%
-    {\tc at check@symbol2\textleftarrow}
-\DeclareTextCommandDefault{\textrightarrow}%
-    {\tc at check@symbol2\textrightarrow}
-\DeclareTextCommandDefault{\textblank}%
-    {\tc at check@symbol2\textblank}
-\DeclareTextCommandDefault{\textdblhyphen}%
-    {\tc at check@symbol2\textdblhyphen}
-\DeclareTextCommandDefault{\textzerooldstyle}%
-    {\tc at check@symbol2\textzerooldstyle}
-\DeclareTextCommandDefault{\textoneoldstyle}%
-    {\tc at check@symbol2\textoneoldstyle}
-\DeclareTextCommandDefault{\texttwooldstyle}%
-    {\tc at check@symbol2\texttwooldstyle}
-\DeclareTextCommandDefault{\textthreeoldstyle}%
-    {\tc at check@symbol2\textthreeoldstyle}
-\DeclareTextCommandDefault{\textfouroldstyle}%
-    {\tc at check@symbol2\textfouroldstyle}
-\DeclareTextCommandDefault{\textfiveoldstyle}%
-    {\tc at check@symbol2\textfiveoldstyle}
-\DeclareTextCommandDefault{\textsixoldstyle}%
-    {\tc at check@symbol2\textsixoldstyle}
-\DeclareTextCommandDefault{\textsevenoldstyle}%
-    {\tc at check@symbol2\textsevenoldstyle}
-\DeclareTextCommandDefault{\texteightoldstyle}%
-    {\tc at check@symbol2\texteightoldstyle}
-\DeclareTextCommandDefault{\textnineoldstyle}%
-    {\tc at check@symbol2\textnineoldstyle}
-\DeclareTextCommandDefault{\textlangle}%
-    {\tc at check@symbol2\textlangle}
-\DeclareTextCommandDefault{\textrangle}%
-    {\tc at check@symbol2\textrangle}
-\DeclareTextCommandDefault{\textmho}%
-    {\tc at check@symbol2\textmho}
-\DeclareTextCommandDefault{\textbigcircle}%
-    {\tc at check@symbol2\textbigcircle}
-\DeclareTextCommandDefault{\textuparrow}%
-    {\tc at check@symbol2\textuparrow}
-\DeclareTextCommandDefault{\textdownarrow}%
-    {\tc at check@symbol2\textdownarrow}
-\DeclareTextCommandDefault{\textborn}%
-    {\tc at check@symbol2\textborn}
-\DeclareTextCommandDefault{\textdivorced}%
-    {\tc at check@symbol2\textdivorced}
-\DeclareTextCommandDefault{\textdied}%
-    {\tc at check@symbol2\textdied}
-\DeclareTextCommandDefault{\textleaf}%
-    {\tc at check@symbol2\textleaf}
-\DeclareTextCommandDefault{\textmarried}%
-    {\tc at check@symbol2\textmarried}
-\DeclareTextCommandDefault{\textmusicalnote}%
-    {\tc at check@symbol2\textmusicalnote}
-\DeclareTextCommandDefault{\textdblhyphenchar}%
-    {\tc at check@symbol2\textdblhyphenchar}
-\DeclareTextCommandDefault{\textdollaroldstyle}%
-    {\tc at check@symbol2\textdollaroldstyle}
-\DeclareTextCommandDefault{\textcentoldstyle}%
-    {\tc at check@symbol2\textcentoldstyle}
-\DeclareTextCommandDefault{\textcolonmonetary}%
-    {\tc at check@symbol2\textcolonmonetary}
-\DeclareTextCommandDefault{\textwon}%
-    {\tc at check@symbol2\textwon}
-\DeclareTextCommandDefault{\textnaira}%
-    {\tc at check@symbol2\textnaira}
-\DeclareTextCommandDefault{\textguarani}%
-    {\tc at check@symbol2\textguarani}
-\DeclareTextCommandDefault{\textpeso}%
-    {\tc at check@symbol2\textpeso}
-\DeclareTextCommandDefault{\textlira}%
-    {\tc at check@symbol2\textlira}
-\DeclareTextCommandDefault{\textrecipe}%
-    {\tc at check@symbol2\textrecipe}
-\DeclareTextCommandDefault{\textinterrobang}%
-    {\tc at check@symbol2\textinterrobang}
-\DeclareTextCommandDefault{\textinterrobangdown}%
-    {\tc at check@symbol2\textinterrobangdown}
-\DeclareTextCommandDefault{\textdong}%
-    {\tc at check@symbol2\textdong}
-\DeclareTextCommandDefault{\textpertenthousand}%
-    {\tc at check@symbol2\textpertenthousand}
-\DeclareTextCommandDefault{\textpilcrow}%
-    {\tc at check@symbol2\textpilcrow}
-\DeclareTextCommandDefault{\textbaht}%
-    {\tc at check@symbol2\textbaht}
-\DeclareTextCommandDefault{\textnumero}%
-    {\tc at check@symbol2\textnumero}
-\DeclareTextCommandDefault{\textdiscount}%
-    {\tc at check@symbol2\textdiscount}
-\DeclareTextCommandDefault{\textopenbullet}%
-    {\tc at check@symbol2\textopenbullet}
-\DeclareTextCommandDefault{\textservicemark}%
-    {\tc at check@symbol2\textservicemark}
-\DeclareTextCommandDefault{\textlquill}%
-    {\tc at check@symbol2\textlquill}
-\DeclareTextCommandDefault{\textrquill}%
-    {\tc at check@symbol2\textrquill}
-\DeclareTextCommandDefault{\textcopyleft}%
-    {\tc at check@symbol2\textcopyleft}
-\DeclareTextCommandDefault{\textcircledP}%
-    {\tc at check@symbol2\textcircledP}
-\DeclareTextCommandDefault{\textreferencemark}%
-    {\tc at check@symbol2\textreferencemark}
-\DeclareTextCommandDefault{\textsurd}%
-    {\tc at check@symbol2\textsurd}
-%    \end{macrocode}
-%    The |\textcircled| and |\t| are handled specially, unless the
-%    current font has a subset id of 0 (i.e. full \texttt{TS1}) we
-%    pick the symbols up from the the math font encodings, i.e., the
-%    third argument to |\CheckEncodingSubset| uses |\UseTextAccent| to
-%    get them from there.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\textcircled}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OMS}}1\textcircled}
-\DeclareTextCommandDefault{\t}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OML}}1\t}
-%    \end{macrocode}
-
-
-%
-%    Finally input the encoding-specific definitions for
-%    \texttt{TS1} thus making the top-level definitions
-%    optimised for this encoding (and not for the default
-%    encoding, see section~\ref{sec:orderofdecls}).
-% \changes{v1.9o}{1998/03/20}{Load decls after defaults for speed.}
-%    \begin{macrocode}
-\input{ts1enc.def}
-%    \end{macrocode}
-%    Now having the new glyphs available we also want to make sure
-%    that they are used. For most cases this will automatically happen
-%    but for some glyphs there are inferior definitions already known
-%    to \LaTeX{} which will prevent the usage of the \texttt{TS1}
-%    versions (see section~\ref{sec:removeencspec} above). So we better
-%    get rid of them:
-% \changes{v1.9o}{1998/03/20}{Added various \cs{UndeclareTextCommand}
-%    declarations for pr/2783}
-%    \begin{macrocode}
-\UndeclareTextCommand{\textsterling}{OT1}
-\UndeclareTextCommand{\textdollar}  {OT1}
-%    \end{macrocode}
-%    Similar declarations should probably be made for other encodings
-%    like \texttt{OT4} if they are in use.
-%    \begin{macrocode}
-%\UndeclareTextCommand{\textsterling}{OT4}
-%\UndeclareTextCommand{\textdollar}  {OT4}
-%    \end{macrocode}
-%    From the \texttt{T1} encoding there are two candidates for removal:
-%    \textperthousand{} and \textpertenthousand{} since these are both
-%    constructed from \% followed by a tiny
-%    `{\fontencoding{T1}\selectfont \char 24}'
-%    rather than being a single glyph. The problem with this
-%    approach is that in PostScript fonts this small zero is usually not
-%    available resulting in \%\rule{3pt}{3pt} rather than
-%    \textperthousand{} while the real glyph (at least for
-%    |\textperthousand|) is available in the PostScript version of
-%    \texttt{TS1}.  So for the moment we compromise by removing the
-%    \texttt{T1} declaration for |\textperthousand| but keeping the one
-%    for |\textpertenthousand|. This will have the effect that with
-%    Computer Modern fonts everything will come out (although
-%    \textperthousand{} and \textpertenthousand{} are not taken from the
-%    same physical font) and with PostScript fonts \textperthousand{}
-%    will come out correctly while \textpertenthousand{} will most
-%    likely look like \%\rule{6pt}{3pt} --- which is probably an
-%    improvement over just getting a single `\rule{3pt}{3pt}' to
-%    indicate a completely missing glyph, which would happen if we
-%    also `undeclared' |\textpertenthousand|.
-%    \begin{macrocode}
-\UndeclareTextCommand{\textperthousand}{T1}
-%\UndeclareTextCommand{\textpertenthousand}{T1}
-%    \end{macrocode}
-%
-%
-%  \subsubsection{Supporting oldstyle digits}
-%
-%    \begin{macrocode}
-\DeclareRobustCommand\oldstylenums[1]{%
- \begingroup
-  \ifmmode
-   \mathgroup\symletters #1%
-  \else
-   \CheckEncodingSubset\@use at text@encoding{TS1}%
-       {\PackageWarning{textcomp}%
-          {Oldstyle digits unavailable for
-           family \f at family.\MessageBreak
-           Lining digits used instead}}%
-       \tw@{#1}%
-   \fi
- \endgroup
-}
-%    \end{macrocode}
-%
-%  \subsubsection{Subset encoding defaults}
-%
-%    For many font families commonly used in the \TeX{} world we
-%    provide the subset encoding data here. Users can add additional
-%    font families in the file \texttt{textcomp.cfg} if they own other
-%    fonts.
-%
-%    However, if the option ``forced'' was given then all subset
-%    encoding specifications are ignored, so there is no point in
-%    setting any of them up:
-%    \begin{macrocode}
-\iftc at forced \else
-%    \end{macrocode}
-%
-%    Computer modern based fonts (e.g., CM, CM-Bright, Concrete):
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{cmr}     {0}
-\DeclareEncodingSubset{TS1}{cmss}    {0}
-\DeclareEncodingSubset{TS1}{cmtt}    {0}
-\DeclareEncodingSubset{TS1}{cmvtt}   {0}
-\DeclareEncodingSubset{TS1}{cmbr}    {0}
-\DeclareEncodingSubset{TS1}{cmtl}    {0}
-\DeclareEncodingSubset{TS1}{ccr}     {0}
-%    \end{macrocode}
-%
-%    PSNFSS fonts:
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{ptm}     {4}
-\DeclareEncodingSubset{TS1}{pcr}     {4}
-\DeclareEncodingSubset{TS1}{phv}     {4}
-\DeclareEncodingSubset{TS1}{ppl}     {3}
-\DeclareEncodingSubset{TS1}{pag}     {4}
-\DeclareEncodingSubset{TS1}{pbk}     {4}
-\DeclareEncodingSubset{TS1}{pnc}     {4}
-\DeclareEncodingSubset{TS1}{pzc}     {4}
-\DeclareEncodingSubset{TS1}{bch}     {4}
-\DeclareEncodingSubset{TS1}{put}     {5}
-%    \end{macrocode}
-%
-%    Other CTAN fonts (probably not complete):
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{uag}     {5}
-\DeclareEncodingSubset{TS1}{ugq}     {5}
-\DeclareEncodingSubset{TS1}{ul8}     {4}
-\DeclareEncodingSubset{TS1}{ul9}     {4}  % (LuxiSans, one day)
-\DeclareEncodingSubset{TS1}{augie}   {5}
-\DeclareEncodingSubset{TS1}{dayrom}  {3}
-\DeclareEncodingSubset{TS1}{dayroms} {3}
-\DeclareEncodingSubset{TS1}{pxr}     {0}
-\DeclareEncodingSubset{TS1}{pxss}    {0}
-\DeclareEncodingSubset{TS1}{pxtt}    {0}
-\DeclareEncodingSubset{TS1}{txr}     {0}
-\DeclareEncodingSubset{TS1}{txss}    {0}
-\DeclareEncodingSubset{TS1}{txtt}    {0}
-%    \end{macrocode}
-%
-%    Latin Modern and TeX Gyre:
-% \changes{v1.99k}{2009/10/28}{Added Latin Modern and TeX Gyre subsets}
-% \changes{v1.99l}{2009/11/04}{Added more Latin Modern and TeX Gyre subsets}
-% \changes{v1.99m}{2015/02/16}{Added lmtt (Heiko Oberdiek) latex/4415}
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{lmr}     {0}
-\DeclareEncodingSubset{TS1}{lmdh}    {0}
-\DeclareEncodingSubset{TS1}{lmss}    {0}
-\DeclareEncodingSubset{TS1}{lmssq}   {0}
-\DeclareEncodingSubset{TS1}{lmvtt}   {0}
-\DeclareEncodingSubset{TS1}{lmtt}    {0}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{qhv}     {0}
-\DeclareEncodingSubset{TS1}{qag}     {0}
-\DeclareEncodingSubset{TS1}{qbk}     {0}
-\DeclareEncodingSubset{TS1}{qcr}     {0}
-\DeclareEncodingSubset{TS1}{qcs}     {0}
-\DeclareEncodingSubset{TS1}{qpl}     {0}
-\DeclareEncodingSubset{TS1}{qtm}     {0}
-\DeclareEncodingSubset{TS1}{qzc}     {0}
-\DeclareEncodingSubset{TS1}{qhvc}    {0}
-%    \end{macrocode}
-%
-%    Fourier-GUTenberg:
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{futs}    {4}
-\DeclareEncodingSubset{TS1}{futx}    {4}
-\DeclareEncodingSubset{TS1}{futj}    {4}
-%    \end{macrocode}
-%
-%  Y\&Y's Lucida Bright
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{hlh}     {3}
-\DeclareEncodingSubset{TS1}{hls}     {3}
-\DeclareEncodingSubset{TS1}{hlst}    {3}
-%    \end{macrocode}
-%    The remaining settings for Lucida are conservative: the following
-%    fonts contain the |\textohm| character but not the |\texteuro|,
-%    i.e., belong to neither subset~4 nor subset~3. If you want to
-%    use the |\textohm| with these fonts copy these definition to
-%    \texttt{textcomp.cfg} and change the subset to~3. However in that
-%    case make sure that you do not use the |\texteuro|.
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{hlct}    {5}
-\DeclareEncodingSubset{TS1}{hlx}     {5}
-\DeclareEncodingSubset{TS1}{hlce}    {5}
-\DeclareEncodingSubset{TS1}{hlcn}    {5}
-\DeclareEncodingSubset{TS1}{hlcw}    {5}
-\DeclareEncodingSubset{TS1}{hlcf}    {5}
-%    \end{macrocode}
-%
-%    Other commercial families\ldots
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{pplx}    {3}
-\DeclareEncodingSubset{TS1}{pplj}    {3}
-\DeclareEncodingSubset{TS1}{ptmx}    {4}
-\DeclareEncodingSubset{TS1}{ptmj}    {4}
-%    \end{macrocode}
-%
-%    If the file \texttt{textcomp.cfg} exists it will be loaded at
-%    this point. This allows to define further subset encodings for
-%    font families not covered by default.
-%
-%    \begin{macrocode}
-\InputIfFileExists{textcomp.cfg}
-  {\PackageInfo{textcomp}{Local configuration file used}}{}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\fi
-%</TS1sty>
-%    \end{macrocode}
-%
 % \Finale
 %
 \endinput

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltoutenc.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 
@@ -96,8 +96,9 @@
      \from{ltoutenc.dtx}{TS1}}
   \file{tuenc.def}{
      \from{ltoutenc.dtx}{TU}}
-  \file{textcomp.sty}{
-     \from{ltoutenc.dtx}{TS1sty}}
+% no longer in this file since 2020/02 release     
+%  \file{textcomp.sty}{
+%     \from{ltoutenc.dtx}{TS1sty}}
   \file{fontenc.sty}{
      \from{ltoutenc.dtx}{package}}
 }

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltoutput.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltoutput.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltoutput.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltpage.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltpage.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltpage.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltpageno.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltpageno.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltpageno.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltpar.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltpar.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltpar.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltpictur.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltpictur.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltpictur.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltplain.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltplain.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltplain.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltsect.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltsect.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltsect.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltspace.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -397,7 +397,7 @@
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease>\IncludeInRelease{2020/02/02}%
 %<latexrelease>                 {\@normalcr}{Make robust}%
 \protected\def\@normalcr{%
   \let \reserved at e \relax

Modified: trunk/Master/texmf-dist/source/latex-dev/base/lttab.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/lttab.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/lttab.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Added: trunk/Master/texmf-dist/source/latex-dev/base/lttextcomp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/lttextcomp.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex-dev/base/lttextcomp.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -0,0 +1,2215 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2019
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% \iffalse
+%
+%<*driver>
+% \fi
+%
+%
+\ProvidesFile{lttextcomp.dtx}
+             [2019/12/24 v1.0a LaTeX Kernel (text companion symbols)]
+% \iffalse
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{lttextcomp.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+%
+% \GetFileInfo{lttextcomp.dtx}
+% \title{Providing addtional text symbols\\
+%        (previously available through the \texttt{textcomp} package)\thanks
+%       {This file has version number
+%       \fileversion\ dated \filedate}}
+%
+% \author{Frank Mittelbach}
+%
+% \MaintainedByLaTeXTeam{latex}
+% \maketitle
+%
+% This file contains the implementation for accessing the glyphs
+% provided by the \texttt{TS1} encoding (Text Companion
+% Encoding). This is now offered as part of the kernel and so the
+% \texttt{textcomp} package which used to provide the definitions is
+% now mainly needed for compatibility reasons (and doesn't do much any
+% more).
+%
+%
+%
+% \StopEventually{}
+%
+%
+%  \begin{macro}{\oldstylenums}
+%  \begin{macro}{\legacyoldstylenums}
+%
+%
+%    Preserve the old definition of \cs{oldstylenums} under a different name.
+% 
+%    This macro implements old style numerals but only works if we
+%    assume that the standard math fonts are used. Thus it needs
+%    changing in case other math encodings are used.
+%    \begin{macrocode}
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\oldstylenums}{Old style numerals}%
+\DeclareRobustCommand\legacyoldstylenums[1]{%
+   \begingroup
+%    \end{macrocode}
+%    Provide spacing using the interword space of the current font.
+%    \begin{macrocode}
+    \spaceskip\fontdimen\tw@\font
+%    \end{macrocode}
+%    Then switch to the math italic font. We don't change the current
+%    value of |\f at series| which means that you can use bold numerals
+%    if |\bfseries| is in force. As family we use |\rmdefault| which
+%    means that this only works if there exist an |OML| encoded
+%    version of that font or rather a corresponding |.fd| file (which
+%    is the case for standard \LaTeX{} fonts even though they only
+%    contain substitutions).
+% \changes{v3.0j}{1999/02/12}{Use \cs{rmdefault} instead of \texttt{cmm}
+%                 (pr/2954)}
+%    \begin{macrocode}
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+%    \end{macrocode}
+%    
+%    And here is the improved one that adjusts depending on surroundings.
+%    \begin{macrocode}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+ \ifmmode
+   \mathgroup\symletters #1%
+  \else
+%    \end{macrocode}
+%    The \cs{CheckEncodingSubset} is discused below.
+%    \begin{macrocode}
+   \CheckEncodingSubset\@use at text@encoding{TS1}\tc at oldstylesubst2{{#1}}%
+ \fi
+ \endgroup
+}
+%    \end{macrocode}
+%    The helper to select the substitution if needed.
+%    \begin{macrocode}
+\def\tc at oldstylesubst#1{%
+   \tc at errorwarn
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Default oldstyle digits used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+%    \end{macrocode}
+%    The substitution defaults are provided in the file \texttt{fonttext.ltx}.
+%    \begin{macrocode}
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \fontencoding{TS1}\selectfont#1%
+  \egroup
+}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%
+% \begin{macro}{\textcompsubstdefault}
+%    Here is the default for the ``unknown'' case:
+%    \begin{macrocode}
+\def\textcompsubstdefault{\rmsubstdefault}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\oldstylenums}{Old style numerals}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\oldstylenums[1]{%
+%<latexrelease>   \begingroup
+%<latexrelease>    \spaceskip\fontdimen\tw@\font
+%<latexrelease>    \usefont{OML}{\rmdefault}{\f at series}{it}%
+%<latexrelease>    \mathgroup\symletters #1%
+%<latexrelease>   \endgroup
+%<latexrelease>}
+%<latexrelease>\let\legacyoldstylenums\@undefined
+%<latexrelease>\def\textcompsubstdefault{cmr}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%    \end{macrocode}
+%    
+%    
+
+
+
+
+
+%    Everything else in the this file got introduced 2020/02/02, so we do a
+%    single rollback (for now).
+%    \begin{macrocode}
+%<*2ekernel>
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>   {\DeclareEncodingSubset}{Text companion symbols}%
+%    \end{macrocode}
+%
+%
+%
+%  \begin{macro}{\DeclareEncodingSubset}
+%
+%     The declaration takes 3 mandatory arguments: an \emph{encoding}
+%    for which a subsetting is wanted (currently always \texttt{TS1},
+%    and most likely forever), the \emph{font family} for which we
+%    declare the subset and finally the \emph{subset} number (between \texttt{0} (all
+%    of the encoding is supported) and \texttt{9} many glyphs are missing.
+%
+%    For \texttt{TS1} the numbers have been choosen in a way that most
+%    fonts can be fairly correctly categorized, but the default
+%    settings are always conservative, that is they may claim that
+%    less glyphs are supported than there actually are.
+%
+%    As these days many font families are set up to end in \texttt{-LF}
+%    (lining figures), \texttt{-OsF} (oldstyle figures), etc.\ the
+%    declaration supports a shortcut: if the \emph{font family} name
+%    ends in \texttt{-*} then the star gets replaced by these common
+%    ending, e.g.,
+%\begin{verbatim}
+% \DeclareEncodingSubeset{TS1}{Alegreya-*}{2}
+%\end{verbatim}
+%    is the same as writing
+%\begin{verbatim}
+% \DeclareEncodingSubeset{TS1}{Alegreya-LF}{2}
+% \DeclareEncodingSubeset{TS1}{Alegreya-OsF}{2}
+% \DeclareEncodingSubeset{TS1}{Alegreya-TLF}{2}
+% \DeclareEncodingSubeset{TS1}{Alegreya-TOsF}{2}
+%\end{verbatim}
+%    If only some are needed then one can define them individually but
+%    in many cases all four are wanted, hence the shortcut.
+%
+%
+%    The coding of the declaration has no error checking as it is
+%    mostly for internal use.
+%    \begin{macrocode}
+\def\DeclareEncodingSubset#1#2{%
+  \DeclareEncodingSubset at aux{#1}#2*\DeclareEncodingSubset at aux
+}  
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\def\DeclareEncodingSubset at aux#1#2*#3\DeclareEncodingSubset at aux#4{%
+%    \end{macrocode}
+%    if \verb=#3= is empty then there was no star, otherwise we we
+%    define all four variants.
+%    \begin{macrocode}
+  \expandafter\ifx\expandafter X\detokenize{#3}X%
+    \@DeclareEncodingSubset{#1}{#2}{#4}%
+  \else
+    \@DeclareEncodingSubset{#1}{#2LF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TLF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2OsF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TOsF}{#4}%
+  \fi
+}
+%    \end{macrocode}
+%
+%    The subset info is stored in a command with the name
+%    \texttt{\bslash}\emph{family}\texttt{:}\emph{subset} so if that
+%    already exists we change otherwise declare a subset.
+%    \begin{macrocode}
+\def\@DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\@font at info{Setting #2 sub-encoding to #1/#3}}%
+     {\@font at info{Changing #2 sub-encoding to #1/#3}}%
+     \@namedef{#1:#2}{#3}}
+%    \end{macrocode}
+%    
+%    Any reason to allow those in the middle of documents?
+%    \begin{macrocode}
+\@onlypreamble\DeclareEncodingSubset
+\@onlypreamble\DeclareEncodingSubset at aux
+\@onlypreamble\@DeclareEncodingSubset
+%    \end{macrocode}
+%  \end{macro}
+
+
+% \begin{macro}{\CheckEncodingSubset}
+%    The command |\CheckEncodingSubset| will check if the current font
+%    family has the right encoding subset to typeset a certain
+%    command. It takes five arguments as follows:
+%    first argument is either |\UseTextSymbol|, |\UseTextAccent|
+%    depending on whether or not the symbol is a text symbol or a text
+%    accent.
+
+%    The second argument is the encoding from which this symbol should
+%    be fetched.
+%
+%    The third argument is either a fake accessor command or an error
+%    message. the code in that argument (if ever executed) receives
+%    two arguments: |#2| and |#5| of |\CheckEncodingSubset|.
+%
+%    Argument four is the subset encoding id to test against: if this
+%    value is higher than the subset id of the current font family
+%    then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise
+%    it runs |#3#5|, e.g., to produce an error message or fake the
+%    glyph somehow.
+%
+%    Argument five is the symbol or accent command that is being
+%    checked.
+%
+%    For usage examples see definitions below.
+%
+%    \begin{macrocode}
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
+
+
+
+% To set up the glyphs for the subsets we need a number helpers.
+%
+%  \begin{macro}{\tc at errorwarn}
+%    To we produce errors, warnings, or only info in the transcripts
+%    if glyphs require substitutions? By default it is ``info''
+%    only. With the \texttt{textcomp} package that can be changed.
+%    \begin{macrocode}
+\def\tc at errorwarn#1#2{\@latex at info{#1}}
+%    \end{macrocode}
+%  \end{macro}
+
+
+%  \begin{macro}{\tc at subst}
+%    
+%    \begin{macrocode}
+\def\tc at subst#1{%
+   \tc at errorwarn
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\substdefault
+      \fi\fi\fi
+%    \end{macrocode}
+%    Whatever default was chosen, we claim now (locally hopefully)
+%    that it  can handle all slots (even if not true) to avoid looping
+%    in certain situations, e.g., when something was set up incorrectly.
+%    \begin{macrocode}
+      \@namedef{TS1:\f at family}{0}%
+      \selectfont#1%
+  \egroup
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+
+% \begin{macro}{\tc at fake@euro}
+%    |\tc at fake@euro|  is an example of a ``fake'' definition to use in  arg |#3| of
+%    |\CheckEncodingSubset| when a symbol is not available in a
+%    certain font family. Here we produce a poor man's Euro symbol by combining
+%    a ``C'' with a ``=''.
+%    \begin{macrocode}
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \@font at info{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
+
+
+% \begin{macro}{\tc at check@symbol}
+% \begin{macro}{\tc at check@accent}
+%    These are two abbreviations that we use below to check symbols
+%    and accents in TS1. Only there to save some space, e.g., we can
+%    then write
+%\begin{verbatim}
+%\DeclareTextCommandDefault{\textcurrency}{\tc at check@symbol3\textcurrency}
+%\end{verbatim}
+%    to ensure that |\textcurrency| is only typeset if the current
+%    font has a \texttt{TS1} subset id of less than 3. Otherwise
+%    |\tc at error| is called telling the user that for this font family
+%    |\textcurreny| is not available.
+%    \begin{macrocode}
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+%    \end{macrocode}
+%
+%    Accents and been mad an error in the \texttt{textcomp} package when
+%    not available. Now that we provide the functionality in the
+%    kernel we avoid the eror by swapping in a \texttt{T1} accent if
+%    the \texttt{TS1} accent is not available.
+%    \begin{macrocode}
+%\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\def\tc at check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc at swap@accent#1}}
+\def\tc at swap@accent#1#2{\UseTextAccent{T1}#1}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+
+% \section{Sub-encodings}
+%
+%    Here are the default definitions for the \texttt{TS1} symbols.
+%    First those that we assume are always available if a font
+%    implements \texttt{TS1}.
+%    
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar}  {OT1}         % don't use the OT1 def any longer
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\UndeclareTextCommand{\textsterling}{OT1}         % don't use the OT1 def any longer
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
+                                                  % should actually not be declaed
+                                                  % in the t1enc.def file instead
+                                                  % otherwise fontenc would overwrite
+                                                  % it again (legacy tests!)
+%    \end{macrocode}
+%    
+%    These are the standard \texttt{itemize} and footnote symbols
+%    originally taken from \texttt{OMS} and now from \texttt{TS1}:
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1} 
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+%    \end{macrocode}
+%
+%    And here are the other \texttt{TS1} glyphs that are implemented
+%    by every font (or nearly everyone---a few are commented out and
+%    moved to sub-encoding 9,
+%    because they aren't around in one or two fonts. 
+%    \begin{macrocode}
+%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textcent}{TS1} 
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above
+%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textyen}{TS1}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+%    \end{macrocode}
+%
+%
+%    In the following sections the remaining default definitions are ordered by
+%    sub-encoding in which they are become unavailable (i.e., they are
+%    not provided in the sub-encoding with that number and all
+%    sub-encodings with higher numbers.
+%
+%    Thus the symbols that are available in sub-encoding $x$ are the
+%    symbols above (always available) and the symbols list in the
+%    sections for sub-encodings $x+1$ and higher.
+%
+% \subsection{Sub-encoding \texttt{1} (drop symbols not working in
+%    Latin Modern)}
+%
+%    The \cs{textcircled} is available but the glyph is simply too
+%    small so we keep using the \texttt{OMS} glyph.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+%    \end{macrocode}
+%
+%
+%    
+%
+%
+% \subsection{Sub-encoding \texttt{2} (majority of new OTF fonts via autoinst)}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t}
+%    \end{macrocode}
+%
+%    Capital  accents are really only very seldom implemented, so from
+%    sub-encoding \texttt{2} onwards we use the normal \texttt{T1}
+%    accents if they are asked for in the document.
+%
+%    In Unicode engines we don't implement them at all but always use
+%    the basic accents instead. whether that works or not really
+%    depends on the font, something like \verb=\"X= usually comes out
+%    wrong in Unicode engines.
+%  
+%    \begin{macrocode}
+\ifx\Umathcode\@undefined
+  \DeclareTextCommandDefault{\capitalacute}       {\tc at check@accent{\'}2\capitalacute}
+  \DeclareTextCommandDefault{\capitalbreve}       {\tc at check@accent{\u}2\capitalbreve}
+  \DeclareTextCommandDefault{\capitalcaron}       {\tc at check@accent{\v}2\capitalcaron}
+  \DeclareTextCommandDefault{\capitalcedilla}     {\tc at check@accent{\c}2\capitalcedilla}
+  \DeclareTextCommandDefault{\capitalcircumflex}  {\tc at check@accent{\^}2\capitalcircumflex}
+  \DeclareTextCommandDefault{\capitaldieresis}    {\tc at check@accent{\"}2\capitaldieresis}
+  \DeclareTextCommandDefault{\capitaldotaccent}   {\tc at check@accent{\.}2\capitaldotaccent}
+  \DeclareTextCommandDefault{\capitalgrave}       {\tc at check@accent{\`}2\capitalgrave}
+  \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc at check@accent{\H}2\capitalhungarumlaut}
+  \DeclareTextCommandDefault{\capitalmacron}      {\tc at check@accent{\=}2\capitalmacron}
+  \DeclareTextCommandDefault{\capitalogonek}      {\tc at check@accent{\k}2\capitalogonek}
+  \DeclareTextCommandDefault{\capitalring}        {\tc at check@accent{\r}2\capitalring}
+  \DeclareTextCommandDefault{\capitaltie}         {\tc at check@accent{\t}2\capitaltie}
+  \DeclareTextCommandDefault{\capitaltilde}       {\tc at check@accent{\~}2\capitaltilde}
+%    \end{macrocode}
+%    For \cs{newtie} and \cs{capitalnewtie} this is actually wrong, they should pick up
+%    the accent from the substitution font (not done yet).
+%    \begin{macrocode}
+  \DeclareTextCommandDefault{\newtie}             {\tc at check@accent{\t}2\newtie}
+  \DeclareTextCommandDefault{\capitalnewtie}      {\tc at check@accent{\t}2\capitalnewtie}
+%    \end{macrocode}
+%    
+%    In Unicode engines we just execute the simple accents:
+%    \begin{macrocode}
+\else
+  \def\capitalacute{\'}
+  \def\capitalbreve{\u}
+  \def\capitalcaron{\v}
+  \def\capitalcedilla{\c}
+  \def\capitalcircumflex{\^}
+  \def\capitaldieresis{\"}
+  \def\capitaldotaccent{\.}
+  \def\capitalgrave{\`}
+  \def\capitalhungarumlaut{\H}
+  \def\capitalmacron{\=}
+  \def\capitalnewtie{\t}
+  \def\capitalogonek{\k}
+  \def\capitalring{\r}
+  \def\capitaltie{\t}
+  \def\capitaltilde{\~}
+  \def\newtie{\t}
+\fi
+%    \end{macrocode}
+%    
+%
+%
+%
+%    The next two symbols exist in some fonts (faked?), but we ignore
+%    that to keep the subsets reasonable compact and most important linear.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textlbrackdbl}      {\tc at check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl}      {\tc at check@symbol2\textrbrackdbl}
+%    \end{macrocode}
+%
+%
+%    Old style numerals are again in some fonts but using
+%    \texttt{-OsF}, etc.\ is the better approach to get them, so we
+%    claim they aren't in sub-encoding 2 as that's true for most
+%    fonts.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\texteightoldstyle}  {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}   {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}   {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}   {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}  {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}  {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle}   {\tc at check@symbol2\textzerooldstyle}
+%    \end{macrocode}
+%
+%
+%
+%    The next set of glyphs is special to TeX fonts (and available
+%    with a few older PS fonts supported in the virtual fonts), but
+%    not any longer in the majority of fonts provided through
+%    autoinst, so we pretend there aren't available in sub-encoding 2
+%    and below.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textacutedbl}       {\tc at check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciiacute}     {\tc at check@symbol2\textasciiacute}
+\DeclareTextCommandDefault{\textasciibreve}     {\tc at check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron}     {\tc at check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textasciidieresis}  {\tc at check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciigrave}     {\tc at check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\textasciimacron}    {\tc at check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textgravedbl}       {\tc at check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\texttildelow}       {\tc at check@symbol2\texttildelow}
+%    \end{macrocode}
+%
+%
+%    Finally those below are only available in CM-based fonts but in
+%    no font that has its origin outside of the \TeX{} world.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textbaht}           {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle}      {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn}           {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle}   {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP}       {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft}       {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar}  {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen}      {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied}           {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount}       {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced}       {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani}        {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf}           {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill}         {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried}        {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho}            {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote}    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira}          {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet}     {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso}           {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow}        {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe}         {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark}  {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill}         {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark}    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd}           {\tc at check@symbol2\textsurd}
+%    \end{macrocode}
+%
+%    The \cs{textpertenthousand} also belongs in this group but here
+%    we have a choice: in T1 there is definition for
+%    \cs{textpertenthousand} making the symbol up from \% and
+%    \verb=\char 24= (twice) but in many fonts that char doesn't exist
+%    and the slot is reused for random ligatures. So better not use it
+%    because often it is wrong.  But pointing to TS1 is also not great
+%    as only a few fonts have it as a real symbol, so we get a
+%    substitution to CM or LM.
+%
+%    Alternatively we could just state that the symbol is unavailable in
+%    those fonts. For now I substitute.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textpertenthousand} {\tc at check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+%    \end{macrocode}
+%
+%
+%
+% \subsection{Sub-encoding \texttt{3}}
+%
+%    Sub-encoding \texttt{2} is the one where we loose many
+%    symbols. In the higher-numbered sub-encodings we see only a few
+%    dropped additionally.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textlangle}         {\tc at check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle}         {\tc at check@symbol3\textrangle}
+%    \end{macrocode}
+%
+%
+%
+%
+%
+% \subsection{Sub-encoding \texttt{4}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcolonmonetary}  {\tc at check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong}           {\tc at check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow}      {\tc at check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow}      {\tc at check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira}           {\tc at check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow}     {\tc at check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow}        {\tc at check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon}            {\tc at check@symbol4\textwon}
+%    \end{macrocode}
+%    
+%
+%    
+%
+%
+% \subsection{Sub-encoding \texttt{5} (most older PS fonts)}
+%
+%    Most older PS fonts (supported in \TeX{} since the early nineties
+%    when virtual fonts became available) are sorted under this
+%    sub-encoding. But in reality, many of them don't have all glpyhs
+%    that should be available in sub-encoding \texttt{5}. Instead they
+%    show little squares, i.e., they produce ``tofu'' if you are
+%    unlucky.
+%
+%    But the coverage is so random that it is impossible to sort them
+%    properly and if we tried to ensure that they only typeset those
+%    glyphs that are really  always available wouput put them all into
+%    sub-encoding \texttt{9} so that's a compromise really.
+%
+%    Modern fonts that don't typeset a tofu character if a glyph is
+%    missing are only cataloged as sub-encoding \texttt{5} if they
+%    really support of its glyph set.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textestimated}      {\tc at check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textnumero}         {\tc at check@symbol5\textnumero}
+%    \end{macrocode}
+%    
+%
+%
+%
+% \subsection{Sub-encoding \texttt{6}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textflorin}         {\tc at check@symbol6\textflorin}    
+\DeclareTextCommandDefault{\textcurrency}       {\tc at check@symbol6\textcurrency}
+%    \end{macrocode}
+%    
+%
+%
+% \subsection{Sub-encoding \texttt{7}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc at check@symbol7\textfractionsolidus}
+\DeclareTextCommandDefault{\textohm}            {\tc at check@symbol7\textohm}
+\DeclareTextCommandDefault{\textmu}             {\tc at check@symbol7\textmu}
+\DeclareTextCommandDefault{\textminus}          {\tc at check@symbol7\textminus}
+%    \end{macrocode}
+%    
+%
+%
+% \subsection{Sub-encoding \texttt{8}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textblank}          {\tc at check@symbol{8}\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc at check@symbol{8}\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang}    {\tc at check@symbol{8}\textinterrobang}
+%    \end{macrocode}
+%
+%    Fonts with this sub-encoding don't have a Euro symbol, but
+%    instead of substituting we fake it.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\texteuro}
+            {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro{8}\texteuro}
+%    \end{macrocode}
+%
+%
+%
+%
+% \subsection{Sub-encoding \texttt{9} (most missing)}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcelsius}{\tc at check@symbol{9}\textcelsius}
+\DeclareTextCommandDefault{\textonesuperior}{\tc at check@symbol{9}\textonesuperior}
+\DeclareTextCommandDefault{\textthreequartersemdash}{\tc at check@symbol{9}\textthreequartersemdash}
+\DeclareTextCommandDefault{\textthreesuperior}{\tc at check@symbol{9}\textthreesuperior}
+\DeclareTextCommandDefault{\texttwelveudash}{\tc at check@symbol{9}\texttwelveudash}
+\DeclareTextCommandDefault{\texttwosuperior}{\tc at check@symbol{9}\texttwosuperior}
+\DeclareTextCommandDefault{\textbardbl}{\tc at check@symbol{9}\textbardbl}
+%    \end{macrocode}
+%    
+%
+%    
+%
+% \section{Unicode engine specials}
+%
+%    If we are using a unicode engine we handle some glyphs differently,
+%    so this here are the definitions for the Unicode encoding
+%    (overwriting the defaults above).
+
+%    \begin{macrocode}
+\ifx \Umathcode\@undefined  \else
+%    \end{macrocode}
+%
+%    This set should be taken from \texttt{TS1} encoding even if it
+%    means you get it from the default font for that encoding.
+%    \begin{macrocode}
+%\DeclareTextSymbol{\textcopyleft}{TS1}{171}
+%\DeclareTextSymbol{\textdblhyphen}{TS1}{45}
+%\DeclareTextSymbol{\textdblhyphenchar}{TS1}{127}
+%\DeclareTextSymbol{\textquotestraightbase}{TS1}{13}
+%\DeclareTextSymbol{\textquotestraightdblbase}{TS1}{18}
+%\DeclareTextSymbol{\textleaf}{TS1}{108}
+%\DeclareTextSymbol{\texttwelveudash}{TS1}{21}
+%\DeclareTextSymbol{\textthreequartersemdash}{TS1}{22}
+%    \end{macrocode}
+%
+%    If oldstyle numerals are asked for we just use \cs{oldstylenums}.
+%    \begin{macrocode}
+\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}}
+\DeclareTextCommand{\textoneoldstyle}  \UnicodeEncodingName{\oldstylenums{1}}
+\DeclareTextCommand{\texttwooldstyle}  \UnicodeEncodingName{\oldstylenums{2}}
+\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}}
+\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}}
+\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}}
+\DeclareTextCommand{\textsixoldstyle}  \UnicodeEncodingName{\oldstylenums{6}}
+\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}}
+\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}}
+\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}}
+%    \end{macrocode}
+%    These have Unicode slots so this should be integrated into TU explictly
+%    \begin{macrocode}
+\DeclareTextSymbol{\textpilcrow}       \UnicodeEncodingName{"00B6}
+\DeclareTextSymbol{\textborn}          \UnicodeEncodingName{"002A}
+\DeclareTextSymbol{\textdied}          \UnicodeEncodingName{"2020}
+\DeclareTextSymbol{\textlbrackdbl}     \UnicodeEncodingName{"27E6}
+\DeclareTextSymbol{\textrbrackdbl}     \UnicodeEncodingName{"27E7}
+\DeclareTextSymbol{\textguarani}       \UnicodeEncodingName{"20B2}
+%    \end{macrocode}
+%    We could make \cs{textcentoldstyle} and \cs{textdollaroldstyle}
+%    point to dollar and cent in the Unicode encoding
+%    \begin{macrocode}
+%\DeclareTextSymbol{\textcentoldstyle}            \UnicodeEncodingName{"00A2}
+%\DeclareTextSymbol{\textdollaroldstyle}          \UnicodeEncodingName{"0024}
+%    \end{macrocode}
+%    but I think it is better to pick them up from TS1 even if that
+%    usually means LMR fonts
+%    \begin{macrocode}
+\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
+\DeclareTextSymbol{\textcentoldstyle}  {TS1}{139}
+%    \end{macrocode}
+%    
+%    
+%    \begin{macrocode}
+\fi               % --- END of Unicode engines specials
+%    \end{macrocode}
+%
+% \section{Font family sub-encodings setup}
+%
+%    We declare the subsets for a good number of fonts in the kernel
+%    \ldots
+%
+%    But first the default for anything that is not declared.  We use
+%    \texttt{9} which is most like much too conservative but with the
+%    advantage that we aren't getting missing glyphs (or at least that
+%    this very very unlikely).
+%    For nearly all font in the \TeX{} Live distribution of 2019
+%    ``correct'' classifications are given below, so that this default
+%    is only used for new font families, and over time the right
+%    classifications can be added here too.
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{?}{9}
+%    \end{macrocode}
+%
+%    This first block contains the fonts that have been already
+%    supported by the \texttt{textcomp} package way back, i.e., the
+%    font families that have \TeX{} support since the mid-nineties.
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{lmr}     {1}
+\DeclareEncodingSubset{TS1}{lmdh}    {1}
+\DeclareEncodingSubset{TS1}{lmss}    {1}
+\DeclareEncodingSubset{TS1}{lmssq}   {1}
+\DeclareEncodingSubset{TS1}{lmvtt}   {1}
+\DeclareEncodingSubset{TS1}{lmtt}    {1} % missing TM, SM, pertenthousand for some reason
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{ptmx}    {2}
+\DeclareEncodingSubset{TS1}{ptmj}    {2}
+\DeclareEncodingSubset{TS1}{ul8}     {2}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{bch}     {5}  % tofu for blank, ohm 
+\DeclareEncodingSubset{TS1}{futj}    {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{futs}    {5}  % tofu for blank, ohm 
+\DeclareEncodingSubset{TS1}{futx}    {5}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{pag}     {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{pbk}     {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{pcr}     {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{phv}     {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{pnc}     {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{pplj}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{pplx}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{ppl}     {5}  % tofu for blank interrobang/down
+\DeclareEncodingSubset{TS1}{ptm}     {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{pzc}     {5}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{ul9}     {5}  % tofu for blank, interrobang/down, ohm 
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{dayroms} {6}  % tofu for blank, interrobang/down, ohm 
+\DeclareEncodingSubset{TS1}{dayrom}  {6}  % tofu for blank, interrobang/down, ohm 
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{augie}   {8}  % really only missing euro
+\DeclareEncodingSubset{TS1}{put}     {8}
+\DeclareEncodingSubset{TS1}{uag}     {8}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{ugq}     {8}  
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{zi4}     {9}
+%    \end{macrocode}
+%    LucidaBright (sold through TUG) probably not quite correct, I
+%    guess as I have the older fonts \ldots
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{hls}     {5}
+\DeclareEncodingSubset{TS1}{hlst}    {5}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlh}     {5}
+\DeclareEncodingSubset{TS1}{hlx}     {8}
+\DeclareEncodingSubset{TS1}{hlce}    {8}
+\DeclareEncodingSubset{TS1}{hlcn}    {8}
+\DeclareEncodingSubset{TS1}{hlcw}    {8}
+\DeclareEncodingSubset{TS1}{hlcf}    {8}
+%    \end{macrocode}
+%
+%    Below are the newer fonts that have support files for
+%    \LaTeX{}. With very few exceptions the classifications are done
+%    so that that all characters are correctly produced (either being
+%    available in the font or substituted.
+%
+%    There are a few fonts that contain ``tofu'' squares in places
+%    (instead of a real glyph) and in a few cases some really seldom
+%    needed chars are unavailable, i.e., produce missing glyphs (to
+%    avoid that a large number of available chars are unnecessarily
+%    substituted.
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{lato-*}                   {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{opensans-*}               {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{cantarell-*}              {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*}                    {0}  % missing centoldstyle
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{tli}                      {1}  % with lots of tofu inside
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Alegreya-*}               {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-*}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF}  {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF}       {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-*}             {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF}              {2}
+\DeclareEncodingSubset{TS1}{Tempora-TOsF}             {2}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Arimo-TLF}                {3}
+\DeclareEncodingSubset{TS1}{Carlito-*}                {3}
+\DeclareEncodingSubset{TS1}{FiraSans-*}               {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF}          {3}
+\DeclareEncodingSubset{TS1}{Merriweather-OsF}         {3} 
+\DeclareEncodingSubset{TS1}{Montserrat-*}             {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*}   {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF}        {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF}       {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-*}          {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-*}         {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF}                {3}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF}                {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Chivo-*}                  {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF}            {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF}            {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-*}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TOsF}            {4}
+\DeclareEncodingSubset{TS1}{Go-TLF}                   {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{InriaSans-*}              {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-*}             {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-*}         {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-*}        {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF}          {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF}       {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*}         {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-*}        {4}
+\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF}     {4} 
+\DeclareEncodingSubset{TS1}{MintSpirit-*}             {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*}        {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF}        {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF}         {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF}              {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF}       {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Raleway-TOsF}             {4}
+\DeclareEncodingSubset{TS1}{Roboto-*}                 {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF}           {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF}           {4}
+\DeclareEncodingSubset{TS1}{Rosario-*}                {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-*}          {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF}     {4}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Almendra-OsF}             {5} 
+\DeclareEncodingSubset{TS1}{Baskervaldx-*}            {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*}           {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF}               {5}
+\DeclareEncodingSubset{TS1}{Cinzel-LF}                {5}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF}      {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF}          {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF}            {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF}        {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF}       {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF}   {5}
+\DeclareEncodingSubset{TS1}{LobsterTwo-LF}            {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF}          {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF}      {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF}     {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF}          {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TOsF}        {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF}       {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF}      {5}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Crimson-TLF}              {6}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF}          {6}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF}         {6}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF}       {6}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF}   {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF}  {6}
+\DeclareEncodingSubset{TS1}{Overlock-LF}              {6}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-*}      {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF}           {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TOsF}          {7}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF}        {7}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF}     {7}
+\DeclareEncodingSubset{TS1}{LibreCaslon-*}            {7}
+\DeclareEncodingSubset{TS1}{Marcellus-LF}             {7}
+\DeclareEncodingSubset{TS1}{NotoSans-*}               {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF}         {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF}        {7}
+\DeclareEncodingSubset{TS1}{NotoSerif-*}              {7}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF}         {7}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF}     {7}
+\DeclareEncodingSubset{TS1}{XCharter-TLF}             {7}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF}            {7}
+\DeclareEncodingSubset{TS1}{erewhon-*}                {7} 
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF}            {7} 
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF}     {7} 
+\DeclareEncodingSubset{TS1}{Forum-LF}                 {7}  % the superiors are missing 
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Cochineal-*}              {8}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF}         {9}
+%    \end{macrocode}
+%
+%
+%
+%
+% \section{Legacy symbol support for lists and footnote symbols}
+%
+%  \begin{macro}{\UseLegacyTextSymbols}
+%    
+%    \begin{macrocode}
+\def\UseLegacyTextSymbols{%
+  \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textbardbl}{OMS}%
+  \DeclareTextSymbolDefault{\textbullet}{OMS}%
+  \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}%
+  \DeclareTextSymbolDefault{\textdagger}{OMS}%
+  \DeclareTextSymbolDefault{\textparagraph}{OMS}%
+  \DeclareTextSymbolDefault{\textperiodcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textsection}{OMS}%
+  \UndeclareTextCommand{\textsection}{T1}%
+  \expandafter\let\csname oldstylenums \expandafter\endcsname
+                  \csname legacyoldstylenums \endcsname
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\textlegacyasteriskcentered}
+%  \begin{macro}{\textlegacybardbl}
+%  \begin{macro}{\textlegacybullet}
+%  \begin{macro}{\textlegacydaggerdbl}
+%  \begin{macro}{\textlegacydagger}
+%  \begin{macro}{\textlegacyparagraph}
+%  \begin{macro}{\textlegacyperiodcentered}
+%  \begin{macro}{\textlegacysection}
+%
+%    Here are new names for the legacy symbols that \LaTeX{} used to
+%    pick up from the \texttt{OMS} encoded fonts (and used dor itemize
+%    lists or footnote symbols.
+%    
+%    We go the roundabout way via separate OMS declarations so that
+%\begin{verbatim}
+%   \renewcommand\textbullet{\textlegacybullet}
+%\end{verbatim}
+% doesn't produce an endless loop.
+%    \begin{macrocode}
+\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3}   % "03
+\DeclareTextSymbol{\textlegacybardbl}{OMS}{107}           % "6B
+\DeclareTextSymbol{\textlegacybullet}{OMS}{15}            % "0F
+\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122}        % "7A
+\DeclareTextSymbol{\textlegacydagger}{OMS}{121}           % "79
+\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123}        % "7B
+\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1}     % "01
+\DeclareTextSymbol{\textlegacysection}{OMS}{120}          % "78
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacybardbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacybullet}{OMS}
+\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacydagger}{OMS}
+\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS}
+\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacysection}{OMS}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+
+%
+%
+% Supporting rollback \ldots
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>   {\DeclareEncodingSubset}{Text companion symbols}%
+%<latexrelease>
+%<latexrelease>\let\DeclareEncodingSubset\@undefined
+%<latexrelease>\let\CheckEncodingSubset\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareTextSymbolDefault{\textdollar}{OT1}
+%<latexrelease>\DeclareTextSymbolDefault{\textsterling}{OT1}
+%<latexrelease>\DeclareTextCommand{\textdollar}{OT1}{\hmode at bgroup
+%<latexrelease>   \ifdim \fontdimen\@ne\font >\z@
+%<latexrelease>      \slshape
+%<latexrelease>   \else
+%<latexrelease>      \upshape
+%<latexrelease>   \fi
+%<latexrelease>   \char`\$\egroup}
+%<latexrelease>\DeclareTextCommand{\textsterling}{OT1}{\hmode at bgroup
+%<latexrelease>   \ifdim \fontdimen\@ne\font >\z@
+%<latexrelease>      \itshape
+%<latexrelease>   \else
+%<latexrelease>      \fontshape{ui}\selectfont
+%<latexrelease>   \fi
+%<latexrelease>   \char`\$\egroup}
+%<latexrelease>\DeclareTextCommand{\textperthousand}{T1}
+%<latexrelease>   {\%\char 24 }  
+%<latexrelease>
+%<latexrelease>\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textbullet}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textdaggerdbl}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textdagger}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textparagraph}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textperiodcentered}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textsection}{OMS}
+%<latexrelease>
+%<latexrelease>\DeclareTextSymbolDefault{\textbardbl}{OMS}
+%<latexrelease>\let\textbrokenbar\@undefined
+%<latexrelease>\let\textcelsius\@undefined
+%<latexrelease>\let\textcent\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
+%<latexrelease>\let\textdegree\@undefined
+%<latexrelease>\let\textdiv\@undefined
+%<latexrelease>\let\textlnot\@undefined
+%<latexrelease>\let\textonehalf\@undefined
+%<latexrelease>\let\textonequarter\@undefined
+%<latexrelease>\let\textonesuperior\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
+%<latexrelease>\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
+%<latexrelease>\let\textpm\@undefined
+%<latexrelease>\let\textquotesingle\@undefined
+%<latexrelease>\let\textquotestraightbase\@undefined
+%<latexrelease>\let\textquotestraightdblbase\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\textregistered}{\textcircled{%
+%<latexrelease>     \check at mathfonts\fontsize\sf at size\z@\math at fontsfalse\selectfont R}}
+%<latexrelease>\let\textthreequartersemdash\@undefined
+%<latexrelease>\let\textthreequarters\@undefined
+%<latexrelease>\let\textthreesuperior\@undefined
+%<latexrelease>\let\texttimes\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
+%<latexrelease>\let\texttwelveudash\@undefined
+%<latexrelease>\let\texttwosuperior\@undefined
+%<latexrelease>\let\textyen\@undefined
+%<latexrelease>
+%<latexrelease>\let\textcapitalcompwordmark\@undefined
+%<latexrelease>\let\textascendercompwordmark\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareTextAccentDefault{\textcircled}{OMS}
+%<latexrelease>\DeclareTextAccentDefault{\t}{OML}
+%<latexrelease>
+%<latexrelease>\let\capitalacute\@undefined
+%<latexrelease>\let\capitalbreve\@undefined
+%<latexrelease>\let\capitalcaron\@undefined
+%<latexrelease>\let\capitalcedilla\@undefined
+%<latexrelease>\let\capitalcircumflex\@undefined
+%<latexrelease>\let\capitaldieresis\@undefined
+%<latexrelease>\let\capitaldotaccent\@undefined
+%<latexrelease>\let\capitalgrave\@undefined
+%<latexrelease>\let\capitalhungarumlaut\@undefined
+%<latexrelease>\let\capitalmacron\@undefined
+%<latexrelease>\let\capitalnewtie\@undefined
+%<latexrelease>\let\capitalogonek\@undefined
+%<latexrelease>\let\capitalring\@undefined
+%<latexrelease>\let\capitaltie\@undefined
+%<latexrelease>\let\capitaltilde\@undefined
+%<latexrelease>\let\newtie\@undefined
+%<latexrelease>
+%<latexrelease>\let\textlbrackdbl\@undefined
+%<latexrelease>\let\textrbrackdbl\@undefined
+%<latexrelease>
+%<latexrelease>\let\texteightoldstyle\@undefined
+%<latexrelease>\let\textfiveoldstyle\@undefined
+%<latexrelease>\let\textfouroldstyle\@undefined
+%<latexrelease>\let\textnineoldstyle\@undefined
+%<latexrelease>\let\textoneoldstyle\@undefined
+%<latexrelease>\let\textsevenoldstyle\@undefined
+%<latexrelease>\let\textsixoldstyle\@undefined
+%<latexrelease>\let\textthreeoldstyle\@undefined
+%<latexrelease>\let\texttwooldstyle\@undefined
+%<latexrelease>\let\textzerooldstyle\@undefined
+%<latexrelease>
+%<latexrelease>\let\textacutedbl\@undefined
+%<latexrelease>\let\textasciiacute\@undefined
+%<latexrelease>\let\textasciibreve\@undefined
+%<latexrelease>\let\textasciicaron\@undefined
+%<latexrelease>\let\textasciidieresis\@undefined
+%<latexrelease>\let\textasciigrave\@undefined
+%<latexrelease>\let\textasciimacron\@undefined
+%<latexrelease>\let\textgravedbl\@undefined
+%<latexrelease>\let\texttildelow\@undefined
+%<latexrelease>
+%<latexrelease>\let\textbaht\@undefined
+%<latexrelease>\let\textbigcircle\@undefined
+%<latexrelease>\let\textborn\@undefined
+%<latexrelease>\let\textcentoldstyle\@undefined
+%<latexrelease>\let\textcircledP\@undefined
+%<latexrelease>\let\textcopyleft\@undefined
+%<latexrelease>\let\textdblhyphenchar\@undefined
+%<latexrelease>\let\textdblhyphen\@undefined
+%<latexrelease>\let\textdied\@undefined
+%<latexrelease>\let\textdiscount\@undefined
+%<latexrelease>\let\textdivorced\@undefined
+%<latexrelease>\let\textdollaroldstyle\@undefined
+%<latexrelease>\let\textguarani\@undefined
+%<latexrelease>\let\textleaf\@undefined
+%<latexrelease>\let\textlquill\@undefined
+%<latexrelease>\let\textmarried\@undefined
+%<latexrelease>\let\textmho\@undefined
+%<latexrelease>\let\textmusicalnote\@undefined
+%<latexrelease>\let\textnaira\@undefined
+%<latexrelease>\let\textopenbullet\@undefined
+%<latexrelease>\let\textpeso\@undefined
+%<latexrelease>\let\textpilcrow\@undefined
+%<latexrelease>\let\textrecipe\@undefined
+%<latexrelease>\let\textreferencemark\@undefined
+%<latexrelease>\let\textrquill\@undefined
+%<latexrelease>\let\textservicemark\@undefined
+%<latexrelease>\let\textsurd\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareTextCommand{\textpertenthousand}{T1}
+%<latexrelease>                   {\%\char 24\char 24 }
+%<latexrelease>
+%<latexrelease>\let\textlangle\@undefined                   
+%<latexrelease>\let\textrangle\@undefined                   
+%<latexrelease>
+%<latexrelease>\let\textcolonmonetary\@undefined
+%<latexrelease>\let\textdong\@undefined
+%<latexrelease>\let\textdownarrow\@undefined
+%<latexrelease>\let\textleftarrow\@undefined
+%<latexrelease>\let\textlira\@undefined
+%<latexrelease>\let\textrightarrow\@undefined
+%<latexrelease>\let\textuparrow\@undefined
+%<latexrelease>\let\textwon\@undefined
+%<latexrelease>
+%<latexrelease>\let\textestimated\@undefined
+%<latexrelease>\let\textnumero\@undefined
+%<latexrelease>
+%<latexrelease>\let\textflorin\@undefined
+%<latexrelease>\let\textcurrency\@undefined
+%<latexrelease>
+%<latexrelease>\let\textfractionsolidus\@undefined
+%<latexrelease>\let\textohm\@undefined
+%<latexrelease>\let\textmu\@undefined
+%<latexrelease>\let\textminus\@undefined
+%<latexrelease>
+%<latexrelease>\let\textblank\@undefined
+%<latexrelease>\let\textinterrobangdown\@undefined
+%<latexrelease>\let\textinterrobang\@undefined
+%<latexrelease>
+%<latexrelease>\let\texteuro\@undefined
+%<latexrelease>
+%<latexrelease>\let\textcelsius\@undefined
+%<latexrelease>\let\textonesuperior\@undefined
+%<latexrelease>\let\textthreequartersemdash\@undefined
+%<latexrelease>\let\textthreesuperior\@undefined
+%<latexrelease>\let\texttwelveudash\@undefined
+%<latexrelease>\let\texttwosuperior\@undefined
+%<latexrelease>\let\textbardbl\@undefined
+%<latexrelease>
+%<latexrelease>\let\UseLegacyTextSymbols\@undefined
+%<latexrelease>\let\textlegacyasteriskcentered\@undefined
+%<latexrelease>\let\textlegacybardbl\@undefined
+%<latexrelease>\let\textlegacybullet\@undefined
+%<latexrelease>\let\textlegacydaggerdbl\@undefined
+%<latexrelease>\let\textlegacydagger\@undefined
+%<latexrelease>\let\textlegacyparagraph\@undefined
+%<latexrelease>\let\textlegacyperiodcentered\@undefined
+%<latexrelease>\let\textlegacysection\@undefined
+%<latexrelease>                          
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%</2ekernel>
+%    \end{macrocode}
+%
+%
+%
+%
+% \section{The \texttt{textcomp} package}
+%
+%    
+%    \begin{macrocode}
+%<*TS1sty>
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{2018-08-11}{textcomp-2018-08-11.sty}
+\DeclareCurrentRelease{}{2020-02-02}
+
+\ProvidesPackage{textcomp}
+ [2020/02/02 v2.0m Standard LaTeX package]
+%    \end{macrocode}
+%
+%    This is implemented by defining the default subset:
+%    \begin{macrocode}
+\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
+\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
+\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{8}}
+\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{9}}
+%    \end{macrocode}
+%    The default is set up in the kernel is  ``safe'' these days for
+%    unknown fonts but LaTeX has definitions for most families so it
+%    seldom applies.
+%
+%    If a different default is used then one needs to check the
+%    results to ensure that there aren't ``missing glyphs''.
+%
+%    The next set of options define the warning level (default in the
+%    kernel is info only). If you load the package then the default
+%    changes to produce an error message if any substitution happens.
+%    \begin{macrocode}
+\def\tc at errorwarn{\PackageError{textcomp}}
+\DeclareOption{error}{\gdef\tc at errorwarn{\PackageError{textcomp}}}
+\DeclareOption{warn}{\gdef\tc at errorwarn#1#2{\PackageWarning{textcomp}{#1}}}
+\DeclareOption{quiet}{\gdef\tc at errorwarn#1#2{}}
+%    \end{macrocode}
+%
+%    The ``force'' option basically changes the sub-encoding  to that
+%    of the default (which, unless changes, is 9 these days), i.e., it
+%    no longer depends on the font in use. This is mainly there
+%    because it might have been used in older documents, but not
+%    somehting that is recommended.
+%    \begin{macrocode}
+\DeclareOption{force}{%
+    \def\CheckEncodingSubset#1#2#3#4#5{%
+      \ifnum #4>%
+           0\csname #2:?\endcsname
+           \relax
+      \expandafter\@firstoftwo
+     \else
+      \expandafter\@secondoftwo
+    \fi
+     {#1{#2}}{#3}%
+     #5}%
+}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\ExecuteOptions{}
+\ProcessOptions\relax
+%    \end{macrocode}
+%
+%    There is not much else to do nowadays, because everything is
+%    already set up in the \LaTeX{} kernel.
+%
+%    \begin{macrocode}
+\InputIfFileExists{textcomp.cfg}
+  {\PackageInfo{textcomp}{Local configuration file used}}{}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+%</TS1sty>
+%    \end{macrocode}
+%
+%    
+%
+% \subsection{The old textcomp package code}
+%
+%    This section contains the old code for the textcomp package and
+%    its documentation. It is only used if we roll back prior to 2020.
+%    Thus all the rest is mainly for historians. Note that the old
+%    code categorised in the sub-encodings only into 6 classes not 10.
+%
+%    \begin{macrocode}
+%<*TS1oldsty>
+\ProvidesPackage{textcomp}
+   [2018/08/11 v2.0j Standard LaTeX package]
+%    \end{macrocode}
+%
+%    This one is for the |TS1| encoding which contains text symbols
+%    for use with the |T1|-encoded text fonts.  It therefore first
+%    inputs the file |TS1enc.def| and then sets (or resets) the
+%    defaults for the symbols it contains.  The result of this is that
+%    when one of these symbols is accessed and the current encoding
+%    does not provide it, the symbol will be supplied by a silent,
+%    local change to this encoding.
+%
+%    Since many PostScript fonts only implement a subset of |TS1| many
+%    commands only produce black blobs of ink. To resolve the
+%    resulting problems a number of options have been introduced and
+%    some code  has been developed to distinguish sub-encodings.
+%
+%    The sub-encodings have a numerical id and are defined as follows
+%    for \texttt{TS1}:
+% \begin{description}
+%
+% \item[\#5] those \texttt{TS1} symbols that are also in the ISO-Adobe
+%       character set; without \verb=textcurrency=, which is often
+%       misused for the Euro.  Older Type1 fonts from the non-\TeX{}
+%       world provide only this subset.
+%
+% \item[\#4] = \#5 + \verb=\texteuro=.  Most newer fonts provide this.
+%
+% \item[\#3] = \#4 + \verb=\textomega=.  Can also be described as
+%       $\texttt{TS1} \cap (\texttt{ISO-Adobe} \cup
+%       \texttt{MacRoman})$.  (Except for the missing "currency".)
+
+%
+% \item[\#2] = \#3 + \verb=\textestimated= + \verb=\textcurrency=.  Can
+%       also be described as $\texttt{TS1} \cap
+%       \texttt{Adobe-Western-2}$.  This may be relevant for OpenType
+%       fonts, which usually show the Adobe-Western-2 character set.
+%
+%    \item[\#1] = \texttt{TS1} without \verb=\textcircled= and \verb=\t=.
+%       These two glyphs are often not implemented and if their kernel
+%       defaults are changed commands like \verb=\copyright=
+%       unnecessarily fail.
+%
+%    \item[\#0] = full \texttt{TS1}
+% \end{description}
+%
+%    And here a summary to go in the transcript file:
+%    \begin{macrocode}
+\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak
+    \space\space 5 = only ISO-Adobe without
+                              \string\textcurrency\MessageBreak
+    \space\space 4 = 5 + \string\texteuro\MessageBreak
+    \space\space 3 = 4 + \string\textohm\MessageBreak
+    \space\space 2 = 3 + \noexpand\textestimated+ 
+                                \string\textcurrency\MessageBreak
+    \space\space 1 = TS1 - \noexpand\textcircled-
+                                            \string\t\MessageBreak
+    \space\space 0 = TS1 (full)\MessageBreak
+    Font families with sub-encoding setting implement\MessageBreak
+    only a restricted character set as indicated.\MessageBreak
+    Family '?' is the default used for unknown fonts.\MessageBreak
+    See the documentation for details\@gobble}
+%    \end{macrocode}
+%
+% \begin{macro}{\DeclareEncodingSubset}
+%    An encoding subset to which a font family belongs is declared by
+%    the command |\DeclareEncodingSubset| that takes the major encoding as the
+%    first argument (e.g., |TS1|), the family name as the second
+%    argument (e.g., |cmr|), and the subset encoding id as a third,
+%    (e.g., |0| for |cmr|).
+%
+%    The default encoding subset to use when nothing is known about
+%    the current font family is named |?|.
+%    \begin{macrocode}
+\def\DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}%
+     {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}%
+   \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%  The options for the package are the following:
+%    \begin{description}
+%    \item[safe]
+%       for unknown font families enables only symbols that are also
+%       in the ISO-Adobe character set; without "currency", which is
+%       often misused for the Euro.  Older Type1 fonts from the
+%       non-TeX world provide only this subset.
+%
+%    \item[euro]
+%       enables the ``safe'' symbols plus the |\texteuro|
+%       command. Most newer fonts provide this.
+%
+%    \item[full] enables all |TS1| commands; useful only with fonts
+%       like EC or CM bright.
+%
+%    \item[almostfull]
+%       same as ``full'', except that |\textcircled|
+%       and |\t| are \emph{not} redefined from their defaults to avoid
+%       that commands like |\copyright| suddenly no longer work.
+%
+%    \item[force]
+%       ignore all subset encoding definitions stored in the package
+%       itself or in the configuration file and always use the default
+%       subset as specified by one of the other options (seldom useful,
+%       only dangerous).
+%    \end{description}
+%
+% \begin{macro}{\iftc at forced}
+%    Switch used to implement the \texttt{force} option
+%    \begin{macrocode}
+\newif\iftc at forced   \tc at forcedfalse
+%    \end{macrocode}
+% \end{macro}
+
+%    This is implemented by defining the default subset:
+%    \begin{macrocode}
+\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
+\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
+\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}}
+\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}}
+%    \end{macrocode}
+%    The default is ``almostfull'' which means that old documents will
+%    work except that |\textcircled| and |\t| will use the kernel
+%    defaults (with the advantage that this also works if the current
+%    font (as often the case) doesn't implement these glyphs.
+%
+%    The ``force'' option simply sets the switch to true.
+%    \begin{macrocode}
+\DeclareOption{force}{\tc at forcedtrue}
+%    \end{macrocode}
+%
+%    The suggestions to user is to use the ``safe'' option always
+%    unless that balks in which case they could switch to
+%    ``almostfull'' but then better check their output manually.
+%
+%    \begin{macrocode}
+\def\tc at errorwarn{\PackageError}
+\DeclareOption{warn}{\gdef\tc at errorwarn#1#2#3{\PackageWarning{#1}{#2}}}
+\DeclareOption{quiet}{\gdef\tc at errorwarn#1#2#3{}}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\ExecuteOptions{almostfull}
+\ProcessOptions\relax
+%    \end{macrocode}
+%
+%
+%
+%
+% \begin{macro}{\CheckEncodingSubset}
+%    The command |\CheckEncodingSubset| will check if the current font
+%    family has the right encoding subset to typeset a certain
+%    command. It takes five arguments as follows:
+%    first argument is either |\UseTextSymbol|, |\UseTextAccent|
+%    depending on whether or not the symbol is a text symbol or a text
+%    accent.
+
+%    The second argument is the encoding from which this symbol should
+%    be fetched.
+%
+%    The third argument is either a fake accessor command or an error
+%    message. the code in that argument (if ever executed) receives
+%    two arguments: |#2| and |#5| of |\CheckEncodingSubset|.
+%
+%    Argument four is the subset encoding id to test against: if this
+%    value is higher than the subset id of the current font family
+%    then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise
+%    it runs |#3#5|, e.g., to produce an error message or fake the
+%    glyph somehow.
+%
+%    Argument five is the symbol or accent command that is being
+%    checked.
+%
+%    For usage examples see definitions below.
+%    \begin{macrocode}
+\iftc at forced
+%    \end{macrocode}
+%    If the ``force'' option was given we always use the default for
+%    testing against.
+%    \begin{macrocode}
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+        0\csname #2:?\endcsname
+        \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+%    \end{macrocode}
+%
+%    In normal circumstances the test is a bit more complicated: first
+%    check if there exists a macro
+%    |\|\meta{arg2}|:|\meta{current-family} and if so use that value
+%    to test against, otherwise use the default to test against.
+%    \begin{macrocode}
+\else
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tc at subst}
+%    \begin{macrocode}
+\def\tc at subst#1{%
+   \tc at errorwarn{textcomp}%
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tc at error}
+%    |\tc at error| is going to be used in arg |#3| of
+%    |\CheckEncodingSubset| when a symbol is not available in a
+%    certain font family. It gets pass the encoding it normally lives
+%    in (arg one) and the name of the symbol or accent that has a
+%    problem.
+%
+%    \begin{macrocode}
+% error commands take argument:
+% #1 symbol to be used
+\def\tc at error#1{%
+   \PackageError{textcomp}%  % should be latex error if general
+    {Accent \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding}\@eha
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\tc at fake@euro}
+%    |\tc at fake@euro|  is an example of a ``fake'' definition to use in  arg |#3| of
+%    |\CheckEncodingSubset| when a symbol is not available in a
+%    certain font family. Here we produce an Euro symbol by combining
+%    a ``C'' with a ``=''.
+%    \begin{macrocode}
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \PackageInfo{textcomp}{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tc at check@symbol}
+% \begin{macro}{\tc at check@accent}
+%    These are two abbreviations that we use below to check symbols
+%    and accents in TS1. Only there to save some space, e.g., we can
+%    then write
+%\begin{verbatim}
+%\DeclareTextCommandDefault{\textcurrency}{\tc at check@symbol3\textcurrency}
+%\end{verbatim}
+%    to ensure that |\textcurrency| is only typeset if the current
+%    font has a \texttt{TS1} subset id of less than 3. Otherwise
+%    |\tc at error| is called telling the user that for this font family
+%    |\textcurreny| is not available.
+%    \begin{macrocode}
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%    We start with the commands that are ``safe'' and which can be
+%    unconditionally set up, first the accents\ldots
+%    \begin{macrocode}
+\DeclareTextAccentDefault{\capitalcedilla}{TS1}
+\DeclareTextAccentDefault{\capitalogonek}{TS1}
+\DeclareTextAccentDefault{\capitalgrave}{TS1}
+\DeclareTextAccentDefault{\capitalacute}{TS1}
+\DeclareTextAccentDefault{\capitalcircumflex}{TS1}
+\DeclareTextAccentDefault{\capitaltilde}{TS1}
+\DeclareTextAccentDefault{\capitaldieresis}{TS1}
+\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1}
+\DeclareTextAccentDefault{\capitalring}{TS1}
+\DeclareTextAccentDefault{\capitalcaron}{TS1}
+\DeclareTextAccentDefault{\capitalbreve}{TS1}
+\DeclareTextAccentDefault{\capitalmacron}{TS1}
+\DeclareTextAccentDefault{\capitaldotaccent}{TS1}
+%    \end{macrocode}
+%    \ldots and then the other glyphs.
+% \changes{v1.9p}{1998/06/12}{Renamed \cs{textmacron} pr/2840}
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
+\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textfractionsolidus}{TS1}
+\DeclareTextSymbolDefault{\textminus}{TS1}
+\DeclareTextSymbolDefault{\textlbrackdbl}{TS1}
+\DeclareTextSymbolDefault{\textrbrackdbl}{TS1}
+\DeclareTextSymbolDefault{\textasciigrave}{TS1}
+\DeclareTextSymbolDefault{\texttildelow}{TS1}
+\DeclareTextSymbolDefault{\textasciibreve}{TS1}
+\DeclareTextSymbolDefault{\textasciicaron}{TS1}
+\DeclareTextSymbolDefault{\textgravedbl}{TS1}
+\DeclareTextSymbolDefault{\textacutedbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textbardbl}{TS1}
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textcelsius}{TS1}
+\DeclareTextSymbolDefault{\textflorin}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+\DeclareTextSymbolDefault{\textasciidieresis}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+\DeclareTextSymbolDefault{\textasciimacron}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
+\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
+\DeclareTextSymbolDefault{\textasciiacute}{TS1}
+\DeclareTextSymbolDefault{\textmu}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textonesuperior}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+%    \end{macrocode}
+%
+%    The |\texteuro| is only available for subsets with id 4 or
+%    less. Otherwise we fake the glyph using |\tc at fake@euro|
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\texteuro}
+   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro5\texteuro}
+%    \end{macrocode}
+%
+%    The |\textohm| is only available for subsets with id 3 or
+%    less. Otherwise we produce an error.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textohm}{\tc at check@symbol4\textohm}
+%    \end{macrocode}
+%    The |\textestimated| and |\textcurrency| are only provided for
+%    fonts with subset encoding with id 2 or less.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textestimated}%
+    {\tc at check@symbol3\textestimated}
+\DeclareTextCommandDefault{\textcurrency}%
+    {\tc at check@symbol3\textcurrency}
+%    \end{macrocode}
+%    Nearly all of the remaining glyphs are provided only with fonts
+%    with id 1 or 0, i.e., are essentially complete.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\capitaltie}%
+    {\tc at check@accent2\capitaltie}
+\DeclareTextCommandDefault{\newtie}%
+    {\tc at check@accent2\newtie}
+\DeclareTextCommandDefault{\capitalnewtie}%
+    {\tc at check@accent2\capitalnewtie}
+\DeclareTextCommandDefault{\textleftarrow}%
+    {\tc at check@symbol2\textleftarrow}
+\DeclareTextCommandDefault{\textrightarrow}%
+    {\tc at check@symbol2\textrightarrow}
+\DeclareTextCommandDefault{\textblank}%
+    {\tc at check@symbol2\textblank}
+\DeclareTextCommandDefault{\textdblhyphen}%
+    {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textzerooldstyle}%
+    {\tc at check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}%
+    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}%
+    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}%
+    {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}%
+    {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}%
+    {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}%
+    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}%
+    {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\texteightoldstyle}%
+    {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}%
+    {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textlangle}%
+    {\tc at check@symbol2\textlangle}
+\DeclareTextCommandDefault{\textrangle}%
+    {\tc at check@symbol2\textrangle}
+\DeclareTextCommandDefault{\textmho}%
+    {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textbigcircle}%
+    {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textuparrow}%
+    {\tc at check@symbol2\textuparrow}
+\DeclareTextCommandDefault{\textdownarrow}%
+    {\tc at check@symbol2\textdownarrow}
+\DeclareTextCommandDefault{\textborn}%
+    {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textdivorced}%
+    {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdied}%
+    {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textleaf}%
+    {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textmarried}%
+    {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmusicalnote}%
+    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textdblhyphenchar}%
+    {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdollaroldstyle}%
+    {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textcentoldstyle}%
+    {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcolonmonetary}%
+    {\tc at check@symbol2\textcolonmonetary}
+\DeclareTextCommandDefault{\textwon}%
+    {\tc at check@symbol2\textwon}
+\DeclareTextCommandDefault{\textnaira}%
+    {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textguarani}%
+    {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textpeso}%
+    {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textlira}%
+    {\tc at check@symbol2\textlira}
+\DeclareTextCommandDefault{\textrecipe}%
+    {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textinterrobang}%
+    {\tc at check@symbol2\textinterrobang}
+\DeclareTextCommandDefault{\textinterrobangdown}%
+    {\tc at check@symbol2\textinterrobangdown}
+\DeclareTextCommandDefault{\textdong}%
+    {\tc at check@symbol2\textdong}
+\DeclareTextCommandDefault{\textpertenthousand}%
+    {\tc at check@symbol2\textpertenthousand}
+\DeclareTextCommandDefault{\textpilcrow}%
+    {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textbaht}%
+    {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textnumero}%
+    {\tc at check@symbol2\textnumero}
+\DeclareTextCommandDefault{\textdiscount}%
+    {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textopenbullet}%
+    {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textservicemark}%
+    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textlquill}%
+    {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textrquill}%
+    {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textcopyleft}%
+    {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textcircledP}%
+    {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textreferencemark}%
+    {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textsurd}%
+    {\tc at check@symbol2\textsurd}
+%    \end{macrocode}
+%    The |\textcircled| and |\t| are handled specially, unless the
+%    current font has a subset id of 0 (i.e. full \texttt{TS1}) we
+%    pick the symbols up from the the math font encodings, i.e., the
+%    third argument to |\CheckEncodingSubset| uses |\UseTextAccent| to
+%    get them from there.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}%
+    {\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}%
+    {\UseTextAccent{OML}}1\t}
+%    \end{macrocode}
+
+
+%
+%    Finally input the encoding-specific definitions for
+%    \texttt{TS1} thus making the top-level definitions
+%    optimised for this encoding (and not for the default
+%    encoding).
+% \changes{v1.9o}{1998/03/20}{Load decls after defaults for speed.}
+%    \begin{macrocode}
+\input{ts1enc.def}
+%    \end{macrocode}
+%    Now having the new glyphs available we also want to make sure
+%    that they are used. For most cases this will automatically happen
+%    but for some glyphs there are inferior definitions already known
+%    to \LaTeX{} which will prevent the usage of the \texttt{TS1}
+%    versions. So we better
+%    get rid of them:
+% \changes{v1.9o}{1998/03/20}{Added various \cs{UndeclareTextCommand}
+%    declarations for pr/2783}
+%    \begin{macrocode}
+\UndeclareTextCommand{\textsterling}{OT1}
+\UndeclareTextCommand{\textdollar}  {OT1}
+%    \end{macrocode}
+%    Similar declarations should probably be made for other encodings
+%    like \texttt{OT4} if they are in use.
+%    \begin{macrocode}
+%\UndeclareTextCommand{\textsterling}{OT4}
+%\UndeclareTextCommand{\textdollar}  {OT4}
+%    \end{macrocode}
+%    From the \texttt{T1} encoding there are two candidates for removal:
+%    \textperthousand{} and \textpertenthousand{} since these are both
+%    constructed from \% followed by a tiny
+%    `{\fontencoding{T1}\selectfont \char 24}'
+%    rather than being a single glyph. The problem with this
+%    approach is that in PostScript fonts this small zero is usually not
+%    available resulting in \%\rule{3pt}{3pt} rather than
+%    \textperthousand{} while the real glyph (at least for
+%    |\textperthousand|) is available in the PostScript version of
+%    \texttt{TS1}.  So for the moment we compromise by removing the
+%    \texttt{T1} declaration for |\textperthousand| but keeping the one
+%    for |\textpertenthousand|. This will have the effect that with
+%    Computer Modern fonts everything will come out (although
+%    \textperthousand{} and \textpertenthousand{} are not taken from the
+%    same physical font) and with PostScript fonts \textperthousand{}
+%    will come out correctly while \textpertenthousand{} will most
+%    likely look like \%\rule{6pt}{3pt} --- which is probably an
+%    improvement over just getting a single `\rule{3pt}{3pt}' to
+%    indicate a completely missing glyph, which would happen if we
+%    also `undeclared' |\textpertenthousand|.
+%    \begin{macrocode}
+\UndeclareTextCommand{\textperthousand}{T1}
+%\UndeclareTextCommand{\textpertenthousand}{T1}
+%    \end{macrocode}
+%
+%
+%  \subsubsection{Supporting oldstyle digits}
+%
+%    \begin{macrocode}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+  \ifmmode
+   \mathgroup\symletters #1%
+  \else
+   \CheckEncodingSubset\@use at text@encoding{TS1}%
+       {\PackageWarning{textcomp}%
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Lining digits used instead}}%
+       \tw@{#1}%
+   \fi
+ \endgroup
+}
+%    \end{macrocode}
+%
+%  \subsubsection{Subset encoding defaults}
+%
+%    For many font families commonly used in the \TeX{} world we
+%    provide the subset encoding data here. Users can add additional
+%    font families in the file \texttt{textcomp.cfg} if they own other
+%    fonts.
+%
+%    However, if the option ``forced'' was given then all subset
+%    encoding specifications are ignored, so there is no point in
+%    setting any of them up:
+%    \begin{macrocode}
+\iftc at forced \else
+%    \end{macrocode}
+%
+%    Computer modern based fonts (e.g., CM, CM-Bright, Concrete):
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+%    \end{macrocode}
+%
+%    PSNFSS fonts:
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{ptm}     {4}
+\DeclareEncodingSubset{TS1}{pcr}     {4}
+\DeclareEncodingSubset{TS1}{phv}     {4}
+\DeclareEncodingSubset{TS1}{ppl}     {3}
+\DeclareEncodingSubset{TS1}{pag}     {4}
+\DeclareEncodingSubset{TS1}{pbk}     {4}
+\DeclareEncodingSubset{TS1}{pnc}     {4}
+\DeclareEncodingSubset{TS1}{pzc}     {4}
+\DeclareEncodingSubset{TS1}{bch}     {4}
+\DeclareEncodingSubset{TS1}{put}     {5}
+%    \end{macrocode}
+%
+%    Other CTAN fonts (probably not complete):
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{uag}     {5}
+\DeclareEncodingSubset{TS1}{ugq}     {5}
+\DeclareEncodingSubset{TS1}{ul8}     {4}
+\DeclareEncodingSubset{TS1}{ul9}     {4}  % (LuxiSans, one day)
+\DeclareEncodingSubset{TS1}{augie}   {5}
+\DeclareEncodingSubset{TS1}{dayrom}  {3}
+\DeclareEncodingSubset{TS1}{dayroms} {3}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+%    \end{macrocode}
+%
+%    Latin Modern and TeX Gyre:
+% \changes{v1.99k}{2009/10/28}{Added Latin Modern and TeX Gyre subsets}
+% \changes{v1.99l}{2009/11/04}{Added more Latin Modern and TeX Gyre subsets}
+% \changes{v1.99m}{2015/02/16}{Added lmtt (Heiko Oberdiek) latex/4415}
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{lmr}     {0}
+\DeclareEncodingSubset{TS1}{lmdh}    {0}
+\DeclareEncodingSubset{TS1}{lmss}    {0}
+\DeclareEncodingSubset{TS1}{lmssq}   {0}
+\DeclareEncodingSubset{TS1}{lmvtt}   {0}
+\DeclareEncodingSubset{TS1}{lmtt}    {0}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+%    \end{macrocode}
+%
+%    Fourier-GUTenberg:
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{futs}    {4}
+\DeclareEncodingSubset{TS1}{futx}    {4}
+\DeclareEncodingSubset{TS1}{futj}    {4}
+%    \end{macrocode}
+%
+%  Y\&Y's Lucida Bright
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{hlh}     {3}
+\DeclareEncodingSubset{TS1}{hls}     {3}
+\DeclareEncodingSubset{TS1}{hlst}    {3}
+%    \end{macrocode}
+%    The remaining settings for Lucida are conservative: the following
+%    fonts contain the |\textohm| character but not the |\texteuro|,
+%    i.e., belong to neither subset~4 nor subset~3. If you want to
+%    use the |\textohm| with these fonts copy these definition to
+%    \texttt{textcomp.cfg} and change the subset to~3. However in that
+%    case make sure that you do not use the |\texteuro|.
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlx}     {5}
+\DeclareEncodingSubset{TS1}{hlce}    {5}
+\DeclareEncodingSubset{TS1}{hlcn}    {5}
+\DeclareEncodingSubset{TS1}{hlcw}    {5}
+\DeclareEncodingSubset{TS1}{hlcf}    {5}
+%    \end{macrocode}
+%
+%    Other commercial families\ldots
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{pplx}    {3}
+\DeclareEncodingSubset{TS1}{pplj}    {3}
+\DeclareEncodingSubset{TS1}{ptmx}    {4}
+\DeclareEncodingSubset{TS1}{ptmj}    {4}
+%    \end{macrocode}
+%
+%    If the file \texttt{textcomp.cfg} exists it will be loaded at
+%    this point. This allows to define further subset encodings for
+%    font families not covered by default.
+%
+%    \begin{macrocode}
+\InputIfFileExists{textcomp.cfg}
+  {\PackageInfo{textcomp}{Local configuration file used}}{}
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</TS1oldsty>
+%    \end{macrocode}
+
+
+% \Finale
+%
+
+
+
+
+\endinput
+
+
+
+
+


Property changes on: trunk/Master/texmf-dist/source/latex-dev/base/lttextcomp.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltthm.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltthm.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltthm.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltvers.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -115,7 +115,7 @@
    {2020-02-01}
 %</2ekernel|latexrelease>
 %<*2ekernel>
-\def\patch at level{-2}
+\def\patch at level{-3}
 %    \end{macrocode}
 %    
 % \begin{macro}{\development at branch@name}
@@ -125,7 +125,7 @@
 %    intended to help help us internally when we locally install a
 %    format out of some development branch.
 %    \begin{macrocode}
-\edef\development at branch@name{development \the\year-\the\month-\the\day}
+\edef\development at branch@name{develop \the\year-\the\month-\the\day}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltxdoc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/ltxref.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/ltxref.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/ltxref.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/makeindx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/makeindx.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/makeindx.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/makeindx.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/makeindx.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/makeindx.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/newdc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/newdc.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/newdc.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/newlfont.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/newlfont.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/newlfont.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/nfssfont.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/olddc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/olddc.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/olddc.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/oldlfont.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/oldlfont.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/oldlfont.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/preload.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/preload.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/preload.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/proc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/proc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/proc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/proc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/proc.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/proc.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/slides.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/slides.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/slides.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -53,7 +53,7 @@
 %<*driver>
        \ProvidesFile{slides.drv}
 %</driver>
-              [2016/03/29 v2.4a
+              [2019/11/04 v2.4b
 %<+class>               Standard LaTeX document class]
 %<+cmd>               SLiTeX definitions]
 %    \end{macrocode}
@@ -419,6 +419,12 @@
 \def\sldefault{sl}
 \def\bfdefault{bx}
 %    \end{macrocode}
+%    As |\fontshape| gets redefined we need to make sure that the default
+%    for |\upshape| is no longer \texttt{up} but again \texttt{n}.
+% \changes{v2.4b}{2019/11/04}{Explicitly set \cs{updefault}}
+%    \begin{macrocode}
+\def\updefault{n}
+%    \end{macrocode}
 %
 %
 %  Since the number of parameters to set are very large it seems

Modified: trunk/Master/texmf-dist/source/latex-dev/base/slides.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/slides.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/slides.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 
@@ -96,7 +96,7 @@
 
 This is a generated file.  
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 
@@ -138,7 +138,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/syntonly.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/syntonly.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/syntonly.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/base/syntonly.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/syntonly.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/syntonly.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/tulm.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/tulm.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/tulm.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 
@@ -48,7 +48,7 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 2016-2019
+Copyright (C) 2016-2020
 The LaTeX3 Project and any individual authors listed elsewhere
 in this file. 
 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/unpack.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/unpack.ins	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/unpack.ins	2020-01-13 21:35:18 UTC (rev 53395)
@@ -3,7 +3,7 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file. 
 %% 

Modified: trunk/Master/texmf-dist/source/latex-dev/base/utf8ienc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/base/utf8ienc.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/base/utf8ienc.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/tools/hhline.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/tools/hhline.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/tools/hhline.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -25,7 +25,7 @@
 %
 %<package>\NeedsTeXFormat{LaTeX2e}
 %<package>\ProvidesPackage{hhline}
-%<package>         [2014/10/28 v2.03 Table rule package (DPC)]
+%<package>         [2020/01/04 v2.04 Table rule package (DPC)]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -55,6 +55,8 @@
 %    {Update for LaTeX2e.}
 % \changes{v2.03}{1994/05/23}
 %    {New style warning.}
+% \changes{v2.04}{2020/01/04}
+%    {Ignore spaces.}
 %
 %
 %
@@ -301,12 +303,16 @@
 %    \begin{macrocode}
   \ifx\@tempb b\HH at add{\rlap{\HH at box\z@\doublerulesep}}\else
 %    \end{macrocode}
+% "space", Gobble the space and loop again.
+%    \begin{macrocode}
+  \ifx\@tempb\@sptoken\let\next\HH at spacelet\else
+%    \end{macrocode}
 % Otherwise ignore the token, with a warning.
 %    \begin{macrocode}
   \PackageWarning{hhline}%
       {\meaning\@tempb\space ignored in \noexpand\hhline argument%
        \MessageBreak}%
-  \fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
 %    \end{macrocode}
 % Go around the loop again.
 %    \begin{macrocode}
@@ -314,7 +320,14 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\HH at spacelet}
+% Helper macro to gobble a space token and continue the loop.
 %    \begin{macrocode}
+\lowercase{\def\HH at spacelet} {\futurelet\@tempb \HH at loop}
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
 %</package>
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex-dev/tools/multicol.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex-dev/tools/multicol.dtx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/source/latex-dev/tools/multicol.dtx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -98,7 +98,7 @@
 %<driver> \ProvidesFile{multicol.drv}
 % \fi
 %         \ProvidesFile{multicol.dtx}
-          [2019/10/15 v1.8x  multicolumn formatting (FMi)]
+          [2019/12/09 v1.8y  multicolumn formatting (FMi)]
 %
 %
 %%
@@ -1034,19 +1034,20 @@
        I therefore use two columns instead}%
      \col at number\tw@ \fi
 %    \end{macrocode}
-%    We have only enough box registers for ten columns, so we need to
+%    We have only enough box registers for twenty columns, so we need to
 %    check that the user hasn't asked for more.
 % \changes{v1.4k}{1992/06/27}{Maximum of 5 columns (temp)}
 % \changes{v1.5a}{1992/11/04}{Allow 10 columns again}
+% \changes{v1.8y}{2019/12/09}{Allow for 20 columns (gh/237)}
 %    \begin{macrocode}
-  \ifnum\col at number>10
+  \ifnum\col at number>20
      \PackageError{multicol}%
       {Too many columns}%
       {Current implementation doesn't
-       support more than 10 columns.%
+       support more than 20 columns.%
        \MessageBreak
-       I therefore use 10 columns instead}%
-     \col at number10 \fi
+       I therefore use 20 columns instead}%
+     \col at number20 \fi
 %    \end{macrocode}
 %    Within the environment we need a special version of the
 %    kernel |\@footnotetext| command since the original sets the
@@ -3451,8 +3452,26 @@
 %    of this setup in the documentation, sigh.) This produced a problem
 %    at the moment we had more than 5 columns because then officially
 %    allocated boxes were overwritten by the algorithm.
-%    The new release now uses private box registers
+%    The new release now uses private box registers.
+%
+%    There was in fact a bug in the new implementation because at one
+%    point \LaTeX{} started to use the the extended registers and so
+%    jumped from below 255 to above omitting the boxes allocated for
+%    inserts and the output page box.
+%
+%    So nowadays we really have to check if we get the full sequence
+%    of boxes allocated without holes (i.e., $2\times\textit{max
+%    cols}+1$) and if not alter the allocation registers to start
+%    allocating after 255. This is all done quite low-level by looking
+%    directly at the values of the allocation counters.
+% \changes{v1.8y}{2019/12/09}{Allow for 20 columns (gh/237)}
 %    \begin{macrocode}
+\ifnum\numexpr \count20-\count14-1<41   % = 2 * 20 + 1
+  \count14=\@cclv
+\fi
+%    \end{macrocode}
+%    
+%    \begin{macrocode}
 \newbox\mult at rightbox
 \newbox\mult at grightbox
 \newbox\mult at gfirstbox
@@ -3465,6 +3484,16 @@
 \newbox\@tempa\newbox\@tempa
 \newbox\@tempa\newbox\@tempa
 \newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
 \newbox\@tempa
 \let\@tempa\relax
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/alltt.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/alltt.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/alltt.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ansinew.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ansinew.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ansinew.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/applemac.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/applemac.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/applemac.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/article.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/article.cls	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/article.cls	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesClass{article}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
  Standard LaTeX document class]
 \newcommand\@ptsize{}
 \newif\if at restonecol
@@ -352,10 +352,11 @@
 \renewcommand\p at enumii{\theenumi}
 \renewcommand\p at enumiii{\theenumi(\theenumii)}
 \renewcommand\p at enumiv{\p at enumiii\theenumiii}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\newcommand\labelitemi  {\labelitemfont \textbullet}
+\newcommand\labelitemii {\labelitemfont \bfseries \textendash}
+\newcommand\labelitemiii{\labelitemfont \textasteriskcentered}
+\newcommand\labelitemiv{ \labelitemfont \textperiodcentered}
+\newcommand\labelitemfont{\normalfont}
 \newenvironment{description}
                {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                         \let\makelabel\descriptionlabel}}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/article.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/article.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/article.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ascii.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ascii.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ascii.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/bezier.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/bezier.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/bezier.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/bk10.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/bk10.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/bk10.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{bk10.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xpt\@xiipt

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/bk11.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/bk11.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/bk11.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{bk11.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xipt{13.6}%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/bk12.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/bk12.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/bk12.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{bk12.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xiipt{14.5}%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/book.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/book.cls	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/book.cls	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesClass{book}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
  Standard LaTeX document class]
 \newcommand\@ptsize{}
 \newif\if at restonecol
@@ -454,10 +454,11 @@
 \renewcommand\p at enumii{\theenumi}
 \renewcommand\p at enumiii{\theenumi(\theenumii)}
 \renewcommand\p at enumiv{\p at enumiii\theenumiii}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\newcommand\labelitemi  {\labelitemfont \textbullet}
+\newcommand\labelitemii {\labelitemfont \bfseries \textendash}
+\newcommand\labelitemiii{\labelitemfont \textasteriskcentered}
+\newcommand\labelitemiv{ \labelitemfont \textperiodcentered}
+\newcommand\labelitemfont{\normalfont}
 \newenvironment{description}
                {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                         \let\makelabel\descriptionlabel}}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/book.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/book.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/book.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp1250.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp1250.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp1250.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp1252.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp1252.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp1252.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp1257.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp1257.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp1257.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp437.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp437.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp437.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp437de.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp437de.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp437de.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp850.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp850.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp850.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp852.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp852.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp852.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp858.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp858.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp858.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/cp865.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/cp865.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/cp865.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/decmulti.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/decmulti.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/decmulti.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/doc.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1994/12/01]
  \ProvidesPackage{doc}
-  [2019/11/10 v2.1k
+  [2019/12/16 v2.1l
    Standard LaTeX documentation package (FMi)]
 %%
 %% Package `doc' to use with LaTeX 2e
@@ -91,13 +91,13 @@
                    \usefont\encodingdefault
                            \ttdefault
                            \mddefault
-                           \updefault
+                           \shapedefault
                    }%
   \else
     \def\MacroFont{\fontencoding\encodingdefault
                    \fontfamily\ttdefault
                    \fontseries\mddefault
-                   \fontshape\updefault
+                   \fontshape\shapedefault
                    \small}%
   \fi
   }{}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/docstrip.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/docstrip.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/docstrip.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/exscale.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/exscale.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/exscale.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fix-cm.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fix-cm.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fix-cm.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fixltx2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fixltx2e.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fixltx2e.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/flafter.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/flafter.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/flafter.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fleqn.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fltrace.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fltrace.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fltrace.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fontenc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fontenc.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fontenc.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesPackage{fontenc}
- [2018/08/11 v2.0j
-                 Standard LaTeX package]
+ [2019/11/22 v2.0l
+                        Standard LaTeX package]
 \def\update at uclc@with at cyrillic{%
  \expandafter\def\expandafter\@uclclist\expandafter
   {\@uclclist
@@ -102,7 +102,7 @@
   \fi
 }
 \ProcessOptions*
-\fontencoding\encodingdefault\selectfont
+\usefont\encodingdefault\familydefault\seriesdefault\shapedefault
 \let\update at uclc@with at cyrillic\relax
 \global\expandafter\let\csname ver at fontenc.sty\endcsname\relax
 \global\expandafter\let\csname opt at fontenc.sty\endcsname\relax

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.cfg	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.cfg	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fontmath.cfg}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2019/12/17 v3.0e LaTeX Kernel
 (Uncustomised math
            font setup)]
 %%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.ltx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fontmath.ltx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fontmath.ltx}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2019/12/17 v3.0e LaTeX Kernel
 (Math
            font setup)]
 \typeout{=== Don't modify this file, use a .cfg file instead ===^^J}
@@ -230,7 +230,7 @@
 \DeclareMathSymbol{\forall}{\mathord}{symbols}{"38}
 \DeclareMathSymbol{\exists}{\mathord}{symbols}{"39}
 \DeclareMathSymbol{\neg}{\mathord}{symbols}{"3A}
-    \let\lnot=\neg
+\DeclareMathSymbol{\lnot}{\mathord}{symbols}{"3A}
 \DeclareMathSymbol{\flat}{\mathord}{letters}{"5B}
 \DeclareMathSymbol{\natural}{\mathord}{letters}{"5C}
 \DeclareMathSymbol{\sharp}{\mathord}{letters}{"5D}
@@ -265,12 +265,12 @@
 \DeclareMathSymbol{\triangleright}{\mathbin}{letters}{"2E}
 \DeclareMathSymbol{\bigtriangleup}{\mathbin}{symbols}{"34}
 \DeclareMathSymbol{\bigtriangledown}{\mathbin}{symbols}{"35}
-   \let \varbigtriangledown \bigtriangledown
-   \let \varbigtriangleup \bigtriangleup
+\DeclareMathSymbol{\varbigtriangleup}{\mathbin}{symbols}{"34}
+\DeclareMathSymbol{\varbigtriangledown}{\mathbin}{symbols}{"35}
 \DeclareMathSymbol{\wedge}{\mathbin}{symbols}{"5E}
-   \let\land=\wedge
 \DeclareMathSymbol{\vee}{\mathbin}{symbols}{"5F}
-   \let\lor=\vee
+\DeclareMathSymbol{\land}{\mathbin}{symbols}{"5E}
+\DeclareMathSymbol{\lor}{\mathbin}{symbols}{"5F}
 \DeclareMathSymbol{\cap}{\mathbin}{symbols}{"5C}
 \DeclareMathSymbol{\cup}{\mathbin}{symbols}{"5B}
 \DeclareMathSymbol{\ddagger}{\mathbin}{symbols}{"7A}
@@ -311,12 +311,12 @@
 \DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C}
 \DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28}
 \DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29}
-\DeclareRobustCommand\neq{\not=}
-\DeclareRobustCommand\ne{\not=}
+   \DeclareRobustCommand\neq{\not=}
+   \DeclareRobustCommand\ne{\not=}
 \DeclareMathSymbol{\leq}{\mathrel}{symbols}{"14}
-   \let\le=\leq
 \DeclareMathSymbol{\geq}{\mathrel}{symbols}{"15}
-   \let\ge=\geq
+\DeclareMathSymbol{\le}{\mathrel}{symbols}{"14}
+\DeclareMathSymbol{\ge}{\mathrel}{symbols}{"15}
 \DeclareMathSymbol{\succ}{\mathrel}{symbols}{"1F}
 \DeclareMathSymbol{\prec}{\mathrel}{symbols}{"1E}
 \DeclareMathSymbol{\approx}{\mathrel}{symbols}{"19}
@@ -328,15 +328,15 @@
 \DeclareMathSymbol{\subseteq}{\mathrel}{symbols}{"12}
 \DeclareMathSymbol{\in}{\mathrel}{symbols}{"32}
 \DeclareMathSymbol{\ni}{\mathrel}{symbols}{"33}
-    \let\owns=\ni
+\DeclareMathSymbol{\owns}{\mathrel}{symbols}{"33}
 \DeclareMathSymbol{\gg}{\mathrel}{symbols}{"1D}
 \DeclareMathSymbol{\ll}{\mathrel}{symbols}{"1C}
 \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36}
 \DeclareMathSymbol{\leftrightarrow}{\mathrel}{symbols}{"24}
 \DeclareMathSymbol{\leftarrow}{\mathrel}{symbols}{"20}
-   \let\gets=\leftarrow
 \DeclareMathSymbol{\rightarrow}{\mathrel}{symbols}{"21}
-   \let\to=\rightarrow
+\DeclareMathSymbol{\gets}{\mathrel}{symbols}{"20}
+\DeclareMathSymbol{\to}{\mathrel}{symbols}{"21}
 \DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37}
    \DeclareRobustCommand\mapsto{\mapstochar\rightarrow}
 \DeclareMathSymbol{\sim}{\mathrel}{symbols}{"18}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.cfg	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.cfg	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fonttext.cfg}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2019/12/17 v3.0e LaTeX Kernel
 (Uncustomised text
            font setup)]
 %%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.ltx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/fonttext.ltx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fonttext.ltx}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2019/12/17 v3.0e LaTeX Kernel
 (Text
            font setup)]
 \typeout{=== Don't modify this file, use a .cfg file instead ===^^J}
@@ -45,18 +45,24 @@
 \input  {t1enc.def}
 \input {ot1enc.def}       % <- should come after T1 for speed
 \input {omsenc.def}
+\input{ts1enc.def}
 \ifx\Umathchar\@undefined
 \fontencoding{OT1}
+\def\rmsubstdefault{cmr}
+\def\sfsubstdefault{cmss}
+\def\ttsubstdefault{cmtt}
+\LoadFontDefinitionFile{TS1}{cmr}
 \else
 \input {tuenc.def}
 \fontencoding{TU}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
-\begingroup
-\nfss at catcodes
-\input  {tulmr.fd}
-\input  {tulmss.fd}
-\input  {tulmtt.fd}
-\endgroup
+\LoadFontDefinitionFile{TU}{lmr}
+\LoadFontDefinitionFile{TU}{lmss}
+\LoadFontDefinitionFile{TU}{lmtt}
+\def\rmsubstdefault{lmr}
+\def\sfsubstdefault{lmss}
+\def\ttsubstdefault{lmtt}
+\LoadFontDefinitionFile{TS1}{lmr}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
 \fi
 \DeclareFontEncodingDefaults{}{}
@@ -85,15 +91,18 @@
 \newcommand\sfdefault{lmss}
 \newcommand\ttdefault{lmtt}
 \fi
-\newcommand\bfdefault{bx}
+\newcommand\bfdefault{b}  % overwritten below
 \newcommand\mddefault{m}
 \newcommand\itdefault{it}
 \newcommand\sldefault{sl}
 \newcommand\scdefault{sc}
-\newcommand\updefault{n}
+\newcommand\updefault{up}  % overwritten below
+
+\renewcommand\updefault{up}
+\renewcommand\bfdefault{b}
 \newcommand\familydefault{\rmdefault}
 \newcommand\seriesdefault{\mddefault}
-\newcommand\shapedefault{\updefault}
+\newcommand\shapedefault{n}
 \endinput
 %%
 %% End of file `fonttext.ltx'.

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/graphpap.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/graphpap.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/graphpap.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/hyphen.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/hyphen.ltx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/hyphen.ltx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/idx.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/idx.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/idx.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ifthen.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ifthen.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ifthen.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/inputenc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/inputenc.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/inputenc.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/lablst.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/lablst.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/lablst.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latex.ltx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -19,10 +19,12 @@
 %% ltcounts.dtx  (with options: `2ekernel')
 %% ltlength.dtx  (with options: `2ekernel')
 %% ltfssbas.dtx  (with options: `2ekernel')
+%% ltfssaxes.dtx  (with options: `2ekernel')
 %% ltfsstrc.dtx  (with options: `2ekernel')
 %% ltfssdcl.dtx  (with options: `compat,2ekernel')
 %% ltfssini.dtx  (with options: `compat,2ekernel')
 %% ltfntcmd.dtx  (with options: `2ekernel')
+%% lttextcomp.dtx  (with options: `2ekernel')
 %% ltpageno.dtx  (with options: `2ekernel')
 %% ltxref.dtx  (with options: `2ekernel')
 %% ltmiscen.dtx  (with options: `2ekernel')
@@ -49,7 +51,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -708,8 +710,8 @@
 \def\fmtname{LaTeX2e}
 \edef\fmtversion
    {2020-02-01}
-\def\patch at level{-2}
-\edef\development at branch@name{development \the\year-\the\month-\the\day}
+\def\patch at level{-3}
+\edef\development at branch@name{develop \the\year-\the\month-\the\day}
 \iffalse
 \def\reserved at a#1/#2/#3\@nil{%
   \count@\year
@@ -2027,6 +2029,8 @@
    \let\hmode at start@before at group\@firstofone
    \setbox\@tempboxa\hbox{#2%
       \global\mathchardef\accent at spacefactor\spacefactor}%
+   \let\maybe at load@fontshape\relax
+   \let\ignorespaces\relax
    \accent#1 #2\egroup\spacefactor\accent at spacefactor}
 \let\accent at spacefactor\relax
 \def\hmode at bgroup{\leavevmode\bgroup}
@@ -2177,9 +2181,9 @@
 \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
 \DeclareTextCommandDefault{\textasciicircum}{\^{}}
 \DeclareTextCommandDefault{\textasciitilde}{\~{}}
-\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
 \DeclareTextCommandDefault{\textunderscore}{%
   \leavevmode \kern.06em\vbox{\hrule\@width.3em}}
+\DeclareTextSymbolDefault{\textcompwordmark}{T1}
 \DeclareTextCommandDefault{\textvisiblespace}{%
    \mbox{\kern.06em\vrule \@height.3ex}%
    \vbox{\hrule \@width.3em}%
@@ -2577,11 +2581,11 @@
 }
 \let\enc at update\relax
 \DeclareRobustCommand\fontfamily[1]{\edef\f at family{#1}}
-\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
-\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
-\DeclareRobustCommand\usefont[4]{\fontencoding{#1}\fontfamily{#2}%
-             \fontseries{#3}\fontshape{#4}\selectfont
-             \ignorespaces}
+\DeclareRobustCommand\usefont[4]{\fontencoding{#1}%
+   \edef\f at family{#2}%
+   \edef\f at series{#3}%
+   \edef\f at shape{#4}\selectfont
+   \ignorespaces}
 \DeclareRobustCommand\linespread[1]
    {\set at fontsize{#1}\f at size\f at baselineskip}
 \DeclareRobustCommand\fontsize[2]
@@ -2680,6 +2684,42 @@
    \@makeother\'%
    \@makeother\"%
 }
+\def\LoadFontDefinitionFile#1#2{%
+  \begingroup
+    \edef\f at encoding{#1}%
+    \edef\f at family{#2}%
+    \try at load@fontshape
+  \endgroup
+}
+
+\begingroup
+\nfss at catcodes
+\gdef\DeclareFontFamilySubstitution#1#2#3{%
+   \LoadFontDefinitionFile{#1}{#2}%
+   \LoadFontDefinitionFile{#1}{#3}%
+   \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}%
+   \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}%
+   \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}%
+   \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}%
+   \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}%
+   \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}%
+   \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}%
+   \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}%
+   \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}%
+   \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}%
+   \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}%
+   \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}%
+   \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}%
+}
+\endgroup
 \def\DeclareErrorFont#1#2#3#4#5{%
       \xdef\error at fontshape{%
           \noexpand\expandafter\noexpand\split at name\noexpand\string
@@ -2829,6 +2869,546 @@
  \def\@xviipt{17.28}
  \def\@xxpt{20.74}
  \def\@xxvpt{24.88}
+%%% From File: ltfssbas.dtx
+%% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
+\def\DeclareFontSeriesChangeRule#1#2#3#4{%
+  \@namedef{series@#1@#2}{{#3}{#4}}}
+\DeclareFontSeriesChangeRule {bc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {bc}{c}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc}
+\DeclareFontSeriesChangeRule {bc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {bc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc}
+\DeclareFontSeriesChangeRule {bc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {bc}{x}{bx}{} 
+\DeclareFontSeriesChangeRule {bx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {bx}{c}  {bc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {bx}{ec}  {bec}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {bx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {}
+\DeclareFontSeriesChangeRule {bx}{sc}  {bsc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{sl}{slx}  {} 
+\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {bx}{x}{bx}{} 
+\DeclareFontSeriesChangeRule {b}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{c}  {bc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{ec}  {bec}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sb} {sb}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sc}  {bsc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{x}  {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {c}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {c}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {c}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {c}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {c}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {c}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {c}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {c}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {c}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {c}{x}{x}{m}               %<-----
+\DeclareFontSeriesChangeRule {ebc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{} 
+\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc} 
+\DeclareFontSeriesChangeRule {ebc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {ebc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc} 
+\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{} 
+\DeclareFontSeriesChangeRule {ec}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {ec}{b}{bec}{} 
+\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{} 
+\DeclareFontSeriesChangeRule {ec}{el}{elec}{} 
+\DeclareFontSeriesChangeRule {ec}{l}{lec}{} 
+\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{} 
+\DeclareFontSeriesChangeRule {ec}{sl}{slec}{} 
+\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{} 
+\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{} 
+\DeclareFontSeriesChangeRule {ec}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {sc}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {sc}{b}{bsc}{} 
+\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{} 
+\DeclareFontSeriesChangeRule {sc}{el}{elsc}{} 
+\DeclareFontSeriesChangeRule {sc}{l}{lsc}{} 
+\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{} 
+\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{} 
+\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{} 
+\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{} 
+\DeclareFontSeriesChangeRule {sc}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {ebx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{} 
+\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{} 
+\DeclareFontSeriesChangeRule {ebx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {ebx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{} 
+\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{} 
+\DeclareFontSeriesChangeRule {eb}{c}{ebc}{} 
+\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{} 
+\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{} 
+\DeclareFontSeriesChangeRule {eb}{x}{ebx}{} 
+\DeclareFontSeriesChangeRule {elc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {elc}{c}{elc}{} 
+\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {elc}{ec}{elec}{} 
+\DeclareFontSeriesChangeRule {elc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {elc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{} 
+\DeclareFontSeriesChangeRule {elc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {elc}{x}{elx}{} 
+\DeclareFontSeriesChangeRule {elx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {elx}{c}{elc}{} 
+\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {elx}{ec}{elec}{} 
+\DeclareFontSeriesChangeRule {elx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {elx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{} 
+\DeclareFontSeriesChangeRule {elx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {elx}{x}{elx}{} 
+\DeclareFontSeriesChangeRule {el}{c}{elc}{} 
+\DeclareFontSeriesChangeRule {el}{ec}{elec}{} 
+\DeclareFontSeriesChangeRule {el}{sc}{elsc}{} 
+\DeclareFontSeriesChangeRule {el}{x}{elx}{} 
+\DeclareFontSeriesChangeRule {lc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {lc}{c}{lc}{} 
+\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {lc}{ec}{lec}{} 
+\DeclareFontSeriesChangeRule {lc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {lc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{} 
+\DeclareFontSeriesChangeRule {lc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {lc}{x}{lx}{} 
+\DeclareFontSeriesChangeRule {lx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {lx}{c}{lc}{} 
+\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {lx}{ec}{lec}{} 
+\DeclareFontSeriesChangeRule {lx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {lx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{} 
+\DeclareFontSeriesChangeRule {lx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {lx}{x}{lx}{} 
+\DeclareFontSeriesChangeRule {l}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {l}{b}  {b}   {bx} %<-----
+\DeclareFontSeriesChangeRule {l}{c}  {lc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{ec}  {lec}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sb} {sb}  {b}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sc}  {lsc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{x}  {lx}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {m}{bx} {bx} {b}    %<-----
+\DeclareFontSeriesChangeRule {m}{b}  {b}  {bx} %<-----
+\DeclareFontSeriesChangeRule {m}{c}  {c}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{ec}  {ec}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{l}  {l}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{sb} {sb} {b} %<-----
+\DeclareFontSeriesChangeRule {m}{sc}  {sc}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{x}  {x}  {m} %<-----
+\DeclareFontSeriesChangeRule {sbc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{} 
+\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc} 
+\DeclareFontSeriesChangeRule {sbc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {sbc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc} 
+\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{} 
+\DeclareFontSeriesChangeRule {sbx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{} 
+\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{} 
+\DeclareFontSeriesChangeRule {sbx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {sbx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{} 
+\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{} 
+\DeclareFontSeriesChangeRule {sb}{c}  {sbc} {bc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{ec}  {sbec} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{sc}  {sbsc} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{x}  {sbx} {bx} %? %<-----
+\DeclareFontSeriesChangeRule {slc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {slc}{c}{slc}{} 
+\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {slc}{ec}{slec}{} 
+\DeclareFontSeriesChangeRule {slc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {slc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{} 
+\DeclareFontSeriesChangeRule {slc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {slc}{x}{slx}{} 
+\DeclareFontSeriesChangeRule {slx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {slx}{c}{slc}{} 
+\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {slx}{ec}{slec}{} 
+\DeclareFontSeriesChangeRule {slx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {slx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{} 
+\DeclareFontSeriesChangeRule {slx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {slx}{x}{slx}{} 
+\DeclareFontSeriesChangeRule {sl}{c}{slc}{} 
+\DeclareFontSeriesChangeRule {sl}{ec}{slec}{} 
+\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{} 
+\DeclareFontSeriesChangeRule {sl}{x}{slx}{} 
+\DeclareFontSeriesChangeRule {ubc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{} 
+\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{} 
+\DeclareFontSeriesChangeRule {ubc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {ubc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{} 
+\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{} 
+\DeclareFontSeriesChangeRule {ubx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{} 
+\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{} 
+\DeclareFontSeriesChangeRule {ubx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {ubx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{} 
+\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{} 
+\DeclareFontSeriesChangeRule {ub}{c}{ubc}{} 
+\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{} 
+\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{} 
+\DeclareFontSeriesChangeRule {ub}{x}{ubx}{} 
+\DeclareFontSeriesChangeRule {ulc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{} 
+\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc} 
+\DeclareFontSeriesChangeRule {ulc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {ulc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc} 
+\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{} 
+\DeclareFontSeriesChangeRule {ulx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{} 
+\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{} 
+\DeclareFontSeriesChangeRule {ulx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {ulx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{} 
+\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{} 
+\DeclareFontSeriesChangeRule {ul}{c}{ulc}{} 
+\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{} 
+\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{} 
+\DeclareFontSeriesChangeRule {ul}{x}{ulx}{} 
+\DeclareFontSeriesChangeRule {x}{b}{bx}{}
+\DeclareFontSeriesChangeRule {x}{c}{c}{}
+\DeclareFontSeriesChangeRule {x}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {x}{ec}{ec}{}
+\DeclareFontSeriesChangeRule {x}{el}{elx}{}
+\DeclareFontSeriesChangeRule {x}{l}{lx}{}
+\DeclareFontSeriesChangeRule {x}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {x}{sc}{sc}{}
+\DeclareFontSeriesChangeRule {x}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {x}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {x}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {bec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {bx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {b}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {c}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ebc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {ebx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {eb}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {ec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {elec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {elx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {el}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {lc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {lec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {lx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {l}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {m}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {sbc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {sbx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {sb}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {sc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {slec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {slx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {sl}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {ubc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {ubx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {ub}{m?}{ub}{} 
+\DeclareFontSeriesChangeRule {ulc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ulx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {ul}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {x}{m?}{x}{}
+\DeclareFontSeriesChangeRule {bc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bec}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bx}{?m}{b}{} 
+\DeclareFontSeriesChangeRule {b}{?m}{b}{} 
+\DeclareFontSeriesChangeRule {c}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {eb}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ec}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {elc}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elec}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elx}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {el}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {lc}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lec}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lx}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {l}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {m}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sb}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {slc}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slec}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slx}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {sl}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ub}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ul}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {x}{?m}{m}{} 
+
+
+\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
+\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+
+\def\merge at font@series#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@series@
+    \csname series@\f at series @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@series@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \set at target@series{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /#1/\f at shape}%
+     \ifcsname \@reserveda \endcsname
+       \set at target@series{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /#2/\f at shape \endcsname
+         \set at target@series{#2}%
+         \@font at shape@subst at warning
+       \else
+         \set at target@series{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\def\@font at shape@subst at warning{%
+   \edef\@reservedb{\curr at fontshape}%
+   \ifx\@reserveda\@reservedb \else
+     \@font at warning{Font shape `\@reserveda' undefined\MessageBreak
+                    using `\@reservedb' instead}%
+   \fi
+}
+\def\maybe at load@fontshape{\begingroup\try at load@fontshape\endgroup}
+\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc} 
+\def\set at target@series#1{%
+    \edef\f at series{#1}%
+    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+}
+\def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
+  \ifx\relax#1#2\relax m\else#1#2\fi
+}
+
+\def\DeclareFontShapeChangeRule #1#2#3#4{%
+  \@namedef{shape@#1@#2}{{#3}{#4}}}
+\DeclareRobustCommand\ulcshape
+        {\not at math@alphabet\ulcshape\relax
+         \fontshape\ulcdefault\selectfont}
+\newcommand\ulcdefault{ulc}
+\DeclareRobustCommand\swshape
+        {\not at math@alphabet\swshape\relax
+         \fontshape\swdefault\selectfont}
+\newcommand\swdefault{sw}
+\DeclareRobustCommand\sscshape
+        {\not at math@alphabet\sscshape\relax
+         \fontshape\sscdefault\selectfont}
+\newcommand\sscdefault{ssc}
+\DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
+\DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
+\DeclareFontShapeChangeRule {n}{ulc} {n}   {}
+\DeclareFontShapeChangeRule {n}{up} {n}    {}
+\DeclareFontShapeChangeRule {it}{sl}  {sl}    {it}
+\DeclareFontShapeChangeRule {it}{sc}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {it}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {it}{up} {n}      {}
+\DeclareFontShapeChangeRule {sl}{it}  {it}    {sl}
+\DeclareFontShapeChangeRule {sl}{sc}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {sl}{up} {n}      {}
+\DeclareFontShapeChangeRule {sc}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {sc}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sc}{sw}  {scsw}  {sw}
+\DeclareFontShapeChangeRule {sc}{ulc} {n}     {}
+\DeclareFontShapeChangeRule {sc}{up} {n}     {}
+\DeclareFontShapeChangeRule {scit}{it}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {scit}{sw}  {scsw}  {sc}    % or scit?
+\DeclareFontShapeChangeRule {scit}{sc}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {scit}{up} {sc}     {}
+\DeclareFontShapeChangeRule {scsl}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {scsl}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{sw}  {scsw}  {sc}    % or scsl?
+\DeclareFontShapeChangeRule {scsl}{sc}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {scsl}{up}   {sc}   {}
+\DeclareFontShapeChangeRule {scsw}{it}  {scit}  {scsw}
+\DeclareFontShapeChangeRule {scsw}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsw}{sw}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {scsw}{up} {sc}     {}
+\DeclareFontShapeChangeRule {sw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {sw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {sw}{up} {n}      {}
+\DeclareRobustCommand\fontshape[1]{\merge at font@shape{#1}}
+\DeclareRobustCommand\fontshapeforce[1]{\edef\f at shape{#1}}
+\def\merge at font@shape#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@shape@
+    \csname shape@\f at shape @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@shape@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \edef\f at shape{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /\f at series/#1}%
+     \ifcsname \@reserveda\endcsname
+       \edef\f at shape{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /\f at series/#2\endcsname
+         \edef\f at shape{#2}%
+         \@font at shape@subst at warning
+       \else
+         \edef\f at shape{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\protected\def\normalshape
+    {\not at math@alphabet\normalshape\relax
+      \fontshape\shapedefault\selectfont}%
+\def\reinstall at nfss@defs{%
+  \protected\def\upshape
+          {\not at math@alphabet\upshape\relax
+           \fontshape\updefault\selectfont}%
+  \protected\def\slshape
+          {\not at math@alphabet\slshape\relax
+           \fontshape\sldefault\selectfont}%
+  \protected\def\scshape
+          {\not at math@alphabet\scshape\relax
+           \fontshape\scdefault\selectfont}%
+  \protected\def\itshape
+          {\not at math@alphabet\itshape\mathit
+           \fontshape\itdefault\selectfont}%
+  \protected\def\ulcshape
+          {\not at math@alphabet\ulcshape\relax
+           \fontshape{ulc}\selectfont}%
+  \protected\def\swshape
+          {\not at math@alphabet\swshape\relax
+           \fontshape\swdefault\selectfont}%
+  \protected\def\sscshape
+          {\not at math@alphabet\sscshape\relax
+           \fontshape\sscdefault\selectfont}%
+}
+
 %%% From File: ltfsstrc.dtx
 %% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf.
 %% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved.
@@ -3126,6 +3706,11 @@
     \get at external@font
     \do at subst@correction
 }
+\DeclareSizeFunction{alias}{\sub at sfcnt\@font at aliasinfo}
+\def\@font at aliasinfo#1{%
+  \@font at info{Font\space shape\space `\curr at fontshape'\space
+              aliased\space to\MessageBreak `\mandatory at arg'}%
+}
 \DeclareSizeFunction{subf}{\subf at sfcnt\@font at warning}
 \DeclareSizeFunction{ssubf}{\subf at sfcnt\@font at info}
 \def\subf at sfcnt#1{%
@@ -3990,21 +4575,6 @@
 %% all rights reserved.
 \DeclareMathVersion{normal}
 \DeclareMathVersion{bold}
-\DeclareRobustCommand\rmfamily
-        {\not at math@alphabet\rmfamily\mathrm
-         \fontfamily\rmdefault\selectfont}
-\DeclareRobustCommand\sffamily
-        {\not at math@alphabet\sffamily\mathsf
-         \fontfamily\sfdefault\selectfont}
-\DeclareRobustCommand\ttfamily
-        {\not at math@alphabet\ttfamily\mathtt
-         \fontfamily\ttdefault\selectfont}
-\DeclareRobustCommand\bfseries
-        {\not at math@alphabet\bfseries\mathbf
-         \fontseries\bfdefault\selectfont}
-\DeclareRobustCommand\mdseries
-        {\not at math@alphabet\mdseries\relax
-         \fontseries\mddefault\selectfont}
 \DeclareRobustCommand\upshape
         {\not at math@alphabet\upshape\relax
          \fontshape\updefault\selectfont}
@@ -4017,10 +4587,185 @@
 \DeclareRobustCommand\itshape
         {\not at math@alphabet\itshape\mathit
          \fontshape\itdefault\selectfont}
-\DeclareRobustCommand\em
-        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
-                       \eminnershape \else \itshape \fi}%
-\def\eminnershape{\upshape}%
+\newcommand\DeclareFontSeriesDefault[3][]{%
+  \def\@reserveda{#1}%
+  \ifx\@resereda\@empty
+    \ifcsname #2series\endcsname           % supported are
+                                           % \[md/bf]default
+      \expandafter\def
+         \csname #2default\endcsname{#3}%
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Mandatory first argument must be 'md'  or 'bf'.}
+    \fi
+  \else
+    \ifcsname #2series@#1\endcsname          % supported are
+                                             % \[md/bf]series@[rm/sf/tt]
+      \expandafter\edef
+         \csname #2series@#1\endcsname{#3}%
+      \expandafter\let
+         \csname #2series@#1 at kernel\endcsname\@undefined
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+           Second argument must be 'md'  or 'bf'.}
+    \fi
+  \fi
+}
+
+\def\bfseries at rm{bx}
+\def\bfseries at sf{bx}
+\def\bfseries at tt{bx}
+\let\bfseries at rm@kernel\bfseries at rm
+\let\bfseries at sf@kernel\bfseries at sf
+\let\bfseries at tt@kernel\bfseries at tt
+\def\mdseries at rm{m}
+\def\mdseries at sf{m}
+\def\mdseries at tt{m}
+
+\def\expand at font@defaults{%
+  \edef\rmdef at ult{\rmdefault}%
+  \edef\sfdef at ult{\sfdefault}%
+  \edef\ttdef at ult{\ttdefault}%
+  \edef\bfdef at ult{\bfdefault}%
+  \edef\mddef at ult{\mddefault}%
+  \edef\famdef at ult{\familydefault}%
+}
+
+\DeclareRobustCommand\bfseries{%
+  \not at math@alphabet\bfseries\mathbf
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \bfseries at rm
+    \else\ifx\f at family\sfdef at ult \bfseries at sf
+    \else\ifx\f at family\ttdef at ult \bfseries at tt
+    \else                        \bfdefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\mdseries{%
+  \not at math@alphabet\mdseries\relax
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \mdseries at rm
+    \else\ifx\f at family\sfdef at ult \mdseries at sf
+    \else\ifx\f at family\ttdef at ult \mdseries at tt
+    \else                        \mddefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\rmfamily{%
+   \not at math@alphabet\rmfamily\mathrm
+   \prepare at family@series at update{rm}\rmdefault
+   \@rmfamilyhook
+   \selectfont}
+\DeclareRobustCommand\sffamily{%
+   \not at math@alphabet\sffamily\mathsf
+   \prepare at family@series at update{sf}\sfdefault
+   \@sffamilyhook
+   \selectfont}
+\DeclareRobustCommand\ttfamily{%
+   \not at math@alphabet\ttfamily\mathtt
+   \prepare at family@series at update{tt}\ttdefault
+   \@ttfamilyhook
+   \selectfont}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+
+\def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
+\def\prepare at family@series at update#1#2{%
+   \expand at font@defaults
+   \let\target at series@value\@empty
+   \def\target at meta@family at value{#1}%
+   \let\@elt\update at series@target at value
+      \@meta at family@list
+   \let\@elt\relax
+   \fontfamily#2%
+   \ifx\target at series@value\@empty
+   \else
+     \maybe at load@fontshape
+     \let\f at series\target at series@value
+   \fi
+}
+\def\update at series@target at value#1{%
+  \def\@reserveda{#1}%
+  \ifx\target at meta@family at value\@reserveda   % rm -> rm do nothing
+  \else
+    \expandafter\ifx\csname#1def at ult\endcsname\f at family
+      \let\@elt\@gobble
+      \expandafter\let\expandafter\@reservedb
+                      \csname mdseries@\target at meta@family at value\endcsname
+      \expandafter\let\expandafter\@reservedc
+                      \csname bfseries@\target at meta@family at value\endcsname
+      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedb
+      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedc
+      \else\ifx\f at series\mddef at ult    \let\target at series@value\@reservedb
+      \else\ifx\f at series\bfdef at ult    \let\target at series@value\@reservedc
+      \fi\fi\fi\fi
+    \fi
+  \fi
+}
+\def\init at series@setup{%
+  \ifx\bfseries at rm@kernel\bfseries at rm
+    \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at rm{b}\fi\fi
+  \ifx\bfseries at sf@kernel\bfseries at sf
+    \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at sf{b}\fi\fi
+  \ifx\bfseries at tt@kernel\bfseries at tt
+    \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at tt{b}\fi\fi
+
+  \expand at font@defaults
+  \ifx\famdef at ult\rmdef at ult      \rmfamily
+  \else\ifx\famdef at ult\sfdef at ult \sffamily
+  \else\ifx\famdef at ult\ttdef at ult \ttfamily
+  \fi\fi\fi
+}%
+\expandafter\let\csname ver at mweights.sty\endcsname\fmtversion
+
+\def\DeclareEmphSequence#1{%
+  \protected at edef\emfontdeclare at clist{\zap at space#1, \@empty\emforce\emreset}%
+}
+\let\emfontdeclare at clist\@empty
+
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
+
+\DeclareRobustCommand\em{%
+  \@nomath\em
+  \ifx\emfontdeclare at clist\@empty
+    \ifdim \fontdimen\@ne\font >\z@
+      \eminnershape \else \itshape \fi
+  \else
+  \edef\em at currfont{\csname\curr at fontshape/\f at size\endcsname}%
+    \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \fi
+}
+\def\eminnershape{\upshape}
+\def\do at emfont@update#1,#2\do at emfont@update{%
+  \def\emfontdeclare at clist{#2,#1}%
+  #1\selectfont
+  \expandafter\ifx\csname \curr at fontshape/\f at size\em at force
+                          \expandafter\endcsname
+                  \em at currfont
+  \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \else
+    \let\em at force\@empty
+  \fi
+}
+
+\protected\def\emforce{\def\em at force{/}}
+\let\em at force\@empty
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \def\not at math@alphabet#1#2{%
    \relax
    \ifmmode
@@ -4050,13 +4795,6 @@
     \fi
     \fontsize{#2}{#3}\selectfont}
 \def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}}
-\DeclareRobustCommand\oldstylenums[1]{%
-   \begingroup
-    \spaceskip\fontdimen\tw@\font
-    \usefont{OML}{\rmdefault}{\f at series}{it}%
-    \mathgroup\symletters #1%
-   \endgroup
-}
 \def\hexnumber@#1{\ifcase\number#1
  0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
  9\or A\or B\or C\or D\or E\or F\fi}
@@ -4146,6 +4884,10 @@
 \DeclareTextFontCommand{\textsl}{\slshape}
 \DeclareTextFontCommand{\textsc}{\scshape}
 \DeclareTextFontCommand{\textup}{\upshape}
+
+\DeclareTextFontCommand{\textulc}{\ulcshape}
+\DeclareTextFontCommand{\textsw}{\swshape}
+\DeclareTextFontCommand{\textssc}{\sscshape}
 \DeclareTextFontCommand{\emph}{\em}
 \let \nocorr \relax
 \let \check at icl \@empty
@@ -4251,6 +4993,518 @@
               there is probably something wrong with
               the class file}\@eha
 }
+\DeclareRobustCommand\legacyoldstylenums[1]{%
+   \begingroup
+    \spaceskip\fontdimen\tw@\font
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+ \ifmmode
+   \mathgroup\symletters #1%
+  \else
+   \CheckEncodingSubset\@use at text@encoding{TS1}\tc at oldstylesubst2{{#1}}%
+ \fi
+ \endgroup
+}
+\def\tc at oldstylesubst#1{%
+   \tc at errorwarn
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Default oldstyle digits used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \fontencoding{TS1}\selectfont#1%
+  \egroup
+}
+\def\textcompsubstdefault{\rmsubstdefault}
+
+\def\DeclareEncodingSubset#1#2{%
+  \DeclareEncodingSubset at aux{#1}#2*\DeclareEncodingSubset at aux
+}
+\def\DeclareEncodingSubset at aux#1#2*#3\DeclareEncodingSubset at aux#4{%
+  \expandafter\ifx\expandafter X\detokenize{#3}X%
+    \@DeclareEncodingSubset{#1}{#2}{#4}%
+  \else
+    \@DeclareEncodingSubset{#1}{#2LF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TLF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2OsF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TOsF}{#4}%
+  \fi
+}
+\def\@DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\@font at info{Setting #2 sub-encoding to #1/#3}}%
+     {\@font at info{Changing #2 sub-encoding to #1/#3}}%
+     \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+\@onlypreamble\DeclareEncodingSubset at aux
+\@onlypreamble\@DeclareEncodingSubset
+
+
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+
+\def\tc at errorwarn#1#2{\@latex at info{#1}}
+
+\def\tc at subst#1{%
+   \tc at errorwarn
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\substdefault
+      \fi\fi\fi
+      \@namedef{TS1:\f at family}{0}%
+      \selectfont#1%
+  \egroup
+}
+
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \@font at info{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+\def\tc at check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc at swap@accent#1}}
+\def\tc at swap@accent#1#2{\UseTextAccent{T1}#1}
+
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar}  {OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\UndeclareTextCommand{\textsterling}{OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
+                                                  % should actually not be declaed
+                                                  % in the t1enc.def file instead
+                                                  % otherwise fontenc would overwrite
+                                                  % it again (legacy tests!)
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above
+%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t}
+\ifx\Umathcode\@undefined
+  \DeclareTextCommandDefault{\capitalacute}       {\tc at check@accent{\'}2\capitalacute}
+  \DeclareTextCommandDefault{\capitalbreve}       {\tc at check@accent{\u}2\capitalbreve}
+  \DeclareTextCommandDefault{\capitalcaron}       {\tc at check@accent{\v}2\capitalcaron}
+  \DeclareTextCommandDefault{\capitalcedilla}     {\tc at check@accent{\c}2\capitalcedilla}
+  \DeclareTextCommandDefault{\capitalcircumflex}  {\tc at check@accent{\^}2\capitalcircumflex}
+  \DeclareTextCommandDefault{\capitaldieresis}    {\tc at check@accent{\"}2\capitaldieresis}
+  \DeclareTextCommandDefault{\capitaldotaccent}   {\tc at check@accent{\.}2\capitaldotaccent}
+  \DeclareTextCommandDefault{\capitalgrave}       {\tc at check@accent{\`}2\capitalgrave}
+  \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc at check@accent{\H}2\capitalhungarumlaut}
+  \DeclareTextCommandDefault{\capitalmacron}      {\tc at check@accent{\=}2\capitalmacron}
+  \DeclareTextCommandDefault{\capitalogonek}      {\tc at check@accent{\k}2\capitalogonek}
+  \DeclareTextCommandDefault{\capitalring}        {\tc at check@accent{\r}2\capitalring}
+  \DeclareTextCommandDefault{\capitaltie}         {\tc at check@accent{\t}2\capitaltie}
+  \DeclareTextCommandDefault{\capitaltilde}       {\tc at check@accent{\~}2\capitaltilde}
+  \DeclareTextCommandDefault{\newtie}             {\tc at check@accent{\t}2\newtie}
+  \DeclareTextCommandDefault{\capitalnewtie}      {\tc at check@accent{\t}2\capitalnewtie}
+\else
+  \def\capitalacute{\'}
+  \def\capitalbreve{\u}
+  \def\capitalcaron{\v}
+  \def\capitalcedilla{\c}
+  \def\capitalcircumflex{\^}
+  \def\capitaldieresis{\"}
+  \def\capitaldotaccent{\.}
+  \def\capitalgrave{\`}
+  \def\capitalhungarumlaut{\H}
+  \def\capitalmacron{\=}
+  \def\capitalnewtie{\t}
+  \def\capitalogonek{\k}
+  \def\capitalring{\r}
+  \def\capitaltie{\t}
+  \def\capitaltilde{\~}
+  \def\newtie{\t}
+\fi
+\DeclareTextCommandDefault{\textlbrackdbl}      {\tc at check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl}      {\tc at check@symbol2\textrbrackdbl}
+\DeclareTextCommandDefault{\texteightoldstyle}  {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}   {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}   {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}   {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}  {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}  {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle}   {\tc at check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textacutedbl}       {\tc at check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciiacute}     {\tc at check@symbol2\textasciiacute}
+\DeclareTextCommandDefault{\textasciibreve}     {\tc at check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron}     {\tc at check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textasciidieresis}  {\tc at check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciigrave}     {\tc at check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\textasciimacron}    {\tc at check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textgravedbl}       {\tc at check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\texttildelow}       {\tc at check@symbol2\texttildelow}
+\DeclareTextCommandDefault{\textbaht}           {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle}      {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn}           {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle}   {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP}       {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft}       {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar}  {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen}      {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied}           {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount}       {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced}       {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani}        {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf}           {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill}         {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried}        {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho}            {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote}    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira}          {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet}     {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso}           {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow}        {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe}         {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark}  {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill}         {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark}    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd}           {\tc at check@symbol2\textsurd}
+\DeclareTextCommandDefault{\textpertenthousand} {\tc at check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+\DeclareTextCommandDefault{\textlangle}         {\tc at check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle}         {\tc at check@symbol3\textrangle}
+\DeclareTextCommandDefault{\textcolonmonetary}  {\tc at check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong}           {\tc at check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow}      {\tc at check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow}      {\tc at check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira}           {\tc at check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow}     {\tc at check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow}        {\tc at check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon}            {\tc at check@symbol4\textwon}
+\DeclareTextCommandDefault{\textestimated}      {\tc at check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textnumero}         {\tc at check@symbol5\textnumero}
+\DeclareTextCommandDefault{\textflorin}         {\tc at check@symbol6\textflorin}
+\DeclareTextCommandDefault{\textcurrency}       {\tc at check@symbol6\textcurrency}
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc at check@symbol7\textfractionsolidus}
+\DeclareTextCommandDefault{\textohm}            {\tc at check@symbol7\textohm}
+\DeclareTextCommandDefault{\textmu}             {\tc at check@symbol7\textmu}
+\DeclareTextCommandDefault{\textminus}          {\tc at check@symbol7\textminus}
+\DeclareTextCommandDefault{\textblank}          {\tc at check@symbol{8}\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc at check@symbol{8}\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang}    {\tc at check@symbol{8}\textinterrobang}
+\DeclareTextCommandDefault{\texteuro}
+            {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro{8}\texteuro}
+\DeclareTextCommandDefault{\textcelsius}{\tc at check@symbol{9}\textcelsius}
+\DeclareTextCommandDefault{\textonesuperior}{\tc at check@symbol{9}\textonesuperior}
+\DeclareTextCommandDefault{\textthreequartersemdash}{\tc at check@symbol{9}\textthreequartersemdash}
+\DeclareTextCommandDefault{\textthreesuperior}{\tc at check@symbol{9}\textthreesuperior}
+\DeclareTextCommandDefault{\texttwelveudash}{\tc at check@symbol{9}\texttwelveudash}
+\DeclareTextCommandDefault{\texttwosuperior}{\tc at check@symbol{9}\texttwosuperior}
+\DeclareTextCommandDefault{\textbardbl}{\tc at check@symbol{9}\textbardbl}
+
+\ifx \Umathcode\@undefined  \else
+\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}}
+\DeclareTextCommand{\textoneoldstyle}  \UnicodeEncodingName{\oldstylenums{1}}
+\DeclareTextCommand{\texttwooldstyle}  \UnicodeEncodingName{\oldstylenums{2}}
+\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}}
+\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}}
+\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}}
+\DeclareTextCommand{\textsixoldstyle}  \UnicodeEncodingName{\oldstylenums{6}}
+\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}}
+\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}}
+\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}}
+\DeclareTextSymbol{\textpilcrow}       \UnicodeEncodingName{"00B6}
+\DeclareTextSymbol{\textborn}          \UnicodeEncodingName{"002A}
+\DeclareTextSymbol{\textdied}          \UnicodeEncodingName{"2020}
+\DeclareTextSymbol{\textlbrackdbl}     \UnicodeEncodingName{"27E6}
+\DeclareTextSymbol{\textrbrackdbl}     \UnicodeEncodingName{"27E7}
+\DeclareTextSymbol{\textguarani}       \UnicodeEncodingName{"20B2}
+\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
+\DeclareTextSymbol{\textcentoldstyle}  {TS1}{139}
+\fi               % --- END of Unicode engines specials
+\DeclareEncodingSubset{TS1}{?}{9}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+\DeclareEncodingSubset{TS1}{lmr}     {1}
+\DeclareEncodingSubset{TS1}{lmdh}    {1}
+\DeclareEncodingSubset{TS1}{lmss}    {1}
+\DeclareEncodingSubset{TS1}{lmssq}   {1}
+\DeclareEncodingSubset{TS1}{lmvtt}   {1}
+\DeclareEncodingSubset{TS1}{lmtt}    {1} % missing TM, SM, pertenthousand for some reason
+\DeclareEncodingSubset{TS1}{ptmx}    {2}
+\DeclareEncodingSubset{TS1}{ptmj}    {2}
+\DeclareEncodingSubset{TS1}{ul8}     {2}
+\DeclareEncodingSubset{TS1}{bch}     {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futj}    {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{futs}    {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futx}    {5}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{pag}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pbk}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pcr}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{phv}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pnc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pplj}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{pplx}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{ppl}     {5}  % tofu for blank interrobang/down
+\DeclareEncodingSubset{TS1}{ptm}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pzc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{ul9}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayroms} {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayrom}  {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{augie}   {8}  % really only missing euro
+\DeclareEncodingSubset{TS1}{put}     {8}
+\DeclareEncodingSubset{TS1}{uag}     {8}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{ugq}     {8}
+\DeclareEncodingSubset{TS1}{zi4}     {9}
+\DeclareEncodingSubset{TS1}{hls}     {5}
+\DeclareEncodingSubset{TS1}{hlst}    {5}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlh}     {5}
+\DeclareEncodingSubset{TS1}{hlx}     {8}
+\DeclareEncodingSubset{TS1}{hlce}    {8}
+\DeclareEncodingSubset{TS1}{hlcn}    {8}
+\DeclareEncodingSubset{TS1}{hlcw}    {8}
+\DeclareEncodingSubset{TS1}{hlcf}    {8}
+\DeclareEncodingSubset{TS1}{lato-*}                   {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{opensans-*}               {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{cantarell-*}              {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*}                    {0}  % missing centoldstyle
+\DeclareEncodingSubset{TS1}{tli}                      {1}  % with lots of tofu inside
+\DeclareEncodingSubset{TS1}{Alegreya-*}               {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-*}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF}  {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF}       {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-*}             {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF}              {2}
+\DeclareEncodingSubset{TS1}{Tempora-TOsF}             {2}
+\DeclareEncodingSubset{TS1}{Arimo-TLF}                {3}
+\DeclareEncodingSubset{TS1}{Carlito-*}                {3}
+\DeclareEncodingSubset{TS1}{FiraSans-*}               {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF}          {3}
+\DeclareEncodingSubset{TS1}{Merriweather-OsF}         {3}
+\DeclareEncodingSubset{TS1}{Montserrat-*}             {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*}   {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF}        {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF}       {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-*}          {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-*}         {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF}                {3}
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF}                {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Chivo-*}                  {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF}            {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF}            {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-*}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TOsF}            {4}
+\DeclareEncodingSubset{TS1}{Go-TLF}                   {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{InriaSans-*}              {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-*}             {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-*}         {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-*}        {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF}          {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF}       {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*}         {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-*}        {4}
+\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF}     {4}
+\DeclareEncodingSubset{TS1}{MintSpirit-*}             {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*}        {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF}        {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF}         {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF}              {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF}       {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Raleway-TOsF}             {4}
+\DeclareEncodingSubset{TS1}{Roboto-*}                 {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF}           {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF}           {4}
+\DeclareEncodingSubset{TS1}{Rosario-*}                {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-*}          {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF}     {4}
+\DeclareEncodingSubset{TS1}{Almendra-OsF}             {5}
+\DeclareEncodingSubset{TS1}{Baskervaldx-*}            {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*}           {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF}               {5}
+\DeclareEncodingSubset{TS1}{Cinzel-LF}                {5}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF}      {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF}          {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF}            {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF}        {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF}       {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF}   {5}
+\DeclareEncodingSubset{TS1}{LobsterTwo-LF}            {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF}          {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF}      {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF}     {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF}          {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TOsF}        {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF}       {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF}      {5}
+\DeclareEncodingSubset{TS1}{Crimson-TLF}              {6}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF}          {6}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF}         {6}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF}       {6}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF}   {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF}  {6}
+\DeclareEncodingSubset{TS1}{Overlock-LF}              {6}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-*}      {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF}           {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TOsF}          {7}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF}        {7}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF}     {7}
+\DeclareEncodingSubset{TS1}{LibreCaslon-*}            {7}
+\DeclareEncodingSubset{TS1}{Marcellus-LF}             {7}
+\DeclareEncodingSubset{TS1}{NotoSans-*}               {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF}         {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF}        {7}
+\DeclareEncodingSubset{TS1}{NotoSerif-*}              {7}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF}         {7}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF}     {7}
+\DeclareEncodingSubset{TS1}{XCharter-TLF}             {7}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF}            {7}
+\DeclareEncodingSubset{TS1}{erewhon-*}                {7}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF}            {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF}     {7}
+\DeclareEncodingSubset{TS1}{Forum-LF}                 {7}  % the superiors are missing
+\DeclareEncodingSubset{TS1}{Cochineal-*}              {8}
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF}         {9}
+\def\UseLegacyTextSymbols{%
+  \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textbardbl}{OMS}%
+  \DeclareTextSymbolDefault{\textbullet}{OMS}%
+  \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}%
+  \DeclareTextSymbolDefault{\textdagger}{OMS}%
+  \DeclareTextSymbolDefault{\textparagraph}{OMS}%
+  \DeclareTextSymbolDefault{\textperiodcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textsection}{OMS}%
+  \UndeclareTextCommand{\textsection}{T1}%
+  \expandafter\let\csname oldstylenums \expandafter\endcsname
+                  \csname legacyoldstylenums \endcsname
+}
+
+\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3}   % "03
+\DeclareTextSymbol{\textlegacybardbl}{OMS}{107}           % "6B
+\DeclareTextSymbol{\textlegacybullet}{OMS}{15}            % "0F
+\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122}        % "7A
+\DeclareTextSymbol{\textlegacydagger}{OMS}{121}           % "79
+\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123}        % "7B
+\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1}     % "01
+\DeclareTextSymbol{\textlegacysection}{OMS}{120}          % "78
+\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacybardbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacybullet}{OMS}
+\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacydagger}{OMS}
+\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS}
+\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacysection}{OMS}
+
+
+
 %%% From File: ltpageno.dtx
 \message{page nos.,}
 \countdef\c at page=0 \c at page=1
@@ -7886,12 +9140,16 @@
   \@ifnextchar[\@pr at videpackage{\@pr at videpackage[]}}%]
 \@onlypreamble\ProvidesPackage
 \def\@pr at videpackage[#1]{%
-  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}%
   \ifx\@currext\@clsextension
     \typeout{Document Class: \@gtempa\space#1}%
   \else
-    \wlog{Package: \@gtempa\space#1}%
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
   \fi}
+\long\def\protected at wlog#1{\begingroup
+  \set at display@protect
+  \immediate \write \m at ne {#1}\endgroup }
 \@onlypreamble\@pr at videpackage
 \let\ProvidesClass\ProvidesPackage
 \@onlypreamble\ProvidesClass
@@ -8257,12 +9515,12 @@
 \gdef\filec at ntents#1{%
   \set at curr@file{\filec at ntents@checkdir#1}%
   \edef\q at curr@file{\expandafter\quote at name\expandafter{\@curr at file}}%
+  \chardef\reserved at c\ifx\directlua\@undefined 15 \else 127 \fi%
   \openin\@inputcheck\q at curr@file \space %
   \ifeof\@inputcheck%
     \@latex at warning@no at line%
         {Writing file `\@currdir\@curr at file'}%
-    \chardef\reserved at c15 %
-    \ch at ck7\reserved at c\write%
+    \ch at ck7\reserved at c\write\relax%
     \immediate\openout\reserved at c\q at curr@file\relax%
   \else%
     \if at filesw%
@@ -8283,8 +9541,7 @@
           \@fileswtrue%
         \fi%
       \fi%
-      \chardef\reserved at c15 %
-      \ch at ck7\reserved at c\write%
+      \ch at ck7\reserved at c\write\relax%
       \if at filesw%  % Foul ... trying to overwrite \jobname!
       \@latex at error{Trying to overwrite `\jobname.tex'}{You can't %
         write to the file you a reading from!\MessageBreak%
@@ -9039,6 +10296,7 @@
   \endgroup}
 \let\@filelist\@gobble
 \def\@addtofilelist#1{\xdef\@filelist{\@filelist,#1}}%
+\AtBeginDocument{\reinstall at nfss@defs\init at series@setup}
 \makeatother
 \errorstopmode
 \dump

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latex209.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latex209.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latex209.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -15,7 +15,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -37,7 +37,9 @@
 %% ltfssini.dtx  (with options: `latexrelease')
 %% fontdef.dtx  (with options: `latexrelease')
 %% ltfntcmd.dtx  (with options: `latexrelease')
+%% lttextcomp.dtx  (with options: `latexrelease')
 %% ltfssbas.dtx  (with options: `latexrelease')
+%% ltfssaxes.dtx  (with options: `latexrelease')
 %% ltfsstrc.dtx  (with options: `latexrelease')
 %% ltfsscmp.dtx  (with options: `latexrelease')
 %% ltpageno.dtx  (with options: `latexrelease')
@@ -54,7 +56,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -2663,6 +2665,33 @@
  }%
  \reserved at a}
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\@pr at videpackage}{Protection for package info}%
+\def\@pr at videpackage[#1]{%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}%
+  \ifx\@currext\@clsextension
+    \typeout{Document Class: \@gtempa\space#1}%
+  \else
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
+  \fi}
+\long\def\protected at wlog#1{\begingroup
+  \set at display@protect
+  \immediate \write \m at ne {#1}\endgroup }
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\@pr at videpackage}{Protection for package info}%
+
+\def\@pr at videpackage[#1]{%
+  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+  \ifx\@currext\@clsextension
+    \typeout{Document Class: \@gtempa\space#1}%
+  \else
+    \wlog{Package: \@gtempa\space#1}%
+  \fi}
+\let\protected at wlog\@undefined
+
+\EndIncludeInRelease
 \IncludeInRelease{2017/01/01}%
                  {\ExecuteOptions}{Spaces in \ExecuteOptions}%
 \def\ExecuteOptions#1{%
@@ -2777,12 +2806,12 @@
 \gdef\filec at ntents#1{%
   \set at curr@file{\filec at ntents@checkdir#1}%
   \edef\q at curr@file{\expandafter\quote at name\expandafter{\@curr at file}}%
+  \chardef\reserved at c\ifx\directlua\@undefined 15 \else 127 \fi%
   \openin\@inputcheck\q at curr@file \space %
   \ifeof\@inputcheck%
     \@latex at warning@no at line%
         {Writing file `\@currdir\@curr at file'}%
-    \chardef\reserved at c15 %
-    \ch at ck7\reserved at c\write%
+    \ch at ck7\reserved at c\write\relax%
     \immediate\openout\reserved at c\q at curr@file\relax%
   \else%
     \if at filesw%
@@ -2803,8 +2832,7 @@
           \@fileswtrue%
         \fi%
       \fi%
-      \chardef\reserved at c15 %
-      \ch at ck7\reserved at c\write%
+      \ch at ck7\reserved at c\write\relax%
       \if at filesw%  % Foul ... trying to overwrite \jobname!
       \@latex at error{Trying to overwrite `\jobname.tex'}{You can't %
         write to the file you a reading from!\MessageBreak%
@@ -2983,7 +3011,7 @@
 \kernel at make@fragile\samepage
 
 \EndIncludeInRelease
-\IncludeInRelease{2020/02/01}%
+\IncludeInRelease{2020/02/02}%
                  {\@normalcr}{Make robust}%
 \protected\def\@normalcr{%
   \let \reserved at e \relax
@@ -3832,13 +3860,244 @@
 %%% From File: ltfssini.dtx
 %% Copyright (C) 1989-2001 Frank Mittelbach and Rainer Sch\"opf,
 %% all rights reserved.
-\IncludeInRelease{2015/01/01}{\eminnershape}{\eminnershape}%
+\IncludeInRelease{2020/02/02}%
+                 {\DeclareFontSeriesDefault}{Custom series}%
+\newcommand\DeclareFontSeriesDefault[3][]{%
+  \def\@reserveda{#1}%
+  \ifx\@resereda\@empty
+    \ifcsname #2series\endcsname           % supported are
+                                           % \[md/bf]default
+      \expandafter\def
+         \csname #2default\endcsname{#3}%
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Mandatory first argument must be 'md'  or 'bf'.}
+    \fi
+  \else
+    \ifcsname #2series@#1\endcsname          % supported are
+                                             % \[md/bf]series@[rm/sf/tt]
+      \expandafter\edef
+         \csname #2series@#1\endcsname{#3}%
+      \expandafter\let
+         \csname #2series@#1 at kernel\endcsname\@undefined
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+           Second argument must be 'md'  or 'bf'.}
+    \fi
+  \fi
+}
+
+\def\bfseries at rm{bx}
+\def\bfseries at sf{bx}
+\def\bfseries at tt{bx}
+\let\bfseries at rm@kernel\bfseries at rm
+\let\bfseries at sf@kernel\bfseries at sf
+\let\bfseries at tt@kernel\bfseries at tt
+\def\mdseries at rm{m}
+\def\mdseries at sf{m}
+\def\mdseries at tt{m}
+
+\def\expand at font@defaults{%
+  \edef\rmdef at ult{\rmdefault}%
+  \edef\sfdef at ult{\sfdefault}%
+  \edef\ttdef at ult{\ttdefault}%
+  \edef\bfdef at ult{\bfdefault}%
+  \edef\mddef at ult{\mddefault}%
+  \edef\famdef at ult{\familydefault}%
+}
+
+\DeclareRobustCommand\bfseries{%
+  \not at math@alphabet\bfseries\mathbf
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \bfseries at rm
+    \else\ifx\f at family\sfdef at ult \bfseries at sf
+    \else\ifx\f at family\ttdef at ult \bfseries at tt
+    \else                        \bfdefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\mdseries{%
+  \not at math@alphabet\mdseries\relax
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \mdseries at rm
+    \else\ifx\f at family\sfdef at ult \mdseries at sf
+    \else\ifx\f at family\ttdef at ult \mdseries at tt
+    \else                        \mddefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\rmfamily{%
+   \not at math@alphabet\rmfamily\mathrm
+   \prepare at family@series at update{rm}\rmdefault
+   \@rmfamilyhook
+   \selectfont}
+\DeclareRobustCommand\sffamily{%
+   \not at math@alphabet\sffamily\mathsf
+   \prepare at family@series at update{sf}\sfdefault
+   \@sffamilyhook
+   \selectfont}
+\DeclareRobustCommand\ttfamily{%
+   \not at math@alphabet\ttfamily\mathtt
+   \prepare at family@series at update{tt}\ttdefault
+   \@ttfamilyhook
+   \selectfont}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+
+\def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
+\def\prepare at family@series at update#1#2{%
+   \expand at font@defaults
+   \let\target at series@value\@empty
+   \def\target at meta@family at value{#1}%
+   \let\@elt\update at series@target at value
+      \@meta at family@list
+   \let\@elt\relax
+   \fontfamily#2%
+   \ifx\target at series@value\@empty
+   \else
+     \maybe at load@fontshape
+     \let\f at series\target at series@value
+   \fi
+}
+\def\update at series@target at value#1{%
+  \def\@reserveda{#1}%
+  \ifx\target at meta@family at value\@reserveda   % rm -> rm do nothing
+  \else
+    \expandafter\ifx\csname#1def at ult\endcsname\f at family
+      \let\@elt\@gobble
+      \expandafter\let\expandafter\@reservedb
+                      \csname mdseries@\target at meta@family at value\endcsname
+      \expandafter\let\expandafter\@reservedc
+                      \csname bfseries@\target at meta@family at value\endcsname
+      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedb
+      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedc
+      \else\ifx\f at series\mddef at ult    \let\target at series@value\@reservedb
+      \else\ifx\f at series\bfdef at ult    \let\target at series@value\@reservedc
+      \fi\fi\fi\fi
+    \fi
+  \fi
+}
+\def\init at series@setup{%
+  \ifx\bfseries at rm@kernel\bfseries at rm
+    \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at rm{b}\fi\fi
+  \ifx\bfseries at sf@kernel\bfseries at sf
+    \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at sf{b}\fi\fi
+  \ifx\bfseries at tt@kernel\bfseries at tt
+    \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at tt{b}\fi\fi
+
+  \expand at font@defaults
+  \ifx\famdef at ult\rmdef at ult      \rmfamily
+  \else\ifx\famdef at ult\sfdef at ult \sffamily
+  \else\ifx\famdef at ult\ttdef at ult \ttfamily
+  \fi\fi\fi
+}%
+\expandafter\let\csname ver at mweights.sty\endcsname\fmtversion
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\DeclareFontSeriesDefault}{Custom series}%
+
+\let\DeclareFontSeriesDefault\@undefined
+\let\bfseries at rm\@undefined
+\let\bfseries at sf\@undefined
+\let\bfseries at tt\@undefined
+\let\bfseries at rm@kernel\@undefined
+\let\bfseries at sf@kernel\@undefined
+\let\bfseries at tt@kernel\@undefined
+\let\mdseries at rm\@undefined
+\let\mdseries at sf\@undefined
+\let\mdseries at tt\@undefined
+\let\expand at font@defaults\@undefined
+\expandafter\let\csname ver at mweights.sty\endcsname\@undefined
+
+\DeclareRobustCommand\bfseries
+        {\not at math@alphabet\bfseries\mathbf
+         \fontseries\bfdefault\selectfont}
+\DeclareRobustCommand\mdseries
+        {\not at math@alphabet\mdseries\relax
+         \fontseries\mddefault\selectfont}
+\DeclareRobustCommand\rmfamily
+        {\not at math@alphabet\rmfamily\mathrm
+         \fontfamily\rmdefault\selectfont}
+\DeclareRobustCommand\sffamily
+        {\not at math@alphabet\sffamily\mathsf
+         \fontfamily\sfdefault\selectfont}
+\DeclareRobustCommand\ttfamily
+        {\not at math@alphabet\ttfamily\mathtt
+         \fontfamily\ttdefault\selectfont}
+
+\let\@rmfamilyhook\@undefined
+\let\@sffamilyhook\@undefined
+\let\@ttfamilyhook\@undefined
+\let\@meta at family@list\@undefined
+\let\prepare at family@series at update\@undefined
+\let\update at series@target at value\@undefined
+
+\let\init at series@setup\relax
+
+\EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\DeclareEmphSequence}{Nested emph}%
+\def\DeclareEmphSequence#1{%
+  \protected at edef\emfontdeclare at clist{\zap at space#1, \@empty\emforce\emreset}%
+}
+\let\emfontdeclare at clist\@empty
+
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
+
+\DeclareRobustCommand\em{%
+  \@nomath\em
+  \ifx\emfontdeclare at clist\@empty
+    \ifdim \fontdimen\@ne\font >\z@
+      \eminnershape \else \itshape \fi
+  \else
+  \edef\em at currfont{\csname\curr at fontshape/\f at size\endcsname}%
+    \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \fi
+}
+\def\eminnershape{\upshape}
+\def\do at emfont@update#1,#2\do at emfont@update{%
+  \def\emfontdeclare at clist{#2,#1}%
+  #1\selectfont
+  \expandafter\ifx\csname \curr at fontshape/\f at size\em at force
+                          \expandafter\endcsname
+                  \em at currfont
+  \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \else
+    \let\em at force\@empty
+  \fi
+}
+
+\protected\def\emforce{\def\em at force{/}}
+\let\em at force\@empty
+\EndIncludeInRelease
+
+\IncludeInRelease{2015/01/01}{\DeclareEmphSequence}{Nested emph}%
+\let\DeclareEmphSequence\@undefined
+\let\emfontdeclare at clist\@undefined
+\let\emreset\@undefined
+\let\do at emfont@update\@undefined
+\let\emforce\@undefined
+\let\em at force\@undefined
+
 \DeclareRobustCommand\em
         {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
                        \eminnershape \else \itshape \fi}%
-\def\eminnershape{\upshape}%
 \EndIncludeInRelease
-\IncludeInRelease{0000/00/00}{\eminnershape}{\eminnershape}%
+
+\IncludeInRelease{0000/00/00}{\DeclareEmphSequence}{Nested emph}%
 \DeclareRobustCommand\em
         {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
                        \upshape \else \itshape \fi}%
@@ -3873,6 +4132,17 @@
 \renewcommand\sfdefault{cmss}
 \renewcommand\ttdefault{cmtt}
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\updefault}{font defaults change}%
+\renewcommand\updefault{up}
+\renewcommand\bfdefault{b}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\updefault}{font defaults change}%
+
+\renewcommand\updefault{n}
+\renewcommand\bfdefault{bx}
+\EndIncludeInRelease
 \IncludeInRelease{2018/12/01}%
                  {\Big}{Start LR-mode}%
 \DeclareRobustCommand\big[1]{\leavevmode at ifvmode
@@ -3893,6 +4163,738 @@
 \EndIncludeInRelease
 %%% From File: ltfntcmd.dtx
 %%
+\IncludeInRelease{2020/02/02}%
+                 {\textulc}{Additional text commands}%
+\DeclareTextFontCommand{\textulc}{\ulcshape}
+\DeclareTextFontCommand{\textsw}{\swshape}
+\DeclareTextFontCommand{\textssc}{\sscshape}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\textulc}{Additional text commands}%
+
+\let\textulc\@undefined
+\let\textsw\@undefined
+\let\textssc\@undefined
+\EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\oldstylenums}{Old style numerals}%
+\DeclareRobustCommand\legacyoldstylenums[1]{%
+   \begingroup
+    \spaceskip\fontdimen\tw@\font
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+ \ifmmode
+   \mathgroup\symletters #1%
+  \else
+   \CheckEncodingSubset\@use at text@encoding{TS1}\tc at oldstylesubst2{{#1}}%
+ \fi
+ \endgroup
+}
+\def\tc at oldstylesubst#1{%
+   \tc at errorwarn
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Default oldstyle digits used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \fontencoding{TS1}\selectfont#1%
+  \egroup
+}
+\def\textcompsubstdefault{\rmsubstdefault}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\oldstylenums}{Old style numerals}%
+
+\DeclareRobustCommand\oldstylenums[1]{%
+   \begingroup
+    \spaceskip\fontdimen\tw@\font
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+\let\legacyoldstylenums\@undefined
+\def\textcompsubstdefault{cmr}
+
+\EndIncludeInRelease
+
+\IncludeInRelease{2020/02/02}%
+   {\DeclareEncodingSubset}{Text companion symbols}%
+\def\DeclareEncodingSubset#1#2{%
+  \DeclareEncodingSubset at aux{#1}#2*\DeclareEncodingSubset at aux
+}
+\def\DeclareEncodingSubset at aux#1#2*#3\DeclareEncodingSubset at aux#4{%
+  \expandafter\ifx\expandafter X\detokenize{#3}X%
+    \@DeclareEncodingSubset{#1}{#2}{#4}%
+  \else
+    \@DeclareEncodingSubset{#1}{#2LF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TLF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2OsF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TOsF}{#4}%
+  \fi
+}
+\def\@DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\@font at info{Setting #2 sub-encoding to #1/#3}}%
+     {\@font at info{Changing #2 sub-encoding to #1/#3}}%
+     \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+\@onlypreamble\DeclareEncodingSubset at aux
+\@onlypreamble\@DeclareEncodingSubset
+
+
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+
+\def\tc at errorwarn#1#2{\@latex at info{#1}}
+
+\def\tc at subst#1{%
+   \tc at errorwarn
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\substdefault
+      \fi\fi\fi
+      \@namedef{TS1:\f at family}{0}%
+      \selectfont#1%
+  \egroup
+}
+
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \@font at info{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+\def\tc at check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc at swap@accent#1}}
+\def\tc at swap@accent#1#2{\UseTextAccent{T1}#1}
+
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar}  {OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\UndeclareTextCommand{\textsterling}{OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
+                                                  % should actually not be declaed
+                                                  % in the t1enc.def file instead
+                                                  % otherwise fontenc would overwrite
+                                                  % it again (legacy tests!)
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above
+%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t}
+\ifx\Umathcode\@undefined
+  \DeclareTextCommandDefault{\capitalacute}       {\tc at check@accent{\'}2\capitalacute}
+  \DeclareTextCommandDefault{\capitalbreve}       {\tc at check@accent{\u}2\capitalbreve}
+  \DeclareTextCommandDefault{\capitalcaron}       {\tc at check@accent{\v}2\capitalcaron}
+  \DeclareTextCommandDefault{\capitalcedilla}     {\tc at check@accent{\c}2\capitalcedilla}
+  \DeclareTextCommandDefault{\capitalcircumflex}  {\tc at check@accent{\^}2\capitalcircumflex}
+  \DeclareTextCommandDefault{\capitaldieresis}    {\tc at check@accent{\"}2\capitaldieresis}
+  \DeclareTextCommandDefault{\capitaldotaccent}   {\tc at check@accent{\.}2\capitaldotaccent}
+  \DeclareTextCommandDefault{\capitalgrave}       {\tc at check@accent{\`}2\capitalgrave}
+  \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc at check@accent{\H}2\capitalhungarumlaut}
+  \DeclareTextCommandDefault{\capitalmacron}      {\tc at check@accent{\=}2\capitalmacron}
+  \DeclareTextCommandDefault{\capitalogonek}      {\tc at check@accent{\k}2\capitalogonek}
+  \DeclareTextCommandDefault{\capitalring}        {\tc at check@accent{\r}2\capitalring}
+  \DeclareTextCommandDefault{\capitaltie}         {\tc at check@accent{\t}2\capitaltie}
+  \DeclareTextCommandDefault{\capitaltilde}       {\tc at check@accent{\~}2\capitaltilde}
+  \DeclareTextCommandDefault{\newtie}             {\tc at check@accent{\t}2\newtie}
+  \DeclareTextCommandDefault{\capitalnewtie}      {\tc at check@accent{\t}2\capitalnewtie}
+\else
+  \def\capitalacute{\'}
+  \def\capitalbreve{\u}
+  \def\capitalcaron{\v}
+  \def\capitalcedilla{\c}
+  \def\capitalcircumflex{\^}
+  \def\capitaldieresis{\"}
+  \def\capitaldotaccent{\.}
+  \def\capitalgrave{\`}
+  \def\capitalhungarumlaut{\H}
+  \def\capitalmacron{\=}
+  \def\capitalnewtie{\t}
+  \def\capitalogonek{\k}
+  \def\capitalring{\r}
+  \def\capitaltie{\t}
+  \def\capitaltilde{\~}
+  \def\newtie{\t}
+\fi
+\DeclareTextCommandDefault{\textlbrackdbl}      {\tc at check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl}      {\tc at check@symbol2\textrbrackdbl}
+\DeclareTextCommandDefault{\texteightoldstyle}  {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}   {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}   {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}   {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}  {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}  {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle}   {\tc at check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textacutedbl}       {\tc at check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciiacute}     {\tc at check@symbol2\textasciiacute}
+\DeclareTextCommandDefault{\textasciibreve}     {\tc at check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron}     {\tc at check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textasciidieresis}  {\tc at check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciigrave}     {\tc at check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\textasciimacron}    {\tc at check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textgravedbl}       {\tc at check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\texttildelow}       {\tc at check@symbol2\texttildelow}
+\DeclareTextCommandDefault{\textbaht}           {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle}      {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn}           {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle}   {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP}       {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft}       {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar}  {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen}      {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied}           {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount}       {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced}       {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani}        {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf}           {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill}         {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried}        {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho}            {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote}    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira}          {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet}     {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso}           {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow}        {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe}         {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark}  {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill}         {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark}    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd}           {\tc at check@symbol2\textsurd}
+\DeclareTextCommandDefault{\textpertenthousand} {\tc at check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+\DeclareTextCommandDefault{\textlangle}         {\tc at check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle}         {\tc at check@symbol3\textrangle}
+\DeclareTextCommandDefault{\textcolonmonetary}  {\tc at check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong}           {\tc at check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow}      {\tc at check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow}      {\tc at check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira}           {\tc at check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow}     {\tc at check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow}        {\tc at check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon}            {\tc at check@symbol4\textwon}
+\DeclareTextCommandDefault{\textestimated}      {\tc at check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textnumero}         {\tc at check@symbol5\textnumero}
+\DeclareTextCommandDefault{\textflorin}         {\tc at check@symbol6\textflorin}
+\DeclareTextCommandDefault{\textcurrency}       {\tc at check@symbol6\textcurrency}
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc at check@symbol7\textfractionsolidus}
+\DeclareTextCommandDefault{\textohm}            {\tc at check@symbol7\textohm}
+\DeclareTextCommandDefault{\textmu}             {\tc at check@symbol7\textmu}
+\DeclareTextCommandDefault{\textminus}          {\tc at check@symbol7\textminus}
+\DeclareTextCommandDefault{\textblank}          {\tc at check@symbol{8}\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc at check@symbol{8}\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang}    {\tc at check@symbol{8}\textinterrobang}
+\DeclareTextCommandDefault{\texteuro}
+            {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro{8}\texteuro}
+\DeclareTextCommandDefault{\textcelsius}{\tc at check@symbol{9}\textcelsius}
+\DeclareTextCommandDefault{\textonesuperior}{\tc at check@symbol{9}\textonesuperior}
+\DeclareTextCommandDefault{\textthreequartersemdash}{\tc at check@symbol{9}\textthreequartersemdash}
+\DeclareTextCommandDefault{\textthreesuperior}{\tc at check@symbol{9}\textthreesuperior}
+\DeclareTextCommandDefault{\texttwelveudash}{\tc at check@symbol{9}\texttwelveudash}
+\DeclareTextCommandDefault{\texttwosuperior}{\tc at check@symbol{9}\texttwosuperior}
+\DeclareTextCommandDefault{\textbardbl}{\tc at check@symbol{9}\textbardbl}
+
+\ifx \Umathcode\@undefined  \else
+\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}}
+\DeclareTextCommand{\textoneoldstyle}  \UnicodeEncodingName{\oldstylenums{1}}
+\DeclareTextCommand{\texttwooldstyle}  \UnicodeEncodingName{\oldstylenums{2}}
+\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}}
+\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}}
+\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}}
+\DeclareTextCommand{\textsixoldstyle}  \UnicodeEncodingName{\oldstylenums{6}}
+\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}}
+\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}}
+\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}}
+\DeclareTextSymbol{\textpilcrow}       \UnicodeEncodingName{"00B6}
+\DeclareTextSymbol{\textborn}          \UnicodeEncodingName{"002A}
+\DeclareTextSymbol{\textdied}          \UnicodeEncodingName{"2020}
+\DeclareTextSymbol{\textlbrackdbl}     \UnicodeEncodingName{"27E6}
+\DeclareTextSymbol{\textrbrackdbl}     \UnicodeEncodingName{"27E7}
+\DeclareTextSymbol{\textguarani}       \UnicodeEncodingName{"20B2}
+\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
+\DeclareTextSymbol{\textcentoldstyle}  {TS1}{139}
+\fi               % --- END of Unicode engines specials
+\DeclareEncodingSubset{TS1}{?}{9}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+\DeclareEncodingSubset{TS1}{lmr}     {1}
+\DeclareEncodingSubset{TS1}{lmdh}    {1}
+\DeclareEncodingSubset{TS1}{lmss}    {1}
+\DeclareEncodingSubset{TS1}{lmssq}   {1}
+\DeclareEncodingSubset{TS1}{lmvtt}   {1}
+\DeclareEncodingSubset{TS1}{lmtt}    {1} % missing TM, SM, pertenthousand for some reason
+\DeclareEncodingSubset{TS1}{ptmx}    {2}
+\DeclareEncodingSubset{TS1}{ptmj}    {2}
+\DeclareEncodingSubset{TS1}{ul8}     {2}
+\DeclareEncodingSubset{TS1}{bch}     {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futj}    {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{futs}    {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futx}    {5}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{pag}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pbk}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pcr}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{phv}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pnc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pplj}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{pplx}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{ppl}     {5}  % tofu for blank interrobang/down
+\DeclareEncodingSubset{TS1}{ptm}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pzc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{ul9}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayroms} {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayrom}  {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{augie}   {8}  % really only missing euro
+\DeclareEncodingSubset{TS1}{put}     {8}
+\DeclareEncodingSubset{TS1}{uag}     {8}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{ugq}     {8}
+\DeclareEncodingSubset{TS1}{zi4}     {9}
+\DeclareEncodingSubset{TS1}{hls}     {5}
+\DeclareEncodingSubset{TS1}{hlst}    {5}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlh}     {5}
+\DeclareEncodingSubset{TS1}{hlx}     {8}
+\DeclareEncodingSubset{TS1}{hlce}    {8}
+\DeclareEncodingSubset{TS1}{hlcn}    {8}
+\DeclareEncodingSubset{TS1}{hlcw}    {8}
+\DeclareEncodingSubset{TS1}{hlcf}    {8}
+\DeclareEncodingSubset{TS1}{lato-*}                   {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{opensans-*}               {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{cantarell-*}              {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*}                    {0}  % missing centoldstyle
+\DeclareEncodingSubset{TS1}{tli}                      {1}  % with lots of tofu inside
+\DeclareEncodingSubset{TS1}{Alegreya-*}               {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-*}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF}  {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF}       {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-*}             {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF}              {2}
+\DeclareEncodingSubset{TS1}{Tempora-TOsF}             {2}
+\DeclareEncodingSubset{TS1}{Arimo-TLF}                {3}
+\DeclareEncodingSubset{TS1}{Carlito-*}                {3}
+\DeclareEncodingSubset{TS1}{FiraSans-*}               {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF}          {3}
+\DeclareEncodingSubset{TS1}{Merriweather-OsF}         {3}
+\DeclareEncodingSubset{TS1}{Montserrat-*}             {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*}   {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF}        {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF}       {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-*}          {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-*}         {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF}                {3}
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF}                {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Chivo-*}                  {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF}            {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF}            {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-*}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TOsF}            {4}
+\DeclareEncodingSubset{TS1}{Go-TLF}                   {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{InriaSans-*}              {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-*}             {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-*}         {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-*}        {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF}          {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF}       {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*}         {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-*}        {4}
+\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF}     {4}
+\DeclareEncodingSubset{TS1}{MintSpirit-*}             {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*}        {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF}        {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF}         {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF}              {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF}       {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Raleway-TOsF}             {4}
+\DeclareEncodingSubset{TS1}{Roboto-*}                 {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF}           {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF}           {4}
+\DeclareEncodingSubset{TS1}{Rosario-*}                {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-*}          {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF}     {4}
+\DeclareEncodingSubset{TS1}{Almendra-OsF}             {5}
+\DeclareEncodingSubset{TS1}{Baskervaldx-*}            {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*}           {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF}               {5}
+\DeclareEncodingSubset{TS1}{Cinzel-LF}                {5}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF}      {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF}          {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF}            {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF}        {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF}       {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF}   {5}
+\DeclareEncodingSubset{TS1}{LobsterTwo-LF}            {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF}          {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF}      {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF}     {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF}          {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TOsF}        {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF}       {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF}      {5}
+\DeclareEncodingSubset{TS1}{Crimson-TLF}              {6}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF}          {6}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF}         {6}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF}       {6}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF}   {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF}  {6}
+\DeclareEncodingSubset{TS1}{Overlock-LF}              {6}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-*}      {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF}           {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TOsF}          {7}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF}        {7}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF}     {7}
+\DeclareEncodingSubset{TS1}{LibreCaslon-*}            {7}
+\DeclareEncodingSubset{TS1}{Marcellus-LF}             {7}
+\DeclareEncodingSubset{TS1}{NotoSans-*}               {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF}         {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF}        {7}
+\DeclareEncodingSubset{TS1}{NotoSerif-*}              {7}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF}         {7}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF}     {7}
+\DeclareEncodingSubset{TS1}{XCharter-TLF}             {7}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF}            {7}
+\DeclareEncodingSubset{TS1}{erewhon-*}                {7}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF}            {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF}     {7}
+\DeclareEncodingSubset{TS1}{Forum-LF}                 {7}  % the superiors are missing
+\DeclareEncodingSubset{TS1}{Cochineal-*}              {8}
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF}         {9}
+\def\UseLegacyTextSymbols{%
+  \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textbardbl}{OMS}%
+  \DeclareTextSymbolDefault{\textbullet}{OMS}%
+  \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}%
+  \DeclareTextSymbolDefault{\textdagger}{OMS}%
+  \DeclareTextSymbolDefault{\textparagraph}{OMS}%
+  \DeclareTextSymbolDefault{\textperiodcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textsection}{OMS}%
+  \UndeclareTextCommand{\textsection}{T1}%
+  \expandafter\let\csname oldstylenums \expandafter\endcsname
+                  \csname legacyoldstylenums \endcsname
+}
+
+\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3}   % "03
+\DeclareTextSymbol{\textlegacybardbl}{OMS}{107}           % "6B
+\DeclareTextSymbol{\textlegacybullet}{OMS}{15}            % "0F
+\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122}        % "7A
+\DeclareTextSymbol{\textlegacydagger}{OMS}{121}           % "79
+\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123}        % "7B
+\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1}     % "01
+\DeclareTextSymbol{\textlegacysection}{OMS}{120}          % "78
+\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacybardbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacybullet}{OMS}
+\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacydagger}{OMS}
+\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS}
+\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacysection}{OMS}
+
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+   {\DeclareEncodingSubset}{Text companion symbols}%
+
+\let\DeclareEncodingSubset\@undefined
+\let\CheckEncodingSubset\@undefined
+
+\DeclareTextSymbolDefault{\textdollar}{OT1}
+\DeclareTextSymbolDefault{\textsterling}{OT1}
+\DeclareTextCommand{\textdollar}{OT1}{\hmode at bgroup
+   \ifdim \fontdimen\@ne\font >\z@
+      \slshape
+   \else
+      \upshape
+   \fi
+   \char`\$\egroup}
+\DeclareTextCommand{\textsterling}{OT1}{\hmode at bgroup
+   \ifdim \fontdimen\@ne\font >\z@
+      \itshape
+   \else
+      \fontshape{ui}\selectfont
+   \fi
+   \char`\$\egroup}
+\DeclareTextCommand{\textperthousand}{T1}
+   {\%\char 24 }
+
+\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textbullet}{OMS}
+\DeclareTextSymbolDefault{\textdaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textdagger}{OMS}
+\DeclareTextSymbolDefault{\textparagraph}{OMS}
+\DeclareTextSymbolDefault{\textperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textsection}{OMS}
+
+\DeclareTextSymbolDefault{\textbardbl}{OMS}
+\let\textbrokenbar\@undefined
+\let\textcelsius\@undefined
+\let\textcent\@undefined
+\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
+\let\textdegree\@undefined
+\let\textdiv\@undefined
+\let\textlnot\@undefined
+\let\textonehalf\@undefined
+\let\textonequarter\@undefined
+\let\textonesuperior\@undefined
+\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
+\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
+\let\textpm\@undefined
+\let\textquotesingle\@undefined
+\let\textquotestraightbase\@undefined
+\let\textquotestraightdblbase\@undefined
+\DeclareTextCommandDefault{\textregistered}{\textcircled{%
+     \check at mathfonts\fontsize\sf at size\z@\math at fontsfalse\selectfont R}}
+\let\textthreequartersemdash\@undefined
+\let\textthreequarters\@undefined
+\let\textthreesuperior\@undefined
+\let\texttimes\@undefined
+\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
+\let\texttwelveudash\@undefined
+\let\texttwosuperior\@undefined
+\let\textyen\@undefined
+
+\let\textcapitalcompwordmark\@undefined
+\let\textascendercompwordmark\@undefined
+
+\DeclareTextAccentDefault{\textcircled}{OMS}
+\DeclareTextAccentDefault{\t}{OML}
+
+\let\capitalacute\@undefined
+\let\capitalbreve\@undefined
+\let\capitalcaron\@undefined
+\let\capitalcedilla\@undefined
+\let\capitalcircumflex\@undefined
+\let\capitaldieresis\@undefined
+\let\capitaldotaccent\@undefined
+\let\capitalgrave\@undefined
+\let\capitalhungarumlaut\@undefined
+\let\capitalmacron\@undefined
+\let\capitalnewtie\@undefined
+\let\capitalogonek\@undefined
+\let\capitalring\@undefined
+\let\capitaltie\@undefined
+\let\capitaltilde\@undefined
+\let\newtie\@undefined
+
+\let\textlbrackdbl\@undefined
+\let\textrbrackdbl\@undefined
+
+\let\texteightoldstyle\@undefined
+\let\textfiveoldstyle\@undefined
+\let\textfouroldstyle\@undefined
+\let\textnineoldstyle\@undefined
+\let\textoneoldstyle\@undefined
+\let\textsevenoldstyle\@undefined
+\let\textsixoldstyle\@undefined
+\let\textthreeoldstyle\@undefined
+\let\texttwooldstyle\@undefined
+\let\textzerooldstyle\@undefined
+
+\let\textacutedbl\@undefined
+\let\textasciiacute\@undefined
+\let\textasciibreve\@undefined
+\let\textasciicaron\@undefined
+\let\textasciidieresis\@undefined
+\let\textasciigrave\@undefined
+\let\textasciimacron\@undefined
+\let\textgravedbl\@undefined
+\let\texttildelow\@undefined
+
+\let\textbaht\@undefined
+\let\textbigcircle\@undefined
+\let\textborn\@undefined
+\let\textcentoldstyle\@undefined
+\let\textcircledP\@undefined
+\let\textcopyleft\@undefined
+\let\textdblhyphenchar\@undefined
+\let\textdblhyphen\@undefined
+\let\textdied\@undefined
+\let\textdiscount\@undefined
+\let\textdivorced\@undefined
+\let\textdollaroldstyle\@undefined
+\let\textguarani\@undefined
+\let\textleaf\@undefined
+\let\textlquill\@undefined
+\let\textmarried\@undefined
+\let\textmho\@undefined
+\let\textmusicalnote\@undefined
+\let\textnaira\@undefined
+\let\textopenbullet\@undefined
+\let\textpeso\@undefined
+\let\textpilcrow\@undefined
+\let\textrecipe\@undefined
+\let\textreferencemark\@undefined
+\let\textrquill\@undefined
+\let\textservicemark\@undefined
+\let\textsurd\@undefined
+
+\DeclareTextCommand{\textpertenthousand}{T1}
+                   {\%\char 24\char 24 }
+
+\let\textlangle\@undefined
+\let\textrangle\@undefined
+
+\let\textcolonmonetary\@undefined
+\let\textdong\@undefined
+\let\textdownarrow\@undefined
+\let\textleftarrow\@undefined
+\let\textlira\@undefined
+\let\textrightarrow\@undefined
+\let\textuparrow\@undefined
+\let\textwon\@undefined
+
+\let\textestimated\@undefined
+\let\textnumero\@undefined
+
+\let\textflorin\@undefined
+\let\textcurrency\@undefined
+
+\let\textfractionsolidus\@undefined
+\let\textohm\@undefined
+\let\textmu\@undefined
+\let\textminus\@undefined
+
+\let\textblank\@undefined
+\let\textinterrobangdown\@undefined
+\let\textinterrobang\@undefined
+
+\let\texteuro\@undefined
+
+\let\textcelsius\@undefined
+\let\textonesuperior\@undefined
+\let\textthreequartersemdash\@undefined
+\let\textthreesuperior\@undefined
+\let\texttwelveudash\@undefined
+\let\texttwosuperior\@undefined
+\let\textbardbl\@undefined
+
+\let\UseLegacyTextSymbols\@undefined
+\let\textlegacyasteriskcentered\@undefined
+\let\textlegacybardbl\@undefined
+\let\textlegacybullet\@undefined
+\let\textlegacydaggerdbl\@undefined
+\let\textlegacydagger\@undefined
+\let\textlegacyparagraph\@undefined
+\let\textlegacyperiodcentered\@undefined
+\let\textlegacysection\@undefined
+
+\EndIncludeInRelease
+
+
 %%% From File: ltfssbas.dtx
 %% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
 \IncludeInRelease{2015/01/01}{\@DeclareMathSizes}%
@@ -3932,6 +4934,57 @@
                              }%
     \fi}%
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\LoadFontDefinitionFile}{Loading .fd files}%
+\def\LoadFontDefinitionFile#1#2{%
+  \begingroup
+    \edef\f at encoding{#1}%
+    \edef\f at family{#2}%
+    \try at load@fontshape
+  \endgroup
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\LoadFontDefinitionFile}{Loading .fd files}%
+
+\let\LoadFontDefinitionFile\@undefined
+\EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+       {\DeclareFontFamilySubstitution}{Provide family substituation}%
+\begingroup
+\nfss at catcodes
+\gdef\DeclareFontFamilySubstitution#1#2#3{%
+   \LoadFontDefinitionFile{#1}{#2}%
+   \LoadFontDefinitionFile{#1}{#3}%
+   \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}%
+   \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}%
+   \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}%
+   \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}%
+   \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}%
+   \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}%
+   \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}%
+   \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}%
+   \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}%
+   \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}%
+   \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}%
+   \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}%
+   \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}%
+}
+\endgroup
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+      {\DeclareFontFamilySubstitution}{Provide family substituation}%
+
+\let\DeclareFontFamilySubstitution\@undefined
+\EndIncludeInRelease
 \IncludeInRelease{2019/10/01}%
                  {\DeclareErrorFont}{No side effects please}%
 \def\DeclareErrorFont#1#2#3#4#5{%
@@ -4101,9 +5154,595 @@
     \hbadness\z@\showboxdepth\z@\ #1%
     \color at endgroup}}
 \EndIncludeInRelease
+%%% From File: ltfssbas.dtx
+%% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
+\IncludeInRelease{2020/02/02}%
+   {\DeclareFontSeriesChangeRule}{Series change rules}%
+\def\DeclareFontSeriesChangeRule#1#2#3#4{%
+  \@namedef{series@#1@#2}{{#3}{#4}}}
+\DeclareFontSeriesChangeRule {bc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {bc}{c}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc}
+\DeclareFontSeriesChangeRule {bc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {bc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc}
+\DeclareFontSeriesChangeRule {bc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {bc}{x}{bx}{} 
+\DeclareFontSeriesChangeRule {bx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {bx}{c}  {bc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {bx}{ec}  {bec}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {bx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {}
+\DeclareFontSeriesChangeRule {bx}{sc}  {bsc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{sl}{slx}  {} 
+\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {bx}{x}{bx}{} 
+\DeclareFontSeriesChangeRule {b}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{c}  {bc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{ec}  {bec}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sb} {sb}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sc}  {bsc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{x}  {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {c}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {c}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {c}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {c}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {c}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {c}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {c}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {c}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {c}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {c}{x}{x}{m}               %<-----
+\DeclareFontSeriesChangeRule {ebc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{} 
+\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc} 
+\DeclareFontSeriesChangeRule {ebc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {ebc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc} 
+\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{} 
+\DeclareFontSeriesChangeRule {ec}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {ec}{b}{bec}{} 
+\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{} 
+\DeclareFontSeriesChangeRule {ec}{el}{elec}{} 
+\DeclareFontSeriesChangeRule {ec}{l}{lec}{} 
+\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{} 
+\DeclareFontSeriesChangeRule {ec}{sl}{slec}{} 
+\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{} 
+\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{} 
+\DeclareFontSeriesChangeRule {ec}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {sc}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {sc}{b}{bsc}{} 
+\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{} 
+\DeclareFontSeriesChangeRule {sc}{el}{elsc}{} 
+\DeclareFontSeriesChangeRule {sc}{l}{lsc}{} 
+\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{} 
+\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{} 
+\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{} 
+\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{} 
+\DeclareFontSeriesChangeRule {sc}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {ebx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{} 
+\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{} 
+\DeclareFontSeriesChangeRule {ebx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {ebx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{} 
+\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{} 
+\DeclareFontSeriesChangeRule {eb}{c}{ebc}{} 
+\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{} 
+\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{} 
+\DeclareFontSeriesChangeRule {eb}{x}{ebx}{} 
+\DeclareFontSeriesChangeRule {elc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {elc}{c}{elc}{} 
+\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {elc}{ec}{elec}{} 
+\DeclareFontSeriesChangeRule {elc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {elc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{} 
+\DeclareFontSeriesChangeRule {elc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {elc}{x}{elx}{} 
+\DeclareFontSeriesChangeRule {elx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {elx}{c}{elc}{} 
+\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {elx}{ec}{elec}{} 
+\DeclareFontSeriesChangeRule {elx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {elx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{} 
+\DeclareFontSeriesChangeRule {elx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {elx}{x}{elx}{} 
+\DeclareFontSeriesChangeRule {el}{c}{elc}{} 
+\DeclareFontSeriesChangeRule {el}{ec}{elec}{} 
+\DeclareFontSeriesChangeRule {el}{sc}{elsc}{} 
+\DeclareFontSeriesChangeRule {el}{x}{elx}{} 
+\DeclareFontSeriesChangeRule {lc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {lc}{c}{lc}{} 
+\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {lc}{ec}{lec}{} 
+\DeclareFontSeriesChangeRule {lc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {lc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{} 
+\DeclareFontSeriesChangeRule {lc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {lc}{x}{lx}{} 
+\DeclareFontSeriesChangeRule {lx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {lx}{c}{lc}{} 
+\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {lx}{ec}{lec}{} 
+\DeclareFontSeriesChangeRule {lx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {lx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{} 
+\DeclareFontSeriesChangeRule {lx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {lx}{x}{lx}{} 
+\DeclareFontSeriesChangeRule {l}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {l}{b}  {b}   {bx} %<-----
+\DeclareFontSeriesChangeRule {l}{c}  {lc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{ec}  {lec}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sb} {sb}  {b}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sc}  {lsc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{x}  {lx}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {m}{bx} {bx} {b}    %<-----
+\DeclareFontSeriesChangeRule {m}{b}  {b}  {bx} %<-----
+\DeclareFontSeriesChangeRule {m}{c}  {c}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{ec}  {ec}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{l}  {l}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{sb} {sb} {b} %<-----
+\DeclareFontSeriesChangeRule {m}{sc}  {sc}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{x}  {x}  {m} %<-----
+\DeclareFontSeriesChangeRule {sbc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{} 
+\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc} 
+\DeclareFontSeriesChangeRule {sbc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {sbc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc} 
+\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{} 
+\DeclareFontSeriesChangeRule {sbx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{} 
+\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{} 
+\DeclareFontSeriesChangeRule {sbx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {sbx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{} 
+\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{} 
+\DeclareFontSeriesChangeRule {sb}{c}  {sbc} {bc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{ec}  {sbec} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{sc}  {sbsc} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{x}  {sbx} {bx} %? %<-----
+\DeclareFontSeriesChangeRule {slc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {slc}{c}{slc}{} 
+\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {slc}{ec}{slec}{} 
+\DeclareFontSeriesChangeRule {slc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {slc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{} 
+\DeclareFontSeriesChangeRule {slc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {slc}{x}{slx}{} 
+\DeclareFontSeriesChangeRule {slx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {slx}{c}{slc}{} 
+\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {slx}{ec}{slec}{} 
+\DeclareFontSeriesChangeRule {slx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {slx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{} 
+\DeclareFontSeriesChangeRule {slx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {slx}{x}{slx}{} 
+\DeclareFontSeriesChangeRule {sl}{c}{slc}{} 
+\DeclareFontSeriesChangeRule {sl}{ec}{slec}{} 
+\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{} 
+\DeclareFontSeriesChangeRule {sl}{x}{slx}{} 
+\DeclareFontSeriesChangeRule {ubc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{} 
+\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{} 
+\DeclareFontSeriesChangeRule {ubc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {ubc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{} 
+\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{} 
+\DeclareFontSeriesChangeRule {ubx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{} 
+\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{} 
+\DeclareFontSeriesChangeRule {ubx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {ubx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{} 
+\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{} 
+\DeclareFontSeriesChangeRule {ub}{c}{ubc}{} 
+\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{} 
+\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{} 
+\DeclareFontSeriesChangeRule {ub}{x}{ubx}{} 
+\DeclareFontSeriesChangeRule {ulc}{b}{bc}{} 
+\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{} 
+\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{} 
+\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc} 
+\DeclareFontSeriesChangeRule {ulc}{el}{elc}{} 
+\DeclareFontSeriesChangeRule {ulc}{l}{lc}{} 
+\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{} 
+\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc} 
+\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{} 
+\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{} 
+\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{} 
+\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{} 
+\DeclareFontSeriesChangeRule {ulx}{b}{bx}{} 
+\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{} 
+\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{} 
+\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{} 
+\DeclareFontSeriesChangeRule {ulx}{el}{elx}{} 
+\DeclareFontSeriesChangeRule {ulx}{l}{lx}{} 
+\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{} 
+\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{} 
+\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{} 
+\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{} 
+\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{} 
+\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{} 
+\DeclareFontSeriesChangeRule {ul}{c}{ulc}{} 
+\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{} 
+\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{} 
+\DeclareFontSeriesChangeRule {ul}{x}{ulx}{} 
+\DeclareFontSeriesChangeRule {x}{b}{bx}{}
+\DeclareFontSeriesChangeRule {x}{c}{c}{}
+\DeclareFontSeriesChangeRule {x}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {x}{ec}{ec}{}
+\DeclareFontSeriesChangeRule {x}{el}{elx}{}
+\DeclareFontSeriesChangeRule {x}{l}{lx}{}
+\DeclareFontSeriesChangeRule {x}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {x}{sc}{sc}{}
+\DeclareFontSeriesChangeRule {x}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {x}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {x}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {bec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {bx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {b}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {c}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ebc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {ebx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {eb}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {ec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {elec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {elx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {el}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {lc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {lec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {lx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {l}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {m}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {sbc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {sbx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {sb}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {sc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {slec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {slx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {sl}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {ubc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{} 
+\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{} 
+\DeclareFontSeriesChangeRule {ubx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {ub}{m?}{ub}{} 
+\DeclareFontSeriesChangeRule {ulc}{m?}{c}{} 
+\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ulx}{m?}{x}{} 
+\DeclareFontSeriesChangeRule {ul}{m?}{m}{} 
+\DeclareFontSeriesChangeRule {x}{m?}{x}{}
+\DeclareFontSeriesChangeRule {bc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bec}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bx}{?m}{b}{} 
+\DeclareFontSeriesChangeRule {b}{?m}{b}{} 
+\DeclareFontSeriesChangeRule {c}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {eb}{?m}{eb}{} 
+\DeclareFontSeriesChangeRule {ec}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {elc}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elec}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {elx}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {el}{?m}{el}{} 
+\DeclareFontSeriesChangeRule {lc}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lec}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {lx}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {l}{?m}{l}{} 
+\DeclareFontSeriesChangeRule {m}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sb}{?m}{sb}{} 
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {slc}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slec}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {slx}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {sl}{?m}{sl}{} 
+\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{} 
+\DeclareFontSeriesChangeRule {ub}{?m}{m}{} 
+\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {ul}{?m}{ul}{} 
+\DeclareFontSeriesChangeRule {x}{?m}{m}{} 
+
+
+\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
+\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+
+\def\merge at font@series#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@series@
+    \csname series@\f at series @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@series@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \set at target@series{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /#1/\f at shape}%
+     \ifcsname \@reserveda \endcsname
+       \set at target@series{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /#2/\f at shape \endcsname
+         \set at target@series{#2}%
+         \@font at shape@subst at warning
+       \else
+         \set at target@series{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\def\@font at shape@subst at warning{%
+   \edef\@reservedb{\curr at fontshape}%
+   \ifx\@reserveda\@reservedb \else
+     \@font at warning{Font shape `\@reserveda' undefined\MessageBreak
+                    using `\@reservedb' instead}%
+   \fi
+}
+\def\maybe at load@fontshape{\begingroup\try at load@fontshape\endgroup}
+\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc} 
+\def\set at target@series#1{%
+    \edef\f at series{#1}%
+    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+}
+\def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
+  \ifx\relax#1#2\relax m\else#1#2\fi
+}
+
+\def\DeclareFontShapeChangeRule #1#2#3#4{%
+  \@namedef{shape@#1@#2}{{#3}{#4}}}
+\DeclareRobustCommand\ulcshape
+        {\not at math@alphabet\ulcshape\relax
+         \fontshape\ulcdefault\selectfont}
+\newcommand\ulcdefault{ulc}
+\DeclareRobustCommand\swshape
+        {\not at math@alphabet\swshape\relax
+         \fontshape\swdefault\selectfont}
+\newcommand\swdefault{sw}
+\DeclareRobustCommand\sscshape
+        {\not at math@alphabet\sscshape\relax
+         \fontshape\sscdefault\selectfont}
+\newcommand\sscdefault{ssc}
+\DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
+\DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
+\DeclareFontShapeChangeRule {n}{ulc} {n}   {}
+\DeclareFontShapeChangeRule {n}{up} {n}    {}
+\DeclareFontShapeChangeRule {it}{sl}  {sl}    {it}
+\DeclareFontShapeChangeRule {it}{sc}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {it}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {it}{up} {n}      {}
+\DeclareFontShapeChangeRule {sl}{it}  {it}    {sl}
+\DeclareFontShapeChangeRule {sl}{sc}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {sl}{up} {n}      {}
+\DeclareFontShapeChangeRule {sc}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {sc}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sc}{sw}  {scsw}  {sw}
+\DeclareFontShapeChangeRule {sc}{ulc} {n}     {}
+\DeclareFontShapeChangeRule {sc}{up} {n}     {}
+\DeclareFontShapeChangeRule {scit}{it}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {scit}{sw}  {scsw}  {sc}    % or scit?
+\DeclareFontShapeChangeRule {scit}{sc}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {scit}{up} {sc}     {}
+\DeclareFontShapeChangeRule {scsl}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {scsl}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{sw}  {scsw}  {sc}    % or scsl?
+\DeclareFontShapeChangeRule {scsl}{sc}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {scsl}{up}   {sc}   {}
+\DeclareFontShapeChangeRule {scsw}{it}  {scit}  {scsw}
+\DeclareFontShapeChangeRule {scsw}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsw}{sw}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {scsw}{up} {sc}     {}
+\DeclareFontShapeChangeRule {sw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {sw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {sw}{up} {n}      {}
+\DeclareRobustCommand\fontshape[1]{\merge at font@shape{#1}}
+\DeclareRobustCommand\fontshapeforce[1]{\edef\f at shape{#1}}
+\def\merge at font@shape#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@shape@
+    \csname shape@\f at shape @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@shape@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \edef\f at shape{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /\f at series/#1}%
+     \ifcsname \@reserveda\endcsname
+       \edef\f at shape{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /\f at series/#2\endcsname
+         \edef\f at shape{#2}%
+         \@font at shape@subst at warning
+       \else
+         \edef\f at shape{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\protected\def\normalshape
+    {\not at math@alphabet\normalshape\relax
+      \fontshape\shapedefault\selectfont}%
+\def\reinstall at nfss@defs{%
+  \protected\def\upshape
+          {\not at math@alphabet\upshape\relax
+           \fontshape\updefault\selectfont}%
+  \protected\def\slshape
+          {\not at math@alphabet\slshape\relax
+           \fontshape\sldefault\selectfont}%
+  \protected\def\scshape
+          {\not at math@alphabet\scshape\relax
+           \fontshape\scdefault\selectfont}%
+  \protected\def\itshape
+          {\not at math@alphabet\itshape\mathit
+           \fontshape\itdefault\selectfont}%
+  \protected\def\ulcshape
+          {\not at math@alphabet\ulcshape\relax
+           \fontshape{ulc}\selectfont}%
+  \protected\def\swshape
+          {\not at math@alphabet\swshape\relax
+           \fontshape\swdefault\selectfont}%
+  \protected\def\sscshape
+          {\not at math@alphabet\sscshape\relax
+           \fontshape\sscdefault\selectfont}%
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+   {\DeclareFontSeriesChangeRule}{Series change rules}%
+
+\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
+\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
+\let\fontseriesforce\@undefined
+\let\fontshapeforce\@undefined
+
+\let\DeclareFontSeriesChangeRule\@undefined
+\let\merge at font@series\@undefined
+\let\merge at font@series@\@undefined
+\let\@font at shape@subst at warning\@undefined
+\let\maybe at load@fontshape\@undefined
+\let\set at target@series\@undefined
+\let\series at drop@one at m\@undefined
+\let\DeclareFontShapeChangeRule\@undefined
+\let\merge at font@shape\@undefined
+\let\merge at font@shape@\@undefined
+\let\normalshape\@undefined
+\let\ulcshape\@undefined
+\let\ulcdefault\@undefined
+\let\swshape\@undefined
+\let\swdefault\@undefined
+\let\sscshape\@undefined
+\let\sscdefault\@undefined
+\let\normalshape\@undefined
+
+\let\reinstall at nfss@defs\relax
+\EndIncludeInRelease
+
 %%% From File: ltfsstrc.dtx
 %% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf.
 %% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved.
+\IncludeInRelease{2020/02/01}%
+                 {\@font at aliasinfo}{alias size function}%
+\DeclareSizeFunction{alias}{\sub at sfcnt\@font at aliasinfo}
+\def\@font at aliasinfo#1{%
+  \@font at info{Font\space shape\space `\curr at fontshape'\space
+              aliased\space to\MessageBreak `\mandatory at arg'}%
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\@font at aliasinfo}{alias size function}%
+\let\s at fct@alias\@undefined
+\let\@font at aliasinfo\@undefined
+
+\EndIncludeInRelease
 %%% From File: ltfsscmp.dtx
 %% Copyright (C) 1989-1995 Frank Mittelbach and Rainer Sch\"opf,
 %% all rights reserved.
@@ -4352,7 +5991,7 @@
 \kernel at make@fragile\end
 
 \EndIncludeInRelease
-\IncludeInRelease{2020/02/01}%
+\IncludeInRelease{2020/02/02}%
                  {\@centercr}{Make robust}%
 \protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
        \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
@@ -4703,7 +6342,7 @@
 \EndIncludeInRelease
 \fi
 %%% From File: ltexpl.dtx
-\IncludeInRelease{2020/02/01}%
+\IncludeInRelease{2020/02/02}%
                  {expl3}{Pre-load expl3}%
 \IfFileExists{expl3.ltx}
   {%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latexsym.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latexsym.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latexsym.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latin1.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latin1.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latin1.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latin10.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latin10.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latin10.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latin2.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latin2.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latin2.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latin3.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latin3.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latin3.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latin4.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latin4.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latin4.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latin5.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latin5.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latin5.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/latin9.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/latin9.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/latin9.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/lcyenc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/lcyenc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/lcyenc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/leqno.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/leqno.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/leqno.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/leqno.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/leqno.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/leqno.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/letter.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/letter.cls	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/letter.cls	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/letter.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/letter.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/letter.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ltexpl.ltx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ltxcheck.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ltxcheck.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ltxcheck.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ltxdoc.cls	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ly1enc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ly1enc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ly1enc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/macce.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/macce.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/macce.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/makeidx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/makeidx.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/makeidx.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/newlfont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/newlfont.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/newlfont.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/next.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/next.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/next.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/nfssfont.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/nfssfont.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/nfssfont.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/oldlfont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/oldlfont.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/oldlfont.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omlcmm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omlcmm.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omlcmm.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{omlcmm.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OML}{cmm}{\skewchar\font127 }
 \DeclareFontShape{OML}{cmm}{m}{it}%
      {<5><6><7><8><9>gen*cmmi%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omlcmr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omlcmr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omlcmr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{omlcmr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OML}{cmr}{\skewchar\font127 }
 \DeclareFontShape{OML}{cmr}{m}{n}%
    {<->ssub*cmm/m/it}{}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omlenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omlenc.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omlenc.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesFile{omlenc.def}
- [2018/08/11 v2.0j
-         Standard LaTeX file]
+ [2019/11/22 v2.0l
+      Standard LaTeX file]
 \DeclareFontEncoding{OML}{}{}
 \DeclareTextSymbol{\textless}{OML}{`\<}
 \DeclareTextSymbol{\textgreater}{OML}{`\>}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omllcmm.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omllcmm.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omllcmm.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omscmr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omscmr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omscmr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{omscmr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OMS}{cmr}{\skewchar\font48 }
 \DeclareFontShape{OMS}{cmr}{m}{n}%
    {<->ssub*cmsy/m/n}{}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omscmsy.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omscmsy.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omscmsy.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{omscmsy.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OMS}{cmsy}{\skewchar\font48 }
 \DeclareFontShape{OMS}{cmsy}{m}{n}{%
       <5><6><7><8><9><10>gen*cmsy%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesFile{omsenc.def}
- [2018/08/11 v2.0j
-         Standard LaTeX file]
+ [2019/11/22 v2.0l
+      Standard LaTeX file]
 \DeclareFontEncoding{OMS}{}{}
 \DeclareTextSymbol{\textasteriskcentered}{OMS}{3}   % "03
 \DeclareTextSymbol{\textbackslash}{OMS}{110}        % "6E

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omsenc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omslcmsy.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omslcmsy.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omslcmsy.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omxcmex.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omxcmex.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omxcmex.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{omxcmex.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OMX}{cmex}{}
 \DeclareFontShape{OMX}{cmex}{m}{n}{%
    <->sfixed*cmex10%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/omxlcmex.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/omxlcmex.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/omxlcmex.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/openbib.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/openbib.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/openbib.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmdh.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmdh.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmdh.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ot1cmdh.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OT1}{cmdh}{\hyphenchar\font45 }
 \DeclareFontShape{OT1}{cmdh}{m}{n}{%
       <10>cmdunh10%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfib.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfib.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfib.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ot1cmfib.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OT1}{cmfib}{\hyphenchar\font45 }
 \DeclareFontShape{OT1}{cmfib}{m}{n}{%
       <8>cmfib8%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmfr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ot1cmfr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OT1}{cmfr}{\hyphenchar\font45 }
 \DeclareFontShape{OT1}{cmfr}{m}{n}{%
       <10>cmff10%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ot1cmr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OT1}{cmr}{\hyphenchar\font45 }
 \DeclareFontShape{OT1}{cmr}{m}{n}%
      {<5><6><7><8><9><10><12>gen*cmr%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmss.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmss.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmss.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ot1cmss.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OT1}{cmss}{\hyphenchar\font45 }
 \DeclareFontShape{OT1}{cmss}{m}{n}
      {%
@@ -58,7 +58,7 @@
       }{}
 % Font undefined, therefore substituted
 \DeclareFontShape{OT1}{cmss}{m}{it}
-      {<->sub*cmss/m/sl}{}
+    {<->ssub*cmss/m/sl}{}
 \DeclareFontShape{OT1}{cmss}{m}{sl}
     {%
       <5><6><7><8>cmssi8<9>cmssi9%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ot1cmtt.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font\m at ne}
 \DeclareFontShape{OT1}{cmtt}{m}{n}
      {%
@@ -76,6 +76,8 @@
   {<->ssub*cmtt/m/n}{}
 \DeclareFontShape{OT1}{cmtt}{bx}{it}
   {<->ssub*cmtt/m/it}{}
+\DeclareFontShape{OT1}{cmtt}{bx}{sl}
+  {<->ssub*cmtt/m/n}{}
 \DeclareFontShape{OT1}{cmtt}{bx}{ui}
   {<->ssub*cmtt/m/it}{}
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmvtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmvtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1cmvtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ot1cmvtt.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{OT1}{cmvtt}{\hyphenchar\font45 }
 \DeclareFontShape{OT1}{cmvtt}{m}{n}%
      {%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesFile{ot1enc.def}
- [2018/08/11 v2.0j
-         Standard LaTeX file]
+ [2019/11/22 v2.0l
+      Standard LaTeX file]
 \DeclareFontEncoding{OT1}{}{}
 \DeclareTextAccent{\"}{OT1}{127}
 \DeclareTextAccent{\'}{OT1}{19}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1enc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmss.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmss.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmss.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot1lcmtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot2enc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot2enc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot2enc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ot4enc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ot4enc.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ot4enc.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesFile{ot4enc.def}
- [2018/08/11 v2.0j
-         Standard LaTeX file]
+ [2019/11/22 v2.0l
+      Standard LaTeX file]
 \DeclareFontEncoding{OT4}{}{}
 \DeclareFontSubstitution{OT4}{cmr}{m}{n}
 \DeclareTextAccent{\"}{OT4}{127}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/preload.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/preload.cfg	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/preload.cfg	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{preload.cfg}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2019/12/17 v3.0e LaTeX Kernel
 (Uncustomised preload
            font setup)]
 %%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/preload.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/preload.ltx	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/preload.ltx	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/proc.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/proc.cls	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/proc.cls	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/proc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/proc.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/proc.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/report.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/report.cls	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/report.cls	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesClass{report}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
  Standard LaTeX document class]
 \newcommand\@ptsize{}
 \newif\if at restonecol
@@ -427,10 +427,11 @@
 \renewcommand\p at enumii{\theenumi}
 \renewcommand\p at enumiii{\theenumi(\theenumii)}
 \renewcommand\p at enumiv{\p at enumiii\theenumiii}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\newcommand\labelitemi  {\labelitemfont \textbullet}
+\newcommand\labelitemii {\labelitemfont \bfseries \textendash}
+\newcommand\labelitemiii{\labelitemfont \textasteriskcentered}
+\newcommand\labelitemiv{ \labelitemfont \textperiodcentered}
+\newcommand\labelitemfont{\normalfont}
 \newenvironment{description}
                {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                         \let\makelabel\descriptionlabel}}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/report.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/report.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/report.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/sfonts.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/sfonts.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/sfonts.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1994/12/01]
 \ProvidesPackage{shortvrb}
-  [2019/11/10 v2.1k
+  [2019/12/16 v2.1l
    Standard LaTeX documentation package (FMi)]
 %%
 %% Package `doc' to use with LaTeX 2e

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/showidx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/showidx.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/showidx.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/size10.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/size10.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/size10.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{size10.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xpt\@xiipt

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/size11.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/size11.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/size11.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{size11.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xipt{13.6}%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/size12.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/size12.clo	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/size12.clo	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{size12.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xiipt{14.5}%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/slides.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/slides.cls	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/slides.cls	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1997/06/01]
 \ProvidesClass{slides}
-              [2016/03/29 v2.4a
+              [2019/11/04 v2.4b
                Standard LaTeX document class]
 \input{slides.def}
 \InputIfFileExists{sfonts.cfg}
@@ -107,6 +107,7 @@
 \def\itdefault{sl}
 \def\sldefault{sl}
 \def\bfdefault{bx}
+\def\updefault{n}
 \def\ifourteenpt{13.82}
 \def\iseventeenpt{16.59}
 \def\itwentypt{19.907}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/slides.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/slides.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/slides.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{slides.def}
-              [2016/03/29 v2.4a
+              [2019/11/04 v2.4b
                SLiTeX definitions]
 \message{hacks,}
 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/slides.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/slides.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/slides.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/syntonly.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/syntonly.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/syntonly.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1cmdh.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1cmdh.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1cmdh.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{t1cmdh.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at family}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8><9><10><10.95><12><14.4>%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfib.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfib.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfib.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{t1cmfib.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at family}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8><9><10><10.95><12><14.4>%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1cmfr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{t1cmfr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at family}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8><9><10><10.95><12><14.4>%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1cmr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1cmr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1cmr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{t1cmr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at family}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8><9><10><10.95><12><14.4>%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1cmss.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1cmss.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1cmss.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{t1cmss.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at family}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8><9><10><10.95><12><14.4>%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1cmtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1cmtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1cmtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{t1cmtt.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at ttfamily}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8>#50800%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1cmvtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1cmvtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1cmvtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{t1cmvtt.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at ttfamily}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8>#50800%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesFile{t1enc.def}
- [2018/08/11 v2.0j
-         Standard LaTeX file]
+ [2019/11/22 v2.0l
+      Standard LaTeX file]
 \DeclareFontEncoding{T1}{}{}
 \DeclareTextAccent{\`}{T1}{0}
 \DeclareTextAccent{\'}{T1}{1}

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1enc.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmss.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmss.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmss.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t1lcmtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t2aenc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t2aenc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t2aenc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t2benc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t2benc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t2benc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/t2cenc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/t2cenc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/t2cenc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/testpage.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/testpage.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/testpage.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file. 
 % 

Added: trunk/Master/texmf-dist/tex/latex-dev/base/textcomp-2018-08-11.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/textcomp-2018-08-11.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/textcomp-2018-08-11.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -0,0 +1,414 @@
+%%
+%% This is file `textcomp-2018-08-11.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lttextcomp.dtx  (with options: `TS1oldsty')
+%% 
+%% This is a generated file.
+%% 
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs.html
+%% (but please observe conditions on bug reports sent to that address!)
+%% 
+%% 
+%% Copyright (C) 1993-2020
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%% 
+%% This file was generated from file(s) of the LaTeX base system.
+%% --------------------------------------------------------------
+%% 
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%    https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%% 
+%% This file has the LPPL maintenance status "maintained".
+%% 
+%% This file may only be distributed together with a copy of the LaTeX
+%% base system. You may however distribute the LaTeX base system without
+%% such generated files.
+%% 
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.txt'. See also `legal.txt' for additional
+%% information.
+%% 
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+
+\ProvidesPackage{textcomp}
+   [2018/08/11 v2.0j Standard LaTeX package]
+
+\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak
+    \space\space 5 = only ISO-Adobe without
+                              \string\textcurrency\MessageBreak
+    \space\space 4 = 5 + \string\texteuro\MessageBreak
+    \space\space 3 = 4 + \string\textohm\MessageBreak
+    \space\space 2 = 3 + \noexpand\textestimated+
+                                \string\textcurrency\MessageBreak
+    \space\space 1 = TS1 - \noexpand\textcircled-
+                                            \string\t\MessageBreak
+    \space\space 0 = TS1 (full)\MessageBreak
+    Font families with sub-encoding setting implement\MessageBreak
+    only a restricted character set as indicated.\MessageBreak
+    Family '?' is the default used for unknown fonts.\MessageBreak
+    See the documentation for details\@gobble}
+\def\DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}%
+     {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}%
+   \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+\newif\iftc at forced   \tc at forcedfalse
+
+\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
+\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
+\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}}
+\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}}
+\DeclareOption{force}{\tc at forcedtrue}
+\def\tc at errorwarn{\PackageError}
+\DeclareOption{warn}{\gdef\tc at errorwarn#1#2#3{\PackageWarning{#1}{#2}}}
+\DeclareOption{quiet}{\gdef\tc at errorwarn#1#2#3{}}
+\ExecuteOptions{almostfull}
+\ProcessOptions\relax
+
+\iftc at forced
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+        0\csname #2:?\endcsname
+        \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+\else
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+\fi
+\def\tc at subst#1{%
+   \tc at errorwarn{textcomp}%
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup
+}
+\def\tc at error#1{%
+   \PackageError{textcomp}%  % should be latex error if general
+    {Accent \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding}\@eha
+}
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \PackageInfo{textcomp}{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
+\DeclareTextAccentDefault{\capitalcedilla}{TS1}
+\DeclareTextAccentDefault{\capitalogonek}{TS1}
+\DeclareTextAccentDefault{\capitalgrave}{TS1}
+\DeclareTextAccentDefault{\capitalacute}{TS1}
+\DeclareTextAccentDefault{\capitalcircumflex}{TS1}
+\DeclareTextAccentDefault{\capitaltilde}{TS1}
+\DeclareTextAccentDefault{\capitaldieresis}{TS1}
+\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1}
+\DeclareTextAccentDefault{\capitalring}{TS1}
+\DeclareTextAccentDefault{\capitalcaron}{TS1}
+\DeclareTextAccentDefault{\capitalbreve}{TS1}
+\DeclareTextAccentDefault{\capitalmacron}{TS1}
+\DeclareTextAccentDefault{\capitaldotaccent}{TS1}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
+\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textfractionsolidus}{TS1}
+\DeclareTextSymbolDefault{\textminus}{TS1}
+\DeclareTextSymbolDefault{\textlbrackdbl}{TS1}
+\DeclareTextSymbolDefault{\textrbrackdbl}{TS1}
+\DeclareTextSymbolDefault{\textasciigrave}{TS1}
+\DeclareTextSymbolDefault{\texttildelow}{TS1}
+\DeclareTextSymbolDefault{\textasciibreve}{TS1}
+\DeclareTextSymbolDefault{\textasciicaron}{TS1}
+\DeclareTextSymbolDefault{\textgravedbl}{TS1}
+\DeclareTextSymbolDefault{\textacutedbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textbardbl}{TS1}
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textcelsius}{TS1}
+\DeclareTextSymbolDefault{\textflorin}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+\DeclareTextSymbolDefault{\textasciidieresis}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+\DeclareTextSymbolDefault{\textasciimacron}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
+\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
+\DeclareTextSymbolDefault{\textasciiacute}{TS1}
+\DeclareTextSymbolDefault{\textmu}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textonesuperior}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextCommandDefault{\texteuro}
+   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro5\texteuro}
+\DeclareTextCommandDefault{\textohm}{\tc at check@symbol4\textohm}
+\DeclareTextCommandDefault{\textestimated}%
+    {\tc at check@symbol3\textestimated}
+\DeclareTextCommandDefault{\textcurrency}%
+    {\tc at check@symbol3\textcurrency}
+\DeclareTextCommandDefault{\capitaltie}%
+    {\tc at check@accent2\capitaltie}
+\DeclareTextCommandDefault{\newtie}%
+    {\tc at check@accent2\newtie}
+\DeclareTextCommandDefault{\capitalnewtie}%
+    {\tc at check@accent2\capitalnewtie}
+\DeclareTextCommandDefault{\textleftarrow}%
+    {\tc at check@symbol2\textleftarrow}
+\DeclareTextCommandDefault{\textrightarrow}%
+    {\tc at check@symbol2\textrightarrow}
+\DeclareTextCommandDefault{\textblank}%
+    {\tc at check@symbol2\textblank}
+\DeclareTextCommandDefault{\textdblhyphen}%
+    {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textzerooldstyle}%
+    {\tc at check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}%
+    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}%
+    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}%
+    {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}%
+    {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}%
+    {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}%
+    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}%
+    {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\texteightoldstyle}%
+    {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}%
+    {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textlangle}%
+    {\tc at check@symbol2\textlangle}
+\DeclareTextCommandDefault{\textrangle}%
+    {\tc at check@symbol2\textrangle}
+\DeclareTextCommandDefault{\textmho}%
+    {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textbigcircle}%
+    {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textuparrow}%
+    {\tc at check@symbol2\textuparrow}
+\DeclareTextCommandDefault{\textdownarrow}%
+    {\tc at check@symbol2\textdownarrow}
+\DeclareTextCommandDefault{\textborn}%
+    {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textdivorced}%
+    {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdied}%
+    {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textleaf}%
+    {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textmarried}%
+    {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmusicalnote}%
+    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textdblhyphenchar}%
+    {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdollaroldstyle}%
+    {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textcentoldstyle}%
+    {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcolonmonetary}%
+    {\tc at check@symbol2\textcolonmonetary}
+\DeclareTextCommandDefault{\textwon}%
+    {\tc at check@symbol2\textwon}
+\DeclareTextCommandDefault{\textnaira}%
+    {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textguarani}%
+    {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textpeso}%
+    {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textlira}%
+    {\tc at check@symbol2\textlira}
+\DeclareTextCommandDefault{\textrecipe}%
+    {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textinterrobang}%
+    {\tc at check@symbol2\textinterrobang}
+\DeclareTextCommandDefault{\textinterrobangdown}%
+    {\tc at check@symbol2\textinterrobangdown}
+\DeclareTextCommandDefault{\textdong}%
+    {\tc at check@symbol2\textdong}
+\DeclareTextCommandDefault{\textpertenthousand}%
+    {\tc at check@symbol2\textpertenthousand}
+\DeclareTextCommandDefault{\textpilcrow}%
+    {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textbaht}%
+    {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textnumero}%
+    {\tc at check@symbol2\textnumero}
+\DeclareTextCommandDefault{\textdiscount}%
+    {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textopenbullet}%
+    {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textservicemark}%
+    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textlquill}%
+    {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textrquill}%
+    {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textcopyleft}%
+    {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textcircledP}%
+    {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textreferencemark}%
+    {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textsurd}%
+    {\tc at check@symbol2\textsurd}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}%
+    {\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}%
+    {\UseTextAccent{OML}}1\t}
+
+\input{ts1enc.def}
+\UndeclareTextCommand{\textsterling}{OT1}
+\UndeclareTextCommand{\textdollar}  {OT1}
+\UndeclareTextCommand{\textperthousand}{T1}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+  \ifmmode
+   \mathgroup\symletters #1%
+  \else
+   \CheckEncodingSubset\@use at text@encoding{TS1}%
+       {\PackageWarning{textcomp}%
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Lining digits used instead}}%
+       \tw@{#1}%
+   \fi
+ \endgroup
+}
+\iftc at forced \else
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+\DeclareEncodingSubset{TS1}{ptm}     {4}
+\DeclareEncodingSubset{TS1}{pcr}     {4}
+\DeclareEncodingSubset{TS1}{phv}     {4}
+\DeclareEncodingSubset{TS1}{ppl}     {3}
+\DeclareEncodingSubset{TS1}{pag}     {4}
+\DeclareEncodingSubset{TS1}{pbk}     {4}
+\DeclareEncodingSubset{TS1}{pnc}     {4}
+\DeclareEncodingSubset{TS1}{pzc}     {4}
+\DeclareEncodingSubset{TS1}{bch}     {4}
+\DeclareEncodingSubset{TS1}{put}     {5}
+\DeclareEncodingSubset{TS1}{uag}     {5}
+\DeclareEncodingSubset{TS1}{ugq}     {5}
+\DeclareEncodingSubset{TS1}{ul8}     {4}
+\DeclareEncodingSubset{TS1}{ul9}     {4}  % (LuxiSans, one day)
+\DeclareEncodingSubset{TS1}{augie}   {5}
+\DeclareEncodingSubset{TS1}{dayrom}  {3}
+\DeclareEncodingSubset{TS1}{dayroms} {3}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+\DeclareEncodingSubset{TS1}{lmr}     {0}
+\DeclareEncodingSubset{TS1}{lmdh}    {0}
+\DeclareEncodingSubset{TS1}{lmss}    {0}
+\DeclareEncodingSubset{TS1}{lmssq}   {0}
+\DeclareEncodingSubset{TS1}{lmvtt}   {0}
+\DeclareEncodingSubset{TS1}{lmtt}    {0}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+\DeclareEncodingSubset{TS1}{futs}    {4}
+\DeclareEncodingSubset{TS1}{futx}    {4}
+\DeclareEncodingSubset{TS1}{futj}    {4}
+\DeclareEncodingSubset{TS1}{hlh}     {3}
+\DeclareEncodingSubset{TS1}{hls}     {3}
+\DeclareEncodingSubset{TS1}{hlst}    {3}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlx}     {5}
+\DeclareEncodingSubset{TS1}{hlce}    {5}
+\DeclareEncodingSubset{TS1}{hlcn}    {5}
+\DeclareEncodingSubset{TS1}{hlcw}    {5}
+\DeclareEncodingSubset{TS1}{hlcf}    {5}
+\DeclareEncodingSubset{TS1}{pplx}    {3}
+\DeclareEncodingSubset{TS1}{pplj}    {3}
+\DeclareEncodingSubset{TS1}{ptmx}    {4}
+\DeclareEncodingSubset{TS1}{ptmj}    {4}
+\InputIfFileExists{textcomp.cfg}
+  {\PackageInfo{textcomp}{Local configuration file used}}{}
+\fi
+
+
+\endinput
+%%
+%% End of file `textcomp-2018-08-11.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex-dev/base/textcomp-2018-08-11.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/textcomp.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/textcomp.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -4,7 +4,7 @@
 %%
 %% The original source files were:
 %%
-%% ltoutenc.dtx  (with options: `TS1sty')
+%% lttextcomp.dtx  (with options: `TS1sty')
 %% 
 %% This is a generated file.
 %% 
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -41,375 +41,42 @@
 %% The list of derived (unpacked) files belonging to the distribution
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
-%%% From File: ltoutenc.dtx
-\ProvidesPackage{textcomp}
- [2018/08/11 v2.0j
-                 Standard LaTeX package]
 
-\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak
-    \space\space 5 = only ISO-Adobe without
-                              \string\textcurrency\MessageBreak
-    \space\space 4 = 5 + \string\texteuro\MessageBreak
-    \space\space 3 = 4 + \string\textohm\MessageBreak
-    \space\space 2 = 3 + \noexpand\textestimated+
-                                \string\textcurrency\MessageBreak
-    \space\space 1 = TS1 - \noexpand\textcircled-
-                                            \string\t\MessageBreak
-    \space\space 0 = TS1 (full)\MessageBreak
-    Font families with sub-encoding setting implement\MessageBreak
-    only a restricted character set as indicated.\MessageBreak
-    Family '?' is the default used for unknown fonts.\MessageBreak
-    See the documentation for details\@gobble}
-\def\DeclareEncodingSubset#1#2#3{%
-   \@ifundefined{#1:#2}%
-     {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}%
-     {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}%
-   \@namedef{#1:#2}{#3}}
-\@onlypreamble\DeclareEncodingSubset
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
 
-\newif\iftc at forced   \tc at forcedfalse
+\DeclareRelease{}{2018-08-11}{textcomp-2018-08-11.sty}
+\DeclareCurrentRelease{}{2020-02-02}
 
+\ProvidesPackage{textcomp}
+ [2020/02/02 v2.0m Standard LaTeX package]
 \DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
 \DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
-\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}}
-\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}}
-\DeclareOption{force}{\tc at forcedtrue}
-\def\tc at errorwarn{\PackageError}
-\DeclareOption{warn}{\gdef\tc at errorwarn#1#2#3{\PackageWarning{#1}{#2}}}
-\ExecuteOptions{almostfull}
+\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{8}}
+\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{9}}
+\def\tc at errorwarn{\PackageError{textcomp}}
+\DeclareOption{error}{\gdef\tc at errorwarn{\PackageError{textcomp}}}
+\DeclareOption{warn}{\gdef\tc at errorwarn#1#2{\PackageWarning{textcomp}{#1}}}
+\DeclareOption{quiet}{\gdef\tc at errorwarn#1#2{}}
+\DeclareOption{force}{%
+    \def\CheckEncodingSubset#1#2#3#4#5{%
+      \ifnum #4>%
+           0\csname #2:?\endcsname
+           \relax
+      \expandafter\@firstoftwo
+     \else
+      \expandafter\@secondoftwo
+    \fi
+     {#1{#2}}{#3}%
+     #5}%
+}
+\ExecuteOptions{}
 \ProcessOptions\relax
+\InputIfFileExists{textcomp.cfg}
+  {\PackageInfo{textcomp}{Local configuration file used}}{}
 
-\iftc at forced
-\def\CheckEncodingSubset#1#2#3#4#5{%
-    \ifnum #4>%
-        0\csname #2:?\endcsname
-        \relax
-   \expandafter\@firstoftwo
-  \else
-   \expandafter\@secondoftwo
- \fi
-  {#1{#2}}{#3}%
-  #5%
-}
-\else
-\def\CheckEncodingSubset#1#2#3#4#5{%
-    \ifnum #4>%
-      \expandafter\ifx\csname #2:\f at family\endcsname\relax
-        0\csname #2:?\endcsname
-      \else
-        \csname #2:\f at family\endcsname
-      \fi
-   \relax
-   \expandafter\@firstoftwo
-  \else
-   \expandafter\@secondoftwo
- \fi
-  {#1{#2}}{#3}%
-  #5%
-}
-\fi
-\def\tc at subst#1{%
-   \tc at errorwarn{textcomp}%  % should be latex error if general
-    {Symbol \string#1 not provided by\MessageBreak
-     font family \f at family\space
-     in TS1 encoding.\MessageBreak Default family used instead}\@eha
-  \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup
-}
-\def\textcompsubstdefault{cmr}
 
-\def\tc at error#1{%
-   \PackageError{textcomp}%  % should be latex error if general
-    {Accent \string#1 not provided by\MessageBreak
-     font family \f at family\space
-     in TS1 encoding}\@eha
-}
-\def\tc at fake@euro#1{%
-   \leavevmode
-   \PackageInfo{textcomp}{Faking \noexpand#1for font family
-                          \f at family\MessageBreak in TS1 encoding}%
-   \valign{##\cr
-      \vfil\hbox to 0.07em{\dimen@\f at size\p@
-                           \math at fontsfalse
-                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
-      \vfil\cr%
-      \hbox{C}\crcr
-   }%
-}
-\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
-\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
-\DeclareTextAccentDefault{\capitalcedilla}{TS1}
-\DeclareTextAccentDefault{\capitalogonek}{TS1}
-\DeclareTextAccentDefault{\capitalgrave}{TS1}
-\DeclareTextAccentDefault{\capitalacute}{TS1}
-\DeclareTextAccentDefault{\capitalcircumflex}{TS1}
-\DeclareTextAccentDefault{\capitaltilde}{TS1}
-\DeclareTextAccentDefault{\capitaldieresis}{TS1}
-\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1}
-\DeclareTextAccentDefault{\capitalring}{TS1}
-\DeclareTextAccentDefault{\capitalcaron}{TS1}
-\DeclareTextAccentDefault{\capitalbreve}{TS1}
-\DeclareTextAccentDefault{\capitalmacron}{TS1}
-\DeclareTextAccentDefault{\capitaldotaccent}{TS1}
-\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
-\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
-\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
-\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
-\DeclareTextSymbolDefault{\textdollar}{TS1}
-\DeclareTextSymbolDefault{\textquotesingle}{TS1}
-\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
-\DeclareTextSymbolDefault{\textfractionsolidus}{TS1}
-\DeclareTextSymbolDefault{\textminus}{TS1}
-\DeclareTextSymbolDefault{\textlbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textrbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textasciigrave}{TS1}
-\DeclareTextSymbolDefault{\texttildelow}{TS1}
-\DeclareTextSymbolDefault{\textasciibreve}{TS1}
-\DeclareTextSymbolDefault{\textasciicaron}{TS1}
-\DeclareTextSymbolDefault{\textgravedbl}{TS1}
-\DeclareTextSymbolDefault{\textacutedbl}{TS1}
-\DeclareTextSymbolDefault{\textdagger}{TS1}
-\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
-\DeclareTextSymbolDefault{\textbardbl}{TS1}
-\DeclareTextSymbolDefault{\textperthousand}{TS1}
-\DeclareTextSymbolDefault{\textbullet}{TS1}
-\DeclareTextSymbolDefault{\textcelsius}{TS1}
-\DeclareTextSymbolDefault{\textflorin}{TS1}
-\DeclareTextSymbolDefault{\texttrademark}{TS1}
-\DeclareTextSymbolDefault{\textcent}{TS1}
-\DeclareTextSymbolDefault{\textsterling}{TS1}
-\DeclareTextSymbolDefault{\textyen}{TS1}
-\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
-\DeclareTextSymbolDefault{\textsection}{TS1}
-\DeclareTextSymbolDefault{\textasciidieresis}{TS1}
-\DeclareTextSymbolDefault{\textcopyright}{TS1}
-\DeclareTextSymbolDefault{\textordfeminine}{TS1}
-\DeclareTextSymbolDefault{\textlnot}{TS1}
-\DeclareTextSymbolDefault{\textregistered}{TS1}
-\DeclareTextSymbolDefault{\textasciimacron}{TS1}
-\DeclareTextSymbolDefault{\textdegree}{TS1}
-\DeclareTextSymbolDefault{\textpm}{TS1}
-\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
-\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
-\DeclareTextSymbolDefault{\textasciiacute}{TS1}
-\DeclareTextSymbolDefault{\textmu}{TS1}
-\DeclareTextSymbolDefault{\textparagraph}{TS1}
-\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
-\DeclareTextSymbolDefault{\textonesuperior}{TS1}
-\DeclareTextSymbolDefault{\textordmasculine}{TS1}
-\DeclareTextSymbolDefault{\textonequarter}{TS1}
-\DeclareTextSymbolDefault{\textonehalf}{TS1}
-\DeclareTextSymbolDefault{\textthreequarters}{TS1}
-\DeclareTextSymbolDefault{\texttimes}{TS1}
-\DeclareTextSymbolDefault{\textdiv}{TS1}
-\DeclareTextCommandDefault{\texteuro}
-   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro5\texteuro}
-\DeclareTextCommandDefault{\textohm}{\tc at check@symbol4\textohm}
-\DeclareTextCommandDefault{\textestimated}%
-    {\tc at check@symbol3\textestimated}
-\DeclareTextCommandDefault{\textcurrency}%
-    {\tc at check@symbol3\textcurrency}
-\DeclareTextCommandDefault{\capitaltie}%
-    {\tc at check@accent2\capitaltie}
-\DeclareTextCommandDefault{\newtie}%
-    {\tc at check@accent2\newtie}
-\DeclareTextCommandDefault{\capitalnewtie}%
-    {\tc at check@accent2\capitalnewtie}
-\DeclareTextCommandDefault{\textleftarrow}%
-    {\tc at check@symbol2\textleftarrow}
-\DeclareTextCommandDefault{\textrightarrow}%
-    {\tc at check@symbol2\textrightarrow}
-\DeclareTextCommandDefault{\textblank}%
-    {\tc at check@symbol2\textblank}
-\DeclareTextCommandDefault{\textdblhyphen}%
-    {\tc at check@symbol2\textdblhyphen}
-\DeclareTextCommandDefault{\textzerooldstyle}%
-    {\tc at check@symbol2\textzerooldstyle}
-\DeclareTextCommandDefault{\textoneoldstyle}%
-    {\tc at check@symbol2\textoneoldstyle}
-\DeclareTextCommandDefault{\texttwooldstyle}%
-    {\tc at check@symbol2\texttwooldstyle}
-\DeclareTextCommandDefault{\textthreeoldstyle}%
-    {\tc at check@symbol2\textthreeoldstyle}
-\DeclareTextCommandDefault{\textfouroldstyle}%
-    {\tc at check@symbol2\textfouroldstyle}
-\DeclareTextCommandDefault{\textfiveoldstyle}%
-    {\tc at check@symbol2\textfiveoldstyle}
-\DeclareTextCommandDefault{\textsixoldstyle}%
-    {\tc at check@symbol2\textsixoldstyle}
-\DeclareTextCommandDefault{\textsevenoldstyle}%
-    {\tc at check@symbol2\textsevenoldstyle}
-\DeclareTextCommandDefault{\texteightoldstyle}%
-    {\tc at check@symbol2\texteightoldstyle}
-\DeclareTextCommandDefault{\textnineoldstyle}%
-    {\tc at check@symbol2\textnineoldstyle}
-\DeclareTextCommandDefault{\textlangle}%
-    {\tc at check@symbol2\textlangle}
-\DeclareTextCommandDefault{\textrangle}%
-    {\tc at check@symbol2\textrangle}
-\DeclareTextCommandDefault{\textmho}%
-    {\tc at check@symbol2\textmho}
-\DeclareTextCommandDefault{\textbigcircle}%
-    {\tc at check@symbol2\textbigcircle}
-\DeclareTextCommandDefault{\textuparrow}%
-    {\tc at check@symbol2\textuparrow}
-\DeclareTextCommandDefault{\textdownarrow}%
-    {\tc at check@symbol2\textdownarrow}
-\DeclareTextCommandDefault{\textborn}%
-    {\tc at check@symbol2\textborn}
-\DeclareTextCommandDefault{\textdivorced}%
-    {\tc at check@symbol2\textdivorced}
-\DeclareTextCommandDefault{\textdied}%
-    {\tc at check@symbol2\textdied}
-\DeclareTextCommandDefault{\textleaf}%
-    {\tc at check@symbol2\textleaf}
-\DeclareTextCommandDefault{\textmarried}%
-    {\tc at check@symbol2\textmarried}
-\DeclareTextCommandDefault{\textmusicalnote}%
-    {\tc at check@symbol2\textmusicalnote}
-\DeclareTextCommandDefault{\textdblhyphenchar}%
-    {\tc at check@symbol2\textdblhyphenchar}
-\DeclareTextCommandDefault{\textdollaroldstyle}%
-    {\tc at check@symbol2\textdollaroldstyle}
-\DeclareTextCommandDefault{\textcentoldstyle}%
-    {\tc at check@symbol2\textcentoldstyle}
-\DeclareTextCommandDefault{\textcolonmonetary}%
-    {\tc at check@symbol2\textcolonmonetary}
-\DeclareTextCommandDefault{\textwon}%
-    {\tc at check@symbol2\textwon}
-\DeclareTextCommandDefault{\textnaira}%
-    {\tc at check@symbol2\textnaira}
-\DeclareTextCommandDefault{\textguarani}%
-    {\tc at check@symbol2\textguarani}
-\DeclareTextCommandDefault{\textpeso}%
-    {\tc at check@symbol2\textpeso}
-\DeclareTextCommandDefault{\textlira}%
-    {\tc at check@symbol2\textlira}
-\DeclareTextCommandDefault{\textrecipe}%
-    {\tc at check@symbol2\textrecipe}
-\DeclareTextCommandDefault{\textinterrobang}%
-    {\tc at check@symbol2\textinterrobang}
-\DeclareTextCommandDefault{\textinterrobangdown}%
-    {\tc at check@symbol2\textinterrobangdown}
-\DeclareTextCommandDefault{\textdong}%
-    {\tc at check@symbol2\textdong}
-\DeclareTextCommandDefault{\textpertenthousand}%
-    {\tc at check@symbol2\textpertenthousand}
-\DeclareTextCommandDefault{\textpilcrow}%
-    {\tc at check@symbol2\textpilcrow}
-\DeclareTextCommandDefault{\textbaht}%
-    {\tc at check@symbol2\textbaht}
-\DeclareTextCommandDefault{\textnumero}%
-    {\tc at check@symbol2\textnumero}
-\DeclareTextCommandDefault{\textdiscount}%
-    {\tc at check@symbol2\textdiscount}
-\DeclareTextCommandDefault{\textopenbullet}%
-    {\tc at check@symbol2\textopenbullet}
-\DeclareTextCommandDefault{\textservicemark}%
-    {\tc at check@symbol2\textservicemark}
-\DeclareTextCommandDefault{\textlquill}%
-    {\tc at check@symbol2\textlquill}
-\DeclareTextCommandDefault{\textrquill}%
-    {\tc at check@symbol2\textrquill}
-\DeclareTextCommandDefault{\textcopyleft}%
-    {\tc at check@symbol2\textcopyleft}
-\DeclareTextCommandDefault{\textcircledP}%
-    {\tc at check@symbol2\textcircledP}
-\DeclareTextCommandDefault{\textreferencemark}%
-    {\tc at check@symbol2\textreferencemark}
-\DeclareTextCommandDefault{\textsurd}%
-    {\tc at check@symbol2\textsurd}
-\DeclareTextCommandDefault{\textcircled}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OMS}}1\textcircled}
-\DeclareTextCommandDefault{\t}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OML}}1\t}
-
-\input{ts1enc.def}
-\UndeclareTextCommand{\textsterling}{OT1}
-\UndeclareTextCommand{\textdollar}  {OT1}
-\UndeclareTextCommand{\textperthousand}{T1}
-\DeclareRobustCommand\oldstylenums[1]{%
- \begingroup
-  \ifmmode
-   \mathgroup\symletters #1%
-  \else
-   \CheckEncodingSubset\@use at text@encoding{TS1}%
-       {\PackageWarning{textcomp}%
-          {Oldstyle digits unavailable for
-           family \f at family.\MessageBreak
-           Lining digits used instead}}%
-       \tw@{#1}%
-   \fi
- \endgroup
-}
-\iftc at forced \else
-\DeclareEncodingSubset{TS1}{cmr}     {0}
-\DeclareEncodingSubset{TS1}{cmss}    {0}
-\DeclareEncodingSubset{TS1}{cmtt}    {0}
-\DeclareEncodingSubset{TS1}{cmvtt}   {0}
-\DeclareEncodingSubset{TS1}{cmbr}    {0}
-\DeclareEncodingSubset{TS1}{cmtl}    {0}
-\DeclareEncodingSubset{TS1}{ccr}     {0}
-\DeclareEncodingSubset{TS1}{ptm}     {4}
-\DeclareEncodingSubset{TS1}{pcr}     {4}
-\DeclareEncodingSubset{TS1}{phv}     {4}
-\DeclareEncodingSubset{TS1}{ppl}     {3}
-\DeclareEncodingSubset{TS1}{pag}     {4}
-\DeclareEncodingSubset{TS1}{pbk}     {4}
-\DeclareEncodingSubset{TS1}{pnc}     {4}
-\DeclareEncodingSubset{TS1}{pzc}     {4}
-\DeclareEncodingSubset{TS1}{bch}     {4}
-\DeclareEncodingSubset{TS1}{put}     {5}
-\DeclareEncodingSubset{TS1}{uag}     {5}
-\DeclareEncodingSubset{TS1}{ugq}     {5}
-\DeclareEncodingSubset{TS1}{ul8}     {4}
-\DeclareEncodingSubset{TS1}{ul9}     {4}  % (LuxiSans, one day)
-\DeclareEncodingSubset{TS1}{augie}   {5}
-\DeclareEncodingSubset{TS1}{dayrom}  {3}
-\DeclareEncodingSubset{TS1}{dayroms} {3}
-\DeclareEncodingSubset{TS1}{pxr}     {0}
-\DeclareEncodingSubset{TS1}{pxss}    {0}
-\DeclareEncodingSubset{TS1}{pxtt}    {0}
-\DeclareEncodingSubset{TS1}{txr}     {0}
-\DeclareEncodingSubset{TS1}{txss}    {0}
-\DeclareEncodingSubset{TS1}{txtt}    {0}
-\DeclareEncodingSubset{TS1}{lmr}     {0}
-\DeclareEncodingSubset{TS1}{lmdh}    {0}
-\DeclareEncodingSubset{TS1}{lmss}    {0}
-\DeclareEncodingSubset{TS1}{lmssq}   {0}
-\DeclareEncodingSubset{TS1}{lmvtt}   {0}
-\DeclareEncodingSubset{TS1}{lmtt}    {0}
-\DeclareEncodingSubset{TS1}{qhv}     {0}
-\DeclareEncodingSubset{TS1}{qag}     {0}
-\DeclareEncodingSubset{TS1}{qbk}     {0}
-\DeclareEncodingSubset{TS1}{qcr}     {0}
-\DeclareEncodingSubset{TS1}{qcs}     {0}
-\DeclareEncodingSubset{TS1}{qpl}     {0}
-\DeclareEncodingSubset{TS1}{qtm}     {0}
-\DeclareEncodingSubset{TS1}{qzc}     {0}
-\DeclareEncodingSubset{TS1}{qhvc}    {0}
-\DeclareEncodingSubset{TS1}{futs}    {4}
-\DeclareEncodingSubset{TS1}{futx}    {4}
-\DeclareEncodingSubset{TS1}{futj}    {4}
-\DeclareEncodingSubset{TS1}{hlh}     {3}
-\DeclareEncodingSubset{TS1}{hls}     {3}
-\DeclareEncodingSubset{TS1}{hlst}    {3}
-\DeclareEncodingSubset{TS1}{hlct}    {5}
-\DeclareEncodingSubset{TS1}{hlx}     {5}
-\DeclareEncodingSubset{TS1}{hlce}    {5}
-\DeclareEncodingSubset{TS1}{hlcn}    {5}
-\DeclareEncodingSubset{TS1}{hlcw}    {5}
-\DeclareEncodingSubset{TS1}{hlcf}    {5}
-\DeclareEncodingSubset{TS1}{pplx}    {3}
-\DeclareEncodingSubset{TS1}{pplj}    {3}
-\DeclareEncodingSubset{TS1}{ptmx}    {4}
-\DeclareEncodingSubset{TS1}{ptmj}    {4}
-\InputIfFileExists{textcomp.cfg}
-  {\PackageInfo{textcomp}{Local configuration file used}}{}
-\fi
 \endinput
 %%
 %% End of file `textcomp.sty'.

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tracefnt.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tracefnt.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tracefnt.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved.
 \NeedsTeXFormat{LaTeX2e}[1995/05/16]
 \ProvidesPackage{tracefnt}
-     [2015/02/21 v3.0k  Standard LaTeX package (font tracing)]
+     [2019/10/11 v3.0l  Standard LaTeX package (font tracing)]
 \newcount\tracingfonts
 \tracingfonts=0
 \DeclareOption{errorshow}{%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ts1cmr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at family}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8><9><10><10.95><12><14.4>%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmss.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmss.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmss.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ts1cmss.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at family}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8><9><10><10.95><12><14.4>%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ts1cmtt.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at ttfamily}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8>#50800%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmvtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmvtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ts1cmvtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ts1cmvtt.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \providecommand{\EC at ttfamily}[5]{%
   \DeclareFontShape{#1}{#2}{#3}{#4}%
   {<5><6><7><8>#50800%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesFile{ts1enc.def}[2001/06/05 v3.0e (jk/car/fm)
-         Standard LaTeX file]
+      Standard LaTeX file]
 \DeclareFontEncoding{TS1}{}{}
 \DeclareFontSubstitution{TS1}{cmr}{m}{n}
 \DeclareTextCommand{\capitalcedilla}{TS1}[1]

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ts1enc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tuenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tuenc.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tuenc.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesFile{tuenc.def}
- [2018/08/11 v2.0j
-         Standard LaTeX file]
+ [2019/11/22 v2.0l
+      Standard LaTeX file]
 \providecommand\UnicodeEncodingName{TU}
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname XeTeXrevision\endcsname\relax

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tulmdh.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tulmdh.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tulmdh.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tulmr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tulmr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tulmr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tulmss.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tulmss.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tulmss.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tulmssq.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tulmssq.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tulmssq.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tulmtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tulmtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tulmtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/tulmvtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/tulmvtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/tulmvtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ucmr.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ucmr.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ucmr.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ucmr.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{U}{cmr}{\hyphenchar\font45 }
 \DeclareFontShape{U}{cmr}{m}{n}%
      {<5><6><7><8><9><10><12>gen*cmr%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ucmss.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ucmss.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ucmss.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ucmss.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{U}{cmss}{\hyphenchar\font45 }
 \DeclareFontShape{U}{cmss}{m}{n}%
      {%
@@ -58,7 +58,7 @@
       }{}
 % Font undefined, therefore substituted
 \DeclareFontShape{U}{cmss}{m}{it}%
-      {<->sub*cmss/m/sl}{}
+    {<->ssub*cmss/m/sl}{}
 \DeclareFontShape{U}{cmss}{m}{sl}%
     {%
       <5><6><7><8>cmssi8<9>cmssi9%

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ucmtt.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ucmtt.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ucmtt.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -46,7 +46,7 @@
 %% making successful document exchange impossible.
 %% 
 \ProvidesFile{ucmtt.fd}
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 \DeclareFontFamily{U}{cmtt}{\hyphenchar \font\m at ne}
 \DeclareFontShape{U}{cmtt}{m}{n}%
      {%
@@ -76,6 +76,7 @@
   {<->sub*cmtt/m/n}{}
 \DeclareFontShape{U}{cmtt}{bx}{it}%
   {<->sub*cmtt/m/it}{}
+  {<->sub*cmtt/m/n}{}
 \DeclareFontShape{U}{cmtt}{bx}{ui}%
   {<->sub*cmtt/m/it}{}
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ulasy.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ulasy.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ulasy.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/ullasy.fd
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/ullasy.fd	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/ullasy.fd	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/utf8-2018.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/utf8-2018.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/utf8-2018.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/utf8.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/utf8.def	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/utf8.def	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/utf8enc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/utf8enc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/utf8enc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex-dev/base/x2enc.dfu
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/base/x2enc.dfu	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/base/x2enc.dfu	2020-01-13 21:35:18 UTC (rev 53395)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,41 +0,0 @@
-%%
-%% This is file `.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fileerr.dtx  (with options: `return')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
- \message{File ignored}
-\endinput
-%%
-%% End of file `.tex'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/calc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/calc.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/calc.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,289 +0,0 @@
-%%
-%% This is file `calc.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% calc.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-%% File `calc.dtx'.
-%% Copyright (C) 1992--1995
-%%          Kresten Krab Thorup and Frank Jensen.
-%% Copyright (C) 1997--2007
-%%          Kresten Krab Thorup, Frank Jensen and the LaTeX3 Project.
-%%
-%% The original authors (fj at hugin.dk and  krab at daimi.aau.dk) have
-%% contributed this package to the LaTeX distribution.
-%% Problems with this package should now be sent using latexbug.tex to
-%% the normal LaTeX bug report address.
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{calc}
-          [2017/05/25 v4.3 Infix arithmetic (KKT,FJ)]
-\def\calc at assign@generic#1#2#3#4{\let\calc at A#1\let\calc at B#2%
-    \calc at open(#4!%
-    \global\calc at A\calc at B\endgroup#3\calc at B}
-\def\calc at assign@count{\calc at assign@generic\calc at Acount\calc at Bcount}
-\def\calc at assign@dimen{\calc at assign@generic\calc at Adimen\calc at Bdimen}
-\def\calc at assign@skip{\calc at assign@generic\calc at Askip\calc at Bskip}
-\newcount\calc at Acount   \newcount\calc at Bcount
-\newdimen\calc at Adimen   \newdimen\calc at Bdimen
-\newskip\calc at Askip     \newskip\calc at Bskip
-\def\setcounter#1#2{\@ifundefined{c@#1}{\@nocounterr{#1}}%
-   {\calc at assign@count{\global\csname c@#1\endcsname}{#2}}}
-  \def\addtocounter#1#2{\@ifundefined{c@#1}{\@nocounterr{#1}}%
-    {\calc at assign@count{\global\advance\csname c@#1\endcsname}{#2}}}%
-  \def\stepcounter#1{\@ifundefined {c@#1}%
-    {\@nocounterr {#1}}%
-    {\global\advance\csname c@#1\endcsname \@ne
-    \begingroup
-      \let\@elt\@stpelt \csname cl@#1\endcsname
-    \endgroup}}%
-\@ifpackageloaded{amstext}{%
- \expandafter\def\expandafter\stepcounter
-    \expandafter#\expandafter1\expandafter{%
-    \expandafter\iffirstchoice@\stepcounter{#1}\fi
- }
- \expandafter\def\expandafter\addtocounter
-    \expandafter#\expandafter1\expandafter#\expandafter2\expandafter{%
-    \expandafter\iffirstchoice@\addtocounter{#1}{#2}\fi
- }
-}{}
-\DeclareRobustCommand\setlength{\calc at assign@skip}
-\DeclareRobustCommand\addtolength[1]{\calc at assign@skip{\advance#1}}
-\def\calc at pre@scan#1{%
-  \expandafter\@calc at pre@scan\romannumeral-`\a#1}
-\def\@calc at pre@scan#1{%
-  \ifx(#1%
-    \expandafter\calc at open
-  \else
-    \ifx\widthof#1%
-      \expandafter\expandafter\expandafter\calc at textsize
-    \else
-      \ifx\maxof#1%
-        \expandafter\expandafter\expandafter\expandafter
-        \expandafter\expandafter\expandafter\calc at maxmin@addsub
-      \else
-        \calc at numeric% no \expandafter needed for this one.
-      \fi
-    \fi
-  \fi
-  #1}
-\def\calc at open({\begingroup\aftergroup\calc at initB
-   \begingroup\aftergroup\calc at initB
-   \calc at pre@scan}
-\def\calc at initB{\calc at B\calc at A}
-\def\calc at numeric{\afterassignment\calc at post@scan \global\calc at A}
-\@for\reserved at a:=widthof,heightof,depthof,totalheightof,maxof,minof\do
-{\@ifundefined{\reserved at a}{}{%
-  \PackageError{calc}{%
-  The\space calc\space package\space reserves\space the\space
-  command\space name\space `\@backslashchar\reserved at a'\MessageBreak
-  but\space it\space has\space already\space been\space defined\space
-  with\space the\space meaning\MessageBreak
-  `\expandafter\meaning\csname\reserved at a\endcsname'.\MessageBreak
-  This\space original\space definition\space will\space be\space lost}%
-  {If\space you\space need\space a\space command\space with\space
-  this\space definition,\space you\space must\space use\space a\space
-  different\space name.}}%
-}
-\let\widthof\ignorespaces
-\let\heightof\ignorespaces
-\let\depthof\ignorespaces
-\let\totalheightof\ignorespaces
-\def\calc at textsize #1#2{%
-  \begingroup
-    \let\widthof\wd
-    \let\heightof\ht
-    \let\depthof\dp
-    \def\totalheightof{\ht\dp}%
-    \expandafter\@settodim\expandafter{#1}%
-      {\global\calc at A}%
-      {%
-       \let\widthof\ignorespaces
-       \let\heightof\ignorespaces
-       \let\depthof\ignorespaces
-       \let\totalheightof\ignorespaces
-       #2}%
-  \endgroup
-  \calc at post@scan}
-\def\calc at post@scan#1{%
- \expandafter\@calc at post@scan\romannumeral-`\a#1}
-\def\@calc at post@scan#1{%
-  \ifx#1!\let\calc at next\endgroup \else
-    \ifx#1+\let\calc at next\calc at add \else
-      \ifx#1-\let\calc at next\calc at subtract \else
-        \ifx#1*\let\calc at next\calc at multiplyx \else
-          \ifx#1/\let\calc at next\calc at dividex \else
-            \ifx#1)\let\calc at next\calc at close \else
-              \ifx#1\relax\let\calc at next\calc at post@scan \else
-                \def\calc at next{\calc at error#1}%
-              \fi
-            \fi
-          \fi
-        \fi
-      \fi
-    \fi
-  \fi
-  \calc at next}
-\def\calc at add{\calc at generic@add\calc at addAtoB}
-\def\calc at subtract{\calc at generic@add\calc at subtractAfromB}
-\def\calc at generic@add#1{\endgroup\global\calc at A\calc at B\endgroup
-   \begingroup\aftergroup#1\begingroup\aftergroup\calc at initB
-   \calc at pre@scan}
-\def\calc at addAtoB{\advance\calc at B\calc at A}
-\def\calc at subtractAfromB{\advance\calc at B-\calc at A}
-\ifx\real\@undefined\let\real\relax\fi
-\ifx\ratio\@undefined\let\ratio\relax\fi
-\def\calc at ratio@x{\ratio}
-\def\calc at real@x{\real}
-\def\calc at multiplyx#1{\def\calc at tmp{#1}%
-  \ifx\calc at tmp\calc at ratio@x \let\calc at next\calc at ratio@multiply \else
-    \ifx\calc at tmp\calc at real@x \let\calc at next\calc at real@multiply \else
-      \ifx\maxof#1\let\calc at next\calc at maxmin@multiply \else
-        \let\calc at next\calc at multiply
-      \fi
-    \fi
-  \fi
-  \calc at next#1}
-\def\calc at dividex#1{\def\calc at tmp{#1}%
-  \ifx\calc at tmp\calc at ratio@x \let\calc at next\calc at ratio@divide \else
-    \ifx\calc at tmp\calc at real@x \let\calc at next\calc at real@divide \else
-      \ifx\maxof#1\let\calc at next\calc at maxmin@divide \else
-        \let\calc at next\calc at divide
-      \fi
-    \fi
-  \fi
-  \calc at next#1}
-\def\calc at multiply{\calc at generic@multiply\calc at multiplyBbyA}
-\def\calc at divide{\calc at generic@multiply\calc at divideBbyA}
-\def\calc at generic@multiply#1{\endgroup\begingroup
-   \let\calc at A\calc at Acount \let\calc at B\calc at Bcount
-   \aftergroup#1\calc at pre@scan}
-\def\calc at multiplyBbyA{\multiply\calc at B\calc at Acount}
-\def\calc at divideBbyA{\divide\calc at B\calc at Acount}
-\def\calc at close
-   {\endgroup\global\calc at A\calc at B
-    \endgroup\global\calc at A\calc at B
-    \calc at post@scan}
-\def\calc at ratio@multiply\ratio{\calc at ratio@evaluate}
-\def\calc at ratio@divide\ratio#1#2{\calc at ratio@evaluate{#2}{#1}}
-\newcount\calc at Ccount
-\let\calc at numerator=\calc at Bcount
-\let\calc at denominator=\calc at Ccount
-\def\calc at ratio@evaluate#1#2{%
-   \endgroup\begingroup
-      \calc at assign@dimen\calc at numerator{#1}%
-      \calc at assign@dimen\calc at denominator{#2}%
-      \gdef\calc at the@ratio{}%
-      \ifnum\calc at numerator<0 \calc at numerator-\calc at numerator
-         \gdef\calc at the@ratio{-}%
-      \fi
-      \ifnum\calc at denominator<0 \calc at denominator-\calc at denominator
-         \xdef\calc at the@ratio{\calc at the@ratio-}%
-      \fi
-      \calc at Acount\calc at numerator
-      \divide\calc at Acount\calc at denominator
-      \xdef\calc at the@ratio{\calc at the@ratio\number\calc at Acount.}%
-      \calc at next@digit \calc at next@digit \calc at next@digit
-      \calc at next@digit \calc at next@digit \calc at next@digit
-   \endgroup
-   \calc at multiply@by at real\calc at the@ratio
-   \begingroup
-   \calc at post@scan}
-\def\calc at next@digit{%
-      \multiply\calc at Acount\calc at denominator
-      \advance\calc at numerator -\calc at Acount
-      \multiply\calc at numerator 10
-      \calc at Acount\calc at numerator
-      \divide\calc at Acount\calc at denominator
-      \xdef\calc at the@ratio{\calc at the@ratio\number\calc at Acount}}
-\def\calc at multiply@by at real#1{\calc at Bdimen #1\calc at B \calc at B\calc at Bdimen}
-\def\calc at real@multiply\real#1{\endgroup
-   \calc at multiply@by at real{#1}\begingroup
-   \calc at post@scan}
-\def\calc at real@divide\real#1{\calc at ratio@evaluate{1pt}{#1pt}}
-\let\maxof\@@italiccorr
-\let\minof\@@italiccorr
-\newskip\calc at Cskip
-\newif\ifcalc at count@
-\def\calc at maxmin@addsub#1#2#3{\begingroup
-  \ifx\calc at A\calc at Acount%
-    \calc at count@true
-  \else
-    \calc at count@false
-  \fi
-  \calc at maxmin@generic#1{#2}{#3}%
-  \endgroup
-  \calc at post@scan
-}
-\def\calc at maxmin@generic#1#2#3{%
-  \begingroup
-    \ifcalc at count@
-      \calc at assign@count\calc at Ccount{#2}%
-      \calc at assign@count\calc at Bcount{#3}%
-      \def\minof{<}\def\maxof{>}%
-      \global\calc at A\ifnum\calc at Ccount#1\calc at Bcount
-        \calc at Ccount\else\calc at Bcount\fi
-    \else
-      \calc at assign@skip\calc at Cskip{#2}%
-      \calc at assign@skip\calc at Bskip{#3}%
-      \def\minof{<}\def\maxof{>}%
-      \global\calc at A\ifdim\calc at Cskip#1\calc at Bskip
-        \calc at Cskip\else\calc at Bskip\fi
-    \fi
-  \endgroup
-}
-\def\calc at maxmin@divmul#1#2#3#4{%
-  \endgroup\begingroup
-  \calc at count@true
-  \aftergroup#1%
-  \calc at maxmin@generic#2{#3}{#4}%
-  \endgroup\begingroup
-  \calc at post@scan
-}
-\def\calc at maxmin@multiply{\calc at maxmin@divmul\calc at multiplyBbyA}
-\def\calc at maxmin@divide  {\calc at maxmin@divmul\calc at divideBbyA}
-\def\calc at error#1{%
-   \PackageError{calc}%
-     {`#1' invalid at this point}%
-     {I expected to see one of: + - * / )}}
-\def\@settodim#1#2#3{%
-  \setbox\@tempboxa\hbox{{#3}}%
-  \dimen at ii=\z@
-  \@tf at r\reserved at a #1\do{%
-  \advance\dimen at ii\reserved at a\@tempboxa}%
-  #2=\dimen at ii
-  \setbox\@tempboxa\box\voidb at x}
-\def\settototalheight{\@settodim{\ht\dp}}
-\endinput
-%%
-%% End of file `calc.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/e.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/e.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/e.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,41 +0,0 @@
-%%
-%% This is file `e.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fileerr.dtx  (with options: `edit')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-  \batchmode \errmessage{}\csname @@end\endcsname \end
-\endinput
-%%
-%% End of file `e.tex'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/h.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/h.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/h.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,48 +0,0 @@
-%%
-%% This is file `h.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fileerr.dtx  (with options: `help')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-\newlinechar=`\^^J
-\message{! The file name provided could not be found.^^J%
-Use `<enter>' to continue processing,^^J%
-`S' to scroll  future errors^^J%
-`R' to run without stopping,^^J%
-`Q' to run quietly,^^J%
-or `X' to terminate TeX}
-\errmessage{}
-\endinput
-%%
-%% End of file `h.tex'.

Modified: trunk/Master/texmf-dist/tex/latex-dev/tools/hhline.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/hhline.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/hhline.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -38,7 +38,7 @@
 %% File: hhline.dtx Copyright (C) 1991-1994 David Carlisle
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{hhline}
-         [2014/10/28 v2.03 Table rule package (DPC)]
+         [2020/01/04 v2.04 Table rule package (DPC)]
 \def\HH at box#1#2{\vbox{%
   \hrule \@height \arrayrulewidth \@width #1
   \vskip \doublerulesep
@@ -86,11 +86,13 @@
           {\rlap{\copy\@ne}\leaders\copy\@ne\hfil\llap{\copy\@ne}}\else
   \ifx\@tempb t\HH at add{\rlap{\HH at box\doublerulesep\z@}}\else
   \ifx\@tempb b\HH at add{\rlap{\HH at box\z@\doublerulesep}}\else
+  \ifx\@tempb\@sptoken\let\next\HH at spacelet\else
   \PackageWarning{hhline}%
       {\meaning\@tempb\space ignored in \noexpand\hhline argument%
        \MessageBreak}%
-  \fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
   \next}
+\lowercase{\def\HH at spacelet} {\futurelet\@tempb \HH at loop}
 \endinput
 %%
 %% End of file `hhline.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,46 +0,0 @@
-%%
-%% This is file `indentfirst.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% indentfirst.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-%% File: indent.dtx Copyright (C) 1991-1994 David Carlisle
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{indentfirst}
-         [1995/11/23 v1.03 Indent first paragraph (DPC)]
-\let\@afterindentfalse\@afterindenttrue
-\@afterindenttrue
-\endinput
-%%
-%% End of file `indentfirst.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/layout.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/layout.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/layout.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,457 +0,0 @@
-%%
-%% This is file `layout.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% layout.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{layout}
-                [2014/10/28 v1.2c Show layout parameters]
-\DeclareOption{dutch}{%
-  \def\Headertext{Kopregel}
-  \def\Bodytext{Broodtekst}
-  \def\Footertext{Voetregel}
-  \def\MarginNotestext{Marge\\Notities}
-  \def\oneinchtext{een inch}
-  \def\notshown{niet getoond}
-  }
-\DeclareOption{german}{%
-  \def\Headertext{Kopfzeile}
-  \def\Bodytext{Haupttext}
-  \def\Footertext{Fu{\ss}zeile}
-  \def\MarginNotestext{Rand-\\ notizen}
-  \def\oneinchtext{ein Zoll}
-  \def\notshown{ohne Abbildung}
-  }
-\DeclareOption{ngerman}{\ExecuteOptions{german}}
-\DeclareOption{english}{%
-  \def\Headertext{Header}
-  \def\Bodytext{Body}
-  \def\Footertext{Footer}
-  \def\MarginNotestext{Margin\\Notes}
-  \def\oneinchtext{one inch}
-  \def\notshown{not shown}
-  }
-\DeclareOption{french}{%
-  \def\Headertext{Ent\^{e}te}
-  \def\Bodytext{Corps}
-  \def\Footertext{Pied de page}
-  \def\MarginNotestext{Marge\\Notes}
-  \def\oneinchtext{un pouce}
-  \def\notshown{non affich\'{e}}
-  }
-\DeclareOption{francais}{\ExecuteOptions{french}}
-\DeclareOption{spanish}{%
-  \def\Headertext{Encabezamiento}
-  \def\Bodytext{Cuerpo}
-  \def\Footertext{Pie de p\'agina}
-  \def\MarginNotestext{Notas\\ Marginales}
-  \def\oneinchtext{una pulgada}
-  \def\notshown{no mostradas}
-  }
-\DeclareOption{portuguese}{%
-  \def\Headertext{Cabe\c{c}alho}
-  \def\Bodytext{Corpo}
-  \def\Footertext{Rodap\'e}
-  \def\MarginNotestext{Notas\\ Marginais}
-  \def\oneinchtext{uma polegada}
-  \def\notshown{n\~ao mostradas}
-  }
-\DeclareOption{brazilian}{%
-  \def\Headertext{Cabe\c{c}alho}
-  \def\Bodytext{Corpo}
-  \def\Footertext{Rodap\'e}
-  \def\MarginNotestext{Notas\\ Marginais}
-  \def\oneinchtext{uma polegada}
-  \def\notshown{n\~ao mostradas}
-  }
-\DeclareOption{italian}{%
-  \def\Headertext{Testatina}
-  \def\Bodytext{Corpo}
-  \def\Footertext{Piedino}
-  \def\MarginNotestext{Note\\ Marginali}
-  \def\oneinchtext{un pollice}
-  \def\notshown{non mostrato}
-  }
-\DeclareOption{verbose}{\let\LayOuttype\typeout}
-\DeclareOption{silent}{\let\LayOuttype\@gobble}
-\def\lay at value{}
-\DeclareOption{integers}{%
-  \renewcommand*{\lay at value}[2]{%
-    \expandafter\number\csname #1@#2\endcsname pt}}
-\DeclareOption{reals}{%
-  \renewcommand*{\lay at value}[2]{\the\csname #2\endcsname}}
-\ExecuteOptions{english,silent,integers}
-\ProcessOptions
-\newcommand\LayOutbs{}
-\chardef\LayOutbs`\\
-\def\ConvertToCount#1#2{%
-  #1=#2
-  \divide #1 by 65536}
-\def\SetToHalf#1#2{#1=#2\relax\divide#1by\tw@}
-\def\SetToQuart#1#2{#1=#2\relax\divide#1by4}
-\def\Identify#1{%
-  \put(\PositionX,\PositionY){\circle{20}}
-  \put(\PositionX,\PositionY){\makebox(0,0){\tiny #1}}
-}
-\def\InsideHArrow#1{{%
-  \ArrowLength = #1
-  \divide\ArrowLength by \tw@
-  \advance\ArrowLength by -10
-  \advance\PositionX by -10
-  \ifnum\ArrowLength<\z@
-    \put(\PositionX,\PositionY){\vector(1,0){-\ArrowLength}}
-    \advance\PositionX by 20
-    \put(\PositionX,\PositionY){\vector(-1,0){-\ArrowLength}}
-  \else
-    \put(\PositionX,\PositionY){\vector(-1,0){\ArrowLength}}
-    \advance\PositionX by 20
-    \put(\PositionX,\PositionY){\vector(+1,0){\ArrowLength}}
-  \fi
-}}
-\def\InsideVArrow#1{{%
-  \ArrowLength = #1
-  \divide\ArrowLength by \tw@
-  \advance\ArrowLength by -10
-  \advance\PositionY by -10
-  \put(\PositionX,\PositionY){\vector(0,-1){\ArrowLength}}
-  \advance\PositionY by 20
-  \put(\PositionX,\PositionY){\vector(0,+1){\ArrowLength}}
-}}
-\def\OutsideHArrow#1#2#3{{%
-  \PositionX = #1
-  \advance\PositionX by #3
-  \put(\PositionX,\PositionY){\vector(-1,0){#3}}
-  \PositionX = #1 \advance\PositionX-#2
-  \advance\PositionX by -#3
-  \put(\PositionX,\PositionY){\vector(+1,0){#3}}
-}}
-\def\OutsideVArrow#1#2#3#4{{%
-  \PositionY = #1
-  \advance\PositionY by -#3
-  \put(\PositionX,\PositionY){\vector(0,+1){#3}}
-  \PositionY = #1
-  \advance\PositionY#2
-  \advance\PositionY#4
-  \put(\PositionX,\PositionY){\vector(0,-1){#4}}
-}}
-\def\Show#1#2{\LayOutbs #2 = \lay at value{#1}{#2}}
-\def\Type#1#2{%
-  \LayOuttype{#2 = \lay at value{#1}{#2}}}
-\newcount\oneinch
-\oneinch=72
-\newcount\cnt at paperwidth
-\newcount\cnt at paperheight
-\ConvertToCount\cnt at paperwidth\paperwidth
-\ConvertToCount\cnt at paperheight\paperheight
-\newcount\cnt at hoffset
-\newcount\cnt at voffset
-\ConvertToCount\cnt at hoffset\hoffset
-\ConvertToCount\cnt at voffset\voffset
-\newcount\cnt at textheight
-\newcount\cnt at textwidth
-\newcount\cnt at topmargin
-\newcount\cnt at oddsidemargin
-\newcount\cnt at evensidemargin
-\newcount\cnt at headheight
-\newcount\cnt at headsep
-\newcount\cnt at marginparsep
-\newcount\cnt at marginparwidth
-\newcount\cnt at marginparpush
-\newcount\cnt at footskip
-\newcount\fheight
-\fheight=12
-\newcount\ref at top
-\ref at top=\cnt at paperheight \advance\ref at top by -\oneinch
-\newcount\ref at hoffset
-\newcount\ref at voffset
-\ref at hoffset=\cnt at hoffset  \advance\cnt at hoffset by \oneinch
-\ref at voffset=\cnt at voffset
-\cnt at voffset=\ref at top
-\advance\cnt at voffset by -\ref at voffset
-\newcount\ref at head
-\newcount\ref at body
-\newcount\ref at foot
-\newcount\ref at margin
-\newcount\ref at marginwidth
-\newcount\ref at marginpar
-\newcount\Interval
-\newcount\ExtraYPos
-\newcount\PositionX
-\newcount\PositionY
-\newcount\ArrowLength
-\def\lay at getvalues{%
-  \ConvertToCount\cnt at textheight\textheight
-  \ConvertToCount\cnt at textwidth\textwidth
-  \ConvertToCount\cnt at topmargin\topmargin
-  \ConvertToCount\cnt at oddsidemargin\oddsidemargin
-  \ConvertToCount\cnt at evensidemargin\evensidemargin
-  \ConvertToCount\cnt at headheight\headheight
-  \ConvertToCount\cnt at headsep\headsep
-  \ConvertToCount\cnt at marginparsep\marginparsep
-  \ConvertToCount\cnt at marginparwidth\marginparwidth
-  \ConvertToCount\cnt at marginparpush\marginparpush
-  \ConvertToCount\cnt at footskip\footskip
-  \ref at head=\ref at top
-    \advance\ref at head by -\ref at voffset
-    \advance\ref at head by -\cnt at topmargin
-    \advance\ref at head by -\cnt at headheight
-  \ref at body=\ref at head
-    \advance\ref at body by -\cnt at headsep
-    \advance\ref at body by -\cnt at textheight
-  \ref at foot=\ref at body
-    \advance\ref at foot by -\cnt at footskip
-  }
-\AtBeginDocument{\lay at getvalues}
-\newcommand\layout{%
-  \@ifstar{\lay at getvalues\lay at xlayout}{\lay at xlayout}}
-\def\lay at xlayout{%
-  \lay at layout
-  \if at twoside
-    \lay at layout
-  \fi}
-\newcommand\lay at layout{%
-  \thispagestyle{empty}
-  \if at twoside
-    \ifodd\count\z@
-      \typeout{Two-sided document style, odd page.}
-      \ref at marginwidth=\cnt at oddsidemargin
-      \ref at marginpar=\oneinch
-      \advance\ref at marginpar by \ref at hoffset
-      \advance\ref at marginpar by \cnt at oddsidemargin
-      \ref at margin\ref at marginpar
-      \if at reversemargin
-        \advance\ref at marginpar by -\cnt at marginparsep
-        \advance\ref at marginpar by -\cnt at marginparwidth
-      \else
-        \advance\ref at marginpar by \cnt at textwidth
-        \advance\ref at marginpar by \cnt at marginparsep
-      \fi
-    \else
-  \typeout{Two-sided document style, even page.}
-      \ref at marginwidth=\cnt at evensidemargin
-      \ref at marginpar=\oneinch
-      \advance\ref at marginpar by \ref at hoffset
-      \advance\ref at marginpar by \cnt at evensidemargin
-      \ref at margin\ref at marginpar
-      \if at reversemargin
-        \advance\ref at marginpar by \cnt at textwidth
-        \advance\ref at marginpar by \cnt at marginparsep
-      \else
-        \advance\ref at marginpar by -\cnt at marginparsep
-        \advance\ref at marginpar by -\cnt at marginparwidth
-      \fi
-    \fi
-  \else
-    \typeout{One-sided document style.}
-    \ref at marginwidth=\cnt at oddsidemargin
-    \ref at marginpar=\oneinch
-    \advance\ref at marginpar by \ref at hoffset
-    \advance\ref at marginpar by \cnt at oddsidemargin
-    \ref at margin\ref at marginpar
-    \if at reversemargin
-      \advance\ref at marginpar by -\cnt at marginparsep
-      \advance\ref at marginpar by -\cnt at marginparwidth
-    \else
-      \advance\ref at marginpar by \cnt at textwidth
-      \advance\ref at marginpar by \cnt at marginparsep
-    \fi
-  \fi
-  \setlength{\unitlength}{.5pt}
-  \begin{picture}(\cnt at paperwidth,\cnt at paperheight)
-    \centering
-    \thicklines
-    \put(0,0){\framebox(\cnt at paperwidth,\cnt at paperheight){\mbox{}}}
-    \put(0,\cnt at voffset){\dashbox{10}(\cnt at paperwidth,0){\mbox{}}}
-    \put(\cnt at hoffset,0){\dashbox{10}(0,\cnt at paperheight){\mbox{}}}
-    \put(\ref at margin,\ref at head){%
-      \framebox(\cnt at textwidth,\cnt at headheight)%
-        {\footnotesize\Headertext}}
-    \put(\ref at margin,\ref at body){%
-      \framebox(\cnt at textwidth,\cnt at textheight){\Bodytext}}
-    \put(\ref at margin,\ref at foot){%
-      \framebox(\cnt at textwidth,\fheight){\footnotesize\Footertext}}
-    \put(\ref at marginpar,\ref at body){%
-      \framebox(\cnt at marginparwidth,\cnt at textheight)%
-               {\footnotesize\shortstack{\MarginNotestext}}}
-    \thinlines
-    \SetToHalf\PositionX\cnt at textwidth
-    \advance\PositionX by \ref at margin
-    \PositionY = \ref at body
-    \advance\PositionY by 50
-    \Identify{8}
-    \InsideHArrow\cnt at textwidth
-    \SetToHalf\PositionY\cnt at textheight
-    \advance\PositionY by \ref at body
-    \PositionX = \cnt at textwidth
-    \divide\PositionX by 5
-    \multiply \PositionX by 4
-    \advance\PositionX by \ref at margin
-    \Identify{7}
-    \InsideVArrow\cnt at textheight
-    \PositionY = 50
-    \SetToHalf\PositionX\cnt at hoffset
-    \Identify{1}
-    \InsideHArrow\cnt at hoffset
-    \SetToQuart\PositionY\cnt at textheight
-    \advance\PositionY by \ref at body
-    \ifnum\ref at marginwidth > 0
-      \OutsideHArrow\ref at margin\ref at marginwidth{20}
-      \PositionX = \cnt at hoffset
-    \else
-      \OutsideHArrow\cnt at hoffset{-\ref at marginwidth}{20}
-      \PositionX = \ref at margin
-    \fi
-    \advance\PositionX by -30
-    \Identify{3}
-    \SetToQuart\PositionY\cnt at textheight
-    \advance\PositionY by \ref at body
-    \advance\PositionY by 30
-    \SetToHalf\PositionX\cnt at marginparwidth
-    \advance\PositionX by \ref at marginpar
-    \Identify{10}
-    \InsideHArrow\cnt at marginparwidth
-    \advance\PositionY by 30
-    \if at twoside
-      \if at reversemargin
-        \ifodd\count\z@
-          \OutsideHArrow\ref at margin\cnt at marginparsep{20}
-          \PositionX = \ref at margin
-        \else
-          \OutsideHArrow\ref at marginpar\cnt at marginparsep{20}
-          \PositionX = \ref at marginpar
-        \fi
-      \else
-        \ifodd\count\z@
-          \OutsideHArrow\ref at marginpar\cnt at marginparsep{20}
-          \PositionX = \ref at marginpar
-        \else
-          \OutsideHArrow\ref at margin\cnt at marginparsep{20}
-          \PositionX = \ref at margin
-        \fi
-      \fi
-    \else
-      \if at reversemargin
-        \OutsideHArrow\ref at margin\cnt at marginparsep{20}
-        \PositionX = \ref at margin
-      \else
-        \OutsideHArrow\ref at marginpar\cnt at marginparsep{20}
-        \PositionX = \ref at marginpar
-      \fi
-    \fi
-    \advance\PositionX by -\cnt at marginparsep
-    \advance\PositionX by -30
-    \Identify{9}
-    \PositionX = \cnt at textwidth
-    \divide\PositionX by 8
-    \advance\PositionX by \ref at margin
-    \OutsideVArrow\ref at foot\cnt at footskip{20}{20}
-    \PositionY = \ref at foot
-    \advance\PositionY by \cnt at footskip
-    \advance\PositionY by 30
-    \Identify{11}
-    \PositionX = \cnt at paperwidth
-    \advance\PositionX by -50
-    \PositionY = \cnt at paperheight
-    \ExtraYPos = \PositionY
-    \advance\ExtraYPos by -\cnt at voffset
-    \advance\PositionY by \cnt at voffset
-    \divide\PositionY by \tw@
-    \Identify{2}
-    \InsideVArrow\ExtraYPos
-    \Interval = \cnt at textwidth
-    \divide\Interval by 8
-    \PositionX = \ref at margin
-    \advance\PositionX by \Interval
-    \ifnum\cnt at topmargin > \z@
-      \ExtraYPos = \ref at head
-      \advance\ExtraYPos\cnt at headheight
-      \OutsideVArrow\ExtraYPos\cnt at topmargin{20}{20}
-      \PositionY = \ExtraYPos
-      \advance\PositionY by \cnt at topmargin
-    \else
-      \ExtraYPos = \cnt at voffset
-      \OutsideVArrow\ExtraYPos{-\cnt at topmargin}{20}{20}
-      \PositionY = \ExtraYPos
-      \advance\PositionY by -\cnt at topmargin
-    \fi
-    \advance\PositionY by 30
-    \Identify{4}
-    \advance\PositionX by \Interval
-    \OutsideVArrow\ref at head\cnt at headheight{20}{20}
-    \PositionY = \ref at head
-    \advance\PositionY by \cnt at headheight
-    \advance\PositionY by 30
-    \Identify{5}
-    \advance\PositionX by \Interval
-    \ExtraYPos=\ref at body
-    \advance\ExtraYPos\cnt at textheight
-    \OutsideVArrow\ExtraYPos\cnt at headsep{20}{20}
-    \PositionY = \ref at body
-    \advance\PositionY by \cnt at textheight
-    \advance\PositionY by -30
-    \Identify{6}
-  \end{picture}
-
-  \medskip
-  \vtop to 0pt{%
-    \@minipagerestore\footnotesize\ttfamily
-    \begin{tabular}{@{}rl@{\hspace{20pt}}rl}
-      1 & \oneinchtext\ + \LayOutbs\texttt{hoffset}
-        & 2 & \oneinchtext\ + \LayOutbs\texttt{voffset} \\
-      3 & \if at twoside
-            \ifodd\count\z@ \Show{cnt}{oddsidemargin}
-            \else \Show{cnt}{evensidemargin}
-            \fi
-          \else
-            \Show{cnt}{oddsidemargin}
-          \fi                    & 4 & \Show{cnt}{topmargin} \\
-      5 & \Show{cnt}{headheight} & 6 & \Show{cnt}{headsep} \\
-      7 & \Show{cnt}{textheight} & 8 & \Show{cnt}{textwidth} \\
-      9 & \Show{cnt}{marginparsep}&10& \Show{cnt}{marginparwidth} \\
-      11& \Show{cnt}{footskip}   &   & \Show{cnt}{marginparpush}
-       \rlap{(\notshown)}\\
-        & \Show{ref}{hoffset}    &   & \Show{ref}{voffset} \\
-        & \Show{cnt}{paperwidth} &   & \Show{cnt}{paperheight} \\
-
-  \end{tabular}\vss}
-  \Type{ref}{hoffset}
-  \Type{ref}{voffset}
-  \Type{cnt}{textheight}
-  \Type{cnt}{textwidth}
-  \newpage
-}
-\endinput
-%%
-%% End of file `layout.sty'.

Modified: trunk/Master/texmf-dist/tex/latex-dev/tools/multicol.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/multicol.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/multicol.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -107,7 +107,7 @@
 \DeclareCurrentRelease{}{2018-04-01}
 
 \ProvidesPackage{multicol}
-          [2019/10/15 v1.8x  multicolumn formatting (FMi)]
+          [2019/12/09 v1.8y  multicolumn formatting (FMi)]
 %%
 \DeclareOption{twocolumn}
    {\PackageWarning{multicol}{May not work
@@ -145,14 +145,14 @@
        columns doesn't seem a good idea.^^J
        I therefore use two columns instead}%
      \col at number\tw@ \fi
-  \ifnum\col at number>10
+  \ifnum\col at number>20
      \PackageError{multicol}%
       {Too many columns}%
       {Current implementation doesn't
-       support more than 10 columns.%
+       support more than 20 columns.%
        \MessageBreak
-       I therefore use 10 columns instead}%
-     \col at number10 \fi
+       I therefore use 20 columns instead}%
+     \col at number20 \fi
      \ifx\@footnotetext\mult at footnotetext\else
        \let\orig at footnotetext\@footnotetext
        \let\@footnotetext\mult at footnotetext
@@ -821,6 +821,9 @@
 \newdimen\maxbalancingoverflow
 \maxbalancingoverflow=12pt
 
+\ifnum\numexpr \count20-\count14-1<41   % = 2 * 20 + 1
+  \count14=\@cclv
+\fi
 \newbox\mult at rightbox
 \newbox\mult at grightbox
 \newbox\mult at gfirstbox
@@ -833,6 +836,16 @@
 \newbox\@tempa\newbox\@tempa
 \newbox\@tempa\newbox\@tempa
 \newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
 \newbox\@tempa
 \let\@tempa\relax
 \@ifundefined{emergencystretch}

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/q.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/q.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/q.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,42 +0,0 @@
-%%
-%% This is file `q.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fileerr.dtx  (with options: `batch')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
- \message{File ignored}
-             \batchmode
-\endinput
-%%
-%% End of file `q.tex'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/r.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/r.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/r.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,42 +0,0 @@
-%%
-%% This is file `r.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fileerr.dtx  (with options: `run')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
- \message{File ignored}
-               \nonstopmode
-\endinput
-%%
-%% End of file `r.tex'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/s.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/s.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/s.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,42 +0,0 @@
-%%
-%% This is file `s.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fileerr.dtx  (with options: `scroll')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
- \message{File ignored}
-            \scrollmode
-\endinput
-%%
-%% End of file `s.tex'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,132 +0,0 @@
-%%
-%% This is file `shellesc.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% shellesc.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-%% Source File: shellesc.dtx
-%% Copyright (C) 2015-2019
-%%
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%%
-%% This file may be distributed under the terms of the LPPL.
-%% See README for details.
-\ifx\ProvidesPackage\undefined
-\def\next#1#2[#3]{\wlog{#2 #3}}
-\ifx\PackageInfo\undefined\def\PackageInfo#1#2{\wlog{#1: #2}}\fi
-\ifx\PackageWarning\undefined\def\PackageWarning#1#2{\wlog{#1: #2}}\fi
-\expandafter\next\fi
-\ProvidesPackage{shellesc}
-       [2019/11/08 v1.0c unified shell escape interface for LaTeX]
-\chardef\shellesc at quotecat\catcode`\"
-\chardef\shellesc at underscorecat\catcode`\_
-\@makeother\"
-\@makeother\_
-\chardef\ShellEscapeStatus
-  \ifx\pdfshellescape\@undefined
-    \ifx\shellescape\@undefined
-      \ifx\directlua\@undefined
-        \z@
-      \else
-        \directlua{%
-          tex.sprint((status.shell_escape or os.execute()) .. " ")}
-      \fi
-    \else
-      \shellescape
-    \fi
-  \else
-    \pdfshellescape
-  \fi
-\ifcase\ShellEscapeStatus
-  \PackageWarning{shellesc}{Shell escape disabled}
-\or
-  \PackageInfo   {shellesc}{Unrestricted shell escape enabled}
-\else
-  \PackageInfo   {shellesc}{Restricted shell escape enabled}
-\fi
-\ifx\lastsavedimageresourcepages\@undefined
-  \protected\def\ShellEscape{\immediate\write18 }
-\else
-  \protected\def\ShellEscape{\directlua\ShellEscape at Lua}
-\fi
-\ifx\lastsavedimageresourcepages\@undefined
-  \protected\def\DelayedShellEscape{\relax\write18 }
-\else
-  \protected\def\DelayedShellEscape{\latelua\ShellEscape at Lua}
-\fi
-\ifx\directlua\@undefined\else
-\protected\def\ShellEscape at Lua#1{{%
-local status, msg = os.execute("\luaescapestring{#1}")%
-if status == nil then
-    texio.write_nl("log",%
-      "runsystem(" .. "\luaescapestring{#1}"%
-       .. ")...(" .. msg .. ")\string\n")
-  elseif status == 0 then
-    texio.write_nl("log",%
-      "runsystem(" .. "\luaescapestring{#1}"%
-      .. ")...executed\string\n")
-  else
-    texio.write_nl("log",%
-      "runsystem(" .. "\luaescapestring{#1}"%
-       .. ")...failed " .. (msg or "") .. "\string\n")
-  end
-}}
-\fi
-\ifx\lastsavedimageresourcepages\@undefined
- \catcode`\"\shellesc at quotecat
- \catcode`\_\shellesc at underscorecat
- \expandafter\endinput
-\fi
-\directlua{%
-shellesc = shellesc or {}
-local function write_or_execute()
-  local s = token.scan_int()
-  if (s==18) then
-     tex.sprint(\the\numexpr\catcodetable at atletter\relax,
-                "\string\\ShellEscape ")
-  else
-     tex.sprint(\the\numexpr\catcodetable at atletter\relax,
-                "\string\\shellesc at write " .. s)
-  end
-end
-shellesc.write_or_execute=write_or_execute
-}
-\let\shellesc at write\write
-\protected\def\write{\directlua{shellesc.write_or_execute()}}
-\catcode`\"\shellesc at quotecat
-\catcode`\_\shellesc at underscorecat
-\endinput
-%%
-%% End of file `shellesc.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/trace.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/trace.sty	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/trace.sty	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,141 +0,0 @@
-%%
-%% This is file `trace.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% trace.dtx  (with options: `package')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-%%
-%% (C) Copyright (C) 1999-2019 Frank Mittelbach
-%% All rights reserved.
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{trace}
-          [2018/10/13 v1.1e trace LaTeX code]
-\NeedsTeXFormat{LaTeX2e}[1998/12/01]
-\DeclareOption{logonly}
-   {\let\tracingonline at p\z@}
-\let\tracingonline at p\@ne
-\DeclareOption{full}
-    {\AtEndOfPackage{\let\conditionally at traceoff\@empty
-                     \let\conditionally at traceon\@empty
-                     \let\traceon\tr at ce@n
-    }}
-\ProcessOptions\relax
-\newif\if at tracing
-\def\traceon{\let\conditionally at traceoff\unconditionally at traceoff
-             \tr at ce@n}
-
-%% \tracinglostchars\z@
-  \def\tr at ce@n{%
-    \@tracingtrue
-    \tracingstats\tw@
-    \tracingpages\@ne
-    \tracinglostchars\@ne
-    \tracingparagraphs\@ne
-    \errorcontextlines\maxdimen
-    \ifnum\tracingoutput=\@ne
-    \else
-      \tracingoutput\tw@
-      \showboxbreadth\maxdimen
-      \showboxdepth\maxdimen
-    \fi
-    \errorstopmode
-    \tracingmacros\tw@
-    \tracinggroups\@ne
-    \tracingrestores\@ne
-    \tracingcommands\tw@
-    \tracingassigns\@ne
-    \tracingonline\tracingonline at p
-  }
-  \def\conditionally at traceoff{%
-    \tracingassigns\z@
-    \tracingrestores\z@
-    \tracingcommands\z@
-    \tracingpages\z@
-    \tracingmacros\z@
-    \ifnum\tracingoutput=\tw@
-      \tracingoutput\z@
-      \showboxbreadth\m at ne
-      \showboxdepth\m at ne
-    \fi
-    \tracingstats\@ne
-    \tracingparagraphs\z@
-    \tracinggroups\z@
-  }
-\let\unconditionally at traceoff\conditionally at traceoff
-\def\tracingall{\let\conditionally at traceoff\@empty
-  \let\tracingonline at p\@ne
-  \tr at ce@n
-}
-\def\traceoff{\unconditionally at traceoff \@tracingfalse}
-\def\conditionally at traceon{\if at tracing \expandafter \traceon \fi}
-\def\calc at open({\begingroup
-   \conditionally at traceoff
-   \aftergroup\calc at initB
-   \begingroup\aftergroup\calc at initB
-   \calc at pre@scan}
-\def\define at newfont{%
-  \begingroup
-    \conditionally at traceoff
-    \let\typeout\@font at info
-    \escapechar\m at ne
-    \expandafter\expandafter\expandafter
-       \split at name\expandafter\string\font at name\@nil
-      \try at load@fontshape % try always
-    \expandafter\ifx
-       \csname\curr at fontshape\endcsname \relax
-      \wrong at fontshape\else
-      \extract at font\fi
-  \endgroup}
-\frozen at everymath =
-   {\conditionally at traceoff \check at mathfonts \conditionally at traceon
-    \the\everymath}
-\frozen at everydisplay =
-   {\conditionally at traceoff \check at mathfonts \conditionally at traceon
-    \the\everydisplay}
-\def \maybe at ic@ {%
-  \ifdim \fontdimen\@ne\font>\z@
-  \else
-    \conditionally at traceoff
-    \maybe at ictrue
-    \expandafter\@tfor\expandafter\reserved at a\expandafter:\expandafter=%
-        \nocorrlist
-    \do \t at st@ic
-    \ifmaybe at ic \sw at slant \fi
-    \conditionally at traceon
-  \fi
-}
-\endinput
-%%
-%% End of file `trace.sty'.

Deleted: trunk/Master/texmf-dist/tex/latex-dev/tools/x.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex-dev/tools/x.tex	2020-01-13 21:30:36 UTC (rev 53394)
+++ trunk/Master/texmf-dist/tex/latex-dev/tools/x.tex	2020-01-13 21:35:18 UTC (rev 53395)
@@ -1,41 +0,0 @@
-%%
-%% This is file `x.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fileerr.dtx  (with options: `exit')
-%% 
-%% This is a generated file.
-%% 
-%% The source is maintained by the LaTeX Project team and bug
-%% reports for it can be opened at https://latex-project.org/bugs/
-%% (but please observe conditions on bug reports sent to that address!)
-%% 
-%% 
-%% Copyright (C) 1993-2019
-%% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file.
-%% 
-%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
-%% --------------------------------------------------------------------------
-%% 
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%% 
-%% This file may only be distributed together with a copy of the LaTeX
-%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
-%% without such generated files.
-%% 
-%% The list of all files belonging to the LaTeX `Tools Bundle' is
-%% given in the file `manifest.txt'.
-%% 
-  \batchmode \errmessage{}\csname @@end\endcsname \end
-\endinput
-%%
-%% End of file `x.tex'.



More information about the tex-live-commits mailing list