summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-06-06 23:01:45 +0000
committerKarl Berry <karl@freefriends.org>2016-06-06 23:01:45 +0000
commitec3bec951daa0d83eb0d4fe49461e90920cfa830 (patch)
tree4c27a48af8bdde450a091356673698dc64c520f1
parent04e211f107eb8723e3df5cb49ee72fb0a191e6e4 (diff)
csplain (6jun16)
git-svn-id: svn://tug.org/texlive/trunk@41300 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/tex/csplain/base/csplain.ini8
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cavantga.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cbookman.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/chelvet.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cncent.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cpalatin.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-antt.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-arev.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-baskerx.tex45
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-bera.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-charter.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-heros.tex4
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-heuristica.tex47
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-iwona.tex71
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-kurier.tex71
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-libertine.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-polta.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-schola.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-termes.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/ctimes.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/ff-mac.tex20
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/ki-math.tex377
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex6
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/lmfonts.tex4
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/pazo-math.tex679
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/uni-math.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/opmac/fontfam-catalog.tex26
-rw-r--r--Master/texmf-dist/tex/csplain/opmac/fontfam-global.tex51
-rw-r--r--Master/texmf-dist/tex/csplain/opmac/fontfam.tex25
-rw-r--r--Master/texmf-dist/tex/csplain/opmac/opmac.tex7
34 files changed, 1399 insertions, 81 deletions
diff --git a/Master/texmf-dist/tex/csplain/base/csplain.ini b/Master/texmf-dist/tex/csplain/base/csplain.ini
index 671db3f2848..735c61100c2 100644
--- a/Master/texmf-dist/tex/csplain/base/csplain.ini
+++ b/Master/texmf-dist/tex/csplain/base/csplain.ini
@@ -227,10 +227,10 @@ file extcode.tex renamed to il2code.tex (suggested by Jan Kasprzak)
Apr. 2015:
* csenc-u.tex: \utfBOM added.
- Jun 2015:
+ Jun. 2015:
* ams-tex.tex: \ifx\chyph\undefined added
- Oct 2015:
+ Oct. 2015:
* hyphen.lan: \chardef\USenglish=0 added (for backward compatibility)
* t1code.tex, ucode.tex: waring supressed if non-csplain loads the file
@@ -259,6 +259,10 @@ file extcode.tex renamed to il2code.tex (suggested by Jan Kasprzak)
* luafonts.tex: corrected \let\luafonts=\relax
* kp-math.tex + uni-math.tex corrected: \setmathdimens added
+ Jun. 2016:
+* ff-mac + fontfiles: \ffdecl: first modifiers then basic selectors.
+* cs-baskerx, cs-heuristica, cs-kurier, cs-iwona, ki-math, pazo-math added
+
COPYRIGHT
=========
diff --git a/Master/texmf-dist/tex/csplain/fonts/cavantga.tex b/Master/texmf-dist/tex/csplain/fonts/cavantga.tex
index 52fe079cdf2..34691c2653a 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cavantga.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cavantga.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [AvantGarde] {\rm \bf \it \bi} {\caps{\rm\bf}} {} {TX} {8z 8t}
+\ffdecl [AvantGarde] {\caps{\rm\bf}} {\rm \bf \it \bi} {} {TX} {8z 8t}
\def\caps{\ffvars{k}{d}{!}{!}\ffsetV{caps}{c}\ffsetX}
\def\nocaps{\ffvars{k}{d}{ko}{do}\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cbookman.tex b/Master/texmf-dist/tex/csplain/fonts/cbookman.tex
index b75b2263288..8a1624b8b57 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cbookman.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cbookman.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Bookman] {\rm \bf \it \bi} {\caps{\rm\bf}} {} {TX} {8z 8t}
+\ffdecl [Bookman] {\caps{\rm\bf}} {\rm \bf \it \bi} {} {TX} {8z 8t}
\def\caps{\ffvars{l}{d}{!}{!}\ffsetV{caps}{c}\ffsetX}
\def\nocaps{\ffvars{l}{d}{li}{di}\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/chelvet.tex b/Master/texmf-dist/tex/csplain/fonts/chelvet.tex
index 7e7ec27c385..cac4aee7f4a 100644
--- a/Master/texmf-dist/tex/csplain/fonts/chelvet.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/chelvet.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Helvetica] {\rm \bf \it \bi} {\cond \caps{\rm\bf}} {} {TX} {8z 8t}
+\ffdecl [Helvetica] {\cond \caps{\rm\bf}} {\rm \bf \it \bi} {} {TX} {8z 8t}
\def\caps{\ffvars{r}{b}{!}{!}\ffsetV{caps}{c}\ffsetX}
\def\nocaps{\ffvars{r}{b}{ro}{bo}\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cncent.tex b/Master/texmf-dist/tex/csplain/fonts/cncent.tex
index a98e2003985..67f5cbe9bc3 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cncent.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cncent.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [NewCentury] {\rm \bf \it \bi} {\caps{\rm\bf}} {} {TX} {8z 8t}
+\ffdecl [NewCentury] {\caps{\rm\bf}} {\rm \bf \it \bi} {} {TX} {8z 8t}
\def\caps{\ffvars{r}{b}{!}{!}\ffsetV{caps}{c}\ffsetX}
\def\nocaps{\ffvars{r}{b}{ri}{bi}\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex b/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex
index b2073fc79cf..3430e3e6cde 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Palatino] {\rm \bf \it \bi} {\caps{\rm\bf}} {} {TX} {8z 8t}
+\ffdecl [Palatino] {\caps{\rm\bf}} {\rm \bf \it \bi} {} {TX} {8z 8t}
\def\caps{\ffvars{r}{b}{!}{!}\ffsetV{caps}{c}\ffsetX}
\def\nocaps{\ffvars{r}{b}{ri}{bi}\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex b/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex
index 5bece955b4b..f72dbcd493e 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [TG Adventor] {\rm \bf \it \bi} {\caps} {} {TX} {8z 8t U}
+\ffdecl [TG Adventor] {\caps} {\rm \bf \it \bi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex b/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex
index 52495aa65c2..79462984bd2 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex
@@ -5,7 +5,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
\ffdecl [Antykwa Torunska]
- {\rm \bf \it \bi \lr \mr \li \mi} {\cond \cap \wlight} {} {TX} {8z 8t}
+ {\cond \cap \wlight} {\rm \bf \it \bi \lr \mr \li \mi} {} {TX} {8z 8t}
\ffvars {r}{b}{ri}{bi}
\def\wlight{\ffvars{l}{m}{li}{mi}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-arev.tex b/Master/texmf-dist/tex/csplain/fonts/cs-arev.tex
index 6ec209780bd..4a4a66ccfa9 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-arev.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-arev.tex
@@ -4,7 +4,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [ArevSans] {\rm \bf \it \bi} {} {} {TX} {8t}
+\ffdecl [ArevSans] {} {\rm \bf \it \bi} {} {TX} {8t}
\ismacro\fotenc{8t}\ifttrue
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-baskerx.tex b/Master/texmf-dist/tex/csplain/fonts/cs-baskerx.tex
new file mode 100644
index 00000000000..672f77daa0c
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-baskerx.tex
@@ -0,0 +1,45 @@
+% The file cs-baskerx.tex (C) Petr Olsak, 2016
+% Use "\input cs-baskerx" to set the Baskervald X font family in text mode
+
+\ifx\ffdecl\undefined \input ff-mac \fi
+
+\ffdecl [Baskervald X] {\caps} {\rm \bf \it \bi} {} {TX} {8t U}
+
+\ffvars {Reg}{Bol}{Ita}{BolIta}
+
+\ismacro\fotenc{8t}\ifttrue
+
+ \font\tenrm = Baskervaldx-Reg-tlf-t1 \sizespec
+ \font\tenbf = Baskervaldx-Bol-tlf-t1 \sizespec
+ \font\tenit = Baskervaldx-Ita-tlf-t1 \sizespec
+ \font\tenbi = Baskervaldx-BolIta-tlf-t1 \sizespec
+
+ \def\ffnamegen{Baskervaldx-\ffvarV\capsV-t1}
+
+ \def\caps{\ffsetV{caps}{-tosf-sc}\ffsetX}
+ \def\nocaps{\ffsetV{caps}{-tlf}\ffsetX}
+ \nocaps\relax
+
+\fi
+
+\ismacro\fotenc{U}\iftrue
+
+ \font\tenrm = "[Baskervaldx-Reg]:\fontfeatures" \sizespec
+ \font\tenbf = "[Baskervaldx-Bol]:\fontfeatures" \sizespec
+ \font\tenit = "[Baskervaldx-Ita]:\fontfeatures" \sizespec
+ \font\tenbi = "[Baskervaldx-BolIta]:\fontfeatures" \sizespec
+
+ \def\ffnamegen{"[Baskervaldx-\ffvarV]:\capsV\fontfeatures"}
+
+ \def\caps{\ffsetV{caps}{+smcp;+onum;}\ffsetX}
+ \def\nocaps{\ffsetV{caps}{}\ffsetX}
+ \nocaps\relax
+
+\fi
+\tenrm % don't remember to initialize the family with normal font.
+
+\def\narrow{\cond\fam}
+
+\ifx\loadmathfonts\relax \endinput \fi
+\ifx\mathpreloaded X\else \input tx-math \fi
+
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-bera.tex b/Master/texmf-dist/tex/csplain/fonts/cs-bera.tex
index 451ae6984ac..4f0717daa15 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-bera.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-bera.tex
@@ -4,7 +4,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Bera] {\rm \bf \it \bi} {\sans} {} {TX} {8t}
+\ffdecl [Bera] {\sans} {\rm \bf \it \bi} {} {TX} {8t}
\ffvars {r}{b}{ro}{bo}
\def\sans{\ffsetV{sans}{s}\ffsetX} \def\nosans{\ffsetV{sans}{e}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex b/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex
index b9098168624..07c796c0ef2 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [TG Bonum] {\rm \bf \it \bi} {\caps} {} {TX} {8z 8t U}
+\ffdecl [TG Bonum] {\caps} {\rm \bf \it \bi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex b/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex
index 05445a4b162..99ee8e5b3d7 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex
@@ -4,7 +4,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Charter] {\rm \bf \it \bi} {} {} {TX} {8z 8t}
+\ffdecl [Charter] {} {\rm \bf \it \bi} {} {TX} {8z 8t}
\ismacro\fotenc{8t}\ifttrue
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex b/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex
index 3c37149f64b..ed1383c1815 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [TG Cursor] {\rm \bf \it \bi} {\caps} {} {TX} {8z 8t U}
+\ffdecl [TG Cursor] {\caps} {\rm \bf \it \bi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex b/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex
index e6a9cdb7841..6ee4f376723 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex
@@ -5,7 +5,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [TG Heros] {\rm \bf \it \bi} {\caps \cond} {} {TX} {8z 8t U}
+\ffdecl [TG Heros] {\caps \cond} {\rm \bf \it \bi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
@@ -167,7 +167,7 @@ letter (as \mathpreloaded) is reserved for TX fonts collection. The "A"
letter is reserved for AMS math fonts.
-\ffdecl [Family Name] {basic selectors} {modifiers} {comment} {math} {enc}
+\ffdecl [Family Name] {modifiers} {basic selectors} {comment} {math} {enc}
-------------------------------------------------------------------------
This macro stops reading the file (with warning) if the \fotenc is not
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-heuristica.tex b/Master/texmf-dist/tex/csplain/fonts/cs-heuristica.tex
new file mode 100644
index 00000000000..f35650745c3
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-heuristica.tex
@@ -0,0 +1,47 @@
+% The file cs-heuristica.tex (C) Petr Olsak, 2016
+% Use "\input cs-heruistica" to set the Heruistica font family in text mode
+
+\ifx\ffdecl\undefined \input ff-mac \fi
+
+\ffdecl [Heuristica] {\caps} {\rm \bf \it \bi \tt} {} {TX} {8t U}
+
+\ffvars {Regular}{Bold}{Italic}{BoldItalic}
+
+\ismacro\fotenc{8t}\ifttrue
+
+ \font\tenrm = Heuristica-Regular-tlf-t1 \sizespec
+ \font\tenbf = Heuristica-Bold-tlf-t1 \sizespec
+ \font\tenit = Heuristica-Italic-tlf-t1 \sizespec
+ \font\tenbi = Heuristica-BoldItalic-tlf-t1 \sizespec
+ \font\tentt = t1-zi4r-0 \sizespec % inconsolata
+
+ \def\ffnamegen{Heuristica-\ffvarV\capsV-t1}
+
+ \def\caps{\ffvars{Regular}{!}{!}{!}\ffsetV{caps}{-tosf-sc}\ffsetX}
+ \def\nocaps{\ffsetV{caps}{-tlf}\ffsetX}
+ \nocaps\relax
+
+\fi
+
+\ismacro\fotenc{U}\iftrue
+
+ \font\tenrm = "[Heuristica-Regular]:\fontfeatures" \sizespec
+ \font\tenbf = "[Heuristica-Bold]:\fontfeatures" \sizespec
+ \font\tenit = "[Heuristica-Italic]:\fontfeatures" \sizespec
+ \font\tenbi = "[Heuristica-BoldItalic]:\fontfeatures" \sizespec
+ \font\tentt = "[Inconsolatazi4-Regular]:\fontfeatures" \sizespec
+
+ \def\ffnamegen{"[Heuristica-\ffvarV]:\capsV\fontfeatures"}
+
+ \def\caps{\ffsetV{caps}{+smcp;+onum;}\ffsetX}
+ \def\nocaps{\ffsetV{caps}{}\ffsetX}
+ \nocaps\relax
+
+\fi
+\tenrm % don't remember to initialize the family with normal font.
+
+\def\narrow{\cond\fam}
+
+\ifx\loadmathfonts\relax \endinput \fi
+\ifx\mathpreloaded X\else \input tx-math \fi
+
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-iwona.tex b/Master/texmf-dist/tex/csplain/fonts/cs-iwona.tex
new file mode 100644
index 00000000000..0b4b21f370a
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-iwona.tex
@@ -0,0 +1,71 @@
+% The file cs-iwona.tex (C) Petr Olsak, 2016
+% Use "\input cs-iwona" to set the Iwona font family in text mode
+
+\ifx\ffdecl\undefined \input ff-mac \fi
+
+\ffdecl [Iwona] {\caps \cond \lightw \heavyw} {\rm \bf \it \bi} {} {KI} {8z 8t U}
+
+\ffvars {r}{b}{ri}{bi}
+\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
+\def\cond{\ffsetV{cond}{c}\ffsetX} \def\nocond{\ffsetV{cond}{}\ffsetX}
+\def\capsV{}
+\def\condV{}
+\def\lightw{\ffvars{l}{m}{li}{mi}\ffsetX}
+\def\heavyw{\ffvars{h}{!}{hi}{!}\ffsetX}
+\def\normalw{\ffvars {r}{b}{ri}{bi}\ffsetX}
+
+\ismacro\fotenc{8t}\ifttrue
+
+ \font\tenrm = ec-iwonar \sizespec
+ \font\tenbf = ec-iwonab \sizespec
+ \font\tenit = ec-iwonari \sizespec
+ \font\tenbi = ec-iwonabi \sizespec
+
+ \def\ffnamegen{ec-iwona\condV\ffvarV\capsV}
+
+\fi
+
+\ismacro\fotenc{8z}\iftrue
+
+ \font\tenrm = cs-iwonar \sizespec
+ \font\tenbf = cs-iwonab \sizespec
+ \font\tenit = cs-iwonari \sizespec
+ \font\tenbi = cs-iwonabi \sizespec
+
+ \def\ffnamegen{cs-iwona\condV\ffvarV\capsV}
+ \input chars-8z
+
+\fi
+
+\ismacro\fotenc{U}\iftrue
+
+ \font\tenrm = "[Iwona-Regular]:\fontfeatures" \sizespec
+ \font\tenbf = "[Iwona-Bold]:\fontfeatures" \sizespec
+ \font\tenit = "[Iwona-Italic]:\fontfeatures" \sizespec
+ \font\tenbi = "[Iwona-BoldItalic]:\fontfeatures" \sizespec
+
+ \def\ffnamegen{"[Iwona\condV\ffvarxV-\ffvarV]:\capsV\fontfeatures"}
+
+ \ffvars {Regular} {Bold} {Italic} {BoldItalic}
+ \def\caps{\ffsetV{caps}{+smcp;}\ffsetX}
+ \def\cond{\ffsetV{cond}{Cond}\ffsetX}
+ \def\lightw{\ffvarsx{Light}{Medium}{Light}{Medium}%
+ \ffvars{Regular}{Regular}{Italic}{Italic}\ffsetX}
+ \def\heavyw{\ffvarsx{Heavy}{}{Heavy}{}\ffvars{Regular}{!}{Italic}{!}\ffsetX}
+ \def\normalw{\ffvarsx{}{}{}{}\ffvars{Regular}{Bold}{Italic}{BoldItalic}\ffsetX}
+
+ \tryprotected\def\ffvarsx#1#2#3#4{%
+ \def\ffvarxY##1{\ifcase##1 #1\or#2\or#3\or#4\fi}%
+ }
+ \def\ffsetR#1{\edef\ffvarxV{\ffvarxY{#1}}}
+ \ffvarsx {}{}{}{}
+
+\fi
+\tenrm % don't remember to initialize the family with normal font.
+
+\def\narrow{\cond\fam}
+
+\ifx\loadmathfonts\relax \endinput \fi
+\def\mfamname{iwona}
+\ifx\mathpreloaded R \normalmath \else \input ki-math \fi
+
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-kurier.tex b/Master/texmf-dist/tex/csplain/fonts/cs-kurier.tex
new file mode 100644
index 00000000000..6fc00cdf1db
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-kurier.tex
@@ -0,0 +1,71 @@
+% The file cs-kurier.tex (C) Petr Olsak, 2016
+% Use "\input cs-kurier" to set the Kurier font family in text mode
+
+\ifx\ffdecl\undefined \input ff-mac \fi
+
+\ffdecl [Kurier] {\caps \cond \lightw \heavyw} {\rm \bf \it \bi} {} {KI} {8z 8t U}
+
+\ffvars {r}{b}{ri}{bi}
+\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
+\def\cond{\ffsetV{cond}{c}\ffsetX} \def\nocond{\ffsetV{cond}{}\ffsetX}
+\def\capsV{}
+\def\condV{}
+\def\lightw{\ffvars{l}{m}{li}{mi}\ffsetX}
+\def\heavyw{\ffvars{h}{!}{hi}{!}\ffsetX}
+\def\normalw{\ffvars {r}{b}{ri}{bi}\ffsetX}
+
+\ismacro\fotenc{8t}\ifttrue
+
+ \font\tenrm = ec-kurierr \sizespec
+ \font\tenbf = ec-kurierb \sizespec
+ \font\tenit = ec-kurierri \sizespec
+ \font\tenbi = ec-kurierbi \sizespec
+
+ \def\ffnamegen{ec-kurier\condV\ffvarV\capsV}
+
+\fi
+
+\ismacro\fotenc{8z}\iftrue
+
+ \font\tenrm = cs-kurierr \sizespec
+ \font\tenbf = cs-kurierb \sizespec
+ \font\tenit = cs-kurierri \sizespec
+ \font\tenbi = cs-kurierbi \sizespec
+
+ \def\ffnamegen{cs-kurier\condV\ffvarV\capsV}
+ \input chars-8z
+
+\fi
+
+\ismacro\fotenc{U}\iftrue
+
+ \font\tenrm = "[Kurier-Regular]:\fontfeatures" \sizespec
+ \font\tenbf = "[Kurier-Bold]:\fontfeatures" \sizespec
+ \font\tenit = "[Kurier-Italic]:\fontfeatures" \sizespec
+ \font\tenbi = "[Kurier-BoldItalic]:\fontfeatures" \sizespec
+
+ \def\ffnamegen{"[Kurier\condV\ffvarxV-\ffvarV]:\capsV\fontfeatures"}
+
+ \ffvars {Regular} {Bold} {Italic} {BoldItalic}
+ \def\caps{\ffsetV{caps}{+smcp;}\ffsetX}
+ \def\cond{\ffsetV{cond}{Cond}\ffsetX}
+ \def\lightw{\ffvarsx{Light}{Medium}{Light}{Medium}%
+ \ffvars{Regular}{Regular}{Italic}{Italic}\ffsetX}
+ \def\heavyw{\ffvarsx{Heavy}{}{Heavy}{}\ffvars{Regular}{!}{Italic}{!}\ffsetX}
+ \def\normalw{\ffvarsx{}{}{}{}\ffvars{Regular}{Bold}{Italic}{BoldItalic}\ffsetX}
+
+ \tryprotected\def\ffvarsx#1#2#3#4{%
+ \def\ffvarxY##1{\ifcase##1 #1\or#2\or#3\or#4\fi}%
+ }
+ \def\ffsetR#1{\edef\ffvarxV{\ffvarxY{#1}}}
+ \ffvarsx {}{}{}{}
+
+\fi
+\tenrm % don't remember to initialize the family with normal font.
+
+\def\narrow{\cond\fam}
+
+\ifx\loadmathfonts\relax \endinput \fi
+\def\mfamname{kurier}
+\ifx\mathpreloaded R \normalmath \else \input ki-math \fi
+
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-libertine.tex b/Master/texmf-dist/tex/csplain/fonts/cs-libertine.tex
index fef2bd9c4be..13db8a35998 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-libertine.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-libertine.tex
@@ -13,7 +13,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Linux Libertine] {\rm \bf \it \bi} {\mono \sans \caps} {} {TX} {U sU}
+\ffdecl [Linux Libertine] {\mono \sans \caps} {\rm \bf \it \bi} {} {TX} {U sU}
\ismacro\fotenc{U}\iftrue %%%%%%%%%%%%%% OTF fonts from /texmf tree
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex b/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex
index 66d17c6c9aa..1d37aa20996 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [TG Pagella] {\rm \bf \it \bi} {\caps} {} {TX} {8z 8t U}
+\ffdecl [TG Pagella] {\caps} {\rm \bf \it \bi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-polta.tex b/Master/texmf-dist/tex/csplain/fonts/cs-polta.tex
index 18a0d5be3db..df6564fef02 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-polta.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-polta.tex
@@ -5,7 +5,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
\ffdecl [Antykwa Poltawskiego]
- {\rm \bf \it \bi \lr \mr \li \mi} {\caps \wlight} {} {TX} {8z 8t U}
+ {\caps \wlight} {\rm \bf \it \bi \lr \mr \li \mi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\wlight{\ffvars{l}{m}{li}{mi}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex b/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex
index 8a2cb8e88c9..5de62d76e39 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [TG Schola] {\rm \bf \it \bi} {\caps} {} {TX} {8z 8t U}
+\ffdecl [TG Schola] {\caps} {\rm \bf \it \bi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex b/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex
index 228c9b5cd05..cfd69d26941 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [TG Termes] {\rm \bf \it \bi} {\caps} {} {TX} {8z 8t U}
+\ffdecl [TG Termes] {\caps} {\rm \bf \it \bi} {} {TX} {8z 8t U}
\ffvars {r}{b}{ri}{bi}
\def\caps{\ffsetV{caps}{-sc}\ffsetX} \def\nocaps{\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/ctimes.tex b/Master/texmf-dist/tex/csplain/fonts/ctimes.tex
index 3f276d7c34a..7694835d5e4 100644
--- a/Master/texmf-dist/tex/csplain/fonts/ctimes.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/ctimes.tex
@@ -3,7 +3,7 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Times] {\rm \bf \it \bi} {\caps{\rm\bf}} {} {TX} {8z 8t}
+\ffdecl [Times] {\caps{\rm\bf}} {\rm \bf \it \bi} {} {TX} {8z 8t}
\def\caps{\ffvars{r}{b}{!}{!}\ffsetV{caps}{c}\ffsetX}
\def\nocaps{\ffvars{r}{b}{ri}{bi}\ffsetV{caps}{}\ffsetX}
diff --git a/Master/texmf-dist/tex/csplain/fonts/ff-mac.tex b/Master/texmf-dist/tex/csplain/fonts/ff-mac.tex
index a96ef09427d..4d156439420 100644
--- a/Master/texmf-dist/tex/csplain/fonts/ff-mac.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/ff-mac.tex
@@ -9,10 +9,9 @@
\iftrue
\def\fffam{#1}%
{\toks2={#2}\toks3={#3}\toks4={#4}%
- \immediate\write16{FONT: #1 - \the\toks2
- \ifx\relax#3\relax\else ; mod:\the\toks3 \fi
- \ifx\relax#4\relax\else ; \the\toks4 \fi
- \ifx\loadmathfonts\relax \else ; +#5\fi}}%
+ \immediate\write16{FONT: #1 - {\the\toks2} {\the\toks3}%
+ \ifx\relax#4\relax\else \space \the\toks4 \fi
+ \ifx\loadmathfonts\relax \else \space +#5\fi}}%
\else
\ffmessage {WARNING: #1 family is not available in
\fotenc\space encoding. Ignored.}%
@@ -70,7 +69,7 @@
\else \ffsetW0\tenrm \ffsetW1\tenbf \ffsetW2\tenit \ffsetW3\tenbi \fi
\ffsetT{\tenrm}{\tenbf}{\tenit}{\tenbi}% return to current variant
\else \ifx+#1\ffsetS \ffsetT{\ffsetX\rm}{\ffsetX\bf}{\ffsetX\it}{\ffsetX\bi}%
- \else \edef\ffvarV{\ffvarY{#1}}%
+ \else \edef\ffvarV{\ffvarY{#1}}\ffsetR{#1}%
\if!\ffvarV\relax\ffwarning{\ffvarZ{#1}}%
\else \def\ffvarN{#1}\ffsetF\ffmodfont\ffmodfont
\fi\fi\fi
@@ -87,6 +86,7 @@
\def\ffloadhookA{}
\def\ffloadhookB{}
\def\ffwarning#1{}
+\def\ffsetR#1{} % reserved for special usage
\def\ffsetS{\expandafter\ifx\the\font\tenrm \def\ffvarN{0}%
\else \expandafter\ifx\the\font\tenbf \def\ffvarN{1}%
@@ -99,7 +99,7 @@
\def\readsizespec#1at#2\relax{\ifx!#2\def\dgsize{#1}\else
\ifx\relax#2\relax \def\dgsize{10pt}\else \readsizespec#2!\relax\fi\fi
}
-\def\ffsetW#1#2{\edef\ffvarV{\ffvarY{#1}}%
+\def\ffsetW#1#2{\edef\ffvarV{\ffvarY{#1}}\ffsetR{#1}%
\if!\ffvarV\relax\ffwarning{\ffvarZ{#1}}\else \ffsetF#2\relax\fi
}
\def\ismacro#1#2#3{\def\tmp{#2}\ifx#1\tmp}
@@ -143,10 +143,10 @@
\def\regsizes#1#2{\bgroup \aftergroup\regsizesC #1\relax
\let\regtfm=\relax \gdef\tmp{}%
\ifx\ffnameotfB\undefined \def\ffnameotf##1{##1}\else \let\ffnameotf=\relax \fi
- \edef\ffvarV{\ffvarY{0}}\if!\ffvarV\else \regsizesA{#2}\fi
- \edef\ffvarV{\ffvarY{1}}\if!\ffvarV\else \regsizesA{#2}\fi
- \edef\ffvarV{\ffvarY{2}}\if!\ffvarV\else \regsizesA{#2}\fi
- \edef\ffvarV{\ffvarY{3}}\if!\ffvarV\else \regsizesA{#2}\fi
+ \edef\ffvarV{\ffvarY{0}}\ffsetR{0}\if!\ffvarV\else \regsizesA{#2}\fi
+ \edef\ffvarV{\ffvarY{1}}\ffsetR{1}\if!\ffvarV\else \regsizesA{#2}\fi
+ \edef\ffvarV{\ffvarY{2}}\ffsetR{2}\if!\ffvarV\else \regsizesA{#2}\fi
+ \edef\ffvarV{\ffvarY{3}}\ffsetR{3}\if!\ffvarV\else \regsizesA{#2}\fi
\egroup
}
\def\regsizesA#1{\def\ffoptV{}\xdef\tmp{\tmp\regtfm \ffnamegen}%
diff --git a/Master/texmf-dist/tex/csplain/fonts/ki-math.tex b/Master/texmf-dist/tex/csplain/fonts/ki-math.tex
new file mode 100644
index 00000000000..f5fc95f05ca
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/ki-math.tex
@@ -0,0 +1,377 @@
+% This file loads Kurier or Iwona math fonts by plainTeX macros
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Petr Olsak, 2016
+
+\message{FONT: Kurier/Iwona math fonts - \string\mathchardef's + 10 math families prepared.}
+\let\mathpreloaded=R
+
+\ifx\mfamname\undefined \def\mfamname{iwona}\fi
+
+\def\normalmath{%
+ \loadmathfamily 0 rm-\mfamname r % Kurier/Iwona Roman
+ \loadmathfamily 1 mi-\mfamname ri % Kurier/Iwona Math Italic
+ \loadmathfamily 2 sy-\mfamname rz % Kurier/Iwona Standard symbols
+ \loadmathfamily 3 ex-\mfamname r % Kurier/Iwona extra symbols
+ \loadmathfamily 4 msam % AMS symbols A
+ \loadmathfamily 5 msbm % AMS symbols B
+ \loadmathfamily 6 rsfs % script
+ \loadmathfamily 7 eufm % fractur
+ \loadmathfamily 8 rm-\mfamname b % sans serif bold
+ \loadmathfamily 9 rm-\mfamname bi % sans serif bold slanted
+ \setmathdimens
+}
+\def\boldmath{%
+ \loadmathfamily 0 rm-\mfamname b % Kurier/Iwona Roman
+ \loadmathfamily 1 mi-\mfamname bi % Kurier/Iwona Math Italic
+ \loadmathfamily 2 sy-\mfamname bz % Kurier/Iwona Standard symbols
+ \loadmathfamily 3 ex-\mfamname b % Kurier/Iwona extra symbols
+ \loadmathfamily 4 msam % AMS symbols A
+ \loadmathfamily 5 msbm % AMS symbols B
+ \loadmathfamily 6 rsfs % script
+ \loadmathfamily 7 eufm % fractur
+ \loadmathfamily 8 rm-\mfamname h % sans serif bold
+ \loadmathfamily 9 rm-\mfamname hi % sans serif bold slanted
+ \setmathdimens
+}
+\count18=9
+
+\let\normalKImath=\normalmath \let\boldKImath=\boldmath
+
+\def\bi{\tenbi \fam\bifam} % in csplain is done \def\bi{\tenbi} only
+\def\bbchar{\fam5 } % double stroked letters
+\def\frak{\fam7 } % fraktur
+\def\script{\fam6 } % more extensive script than \cal
+\chardef\bffam 8 % sans serif bold
+\chardef\bifam 9 % sans serif bold slanted
+\chardef\rmfam 0 % for \rm (can differ from CM Roman)
+\chardef\itfam 1 % normal italic
+\let\slfam=\itfam \let\ttfam=\rmfam % for raw similarity with plainTeX
+
+\def\corrmsizes{\ptmunit=1\ptunit\relax}
+
+% macros:
+
+\ifx\rfontskipat\undefined \input csfontsm \fi
+
+\def\loadmathfamily #1 #2 {\chardef\tmp#1\corrmsizes
+ \let\dgsize=\sizemtext \font\mF=\whichtfm{#2} at\dgsize \textfont#1=\mF
+ \let\dgsize=\sizemscript \font\mF=\whichtfm{#2} at\dgsize \scriptfont#1=\mF
+ \let\dgsize=\sizemsscript \font\mF=\whichtfm{#2} at\dgsize \scriptscriptfont#1=\mF
+ \let\dgsize=\undefined
+}
+\def\setmathfamily #1 #2{\let\mF=#2\chardef\tmp#1\corrmsizes
+ \let\dgsize=\sizemtext \letfont#2=#2 at\dgsize \textfont#1=#2%
+ \let\dgsize=\sizemscript \letfont#2=#2 at\dgsize \scriptfont#1=#2%
+ \let\dgsize=\sizemsscript \letfont#2=#2 at\dgsize \scriptscriptfont#1=#2%
+ \let\dgsize=\undefined \let#2=\mF
+}
+\def\itvariables{\def\rm{\fam\rmfam \tenrm}%
+ \mathcodechanges C:0-9\mathcodechanges D:A-Z\mathcodechanges D:a-z}
+\def\mitvariables{\def\rm{\fam0\tenrm}%
+ \mathcodechanges 0:0-9\mathcodechanges 1:A-Z\mathcodechanges 1:a-z}
+
+\def\mathcodechanges#1:#2-#3{\edef\tmp{\count0=\the\count0 \count1=\the\count1 }%
+ \count0=`#2 \count1=\count0 \advance\count1 by"7#100
+ \loop \mathcode\count0=\count1
+ \ifnum\count0<`#3 \advance\count0 by1 \advance\count1 by1 \repeat
+ \tmp\relax
+}
+\ifx\whichtfm\undefined \def\whichtfm#1{#1}\fi
+
+\def\setmathdimens{% PlainTeX sets these dimens for 10pt size only:
+ \delimitershortfall=0.5\fontdimen6\textfont3
+ \nulldelimiterspace=0.12\fontdimen6\textfont3
+ \scriptspace=0.05\fontdimen6\textfont3
+ \skewchar\textfont1=127 \skewchar\scriptfont1=127
+ \skewchar\scriptscriptfont1=127
+ \skewchar\textfont2=48 \skewchar\scriptfont2=48
+ \skewchar\scriptscriptfont2=48
+ \fontdimen8\scriptfont3 = \fontdimen8\textfont3
+ \fontdimen8\scriptscriptfont3 = \fontdimen8\textfont3
+}
+\def\setmathsizes[#1/#2/#3]{%
+ \def\sizemtext{#1\ptmunit}\def\sizemscript{#2\ptmunit}%
+ \def\sizemsscript{#3\ptmunit}%
+}
+\ifx\ptuint\undefined \def\ptunit{pt}\fi
+\ifx\ptmunit\undefined \csname newdimen\endcsname\ptmunit\fi \ptmunit=1\ptunit
+\ifx\sizemtext\undefined \setmathsizes[10/7/5]\fi
+
+\ifx\tenbi\undefined \font\tenbi=ptmbi8z \relax \fi
+\ifx\normalmathloading\relax\else \normalmath \fi % load families, normal shape
+\mitvariables
+
+%% \mathchardef declarations
+
+\def\amsafam{4} \def\amsbfam{5}
+
+%% AMSA
+
+\mathchardef \boxdot "2\amsafam 00
+\mathchardef \boxplus "2\amsafam 01
+\mathchardef \boxtimes "2\amsafam 02
+\mathchardef \square "0\amsafam 03
+\mathchardef \blacksquare "0\amsafam 04
+\mathchardef \centerdot "2\amsafam 05
+\mathchardef \lozenge "0\amsafam 06
+\mathchardef \blacklozenge "0\amsafam 07
+\mathchardef \circlearrowright "3\amsafam 08
+\mathchardef \circlearrowleft "3\amsafam 09
+\mathchardef \rightleftharpoons "3\amsafam 0A
+\mathchardef \leftrightharpoons "3\amsafam 0B
+\mathchardef \boxminus "2\amsafam 0C
+\mathchardef \Vdash "3\amsafam 0D
+\mathchardef \Vvdash "3\amsafam 0E
+\mathchardef \vDash "3\amsafam 0F
+\mathchardef \twoheadrightarrow "3\amsafam 10
+\mathchardef \twoheadleftarrow "3\amsafam 11
+\mathchardef \leftleftarrows "3\amsafam 12
+\mathchardef \rightrightarrows "3\amsafam 13
+\mathchardef \upuparrows "3\amsafam 14
+\mathchardef \downdownarrows "3\amsafam 15
+\mathchardef \upharpoonright "3\amsafam 16
+\mathchardef \downharpoonright "3\amsafam 17
+\mathchardef \upharpoonleft "3\amsafam 18
+\mathchardef \downharpoonleft "3\amsafam 19
+\mathchardef \rightarrowtail "3\amsafam 1A
+\mathchardef \leftarrowtail "3\amsafam 1B
+\mathchardef \leftrightarrows "3\amsafam 1C
+\mathchardef \rightleftarrows "3\amsafam 1D
+\mathchardef \Lsh "3\amsafam 1E
+\mathchardef \Rsh "3\amsafam 1F
+\mathchardef \rightsquigarrow "3\amsafam 20
+\mathchardef \leftrightsquigarrow "3\amsafam 21
+\mathchardef \looparrowleft "3\amsafam 22
+\mathchardef \looparrowright "3\amsafam 23
+\mathchardef \circeq "3\amsafam 24
+\mathchardef \succsim "3\amsafam 25
+\mathchardef \gtrsim "3\amsafam 26
+\mathchardef \gtrapprox "3\amsafam 27
+\mathchardef \multimap "3\amsafam 28
+\mathchardef \therefore "3\amsafam 29
+\mathchardef \because "3\amsafam 2A
+\mathchardef \doteqdot "3\amsafam 2B
+\mathchardef \triangleq "3\amsafam 2C
+\mathchardef \precsim "3\amsafam 2D
+\mathchardef \lesssim "3\amsafam 2E
+\mathchardef \lessapprox "3\amsafam 2F
+\mathchardef \eqslantless "3\amsafam 30
+\mathchardef \eqslantgtr "3\amsafam 31
+\mathchardef \curlyeqprec "3\amsafam 32
+\mathchardef \curlyeqsucc "3\amsafam 33
+\mathchardef \preccurlyeq "3\amsafam 34
+\mathchardef \leqq "3\amsafam 35
+\mathchardef \leqslant "3\amsafam 36
+\mathchardef \lessgtr "3\amsafam 37
+\mathchardef \backprime "0\amsafam 38
+\mathchardef \risingdotseq "3\amsafam 3A
+\mathchardef \fallingdotseq "3\amsafam 3B
+\mathchardef \succcurlyeq "3\amsafam 3C
+\mathchardef \geqq "3\amsafam 3D
+\mathchardef \geqslant "3\amsafam 3E
+\mathchardef \gtrless "3\amsafam 3F
+\mathchardef \sqsubset "3\amsafam 40
+\mathchardef \sqsupset "3\amsafam 41
+\mathchardef \vartriangleright "3\amsafam 42
+\mathchardef \vartriangleleft "3\amsafam 43
+\mathchardef \trianglerighteq "3\amsafam 44
+\mathchardef \trianglelefteq "3\amsafam 45
+\mathchardef \bigstar "0\amsafam 46
+\mathchardef \between "3\amsafam 47
+\mathchardef \blacktriangledown "0\amsafam 48
+\mathchardef \blacktriangleright "3\amsafam 49
+\mathchardef \blacktriangleleft "3\amsafam 4A
+\mathchardef \vartriangle "3\amsafam 4D
+\mathchardef \blacktriangle "0\amsafam 4E
+\mathchardef \triangledown "0\amsafam 4F
+\mathchardef \eqcirc "3\amsafam 50
+\mathchardef \lesseqgtr "3\amsafam 51
+\mathchardef \gtreqless "3\amsafam 52
+\mathchardef \lesseqqgtr "3\amsafam 53
+\mathchardef \gtreqqless "3\amsafam 54
+\mathchardef \Rrightarrow "3\amsafam 56
+\mathchardef \Lleftarrow "3\amsafam 57
+\mathchardef \veebar "2\amsafam 59
+\mathchardef \barwedge "2\amsafam 5A
+\mathchardef \doublebarwedge "2\amsafam 5B
+\mathchardef \angle "0\amsafam 5C
+\mathchardef \measuredangle "0\amsafam 5D
+\mathchardef \sphericalangle "0\amsafam 5E
+\mathchardef \varpropto "3\amsafam 5F
+\mathchardef \smallsmile "3\amsafam 60
+\mathchardef \smallfrown "3\amsafam 61
+\mathchardef \Subset "3\amsafam 62
+\mathchardef \Supset "3\amsafam 63
+\mathchardef \Cup "2\amsafam 64
+\mathchardef \Cap "2\amsafam 65
+\mathchardef \curlywedge "2\amsafam 66
+\mathchardef \curlyvee "2\amsafam 67
+\mathchardef \leftthreetimes "2\amsafam 68
+\mathchardef \rightthreetimes "2\amsafam 69
+\mathchardef \subseteqq "3\amsafam 6A
+\mathchardef \supseteqq "3\amsafam 6B
+\mathchardef \bumpeq "3\amsafam 6C
+\mathchardef \Bumpeq "3\amsafam 6D
+\mathchardef \lll "3\amsafam 6E
+\mathchardef \ggg "3\amsafam 6F
+\def \ulcorner {\delimiter"4\amsafam 70\amsafam 70 }
+\def \urcorner {\delimiter"5\amsafam 71\amsafam 71 }
+\mathchardef \circledS "0\amsafam 73
+\mathchardef \pitchfork "3\amsafam 74
+\mathchardef \dotplus "2\amsafam 75
+\mathchardef \backsim "3\amsafam 76
+\mathchardef \backsimeq "3\amsafam 77
+\def \llcorner {\delimiter"4\amsafam 78\amsafam 78 }
+\def \lrcorner {\delimiter"5\amsafam 79\amsafam 79 }
+\mathchardef \complement "0\amsafam 7B
+\mathchardef \intercal "2\amsafam 7C
+\mathchardef \circledcirc "2\amsafam 7D
+\mathchardef \circledast "2\amsafam 7E
+\mathchardef \circleddash "2\amsafam 7F
+\mathchardef \rhd "2\amsafam 42
+\mathchardef \lhd "2\amsafam 43
+\mathchardef \unrhd "2\amsafam 44
+\mathchardef \unlhd "2\amsafam 45
+
+ \let\restriction\upharpoonright
+ \let\Doteq\doteqdot
+ \let\doublecup\Cup
+ \let\doublecap\Cap
+ \let\llless\lll
+ \let\gggtr\ggg
+ \let\Box=\square % LaTeX symbol
+ \let\Box=\square % LaTeX symbol
+
+%% AMSB
+
+\mathchardef \lvertneqq "3\amsbfam 00
+\mathchardef \gvertneqq "3\amsbfam 01
+\mathchardef \nleq "3\amsbfam 02
+\mathchardef \ngeq "3\amsbfam 03
+\mathchardef \nless "3\amsbfam 04
+\mathchardef \ngtr "3\amsbfam 05
+\mathchardef \nprec "3\amsbfam 06
+\mathchardef \nsucc "3\amsbfam 07
+\mathchardef \lneqq "3\amsbfam 08
+\mathchardef \gneqq "3\amsbfam 09
+\mathchardef \nleqslant "3\amsbfam 0A
+\mathchardef \ngeqslant "3\amsbfam 0B
+\mathchardef \lneq "3\amsbfam 0C
+\mathchardef \gneq "3\amsbfam 0D
+\mathchardef \npreceq "3\amsbfam 0E
+\mathchardef \nsucceq "3\amsbfam 0F
+\mathchardef \precnsim "3\amsbfam 10
+\mathchardef \succnsim "3\amsbfam 11
+\mathchardef \lnsim "3\amsbfam 12
+\mathchardef \gnsim "3\amsbfam 13
+\mathchardef \nleqq "3\amsbfam 14
+\mathchardef \ngeqq "3\amsbfam 15
+\mathchardef \precneqq "3\amsbfam 16
+\mathchardef \succneqq "3\amsbfam 17
+\mathchardef \precnapprox "3\amsbfam 18
+\mathchardef \succnapprox "3\amsbfam 19
+\mathchardef \lnapprox "3\amsbfam 1A
+\mathchardef \gnapprox "3\amsbfam 1B
+\mathchardef \nsim "3\amsbfam 1C
+\mathchardef \ncong "3\amsbfam 1D
+\mathchardef \diagup "0\amsbfam 1E
+\mathchardef \diagdown "0\amsbfam 1F
+\mathchardef \varsubsetneq "3\amsbfam 20
+\mathchardef \varsupsetneq "3\amsbfam 21
+\mathchardef \nsubseteqq "3\amsbfam 22
+\mathchardef \nsupseteqq "3\amsbfam 23
+\mathchardef \subsetneqq "3\amsbfam 24
+\mathchardef \supsetneqq "3\amsbfam 25
+\mathchardef \varsubsetneqq "3\amsbfam 26
+\mathchardef \varsupsetneqq "3\amsbfam 27
+\mathchardef \subsetneq "3\amsbfam 28
+\mathchardef \supsetneq "3\amsbfam 29
+\mathchardef \nsubseteq "3\amsbfam 2A
+\mathchardef \nsupseteq "3\amsbfam 2B
+\mathchardef \nparallel "3\amsbfam 2C
+\mathchardef \nmid "3\amsbfam 2D
+\mathchardef \nshortmid "3\amsbfam 2E
+\mathchardef \nshortparallel "3\amsbfam 2F
+\mathchardef \nvdash "3\amsbfam 30
+\mathchardef \nVdash "3\amsbfam 31
+\mathchardef \nvDash "3\amsbfam 32
+\mathchardef \nVDash "3\amsbfam 33
+\mathchardef \ntrianglerighteq "3\amsbfam 34
+\mathchardef \ntrianglelefteq "3\amsbfam 35
+\mathchardef \ntriangleleft "3\amsbfam 36
+\mathchardef \ntriangleright "3\amsbfam 37
+\mathchardef \nleftarrow "3\amsbfam 38
+\mathchardef \nrightarrow "3\amsbfam 39
+\mathchardef \nLeftarrow "3\amsbfam 3A
+\mathchardef \nRightarrow "3\amsbfam 3B
+\mathchardef \nLeftrightarrow "3\amsbfam 3C
+\mathchardef \nleftrightarrow "3\amsbfam 3D
+\mathchardef \divideontimes "2\amsbfam 3E
+\mathchardef \varnothing "0\amsbfam 3F
+\mathchardef \nexists "0\amsbfam 40
+\mathchardef \Finv "0\amsbfam 60
+\mathchardef \Game "0\amsbfam 61
+\mathchardef \mho "0\amsbfam 66
+\mathchardef \eth "0\amsbfam 67
+\mathchardef \eqsim "3\amsbfam 68
+\mathchardef \beth "0\amsbfam 69
+\mathchardef \gimel "0\amsbfam 6A
+\mathchardef \daleth "0\amsbfam 6B
+\mathchardef \lessdot "2\amsbfam 6C
+\mathchardef \gtrdot "2\amsbfam 6D
+\mathchardef \ltimes "2\amsbfam 6E
+\mathchardef \rtimes "2\amsbfam 6F
+\mathchardef \shortmid "3\amsbfam 70
+\mathchardef \shortparallel "3\amsbfam 71
+\mathchardef \smallsetminus "2\amsbfam 72
+\mathchardef \thicksim "3\amsbfam 73
+\mathchardef \thickapprox "3\amsbfam 74
+\mathchardef \approxeq "3\amsbfam 75
+\mathchardef \precapprox "3\amsbfam 76
+\mathchardef \succapprox "3\amsbfam 77
+\mathchardef \curvearrowleft "3\amsbfam 78
+\mathchardef \curvearrowright "3\amsbfam 79
+\mathchardef \digamma "0\amsbfam 7A
+\mathchardef \varkappa "0\amsbfam 7B
+\mathchardef \Bbbk "0\amsbfam 7C
+\mathchardef \hslash "0\amsbfam 7D
+\mathchardef \hbar "0\amsbfam 7E
+\mathchardef \backepsilon "3\amsbfam 7F
+
+%%% macros
+
+\def\joinrel{\mathrel{\mkern-2.5mu}} %-3mu in plain TeX
+
+\let\circledplus\oplus
+\let\circledminus\ominus
+\let\circledtimes\otimes
+\let\circledslash\oslash
+\let\circleddot\odot
+
+%%% \big, \bigg, etc.
+
+\def\scalebig#1#2{{\left#1\vbox to#2\fontdimen6\textfont3{}%
+ \kern-\nulldelimiterspace\right.}}
+\def\big#1{\scalebig{#1}{.85}}
+\def\Big#1{\scalebig{#1}{1.15}}
+\def\bigg#1{\scalebig{#1}{1.45}}
+\def\Bigg#1{\scalebig{#1}{1.75}}
+
+%%% \not redefined:
+
+\mathchardef \notchar "3236
+
+\def\not#1{%
+ \ifx\TeX\relax \noexpand\not \else % \let\TeX=\relax in \output routine
+ \ifx #1<\nless \else
+ \ifx #1>\ngtr \else
+ \begingroup\escapechar=-1\xdef\tmpn{\string#1}\endgroup
+ \expandafter\ifx \csname not\tmpn\endcsname \relax
+ \expandafter\ifx \csname n\tmpn\endcsname \relax
+ \mathrel{\mathord{\notchar}\mathord{#1}}%
+ \else \csname n\tmpn\endcsname \fi
+ \else \csname not\tmpn\endcsname \fi
+ \fi\fi\fi}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex b/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex
index 8c838ccd296..e643c0564b2 100644
--- a/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex
@@ -9,9 +9,9 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [KP Fonts] {\rm \bf \it \bi} {\caps \slant \sans ...} {21 mods} {KP} {8t 7t}
-
-\message{See the file kp-fonts.tex and kp-math.tex for modifiers documentation.}
+\ffdecl [KP Fonts]
+ {\caps \bcaps \slant \sans \ttset \wlight \bext \noflig \oldn \olds \oldsv}
+ {\rm \bf \it \bi} {22 mods + exchars} {KP} {8t 7t}
% Modifiers:
% \caps ..... Caps & small caps
diff --git a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
index 9bd3c1d6b97..f720d5efd15 100644
--- a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
@@ -4,9 +4,9 @@
\ifx\ffdecl\undefined \input ff-mac \fi
-\ffdecl [Latin Modern] {\rm \bf \it \bi}
+\ffdecl [Latin Modern]
{\caps \sans \ttset \slant \nbold \ttprop \ttlight \ttcond
- \quotset \upital \dunhill}
+ \quotset \upital \dunhill} {\rm \bf \it \bi}
{} {AMS} {8t 8z 8q 8y 8v U}
% \lmreset ... implicit values (serif, bod extended, nocaps)
diff --git a/Master/texmf-dist/tex/csplain/fonts/pazo-math.tex b/Master/texmf-dist/tex/csplain/fonts/pazo-math.tex
new file mode 100644
index 00000000000..2ac34310425
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/pazo-math.tex
@@ -0,0 +1,679 @@
+% This file loads mathpazo + TX math fonts by plainTeX macros
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Petr Olsak, 2016
+
+% Pazo fonts combines Palatino + spec. designed characters + CM using
+% virtual fonts. They are intended for Palatino / Pagella text fonts.
+% Usage:
+% \input cs-pagella \input pazo-math
+
+\message{FONT: Pazo math fonts - \string\mathchardef's prepared, 13 math families preloaded.}
+\let\mathpreloaded=Z
+
+\def\normalmath{%
+ \loadmathfamily 0 zplmr7t % Pazo Roman
+ \loadmathfamily 1 zplmr7m % Pazo Math Italic
+ \loadmathfamily 2 zplmr7y % Pazo Standard symbols
+ \loadmathfamily 3 zplmr7v % Pazo extra symbols
+ \loadmathfamily 4 txsya % TX symbols from AMSTeX
+ \loadmathfamily 5 txsyb % TX symbols from AMSTeX
+ \loadmathfamily 6 txsyc % symbols from TX fonts
+ \loadmathfamily 7 txexa % TX new extra symbols
+ \loadmathfamily 8 txmia % fraktur, upright greek
+ \loadmathfamily 9 rsfs10 % script
+ \loadmathfamily 10 phvb8z % sans serif bold
+ \loadmathfamily 11 phvbo8z % sans serif bold slanted (for vectors)
+ \loadmathfamily 12 fplmbb % Pazo black board
+ \setmathdimens
+}
+\def\boldmath{%
+ \loadmathfamily 0 zplmb7t % Pazo Roman
+ \loadmathfamily 1 zplmb7m % Pazo Math Italic
+ \loadmathfamily 2 zplmb7y % Pazo Standard symbols
+ \loadmathfamily 3 zplmr7v % Pazo extra symbols (bold isn't available)
+ \loadmathfamily 4 txbsya % TX symbols from AMSTeX
+ \loadmathfamily 5 txbsyb % TX symbols from AMSTeX
+ \loadmathfamily 6 txbsyc % symbols from TX fonts
+ \loadmathfamily 7 txbexa % TX new extra symbols
+ \loadmathfamily 8 txbmia % fraktur, upright greek
+ \loadmathfamily 9 rsfs10 % \bf script is unavailable
+ \loadmathfamily 10 phvb8z % sans serif bold
+ \loadmathfamily 11 phvbo8z % sans serif bold slanted (for vectors)
+ \loadmathfamily 12 fplmbb % Pazo black board
+ \setmathdimens
+}
+\count18=12
+
+\let\normalPZmath=\normalmath \let\boldPZmath=\boldmath
+
+\def\bi{\tenbi \fam\bifam} % in csplain is done \def\bi{\tenbi} only
+\def\bbchar{\fam12 } % double stroked letters
+\def\frak{\fam8 } % fraktur
+\def\script{\fam9 } % more extensive script than \cal
+\chardef\bffam 10 % sans serif bold
+\chardef\bifam 11 % sans serif bold slanted
+\chardef\rmfam 12 % for \rm (can differ from CM Roman)
+\chardef\itfam 13 % normal italic
+\let\slfam=\itfam \let\ttfam=\rmfam % for raw similarity with plainTeX
+
+\def\corrmsizes{\ptmunit=1\ptunit\relax
+ \ifnum\tmp=10 \ptmunit=.83\ptmunit \fi % wee need to correct
+ \ifnum\tmp=11 \ptmunit=.83\ptmunit \fi} % the sizes o phvb(o)8t
+
+% macros:
+
+\ifx\rfontskipat\undefined \input csfontsm \fi
+
+\def\loadmathfamily #1 #2 {\chardef\tmp#1\corrmsizes
+ \let\dgsize=\sizemtext \font\mF=\whichtfm{#2} at\dgsize \textfont#1=\mF
+ \let\dgsize=\sizemscript \font\mF=\whichtfm{#2} at\dgsize \scriptfont#1=\mF
+ \let\dgsize=\sizemsscript \font\mF=\whichtfm{#2} at\dgsize \scriptscriptfont#1=\mF
+ \let\dgsize=\undefined
+}
+\def\setmathfamily #1 #2{\let\mF=#2\chardef\tmp#1\corrmsizes
+ \let\dgsize=\sizemtext \letfont#2=#2 at\dgsize \textfont#1=#2%
+ \let\dgsize=\sizemscript \letfont#2=#2 at\dgsize \scriptfont#1=#2%
+ \let\dgsize=\sizemsscript \letfont#2=#2 at\dgsize \scriptscriptfont#1=#2%
+ \let\dgsize=\undefined \let#2=\mF
+}
+%\def\itvariables{\def\rm{\fam\rmfam \tenrm}%
+% \mathcodechanges C:0-9\mathcodechanges D:A-Z\mathcodechanges D:a-z}
+\def\mitvariables{\def\rm{\fam0\tenrm}%
+ \mathcodechanges 0:0-9\mathcodechanges 1:A-Z\mathcodechanges 1:a-z}
+
+\def\mathcodechanges#1:#2-#3{\edef\tmp{\count0=\the\count0 \count1=\the\count1 }%
+ \count0=`#2 \count1=\count0 \advance\count1 by"7#100
+ \loop \mathcode\count0=\count1
+ \ifnum\count0<`#3 \advance\count0 by1 \advance\count1 by1 \repeat
+ \tmp\relax
+}
+\ifx\whichtfm\undefined \def\whichtfm#1{#1}\fi
+
+\def\setmathdimens{% PlainTeX sets these dimens for 10pt size only:
+ \delimitershortfall=0.5\fontdimen6\textfont3
+ \nulldelimiterspace=0.12\fontdimen6\textfont3
+ \scriptspace=0.05\fontdimen6\textfont3
+ \skewchar\textfont1=127 \skewchar\scriptfont1=127
+ \skewchar\scriptscriptfont1=127
+ \skewchar\textfont2=48 \skewchar\scriptfont2=48
+ \skewchar\scriptscriptfont2=48
+ \fontdimen8\scriptfont3 = \fontdimen8\textfont3
+ \fontdimen8\scriptscriptfont3 = \fontdimen8\textfont3
+}
+\def\setmathsizes[#1/#2/#3]{%
+ \def\sizemtext{#1\ptmunit}\def\sizemscript{#2\ptmunit}%
+ \def\sizemsscript{#3\ptmunit}%
+}
+\ifx\ptuint\undefined \def\ptunit{pt}\fi
+\ifx\ptmunit\undefined \csname newdimen\endcsname\ptmunit\fi \ptmunit=1\ptunit
+\ifx\sizemtext\undefined \setmathsizes[10/7/5]\fi
+
+\ifx\tenbi\undefined \font\tenbi=ptmbi8z \relax \fi
+\ifx\normalmathloading\relax\else \normalmath \fi % load families, normal shape
+\mitvariables
+
+%% \mathchardef declarations
+
+\def\amsafam{4} \def\amsbfam{5} \def\txsycfam{6}
+\def\txexafam{7} \def\txmiafam{8}
+
+%% AMSA
+
+\mathchardef \boxdot "2\amsafam 00
+\mathchardef \boxplus "2\amsafam 01
+\mathchardef \boxtimes "2\amsafam 02
+\mathchardef \square "0\amsafam 03
+\mathchardef \blacksquare "0\amsafam 04
+\mathchardef \centerdot "2\amsafam 05
+\mathchardef \lozenge "0\amsafam 06
+\mathchardef \blacklozenge "0\amsafam 07
+\mathchardef \circlearrowright "3\amsafam 08
+\mathchardef \circlearrowleft "3\amsafam 09
+\mathchardef \rightleftharpoons "3\amsafam 0A
+\mathchardef \leftrightharpoons "3\amsafam 0B
+\mathchardef \boxminus "2\amsafam 0C
+\mathchardef \Vdash "3\amsafam 0D
+\mathchardef \Vvdash "3\amsafam 0E
+\mathchardef \vDash "3\amsafam 0F
+\mathchardef \twoheadrightarrow "3\amsafam 10
+\mathchardef \twoheadleftarrow "3\amsafam 11
+\mathchardef \leftleftarrows "3\amsafam 12
+\mathchardef \rightrightarrows "3\amsafam 13
+\mathchardef \upuparrows "3\amsafam 14
+\mathchardef \downdownarrows "3\amsafam 15
+\mathchardef \upharpoonright "3\amsafam 16
+\mathchardef \downharpoonright "3\amsafam 17
+\mathchardef \upharpoonleft "3\amsafam 18
+\mathchardef \downharpoonleft "3\amsafam 19
+\mathchardef \rightarrowtail "3\amsafam 1A
+\mathchardef \leftarrowtail "3\amsafam 1B
+\mathchardef \leftrightarrows "3\amsafam 1C
+\mathchardef \rightleftarrows "3\amsafam 1D
+\mathchardef \Lsh "3\amsafam 1E
+\mathchardef \Rsh "3\amsafam 1F
+\mathchardef \rightsquigarrow "3\amsafam 20
+\mathchardef \leftrightsquigarrow "3\amsafam 21
+\mathchardef \looparrowleft "3\amsafam 22
+\mathchardef \looparrowright "3\amsafam 23
+\mathchardef \circeq "3\amsafam 24
+\mathchardef \succsim "3\amsafam 25
+\mathchardef \gtrsim "3\amsafam 26
+\mathchardef \gtrapprox "3\amsafam 27
+\mathchardef \multimap "3\amsafam 28
+\mathchardef \therefore "3\amsafam 29
+\mathchardef \because "3\amsafam 2A
+\mathchardef \doteqdot "3\amsafam 2B
+\mathchardef \triangleq "3\amsafam 2C
+\mathchardef \precsim "3\amsafam 2D
+\mathchardef \lesssim "3\amsafam 2E
+\mathchardef \lessapprox "3\amsafam 2F
+\mathchardef \eqslantless "3\amsafam 30
+\mathchardef \eqslantgtr "3\amsafam 31
+\mathchardef \curlyeqprec "3\amsafam 32
+\mathchardef \curlyeqsucc "3\amsafam 33
+\mathchardef \preccurlyeq "3\amsafam 34
+\mathchardef \leqq "3\amsafam 35
+\mathchardef \leqslant "3\amsafam 36
+\mathchardef \lessgtr "3\amsafam 37
+\mathchardef \backprime "0\amsafam 38
+\mathchardef \risingdotseq "3\amsafam 3A
+\mathchardef \fallingdotseq "3\amsafam 3B
+\mathchardef \succcurlyeq "3\amsafam 3C
+\mathchardef \geqq "3\amsafam 3D
+\mathchardef \geqslant "3\amsafam 3E
+\mathchardef \gtrless "3\amsafam 3F
+\mathchardef \sqsubset "3\amsafam 40
+\mathchardef \sqsupset "3\amsafam 41
+\mathchardef \vartriangleright "3\amsafam 42
+\mathchardef \vartriangleleft "3\amsafam 43
+\mathchardef \trianglerighteq "3\amsafam 44
+\mathchardef \trianglelefteq "3\amsafam 45
+\mathchardef \bigstar "0\amsafam 46
+\mathchardef \between "3\amsafam 47
+\mathchardef \blacktriangledown "0\amsafam 48
+\mathchardef \blacktriangleright "3\amsafam 49
+\mathchardef \blacktriangleleft "3\amsafam 4A
+\mathchardef \vartriangle "3\amsafam 4D
+\mathchardef \blacktriangle "0\amsafam 4E
+\mathchardef \triangledown "0\amsafam 4F
+\mathchardef \eqcirc "3\amsafam 50
+\mathchardef \lesseqgtr "3\amsafam 51
+\mathchardef \gtreqless "3\amsafam 52
+\mathchardef \lesseqqgtr "3\amsafam 53
+\mathchardef \gtreqqless "3\amsafam 54
+\mathchardef \Rrightarrow "3\amsafam 56
+\mathchardef \Lleftarrow "3\amsafam 57
+\mathchardef \veebar "2\amsafam 59
+\mathchardef \barwedge "2\amsafam 5A
+\mathchardef \doublebarwedge "2\amsafam 5B
+\mathchardef \angle "0\amsafam 5C
+\mathchardef \measuredangle "0\amsafam 5D
+\mathchardef \sphericalangle "0\amsafam 5E
+\mathchardef \varpropto "3\amsafam 5F
+\mathchardef \smallsmile "3\amsafam 60
+\mathchardef \smallfrown "3\amsafam 61
+\mathchardef \Subset "3\amsafam 62
+\mathchardef \Supset "3\amsafam 63
+\mathchardef \Cup "2\amsafam 64
+\mathchardef \Cap "2\amsafam 65
+\mathchardef \curlywedge "2\amsafam 66
+\mathchardef \curlyvee "2\amsafam 67
+\mathchardef \leftthreetimes "2\amsafam 68
+\mathchardef \rightthreetimes "2\amsafam 69
+\mathchardef \subseteqq "3\amsafam 6A
+\mathchardef \supseteqq "3\amsafam 6B
+\mathchardef \bumpeq "3\amsafam 6C
+\mathchardef \Bumpeq "3\amsafam 6D
+\mathchardef \lll "3\amsafam 6E
+\mathchardef \ggg "3\amsafam 6F
+\def \ulcorner {\delimiter"4\amsafam 70\amsafam 70 }
+\def \urcorner {\delimiter"5\amsafam 71\amsafam 71 }
+\mathchardef \circledS "0\amsafam 73
+\mathchardef \pitchfork "3\amsafam 74
+\mathchardef \dotplus "2\amsafam 75
+\mathchardef \backsim "3\amsafam 76
+\mathchardef \backsimeq "3\amsafam 77
+\def \llcorner {\delimiter"4\amsafam 78\amsafam 78 }
+\def \lrcorner {\delimiter"5\amsafam 79\amsafam 79 }
+\mathchardef \complement "0\amsafam 7B
+\mathchardef \intercal "2\amsafam 7C
+\mathchardef \circledcirc "2\amsafam 7D
+\mathchardef \circledast "2\amsafam 7E
+\mathchardef \circleddash "2\amsafam 7F
+\mathchardef \rhd "2\amsafam 42
+\mathchardef \lhd "2\amsafam 43
+\mathchardef \unrhd "2\amsafam 44
+\mathchardef \unlhd "2\amsafam 45
+
+ \let\restriction\upharpoonright
+ \let\Doteq\doteqdot
+ \let\doublecup\Cup
+ \let\doublecap\Cap
+ \let\llless\lll
+ \let\gggtr\ggg
+ \let\Box=\square % LaTeX symbol
+ \let\Box=\square % LaTeX symbol
+
+%% AMSB
+
+\mathchardef \lvertneqq "3\amsbfam 00
+\mathchardef \gvertneqq "3\amsbfam 01
+\mathchardef \nleq "3\amsbfam 02
+\mathchardef \ngeq "3\amsbfam 03
+\mathchardef \nless "3\amsbfam 04
+\mathchardef \ngtr "3\amsbfam 05
+\mathchardef \nprec "3\amsbfam 06
+\mathchardef \nsucc "3\amsbfam 07
+\mathchardef \lneqq "3\amsbfam 08
+\mathchardef \gneqq "3\amsbfam 09
+\mathchardef \nleqslant "3\amsbfam 0A
+\mathchardef \ngeqslant "3\amsbfam 0B
+\mathchardef \lneq "3\amsbfam 0C
+\mathchardef \gneq "3\amsbfam 0D
+\mathchardef \npreceq "3\amsbfam 0E
+\mathchardef \nsucceq "3\amsbfam 0F
+\mathchardef \precnsim "3\amsbfam 10
+\mathchardef \succnsim "3\amsbfam 11
+\mathchardef \lnsim "3\amsbfam 12
+\mathchardef \gnsim "3\amsbfam 13
+\mathchardef \nleqq "3\amsbfam 14
+\mathchardef \ngeqq "3\amsbfam 15
+\mathchardef \precneqq "3\amsbfam 16
+\mathchardef \succneqq "3\amsbfam 17
+\mathchardef \precnapprox "3\amsbfam 18
+\mathchardef \succnapprox "3\amsbfam 19
+\mathchardef \lnapprox "3\amsbfam 1A
+\mathchardef \gnapprox "3\amsbfam 1B
+\mathchardef \nsim "3\amsbfam 1C
+\mathchardef \ncong "3\amsbfam 1D
+\mathchardef \diagup "0\amsbfam 1E
+\mathchardef \diagdown "0\amsbfam 1F
+\mathchardef \varsubsetneq "3\amsbfam 20
+\mathchardef \varsupsetneq "3\amsbfam 21
+\mathchardef \nsubseteqq "3\amsbfam 22
+\mathchardef \nsupseteqq "3\amsbfam 23
+\mathchardef \subsetneqq "3\amsbfam 24
+\mathchardef \supsetneqq "3\amsbfam 25
+\mathchardef \varsubsetneqq "3\amsbfam 26
+\mathchardef \varsupsetneqq "3\amsbfam 27
+\mathchardef \subsetneq "3\amsbfam 28
+\mathchardef \supsetneq "3\amsbfam 29
+\mathchardef \nsubseteq "3\amsbfam 2A
+\mathchardef \nsupseteq "3\amsbfam 2B
+\mathchardef \nparallel "3\amsbfam 2C
+\mathchardef \nmid "3\amsbfam 2D
+\mathchardef \nshortmid "3\amsbfam 2E
+\mathchardef \nshortparallel "3\amsbfam 2F
+\mathchardef \nvdash "3\amsbfam 30
+\mathchardef \nVdash "3\amsbfam 31
+\mathchardef \nvDash "3\amsbfam 32
+\mathchardef \nVDash "3\amsbfam 33
+\mathchardef \ntrianglerighteq "3\amsbfam 34
+\mathchardef \ntrianglelefteq "3\amsbfam 35
+\mathchardef \ntriangleleft "3\amsbfam 36
+\mathchardef \ntriangleright "3\amsbfam 37
+\mathchardef \nleftarrow "3\amsbfam 38
+\mathchardef \nrightarrow "3\amsbfam 39
+\mathchardef \nLeftarrow "3\amsbfam 3A
+\mathchardef \nRightarrow "3\amsbfam 3B
+\mathchardef \nLeftrightarrow "3\amsbfam 3C
+\mathchardef \nleftrightarrow "3\amsbfam 3D
+\mathchardef \divideontimes "2\amsbfam 3E
+\mathchardef \varnothing "0\amsbfam 3F
+\mathchardef \nexists "0\amsbfam 40
+\mathchardef \Finv "0\amsbfam 60
+\mathchardef \Game "0\amsbfam 61
+\mathchardef \mho "0\amsbfam 66
+\mathchardef \eth "0\amsbfam 67
+\mathchardef \eqsim "3\amsbfam 68
+\mathchardef \beth "0\amsbfam 69
+\mathchardef \gimel "0\amsbfam 6A
+\mathchardef \daleth "0\amsbfam 6B
+\mathchardef \lessdot "2\amsbfam 6C
+\mathchardef \gtrdot "2\amsbfam 6D
+\mathchardef \ltimes "2\amsbfam 6E
+\mathchardef \rtimes "2\amsbfam 6F
+\mathchardef \shortmid "3\amsbfam 70
+\mathchardef \shortparallel "3\amsbfam 71
+\mathchardef \smallsetminus "2\amsbfam 72
+\mathchardef \thicksim "3\amsbfam 73
+\mathchardef \thickapprox "3\amsbfam 74
+\mathchardef \approxeq "3\amsbfam 75
+\mathchardef \precapprox "3\amsbfam 76
+\mathchardef \succapprox "3\amsbfam 77
+\mathchardef \curvearrowleft "3\amsbfam 78
+\mathchardef \curvearrowright "3\amsbfam 79
+\mathchardef \digamma "0\amsbfam 7A
+\mathchardef \varkappa "0\amsbfam 7B
+\mathchardef \Bbbk "0\amsbfam 7C
+\mathchardef \hslash "0\amsbfam 7D
+\mathchardef \hbar "0\amsbfam 7E
+\mathchardef \backepsilon "3\amsbfam 7F
+
+%% TXC
+
+\mathchardef \mappedfromchar "3\txsycfam 00
+\mathchardef \Mapstochar "3\txsycfam 01
+\mathchardef \Mappedfromchar "3\txsycfam 02
+\mathchardef \mmapstochar "3\txsycfam 03
+\mathchardef \mmappedfromchar "3\txsycfam 04
+\mathchardef \Mmapstochar "3\txsycfam 05
+\mathchardef \Mmappedfromchar "3\txsycfam 06
+\mathchardef \medcirc "2\txsycfam 07
+\mathchardef \medbullet "2\txsycfam 08
+\mathchardef \varparallel "3\txsycfam 09
+\mathchardef \varparallelinv "3\txsycfam 0A
+\mathchardef \nvarparallel "3\txsycfam 0B
+\mathchardef \nvarparallelinv "3\txsycfam 0C
+\mathchardef \colonapprox "3\txsycfam 0D
+\mathchardef \colonsim "3\txsycfam 0E
+\mathchardef \Colonapprox "3\txsycfam 0F
+\mathchardef \Colonsim "3\txsycfam 10
+\mathchardef \doteq "3\txsycfam 11
+\mathchardef \multimapinv "3\txsycfam 12
+\mathchardef \multimapboth "3\txsycfam 13
+\mathchardef \multimapdot "3\txsycfam 14
+\mathchardef \multimapdotinv "3\txsycfam 15
+\mathchardef \multimapdotboth "3\txsycfam 16
+\mathchardef \multimapdotbothA "3\txsycfam 17
+\mathchardef \multimapdotbothB "3\txsycfam 18
+\mathchardef \VDash "3\txsycfam 19
+\mathchardef \VvDash "3\txsycfam 1A
+\mathchardef \cong "3\txsycfam 1B
+\mathchardef \preceqq "3\txsycfam 1C
+\mathchardef \succeqq "3\txsycfam 1D
+\mathchardef \nprecsim "3\txsycfam 1E
+\mathchardef \nsuccsim "3\txsycfam 1F
+\mathchardef \nlesssim "3\txsycfam 20
+\mathchardef \ngtrsim "3\txsycfam 21
+\mathchardef \nlessapprox "3\txsycfam 22
+\mathchardef \ngtrapprox "3\txsycfam 23
+\mathchardef \npreccurlyeq "3\txsycfam 24
+\mathchardef \nsucccurlyeq "3\txsycfam 25
+\mathchardef \ngtrless "3\txsycfam 26
+\mathchardef \nlessgtr "3\txsycfam 27
+\mathchardef \nbumpeq "3\txsycfam 28
+\mathchardef \nBumpeq "3\txsycfam 29
+\mathchardef \nbacksim "3\txsycfam 2A
+\mathchardef \nbacksimeq "3\txsycfam 2B
+\mathchardef \neq "3\txsycfam 2C
+\mathchardef \nasymp "3\txsycfam 2D
+\mathchardef \nequiv "3\txsycfam 2E
+\mathchardef \nsim "3\txsycfam 2F
+\mathchardef \napprox "3\txsycfam 30
+\mathchardef \nsubset "3\txsycfam 31
+\mathchardef \nsupset "3\txsycfam 32
+\mathchardef \nll "3\txsycfam 33
+\mathchardef \ngg "3\txsycfam 34
+\mathchardef \nthickapprox "3\txsycfam 35
+\mathchardef \napproxeq "3\txsycfam 36
+\mathchardef \nprecapprox "3\txsycfam 37
+\mathchardef \nsuccapprox "3\txsycfam 38
+\mathchardef \npreceqq "3\txsycfam 39
+\mathchardef \nsucceqq "3\txsycfam 3A
+\mathchardef \nsimeq "3\txsycfam 3B
+\mathchardef \notin "3\txsycfam 3C
+\mathchardef \notni "3\txsycfam 3D
+\mathchardef \nSubset "3\txsycfam 3E
+\mathchardef \nSupset "3\txsycfam 3F
+\mathchardef \nsqsubseteq "3\txsycfam 40
+\mathchardef \nsqsupseteq "3\txsycfam 41
+\mathchardef \coloneqq "3\txsycfam 42
+\mathchardef \eqqcolon "3\txsycfam 43
+\mathchardef \coloneq "3\txsycfam 44
+\mathchardef \eqcolon "3\txsycfam 45
+\mathchardef \Coloneqq "3\txsycfam 46
+\mathchardef \Eqqcolon "3\txsycfam 47
+\mathchardef \Coloneq "3\txsycfam 48
+\mathchardef \Eqcolon "3\txsycfam 49
+\mathchardef \strictif "3\txsycfam 4A
+\mathchardef \strictfi "3\txsycfam 4B
+\mathchardef \strictiff "3\txsycfam 4C
+\mathchardef \invamp "2\txsycfam 4D
+\def \lbag {\delimiter"4\txsycfam 4E\txexafam 30 }
+\def \rbag {\delimiter"5\txsycfam 4F\txexafam 31 }
+\mathchardef \Lbag "4\txsycfam 50
+\mathchardef \Rbag "5\txsycfam 51
+\mathchardef \circledless "3\txsycfam 52
+\mathchardef \circledgtr "3\txsycfam 53
+\mathchardef \circledwedge "2\txsycfam 54
+\mathchardef \circledvee "2\txsycfam 55
+\mathchardef \circledbar "2\txsycfam 56
+\mathchardef \circledbslash "2\txsycfam 57
+\mathchardef \lJoin "3\txsycfam 58
+\mathchardef \rJoin "3\txsycfam 59
+\mathchardef \Join "3\txsycfam 5A
+\mathchardef \openJoin "3\txsycfam 5B
+\mathchardef \lrtimes "3\txsycfam 5C
+\mathchardef \opentimes "3\txsycfam 5D
+\mathchardef \Diamond "0\txsycfam 5E
+\mathchardef \Diamondblack "0\txsycfam 5F
+\mathchardef \nplus "2\txsycfam 60
+\mathchardef \nsqsubset "3\txsycfam 61
+\mathchardef \nsqsupset "3\txsycfam 62
+\mathchardef \dashleftarrow "3\txsycfam 63
+\mathchardef \dashrightarrow "3\txsycfam 64
+\mathchardef \dashleftrightarrow "3\txsycfam 65
+\mathchardef \leftsquigarrow "3\txsycfam 66
+\mathchardef \ntwoheadrightarrow "3\txsycfam 67
+\mathchardef \ntwoheadleftarrow "3\txsycfam 68
+\mathchardef \boxast "2\txsycfam 69
+\mathchardef \boxbslash "2\txsycfam 6A
+\mathchardef \boxbar "2\txsycfam 6B
+\mathchardef \boxslash "2\txsycfam 6C
+\mathchardef \Wr "2\txsycfam 6D
+\mathchardef \lambdaslash "0\txsycfam 6E
+\mathchardef \lambdabar "0\txsycfam 6F
+\mathchardef \varclubsuit "0\txsycfam 70
+\mathchardef \vardiamondsuit "0\txsycfam 71
+\mathchardef \varheartsuit "0\txsycfam 72
+\mathchardef \varspadesuit "0\txsycfam 73
+\mathchardef \Nearrow "3\txsycfam 74
+\mathchardef \Searrow "3\txsycfam 75
+\mathchardef \Nwarrow "3\txsycfam 76
+\mathchardef \Swarrow "3\txsycfam 77
+\mathchardef \Top "0\txsycfam 78
+\mathchardef \Bot "0\txsycfam 79
+\mathchardef \Perp "3\txsycfam 79
+\mathchardef \leadstoext "3\txsycfam 7A
+\mathchardef \leadsto "3\txsycfam 7B
+\mathchardef \sqcupplus "2\txsycfam 7C
+\mathchardef \sqcapplus "2\txsycfam 7D
+\def \llbracket {\delimiter"4\txsycfam 7E\txexafam 12 }
+\def \rrbracket {\delimiter"5\txsycfam 7F\txexafam 13 }
+\mathchardef \boxright "3\txsycfam 80
+\mathchardef \boxleft "3\txsycfam 81
+\mathchardef \boxdotright "3\txsycfam 82
+\mathchardef \boxdotleft "3\txsycfam 83
+\mathchardef \Diamondright "3\txsycfam 84
+\mathchardef \Diamondleft "3\txsycfam 85
+\mathchardef \Diamonddotright "3\txsycfam 86
+\mathchardef \Diamonddotleft "3\txsycfam 87
+\mathchardef \boxRight "3\txsycfam 88
+\mathchardef \boxLeft "3\txsycfam 89
+\mathchardef \boxdotRight "3\txsycfam 8A
+\mathchardef \boxdotLeft "3\txsycfam 8B
+\mathchardef \DiamondRight "3\txsycfam 8C
+\mathchardef \DiamondLeft "3\txsycfam 8D
+\mathchardef \DiamonddotRight "3\txsycfam 8E
+\mathchardef \DiamonddotLeft "3\txsycfam 8F
+\mathchardef \Diamonddot "0\txsycfam 90
+\mathchardef \circleright "3\txsycfam 91
+\mathchardef \circleleft "3\txsycfam 92
+\mathchardef \circleddotright "3\txsycfam 93
+\mathchardef \circleddotleft "3\txsycfam 94
+\mathchardef \multimapbothvert "3\txsycfam 95
+\mathchardef \multimapdotbothvert "3\txsycfam 96
+\mathchardef \multimapdotbothBvert "3\txsycfam 97
+\mathchardef \multimapdotbothAvert "3\txsycfam 98
+
+ \def\mappedfrom{\leftarrow\mappedfromchar}
+ \def\longmappedfrom{\longleftarrow\mappedfromchar}
+ \def\Mapsto{\Mapstochar\Rightarrow}
+ \def\Longmapsto{\Mapstochar\Longrightarrow}
+ \def\Mappedfrom{\Leftarrow\Mappedfromchar}
+ \def\Longmappedfrom{\Longleftarrow\Mappedfromchar}
+ \def\mmapsto{\mmapstochar\rightarrow}
+ \def\longmmapsto{\mmapstochar\longrightarrow}
+ \def\mmappedfrom{\leftarrow\mmappedfromchar}
+ \def\longmmappedfrom{\longleftarrow\mmappedfromchar}
+ \def\Mmapsto{\Mmapstochar\Rightarrow}
+ \def\Longmmapsto{\Mmapstochar\Longrightarrow}
+ \def\Mmappedfrom{\Leftarrow\Mmappedfromchar}
+ \def\Longmmappedfrom{\Longleftarrow\Mmappedfromchar}
+ \let\ne=\neq
+ \let\notowns=\notni
+ \let\lrJoin=\Join
+ % \let\bowtie\lrtimes
+ \let\dasharrow\dashrightarrow
+ \let\circledotright\circleddotright
+ \let\circledotleft\circleddotleft
+
+
+%% TXexa large symbols
+
+\mathchardef \bignplus "1\txexafam 00
+\mathchardef \bigsqcupplus "1\txexafam 02
+\mathchardef \bigsqcapplus "1\txexafam 04
+\mathchardef \bigsqcap "1\txexafam 06
+\mathchardef \oiintop "1\txexafam 08
+\mathchardef \ointctrclockwiseop "1\txexafam 0A
+\mathchardef \ointclockwiseop "1\txexafam 0C
+\mathchardef \sqintop "1\txexafam 0E
+\mathchardef \varprod "1\txexafam 10
+\mathchardef \braacext "0\txexafam 20
+\mathchardef \iintop "1\txexafam 21
+\mathchardef \iiintop "1\txexafam 23
+\mathchardef \iiiintop "1\txexafam 25
+\mathchardef \idotsintop "1\txexafam 27
+\mathchardef \oiiintop "1\txexafam 29
+\mathchardef \varointctrclockwiseop "1\txexafam 2B
+\mathchardef \varointclockwiseop "1\txexafam 2D
+\mathchardef \fintop "1\txexafam 3E
+\mathchardef \oiintctrclockwiseop "1\txexafam 40
+\mathchardef \varoiintclockwiseop "1\txexafam 42
+\mathchardef \oiintclockwiseop "1\txexafam 48
+\mathchardef \varoiintctrclockwiseop "1\txexafam 4A
+\mathchardef \oiiintctrclockwiseop "1\txexafam 44
+\mathchardef \varoiiintclockwiseop "1\txexafam 46
+\mathchardef \oiiintclockwiseop "1\txexafam 4C
+\mathchardef \varoiiintctrclockwiseop "1\txexafam 4E
+\mathchardef \sqiintop "1\txexafam 50
+\mathchardef \sqiiintop "1\txexafam 52
+
+ \def\oiint{\oiintop\nolimits}
+ \def\ointctrclockwise{\ointctrclockwiseop\nolimits}
+ \def\ointclockwise{\ointclockwiseop\nolimits}
+ \def\iint{\iintop\nolimits}
+ \def\iiint{\iiintop\nolimits}
+ \def\sqint{\sqintop\nolimits}
+ \def\iiiint{\iiiintop\nolimits}
+ \def\oiiint{\oiiintop\nolimits}
+ \def\idotsint{\idotsintop\nolimits}
+ \def\varointctrclockwise{\varointctrclockwiseop\nolimits}
+ \def\varointclockwise{\varointclockwiseop\nolimits}
+ \def\fint{\fintop\nolimits}
+ \def\oiintctrclockwise{\oiintctrclockwiseop\nolimits}
+ \def\varoiintclockwise{\varoiintclockwiseop\nolimits}
+ \def\oiintclockwise{\oiintclockwiseop\nolimits}
+ \def\varoiintctrclockwise{\varoiintctrclockwiseop\nolimits}
+ \def\oiiintctrclockwise{\oiiintctrclockwiseop\nolimits}
+ \def\varoiiintclockwise{\varoiiintclockwiseop\nolimits}
+ \def\oiiintclockwise{\oiiintclockwiseop\nolimits}
+ \def\varoiiintctrclockwise{\varoiiintctrclockwiseop\nolimits}
+ \def\sqiint{\sqiintop\nolimits}
+ \def\sqiiint{\sqiiintop\nolimits}
+
+%% TXMIA
+
+\mathchardef \upalpha "0\txmiafam 0B
+\mathchardef \upbeta "0\txmiafam 0C
+\mathchardef \upgamma "0\txmiafam 0D
+\mathchardef \updelta "0\txmiafam 0E
+\mathchardef \upepsilon "0\txmiafam 0F
+\mathchardef \upzeta "0\txmiafam 10
+\mathchardef \upeta "0\txmiafam 11
+\mathchardef \uptheta "0\txmiafam 12
+\mathchardef \upiota "0\txmiafam 13
+\mathchardef \upkappa "0\txmiafam 14
+\mathchardef \uplambda "0\txmiafam 15
+\mathchardef \upmu "0\txmiafam 16
+\mathchardef \upnu "0\txmiafam 17
+\mathchardef \upxi "0\txmiafam 18
+\mathchardef \uppi "0\txmiafam 19
+\mathchardef \uprho "0\txmiafam 1A
+\mathchardef \upsigma "0\txmiafam 1B
+\mathchardef \uptau "0\txmiafam 1C
+\mathchardef \upupsilon "0\txmiafam 1D
+\mathchardef \upphi "0\txmiafam 1E
+\mathchardef \upchi "0\txmiafam 1F
+\mathchardef \uppsi "0\txmiafam 20
+\mathchardef \upomega "0\txmiafam 21
+\mathchardef \upvarepsilon "0\txmiafam 22
+\mathchardef \upvartheta "0\txmiafam 23
+\mathchardef \upvarpi "0\txmiafam 24
+\mathchardef \upvarrho "0\txmiafam 25
+\mathchardef \upvarsigma "0\txmiafam 26
+\mathchardef \upvarphi "0\txmiafam 27
+
+%%% macros
+
+\def\joinrel{\mathrel{\mkern-2.5mu}} %-3mu in plain TeX
+
+\let\circledplus\oplus
+\let\circledminus\ominus
+\let\circledtimes\otimes
+\let\circledslash\oslash
+\let\circleddot\odot
+
+%%% For \underbrace and \overbrace:
+%%% use brace extenstion bar (in "20 of txexa) instead of vrule
+
+\def\downbracefill{$\mathsurround0pt
+ \braceld\mkern-1mu
+ \cleaders\hbox{$\mkern-.5mu\braacext\mkern-.5mu$}\hfill
+ \mkern-1mu\braceru\bracelu\mkern-1mu
+ \cleaders\hbox{$\mkern-.5mu\braacext\mkern-.5mu$}\hfill
+ \mkern-1mu\bracerd$}
+
+\def\upbracefill{$\mathsurround0pt
+ \bracelu\mkern-1mu
+ \cleaders\hbox{$\mkern-.5mu\braacext\mkern-.5mu$}\hfill
+ \mkern-1mu\bracerd\braceld\mkern-1mu
+ \cleaders\hbox{$\mkern-.5mu\braacext\mkern-.5mu$}\hfill
+ \mkern-1mu\braceru$}
+
+%%% \big, \bigg, etc.
+
+\def\scalebig#1#2{{\left#1\vbox to#2\fontdimen6\textfont3{}%
+ \kern-\nulldelimiterspace\right.}}
+\def\big#1{\scalebig{#1}{.85}}
+\def\Big#1{\scalebig{#1}{1.15}}
+\def\bigg#1{\scalebig{#1}{1.45}}
+\def\Bigg#1{\scalebig{#1}{1.75}}
+
+%%% \not redefined:
+%%% \not= becomes \ne
+%%% \not< becomes \nless
+%%% \not> becomes \ngtr
+%%% if \notXXX is defined, \not\XXX becomes \notXXX;
+%%% if \nXXX is defined, \not\XXX becomes \nXXX;
+%%% otherwise, \not\XXX is done in the usual way.
+
+\mathchardef \notchar "3236
+
+\def\not#1{%
+ \ifx\TeX\relax \noexpand\not \else % \let\TeX=\relax in \output routine
+ \ifx #1=\ne \else
+ \ifx #1<\nless \else
+ \ifx #1>\ngtr \else
+ \begingroup\escapechar=-1\xdef\tmpn{\string#1}\endgroup
+ \expandafter\ifx \csname not\tmpn\endcsname \relax
+ \expandafter\ifx \csname n\tmpn\endcsname \relax
+ \mathrel{\mathord{\notchar}\mathord{#1}}%
+ \else \csname n\tmpn\endcsname \fi
+ \else \csname not\tmpn\endcsname \fi
+ \fi\fi\fi\fi}
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/csplain/fonts/uni-math.tex b/Master/texmf-dist/tex/csplain/fonts/uni-math.tex
index 2895cad87df..0951e0b30d9 100644
--- a/Master/texmf-dist/tex/csplain/fonts/uni-math.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/uni-math.tex
@@ -48,8 +48,7 @@
Note brackets if direct file name is used. Don't use quotes "...".
}\newlinechar=`^^J \message{\the\toks0}\message{Macrofile ignored...}
\egroup
- \endinput\fi
-\fi
+ \endinput\fi \fi
\message{FONT: \unimathfont\space - Unicode Math (v. \unimathversion) prepared.}
\let\mathpreloaded=U
diff --git a/Master/texmf-dist/tex/csplain/opmac/fontfam-catalog.tex b/Master/texmf-dist/tex/csplain/opmac/fontfam-catalog.tex
index ac49cd7a224..b16facaa546 100644
--- a/Master/texmf-dist/tex/csplain/opmac/fontfam-catalog.tex
+++ b/Master/texmf-dist/tex/csplain/opmac/fontfam-catalog.tex
@@ -7,15 +7,15 @@
% See end of the file fontfam.tex for more details.
-\def\fontfamexecC#1#2#3#4#5#6#7{\ifx\relax#2\relax \else
+\def\fontfamexecC#1#2#3#4#5#6#7{\ifx\relax#3\relax \else
{\testfotenc{#6}\iftrue
\par
\noindent {\currtt [#1]\quad \char`\{+#5\char`\} \space(#6)\quad \def\tmp{#7} \detok\tmp}%
\par\nobreak
#7
\edef\basicfont{\fontname\the\font}%
- \def\variants{#2}
- \pcatA {}#3\relax
+ \def\variants{#3}
+ \pcatA {}#2\relax
\medskip
\else \par
\noindent {\currtt -- [#1] (#6) -- is unavailable in \fotenc\space encoding.}
@@ -35,15 +35,15 @@
\if!\ffvarV\relax \else
\indent
{\currtt \ifx\prefix\empty \else \expandafter\string\prefix\fi \string#1 }%
-% \edef\tmp{\ifx\prefix\empty\else\fontname\the\font\fi}%
-% \ifx\tmp\basicfont
-% \ifx#1\rm \fontfamsample \else {\currtt Not available}\fi
-% \else \fontfamsample \fi
\advance\hsize by2in
\fontfamsample\par
\fi}%
\expandafter\pcatB\fi
}
+\def\catalogfamsA#1,{\ifx,#1,\else
+ \expandafter\addto\expandafter\fontfamL\csname fs:#1\endcsname
+ \expandafter\catalogfamsA\fi
+}
\nonum\sec Font Catalogue
@@ -60,7 +60,8 @@ Encoding: \fotenc, \dimen0=\baselineskip
size: \expandafter\ignorept\the\fontdim /\expandafter\ignorept\the\dimen0.
See the article \url{http://petr.olsak.net/ftp/olsak/bulletin/kpfonts-plain.pdf}
-for information about usage of font modifiers.
+for information about usage of font modifiers. Note, that this Catalogue
+doesn't show all available and independent combinations of font modifiers.
\bigskip
\parindent=1em
@@ -78,6 +79,14 @@ for information about usage of font modifiers.
\char144\char154\char130{ }0123456789}
\fi\fi\fi
\def\detok#1{\expandafter\detokA\meaning#1}\def\detokA#1->{}
+
+\ifx\catalogfams\undefined \else
+ {Only \tt\char`\\catalogfams\char`\{\catalogfams\char`\}}
+ are printed.\medskip
+ \edef\catalogfams{\catalogfams\space{} }
+ \def\fsname{}\expandafter \setfsname \catalogfams
+ \def\fontfamL{}\expandafter \catalogfamsA \fsname,,\fi
+
\fontfamL
\endgroup
@@ -90,6 +99,7 @@ of fonts:
AMS ... AMS fonts math
TX .... TX fonts math
KP .... KP fonts math
+KI .... Kurier or Iwona math
\endtt
If {\tt TX} is used then variables (math italic) and roman text are borrowed
diff --git a/Master/texmf-dist/tex/csplain/opmac/fontfam-global.tex b/Master/texmf-dist/tex/csplain/opmac/fontfam-global.tex
index 55f800f9ab5..f8f21b33199 100644
--- a/Master/texmf-dist/tex/csplain/opmac/fontfam-global.tex
+++ b/Master/texmf-dist/tex/csplain/opmac/fontfam-global.tex
@@ -1,48 +1,55 @@
\fontfamnote {Fonts derived from Computer Modern}
-\setfontfam [LM fonts] {\rm \it \bf \bi}
- {\caps \sans \ttset \slant \nbold \ttprop \ttlight \ttcond \quotset \upital \dunhill}
+\setfontfam [LM fonts]
+ {\caps \sans \ttset \slant \nbold \ttprop \ttlight \ttcond \upital \quotset \dunhill}
+ {\rm \it \bf \bi}
{} {AMS} (8t 8z 8q 8y 8v U) {\input lmfonts}
\famalias{latinmodern}{lmfonts} \famalias{lmfont}{lmfonts}
\famalias{latinmodernfonts}{lmfonts} \famalias{latinmodern}{lmfonts}
\fontfamnote {Adobe 35 fonts}
-\setfontfam [Times] {\rm \it \bf \bi \tt} {\caps} {} {TX} (8t 8z) {\input ctimes}
+\setfontfam [Times] {\caps} {\rm \it \bf \bi \tt} {} {TX} (8t 8z) {\input ctimes}
\famalias{timesroman}{times}
-\setfontfam [Helvetica] {\rm \it \bf \bi \tt} {\cond \caps} {} {TX} (8t 8z) {\input chelvet}
-\setfontfam [Avantgarde] {\rm \it \bf \bi \tt} {\caps} {} {TX} (8t 8z) {\input cavantga}
-\setfontfam [Bookman] {\rm \it \bf \bi \tt} {\caps} {} {TX} (8t 8z) {\input cbookman}
-\setfontfam [Palatino] {\rm \it \bf \bi \tt} {\caps} {} {TX} (8t 8z) {\input cpalatin}
-\setfontfam [New Century] {\rm \it \bf \bi \tt} {\caps} {} {TX} (8t 8z) {\input cncent}
+\setfontfam [Helvetica] {\cond \caps} {\rm \it \bf \bi \tt} {} {TX} (8t 8z) {\input chelvet}
+\setfontfam [Avantgarde] {\caps} {\rm \it \bf \bi \tt} {} {TX} (8t 8z) {\input cavantga}
+\setfontfam [Bookman] {\caps} {\rm \it \bf \bi \tt} {} {TX} (8t 8z) {\input cbookman}
+\setfontfam [Palatino] {\caps} {\rm \it \bf \bi \tt} {} {TX} (8t 8z) {\input cpalatin}
+\setfontfam [New Century] {\caps} {\rm \it \bf \bi \tt} {} {TX} (8t 8z) {\input cncent}
\famalias{ncent}{newcentury}
\fontfamnote {TeXGyre project, fonts derived from Adobe 35}
-\setfontfam [TG Termes] {\rm \it \bf \bi} {\caps} {} {TX} (8t 8z U) {\input cs-termes}
+\setfontfam [TG Termes] {\caps} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-termes}
\famalias{termes}{tgtermes} \famalias{texgyretermes}{tgtermes}
-\setfontfam [TG Heros] {\rm \it \bf \bi} {\caps \cond} {} {TX} (8t 8z U) {\input cs-heros}
+\setfontfam [TG Heros] {\caps \cond} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-heros}
\famalias{heros}{tgheros} \famalias{texgyreheros}{tgheros}
-\setfontfam [TG Adventor] {\rm \it \bf \bi} {\caps} {} {TX} (8t 8z U) {\input cs-adventor}
+\setfontfam [TG Adventor] {\caps} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-adventor}
\famalias{adventor}{tgadventor} \famalias{texgyreadventor}{tgadventor}
-\setfontfam [TG Bonum] {\rm \it \bf \bi} {\caps} {} {TX} (8t 8z U) {\input cs-bonum}
+\setfontfam [TG Bonum] {\caps} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-bonum}
\famalias{bonum}{tgbonum} \famalias{texgyrebonum}{tgbonum}
-\setfontfam [TG Pagella] {\rm \it \bf \bi} {\caps} {} {TX} (8t 8z U) {\input cs-pagella}
+\setfontfam [TG Pagella] {\caps} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-pagella}
\famalias{pagella}{tgpagella} \famalias{texgyrepagella}{tgpagella}
-\setfontfam [TG Schola] {\rm \it \bf \bi} {\caps} {} {TX} (8t 8z U) {\input cs-schola}
+\setfontfam [TG Schola] {\caps} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-schola}
\famalias{schola}{tgschola} \famalias{texgyreschola}{tgschola}
-\setfontfam [TG Cursor] {\rm \it \bf \bi} {\caps} {} {TX} (8t 8z U) {\input cs-cursor}
+\setfontfam [TG Cursor] {\caps} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-cursor}
\famalias{cursor}{tgcursor} \famalias{texgyrecursor}{tgcursor}
\fontfamnote {Polish fonts}
-\setfontfam [Antykwa Torunska] {\rm \it \bf \bi} {\caps \cond \wlight} {} {TX} (8t 8z) {\input cs-antt}
-\setfontfam [Antykwa Poltawskiego] {\rm \it \bf \bi} {\caps \wlight} {} {TX} (8t 8z U) {\input cs-polta}
+\setfontfam [Antykwa Torunska] {\caps \cond \wlight} {\rm \it \bf \bi} {} {TX} (8t 8z) {\input cs-antt}
+\setfontfam [Antykwa Poltawskiego] {\caps \wlight} {\rm \it \bf \bi} {} {TX} (8t 8z U) {\input cs-polta}
+\setfontfam [Kurier] {\caps \cond \lightw \heavyw} {\rm \it \bf \bi} {} {KI} (8t 8z U) {\input cs-kurier}
+\setfontfam [Iwona] {\caps \cond \lightw \heavyw} {\rm \it \bf \bi} {} {KI} (8t 8z U) {\input cs-iwona}
\fontfamnote {Miscelaneous}
-\setfontfam [Charter] {\rm \it \bf \bi} {} {} {TX} (8t 8z) {\input cs-charter}
-\setfontfam [Arev Sans] {\rm \it \bf \bi} {} {} {TX} (8t) {\input cs-arev}
-\setfontfam [Bera] {\rm \it \bf \bi} {\sans} {} {TX} (8t) {\input cs-bera}
+\setfontfam [Charter] {} {\rm \it \bf \bi} {} {TX} (8t 8z) {\input cs-charter}
+\setfontfam [Arev Sans] {} {\rm \it \bf \bi} {} {TX} (8t) {\input cs-arev}
+\setfontfam [Bera] {\sans} {\rm \it \bf \bi} {} {TX} (8t) {\input cs-bera}
+\setfontfam [Heuristica] {\caps} {\rm \it \bf \bi \tt} {} {TX} (8t U) {\input cs-heuristica}
+\setfontfam [Baskervald X] {\caps} {\rm \it \bf \bi} {} {TX} (8t U) {\input cs-baskerx}
+\famalias{baskervald}{baskervaldx}
-\setfontfam [Linux Libertine] {\rm \it \bf \bi} {\mono \sans \caps} {} {TX} (U sU) {\input cs-libertine}
+\setfontfam [Linux Libertine] {\mono \sans \caps} {\rm \it \bf \bi} {} {TX} (U sU) {\input cs-libertine}
\famalias{libertine}{linuxlibertine} \famalias{linlibertine}{linuxlibertine}
-\setfontfam [KP fonts] {\rm \it \bf \bi}
+\setfontfam [KP fonts]
{\caps \bcaps \slant \sans \ttset \wlight \bext \noflig \oldn \olds \oldsv}
+ {\rm \it \bf \bi}
{... 22 modifiers in total} {KP} (8t 7t) {\input kp-fonts}
diff --git a/Master/texmf-dist/tex/csplain/opmac/fontfam.tex b/Master/texmf-dist/tex/csplain/opmac/fontfam.tex
index 5b532cd9e6b..cbb193baa10 100644
--- a/Master/texmf-dist/tex/csplain/opmac/fontfam.tex
+++ b/Master/texmf-dist/tex/csplain/opmac/fontfam.tex
@@ -45,11 +45,9 @@
\def\fontfamexecB#1#2#3#4#5#6#7{\testfotenc{#6}%
\iftrue
{\toks2={#2}\toks3={#3}\toks4={#4}%
- \immediate\write16{ [#1] \space
- {\the\toks2
- \ifx\relax#3\relax \else ; mod:\the\toks3 \fi
- \ifx\relax#4\relax \else ; \the\toks4 \fi
- \ifx\relax#5\relax \else ; +#5\fi} (#6)}}%
+ \immediate\write16{ [#1] \space {\the\toks2} {\the\toks3}%
+ \ifx\relax#4\relax \else \space\the\toks4 \fi
+ \ifx\relax#5\relax \else \space +#5\fi \space(#6)}}%
\else
\immediate\write16{ -- [#1] (#6) -- unavailable in \fotenc\space enc.}%
\fi
@@ -93,12 +91,18 @@ If a required [Font Family Name] is not known, then all available Font Family
Names are printed on terminal and into log file. Typical usage: \fontfam [?].
If a required [Font Family Name] is known then appropriate \input fontfile
-is done. Nothing more. This means that \fontfam gives you possibility to
+is done. Nothing more. This means that \fontfam gives you only possibility to
keep a good overview about fontfiles.
You can use special parameter \fontfam [Catalog]. Then all available font
families are printed to the document with font samples. The pre-defined font
-sample can be rewritten: \def\fontfamsample{...}.
+sample can be rewritten by \def\fontfamsample{...}.
+
+If you want to print only selected families in the catalog, give these
+families in comma separated list in the macro \catalogfams before
+\fontfam[Catalog] is executed. Example:
+
+\def\catalogfams{Times Roman, Helvetica, KP fonts} \fontfam[Catalog]
Each fontfile supports a limited set of encodings of the fonts. This is
listed in round brackets: 8t means T1 encoding, 8z means IL2 encoding and
@@ -114,9 +118,12 @@ which provides the encoding currently chosen.
The fontfam-global.tex or fontfam-local.tex files uses \setfontfam with
following format:
-\setfontfam [Name] {variants} {modifiers} {comment} {math} (encodings) {\input fontfile}
+\setfontfam [Name] {modifiers} {variants} {comment} {math} (encodings) {\input fontfile}
+
+Note, that \setfontfam changed its syntax in Jun. 2016. New version use
+first {modifiers} then {variants}.
-And \famalias can be used:
+The \famalias macro can be used:
\famalias{aliasname}{origname}
diff --git a/Master/texmf-dist/tex/csplain/opmac/opmac.tex b/Master/texmf-dist/tex/csplain/opmac/opmac.tex
index a2d0a7d1a01..fa60ecc3a8f 100644
--- a/Master/texmf-dist/tex/csplain/opmac/opmac.tex
+++ b/Master/texmf-dist/tex/csplain/opmac/opmac.tex
@@ -5,7 +5,7 @@
%% The history of versions is at the end of this file, after \endpinput
\ifx\OPmacversion\undefined \else \endinput \fi
-\def\OPmacversion{May 2016}
+\def\OPmacversion{Jun 2016}
\immediate\write16{This is OPmac (Olsak's Plain macros), version <\OPmacversion>}
%%%%%%%%%%%%%% Basic macros, sec. 3.1 in opmac-d.pdf
@@ -213,9 +213,9 @@
\withoutunit\setbaselineskip\tmpdim
\fi\fi
}
-\def\thefontsize[#1]{%
+\def\thefontsize[#1]{\fontdim=#1\ptunit
\expandafter\let \expandafter\thefont \the\font
- \def\sizespec{at#1\ptunit}\def\dgsize{#1\ptunit}\resizefont\thefont
+ \edef\sizespec{at#1\ptunit}\def\dgsize{#1\ptunit}\resizefont\thefont
\thefont \let\dgsize=\undefined \ignorespaces
}
\def\thefontscale[#1]{%
@@ -1765,5 +1765,6 @@ Apr. 2016 \frame: redundant group removed
May 2016 \replacestrings improved
\bfshape: \everymath={\boldmath} instead \boldmath directly
\tskip corrected
+Jun. 2016 \thefontsize: \fontdim=#1\ptunit added.
%%%%%%%%%%%%%% End of opmac.tex