summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/sauter
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
commit215012a8d684889983ec2c0629e1c704e6853d9c (patch)
treeebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/sauter
parent1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff)
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/sauter')
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmb.mf27
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmbsy.mf20
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmbx.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmbxsl.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmbxti.mf68
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmcsc.mf224
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmdunh.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmex.mf38
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmff.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmfi.mf32
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmfib.mf76
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cminch.mf61
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmitt.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmmi.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmmib.mf42
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmr.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmsl.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmsltt.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmss.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmssbx.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmssdc.mf76
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmssi.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmssq.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmssqi.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmssxi.mf10
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmsy.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmtcsc.mf89
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmtex.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmti.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmtt.mf9
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmu.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/b-cmvtt.mf17
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-bmath.mf67
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmbx.mf246
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmex.mf34
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmff.mf71
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmmi.mf80
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmr.mf348
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmss.mf329
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmssbx.mf71
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmssq.mf71
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmsy.mf14
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmti.mf92
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-cmtt.mf245
-rw-r--r--Master/texmf-dist/fonts/source/public/sauter/c-sigma.mf88
45 files changed, 2791 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmb.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmb.mf
new file mode 100644
index 00000000000..9f116e3798d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmb.mf
@@ -0,0 +1,27 @@
+% Computer Modern Bold Roman
+% Changes[Sauter-2.2] formula for u# matches cmr value;
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMB"; font_size design_size * pt#;
+
+% This font is a modification of Computer Modern Bold Extended.
+
+input c-cmbx;
+
+%u#:=(20*(design_size/10))/36pt#; % unit width
+u#:= % unit width, the same as for cmr fonts.
+ (if design_size < 10: ((design_size*15)+50)
+%elseif design_size < 12: ((design_size*17.5)+25)
+ else: (-(0.062437562437*design_size*design_size) +
+ (18.8736263736*design_size) +
+ (17.5074925074))fi)/360pt#;
+
+width_adj#:=(10*(design_size/10))/36pt#;
+ % width adjustment for certain characters
+cap_serif_fit#:=(6*(design_size/10))/36pt#;
+ % extra sidebar near uppercase serifs
+
+cap_jut#:=(34*(design_size/10))/36pt#; % protrusion of uppercase serifs
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmbsy.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmbsy.mf
new file mode 100644
index 00000000000..e5e83c9ac24
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmbsy.mf
@@ -0,0 +1,20 @@
+% Computer Modern Bold Symbols
+% This font combines CMBX and CMSY, with some modifications.
+
+if unknown cmbase: input cmbase fi
+
+font_identifier := "CMBSY";
+font_size design_size * pt#;
+
+input c-cmbx;
+input c-bmath;
+
+subs:= % subscript point size
+ (if design_size < 8: (50/(design_size*10))
+ elseif design_size < 10: (60/(design_size*10))
+ elseif design_size < 12: (70/(design_size*10))
+ else: (((design_size*10)-30)/(design_size*10))fi);
+
+input c-sigma;
+
+generate mathsy
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmbx.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmbx.mf
new file mode 100644
index 00000000000..a0a53a4695b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmbx.mf
@@ -0,0 +1,9 @@
+% Computer Modern Bold Extended Roman
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMBX"; font_size design_size * pt#;
+
+input c-cmbx;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmbxsl.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmbxsl.mf
new file mode 100644
index 00000000000..3c2f6c105ae
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmbxsl.mf
@@ -0,0 +1,14 @@
+% Computer Modern Bold Extended Slanted Roman
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMBXSL"; font_size design_size * pt#;
+
+% This font is a minor modification of Computer Modern Bold Extended
+
+input c-cmbx;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 1/6;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmbxti.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmbxti.mf
new file mode 100644
index 00000000000..619f520fe4a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmbxti.mf
@@ -0,0 +1,68 @@
+% Computer Modern Bold Extended Text Italic
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMBXTI"; font_size design_size * pt#;
+
+% This font is a modification of Computer Modern Bold Extended.
+
+input c-cmbx;
+
+u#:= % unit width
+ ((u#*360pt#) - (design_size * 1.8))/360pt#;
+
+letter_fit#:= % extra space added to all sidebars
+ ((letter_fit#*360pt#) + (design_size * 11))/360pt#;
+
+crisp#:= % diameter of serif corners
+ ((crisp#*360pt#) + (design_size * 13))/360pt#;
+
+hair#:= % lowercase hairline breadth
+ ((hair#*360pt#) + (design_size * 3))/360pt#;
+
+stem#:= % lowercase stem breadth
+ ((stem#*360pt#) - (design_size * 3))/360pt#;
+
+curve#:= % lowercase curve breadth
+ ((curve#*360pt#) - (design_size * 3))/360pt#;
+
+ess#:= % breadth in middle of lowercase s
+ ((ess#*360pt#) - (design_size * 3))/360pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ ((flare#*360pt#) - (design_size * 3))/360pt#;
+
+dot_size#:= % diameter of dots
+ ((dot_size#*360pt#) - (design_size * 3))/360pt#;
+
+cap_hair#:= % uppercase hairline breadth
+ ((cap_hair#*360pt#) + (design_size * 3))/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ ((cap_stem#*360pt#) - (design_size * 2))/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ ((cap_curve#*360pt#) - (design_size * 3))/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ ((cap_ess#*360pt#) - (design_size * 3) - 0.001)/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ ((jut#*360pt#) + (design_size * 2))/360pt#;
+
+beak_jut#:= % horizontal protrusion of beak serifs
+ ((beak_jut#*360pt#) - (design_size * 1) - 0.00032)/360pt#;
+
+o#:= % amount of overshoot for curves
+ ((o#*360pt#) + (design_size * 2))/360pt#;
+
+apex_o#:= % amount of overshoot for diagonal junctions
+ ((apex_o#*360pt#) + (design_size * 3) + 0.00091)/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0.25;
+
+variant_g:= % should an italic-style g be used?
+ true;
+
+generate textit % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmcsc.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmcsc.mf
new file mode 100644
index 00000000000..4fdc9526fb2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmcsc.mf
@@ -0,0 +1,224 @@
+% Computer Modern Roman Caps and Small Caps
+% Completely rebuildt for Sauter-2.3 version.
+% Now truely supports the ams extracm fonts cmcsc8 and cmcsc9.
+% Sauter-2.3b: Bugs for design_sizes \ge 10 fixed
+% Changes[Sauter-2.4] Bug in lower.comma_depth for design_sizes \ge 10 fixed;
+
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMCSC"; font_size design_size * pt#;
+
+% first come parameters used to set the uppercase letters
+% (including some for lowercase that aren't actually used)
+% These parameters are nearly the same as the Computer Modern Roman
+% parameters.
+
+input c-cmr;
+
+% cmcsc8 is 18, cmcsc9 is 19, cmcsc10 is 21.
+u#:= % unit width
+ (if design_size < 9:
+ (u#*36 - 0.5*design_size + 5)
+ elseif design_size < 10:
+ (u#*36 + 0.5*(design_size - 8))
+ else:
+ ((u#*36) + (design_size/10))
+ fi) / 36*pt#;
+
+% cmcsc8 is 2.5, cmcsc9 is 3.5, cmcsc10 is 5.
+letter_fit#:= % extra space added to all sidebars
+ (if design_size < 8:
+ (letter_fit# * 36 + 2.5)
+ elseif design_size < 9:
+ ((design_size - 8) + 2.5)
+ elseif design_size < 10:
+ (1.5 * design_size -10)
+ else:
+ ((letter_fit#*36) + (design_size *0.5))
+ fi) / 36*pt#;
+
+ligs:=1; % level of ligatures to be included
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:= % unit width
+ (if design_size < 10:
+ (1.5*design_size + 1)
+ else:
+ (u#*36*16/21)
+ fi) / 36*pt#;
+
+lower.width_adj#:= % width adjustment for certain characters
+ width_adj#;
+
+% cmsc8 is 2.7, cmcsc9 is 3.4, cmsc10 is 4.
+lower.cap_serif_fit#:= % extra sidebar near uppercase serifs
+ (if design_size < 9:
+ ((design_size - 8) * 0.7 + 2.7)
+ elseif design_size < 10:
+ (0.6*design_size -2)
+ else:
+ (cap_serif_fit# * 36 * 4)/5
+ fi) / 36*pt#;
+
+% cmsc8 is 4, cmcsc9 is 3.5, cmsc10 is 2.4.
+lower.letter_fit#:= % extra space added to all sidebars
+ (if design_size <= 9:
+ ( -(design_size - 8)/2 + 4)
+ elseif design_size < 10:
+ (-1.1*design_size + 13.4)
+ else:
+ (letter_fit# * 36 * 12) / 25
+ fi) / 36*pt#;
+
+
+lower.body_height#:= % height of tallest characters
+ (if design_size < 10:
+ (27*design_size -70)
+ else:
+ (body_height#*36*20/27)
+ fi) /36*pt#;
+
+% cmsc8 is 145.8, cmcsc9 is 170.4, cmsc10 is 185.
+lower.cap_height#:= % height of caps
+ (if design_size < 9:
+ (24.6*design_size - 51)
+ elseif design_size < 10:
+ (14.6*design_size + 39)
+ else:
+ ((cap_height#*36*18.5)/24.6)
+ fi) / 36*pt#;
+
+lower.x_height#:= % height of lowercase without ascenders
+ if design_size < 10:
+ (15.5*design_size - 39)/36pt#;
+ else:
+ (x_height#*116)/(155);
+ fi;
+
+lower.bar_height#:= % height of crossbar in lowercase e
+ (if design_size < 10:
+ (8.7*design_size - 22)
+ else:
+ (bar_height#*36*65)/87
+ fi) / 36*pt#;
+
+% cmsc8 is 38, cmcsc9 is 45, cmsc10 is 52.
+lower.comma_depth#:= % depth of comma below baseline
+ (if design_size < 10:
+ ((design_size - 8) * 7 + 38)
+ else:
+ (comma_depth#*36*52)/70
+ fi) / 36*pt#;
+
+lower.flare#:= % diameter of bulbs or breadth of terminals
+ (if design_size < 9:
+ (2*design_size + 4)
+ elseif design_size < 10:
+ (3*design_size -5)
+ else:
+ (flare#*36*25)/33
+ fi) / 36*pt#;
+
+lower.cap_hair#:= % uppercase hairline breadth
+ (if design_size < 10:
+ (0.5*design_size + 4.1)
+ else:
+ (cap_hair#*36*91)/110
+ fi) / 36*pt#;
+
+lower.stem#:= % lowercase stem breadth
+ (if design_size < 10:
+ (2*design_size + 1)
+ else:
+ (stem#*36*21)/25
+ fi) / 36*pt#;
+
+% cmcsc8 is 21, cmcsc9 is 23.5, cmcsc10 is 26.
+lower.cap_stem#:= % uppercase stem breadth
+ (if design_size < 10:
+ (2.5*design_size + 1)
+ else:
+ (cap_stem#*36*13)/16
+ fi) / 36*pt#;
+
+lower.cap_curve#:= % uppercase curve breadth
+ (if design_size < 10:
+ (3*design_size + 1)
+ else:
+ (cap_curve#*36*31)/37
+ fi) / 36*pt#;
+
+lower.cap_ess#:= % breadth in middle of uppercase s
+ (if design_size < 10:
+ (4*design_size -12)
+ else:
+ (cap_ess#*36*4)/5
+ fi) / 36*pt#;
+
+lower.cap_jut#:= % protrusion of uppercase serifs
+ (if design_size < 10:
+ (3*design_size - 4)
+ else:
+ (cap_jut#*36*26)/37
+ fi) / 36*pt#;
+
+lower.beak_jut#:= % horizontal protrusion of beak serifs
+ (if design_size < 10:
+ (0.8*design_size - 1)
+ else:
+ (beak_jut#*36*7)/10
+ fi) / 36*pt#;
+
+lower.beak#:= % vertical protrusion of beak serifs
+ (if design_size < 10:
+ (7*design_size - 18)
+ else:
+ (beak#*36*52)/70
+ fi) / 36*pt#;
+
+lower.slab#:= % serif and arm thickness
+ (if design_size < 10:
+ (0.5*design_size + 4.1)
+ else:
+ (slab#*36*91)/110
+ fi) / 36*pt#;
+
+lower.cap_bar#:= % uppercase bar thickness
+ (if design_size < 10:
+ (0.5*design_size + 4.1)
+ else:
+ (cap_bar#*36*91)/110
+ fi) / 36*pt#;
+
+lower.cap_band#:= % uppercase thickness above/below lobes
+ (if design_size < 10:
+ (0.5*design_size + 4.1)
+ else:
+ (cap_band#*36*91)/110
+ fi) / 36*pt#;
+
+lower.cap_notch_cut#:= % max breadth above/below uppercase notches
+ cap_notch_cut#;
+
+lower.o#:= % amount of overshoot for curves
+ (if design_size < 10:
+ 0.5*design_size
+ else:
+ (o#*36*5)/8
+ fi) / 36*pt#;
+
+lower.apex_o#:= % amount of overshoot for diagonal junctions
+ (if design_size < 9:
+ 3
+ elseif design_size < 10:
+ (design_size -6)
+ else:
+ (apex_o#*36*0.5)
+ fi) / 36*pt#;
+
+lower.fudge:= % factor applied to weights of heavy characters
+ fudge;
+
+generate csc % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmdunh.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmdunh.mf
new file mode 100644
index 00000000000..8aa0fb798ee
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmdunh.mf
@@ -0,0 +1,23 @@
+% Computer Modern Dunhill Roman
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMDUNH"; font_size design_size * pt#;
+
+% This font is a simple modification of Computer Modern Roman.
+
+input c-cmr;
+
+body_height#:= % height of tallest characters
+ ((body_height#*360pt#) + (design_size*100))/360pt#;
+
+asc_height#:= % height of lowercase ascenders
+ ((asc_height#*360pt#) + (design_size*100) + 0.0003)/360pt#;
+
+cap_height#:= % height of caps
+ ((cap_height#*360pt#) + (design_size*100) + 0.0003)/360pt#;
+
+fig_height#:= % height of numerals
+ ((fig_height#*360pt#) + (design_size*100) + 0.0003)/360pt#;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmex.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmex.mf
new file mode 100644
index 00000000000..875d2458bd3
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmex.mf
@@ -0,0 +1,38 @@
+% Computer Modern Math Extension
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMEX"; font_size design_size * pt#;
+
+% This font has the same parameters as Computer Modern Roman,
+% plus a few, and a different set of characters.
+
+input c-cmr;
+
+if design_size <= 7pt#:
+ letter_fit# := ((8pt# - design_size) * 4pt#) / 36pt#;
+fi;
+
+% the following font parameters are explained in {\sl The \TeX book}, Appendix G
+fontdimen 8: % parameters $\xi_8$ through $\xi_{13}$ will now be listed
+ rule_thickness#, % default\_rule\_thickness
+
+% fontdimen 9
+ ((design_size - 7pt#) * 4pt# + 28pt#) / 36pt#, % big\_op\_spacing1
+
+% fontdimen 10
+ ((design_size - 7pt#) * 6pt# + 42pt#) / 36pt#, % big\_op\_spacing2
+
+% fontdimen 11
+ ((design_size - 7pt#) * 7.2pt# + 50.4pt#) / 36pt#, % big\_op\_spacing3
+
+% fontdimen 12
+% cmex7=154, cmex8=175, cmex9=196, cmex=216. Argh.
+ ((design_size - 7pt#) * 21pt# + 154pt#
+ - (if design_size >= 10pt#: 1pt# else: 0pt# fi))
+ / 36pt#, % big\_op\_spacing4
+
+% fontdimen 13
+ 36 / 36pt#; % big\_op\_spacing5
+
+generate mathex % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmff.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmff.mf
new file mode 100644
index 00000000000..149c657a463
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmff.mf
@@ -0,0 +1,9 @@
+% Computer Modern Roman Funny
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMFF"; font_size design_size * pt#;
+
+input c-cmff;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmfi.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmfi.mf
new file mode 100644
index 00000000000..dc35e849b22
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmfi.mf
@@ -0,0 +1,32 @@
+% Computer Modern Funny Italic
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMFI"; font_size design_size * pt#;
+
+input c-cmff
+
+u#:=(21*(design_size/10))/36pt#; % unit width
+
+crisp#:=(11*(design_size/10))/36pt#; % diameter of serif corners
+hair#:=(11*(design_size/10))/36pt#; % lowercase hairline breadth
+stem#:=(17*(design_size/10))/36pt#; % lowercase stem breadth
+curve#:=(21*(design_size/10))/36pt#; % lowercase curve breadth
+ess#:=(23*(design_size/10))/36pt#; % breadth in middle of lowercase s
+flare#:=(25*(design_size/10))/36pt#; % diameter of bulbs or breadth of terminals
+cap_hair#:=(15*(design_size/10))/36pt#; % uppercase hairline breadth
+cap_stem#:=(25*(design_size/10))/36pt#; % uppercase stem breadth
+cap_curve#:=(27*(design_size/10))/36pt#; % uppercase curve breadth
+cap_ess#:=(29*(design_size/10))/36pt#; % breadth in middle of uppercase s
+
+vair#:=(15*(design_size/10))/36pt#; % vertical diameter of hairlines
+bar#:=(18*(design_size/10))/36pt#; % lowercase bar thickness
+slab#:=(21*(design_size/10))/36pt#; % serif and arm thickness
+cap_bar#:=(23*(design_size/10))/36pt#; % uppercase bar thickness
+cap_band#:=(18*(design_size/10))/36pt#; % uppercase thickness above/below lobes
+
+slant:=+.1; % tilt ratio $(\Delta x/\Delta y)$
+
+variant_g:=true; % should an italic-style g be used?
+
+generate textit % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmfib.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmfib.mf
new file mode 100644
index 00000000000..c1416814ab1
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmfib.mf
@@ -0,0 +1,76 @@
+% Computer Modern Roman Fibonacci Font
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMFIB"; font_size design_size * pt#;
+
+u#:=(21*(design_size/8))/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=(-2*(design_size/8))/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=0pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=(233*(design_size/8))/36pt#; % height of tallest characters
+asc_height#:=(233*(design_size/8))/36pt#; % height of lowercase ascenders
+cap_height#:=(233*(design_size/8))/36pt#; % height of caps
+fig_height#:=(233*(design_size/8))/36pt#; % height of numerals
+x_height#:=(144*(design_size/8))/36pt#; % height of lowercase without ascenders
+math_axis#:=(89*(design_size/8))/36pt#; % axis of symmetry for math symbols
+bar_height#:=(89*(design_size/8))/36pt#; % height of crossbar in lowercase e
+comma_depth#:=(55*(design_size/8))/36pt#; % depth of comma below baseline
+desc_depth#:=(55*(design_size/8))/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=(13*(design_size/8))/36pt#; % diameter of rounded corners
+fine#:=(13*(design_size/8))/36pt#; % diameter of sharply rounded corners
+thin_join#:=(13*(design_size/8))/36pt#; % width of extrafine details
+hair#:=(21*(design_size/8))/36pt#; % lowercase hairline breadth
+stem#:=(34*(design_size/8))/36pt#; % lowercase stem breadth
+curve#:=(39*(design_size/8))/36pt#; % lowercase curve breadth
+ess#:=(34*(design_size/8))/36pt#; % breadth in middle of lowercase s
+flare#:=(34*(design_size/8))/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=(34*(design_size/8))/36pt#; % diameter of dots
+cap_hair#:=(21*(design_size/8))/36pt#; % uppercase hairline breadth
+cap_stem#:=(34*(design_size/8))/36pt#; % uppercase stem breadth
+cap_curve#:=(39*(design_size/8))/36pt#; % uppercase curve breadth
+cap_ess#:=(34*(design_size/8))/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=(21*(design_size/8))/36pt#; % thickness of lines in math symbols
+
+dish#:=(1*(design_size/8))/36pt#; % amount erased at top or bottom of serifs
+bracket#:=(21*(design_size/8))/36pt#; % vertical distance from serif base to tangent
+jut#:=(21*(design_size/8))/36pt#; % protrusion of lowercase serifs
+cap_jut#:=(21*(design_size/8))/36pt#; % protrusion of uppercase serifs
+beak_jut#:=(13*(design_size/8))/36pt#; % horizontal protrusion of beak serifs
+beak#:=(55*(design_size/8))/36pt#; % vertical protrusion of beak serifs
+vair#:=(13*(design_size/8))/36pt#; % vertical diameter of hairlines
+notch_cut#:=(8*(design_size/8)) * pt#; % maximum breadth above or below notches
+bar#:=(13*(design_size/8))/36pt#; % lowercase bar thickness
+slab#:=(13*(design_size/8))/36pt#; % serif and arm thickness
+cap_bar#:=(13*(design_size/8))/36pt#; % uppercase bar thickness
+cap_band#:=(13*(design_size/8))/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=(8*(design_size/8)) * pt#; % max breadth above/below uppercase notches
+serif_drop#:=(3*(design_size/8))/36pt#; % vertical drop of sloped serifs
+stem_corr#:=(1*(design_size/8))/36pt#; % for small refinements of stem breadth
+vair_corr#:=(1*(design_size/8))/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=(8*(design_size/8))/36pt#; % amount of overshoot for curves
+apex_o#:=(8*(design_size/8))/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=3/8; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/13; % extra openness inside bowls
+beak_darkness:=5/13; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cminch.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cminch.mf
new file mode 100644
index 00000000000..a3d5f034821
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cminch.mf
@@ -0,0 +1,61 @@
+% Computer Modern Inch-high Letters.
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMINCH"; font_size design_size * pt#;
+
+% This font is just CMSSBX with a large point size. The corrections
+% below are to compensate for rounding errors, to give exactly the
+% same parameters as the original CMINCH.
+
+input c-cmssbx;
+
+asc_height#:= % height of lowercase ascenders
+ asc_height# - 0.00001 pt#;
+
+cap_height#:= % height of caps
+ cap_height# - 0.00001 pt#;
+
+fig_height#:= % height of numerals
+ fig_height# - 0.00001 pt#;
+
+x_height#:= % height of lowercase without ascenders
+ x_height# - 0.00006 pt#;
+
+comma_depth#:= % depth of comma below baseline
+ comma_depth# + 0.00002 pt#;
+
+desc_depth#:= % depth of lowercase descenders
+ desc_depth# - 0.00002 pt#;
+
+hair#:= % lowercase hairline breadth
+ hair# + 0.00003 pt#;
+
+stem#:= % lowercase stem breadth
+ stem# + 0.00003 pt#;
+
+curve#:= % lowercase curve breadth
+ curve# + 0.00003 pt#;
+
+ess#:= % breadth in middle of lowercase s
+ ess# - 0.00002 pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ flare# + 0.00003 pt#;
+
+dot_size#:= % diameter of dots
+ dot_size# + 0.00002 pt#;
+
+cap_hair#:= % uppercase hairline breadth
+ cap_hair# + 0.00003 pt#;
+
+cap_stem#:= % uppercase stem breadth
+ cap_stem# + 0.00007 pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ cap_ess# + 0.00006 pt#;
+
+notch_cut#:= % maximum breadth above or below notches
+ notch_cut# + 0.00003 pt#;
+
+generate title % switch to the driver file - caps and digits only
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmitt.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmitt.mf
new file mode 100644
index 00000000000..2be9bf206b9
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmitt.mf
@@ -0,0 +1,23 @@
+% Computer Modern Italic Typewriter Text
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMITT"; font_size design_size * pt#;
+
+% This font is a modification of Computer Modern Typewriter Text
+
+input c-cmtt;
+
+letter_fit#:= % extra space added to all sidebars
+ ((letter_fit#*360pt#) + (design_size * 15))/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ ((jut#*360pt#) + (design_size * 6))/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0.25;
+
+variant_g:= % should an italic-style g be used?
+ true;
+
+generate textit % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmmi.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmmi.mf
new file mode 100644
index 00000000000..2254faf1a78
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmmi.mf
@@ -0,0 +1,9 @@
+% Computer Modern Math Italic
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMMI"; font_size design_size * pt#;
+
+input c-cmmi;
+
+generate mathit % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmmib.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmmib.mf
new file mode 100644
index 00000000000..b02a70b26d3
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmmib.mf
@@ -0,0 +1,42 @@
+% Computer Modern Math Italic Bold
+% This font is a modification of Computer Modern Bold Extended.
+
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMMIB"; font_size design_size * pt#;
+
+input c-cmbx;
+input c-bmath;
+
+% cmmib5=21, cmmib6=24, cmmib7=27, cmmib8=30, cmmib9=35, cmmib10=39
+cap_jut# :=
+ (if design_size <= 8: (design_size - 5pt#) * 3pt# + 21pt#
+ elseif designsize <= 9: (design_size - 9pt#) * 4pt# + 35pt#
+ else: (design_size * 3.5) + 4.0
+ fi) / 36pt#;
+
+% cmmib5=27, cmmib6=32, cmmib7=37, cmmib8=42, cmmib9=46, cmmib10=50
+cap_stem# :=
+ (if design_size <= 8: (design_size - 5pt#) * 5pt# + 27pt#
+ else: (design_size - 9pt#) * 4pt# + 46pt#
+ fi) / 36pt#;
+
+% cmmib5=26, cmmib6=29, cmmib7=33, cmmib8=37, cmmib9=40, cmmib10=42
+flare# :=
+ (if design_size <= 6: (design_size - 5pt#) * 3pt# + 26pt#
+ elseif designsize <= 8: (design_size - 7pt#) * 4pt# + 33pt#
+ elseif designsize <= 9: (design_size - 9pt#) * 3pt# + 40pt#
+ else: 36flare# % already computed, in c-bmath
+ fi) / 36pt#;
+
+% cmmib5=23, cmmib6=27, cmmib7=31, cmmib8=34, cmmib9=37, cmmib10=40
+stem# :=
+ (if design_size <= 7: (design_size - 5pt#) * 4pt# + 23pt#
+ else: (design_size - 8pt#) * 3pt# + 34pt#
+ fi) / 36pt#;
+
+% cmmib5=7, cmmib6=7.8, etc.
+width_adj# := ((design_size - 5pt#) * .8pt# + 7pt#) / 36pt#;
+
+generate mathit % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmr.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmr.mf
new file mode 100644
index 00000000000..857e6e2a7a2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmr.mf
@@ -0,0 +1,9 @@
+% Computer Modern Roman
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMR"; font_size design_size*pt#;
+
+input c-cmr; % compute size parameters for CMR family
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmsl.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmsl.mf
new file mode 100644
index 00000000000..91f18629586
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmsl.mf
@@ -0,0 +1,13 @@
+% Computer Modern Slanted Roman
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSL"; font_size design_size * pt#;
+
+% This font is a simple modification of Computer Modern Roman.
+
+input c-cmr;
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmsltt.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmsltt.mf
new file mode 100644
index 00000000000..447c114e22b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmsltt.mf
@@ -0,0 +1,14 @@
+% Computer Modern Slanted Typewriter Text
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSLTT"; font_size design_size * pt#;
+
+% This font is a modification of Computer Modern Typewriter Text.
+
+input c-cmtt;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 1/6;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmss.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmss.mf
new file mode 100644
index 00000000000..580137ef74c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmss.mf
@@ -0,0 +1,9 @@
+% Computer Modern Sans Serif
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSS"; font_size design_size * pt#;
+
+input c-cmss;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmssbx.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmssbx.mf
new file mode 100644
index 00000000000..2f63a0bb997
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmssbx.mf
@@ -0,0 +1,9 @@
+% Computer Modern Sans Serif Bold Extended.
+if unknown cmbase: input cmbase fi
+
+ font_identifier:="CMSSBX"; font_size design_size * pt#;
+
+input c-cmssbx;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmssdc.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmssdc.mf
new file mode 100644
index 00000000000..e202fd010ae
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmssdc.mf
@@ -0,0 +1,76 @@
+% Computer Modern Sans Serif Demibold Condensed
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSSDC"; font_size design_size * pt#;
+
+u#:=(19*(design_size/10))/36pt#; % unit width
+width_adj#:=(15*(design_size/10))/36pt#; % width adjustment for certain characters
+serif_fit#:=(-8*(design_size/10))/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=(-9*(design_size/10))/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=(270*(design_size/10))/36pt#; % height of tallest characters
+asc_height#:=(250*(design_size/10))/36pt#; % height of lowercase ascenders
+cap_height#:=(250*(design_size/10))/36pt#; % height of caps
+fig_height#:=(250*(design_size/10))/36pt#; % height of numerals
+x_height#:=(170*(design_size/10))/36pt#; % height of lowercase without ascenders
+math_axis#:=(95*(design_size/10))/36pt#; % axis of symmetry for math symbols
+bar_height#:=(95*(design_size/10))/36pt#; % height of crossbar in lowercase e
+comma_depth#:=(40*(design_size/10))/36pt#; % depth of comma below baseline
+desc_depth#:=(60*(design_size/10))/36pt#; % depth of lowercase descenders
+
+crisp#:=(23*(design_size/10))/36pt#; % diameter of serif corners
+tiny#:=(23*(design_size/10))/36pt#; % diameter of rounded corners
+fine#:=(8*(design_size/10))/36pt#; % diameter of sharply rounded corners
+thin_join#:=(8*(design_size/10))/36pt#; % width of extrafine details
+hair#:=(40*(design_size/10))/36pt#; % lowercase hairline breadth
+stem#:=(40*(design_size/10))/36pt#; % lowercase stem breadth
+curve#:=(40*(design_size/10))/36pt#; % lowercase curve breadth
+ess#:=(37*(design_size/10))/36pt#; % breadth in middle of lowercase s
+flare#:=(31*(design_size/10))/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=(38*(design_size/10))/36pt#; % diameter of dots
+cap_hair#:=(40*(design_size/10))/36pt#; % uppercase hairline breadth
+cap_stem#:=(44*(design_size/10))/36pt#; % uppercase stem breadth
+cap_curve#:=(44*(design_size/10))/36pt#; % uppercase curve breadth
+cap_ess#:=(42*(design_size/10))/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=(25*(design_size/10))/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=(1.5*(design_size/10))/36pt#; % vertical protrusion of beak serifs
+vair#:=(23*(design_size/10))/36pt#; % vertical diameter of hairlines
+notch_cut#:=(40*(design_size/10))/36pt#; % maximum breadth above or below notches
+bar#:=(23*(design_size/10))/36pt#; % lowercase bar thickness
+slab#:=(31*(design_size/10))/36pt#; % serif and arm thickness
+cap_bar#:=(29*(design_size/10))/36pt#; % uppercase bar thickness
+cap_band#:=(27*(design_size/10))/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=(37*(design_size/10))/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=(2*(design_size/10))/36pt#; % vertical drop of sloped serifs
+stem_corr#:=(1*(design_size/10))/36pt#; % for small refinements of stem breadth
+vair_corr#:=(2*(design_size/10))/36pt#; % for small refinements of hairline height
+apex_corr#:=(14*(design_size/10))/36pt#; % extra width at diagonal junctions
+
+o#:=(7*(design_size/10))/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.91; % factor applied to weights of heavy characters
+math_spread:=.3; % extra openness of math symbols
+superness:=.74; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmssi.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmssi.mf
new file mode 100644
index 00000000000..38dcdd0eb3b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmssi.mf
@@ -0,0 +1,13 @@
+% Computer Modern Slanted Sans Serif
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSSI"; font_size design_size * pt#;
+
+% This font is a simple modification of CMSS.
+
+input c-cmss;
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmssq.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmssq.mf
new file mode 100644
index 00000000000..7c56e40abce
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmssq.mf
@@ -0,0 +1,9 @@
+% Computer Modern Sans Serif Quotation Style
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSSQ"; font_size design_size * pt#;
+
+input c-cmssq;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmssqi.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmssqi.mf
new file mode 100644
index 00000000000..f612878035f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmssqi.mf
@@ -0,0 +1,14 @@
+% Computer Modern Sans Serif Quotation Style Slanted
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMSSQI"; font_size design_size * pt#;
+
+% This font's parameters are a simple modification of the parameters
+% of Computer Modern Sans Serif Quotation Style.
+
+input c-cmssq;
+
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmssxi.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmssxi.mf
new file mode 100644
index 00000000000..c027576f41f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmssxi.mf
@@ -0,0 +1,10 @@
+% This is b-cmssbxsl.mf as of 21-Aug-1990
+% Computer Modern Sans Serif Bold Extended Slanted.
+if unknown cmbase: input cmbase fi
+
+ font_identifier:="CMSSBXSL"; font_size design_size * pt#;
+
+input c-cmssbx;
+slant:=sind 12/cosd 12; % tilt ratio $(\Delta x/\Delta y)$
+
+generate roman % switch to the driver file
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmsy.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmsy.mf
new file mode 100644
index 00000000000..f8097b4242e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmsy.mf
@@ -0,0 +1,23 @@
+% Computer Modern Math Symbols.
+%
+% This is essentially the Computer Modern Math Italic family with more
+% parameters and a different character set.
+
+if unknown cmbase: input cmbase fi
+
+font_identifier := "CMSY";
+font_size design_size * pt#;
+
+input c-cmmi;
+
+subs:= % subscript point size
+ (if design_size < 7.5: (5/design_size)
+ elseif design_size < 9.5: (6/design_size)
+ elseif design_size < 10.5: (7/design_size)
+ elseif design_size < 12.5: (8/design_size)
+ elseif design_size < 12.96: (1/1.44)
+ else: (1/1.2)fi);
+
+input c-sigma;
+
+generate mathsy
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmtcsc.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmtcsc.mf
new file mode 100644
index 00000000000..daf9a6ef6f9
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmtcsc.mf
@@ -0,0 +1,89 @@
+% Computer Modern Typewriter Caps and Small Caps
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMTCSC"; font_size design_size * pt#;
+
+% first come parameters used to set the uppercase letters
+% (including some for lowercase that aren't actually used)
+
+input c-cmtt;
+
+% now come replacements used to set the lowercase caps
+
+lower.u#:= % unit width
+ u#;
+
+lower.width_adj#:= % width adjustment for certain characters
+ width_adj#;
+
+lower.cap_serif_fit#:= % extra sidebar near uppercase serifs
+ cap_serif_fit#;
+
+lower.letter_fit#:= % extra space added to all sidebars
+ ((letter_fit#*360pt#) + (design_size * 3))/360pt#;
+
+lower.body_height#:= % height of tallest characters
+ (body_height#*36pt#*19)/(25*36pt#);
+
+lower.cap_height#:= % height of caps
+ (cap_height#*36pt#*17)/(22*36pt#);
+
+lower.x_height#:= % height of lowercase without ascenders
+ (x_height#*36pt#*12)/(15.5*36pt#);
+
+lower.bar_height#:= % height of crossbar in lowercase e
+ ((bar_height#*36pt#*62)+0.002)/(79*36pt#);
+
+lower.comma_depth#:= % depth of comma below baseline
+ (comma_depth#*36pt#*38)/(50*36pt#);
+
+lower.stem#:= % lowercase stem breadth
+ stem#;
+
+lower.flare#:= % diameter of bulbs or breadth of terminals
+ (flare#*360pt#*30)/(32*360pt#);
+
+lower.cap_hair#:= % uppercase hairline breadth
+ cap_hair#;
+
+lower.cap_stem#:= % uppercase stem breadth
+ cap_stem#;
+
+lower.cap_curve#:= % uppercase curve breadth
+ cap_curve#;
+
+lower.cap_ess#:= % breadth in middle of uppercase s
+ cap_ess#;
+
+lower.cap_jut#:= % protrusion of uppercase serifs
+ ((cap_jut#*360pt#*26)+0.01)/(34*360pt#);
+
+lower.beak_jut#:= % horizontal protrusion of beak serifs
+ beak_jut#;
+
+lower.beak#:= % vertical protrusion of beak serifs
+ ((beak#*360pt#*26)+0.01)/(34*360pt#);
+
+lower.slab#:= % serif and arm thickness
+ slab#;
+
+lower.cap_bar#:= % uppercase bar thickness
+ cap_bar#;
+
+lower.cap_band#:= % uppercase thickness above/below lobes
+ cap_band#;
+
+lower.cap_notch_cut#:= % max breadth above/below uppercase notches
+ (cap_notch_cut#*360pt#*24)/(25*360pt#);
+
+lower.o#:= % amount of overshoot for curves
+ ((o#*360pt#*3)-0.0018)/(4*360pt#);
+
+lower.apex_o#:= % amount of overshoot for diagonal junctions
+ (apex_o#*360pt#*2)/(3*360pt#);
+
+lower.fudge:= % factor applied to weights of heavy characters
+ ((fudge*10*85)+0.001)/(81*10);
+
+generate csc % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmtex.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmtex.mf
new file mode 100644
index 00000000000..3ec317a8a54
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmtex.mf
@@ -0,0 +1,14 @@
+% Computer Modern TeX extended ASCII characters
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMTEX"; font_size design_size * pt#;
+
+% This font's parameters are a simple modification of CMTT's.
+
+input c-cmtt;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0.25;
+
+generate texset % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmti.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmti.mf
new file mode 100644
index 00000000000..7b9c31960b4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmti.mf
@@ -0,0 +1,9 @@
+% Computer Modern Text Italic
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMTI"; font_size design_size * pt#;
+
+input c-cmti;
+
+generate textit % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmtt.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmtt.mf
new file mode 100644
index 00000000000..6d5fa39d58b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmtt.mf
@@ -0,0 +1,9 @@
+% Computer Modern Typewriter Text
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMTT"; font_size design_size * pt#;
+
+input c-cmtt;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmu.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmu.mf
new file mode 100644
index 00000000000..5b5653932a6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmu.mf
@@ -0,0 +1,23 @@
+% Computer Modern Unslanted Italic
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMU"; font_size design_size * pt#;
+
+% This font is a modification of Computer Modern Roman.
+
+input c-cmr;
+
+letter_fit#:= % extra space added to all sidebars
+ ((letter_fit#*360pt#) + (design_size*10))/360pt#;
+
+ess#:= % breadth in middle of lowercase s
+ ((ess#*360pt#) - (design_size * 5))/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ ((cap_ess#*360pt#) - (design_size * 3))/360pt#;
+
+variant_g:= % should an italic-style g be used?
+ true;
+
+generate textit % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/b-cmvtt.mf b/Master/texmf-dist/fonts/source/public/sauter/b-cmvtt.mf
new file mode 100644
index 00000000000..2ff88715989
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/b-cmvtt.mf
@@ -0,0 +1,17 @@
+% Computer Modern Variable-Width Typewriter Text
+if unknown cmbase: input cmbase fi
+
+font_identifier:="CMVTT"; font_size design_size * pt#;
+
+% This font is a simple modification of CMTT.
+
+input c-cmtt;
+
+ligs:= % level of ligatures to be included
+ 2;
+
+monospace:= % should all characters have the same width?
+ false;
+
+generate roman % switch to the driver file
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-bmath.mf b/Master/texmf-dist/fonts/source/public/sauter/c-bmath.mf
new file mode 100644
index 00000000000..2ed5700f3e2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-bmath.mf
@@ -0,0 +1,67 @@
+% Modify a set of "bold" parameters to make them suitable for a
+% bolded math font. This is used to turn CMBX into CMBSY and CMMIB.
+
+% AMS doubles cmbx's values for cmbsy. But we can't just multiply
+% c-cmbx's value of |letter_fit| by two, since that introduces round-off
+% error -- cmbsy5's value should be 0.16667, not 0.16666. So instead we
+% halve the divisor.
+letter_fit#:= % extra space added to all sidebars
+ (if design_size < 8: (-(design_size*10)+80)
+ else: (0)fi)/180pt#;
+
+% Version 2.1 of the AMS fonts has confused values for this -- 5--8pt
+% are whole numbers 9--12pt#, while 9pt is 13/36pt#. CM's 10pt value
+% is also 13/36pt#.
+crisp#:= % diameter of serif corners
+ (if design_size < 9: (design_size + 4pt#)
+ else: ((crisp#*360pt#) + (design_size * 13))/360pt#
+ fi);
+
+% cmbsy5=23, cmbsy6=27, cmbsy7=31, cmbsy8=34, cmbsy9=37, cmbsy10=40.
+stem#:= % lowercase stem breadth
+ (if design_size <= 7: ((design_size - 5pt#) * 4pt# + 23pt#)
+ else: ((design_size - 8pt#) * 3pt# + 34pt#)
+ fi) / 36pt#;
+
+curve#:= % lowercase curve breadth
+ (if design_size < 10: ((design_size - 5pt#) * 4pt# + 26pt#)
+ else: ((design_size - 10pt#) * 3pt# + 45pt#)
+ fi) / 36pt#;
+
+ess#:= % breadth in middle of lowercase s
+ ((ess#*360pt#) - (design_size * 2))/360pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ ((flare#*360pt#) - (design_size * 3))/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ ((cap_stem#*360pt#) - (design_size * 1) - 0.0004)/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ (if design_size < 10:
+ ((design_size - 5pt#) * 5pt# + 30pt#)
+ else:
+ ((design_size - 10pt#) * 3pt# + 53pt#)
+ fi) / 36pt#;
+% ((cap_curve#*360pt#) - (design_size * 2) + 0.0025)/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ ((cap_ess#*360pt#) - (design_size * 2))/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ ((jut#*360pt#) + (design_size * 2))/360pt#;
+
+o#:= % amount of overshoot for curves
+ ((o#*360pt#) + (design_size * 2))/360pt#;
+
+apex_o#:= % amount of overshoot for diagonal junctions
+ ((apex_o#*360pt#) + (design_size * 3) + 0.001)/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0.25;
+
+variant_g:= % should an italic-style g be used?
+ true;
+
+math_fitting:= % should math-mode spacing be used?
+ true;
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmbx.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmbx.mf
new file mode 100644
index 00000000000..7b5e00ff8b7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmbx.mf
@@ -0,0 +1,246 @@
+% Compute the font construction parameters for the Computer
+% Modern Bold Extended family. Some other fonts in the
+% Computer Modern family compute their parameters as
+% modifications of these.
+
+u#:= % unit width
+ (if design_size < 10: ((design_size*17)+60)
+ else: ((design_size*20)+30)fi)/360pt#;
+
+width_adj#:= % width adjustment for certain characters
+ (if design_size < 10: ((design_size*8)+30)
+ else: ((design_size*10)+10)fi)/360pt#;
+
+serif_fit#:= % extra sidebar near lowercase serifs
+ 0pt#;
+
+cap_serif_fit#:= % extra sidebar near uppercase serifs
+ (if design_size < 10: ((design_size*8)-10)
+ else: ((design_size*5)+20)fi)/360pt#;
+
+letter_fit#:= % extra space added to all sidebars
+ (if design_size < 8: (-(design_size*10)+80)
+ else: (0)fi)/360pt#;
+
+body_height#:= % height of tallest characters
+ (design_size*270)/360pt#;
+
+asc_height#:= % height of lowercase ascenders
+ (design_size*250)/360pt#;
+
+cap_height#:= % height of caps
+ (design_size*247)/360pt#;
+
+fig_height#:= % height of numerals
+ ((design_size*232) + 0.00006)/360pt#;
+
+x_height#:= % height of lowercase without ascenders
+ (design_size*160)/360pt#;
+
+math_axis#:= % axis of symmetry for math symbols
+ (design_size*90)/360pt#;
+
+bar_height#:= % height of crossbar in lowercase e
+ (if design_size < 10: ((design_size*90)-50)
+ else: (design_size*85)fi)/360pt#;
+
+comma_depth#:= % depth of comma below baseline
+ (design_size*70)/360pt#;
+
+desc_depth#:= % depth of lowercase descenders
+ (design_size*70)/360pt#;
+
+crisp#:= % diameter of serif corners
+ 0/360pt#;
+
+tiny#:= % diameter of rounded corners
+ (if design_size < 9: ((design_size*10)+40)
+ else: (130)fi)/360pt#;
+
+fine#:= % diameter of sharply rounded corners
+ (if design_size < 6: ((design_size*10)+30)
+ elseif design_size < 7: (90)
+ elseif design_size < 8: ((design_size*10)+20)
+ else: (100)fi)/360pt#;
+
+thin_join#:= % width of extrafine details
+ (if design_size < 6: ((design_size*10)+30)
+ elseif design_size < 7: (90)
+ elseif design_size < 8: ((design_size*10)+20)
+ elseif design_size < 10: (100)
+ else: ((design_size*2.5)+75)fi)/360pt#;
+
+hair#:= % lowercase hairline breadth
+ (if design_size < 10: ((design_size*4)+130)
+ else: ((design_size*6.5)+105)fi)/360pt#;
+
+stem#:= % lowercase stem breadth
+ (if design_size < 7: ((design_size*40)+40)
+ else: ((design_size*30)+110)fi)/360pt#;
+
+curve#:= % lowercase curve breadth
+ (if design_size < 9: ((design_size*40)+70)
+ else: ((design_size*30)+160)fi)/360pt#;
+
+ess#:= % breadth in middle of lowercase s
+ (if design_size < 7: (-(design_size*design_size*10) +
+ (design_size*170)-410)
+ else: ((design_size*30)+80)fi)/360pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ (if design_size < 8: ((design_size*40)+70)
+ else: ((design_size*30)+150)fi)/360pt#;
+
+dot_size#:= % diameter of dots
+ (if design_size < 10: ((design_size*50)+60)
+ else: ((design_size*30)+260)fi)/360pt#;
+
+cap_hair#:= % uppercase hairline breadth
+ (if design_size < 6: ((design_size*10)+120)
+ elseif design_size < 7: (180)
+ elseif design_size < 8: ((design_size*10)+110)
+ elseif design_size < 9: (190)
+ else: ((design_size*5)+140)fi)/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ (if design_size < 8: ((design_size*50)+30)
+ elseif design_size < 10: ((design_size*40)+110)
+ else: ((design_size*30)+210)fi)/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ (if design_size < 9: ((design_size*50)+60)
+ elseif design_size < 10: ((design_size*40)+150)
+ else: ((design_size*30)+250)fi)/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ (if design_size < 7: (-(design_size*design_size*5) +
+ (design_size*125) - 260)
+ elseif design_size < 9: (-(design_size*design_size*5) +
+ (design_size*135) - 330)
+ elseif design_size < 10: ((design_size*50)+30)
+ else: ((design_size*30)+230)fi)/360pt#;
+
+rule_thickness#:= % thickness of lines in math symbols
+ (if design_size < 7: ((design_size*4)+23)
+ else: ((design_size*3)+30)fi)/100pt#;
+
+dish#:= % amount erased at top or bottom of serifs
+ (if design_size < 8: ((design_size*1)+2)
+ else: (10)fi)/360pt#;
+
+bracket#:= % vertical distance from serif base to tangent
+ (design_size*10)/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ (if design_size < 8: ((design_size*20)+30)
+ elseif design_size < 10: ((design_size*30)-50)
+ else: (design_size*25)fi)/360pt#;
+
+cap_jut#:= % protrusion of uppercase serifs
+ (if design_size < 10: ((design_size*40)-10)
+ else: ((design_size*35)+40)fi)/360pt#;
+
+beak_jut#:= % horizontal protrusion of beak serifs
+ (if design_size < 10: ((design_size*8)+30)
+ else: ((design_size*7)+40)fi)/360pt#;
+
+beak#:= % vertical protrusion of beak serifs
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*165) - 450)
+ else: (design_size*70)fi)/360pt#;
+
+vair#:= % vertical diameter of hairlines
+ (if design_size < 6: ((design_size*10)+50)
+ elseif design_size < 10: ((design_size*5)+80)
+ else: ((design_size*6.5)+65)fi)/360pt#;
+
+notch_cut#:= % maximum breadth above or below notches
+ (design_size) * pt#;
+
+bar#:= % lowercase bar thickness
+ (if design_size < 10: ((design_size*10)+70)
+ else: ((design_size*7.5)+95)fi)/360pt#;
+
+slab#:= % serif and arm thickness
+ (if design_size < 10: ((design_size*10)+70)
+ else: ((design_size*7.5)+95)fi)/360pt#;
+
+cap_bar#:= % uppercase bar thickness
+ (if design_size < 10: ((design_size*10)+70)
+ else: ((design_size*7.5)+95)fi)/360pt#;
+
+cap_band#:= % uppercase thickness above/below lobes
+ (if design_size < 10: ((design_size*10)+70)
+ else: ((design_size*7.5)+95)fi)/360pt#;
+
+cap_notch_cut#:= % max breadth above/below uppercase notches
+ (design_size) * pt#;
+
+serif_drop#:= % vertical drop of sloped serifs
+ (design_size*3)/360pt#;
+
+stem_corr#:= % for small refinements of stem breadth
+ (if design_size < 10: ((design_size*1)+10)
+ else: (20)fi)/360pt#;
+
+vair_corr#:= % for small refinements of hairline height
+ (if design_size < 10: ((design_size*1)+5)
+ else: (15)fi)/360pt#;
+
+apex_corr#:= % extra width at diagonal junctions
+ (if design_size < 8: ((design_size*design_size*5) -
+ (design_size*95)+440)
+ else: (0)fi)/360pt#;
+
+o#:= % amount of overshoot for curves
+ (if design_size < 7: (30)
+ elseif design_size < 8: ((design_size*10)-40)
+ elseif design_size < 10: (40)
+ else: ((design_size*5)-10)fi)/360pt#;
+
+apex_o#:= % amount of overshoot for diagonal junctions
+ (if design_size < 10: (30)
+ else: ((design_size*5)-20)fi)/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0;
+
+fudge:= % factor applied to weights of heavy characters
+ 1;
+
+math_spread:= % extra openness of math symbols
+ (if design_size < 10: (-(design_size*20)+250)
+ else: (-(design_size*5)+100)fi)/100;
+
+superness:= % parameter for superellipses
+ 8/11;
+
+superpull:= % extra openness inside bowls
+ 1/8;
+
+beak_darkness:= % fraction of triangle inside beak serifs
+ 0.4;
+
+ligs:= % level of ligatures to be included
+ 2;
+
+square_dots:= % should dots be square?
+ false;
+
+hefty:= % should we try hard not to be overweight?
+ false;
+
+serifs:= % should serifs and bulbs be attached?
+ true;
+
+monospace:= % should all characters have the same width?
+ false;
+
+variant_g:= % should an italic-style g be used?
+ false;
+
+low_asterisk:= % should the asterisk be centered at the axis?
+ false;
+
+math_fitting:= % should math-mode spacing be used?
+ false;
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmex.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmex.mf
new file mode 100644
index 00000000000..34fa49c5cfb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmex.mf
@@ -0,0 +1,34 @@
+% Computer Modern Math Extension
+% This font has the same parameters as Computer Modern Roman,
+% plus a few, and a different set of characters.
+
+input c-cmr;
+
+if design_size <= 7pt#:
+ letter_fit# := ((8pt# - design_size) * 4pt#) / 36pt#;
+fi;
+
+% the following font parameters are explained in {\sl The \TeX book},
+Appendix G
+fontdimen 8: % parameters $\xi_8$ through $\xi_{13}$ will now be listed
+ rule_thickness#, % default\_rule\_thickness
+
+% fontdimen 9
+ ((design_size - 7pt#) * 4pt# + 28pt#) / 36pt#, % big\_op\_spacing1
+
+% fontdimen 10
+ ((design_size - 7pt#) * 6pt# + 42pt#) / 36pt#, % big\_op\_spacing2
+
+% fontdimen 11
+ ((design_size - 7pt#) * 7.2pt# + 50.4pt#) / 36pt#, % big\_op\_spacing3
+
+% fontdimen 12
+% cmex7=154, cmex8=175, cmex9=196, cmex=216. Argh.
+ ((design_size - 7pt#) * 21pt# + 154pt#
+ - (if design_size >= 10pt#: 1pt# else: 0pt# fi))
+ / 36pt#, % big\_op\_spacing4
+
+% fontdimen 13
+ 36 / 36pt#; % big\_op\_spacing5
+
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmff.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmff.mf
new file mode 100644
index 00000000000..05246a8a2d6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmff.mf
@@ -0,0 +1,71 @@
+% Parameters for CMFF and CMFI fonts.
+
+u#:=(16*(design_size/10))/36pt#; % unit width
+width_adj#:=(-16*(design_size/10))/36pt#; % width adjustment for certain characters
+serif_fit#:=(-3*(design_size/10))/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=(-4*(design_size/10))/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=(2*(design_size/10))/36pt#; % extra space added to all sidebars
+
+body_height#:=(240*(design_size/10))/36pt#; % height of tallest characters
+asc_height#:=(220*(design_size/10))/36pt#; % height of lowercase ascenders
+cap_height#:=(225*(design_size/10))/36pt#; % height of caps
+fig_height#:=(210*(design_size/10))/36pt#; % height of numerals
+x_height#:=(190*(design_size/10))/36pt#; % height of lowercase without ascenders
+math_axis#:=(55*(design_size/10))/36pt#; % axis of symmetry for math symbols
+bar_height#:=(60*(design_size/10))/36pt#; % height of crossbar in lowercase e
+comma_depth#:=(70*(design_size/10))/36pt#; % depth of comma below baseline
+desc_depth#:=(100*(design_size/10))/36pt#; % depth of lowercase descenders
+
+crisp#:=(10*(design_size/10))/36pt#; % diameter of serif corners
+tiny#:=0pt#; % diameter of rounded corners
+fine#:=0pt#; % diameter of sharply rounded corners
+thin_join#:=(14*(design_size/10))/36pt#; % width of extrafine details
+hair#:=(12*(design_size/10))/36pt#; % lowercase hairline breadth
+stem#:=(16*(design_size/10))/36pt#; % lowercase stem breadth
+curve#:=(20*(design_size/10))/36pt#; % lowercase curve breadth
+ess#:=(22*(design_size/10))/36pt#; % breadth in middle of lowercase s
+flare#:=(24*(design_size/10))/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=(26*(design_size/10))/36pt#; % diameter of dots
+cap_hair#:=(16*(design_size/10))/36pt#; % uppercase hairline breadth
+cap_stem#:=(24*(design_size/10))/36pt#; % uppercase stem breadth
+cap_curve#:=(26*(design_size/10))/36pt#; % uppercase curve breadth
+cap_ess#:=(28*(design_size/10))/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=(.5*(design_size/10))*pt#; % thickness of lines in math symbols
+
+dish#:=(5*(design_size/10))/36pt#; % amount erased at top or bottom of serifs
+bracket#:=(20*(design_size/10))/36pt#; % vertical distance from serif base to tangent
+jut#:=(3*(design_size/10))/36pt#; % protrusion of lowercase serifs
+cap_jut#:=(4*(design_size/10))/36pt#; % protrusion of uppercase serifs
+beak_jut#:=(-8*(design_size/10))/36pt#; % horizontal protrusion of beak serifs
+beak#:=(10*(design_size/10))/36pt#; % vertical protrusion of beak serifs
+vair#:=(14*(design_size/10))/36pt#; % vertical diameter of hairlines
+notch_cut#:=(2*(design_size/10))/36pt#; % maximum breadth above or below notches
+bar#:=(17*(design_size/10))/36pt#; % lowercase bar thickness
+slab#:=(20*(design_size/10))/36pt#; % serif and arm thickness
+cap_bar#:=(22*(design_size/10))/36pt#; % uppercase bar thickness
+cap_band#:=(17*(design_size/10))/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=(3*(design_size/10))/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=(-10*(design_size/10))/36pt#; % vertical drop of sloped serifs
+stem_corr#:=(-1*(design_size/10))/36pt#; % for small refinements of stem breadth
+vair_corr#:=(-1*(design_size/10))/36pt#; % for small refinements of hairline height
+apex_corr#:=(6*(design_size/10))/36pt#; % extra width at diagonal junctions
+
+o#:=(4*(design_size/10))/36pt#; % amount of overshoot for curves
+apex_o#:=(9*(design_size/10))/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=-.1; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=2/3; % parameter for superellipses
+superpull:=-1/8; % extra openness inside bowls
+beak_darkness:=.5; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmmi.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmmi.mf
new file mode 100644
index 00000000000..0ca62fa4031
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmmi.mf
@@ -0,0 +1,80 @@
+% Compute the font construction parameters for the Computer
+% Modern Math Italic family. The parameters are mostly the
+% same as Computer Modern Roman, with differences as noted
+% below.
+% Changes[Sauter-2.4] New formula for cap_ess for design_sizes >12pt#,
+% this avoids the letter `S' becoming too thin at large sizes, the
+% metrics aren't affected by this change.
+
+input c-cmr;
+
+letter_fit#:= % extra space added to all sidebars
+ (if design_size < 6: (-(design_size*40)+300)
+ elseif design_size < 7: (-(design_size*20)+180)
+ elseif design_size < 8: (-(design_size*40)+320)
+ else: (0)fi)/360pt#;
+
+crisp#:= % diameter of serif corners
+ (if design_size < 7: ((design_size*5)+35)
+ elseif design_size < 8: (design_size*10)
+ else: (80)fi)/360pt#;
+
+tiny#:= % diameter of rounded corners
+ (if design_size < 7: ((design_size*5)+35)
+ elseif design_size < 8: (design_size*10)
+ else: (80)fi)/360pt#;
+
+stem#:= % lowercase stem breadth
+ (if design_size < 8: ((design_size*20)+55)
+ elseif design_size < 9: ((design_size*15)+95)
+ elseif design_size < 10: ((design_size*10)+140)
+ else: ((design_size*15)+90)fi)/360pt#;
+
+curve#:= % lowercase curve breadth
+ (if design_size < 8: ((design_size*25)+50)
+ elseif design_size < 10: ((design_size*20)+90)
+ else: ((design_size*15)+140)fi)/360pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ (if design_size < 6: ((design_size*20)+85)
+ elseif design_size < 8: ((design_size*30)+25)
+ elseif design_size < 9: ((design_size*25)+65)
+ elseif design_size < 10: ((design_size*30)+20)
+ else: ((design_size*15)+170)fi)/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ (if design_size < 7: ((design_size*25)+60)
+ elseif design_size < 8: ((design_size*20)+95)
+ elseif design_size < 9: ((design_size*25)+55)
+ elseif design_size < 10: ((design_size*20)+100)
+ else: ((design_size*15)+150)fi)/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ (if design_size < 7: ((design_size*30)+55)
+ elseif design_size < 8: ((design_size*25)+90)
+ elseif design_size < 10: ((design_size*30)+50)
+ else: ((design_size*15)+200)fi)/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ (if design_size < 6: ((design_size*50)-115)
+ elseif design_size < 7: ((design_size*40)-55)
+ elseif design_size < 8: ((design_size*35)-20)
+ elseif design_size < 9: ((design_size*40)-60)
+ elseif design_size < 10: ((design_size*30)+30)
+ elseif design_size < 12: (-(design_size*5)+380)
+ else: (design_size*9 + 216)fi)/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ (if design_size < 7: ((design_size*20)+70)
+ elseif design_size < 10: (design_size*30)
+ else: ((design_size*25)+50)fi)/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0.25;
+
+variant_g:= % should an italic-style g be used?
+ true;
+
+math_fitting:= % should math-mode spacing be used?
+ true;
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmr.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmr.mf
new file mode 100644
index 00000000000..6de85a5e3d3
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmr.mf
@@ -0,0 +1,348 @@
+% Compute the font construction parameters for the Computer
+% Modern Roman family. Some other Computer Modern families
+% compute their parameters as modifications of these.
+
+u#:= % unit width
+ (if design_size < 10: ((design_size*15)+50)
+%elseif design_size < 12: ((design_size*17.5)+25)
+ else: (-(0.062437562437*design_size*design_size) +
+ (18.8736263736*design_size) +
+ (17.5074925074))fi)/360pt#;
+
+width_adj#:= % width adjustment for certain characters
+ 0pt#;
+
+serif_fit#:= % extra sidebar near lowercase serifs
+ 0pt#;
+
+cap_serif_fit#:= % extra sidebar near uppercase serifs
+ (if design_size < 9: ((-0.5*design_size*design_size)+
+ (13.5*design_size)-35)
+ elseif design_size < 10: ((design_size*4)+10)
+ else: (((0.022893772893*design_size*design_size) +
+ (3.4963369963*design_size) +
+ (12.7472527472))+0.002)fi)/360pt#;
+
+letter_fit#:= % extra space added to all sidebars
+ (if design_size < 6: (-(design_size*20)+150)
+ elseif design_size < 7: (-(design_size*10)+90)
+ elseif design_size < 8: (-(design_size*20)+160)
+ elseif design_size < 10: (0)
+ else: (-(0.9365634365616*design_size*design_size)+
+ (20.60439560424*design_size) -
+ (112.38761238732))fi)/360pt#;
+
+body_height#:= % height of tallest characters
+ (if design_size < 10: (design_size*270)
+ else: (-(0.14568764568*design_size*design_size) +
+ (273.205128205*design_size) -
+ (17.482517482))fi)/360pt#;
+
+asc_height#:= % height of lowercase ascenders
+ (design_size*250)/360pt#;
+
+cap_height#:= % height of caps
+ (if design_size < 10: (design_size*246)
+ else: (-(0.0228937728937*design_size*design_size) +
+ (246.503663003*design_size) -
+ (2.74725274725))fi)/360pt#;
+
+fig_height#:= % height of numerals
+ (if design_size < 10: ((design_size*232)+0.00006)
+ else: ((0.0270562770562*design_size*design_size) +
+ (231.404761904*design_size) +
+ (3.24675324675))fi)/360pt#;
+
+x_height#:= % height of lowercase without ascenders
+ (if design_size < 10: (design_size*155)
+ else: (-(0.010406260406*design_size*design_size) +
+ (155.22893772*design_size) -
+ (1.2487512487))fi)/360pt#;
+
+math_axis#:= % axis of symmetry for math symbols
+ (if design_size < 10: (design_size*90)
+ else: (-(0.00520313020313*design_size*design_size) +
+ (90.1144688644*design_size) -
+ (0.624375624375))fi)/360pt#;
+
+bar_height#:= % height of crossbar in lowercase e
+ (if design_size < 10: (design_size*87)
+ else: ((-(0.087412587412*design_size*design_size) +
+ (88.923076923*design_size) -
+ (10.4895104895))+0.0008)fi)/360pt#;
+
+comma_depth#:= % depth of comma below baseline
+ (if design_size < 10: (design_size*70)
+ else: ((0.010406260406*design_size*design_size) +
+ (69.771062271*design_size) +
+ (1.2487512487))fi)/360pt#;
+
+desc_depth#:= % depth of lowercase descenders
+ (if design_size < 10: (design_size*70)
+ else: ((0.010406260406*design_size*design_size) +
+ (69.771062271*design_size) +
+ (1.2487512487))fi)/360pt#;
+
+crisp#:= % diameter of serif corners
+ 0/360pt#;
+
+tiny#:= % diameter of rounded corners
+ (if design_size < 6: ((design_size*10)+10)
+ elseif design_size < 7: (70)
+ elseif design_size < 8: (design_size*10)
+ else: (80)fi)/360pt#;
+
+fine#:= % diameter of sharply rounded corners
+ (if design_size < 6: (design_size*10)
+ elseif design_size < 7: (60)
+ elseif design_size < 8: ((design_size*10)-10)
+ else: (70)fi)/360pt#;
+
+thin_join#:= % width of extrafine details
+ (if design_size < 6: (design_size*10)
+ elseif design_size < 7: (60)
+ elseif design_size < 8: ((design_size*10)-10)
+ elseif design_size < 10: (70)
+%elseif design_size < 12: ((design_size*2.5)+45)
+ else: ((0.046828171828*design_size*design_size) +
+ (1.4697802197*design_size) +
+ (50.6193806193))fi)/360pt#;
+
+hair#:= % lowercase hairline breadth
+ (if design_size < 8: ((design_size*5)+50)
+ elseif design_size < 10: (90)
+%elseif design_size < 12: ((design_size*2.5)+65)
+ else: ((0.046828171828*design_size*design_size) +
+ (1.4697802197*design_size) +
+ (70.6193806193))fi)/360pt#;
+
+stem#:= % lowercase stem breadth
+ (if design_size < 9: ((design_size*20)+60)
+ elseif design_size < 10: ((design_size*10)+150)
+ elseif design_size < 12: ((design_size*15)+100)
+ else: ((design_size*9.4696969696)+166.36363637)fi)/360pt#;
+
+curve#:= % lowercase curve breadth
+ (if design_size < 9: ((design_size*25)+55)
+ elseif design_size < 10: ((design_size*20)+100)
+ elseif design_size < 40: ((-0.23934398934*design_size*design_size) +
+ (20.265567765*design_size) +
+ (121.278721278))
+ else: (548.951048934)fi)/360pt#;
+
+ess#:= % breadth in middle of lowercase s
+ (if design_size < 7: (-(design_size*design_size*5) +
+ (design_size*105)-280)
+ elseif design_size < 10: ((design_size*20)+70)
+ elseif design_size < 12: ((design_size*15)+120)
+ else: ((design_size*9.4696969696)+186.36363637)fi)/360pt#;
+
+
+flare#:= % diameter of bulbs or breadth of terminals
+ (if design_size < 6: ((design_size*20)+90)
+ elseif design_size < 10: ((design_size*30)+30)
+%elseif design_size < 12: ((design_size*15)+180)
+ else: ((0.280969030969*design_size*design_size) +
+ (8.8186813186*design_size) +
+ (213.71628317))fi)/360pt#;
+
+dot_size#:= % diameter of dots
+ (if design_size < 6: ((design_size*40)+20)
+ elseif design_size < 10: ((design_size*30)+80)
+ elseif design_size < 12: ((design_size*20)+180)
+ else: ((design_size*17.0454545454)+215.45454546)fi)/360pt#;
+
+cap_hair#:= % uppercase hairline breadth
+ (if design_size < 9: ((design_size*5)+55)
+ elseif design_size < 10: ((design_size*10)+10)
+%elseif design_size < 12: ((design_size*2.5)+85)
+ else: ((0.046828171828*design_size*design_size) +
+ (1.4697802197*design_size) +
+ (90.6193806193))fi)/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ (if design_size < 9: ((design_size*25)+65)
+ elseif design_size < 10: ((design_size*30)+20)
+ elseif design_size < 12: ((design_size*15)+170)
+ elseif design_size < 30: ((-0.4995004995*design_size*design_size) +
+ (25.989010989*design_size) +
+ (110.059940059))
+ else: (440.179820179)fi)/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ (if design_size < 9: ((design_size*30)+60)
+ elseif design_size < 10: ((design_size*40)-30)
+%elseif design_size < 12: ((design_size*15)+220)
+ elseif design_size < 45: ((-0.23934398934*design_size*design_size) +
+ (20.265567765*design_size) +
+ (191.278721278))
+ else: (618.557692303)fi)/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ (if design_size < 6: ((design_size*50)-110)
+ elseif design_size < 10: ((design_size*40)-50)
+ elseif design_size < 12: ((design_size*15)+200)
+ else: ((design_size*9.46969696)+266.36363637)fi)/360pt#;
+
+rule_thickness#:= % thickness of lines in math symbols
+ (if design_size < 7: ((design_size*3)+13)
+ elseif design_size < 12: ((design_size*2)+20)
+ else: ((design_size*3.0303030303)+7.6363636364)fi)/100pt#;
+
+dish#:= % amount erased at top or bottom of serifs
+ (if design_size < 8: ((design_size*1)+2)
+ else: (10)fi)/360pt#;
+
+bracket#:= % vertical distance from serif base to tangent
+ (if design_size < 10: (design_size*20)
+ else: (-(0.145687645687*design_size*design_size) +
+ (23.2051282051*design_size) -
+ (17.4825174825))fi)/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ (if design_size < 7: ((design_size*20)+50)
+ elseif design_size < 10: ((design_size*30)-20)
+ elseif design_size < 12: ((design_size*25)+30)
+ else: ((design_size*17.0454545454)+125.45454546)fi)/360pt#;
+
+cap_jut#:= % protrusion of uppercase serifs
+ (if design_size < 8: ((design_size*30)+50)
+ elseif design_size < 10: ((design_size*40)-30)
+ elseif design_size < 12: ((design_size*20)+170)
+ else: ((design_size*17.0454545454)+205.45454546)fi)/360pt#;
+
+beak_jut#:= % horizontal protrusion of beak serifs
+ (if design_size < 10: ((design_size*8)+20)
+%elseif design_size < 12: ((design_size*7)+30)
+ else: ((-(0.024975024975*design_size*design_size) +
+ (7.5494505494*design_size) +
+ (27.0029970029))+0.0005)fi)/360pt#;
+
+beak#:= % vertical protrusion of beak serifs
+ (if design_size < 10: (design_size*70)
+ else: ((0.010406260406*design_size*design_size) +
+ (69.771062271*design_size) +
+ (1.2487512487))fi)/360pt#;
+
+vair#:= % vertical diameter of hairlines
+ (if design_size < 6: ((design_size*10)+10)
+ elseif design_size < 7: (70)
+ elseif design_size < 8: (design_size*10)
+ elseif design_size < 10: (80)
+%elseif design_size < 12: ((design_size*2.5)+55)
+ else: (((0.046828171828*design_size*design_size) +
+ (1.4697802197*design_size) +
+ (60.6193806193))-0.00013)fi)/360pt#;
+
+notch_cut#:= % maximum breadth above or below notches
+ (if design_size < 10: (design_size*100)
+ else: (-(0.728438228438*design_size*design_size) +
+ (116.02564102*design_size) -
+ (87.4125874125))fi)/100pt#;
+
+bar#:= % lowercase bar thickness
+ (if design_size < 9: ((design_size*5)+55)
+ elseif design_size < 10: ((design_size*10)+10)
+ elseif design_size < 12: ((design_size*7.5)+35)
+ else: ((design_size*6.6287878787)+45.45454546)fi)/360pt#;
+
+slab#:= % serif and arm thickness
+ (if design_size < 9: ((design_size*5)+55)
+ elseif design_size < 10: ((design_size*10)+10)
+ elseif design_size < 12: ((design_size*7.5)+35)
+ else: ((design_size*6.6287878787)+45.45454546)fi)/360pt#;
+
+cap_bar#:= % uppercase bar thickness
+ (if design_size < 9: ((design_size*5)+55)
+ elseif design_size < 10: ((design_size*10)+10)
+ elseif design_size < 12: ((design_size*7.5)+35)
+ else: ((design_size*6.6287878787)+45.45454546)fi)/360pt#;
+
+cap_band#:= % uppercase thickness above/below lobes
+ (if design_size < 9: ((design_size*5)+55)
+ elseif design_size < 10: ((design_size*10)+10)
+ elseif design_size < 12: ((design_size*7.5)+35)
+ else: ((design_size*6.6287878787)+45.45454546)fi)/360pt#;
+
+cap_notch_cut#:= % max breadth above/below uppercase notches
+ (if design_size < 10: (design_size*100)
+ else: (-(0.72843822843*design_size*design_size) +
+ (116.025641025*design_size) -
+ (87.412587412))fi)/100pt#;
+
+serif_drop#:= % vertical drop of sloped serifs
+ (if design_size < 12: (design_size*4)
+ else: ((design_size*design_size*0.0228937728937) +
+ (design_size * 3.49633699633) +
+ 2.74725274725)fi)/360pt#;
+
+stem_corr#:= % for small refinements of stem breadth
+ (if design_size < 8: ((design_size*1)+2)
+ else: (10)fi)/360pt#;
+
+vair_corr#:= % for small refinements of hairline height
+ (if design_size < 7: ((design_size*2)-5)
+ elseif design_size < 8: (-(design_size*design_size*0.5) +
+ (design_size*8.5) - 26)
+ else: (10)fi)/360pt#;
+
+apex_corr#:= % extra width at diagonal junctions
+ 0pt#;
+
+o#:= % amount of overshoot for curves
+ (if design_size < 7: ((design_size*5)+15)
+ elseif design_size < 10: ((design_size*10)-20)
+ elseif design_size < 12: ((design_size*5)+30)
+ else: ((design_size*1.8939393939)+67.2727272732)fi)/360pt#;
+
+apex_o#:= % amount of overshoot for diagonal junctions
+ (if design_size < 7: ((design_size*5)+15)
+ elseif design_size < 10: ((design_size*10)-20)
+ elseif design_size < 12: ((design_size*5)+30)
+ else: ((design_size*1.8939393939)+67.2727272732)fi)/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0;
+
+fudge:= % factor applied to weights of heavy characters
+ 1;
+
+math_spread:= % extra openness of math symbols
+ (if design_size < 10: (-(design_size*200)+2000)
+ elseif design_size < 12: (-(design_size*100)+1000)
+ else: (-(design_size*37.8787878787)+254.545454)fi)/1000;
+
+superness:= % parameter for superellipses
+ 1/sqrt2;
+
+superpull:= % extra openness inside bowls
+ 1/6;
+
+beak_darkness:= % fraction of triangle inside beak serifs
+ 11/30;
+
+ligs:= % level of ligatures to be included
+ (if design_size < 6: (1)
+ else: (2)fi);
+
+square_dots:= % should dots be square?
+ false;
+
+hefty:= % should we try hard not to be overweight?
+ false;
+
+serifs:= % should serifs and bulbs be attached?
+ true;
+
+monospace:= % should all characters have the same width?
+ false;
+
+variant_g:= % should an italic-style g be used?
+ false;
+
+low_asterisk:= % should the asterisk be centered at the axis?
+ false;
+
+math_fitting:= % should math-mode spacing be used?
+ false;
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmss.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmss.mf
new file mode 100644
index 00000000000..0918e750643
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmss.mf
@@ -0,0 +1,329 @@
+% Compute the font construction parameters for the Computer
+% Modern Sans-Serif family. Some other Computer Modern families
+% compute their parameters as modifications of these.
+
+u#:= % unit width
+ (if design_size < 10: ((design_size*15)+50)
+%elseif design_size < 12: ((design_size*17.5)+25)
+ else: (-(0.0624375624375*design_size*design_size) +
+ (18.873626373*design_size) +
+ (17.507492507))fi)/360pt#;
+
+width_adj#:= % width adjustment for certain characters
+ (if design_size < 9: ((design_size*10)+40)
+ elseif design_size < 10: ((design_size*20)-50)
+%elseif design_size < 12: ((design_size*10)+50)
+ else: (((0.44746919746*design_size*design_size) +
+ (0.15567765567*design_size) +
+ (103.696303696))+0.0008)fi)/360pt#;
+
+serif_fit#:= % extra sidebar near lowercase serifs
+ (if design_size < 10: (-(design_size*5)-20)
+ elseif design_size < 12: (-(design_size*10)+30)
+ else: (-(design_size*5.6818181818)-21.8181818184)fi)/360pt#;
+
+cap_serif_fit#:= % extra sidebar near uppercase serifs
+ (if design_size < 9: (-(design_size*5)-45)
+ elseif design_size < 10: (-design_size*10)
+ elseif design_size < 12: (-(design_size*15)+50)
+ else: (-(design_size*7.5757575757)-39.0909091)fi)/360pt#;
+
+letter_fit#:= % extra space added to all sidebars
+ 0pt#;
+
+body_height#:= % height of tallest characters
+ (if design_size < 10: (design_size*270)
+ else: (-(0.14568764568*design_size*design_size) +
+ (273.205128205*design_size) -
+ (17.482517482))fi)/360pt#;
+
+asc_height#:= % height of lowercase ascenders
+ (design_size*250)/360pt#;
+
+cap_height#:= % height of caps
+ (design_size*250)/360pt#;
+
+fig_height#:= % height of numerals
+ (if design_size < 9: ((design_size*230)+50)
+ elseif design_size < 10: ((design_size*240)-40)
+%elseif design_size < 12: ((design_size*235)+10)
+ else: (((0.23934398934*design_size*design_size) +
+ (229.734432234*design_size) +
+ (38.721278721))-0.00068)fi)/360pt#;
+
+x_height#:= % height of lowercase without ascenders
+ (if design_size < 10: (design_size*160)
+ else: (-(2.25815850815*design_size*design_size) +
+ (209.679487179*design_size) -
+ (270.979020979))fi)/360pt#;
+
+math_axis#:= % axis of symmetry for math symbols
+ (if design_size < 10: (design_size*90)
+ else: ((-0.0052031302031*design_size*design_size) +
+ (90.11446864*design_size) -
+ (0.62437562437))fi)/360pt#;
+
+bar_height#:= % height of crossbar in lowercase e
+ (if design_size < 10: ((design_size*80)-10)
+ elseif design_size < 12: ((design_size*90)-110)
+ else: ((design_size*73.863636363)+83.636363644)fi)/360pt#;
+
+comma_depth#:= % depth of comma below baseline
+ (if design_size < 10: ((design_size*40)+50)
+%elseif design_size < 12: (design_size*45)
+ else: ((0.0624375624375*design_size*design_size) +
+ (43.626373626*design_size) +
+ (7.4925074925))fi)/360pt#;
+
+desc_depth#:= % depth of lowercase descenders
+ (if design_size < 10: (design_size*70)
+ else: ((0.0104062604062*design_size*design_size) +
+ (69.771062271*design_size) +
+ (1.24875124875))fi)/360pt#;
+
+crisp#:= % diameter of serif corners
+ 0pt#;
+
+tiny#:= % diameter of rounded corners
+ 0pt#;
+
+fine#:= % diameter of sharply rounded corners
+ 0pt#;
+
+thin_join#:= % width of extrafine details
+ (if design_size < 10: ((design_size*10)+70)
+%elseif design_size < 12: ((design_size*15)+20)
+ else: ((0.0208125208125*design_size*design_size) +
+ (14.542124542*design_size) +
+ (22.497502497))fi)/360pt#;
+
+hair#:= % lowercase hairline breadth
+ (if design_size < 9: ((design_size*20)+90)
+ elseif design_size < 10: ((design_size*10)+180)
+%elseif design_size < 12: ((design_size*25)+30)
+ else: (((0.20812520812*design_size*design_size) +
+ (20.421245421*design_size) +
+ (54.975024975))-0.0003)fi)/360pt#;
+
+stem#:= % lowercase stem breadth
+ (if design_size < 9: ((design_size*20)+90)
+ elseif design_size < 10: ((design_size*10)+180)
+%elseif design_size < 12: ((design_size*25)+30)
+ else: (((0.20812520812*design_size*design_size) +
+ (20.421245421*design_size) +
+ (54.975024975))-0.0003)fi)/360pt#;
+
+curve#:= % lowercase curve breadth
+ (if design_size < 9: ((design_size*20)+90)
+ elseif design_size < 10: ((design_size*10)+180)
+%elseif design_size < 12: ((design_size*25)+30)
+ else: (((0.20812520812*design_size*design_size) +
+ (20.421245421*design_size) +
+ (54.975024975))-0.0003)fi)/360pt#;
+
+ess#:= % breadth in middle of lowercase s
+ (if design_size < 9: ((design_size*20)+90)
+ elseif design_size < 10: ((design_size*10)+180)
+%elseif design_size < 12: ((design_size*25)+30)
+ else: (((0.20812520812*design_size*design_size) +
+ (20.421245421*design_size) +
+ (54.975024975))-0.0003)fi)/360pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ (if design_size < 9: ((design_size*20)+60)
+ elseif design_size < 10: ((design_size*10)+150)
+ elseif design_size < 12: (design_size*25)
+ else: ((design_size*22.727272727)+27.272727276)fi)/360pt#;
+
+dot_size#:= % diameter of dots
+ (if design_size < 10: ((design_size*20)+100)
+%elseif design_size < 12: ((design_size*25)+50)
+ else: (((0.46828171828*design_size*design_size) +
+ (14.697802197*design_size) +
+ (106.193806193))+0.0007)fi)/360pt#;
+
+cap_hair#:= % uppercase hairline breadth
+ (if design_size < 9: ((design_size*20)+90)
+ elseif design_size < 10: ((design_size*10)+180)
+%elseif design_size < 12: ((design_size*25)+30)
+ else: (((0.20812520812*design_size*design_size) +
+ (20.421245421*design_size) +
+ (54.975024975))-0.0003)fi)/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ (if design_size < 9: ((design_size*20)+130)
+ elseif design_size < 10: ((design_size*10)+220)
+%elseif design_size < 12: ((design_size*25)+70)
+ else: ((0.46828171828*design_size*design_size) +
+ (14.697802197*design_size) +
+ (126.193806193))fi)/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ (if design_size < 9: ((design_size*20)+130)
+ elseif design_size < 10: ((design_size*10)+220)
+%elseif design_size < 12: ((design_size*25)+70)
+ else: ((0.46828171828*design_size*design_size) +
+ (14.697802197*design_size) +
+ (126.193806193))fi)/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ (if design_size < 9: ((design_size*30)+40)
+ elseif design_size < 10: ((design_size*10)+220)
+%elseif design_size < 12: ((design_size*25)+70)
+ else: ((0.46828171828*design_size*design_size) +
+ (14.697802197*design_size) +
+ (126.193806193))fi)/360pt#;
+
+rule_thickness#:= % thickness of lines in math symbols
+ (if design_size < 7: ((design_size*3)+13)
+ elseif design_size < 12: ((design_size*2)+20)
+ else: ((design_size*3.0303030303)+7.6363636364)fi)/100pt#;
+
+dish#:= % amount erased at top or bottom of serifs
+ 0pt#;
+
+bracket#:= % vertical distance from serif base to tangent
+ 0pt#;
+
+jut#:= % protrusion of lowercase serifs
+ 0pt#;
+
+cap_jut#:= % protrusion of uppercase serifs
+ 0pt#;
+
+beak_jut#:= % horizontal protrusion of beak serifs
+ 0pt#;
+
+beak#:= % vertical protrusion of beak serifs
+ (if design_size < 9: ((design_size*1)-4)
+ elseif design_size < 10: (5)
+%elseif design_size < 12: (design_size*0.5)
+ else: ((-(0.01665001665*design_size*design_size) +
+ (0.8663003663*design_size) -
+ (1.998001998))-0.00048)fi)/360pt#;
+
+vair#:= % vertical diameter of hairlines
+ (if design_size < 9: ((design_size*20)+30)
+ elseif design_size < 10: ((design_size*10)+120)
+%elseif design_size < 12: ((design_size*20)+20)
+ else: (((0.37462537462*design_size*design_size) +
+ (11.758241758*design_size) +
+ (64.955044955))+0.00106)fi)/360pt#;
+
+notch_cut#:= % maximum breadth above or below notches
+ (if design_size < 10: ((design_size*10)+80)
+ else: (-(design_size*design_size*0.14568764568) +
+ (design_size*23.205128205) -
+ (37.482517482))fi)/360pt#;
+
+bar#:= % lowercase bar thickness
+ (if design_size < 9: ((design_size*20)+20)
+ elseif design_size < 10: ((design_size*10)+110)
+%elseif design_size < 12: ((design_size*20)+10)
+ else: ((0.11446886446*design_size*design_size) +
+ (17.481684981*design_size) +
+ (23.736263736))fi)/360pt#;
+
+slab#:= % serif and arm thickness
+ (if design_size < 9: ((design_size*20)+40)
+ elseif design_size < 10: ((design_size*10)+130)
+ elseif design_size < 12: ((design_size*20)+30)
+ else: ((design_size*24.6212121212)-25.45454545)fi)/360pt#;
+
+cap_bar#:= % uppercase bar thickness
+ (if design_size < 9: ((design_size*20)+30)
+ elseif design_size < 10: ((design_size*10)+120)
+%elseif design_size < 12: ((design_size*20)+20)
+ else: (((0.37462537462*design_size*design_size) +
+ (11.758241758*design_size) +
+ (64.955044955))+0.00106)fi)/360pt#;
+
+cap_band#:= % uppercase thickness above/below lobes
+ (if design_size < 9: ((design_size*20)+10)
+ elseif design_size < 10: ((design_size*10)+100)
+%elseif design_size < 12: (design_size*20)
+ else: ((0.11446886446*design_size*design_size) +
+ (17.481684981*design_size) +
+ (13.736263736))fi)/360pt#;
+
+cap_notch_cut#:= % max breadth above/below uppercase notches
+ (if design_size < 9: ((design_size*20)+60)
+ elseif design_size < 10: ((design_size*10)+150)
+ else: (-(design_size*design_size*0.218531468531) +
+ (design_size*34.8076923076) -
+ 76.2237762237)fi)/360pt#;
+
+serif_drop#:= % vertical drop of sloped serifs
+ 20/360pt#;
+
+stem_corr#:= % for small refinements of stem breadth
+ 10/360pt#;
+
+vair_corr#:= % for small refinements of hairline height
+ 10/360pt#;
+
+apex_corr#:= % extra width at diagonal junctions
+ (if design_size < 10: (design_size*5)
+ else: (-(0.426656676656*design_size*design_size) +
+ (14.3864468864*design_size) -
+ (51.1988011988))fi)/360pt#;
+
+o#:= % amount of overshoot for curves
+ (if design_size < 7: ((design_size*5)+15)
+ elseif design_size < 10: ((design_size*10)-20)
+%elseif design_size < 12: ((design_size*5)+30)
+ else: ((-(0.42665667665*design_size*design_size) +
+ (14.386446886*design_size) -
+ (21.198801198))-0.00082)fi)/360pt#;
+
+apex_o#:= % amount of overshoot for diagonal junctions
+ 0/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0;
+
+fudge:= % factor applied to weights of heavy characters
+ (if design_size < 9: ((design_size*2)+77)
+ elseif design_size < 14: ((design_size*1)+86)
+ else: (100)fi)/100;
+
+math_spread:= % extra openness of math symbols
+ (if design_size < 10: (-(design_size*20)+200)
+ else: ((design_size*design_size*0.853313353313) -
+ (design_size*28.7728937728) +
+ 202.39760239)fi)/100;
+
+superness:= % parameter for superellipses
+ 1/sqrt2;
+
+superpull:= % extra openness inside bowls
+ 1/20;
+
+beak_darkness:= % fraction of triangle inside beak serifs
+ 0;
+
+ligs:= % level of ligatures to be included
+ (if design_size < 6: (1)
+ else: (2)fi);
+
+square_dots:= % should dots be square?
+ true;
+
+hefty:= % should we try hard not to be overweight?
+ true;
+
+serifs:= % should serifs and bulbs be attached?
+ false;
+
+monospace:= % should all characters have the same width?
+ false;
+
+variant_g:= % should an italic-style g be used?
+ false;
+
+low_asterisk:= % should the asterisk be centered at the axis?
+ false;
+
+math_fitting:= % should math-mode spacing be used?
+ false;
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmssbx.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmssbx.mf
new file mode 100644
index 00000000000..3c6a837731d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmssbx.mf
@@ -0,0 +1,71 @@
+% Parameters for CMSSBX and CMINCH.
+
+u#:=(22*(design_size/10))/36pt#; % unit width
+width_adj#:=(22*(design_size/10))/36pt#; % width adjustment for certain characters
+serif_fit#:=(-9*(design_size/10))/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=(-11*(design_size/10))/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=(270*(design_size/10))/36pt#; % height of tallest characters
+asc_height#:=(250*(design_size/10))/36pt#; % height of lowercase ascenders
+cap_height#:=(250*(design_size/10))/36pt#; % height of caps
+fig_height#:=(250*(design_size/10))/36pt#; % height of numerals
+x_height#:=(165*(design_size/10))/36pt#; % height of lowercase without ascenders
+math_axis#:=(90*(design_size/10))/36pt#; % axis of symmetry for math symbols
+bar_height#:=(90*(design_size/10))/36pt#; % height of crossbar in lowercase e
+comma_depth#:=(38*(design_size/10))/36pt#; % depth of comma below baseline
+desc_depth#:=(70*(design_size/10))/36pt#; % depth of lowercase descenders
+
+crisp#:=(26*(design_size/10))/36pt#; % diameter of serif corners
+tiny#:=(26*(design_size/10))/36pt#; % diameter of rounded corners
+fine#:=(9*(design_size/10))/36pt#; % diameter of sharply rounded corners
+thin_join#:=(9*(design_size/10))/36pt#; % width of extrafine details
+hair#:=(49*(design_size/10))/36pt#; % lowercase hairline breadth
+stem#:=(49*(design_size/10))/36pt#; % lowercase stem breadth
+curve#:=(49*(design_size/10))/36pt#; % lowercase curve breadth
+ess#:=(43*(design_size/10))/36pt#; % breadth in middle of lowercase s
+flare#:=(40*(design_size/10))/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=(47*(design_size/10))/36pt#; % diameter of dots
+cap_hair#:=(49*(design_size/10))/36pt#; % uppercase hairline breadth
+cap_stem#:=(53*(design_size/10))/36pt#; % uppercase stem breadth
+cap_curve#:=(53*(design_size/10))/36pt#; % uppercase curve breadth
+cap_ess#:=(51*(design_size/10))/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=(30*(design_size/10))/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=(1.5*(design_size/10))/36pt#; % vertical protrusion of beak serifs
+vair#:=(26*(design_size/10))/36pt#; % vertical diameter of hairlines
+notch_cut#:=(49*(design_size/10))/36pt#; % maximum breadth above or below notches
+bar#:=(26*(design_size/10))/36pt#; % lowercase bar thickness
+slab#:=(36*(design_size/10))/36pt#; % serif and arm thickness
+cap_bar#:=(34*(design_size/10))/36pt#; % uppercase bar thickness
+cap_band#:=(31*(design_size/10))/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=(45*(design_size/10))/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=(2*(design_size/10))/36pt#; % vertical drop of sloped serifs
+stem_corr#:=(1*(design_size/10))/36pt#; % for small refinements of stem breadth
+vair_corr#:=(2*(design_size/10))/36pt#; % for small refinements of hairline height
+apex_corr#:=(18*(design_size/10))/36pt#; % extra width at diagonal junctions
+
+o#:=(8*(design_size/10))/36pt#; % amount of overshoot for curves
+apex_o#:=0pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.88; % factor applied to weights of heavy characters
+math_spread:=.5; % extra openness of math symbols
+superness:=3/4; % parameter for superellipses
+superpull:=1/18; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmssq.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmssq.mf
new file mode 100644
index 00000000000..34c4f9d8a57
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmssq.mf
@@ -0,0 +1,71 @@
+% Parameters for Computer Modern Sans Serif Quotation Style
+
+u#:=(20*(design_size/8))/36pt#; % unit width
+width_adj#:=(2*(design_size/8))/36pt#; % width adjustment for certain characters
+serif_fit#:=(-10*(design_size/8))/36pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=(-14*(design_size/8))/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=(220*(design_size/8))/36pt#; % height of tallest characters
+asc_height#:=(200*(design_size/8))/36pt#; % height of lowercase ascenders
+cap_height#:=(197*(design_size/8))/36pt#; % height of caps
+fig_height#:=(190*(design_size/8))/36pt#; % height of numerals
+x_height#:=(150*(design_size/8))/36pt#; % height of lowercase without ascenders
+math_axis#:=(80*(design_size/8))/36pt#; % axis of symmetry for math symbols
+bar_height#:=(80*(design_size/8))/36pt#; % height of crossbar in lowercase e
+comma_depth#:=(40*(design_size/8))/36pt#; % depth of comma below baseline
+desc_depth#:=(40*(design_size/8))/36pt#; % depth of lowercase descenders
+
+crisp#:=(18*(design_size/8))/36pt#; % diameter of serif corners
+tiny#:=(18*(design_size/8))/36pt#; % diameter of rounded corners
+fine#:=(8*(design_size/8))/36pt#; % diameter of sharply rounded corners
+thin_join#:=(8*(design_size/8))/36pt#; % width of extrafine details
+hair#:=(23*(design_size/8))/36pt#; % lowercase hairline breadth
+stem#:=(23*(design_size/8))/36pt#; % lowercase stem breadth
+curve#:=(23*(design_size/8))/36pt#; % lowercase curve breadth
+ess#:=(23*(design_size/8))/36pt#; % breadth in middle of lowercase s
+flare#:=(21*(design_size/8))/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=(28*(design_size/8))/36pt#; % diameter of dots
+cap_hair#:=(23*(design_size/8))/36pt#; % uppercase hairline breadth
+cap_stem#:=(27*(design_size/8))/36pt#; % uppercase stem breadth
+cap_curve#:=(27*(design_size/8))/36pt#; % uppercase curve breadth
+cap_ess#:=(27*(design_size/8))/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=(20*(design_size/8))/36pt#; % thickness of lines in math symbols
+
+dish#:=0pt#; % amount erased at top or bottom of serifs
+bracket#:=0pt#; % vertical distance from serif base to tangent
+jut#:=0pt#; % protrusion of lowercase serifs
+cap_jut#:=0pt#; % protrusion of uppercase serifs
+beak_jut#:=0pt#; % horizontal protrusion of beak serifs
+beak#:=0pt#; % vertical protrusion of beak serifs
+vair#:=(18*(design_size/8))/36pt#; % vertical diameter of hairlines
+notch_cut#:=(23*(design_size/8))/36pt#; % maximum breadth above or below notches
+bar#:=(18*(design_size/8))/36pt#; % lowercase bar thickness
+slab#:=(19*(design_size/8))/36pt#; % serif and arm thickness
+cap_bar#:=(19*(design_size/8))/36pt#; % uppercase bar thickness
+cap_band#:=(19*(design_size/8))/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=(23*(design_size/8))/36pt#; % max breadth above/below uppercase notches
+serif_drop#:=0pt#; % vertical drop of sloped serifs
+stem_corr#:=(.5*(design_size/8))/36pt#; % for small refinements of stem breadth
+vair_corr#:=(.5*(design_size/8))/36pt#; % for small refinements of hairline height
+apex_corr#:=(4*(design_size/8))/36pt#; % extra width at diagonal junctions
+
+o#:=(6*(design_size/8))/36pt#; % amount of overshoot for curves
+apex_o#:=(2*(design_size/8))/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=0; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=.95; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/10; % extra openness inside bowls
+beak_darkness:=0; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=true; % should dots be square?
+hefty:=true; % should we try hard not to be overweight?
+serifs:=false; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=true; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmsy.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmsy.mf
new file mode 100644
index 00000000000..f20ab7ba01e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmsy.mf
@@ -0,0 +1,14 @@
+% Parameters for (I)CMSY
+% This is essentially the Computer Modern Math Italic family with more
+% parameters and a different character set.
+
+input c-cmmi;
+subs:= % subscript point size
+ (if design_size < 7.5: (5/design_size)
+ elseif design_size < 9.5: (6/design_size)
+ elseif design_size < 10.5: (7/design_size)
+ elseif design_size < 12.5: (8/design_size)
+ elseif design_size < 12.96: (1/1.44)
+ else: (1/1.2)fi);
+input c-sigma;
+endinput;
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmti.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmti.mf
new file mode 100644
index 00000000000..02df3b68d11
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmti.mf
@@ -0,0 +1,92 @@
+% Compute the font construction parameters for the Computer
+% Modern Text Italic family. This is computed as a modification
+% of Computer Modern Roman.
+
+input c-cmr;
+
+u#:= % unit width
+ (if design_size < 10: ((design_size*design_size*1) -
+ (design_size*5) + 134)
+ else: ((design_size*16)+24)fi)/360pt#;
+
+letter_fit#:= % extra space added to all sidebars
+ (if design_size < 8: (-(design_size*15)+199)
+ elseif design_size < 9: ((design_size*06)+31)
+ elseif design_size < 10: ((design_size*7)+22)
+ else: ((design_size*8)+12)fi)/360pt#;
+
+crisp#:= % diameter of serif corners
+ (if design_size < 7: ((design_size*5)+35)
+ elseif design_size < 8: (design_size*10)
+ else: (80)fi)/360pt#;
+
+hair#:= % lowercase hairline breadth
+ (if design_size < 8: ((design_size*5)+70)
+ elseif design_size < 10: (110)
+ else: ((design_size*5)+60)fi)/360pt#;
+
+stem#:= % lowercase stem breadth
+ (if design_size < 8: ((design_size*15)+80)
+ elseif design_size < 9: ((design_size*20)+40)
+ elseif design_size < 10: ((design_size*10)+130)
+ else: ((design_size*15)+80)fi)/360pt#;
+
+curve#:= % lowercase curve breadth
+ (if design_size < 8: ((design_size*20)+75)
+ elseif design_size < 9: ((design_size*25)+35)
+ elseif design_size < 10: ((design_size*20)+80)
+ else: ((design_size*15)+130)fi)/360pt#;
+
+ess#:= % breadth in middle of lowercase s
+ (if design_size < 7: (-(design_size*design_size*5) +
+ (design_size*105)-280)
+ elseif design_size < 10: ((design_size*20)+70)
+ else: ((design_size*10)+170)fi)/360pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ (if design_size < 8: (design_size*30)
+ elseif design_size < 9: ((design_size*20)+80)
+ elseif design_size < 10: ((design_size*30)-10)
+ else: ((design_size*15)+140)fi)/360pt#;
+
+cap_hair#:= % uppercase hairline breadth
+ (if design_size < 7: ((design_size*5)+70)
+ elseif design_size < 10: (110)
+ else: ((design_size*2.5)+85)fi)/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ (if design_size < 10: ((design_size*design_size*2.5) -
+ (design_size*17.5) + 215)
+ else: ((design_size*15)+140)fi)/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ (if design_size < 8: ((design_size*25)+70)
+ elseif design_size < 9: ((design_size*30)+30)
+ elseif design_size < 10: ((design_size*40)-60)
+ else: ((design_size*15)+190)fi)/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ (if design_size < 9: (design_size*30)
+ elseif design_size < 10: ((design_size*40)-90)
+ else: ((design_size*15)+160)fi)/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ (if design_size < 10: (design_size*30)
+ else: ((design_size*25)+50)fi)/360pt#;
+
+cap_jut#:= % protrusion of uppercase serifs
+ (if design_size < 8: ((design_size*30)+30)
+ elseif design_size < 10: ((design_size*35)-10)
+ else: ((design_size*20)+140)fi)/360pt#;
+
+beak_jut#:= % horizontal protrusion of beak serifs
+ (if design_size < 8: ((design_size*5)+39)
+ elseif design_size < 9: ((design_size*6)+31)
+ elseif design_size < 10: ((design_size*5)+40)
+ else: ((design_size*7)+20)fi)/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0.25;
+
+variant_g:= % should an italic-style g be used?
+ true;
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-cmtt.mf b/Master/texmf-dist/fonts/source/public/sauter/c-cmtt.mf
new file mode 100644
index 00000000000..8d4889bd23c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-cmtt.mf
@@ -0,0 +1,245 @@
+% Compute the font construction parameters for the Computer
+% Modern Typewriter Text family. Some other Computer Modern families
+% compute their parameters as modifications of these.
+
+u#:= % unit width
+ (if design_size < 10: ((design_size*design_size*1) +
+ (design_size*2)+90)
+ else: ((design_size*18.5)+25)fi)/360pt#;
+
+width_adj#:= % width adjustment for certain characters
+ 0pt#;
+
+serif_fit#:= % extra sidebar near lowercase serifs
+ 0pt#;
+
+cap_serif_fit#:= % extra sidebar near uppercase serifs
+ 0/360pt#;
+
+letter_fit#:= % extra space added to all sidebars
+ 0/360pt#;
+
+body_height#:= % height of tallest characters
+ (design_size*250)/360pt#;
+
+asc_height#:= % height of lowercase ascenders
+ (design_size*220)/360pt#;
+
+cap_height#:= % height of caps
+ (design_size*220)/360pt#;
+
+fig_height#:= % height of numerals
+ (design_size*220)/360pt#;
+
+x_height#:= % height of lowercase without ascenders
+ (design_size*155)/360pt#;
+
+math_axis#:= % axis of symmetry for math symbols
+ (design_size*110)/360pt#;
+
+bar_height#:= % height of crossbar in lowercase e
+ ((design_size*80)-10)/360pt#;
+
+comma_depth#:= % depth of comma below baseline
+ (design_size*50)/360pt#;
+
+desc_depth#:= % depth of lowercase descenders
+ (design_size*80)/360pt#;
+
+crisp#:= % diameter of serif corners
+ (if design_size < 9: ((design_size*20)+30)
+ elseif design_size < 10: ((design_size*10)+120)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+tiny#:= % diameter of rounded corners
+ (if design_size < 9: ((design_size*20)+30)
+ elseif design_size < 10: ((design_size*10)+120)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+fine#:= % diameter of sharply rounded corners
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 340)
+ else: ((design_size*5)+160)fi)/360pt#;
+
+thin_join#:= % width of extrafine details
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 340)
+ else: ((design_size*5)+160)fi)/360pt#;
+
+hair#:= % lowercase hairline breadth
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+stem#:= % lowercase stem breadth
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+curve#:= % lowercase curve breadth
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+ess#:= % breadth in middle of lowercase s
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 330)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+flare#:= % diameter of bulbs or breadth of terminals
+ (if design_size < 10: ((design_size*20)+120)
+ else: ((design_size*15)+170)fi)/360pt#;
+
+dot_size#:= % diameter of dots
+ (if design_size < 9: ((design_size*20)+150)
+ elseif design_size < 10: ((design_size*30)+60)
+ else: ((design_size*15)+210)fi)/360pt#;
+
+cap_hair#:= % uppercase hairline breadth
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+cap_stem#:= % uppercase stem breadth
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+cap_curve#:= % uppercase curve breadth
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+cap_ess#:= % breadth in middle of uppercase s
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+rule_thickness#:= % thickness of lines in math symbols
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+dish#:= % amount erased at top or bottom of serifs
+ 0/360pt#;
+
+bracket#:= % vertical distance from serif base to tangent
+ 0/360pt#;
+
+jut#:= % protrusion of lowercase serifs
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*125) - 410)
+ else: ((design_size*25)+90)fi)/360pt#;
+
+cap_jut#:= % protrusion of uppercase serifs
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*125) - 410)
+ else: ((design_size*25)+90)fi)/360pt#;
+
+beak_jut#:= % horizontal protrusion of beak serifs
+ 0/360pt#;
+
+beak#:= % vertical protrusion of beak serifs
+ (if design_size < 10: (-(design_size*design_size*05) +
+ (design_size*125) - 410)
+ else: ((design_size*25)+90)fi)/360pt#;
+
+vair#:= % vertical diameter of hairlines
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 330)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+notch_cut#:= % maximum breadth above or below notches
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+bar#:= % lowercase bar thickness
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 330)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+slab#:= % serif and arm thickness
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 330)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+cap_bar#:= % uppercase bar thickness
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 330)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+cap_band#:= % uppercase thickness above/below lobes
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 330)
+ else: ((design_size*15)+70)fi)/360pt#;
+
+cap_notch_cut#:= % max breadth above/below uppercase notches
+ (if design_size < 10: (-(design_size*design_size*5) +
+ (design_size*105) - 300)
+ else: ((design_size*15)+100)fi)/360pt#;
+
+serif_drop#:= % vertical drop of sloped serifs
+ 0/360pt#;
+
+stem_corr#:= % for small refinements of stem breadth
+ 0/360pt#;
+
+vair_corr#:= % for small refinements of hairline height
+ 0/360pt#;
+
+apex_corr#:= % extra width at diagonal junctions
+ (if design_size < 10: (design_size*10)
+ else: ((design_size*5)+50)fi)/360pt#;
+
+o#:= % amount of overshoot for curves
+ ((design_size*5)-10)/360pt#;
+
+apex_o#:= % amount of overshoot for diagonal junctions
+ (if design_size < 10: (30)
+ else: ((design_size*5)-20)fi)/360pt#;
+
+slant:= % tilt ratio $(\Delta x/\Delta y)$
+ 0;
+
+fudge:= % factor applied to weights of heavy characters
+ (if design_size < 10: (81)
+ elseif design_size < 17.6: ((design_size*2.5)+56)
+ else: (100)fi)/100;
+
+math_spread:= % extra openness of math symbols
+ -1;
+
+superness:= % parameter for superellipses
+ 1/sqrt2;
+
+superpull:= % extra openness inside bowls
+ 0;
+
+beak_darkness:= % fraction of triangle inside beak serifs
+ 0;
+
+ligs:= % level of ligatures to be included
+ 0;
+
+square_dots:= % should dots be square?
+ false;
+
+hefty:= % should we try hard not to be overweight?
+ true;
+
+serifs:= % should serifs and bulbs be attached?
+ true;
+
+monospace:= % should all characters have the same width?
+ true;
+
+variant_g:= % should an italic-style g be used?
+ false;
+
+low_asterisk:= % should the asterisk be centered at the axis?
+ true;
+
+math_fitting:= % should math-mode spacing be used?
+ false;
+
diff --git a/Master/texmf-dist/fonts/source/public/sauter/c-sigma.mf b/Master/texmf-dist/fonts/source/public/sauter/c-sigma.mf
new file mode 100644
index 00000000000..53d351f6aa7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/sauter/c-sigma.mf
@@ -0,0 +1,88 @@
+% Compute the math symbol font parameters sigma 8 through sigma 22.
+% 22-MAY-1994: Changed formulae for sup1 and sup2 above 10pt# (JK)
+
+% Having this match |rule_thickness| is a nice idea, but the AMS CM fonts
+% fonts set it to a constant 0.4pt.
+
+rth# :=
+ (if design_size <= 9pt#: 0.4pt#
+ else: rule_thickness#
+ fi);
+
+% Parameters $\sigma_8$ through $\sigma_{22}$ will now be listed.
+
+fontdimen 8: % num1
+ math_axis# + 3.51rth#
+ + (if design_size < 9: 360
+ else: ((design_size*180)-1260) fi) / 360pt#
+ + subs * desc_depth#,
+
+ math_axis#+1.51rth#+
+ (if design_size < 6: ((design_size*60)-270)
+ elseif design_size < 7: ((design_size*30)-90)
+ elseif design_size < 9: (-(design_size*design_size*30) +
+ (design_size*570) - 2400)
+ else: (300)fi)/360pt#, % num2
+
+ math_axis#+1.51rth#+
+ (if design_size < 7: ((design_size*50)-10)
+ elseif design_size < 8: ((design_size*40)+60)
+ else: ((design_size*50)-20)fi)/360pt#, % num3
+
+ -(math_axis#-3.51rth#-subs*fig_height#+
+ (if design_size < 6: (-(design_size*110)-80)
+ elseif design_size < 8: (-(design_size*120)-20)
+ else: (-(design_size*130)+60)fi)/360pt#), % denom1
+
+ -(math_axis#-1.51rth#-subs*fig_height#-
+ (if design_size < 6: ((design_size*60)-270)
+ elseif design_size < 7: ((design_size*30)-90)
+ elseif design_size < 9: (-(design_size*design_size*30) +
+ (design_size*570) - 2400)
+ else: (300)fi)/360pt#), % denom2
+
+ ((if design_size < 8: ((design_size*50)+349)
+ elseif design_size < 9: ((design_size*100)-51)
+ elseif design_size < 10: ((design_size*50)+399)
+ else: ((design_size*90)-1)fi)/100pt#) -
+ subs*asc_height#, % sup1
+
+ ((if design_size < 8: ((design_size*50)+299)
+ elseif design_size < 9: ((design_size*100)-101)
+ elseif design_size < 10: ((design_size*50)+349)
+ else: ((design_size*90)-51)fi)/100pt#) -
+ subs*asc_height#, % sup2
+
+ (if design_size < 6: ((design_size*90)+80)
+ elseif design_size < 8: ((design_size*100)+20)
+ else: ((design_size*110)-60)fi)/360pt#, % sup3
+
+ (if design_size < 9: (360)
+ elseif design_size < 10: ((design_size*180)-1260)
+ else: ((design_size*110)-560)fi)/360pt#, % sub1
+
+ (if design_size < 9: (72/36pt#)
+ elseif design_size < 10: -((((design_size*50)+349)/100pt#) -
+ 2subs*asc_height#-3.1rth#)
+ else: ((if font_identifier_ <> "CMBSY": 247.217
+ else: 309.219 fi)
+ /100pt#)fi), % sub2
+
+ subs*asc_height#-36/36pt#, % sup\_drop
+
+ 180/360pt#, % sub\_drop
+
+ (if design_size < 6: ((design_size*20)-1)
+ elseif design_size < 8: (119)
+ elseif design_size < 9: ((design_size*120)-841)
+ elseif design_size < 10: (239)
+ else: ((design_size*25)-11)fi)/10pt#, % delim1
+
+ (if design_size < 6: ((design_size*10)+21)
+ elseif design_size < 7: (81)
+ elseif design_size < 8: ((design_size*10)+11)
+ elseif design_size < 9: (91)
+ elseif design_size < 10: ((design_size*10)+1)
+ else: ((design_size*5)+51)fi)/10pt#, % delim2
+
+ math_axis#; % axis\_height