summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-04-28 23:50:18 +0000
committerKarl Berry <karl@freefriends.org>2007-04-28 23:50:18 +0000
commitcf5c11423240ba8debc063012e6d1d232e6475ba (patch)
tree02994000bf507b8ba6d169ede8a2c93896dd66b6 /Master/texmf-dist/fonts
parent13d30f4bd3dd877180a14053b3f0029a82423019 (diff)
reinstate mnsymbol, good with palatino et al., not just minion
git-svn-id: svn://tug.org/texlive/trunk@4209 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts')
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolA.enc51
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolB.enc51
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolC.enc51
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolD.enc51
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolE.enc51
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolF.enc51
-rw-r--r--Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolS.enc34
-rw-r--r--Master/texmf-dist/fonts/map/dvips/mnsymbol/MnSymbol.map111
-rw-r--r--Master/texmf-dist/fonts/map/vtex/mnsymbol/MnSymbol.ali115
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold10.otfbin0 -> 163016 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold12.otfbin0 -> 163332 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold5.otfbin0 -> 164280 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold6.otfbin0 -> 162156 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold7.otfbin0 -> 163944 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold8.otfbin0 -> 161572 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold9.otfbin0 -> 160728 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol10.otfbin0 -> 162124 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol12.otfbin0 -> 161216 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol5.otfbin0 -> 162924 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol6.otfbin0 -> 161784 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol7.otfbin0 -> 160640 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol8.otfbin0 -> 159452 bytes
-rw-r--r--Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol9.otfbin0 -> 159584 bytes
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbol-Parameter.mf51
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold.mf16
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA.mf16
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold.mf16
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB.mf16
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC.mf13
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD.mf23
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE.mf25
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold.mf35
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF.mf35
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold.mf121
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS.mf121
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS10.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS12.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS5.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS6.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS7.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS8.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS9.mf2
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Accent.mf130
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Arrows.mf721
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Base.mf479
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Delim.mf882
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Geometric.mf2277
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Init.mf29
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Operators.mf882
-rw-r--r--Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Order.mf1417
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold10.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold12.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold5.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold6.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold7.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold8.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold9.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA10.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA12.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA5.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA6.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA7.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA8.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA9.tfmbin0 -> 1380 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold10.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold12.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold5.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold6.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold7.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold8.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold9.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB10.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB12.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB5.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB6.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB7.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB8.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB9.tfmbin0 -> 1376 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold10.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold12.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold5.tfmbin0 -> 1412 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold6.tfmbin0 -> 1412 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold7.tfmbin0 -> 1412 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold8.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold9.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC10.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC12.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC5.tfmbin0 -> 1412 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC6.tfmbin0 -> 1412 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC7.tfmbin0 -> 1412 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC8.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC9.tfmbin0 -> 1416 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold10.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold12.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold5.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold6.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold7.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold8.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold9.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD10.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD12.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD5.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD6.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD7.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD8.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD9.tfmbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold10.tfmbin0 -> 1504 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold12.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold5.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold6.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold7.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold8.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold9.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE10.tfmbin0 -> 1504 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE12.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE5.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE6.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE7.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE8.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE9.tfmbin0 -> 1508 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold10.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold12.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold5.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold6.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold7.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold8.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold9.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF10.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF12.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF5.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF6.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF7.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF8.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF9.tfmbin0 -> 928 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold10.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold12.tfmbin0 -> 796 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold5.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold6.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold7.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold8.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold9.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS10.tfmbin0 -> 800 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS12.tfmbin0 -> 800 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS5.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS6.tfmbin0 -> 792 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS7.tfmbin0 -> 796 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS8.tfmbin0 -> 800 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS9.tfmbin0 -> 800 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold10.pfbbin0 -> 235871 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold12.pfbbin0 -> 235590 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold5.pfbbin0 -> 232260 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold6.pfbbin0 -> 227194 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold7.pfbbin0 -> 234894 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold8.pfbbin0 -> 233108 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold9.pfbbin0 -> 232041 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol10.pfbbin0 -> 230551 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol12.pfbbin0 -> 229585 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol5.pfbbin0 -> 232258 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol6.pfbbin0 -> 228561 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol7.pfbbin0 -> 232813 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol8.pfbbin0 -> 228273 bytes
-rw-r--r--Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol9.pfbbin0 -> 228970 bytes
256 files changed, 8128 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolA.enc b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolA.enc
new file mode 100644
index 00000000000..5cc3c7849d3
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolA.enc
@@ -0,0 +1,51 @@
+/MnSymbolA [
+%00
+ /arrowright /arrowup /arrowleft /arrowdown /arrowupright /arrowupleft /arrowdownleft /arrowdownright
+ /arrowdblright /arrowdblup /arrowdblleft /arrowdbldown /uni21D7 /uni21D6 /uni21D9 /uni21D8
+%10
+ /arrowboth /arrowupdn /uni2921 /uni2922 /arrowdblboth /uni21D5 /Neswarrow /Nwsearrow
+ /uni21A0 /uni219F /uni219E /uni21A1 /twoheadnearrow /twoheadnwarrow /twoheadswarrow /twoheadsearrow
+%20
+ /uni21A3 /uparrowtail /uni21A2 /downarrowtail /nearrowtail /nwarrowtail /swarrowtail /searrowtail
+ /uni21A6 /uni21A5 /uni21A4 /uni21A7 /nemapsto /nwmapsto /swmapsto /semapsto
+%30
+ /uni21AA /lhookuparrow /lhookleftarrow /lhookdownarrow /lhooknearrow /uni2923 /lhookswarrow /uni2925
+ /rhookrightarrow /rhookuparrow /uni21A9 /rhookdownarrow /uni2924 /rhooknwarrow /uni2926 /rhooksearrow
+%40
+ /harpoonrightbarbup /uni21BF /uni21BD /uni21C2 /neharpoonup /nwharpoonup /swharpoonup /seharpoonup
+ /uni21C1 /uni21BE /harpoonleftbarbup /uni21C3 /neharpoondown /nwharpoondown /swharpoondown /seharpoondown
+%50
+ /uni294B /updownharpoonleftright /neswharpoonnwse /senwharpoonnesw /uni294A /updownharpoonrightleft /neswharpoonsenw /nwseharpoonswne
+ /uni21CC /uni296E /neswharpoons /senwharpoons /uni21CB /uni296F /swneharpoons /nwseharpoons
+%60
+ /arrowdashright /arrowdashup /arrowdashleft /arrowdashdown /dashednearrow /dashednwarrow /dashedswarrow /dashedsearrow
+ /uni22B8 /uni2AEF /uni27DC /uni2AF0 /nespoon /nwspoon /swspoon /sespoon
+%70
+ /rightfilledspoon /upfilledspoon /leftfilledspoon /downfilledspoon /nefilledspoon /nwfilledspoon /swfilledspoon /sefilledspoon
+ /rightfootline /upfootline /leftfootline /downfootline /nefootline /nwfootline /swfootline /sefootline
+%80
+ /rightfree /upfree /leftfree /uni2ADD /nefree /nwfree /swfree /sefree
+ /rightpitchfork /uni22D4 /leftpitchfork /uni2ADB /nepitchfork /nwpitchfork /swpitchfork /sepitchfork
+%90
+ /uni21C9 /uni21C8 /uni21C7 /uni21CA /nenearrows /nwnwarrows /swswarrows /sesearrows
+ /arrowrightoverleft /updownarrows /neswarrows /nwsearrows /uni21C6 /downuparrows /swnearrows /senwarrows
+%A0
+ /uni219D /uplsquigarrow /leftlsquigarrow /downlsquigarrow /nelsquigarrow /nwlsquigarrow /swlsquigarrow /selsquigarrow
+ /rightrsquigarrow /uprsquigarrow /uni219C /downrsquigarrow /nersquigarrow /nwrsquigarrow /swrsquigarrow /sersquigarrow
+%B0
+ /uni21AD /squigarrowupdown /squigarrowrightleft /squigarrowdownup /squigarrownesw /squigarrownwse /squigarrowswne /squigarrowsenw
+ /uni21B7 /lcurvearrowup /lcurvearrowleft /uni2938 /lcurvearrowne /lcurvearrownw /lcurvearrowsw /lcurvearrowse
+%C0
+ /rcurvearrowright /rcurvearrowup /uni21B6 /uni2939 /rcurvearrowne /rcurvearrownw /rcurvearrowsw /rcurvearrowse
+ /curvearrowleftright /curvearrowupdown /curvearrowrightleft /curvearrowdownup /curvearrownesw /curvearrownwse /curvearrowswne /curvearrowsenw
+%D0
+ /leftrightline /divides /neswline /nwseline /Leftrightline /parallel /Neswline /Nwseline
+ /uni22A2 /perpendicular /uni22A3 /uni22A4 /nevdash /nwvdash /swvdash /sevdash
+%E0
+ /uni22A7 /upmodels /leftmodels /downmodels /nemodels /nwmodels /swmodels /semodels
+ /uni22A9 /uni234A /leftVdash /uni2351 /neVdash /nwVdash /swVdash /seVdash
+%F0
+ /uni22AB /upModels /leftModels /downModels /neModels /nwModels /swModels /seModels
+ /uni293F /uni21BA /uni27F2 /rcirclearrowdown /uni27F3 /uni21BB /uni293E /lcirclearrowdown
+] def
+
diff --git a/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolB.enc b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolB.enc
new file mode 100644
index 00000000000..0711d3e3e9f
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolB.enc
@@ -0,0 +1,51 @@
+/MnSymbolB [
+%00
+ /uni219B /uni21910338 /uni219A /uni21930338 /uni21970338 /uni21960338 /uni21990338 /uni21980338
+ /arrowrightdblstroke /uni21D10338 /uni21CD /uni21D30338 /uni21D70338 /uni21D60338 /uni21D90338 /uni21D80338
+%10
+ /uni21AE /uni21950338 /uni29210338 /uni29220338 /uni21CE /uni21D50338 /Neswarrow_uni0338 /Nwsearrow_uni0338
+ /uni21A00338 /uni219F0338 /uni219E0338 /uni21A10338 /twoheadnearrow_uni0338 /twoheadnwarrow_uni0338 /twoheadswarrow_uni0338 /twoheadsearrow_uni0338
+%20
+ /uni21A30338 /uparrowtail_uni0338 /uni21A20338 /downarrowtail_uni0338 /nearrowtail_uni0338 /nwarrowtail_uni0338 /swarrowtail_uni0338 /searrowtail_uni0338
+ /uni21A60338 /uni21A50338 /uni21A40338 /uni21A70338 /nemapsto_uni0338 /nwmapsto_uni0338 /swmapsto_uni0338 /semapsto_uni0338
+%30
+ /uni21AA0338 /lhookuparrow_uni0338 /lhookleftarrow_uni0338 /lhookdownarrow_uni0338 /lhooknearrow_uni0338 /uni29230338 /lhookswarrow_uni0338 /uni29250338
+ /rhookrightarrow_uni0338 /rhookuparrow_uni0338 /uni21A90338 /rhookdownarrow_uni0338 /uni29240338 /rhooknwarrow_uni0338 /uni29260338 /rhooksearrow_uni0338
+%40
+ /uni21C00338 /uni21BF0338 /uni21BD0338 /uni21C20338 /neharpoonup_uni0338 /nwharpoonup_uni0338 /swharpoonup_uni0338 /seharpoonup_uni0338
+ /uni21C10338 /uni21BE0338 /uni21BC0338 /uni21C30338 /neharpoondown_uni0338 /nwharpoondown_uni0338 /swharpoondown_uni0338 /seharpoondown_uni0338
+%50
+ /uni294B0338 /updownharpoonleftright_uni0338 /neswharpoonnwse_uni0338 /senwharpoonnesw_uni0338 /uni294A0338 /updownharpoonrightleft_uni0338 /neswharpoonsenw_uni0338 /nwseharpoonswne_uni0338
+ /uni21CC0338 /uni296E0338 /neswharpoons_uni0338 /senwharpoons_uni0338 /uni21CB0338 /uni296F0338 /swneharpoons_uni0338 /nwseharpoons_uni0338
+%60
+ /uni21E20338 /uni21E10338 /uni21E00338 /uni21E30338 /dashednearrow_uni0338 /dashednwarrow_uni0338 /dashedswarrow_uni0338 /dashedsearrow_uni0338
+ /uni22B80338 /uni2AEF0338 /uni27DC0338 /uni2AF00338 /nespoon_uni0338 /nwspoon_uni0338 /swspoon_uni0338 /sespoon_uni0338
+%70
+ /rightfilledspoon_uni0338 /upfilledspoon_uni0338 /leftfilledspoon_uni0338 /downfilledspoon_uni0338 /nefilledspoon_uni0338 /nwfilledspoon_uni0338 /swfilledspoon_uni0338 /sefilledspoon_uni0338
+ /rightfootline_uni0338 /upfootline_uni0338 /leftfootline_uni0338 /downfootline_uni0338 /nefootline_uni0338 /nwfootline_uni0338 /swfootline_uni0338 /sefootline_uni0338
+%80
+ /rightfree_uni0338 /upfree_uni0338 /leftfree_uni0338 /uni2ADC /nefree_uni0338 /nwfree_uni0338 /swfree_uni0338 /sefree_uni0338
+ /rightpitchfork_uni0338 /uni22D40338 /leftpitchfork_uni0338 /uni2ADB0338 /nepitchfork_uni0338 /nwpitchfork_uni0338 /swpitchfork_uni0338 /sepitchfork_uni0338
+%90
+ /uni21C90338 /uni21C80338 /uni21C70338 /uni21CA0338 /nenearrows_uni0338 /nwnwarrows_uni0338 /swswarrows_uni0338 /sesearrows_uni0338
+ /uni21C40338 /updownarrows_uni0338 /neswarrows_uni0338 /nwsearrows_uni0338 /uni21C60338 /downuparrows_uni0338 /swnearrows_uni0338 /senwarrows_uni0338
+%A0
+ /uni219D0338 /uplsquigarrow_uni0338 /leftlsquigarrow_uni0338 /downlsquigarrow_uni0338 /nelsquigarrow_uni0338 /nwlsquigarrow_uni0338 /swlsquigarrow_uni0338 /selsquigarrow_uni0338
+ /rightrsquigarrow_uni0338 /uprsquigarrow_uni0338 /uni219C0338 /downrsquigarrow_uni0338 /nersquigarrow_uni0338 /nwrsquigarrow_uni0338 /swrsquigarrow_uni0338 /sersquigarrow_uni0338
+%B0
+ /squigarrowleftright_uni0338 /squigarrowupdown_uni0338 /squigarrowrightleft_uni0338 /squigarrowdownup_uni0338 /squigarrownesw_uni0338 /squigarrownwse_uni0338 /squigarrowswne_uni0338 /squigarrowsenw_uni0338
+ /uni21B70338 /lcurvearrowup_uni0338 /lcurvearrowleft_uni0338 /uni29380338 /lcurvearrowne_uni0338 /lcurvearrownw_uni0338 /lcurvearrowsw_uni0338 /lcurvearrowse_uni0338
+%C0
+ /rcurvearrowright_uni0338 /rcurvearrowup_uni0338 /uni21B60338 /uni29390338 /rcurvearrowne_uni0338 /rcurvearrownw_uni0338 /rcurvearrowsw_uni0338 /rcurvearrowse_uni0338
+ /curvearrowleftright_uni0338 /curvearrowupdown_uni0338 /curvearrowrightleft_uni0338 /curvearrowdownup_uni0338 /curvearrownesw_uni0338 /curvearrownwse_uni0338 /curvearrowswne_uni0338 /curvearrowsenw_uni0338
+%D0
+ /leftrightline_uni0338 /uni2224 /neswline_uni0338 /nwseline_uni0338 /Leftrightline_uni0338 /notparallel /Neswline_uni0338 /Nwseline_uni0338
+ /uni22AC /perpendicular_uni0338 /uni22A30338 /uni22A40338 /nevdash_uni0338 /nwvdash_uni0338 /swvdash_uni0338 /sevdash_uni0338
+%E0
+ /uni22AD /upmodels_uni0338 /leftmodels_uni0338 /downmodels_uni0338 /nemodels_uni0338 /nwmodels_uni0338 /swmodels_uni0338 /semodels_uni0338
+ /uni22AE /uni234A0338 /leftVdash_uni0338 /uni23510338 /neVdash_uni0338 /nwVdash_uni0338 /swVdash_uni0338 /seVdash_uni0338
+%F0
+ /uni22AF /upModels_uni0338 /leftModels_uni0338 /downModels_uni0338 /neModels_uni0338 /nwModels_uni0338 /swModels_uni0338 /seModels_uni0338
+ /uni293F0338 /uni21BA0338 /uni27F20338 /rcirclearrowdown_uni0338 /uni27F30338 /uni21BB0338 /uni293E0338 /lcirclearrowdown_uni0338
+] def
+
diff --git a/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolC.enc b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolC.enc
new file mode 100644
index 00000000000..c97cc615e48
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolC.enc
@@ -0,0 +1,51 @@
+/MnSymbolC [
+%00
+ /dotmath /hdotdot /ratio /udotdot /ddotdot /uni22EF /ellipsisvertical /uni22F0
+ /uni22F1 /righttherefore /therefore /lefttherefore /because /diamonddots /proportion /fivedots
+%10
+ /minus /divides.alt /divisionslash /uni2216 /plus /multiply /plusminus /minusplus
+ /dotminus /dotmedvert /minusdot /medvertdot /divide /slashdiv /vertdiv /backslashdiv
+%20
+ /logicalnot /revlogicalnot /dtimes /uni22CA /utimes /uni22C9 /bowtie /uni29D6
+ /rightY /upY /leftY /downY /logicaland /logicalor /wedgedot /veedot
+%30
+ /uni2A55 /uni2A54 /curlyand /curlyor /curlywedgedot /curlyveedot /doublecurlywedge /doublecurlyvee
+ /union /intersection /uni22D3 /uni22D2 /uni228D /uni2A40 /uni228E /capplus
+%40
+ /uni2294 /uni2293 /uni2A4F /uni2A4E /sqcupdot /sqcapdot /sqcupplus /sqcapplus
+ /whiterightpointingsmalltriangle /whiteuppointingsmalltriangle /whiteleftpointingsmalltriangle /whitedownpointingsmalltriangle /uni25B8 /blackuppointingsmalltriangle /uni25C2 /uni25BE
+%50
+ /whiterightpointingtriangle /whiteuppointingtriangle /whiteleftpointingtriangle /whitedownpointingtriangle /whiterightpointingtriangle.alt1 /whiteuppointingtriangle.alt1 /whiteleftpointingtriangle.alt1 /whitedownpointingtriangle.alt1
+ /circle /blackcircle /largecircle /largecircle.alt1 /minuscircle /uni29B6 /uni2298 /uni29B8
+%60
+ /circleplus /circlemultiply /circleot /uni229A /otriangle /uni229B /uni235F /uni2205
+ /uni25FD /uni25FE /uni25FB /uni25FB.alt1 /whitediamond /blackdiamond /whitediamond.alt1 /whitediamond.alt2
+%70
+ /uni229F /boxvert /uni29C4 /uni29C5 /uni229E /uni22A0 /uni22A1 /uni29C8
+ /diamondminus /diamondvert /diamondslash /diamondbackslash /diamondplus /diamondtimes /uni27D0 /diamonddiamond
+%80
+ /whitestar /blackstar /whitestar.alt1 /whitestar.alt2 /pentagram /largepentagram /uni22C6 /asteriskmath
+ /hbipropto /neswbipropto /vbipropto /nwsebipropto /proportional /downpropto /rightpropto /uppropto
+%90
+ /hcrossing /neswcrossing /vcrossing /nwsecrossing /between /separated /bot /uni22BA
+ /uni2240 /angle /uni2221 /uni2222 /minute /primereversed /product.small /uni2210.small
+%A0
+ /checkmark /uni2607 /diamondsuitwhite /heartsuitwhite /spade /club /universal /existential
+ /uni2204 /gradient /infinity /integral.small /musicflatsign /uni266E /musicsharpsign /aleph
+%B0
+ /uni2136 /uni2137 /uni2138 /weierstrass /weierstrass.alt /uni2A3C /uni2A3D /uni231E
+ /uni231F /uni231C /uni231D /closedsucc /closedcurlywedge /closedprec /closedcurlyvee /uni2AA7
+%C0
+ /upslice /uni2AA6 /downslice /lozenge /uni29EB /lozenge.alt1 /uni29EB.alt1 /lozenge.alt2
+ /blackrightpointingtriangle /blackuppointingtriangle /blackleftpointingtriangle /blackdownpointingtriangle /uni220E /uni2600 /uni2721 /uni2721.alt
+%D0
+ /uni2720 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /closedequal /equalclosed /equivclosed /uni2272
+%E0
+ /uni2273 /uni2A85 /uni2A86 /uni2A95 /uni2A96 /uni22DE /uni22DF /uni21DB
+ /uni21DA /closedequal_uni0338 /equalclosed_uni0338 /equivclosed_uni0338 /uni2274 /uni2275 /uni2A89 /uni2A8A
+%F0
+ /uni2A950338 /uni2A960338 /uni22DE0338 /uni22DF0338 /uni21DB0338 /uni21DA0338 /uni21B1 /uni21B0
+ /uni21AC /uni21AB /uni22CB /uni22CC /uni22AA /uni2224.short /parallel.short /notparallel.short
+] def
+
diff --git a/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolD.enc b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolD.enc
new file mode 100644
index 00000000000..1a15e172a42
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolD.enc
@@ -0,0 +1,51 @@
+/MnSymbolD [
+%00
+ /equal /equivalence /similar /uni223D /approxequal /backapprox /uni224B /backtriplesim
+ /uni2243 /uni22CD /uni2242 /backeqsim /congruent /uni224C /uni224A /backapproxeq
+%10
+ /uni224F /eqbump /uni224E /uni2250 /uni2A66 /uni2251 /uni2252 /uni2253
+ /uni2323 /uni2322 /doublesmile /doublefrown /triplesmile /triplefrown /uni224D /frownsmile
+%20
+ /smileeq /frowneq /eqsmile /eqfrown /doublesmileeq /doublefrowneq /smileeqfrown /frowneqsmile
+ /smilefrowneq /frownsmileeq /sqsmile /sqfrown /sqdoublesmile /sqdoublefrown /sqtriplesmile /sqtriplefrown
+%30
+ /sqsmilefrown /sqfrownsmile /sqsmileeq /sqfrowneq /sqeqsmile /sqeqfrown /sqdoublesmileeq /sqdoublefrowneq
+ /sqsmileeqfrown /sqfrowneqsmile /uni2256 /uni2257 /uni225C /uni2259 /element /suchthat
+%40
+ /less /greater /lessequal /greaterequal /uni2A7D /uni2A7E /uni2266 /uni2267
+ /uni2276 /uni2277 /uni22DA /uni22DB /uni2A8B /uni2A8C /lesseqgtrslant /gtreqlessslant
+%50
+ /uni226A /uni226B /uni22D8 /uni22D9 /uni22B2 /uni22B3 /uni22B4 /uni22B5
+ /uni228F /uni2290 /uni2291 /uni2292 /sqsubseteqq /sqsupseteqq /Sqsubset /Sqsupset
+%60
+ /propersubset /propersuperset /reflexsubset /reflexsuperset /uni2AC5 /uni2AC6 /uni22D0 /uni22D1
+ /uni227A /uni227B /uni2AAF /uni2AB0 /uni227C /uni227D /uni227E /uni227F
+%70
+ /uni2AB7 /uni2AB8 /uni22D6 /uni22D7 /leqdot /geqdot /uni2A7F /uni2A80
+ /notequal /uni2262 /uni2241 /uni223D0338 /uni2249 /backapprox_uni0338 /uni224B0338 /backtriplesim_uni0338
+%80
+ /uni2244 /uni22CD0338 /uni22420338 /backeqsim_uni0338 /uni2247 /uni224C0338 /uni224A0338 /backapproxeq_uni0338
+ /uni224F0338 /eqbump_uni0338 /uni224E0338 /uni22500338 /uni2A660338 /uni22510338 /uni22520338 /uni22530338
+%90
+ /uni23230338 /uni23220338 /doublesmile_uni0338 /doublefrown_uni0338 /triplesmile_uni0338 /triplefrown_uni0338 /uni226D /frownsmile_uni0338
+ /smileeq_uni0338 /frowneq_uni0338 /eqsmile_uni0338 /eqfrown_uni0338 /doublesmileeq_uni0338 /doublefrowneq_uni0338 /smileeqfrown_uni0338 /frowneqsmile_uni0338
+%A0
+ /smilefrowneq_uni0338 /frownsmileeq_uni0338 /sqsmile_uni0338 /sqfrown_uni0338 /sqdoublesmile_uni0338 /sqdoublefrown_uni0338 /sqtriplesmile_uni0338 /sqtriplefrown_uni0338
+ /sqsmilefrown_uni0338 /sqfrownsmile_uni0338 /sqsmileeq_uni0338 /sqfrowneq_uni0338 /sqeqsmile_uni0338 /sqeqfrown_uni0338 /sqdoublesmileeq_uni0338 /sqdoublefrowneq_uni0338
+%B0
+ /sqsmileeqfrown_uni0338 /sqfrowneqsmile_uni0338 /uni22560338 /uni22570338 /uni225C0338 /uni22590338 /notelement /uni220C
+ /uni226E /uni226F /uni2270 /uni2271 /uni2270.alt1 /uni2271.alt1 /uni22660338 /uni22670338
+%C0
+ /uni2278 /uni2279 /uni22DA0338 /uni22DB0338 /uni2A8B0338 /uni2A8C0338 /lesseqgtrslant_uni0338 /gtreqlessslant_uni0338
+ /uni226A0338 /uni226B0338 /uni22D80338 /uni22D90338 /uni22EA /uni22EB /uni22EC /uni22ED
+%D0
+ /uni228F0338 /uni22900338 /uni22E2 /uni22E3 /sqsubseteqq_uni0338 /sqsupseteqq_uni0338 /Sqsubset_uni0338 /Sqsupset_uni0338
+ /notsubset /uni2285 /uni2288 /uni2289 /uni2AC50338 /uni2AC60338 /uni22D00338 /uni22D10338
+%E0
+ /uni2280 /uni2281 /uni2AAF0338 /uni2AB00338 /uni22E0 /uni22E1 /uni227E0338 /uni227F0338
+ /uni2AB70338 /uni2AB80338 /uni22D60338 /uni22D70338 /leqdot_uni0338 /geqdot_uni0338 /uni2A7F0338 /uni2A800338
+%F0
+ /uni2268 /uni2269 /lessneqqgtr /gtrneqqless /uni22E4 /uni22E5 /sqsubsetneqq /sqsupsetneqq
+ /uni228A /uni228B /uni2ACB /uni2ACC /uni22E8 /uni22E9 /uni2AB9 /uni2ABA
+] def
+
diff --git a/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolE.enc b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolE.enc
new file mode 100644
index 00000000000..37fcfb2cc28
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolE.enc
@@ -0,0 +1,51 @@
+/MnSymbolE [
+%00
+ /bracketleft /bracketleft.alt1 /bracketleft.alt2 /bracketleft.alt3 /bracketleft.alt4 /bracketright /bracketright.alt /bracketright.alt2
+ /bracketright.alt3 /bracketright.alt4 /uni230A /uni230A.alt1 /uni230A.alt2 /uni230A.alt3 /uni230A.alt4 /uni230B
+%10
+ /uni230B.alt1 /uni230B.alt2 /uni230B.alt3 /uni230B.alt4 /uni2308 /uni2308.alt1 /uni2308.alt2 /uni2308.alt3
+ /uni2308.alt4 /uni2309 /uni2309.alt1 /uni2309.alt2 /uni2309.alt3 /uni2309.alt4 /uni231C.alt1 /uni231C.alt2
+%20
+ /uni231C.alt3 /uni231C.alt4 /uni231C.alt5 /uni231D.alt1 /uni231D.alt2 /uni231D.alt3 /uni231D.alt4 /uni231D.alt5
+ /uni231E.alt1 /uni231E.alt2 /uni231E.alt3 /uni231E.alt4 /uni231E.alt5 /uni231F.alt1 /uni231F.alt2 /uni231F.alt3
+%30
+ /uni231F.alt4 /uni231F.alt5 /ullcorner /ullcorner.alt1 /ullcorner.alt2 /ullcorner.alt3 /ullcorner.alt4 /ulrcorner
+ /ulrcorner.alt1 /ulrcorner.alt2 /ulrcorner.alt3 /ulrcorner.alt4 /uni23A1 /uni23A4 /uni23A3 /uni23A6
+%40
+ /uni23A2 /uni23A5 /uni27E6 /uni27E6.alt1 /uni27E6.alt2 /uni27E6.alt3 /uni27E6.alt4 /uni27E7
+ /uni27E7.alt1 /uni27E7.alt2 /uni27E7.alt3 /uni27E7.alt4 /lsemtop /rsemtop /lsembot /rsembot
+%50
+ /lsemmod /rsemmod /arrowvert /divides.alt0 /divides.alt1 /divides.alt2 /divides.alt3 /divides.alt4
+ /Arrowvert /parallel.alt1 /parallel.alt2 /parallel.alt3 /parallel.alt4 /parallel.alt5 /wavy /Wavy
+%60
+ /uni27E8 /uni27E8.alt /uni27E8.alt2 /uni27E8.alt3 /uni27E8.alt4 /uni27E9 /uni27E9.alt1 /uni27E9.alt2
+ /uni27E9.alt3 /uni27E9.alt4 /anglebar.left /anglebar.left.alt1 /anglebar.left.alt2 /anglebar.left.alt3 /anglebar.left.alt4 /anglebar.right
+%70
+ /anglebar.right.alt1 /anglebar.right.alt2 /anglebar.right.alt3 /anglebar.right.alt4 /uni27EA /uni27EA.alt1 /uni27EA.alt2 /uni27EA.alt3
+ /uni27EA.alt4 /uni27EB /uni27EB.alt1 /uni27EB.alt2 /uni27EB.alt3 /uni27EB.alt4 /slash.left /slash.left.alt1
+%80
+ /slash.left.alt2 /slash.left.alt3 /slash.left.alt4 /slash.right /slash.right.alt1 /slash.right.alt2 /slash.right.alt3 /slash.right.alt4
+ /parenleft /parenleft.alt1 /parenleft.alt2 /parenleft.alt3 /parenleft.alt4 /parenright /parenright.alt1 /parenright.alt2
+%90
+ /parenright.alt3 /parenright.alt4 /uni239B /uni239E /uni239D /uni23A0 /uni239C /uni239F
+ /braceleft /braceleft.alt1 /braceleft.alt2 /braceleft.alt3 /braceleft.alt4 /braceright /braceright.alt1 /braceright.alt2
+%A0
+ /braceright.alt3 /braceright.alt4 /uni23A7 /uni23AB /uni23A9 /uni23AD /uni23A8 /uni23AC
+ /uni23AA /ucurly /ucurly.alt1 /ucurly.alt2 /ucurly.alt3 /ucurly.alt4 /dcurly /dcurly.alt1
+%B0
+ /dcurly.alt2 /dcurly.alt3 /dcurly.alt4 /ucurlyleft /dcurlyleft /ucurlyright /dcurlyright /ucurlymid
+ /dcurlymid /udcurlymod /radical /radical.alt1 /radical.alt2 /radical.alt3 /radical.alt4 /roottop
+%C0
+ /rootbot /rootmod /circumflexcmb /circumflexcmb.alt1 /circumflexcmb.alt2 /circumflexcmb.alt3 /circumflexcmb.alt4 /tildecomb
+ /tildecomb.alt1 /tildecomb.alt2 /tildecomb.alt3 /tildecomb.alt4 /wideparen1 /wideparen2 /wideparen3 /wideparen4
+%D0
+ /wideparen5 /uni20D7 /uni0335 /uni0337 /uni0338 /uparrow /downarrow /arrowmod
+ /uparrowdbl /downarrowdbl /arrowmoddbl /arrow0 /arrow1 /arrow2 /arrow3 /arrow4
+%E0
+ /arrow5 /arrow6 /arrow7 /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
diff --git a/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolF.enc b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolF.enc
new file mode 100644
index 00000000000..4ec2bba4d3b
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolF.enc
@@ -0,0 +1,51 @@
+/MnSymbolF [
+%00
+ /plus.big /plus.big.disp /uni2A09 /uni2A09.disp /uni22C0 /uni22C0.disp /uni22C1 /uni22C1.disp
+ /wedgedot.big /wedgedot.big.disp /veedot.big /veedot.big.disp /uni2A55.big /uni2A55.big.disp /uni2A54.big /uni2A54.big.disp
+%10
+ /curlyand.big /curlyand.big.disp /curlyor.big /curlyor.big.disp /curlywedgedot.big /curlywedgedot.big.disp /curlyveedot.big /curlyveedot.big.disp
+ /doublecurlywedge.big /doublecurlywedge.big.disp /doublecurlyvee.big /doublecurlyvee.big.disp /uni22C2 /uni22C2.disp /uni22C3 /uni22C3.disp
+%20
+ /uni2A40.big /uni2A40.big.disp /uni228D.big /uni228D.big.disp /capplus.big /capplus.big.disp /uni228E.big /uni228E.big.disp
+ /uni2293.big /uni2293.big.disp /uni2294.big /uni2294.big.disp /sqcapdot.big /sqcapdot.big.disp /sqcupdot.big /sqcupdot.big.disp
+%30
+ /sqcapplus.big /sqcapplus.big.disp /sqcupplus.big /sqcupplus.big.disp /uni25EF.big /uni25EF.big.disp /uni2296.big /uni2296.big.disp
+ /uni29B6.big /uni29B6.big.disp /uni2298.big /uni2298.big.disp /uni29B8.big /uni29B8.big.disp /uni2295.big /uni2295.big.disp
+%40
+ /uni2297.big /uni2297.big.disp /uni2299.big /uni2299.big.disp /uni229A.big /uni229A.big.disp /otriangle.big /otriangle.big.disp
+ /uni229B.big /uni229B.big.disp /uni235F.big /uni235F.big.disp /product /product.disp /uni2210 /uni2210.disp
+%50
+ /summation /summation.disp /integral /integral.disp /uni222C /uni222C.disp /uni222D /uni222D.disp
+ /uni2A0C /uni2A0C.disp /uni222B2026222B /uni222B2026222B.disp /uni2A19 /uni2A19.disp /uni2A1A /uni2A1A.disp
+%60
+ /uni2A0F /uni2A0F.disp /uni222E /uni222E.disp /uni222F /uni222F.disp /uni2233 /uni2233.disp
+ /uni2232.alt1 /uni2232.disp.alt1 /uni2233.alt1 /uni2233.disp.alt1 /uni2232 /uni2232.disp /uni2A0B /uni2A0B.disp
+%70
+ /uni222B2026222B.part /uni222B2026222B.part.disp /uni2A19.part /uni2A19.part.disp /uni2A1A.part /uni2A1A.part.disp /uni2A0F.part /uni2A0F.part.disp
+ /uni222E.part /uni222E.part.disp /uni222F.part /uni222F.part.disp /uni2233.part /uni2233.part.disp /uni2232.part.alt1 /uni2232.part.disp.alt1
+%80
+ /uni2233.part.alt1 /uni2233.part.disp.alt1 /uni2232.part /uni2232.part.disp /uni2A0B.part /uni2A0B.part.disp /uni2201 /uni2201.disp
+ /equal.part /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%90
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%A0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%B0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%C0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%D0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%E0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%F0
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
diff --git a/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolS.enc b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolS.enc
new file mode 100644
index 00000000000..70142bb5afa
--- /dev/null
+++ b/Master/texmf-dist/fonts/enc/dvips/mnsymbol/MnSymbolS.enc
@@ -0,0 +1,34 @@
+/MnSymbolS [
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /A /B /C /D /E /F /G
+/H /I /J /K /L /M /N /O
+/P /Q /R /S /T /U /V /W
+/X /Y /Z /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
diff --git a/Master/texmf-dist/fonts/map/dvips/mnsymbol/MnSymbol.map b/Master/texmf-dist/fonts/map/dvips/mnsymbol/MnSymbol.map
new file mode 100644
index 00000000000..f4ce9e7a286
--- /dev/null
+++ b/Master/texmf-dist/fonts/map/dvips/mnsymbol/MnSymbol.map
@@ -0,0 +1,111 @@
+MnSymbolA5 MnSymbol5 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol5.pfb
+MnSymbolB5 MnSymbol5 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol5.pfb
+MnSymbolC5 MnSymbol5 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol5.pfb
+MnSymbolD5 MnSymbol5 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol5.pfb
+MnSymbolE5 MnSymbol5 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol5.pfb
+MnSymbolF5 MnSymbol5 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol5.pfb
+MnSymbolS5 MnSymbol5 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol5.pfb
+
+MnSymbolA6 MnSymbol6 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol6.pfb
+MnSymbolB6 MnSymbol6 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol6.pfb
+MnSymbolC6 MnSymbol6 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol6.pfb
+MnSymbolD6 MnSymbol6 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol6.pfb
+MnSymbolE6 MnSymbol6 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol6.pfb
+MnSymbolF6 MnSymbol6 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol6.pfb
+MnSymbolS6 MnSymbol6 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol6.pfb
+
+MnSymbolA7 MnSymbol7 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol7.pfb
+MnSymbolB7 MnSymbol7 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol7.pfb
+MnSymbolC7 MnSymbol7 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol7.pfb
+MnSymbolD7 MnSymbol7 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol7.pfb
+MnSymbolE7 MnSymbol7 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol7.pfb
+MnSymbolF7 MnSymbol7 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol7.pfb
+MnSymbolS7 MnSymbol7 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol7.pfb
+
+MnSymbolA8 MnSymbol8 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol8.pfb
+MnSymbolB8 MnSymbol8 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol8.pfb
+MnSymbolC8 MnSymbol8 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol8.pfb
+MnSymbolD8 MnSymbol8 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol8.pfb
+MnSymbolE8 MnSymbol8 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol8.pfb
+MnSymbolF8 MnSymbol8 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol8.pfb
+MnSymbolS8 MnSymbol8 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol8.pfb
+
+MnSymbolA9 MnSymbol9 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol9.pfb
+MnSymbolB9 MnSymbol9 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol9.pfb
+MnSymbolC9 MnSymbol9 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol9.pfb
+MnSymbolD9 MnSymbol9 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol9.pfb
+MnSymbolE9 MnSymbol9 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol9.pfb
+MnSymbolF9 MnSymbol9 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol9.pfb
+MnSymbolS9 MnSymbol9 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol9.pfb
+
+MnSymbolA10 MnSymbol10 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol10.pfb
+MnSymbolB10 MnSymbol10 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol10.pfb
+MnSymbolC10 MnSymbol10 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol10.pfb
+MnSymbolD10 MnSymbol10 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol10.pfb
+MnSymbolE10 MnSymbol10 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol10.pfb
+MnSymbolF10 MnSymbol10 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol10.pfb
+MnSymbolS10 MnSymbol10 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol10.pfb
+
+MnSymbolA12 MnSymbol12 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol12.pfb
+MnSymbolB12 MnSymbol12 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol12.pfb
+MnSymbolC12 MnSymbol12 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol12.pfb
+MnSymbolD12 MnSymbol12 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol12.pfb
+MnSymbolE12 MnSymbol12 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol12.pfb
+MnSymbolF12 MnSymbol12 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol12.pfb
+MnSymbolS12 MnSymbol12 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol12.pfb
+
+MnSymbolA-Bold5 MnSymbol-Bold5 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol-Bold5.pfb
+MnSymbolB-Bold5 MnSymbol-Bold5 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol-Bold5.pfb
+MnSymbolC-Bold5 MnSymbol-Bold5 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol-Bold5.pfb
+MnSymbolD-Bold5 MnSymbol-Bold5 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol-Bold5.pfb
+MnSymbolE-Bold5 MnSymbol-Bold5 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol-Bold5.pfb
+MnSymbolF-Bold5 MnSymbol-Bold5 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol-Bold5.pfb
+MnSymbolS-Bold5 MnSymbol-Bold5 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol-Bold5.pfb
+
+MnSymbolA-Bold6 MnSymbol-Bold6 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol-Bold6.pfb
+MnSymbolB-Bold6 MnSymbol-Bold6 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol-Bold6.pfb
+MnSymbolC-Bold6 MnSymbol-Bold6 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol-Bold6.pfb
+MnSymbolD-Bold6 MnSymbol-Bold6 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol-Bold6.pfb
+MnSymbolE-Bold6 MnSymbol-Bold6 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol-Bold6.pfb
+MnSymbolF-Bold6 MnSymbol-Bold6 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol-Bold6.pfb
+MnSymbolS-Bold6 MnSymbol-Bold6 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol-Bold6.pfb
+
+MnSymbolA-Bold7 MnSymbol-Bold7 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol-Bold7.pfb
+MnSymbolB-Bold7 MnSymbol-Bold7 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol-Bold7.pfb
+MnSymbolC-Bold7 MnSymbol-Bold7 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol-Bold7.pfb
+MnSymbolD-Bold7 MnSymbol-Bold7 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol-Bold7.pfb
+MnSymbolE-Bold7 MnSymbol-Bold7 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol-Bold7.pfb
+MnSymbolF-Bold7 MnSymbol-Bold7 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol-Bold7.pfb
+MnSymbolS-Bold7 MnSymbol-Bold7 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol-Bold7.pfb
+
+MnSymbolA-Bold8 MnSymbol-Bold8 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol-Bold8.pfb
+MnSymbolB-Bold8 MnSymbol-Bold8 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol-Bold8.pfb
+MnSymbolC-Bold8 MnSymbol-Bold8 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol-Bold8.pfb
+MnSymbolD-Bold8 MnSymbol-Bold8 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol-Bold8.pfb
+MnSymbolE-Bold8 MnSymbol-Bold8 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol-Bold8.pfb
+MnSymbolF-Bold8 MnSymbol-Bold8 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol-Bold8.pfb
+MnSymbolS-Bold8 MnSymbol-Bold8 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol-Bold8.pfb
+
+MnSymbolA-Bold9 MnSymbol-Bold9 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol-Bold9.pfb
+MnSymbolB-Bold9 MnSymbol-Bold9 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol-Bold9.pfb
+MnSymbolC-Bold9 MnSymbol-Bold9 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol-Bold9.pfb
+MnSymbolD-Bold9 MnSymbol-Bold9 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol-Bold9.pfb
+MnSymbolE-Bold9 MnSymbol-Bold9 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol-Bold9.pfb
+MnSymbolF-Bold9 MnSymbol-Bold9 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol-Bold9.pfb
+MnSymbolS-Bold9 MnSymbol-Bold9 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol-Bold9.pfb
+
+MnSymbolA-Bold10 MnSymbol-Bold10 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol-Bold10.pfb
+MnSymbolB-Bold10 MnSymbol-Bold10 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol-Bold10.pfb
+MnSymbolC-Bold10 MnSymbol-Bold10 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol-Bold10.pfb
+MnSymbolD-Bold10 MnSymbol-Bold10 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol-Bold10.pfb
+MnSymbolE-Bold10 MnSymbol-Bold10 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol-Bold10.pfb
+MnSymbolF-Bold10 MnSymbol-Bold10 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol-Bold10.pfb
+MnSymbolS-Bold10 MnSymbol-Bold10 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol-Bold10.pfb
+
+MnSymbolA-Bold12 MnSymbol-Bold12 "MnSymbolA ReEncodeFont" <[MnSymbolA.enc <MnSymbol-Bold12.pfb
+MnSymbolB-Bold12 MnSymbol-Bold12 "MnSymbolB ReEncodeFont" <[MnSymbolB.enc <MnSymbol-Bold12.pfb
+MnSymbolC-Bold12 MnSymbol-Bold12 "MnSymbolC ReEncodeFont" <[MnSymbolC.enc <MnSymbol-Bold12.pfb
+MnSymbolD-Bold12 MnSymbol-Bold12 "MnSymbolD ReEncodeFont" <[MnSymbolD.enc <MnSymbol-Bold12.pfb
+MnSymbolE-Bold12 MnSymbol-Bold12 "MnSymbolE ReEncodeFont" <[MnSymbolE.enc <MnSymbol-Bold12.pfb
+MnSymbolF-Bold12 MnSymbol-Bold12 "MnSymbolF ReEncodeFont" <[MnSymbolF.enc <MnSymbol-Bold12.pfb
+MnSymbolS-Bold12 MnSymbol-Bold12 "MnSymbolS ReEncodeFont" <[MnSymbolS.enc <MnSymbol-Bold12.pfb
diff --git a/Master/texmf-dist/fonts/map/vtex/mnsymbol/MnSymbol.ali b/Master/texmf-dist/fonts/map/vtex/mnsymbol/MnSymbol.ali
new file mode 100644
index 00000000000..5d1167f9585
--- /dev/null
+++ b/Master/texmf-dist/fonts/map/vtex/mnsymbol/MnSymbol.ali
@@ -0,0 +1,115 @@
+%1 = $PFM$
+%2 = $TEXMF$fonts/type1/public/MnSymbol/
+
+@MnSymbol5 = MnSymbol5 %2,1
+@MnSymbol5-A = MnSymbolA5 %2,1,r="MnSymbolA",b="MnSymbol5"
+@MnSymbol5-B = MnSymbolB5 %2,1,r="MnSymbolB",b="MnSymbol5"
+@MnSymbol5-C = MnSymbolC5 %2,1,r="MnSymbolC",b="MnSymbol5"
+@MnSymbol5-D = MnSymbolD5 %2,1,r="MnSymbolD",b="MnSymbol5"
+@MnSymbol5-E = MnSymbolE5 %2,1,r="MnSymbolE",b="MnSymbol5"
+@MnSymbol5-F = MnSymbolF5 %2,1,r="MnSymbolF",b="MnSymbol5"
+@MnSymbol5-S = MnSymbolS5 %2,1,r="MnSymbolS",b="MnSymbol5"
+@MnSymbol6 = MnSymbol6 %2,1
+@MnSymbol6-A = MnSymbolA6 %2,1,r="MnSymbolA",b="MnSymbol6"
+@MnSymbol6-B = MnSymbolB6 %2,1,r="MnSymbolB",b="MnSymbol6"
+@MnSymbol6-C = MnSymbolC6 %2,1,r="MnSymbolC",b="MnSymbol6"
+@MnSymbol6-D = MnSymbolD6 %2,1,r="MnSymbolD",b="MnSymbol6"
+@MnSymbol6-E = MnSymbolE6 %2,1,r="MnSymbolE",b="MnSymbol6"
+@MnSymbol6-F = MnSymbolF6 %2,1,r="MnSymbolF",b="MnSymbol6"
+@MnSymbol6-S = MnSymbolS6 %2,1,r="MnSymbolS",b="MnSymbol6"
+@MnSymbol7 = MnSymbol7 %2,1
+@MnSymbol7-A = MnSymbolA7 %2,1,r="MnSymbolA",b="MnSymbol7"
+@MnSymbol7-B = MnSymbolB7 %2,1,r="MnSymbolB",b="MnSymbol7"
+@MnSymbol7-C = MnSymbolC7 %2,1,r="MnSymbolC",b="MnSymbol7"
+@MnSymbol7-D = MnSymbolD7 %2,1,r="MnSymbolD",b="MnSymbol7"
+@MnSymbol7-E = MnSymbolE7 %2,1,r="MnSymbolE",b="MnSymbol7"
+@MnSymbol7-F = MnSymbolF7 %2,1,r="MnSymbolF",b="MnSymbol7"
+@MnSymbol7-S = MnSymbolS7 %2,1,r="MnSymbolS",b="MnSymbol7"
+@MnSymbol8 = MnSymbol8 %2,1
+@MnSymbol8-A = MnSymbolA8 %2,1,r="MnSymbolA",b="MnSymbol8"
+@MnSymbol8-B = MnSymbolB8 %2,1,r="MnSymbolB",b="MnSymbol8"
+@MnSymbol8-C = MnSymbolC8 %2,1,r="MnSymbolC",b="MnSymbol8"
+@MnSymbol8-D = MnSymbolD8 %2,1,r="MnSymbolD",b="MnSymbol8"
+@MnSymbol8-E = MnSymbolE8 %2,1,r="MnSymbolE",b="MnSymbol8"
+@MnSymbol8-F = MnSymbolF8 %2,1,r="MnSymbolF",b="MnSymbol8"
+@MnSymbol8-S = MnSymbolS8 %2,1,r="MnSymbolS",b="MnSymbol8"
+@MnSymbol9 = MnSymbol9 %2,1
+@MnSymbol9-A = MnSymbolA9 %2,1,r="MnSymbolA",b="MnSymbol9"
+@MnSymbol9-B = MnSymbolB9 %2,1,r="MnSymbolB",b="MnSymbol9"
+@MnSymbol9-C = MnSymbolC9 %2,1,r="MnSymbolC",b="MnSymbol9"
+@MnSymbol9-D = MnSymbolD9 %2,1,r="MnSymbolD",b="MnSymbol9"
+@MnSymbol9-E = MnSymbolE9 %2,1,r="MnSymbolE",b="MnSymbol9"
+@MnSymbol9-F = MnSymbolF9 %2,1,r="MnSymbolF",b="MnSymbol9"
+@MnSymbol9-S = MnSymbolS9 %2,1,r="MnSymbolS",b="MnSymbol9"
+@MnSymbol10 = MnSymbol10 %2,1
+@MnSymbol10-A = MnSymbolA10 %2,1,r="MnSymbolA",b="MnSymbol10"
+@MnSymbol10-B = MnSymbolB10 %2,1,r="MnSymbolB",b="MnSymbol10"
+@MnSymbol10-C = MnSymbolC10 %2,1,r="MnSymbolC",b="MnSymbol10"
+@MnSymbol10-D = MnSymbolD10 %2,1,r="MnSymbolD",b="MnSymbol10"
+@MnSymbol10-E = MnSymbolE10 %2,1,r="MnSymbolE",b="MnSymbol10"
+@MnSymbol10-F = MnSymbolF10 %2,1,r="MnSymbolF",b="MnSymbol10"
+@MnSymbol10-S = MnSymbolS10 %2,1,r="MnSymbolS",b="MnSymbol10"
+@MnSymbol12 = MnSymbol12 %2,1
+@MnSymbol12-A = MnSymbolA12 %2,1,r="MnSymbolA",b="MnSymbol12"
+@MnSymbol12-B = MnSymbolB12 %2,1,r="MnSymbolB",b="MnSymbol12"
+@MnSymbol12-C = MnSymbolC12 %2,1,r="MnSymbolC",b="MnSymbol12"
+@MnSymbol12-D = MnSymbolD12 %2,1,r="MnSymbolD",b="MnSymbol12"
+@MnSymbol12-E = MnSymbolE12 %2,1,r="MnSymbolE",b="MnSymbol12"
+@MnSymbol12-F = MnSymbolF12 %2,1,r="MnSymbolF",b="MnSymbol12"
+@MnSymbol12-S = MnSymbolS12 %2,1,r="MnSymbolS",b="MnSymbol12"
+@MnSymbol-Bold5 = MnSymbol-Bold5 %2,1
+@MnSymbol-Bold5-A = MnSymbolA-Bold5 %2,1,r="MnSymbolA",b="MnSymbol-Bold5"
+@MnSymbol-Bold5-B = MnSymbolB-Bold5 %2,1,r="MnSymbolB",b="MnSymbol-Bold5"
+@MnSymbol-Bold5-C = MnSymbolC-Bold5 %2,1,r="MnSymbolC",b="MnSymbol-Bold5"
+@MnSymbol-Bold5-D = MnSymbolD-Bold5 %2,1,r="MnSymbolD",b="MnSymbol-Bold5"
+@MnSymbol-Bold5-E = MnSymbolE-Bold5 %2,1,r="MnSymbolE",b="MnSymbol-Bold5"
+@MnSymbol-Bold5-F = MnSymbolF-Bold5 %2,1,r="MnSymbolF",b="MnSymbol-Bold5"
+@MnSymbol-Bold5-S = MnSymbolS-Bold5 %2,1,r="MnSymbolS",b="MnSymbol-Bold5"
+@MnSymbol-Bold6 = MnSymbol-Bold6 %2,1
+@MnSymbol-Bold6-A = MnSymbolA-Bold6 %2,1,r="MnSymbolA",b="MnSymbol-Bold6"
+@MnSymbol-Bold6-B = MnSymbolB-Bold6 %2,1,r="MnSymbolB",b="MnSymbol-Bold6"
+@MnSymbol-Bold6-C = MnSymbolC-Bold6 %2,1,r="MnSymbolC",b="MnSymbol-Bold6"
+@MnSymbol-Bold6-D = MnSymbolD-Bold6 %2,1,r="MnSymbolD",b="MnSymbol-Bold6"
+@MnSymbol-Bold6-E = MnSymbolE-Bold6 %2,1,r="MnSymbolE",b="MnSymbol-Bold6"
+@MnSymbol-Bold6-F = MnSymbolF-Bold6 %2,1,r="MnSymbolF",b="MnSymbol-Bold6"
+@MnSymbol-Bold6-S = MnSymbolS-Bold6 %2,1,r="MnSymbolS",b="MnSymbol-Bold6"
+@MnSymbol-Bold7 = MnSymbol-Bold7 %2,1
+@MnSymbol-Bold7-A = MnSymbolA-Bold7 %2,1,r="MnSymbolA",b="MnSymbol-Bold7"
+@MnSymbol-Bold7-B = MnSymbolB-Bold7 %2,1,r="MnSymbolB",b="MnSymbol-Bold7"
+@MnSymbol-Bold7-C = MnSymbolC-Bold7 %2,1,r="MnSymbolC",b="MnSymbol-Bold7"
+@MnSymbol-Bold7-D = MnSymbolD-Bold7 %2,1,r="MnSymbolD",b="MnSymbol-Bold7"
+@MnSymbol-Bold7-E = MnSymbolE-Bold7 %2,1,r="MnSymbolE",b="MnSymbol-Bold7"
+@MnSymbol-Bold7-F = MnSymbolF-Bold7 %2,1,r="MnSymbolF",b="MnSymbol-Bold7"
+@MnSymbol-Bold7-S = MnSymbolS-Bold7 %2,1,r="MnSymbolS",b="MnSymbol-Bold7"
+@MnSymbol-Bold8 = MnSymbol-Bold8 %2,1
+@MnSymbol-Bold8-A = MnSymbolA-Bold8 %2,1,r="MnSymbolA",b="MnSymbol-Bold8"
+@MnSymbol-Bold8-B = MnSymbolB-Bold8 %2,1,r="MnSymbolB",b="MnSymbol-Bold8"
+@MnSymbol-Bold8-C = MnSymbolC-Bold8 %2,1,r="MnSymbolC",b="MnSymbol-Bold8"
+@MnSymbol-Bold8-D = MnSymbolD-Bold8 %2,1,r="MnSymbolD",b="MnSymbol-Bold8"
+@MnSymbol-Bold8-E = MnSymbolE-Bold8 %2,1,r="MnSymbolE",b="MnSymbol-Bold8"
+@MnSymbol-Bold8-F = MnSymbolF-Bold8 %2,1,r="MnSymbolF",b="MnSymbol-Bold8"
+@MnSymbol-Bold8-S = MnSymbolS-Bold8 %2,1,r="MnSymbolS",b="MnSymbol-Bold8"
+@MnSymbol-Bold9 = MnSymbol-Bold9 %2,1
+@MnSymbol-Bold9-A = MnSymbolA-Bold9 %2,1,r="MnSymbolA",b="MnSymbol-Bold9"
+@MnSymbol-Bold9-B = MnSymbolB-Bold9 %2,1,r="MnSymbolB",b="MnSymbol-Bold9"
+@MnSymbol-Bold9-C = MnSymbolC-Bold9 %2,1,r="MnSymbolC",b="MnSymbol-Bold9"
+@MnSymbol-Bold9-D = MnSymbolD-Bold9 %2,1,r="MnSymbolD",b="MnSymbol-Bold9"
+@MnSymbol-Bold9-E = MnSymbolE-Bold9 %2,1,r="MnSymbolE",b="MnSymbol-Bold9"
+@MnSymbol-Bold9-F = MnSymbolF-Bold9 %2,1,r="MnSymbolF",b="MnSymbol-Bold9"
+@MnSymbol-Bold9-S = MnSymbolS-Bold9 %2,1,r="MnSymbolS",b="MnSymbol-Bold9"
+@MnSymbol-Bold10 = MnSymbol-Bold10 %2,1
+@MnSymbol-Bold10-A = MnSymbolA-Bold10 %2,1,r="MnSymbolA",b="MnSymbol-Bold10"
+@MnSymbol-Bold10-B = MnSymbolB-Bold10 %2,1,r="MnSymbolB",b="MnSymbol-Bold10"
+@MnSymbol-Bold10-C = MnSymbolC-Bold10 %2,1,r="MnSymbolC",b="MnSymbol-Bold10"
+@MnSymbol-Bold10-D = MnSymbolD-Bold10 %2,1,r="MnSymbolD",b="MnSymbol-Bold10"
+@MnSymbol-Bold10-E = MnSymbolE-Bold10 %2,1,r="MnSymbolE",b="MnSymbol-Bold10"
+@MnSymbol-Bold10-F = MnSymbolF-Bold10 %2,1,r="MnSymbolF",b="MnSymbol-Bold10"
+@MnSymbol-Bold10-S = MnSymbolS-Bold10 %2,1,r="MnSymbolS",b="MnSymbol-Bold10"
+@MnSymbol-Bold12 = MnSymbol-Bold12 %2,1
+@MnSymbol-Bold12-A = MnSymbolA-Bold12 %2,1,r="MnSymbolA",b="MnSymbol-Bold12"
+@MnSymbol-Bold12-B = MnSymbolB-Bold12 %2,1,r="MnSymbolB",b="MnSymbol-Bold12"
+@MnSymbol-Bold12-C = MnSymbolC-Bold12 %2,1,r="MnSymbolC",b="MnSymbol-Bold12"
+@MnSymbol-Bold12-D = MnSymbolD-Bold12 %2,1,r="MnSymbolD",b="MnSymbol-Bold12"
+@MnSymbol-Bold12-E = MnSymbolE-Bold12 %2,1,r="MnSymbolE",b="MnSymbol-Bold12"
+@MnSymbol-Bold12-F = MnSymbolF-Bold12 %2,1,r="MnSymbolF",b="MnSymbol-Bold12"
+@MnSymbol-Bold12-S = MnSymbolS-Bold12 %2,1,r="MnSymbolS",b="MnSymbol-Bold12"
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold10.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold10.otf
new file mode 100644
index 00000000000..a4331248da2
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold10.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold12.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold12.otf
new file mode 100644
index 00000000000..aa42d7ecd55
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold12.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold5.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold5.otf
new file mode 100644
index 00000000000..6a6e17b4fd0
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold5.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold6.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold6.otf
new file mode 100644
index 00000000000..09d2c3acb7f
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold6.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold7.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold7.otf
new file mode 100644
index 00000000000..b87f28174cf
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold7.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold8.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold8.otf
new file mode 100644
index 00000000000..3593831ae46
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold8.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold9.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold9.otf
new file mode 100644
index 00000000000..cf3df8c50c4
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol-Bold9.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol10.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol10.otf
new file mode 100644
index 00000000000..ce7b28079c4
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol10.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol12.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol12.otf
new file mode 100644
index 00000000000..c8bd71de76c
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol12.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol5.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol5.otf
new file mode 100644
index 00000000000..3a7901afe31
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol5.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol6.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol6.otf
new file mode 100644
index 00000000000..be9178ae5d6
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol6.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol7.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol7.otf
new file mode 100644
index 00000000000..cce925b25e2
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol7.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol8.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol8.otf
new file mode 100644
index 00000000000..94ec75cb8ae
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol8.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol9.otf b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol9.otf
new file mode 100644
index 00000000000..94a278f7791
--- /dev/null
+++ b/Master/texmf-dist/fonts/opentype/public/mnsymbol/MnSymbol9.otf
Binary files differ
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbol-Parameter.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbol-Parameter.mf
new file mode 100644
index 00000000000..49690cc658f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbol-Parameter.mf
@@ -0,0 +1,51 @@
+
+input Sym-Init;
+
+if bold_weight:
+ u# := interpolate(1/36pt#)(12.5, 14, 15.5, 17, 18.5, 20, 23.5);
+ asc_height# := interpolate(1/36pt#)( 120, 144, 168, 192, 216, 240, 288);
+ desc_depth# := interpolate(1/36pt#)( 35, 42, 49, 56, 63, 70, 84);
+ x_height# := interpolate(1/36pt#)( 77, 92, 107, 123, 138, 154, 184);
+ math_axis# := interpolate(1/36pt#)( 46, 55, 64, 73, 82, 92, 110);
+ rule_thickness# := 1.5 * interpolate(1/100pt#)( 31, 34, 38, 40, 42, 45, 54);
+
+ side_bearing# := 1.5u#;
+ small_op_size# := 7u#; % radius of small operators
+ med_op_size# := 12u#; % radius of medium operators
+ plus_size# := 4/5med_op_size#-11/5rule_thickness#;
+ large_op_size# := 18u#; % radius of large operators
+ order_width# := 7u#; % width of equal sign
+ equal_spread# := .7math_axis#; % distance between the lines of the equal sign
+ greater_spread# := 10/4equal_spread#; % distance between the ends of the greater sign
+ arrow_horiz_len# := 12u#; % length of horizontal arrows
+ arrow_vert_len# := 3math_axis#; % length of vertical arrows
+ arrow_diag_len# := 0.5(arrow_horiz_len# + arrow_vert_len#);
+ arrow_spread# := 1.6equal_spread#;
+ delim_height# := 15/20asc_height#;
+
+ dot_size# := 1.5 * 35/36u#;
+else:
+ u# := interpolate(1/36pt#)(12.5, 14, 15.5, 17, 18.5, 20, 23.5);
+ asc_height# := interpolate(1/36pt#)( 120, 144, 168, 192, 216, 240, 288);
+ desc_depth# := interpolate(1/36pt#)( 35, 42, 49, 56, 63, 70, 84);
+ x_height# := interpolate(1/36pt#)( 77, 92, 107, 123, 138, 154, 184);
+ math_axis# := interpolate(1/36pt#)( 46, 55, 64, 73, 82, 92, 110);
+ rule_thickness# := interpolate(1/100pt#)( 31, 34, 38, 40, 42, 45, 54);
+
+ side_bearing# := 1.5u#;
+ small_op_size# := 7u#; % radius of small operators
+ med_op_size# := 12u#; % radius of medium operators
+ plus_size# := 4/5med_op_size#-11/5rule_thickness#;
+ large_op_size# := 18u#; % radius of large operators
+ order_width# := 7u#; % width of equal sign
+ equal_spread# := .7math_axis#; % distance between the lines of the equal sign
+ greater_spread# := 10/4equal_spread#; % distance between the ends of the greater sign
+ arrow_horiz_len# := 12u#; % length of horizontal arrows
+ arrow_vert_len# := 3math_axis#; % length of vertical arrows
+ arrow_diag_len# := 0.5(arrow_horiz_len# + arrow_vert_len#);
+ arrow_spread# := 1.6equal_spread#;
+ delim_height# := 15/20asc_height#;
+
+ dot_size# := 35/36u#;
+fi;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold.mf
new file mode 100644
index 00000000000..6a3ea69466d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold.mf
@@ -0,0 +1,16 @@
+
+font_identifier:="MnSymbolA-Bold";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := true;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+boolean negated;
+negated := false;
+
+input Sym-Arrows.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold10.mf
new file mode 100644
index 00000000000..474a066a303
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolA-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold12.mf
new file mode 100644
index 00000000000..9590b7d0c68
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolA-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold5.mf
new file mode 100644
index 00000000000..8072172c1db
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolA-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold6.mf
new file mode 100644
index 00000000000..8f11d76e4d7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolA-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold7.mf
new file mode 100644
index 00000000000..9144bc3d936
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolA-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold8.mf
new file mode 100644
index 00000000000..ef1f5347e49
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolA-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold9.mf
new file mode 100644
index 00000000000..097021d83a4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA-Bold9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolA-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA.mf
new file mode 100644
index 00000000000..85489eccf65
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA.mf
@@ -0,0 +1,16 @@
+
+font_identifier:="MnSymbolA";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := false;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+boolean negated;
+negated := false;
+
+input Sym-Arrows.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA10.mf
new file mode 100644
index 00000000000..b08a02d8d9f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolA;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA12.mf
new file mode 100644
index 00000000000..0052b6750c3
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolA;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA5.mf
new file mode 100644
index 00000000000..d9dad303472
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolA;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA6.mf
new file mode 100644
index 00000000000..81bd6ccd7a5
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolA;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA7.mf
new file mode 100644
index 00000000000..bf670974081
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolA;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA8.mf
new file mode 100644
index 00000000000..35c6f1d0599
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolA;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA9.mf
new file mode 100644
index 00000000000..ffd17fcc867
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolA9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolA;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold.mf
new file mode 100644
index 00000000000..0460c37ba53
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold.mf
@@ -0,0 +1,16 @@
+
+font_identifier:="MnSymbolB-Bold";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := true;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+boolean negated;
+negated := true;
+
+input Sym-Arrows.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold10.mf
new file mode 100644
index 00000000000..f4e60decc9a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolB-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold12.mf
new file mode 100644
index 00000000000..c2e2ee94f16
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolB-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold5.mf
new file mode 100644
index 00000000000..376ba0b786d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolB-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold6.mf
new file mode 100644
index 00000000000..8c01e7cf2ae
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolB-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold7.mf
new file mode 100644
index 00000000000..61826361ec2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolB-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold8.mf
new file mode 100644
index 00000000000..132731b80c0
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolB-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold9.mf
new file mode 100644
index 00000000000..a80db75b88f
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB-Bold9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolB-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB.mf
new file mode 100644
index 00000000000..d221e1e0171
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB.mf
@@ -0,0 +1,16 @@
+
+font_identifier:="MnSymbolB";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := false;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+boolean negated;
+negated := true;
+
+input Sym-Arrows.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB10.mf
new file mode 100644
index 00000000000..21ef6913632
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolB;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB12.mf
new file mode 100644
index 00000000000..191e0041436
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolB;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB5.mf
new file mode 100644
index 00000000000..a6b344b6a57
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolB;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB6.mf
new file mode 100644
index 00000000000..93e2cca5abd
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolB;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB7.mf
new file mode 100644
index 00000000000..6f935e60bfa
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolB;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB8.mf
new file mode 100644
index 00000000000..edf188e984a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolB;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB9.mf
new file mode 100644
index 00000000000..f60246e0362
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolB9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolB;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold.mf
new file mode 100644
index 00000000000..0bb70c1a740
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold.mf
@@ -0,0 +1,13 @@
+
+font_identifier:="MnSymbolC-Bold";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := true;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+input Sym-Geometric.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold10.mf
new file mode 100644
index 00000000000..73ec65c5d27
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolC-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold12.mf
new file mode 100644
index 00000000000..7115409841d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolC-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold5.mf
new file mode 100644
index 00000000000..49e39745df1
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolC-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold6.mf
new file mode 100644
index 00000000000..c55fc352ed7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolC-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold7.mf
new file mode 100644
index 00000000000..387086a6755
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolC-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold8.mf
new file mode 100644
index 00000000000..45f532edfd2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolC-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold9.mf
new file mode 100644
index 00000000000..db9b09e1100
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC-Bold9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolC-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC.mf
new file mode 100644
index 00000000000..e7ebf61ee05
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC.mf
@@ -0,0 +1,13 @@
+
+font_identifier:="MnSymbolC";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := false;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+input Sym-Geometric.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC10.mf
new file mode 100644
index 00000000000..a8718dfb4c8
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolC;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC12.mf
new file mode 100644
index 00000000000..2ac52af9dea
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolC;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC5.mf
new file mode 100644
index 00000000000..edbb14ea699
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolC;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC6.mf
new file mode 100644
index 00000000000..1031f1561ee
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolC;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC7.mf
new file mode 100644
index 00000000000..4a09a10805b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolC;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC8.mf
new file mode 100644
index 00000000000..d2396f8ba34
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolC;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC9.mf
new file mode 100644
index 00000000000..14cb0070422
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolC9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolC;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold.mf
new file mode 100644
index 00000000000..1052b6af1e3
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold.mf
@@ -0,0 +1,23 @@
+
+font_identifier:="MnSymbolD-Bold";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := true;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+negated := 0;
+
+input Sym-Order.mf;
+
+negated := 1;
+
+input Sym-Order.mf;
+
+negated := 2;
+
+input Sym-Order.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold10.mf
new file mode 100644
index 00000000000..4f95df55ce9
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolD-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold12.mf
new file mode 100644
index 00000000000..403858077df
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolD-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold5.mf
new file mode 100644
index 00000000000..fb1293a9284
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolD-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold6.mf
new file mode 100644
index 00000000000..b653afff7ff
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolD-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold7.mf
new file mode 100644
index 00000000000..4012179199d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolD-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold8.mf
new file mode 100644
index 00000000000..6233ab2398c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolD-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold9.mf
new file mode 100644
index 00000000000..bc577235f91
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD-Bold9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolD-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD.mf
new file mode 100644
index 00000000000..26abd7bb89a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD.mf
@@ -0,0 +1,23 @@
+
+font_identifier:="MnSymbolD";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := false;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+
+negated := 0;
+
+input Sym-Order.mf;
+
+negated := 1;
+
+input Sym-Order.mf;
+
+negated := 2;
+
+input Sym-Order.mf;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD10.mf
new file mode 100644
index 00000000000..f9bae5a6b31
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolD;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD12.mf
new file mode 100644
index 00000000000..d483167bb6b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolD;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD5.mf
new file mode 100644
index 00000000000..870242b7ef8
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolD;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD6.mf
new file mode 100644
index 00000000000..557e0b8f2a3
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolD;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD7.mf
new file mode 100644
index 00000000000..48702d94bb4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolD;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD8.mf
new file mode 100644
index 00000000000..aaa6e7677cb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolD;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD9.mf
new file mode 100644
index 00000000000..e2014caf75c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolD9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolD;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold.mf
new file mode 100644
index 00000000000..2c6b544661e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold.mf
@@ -0,0 +1,25 @@
+
+font_identifier:="MnSymbolE-Bold";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := true;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+input Sym-Delim.mf;
+
+current_char := 193;
+input Sym-Accent.mf;
+
+font_x_height x_height#;
+
+fontdimen 8:
+ rule_thickness#, % default_rule_thickness
+ interpolate(1/36pt#)( 20, 24, 28, 32, 36, 40, 44), % big_op_spacing1
+ interpolate(1/36pt#)( 30, 36, 42, 48, 54, 60, 66), % big_op_spacing2
+ interpolate(1/36pt#)( 36.0, 43.2, 50.4, 57.6, 64.8, 72, 79.2), % big_op_spacing3
+ interpolate(1/36pt#)(112, 133, 154, 175, 196, 216, 236), % big_op_spacing4
+ 36/36pt#; % big_op_spacing5
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold10.mf
new file mode 100644
index 00000000000..01c5dd95873
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolE-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold12.mf
new file mode 100644
index 00000000000..20b2a16fe84
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolE-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold5.mf
new file mode 100644
index 00000000000..a5759f277c9
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolE-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold6.mf
new file mode 100644
index 00000000000..076a50224b6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolE-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold7.mf
new file mode 100644
index 00000000000..2ac52430319
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolE-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold8.mf
new file mode 100644
index 00000000000..41b03aa0c79
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolE-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold9.mf
new file mode 100644
index 00000000000..93fa7826daa
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE-Bold9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolE-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE.mf
new file mode 100644
index 00000000000..703a8e7e6db
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE.mf
@@ -0,0 +1,25 @@
+
+font_identifier:="MnSymbolE";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := false;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+input Sym-Delim.mf;
+
+current_char := 193;
+input Sym-Accent.mf;
+
+font_x_height x_height#;
+
+fontdimen 8:
+ rule_thickness#, % default_rule_thickness
+ interpolate(1/36pt#)( 20, 24, 28, 32, 36, 40, 44), % big_op_spacing1
+ interpolate(1/36pt#)( 30, 36, 42, 48, 54, 60, 66), % big_op_spacing2
+ interpolate(1/36pt#)( 36.0, 43.2, 50.4, 57.6, 64.8, 72, 79.2), % big_op_spacing3
+ interpolate(1/36pt#)(112, 133, 154, 175, 196, 216, 236), % big_op_spacing4
+ 36/36pt#; % big_op_spacing5
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE10.mf
new file mode 100644
index 00000000000..78c74e19102
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolE;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE12.mf
new file mode 100644
index 00000000000..a6c38f7e09e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolE;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE5.mf
new file mode 100644
index 00000000000..5e752ff1680
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolE;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE6.mf
new file mode 100644
index 00000000000..78cd514fdd6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolE;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE7.mf
new file mode 100644
index 00000000000..2e10da464db
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolE;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE8.mf
new file mode 100644
index 00000000000..364ab65c658
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolE;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE9.mf
new file mode 100644
index 00000000000..34efcc105dd
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolE9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolE;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold.mf
new file mode 100644
index 00000000000..bcd4aa390bd
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold.mf
@@ -0,0 +1,35 @@
+
+font_identifier:="MnSymbolF-Bold";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := true;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+input Sym-Operators.mf;
+
+font_slant 0;
+font_x_height x_height#;
+font_quad 16u#;
+
+subs := interpolate(1)(5/5, 5/6, 5/7, 6/8, 6/9, 7/10, 8/12); % subscript size
+rth# := rule_thickness#;
+fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed
+ math_axis# + 3.51rth# + interpolate(1/36pt#)(36, 36, 36, 36, 36, 44, 53) + subs * desc_depth#, % num1
+ math_axis# + 1.51rth# + interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30), % num2
+ math_axis# + 1.51rth# + interpolate(1/36pt#)(24, 29, 34, 38, 43, 48, 57), % num3
+ interpolate(1/36pt#)(63, 74, 86, 98, 111, 124, 149) + 3.51rth# + subs * asc_height# - math_axis#, % denom1
+ interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30) + 1.51rth# + subs * asc_height# - math_axis#, % denom2
+ interpolate(pt#)(5.99, 6.49, 6.99, 7.49, 8.49, 8.99, 9.99) - subs * asc_height#, % sup1
+ interpolate(pt#)(5.49, 5.99, 6.49, 6.99, 7.99, 8.49, 8.99) - subs * asc_height#, % sup2
+ interpolate(1/36pt#)(53, 62, 72, 82, 93, 104, 125), % sup3
+ interpolate(1/36pt#)(36, 36, 36, 36, 36, 54, 65), % sub1
+ interpolate(1/36pt#)(72, 72, 72, 72, 57, 89, 100), % sub2
+ subs * asc_height# - 36/36pt#, % sup\_drop
+ 18/36pt#, % sub\_drop
+ interpolate(pt#)(9.9, 11.9, 11.9, 11.9, 19.0, 19.0, 22.0), % delim1
+ interpolate(pt#)(7.1, 8.1, 8.1, 9.1, 9.1, 10.1, 12.1), % delim2
+ math_axis#; % axis\_height
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold10.mf
new file mode 100644
index 00000000000..137d400def2
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolF-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold12.mf
new file mode 100644
index 00000000000..e5ccf02e04c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolF-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold5.mf
new file mode 100644
index 00000000000..6a49854cfc4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolF-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold6.mf
new file mode 100644
index 00000000000..2fba4303a24
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolF-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold7.mf
new file mode 100644
index 00000000000..16bc51db9b8
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolF-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold8.mf
new file mode 100644
index 00000000000..2d768e9a8b0
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolF-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold9.mf
new file mode 100644
index 00000000000..953a4add32b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF-Bold9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolF-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF.mf
new file mode 100644
index 00000000000..aea3a26b8fe
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF.mf
@@ -0,0 +1,35 @@
+
+font_identifier:="MnSymbolF";
+font_size design_size * pt#;
+
+boolean bold_weight;
+bold_weight := false;
+
+input MnSymbol-Parameter.mf;
+input Sym-Base.mf;
+input Sym-Operators.mf;
+
+font_slant 0;
+font_x_height x_height#;
+font_quad 16u#;
+
+subs := interpolate(1)(5/5, 5/6, 5/7, 6/8, 6/9, 7/10, 8/12); % subscript size
+rth# := rule_thickness#;
+fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed
+ math_axis# + 3.51rth# + interpolate(1/36pt#)(36, 36, 36, 36, 36, 44, 53) + subs * desc_depth#, % num1
+ math_axis# + 1.51rth# + interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30), % num2
+ math_axis# + 1.51rth# + interpolate(1/36pt#)(24, 29, 34, 38, 43, 48, 57), % num3
+ interpolate(1/36pt#)(63, 74, 86, 98, 111, 124, 149) + 3.51rth# + subs * asc_height# - math_axis#, % denom1
+ interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30) + 1.51rth# + subs * asc_height# - math_axis#, % denom2
+ interpolate(pt#)(5.99, 6.49, 6.99, 7.49, 8.49, 8.99, 9.99) - subs * asc_height#, % sup1
+ interpolate(pt#)(5.49, 5.99, 6.49, 6.99, 7.99, 8.49, 8.99) - subs * asc_height#, % sup2
+ interpolate(1/36pt#)(53, 62, 72, 82, 93, 104, 125), % sup3
+ interpolate(1/36pt#)(36, 36, 36, 36, 36, 54, 65), % sub1
+ interpolate(1/36pt#)(72, 72, 72, 72, 57, 89, 100), % sub2
+ subs * asc_height# - 36/36pt#, % sup\_drop
+ 18/36pt#, % sub\_drop
+ interpolate(pt#)(9.9, 11.9, 11.9, 11.9, 19.0, 19.0, 22.0), % delim1
+ interpolate(pt#)(7.1, 8.1, 8.1, 9.1, 9.1, 10.1, 12.1), % delim2
+ math_axis#; % axis\_height
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF10.mf
new file mode 100644
index 00000000000..431ce2e632a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolF;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF12.mf
new file mode 100644
index 00000000000..f96e07a38e9
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolF;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF5.mf
new file mode 100644
index 00000000000..e4b30f47ea7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolF;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF6.mf
new file mode 100644
index 00000000000..c09c336ad8c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolF;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF7.mf
new file mode 100644
index 00000000000..2feb9c26148
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolF;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF8.mf
new file mode 100644
index 00000000000..9de89329f21
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolF;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF9.mf
new file mode 100644
index 00000000000..824d109752e
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolF9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolF;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold.mf
new file mode 100644
index 00000000000..893d40278e6
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold.mf
@@ -0,0 +1,121 @@
+if unknown cmbase: input cmbase fi
+
+font_identifier:="MnSymbolS-Bold";
+font_size design_size * pt#;
+
+input Sym-Init;
+
+u# := interpolate(1/36pt#)(14.5, 16.2, 17.9, 19.6, 21.3, 23, 26.4);
+width_adj# := interpolate(1/36pt#)( 7, 7.8, 8.6, 9.4, 10.2, 11, 12.6);
+serif_fit# := 0;
+cap_serif_fit#:= interpolate(1/36pt#)(3, 3.8, 4.6, 5.4, 6.2, 7, 5.5);
+letter_fit# := interpolate(1/36pt#)(6, 4, 2, 0, 0, 0, 0);
+
+body_height# := interpolate(1/36pt#)(135, 162, 189, 216, 243, 270, 324);
+asc_height# := interpolate(1/36pt#)(125, 150, 175, 200, 225, 250, 300);
+cap_height# := interpolate(1/36pt#)(123.5, 148.2, 172.9, 197.6, 222.3, 247, 296.2);
+fig_height# := interpolate(1/36pt#)(116, 139.2, 162.4, 185.6, 208.8, 232, 278.4);
+x_height# := interpolate(1/36pt#)(80, 96, 112, 128, 144, 160, 190);
+math_axis# := interpolate(1/36pt#)(45, 54, 63, 72, 81, 92, 110);
+bar_height# := interpolate(1/36pt#)(40, 49, 58, 67, 76, 85, 102);
+comma_depth# := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);
+desc_depth# := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);
+
+crisp# := interpolate(1/36pt#)(9, 10, 11, 12, 13, 13, 14);
+tiny# := interpolate(1/36pt#)(9, 10, 11, 12, 13, 13, 14);
+fine# := interpolate(1/36pt#)(8, 9, 9, 10, 10, 10, 11);
+thin_join# := interpolate(1/36pt#)(8, 9, 9, 10, 10, 10, 11);
+hair# := interpolate(1/36pt#)(15, 15.4, 15.8, 16.2, 16.6, 17, 17.8);
+stem# := interpolate(1/36pt#)(23, 27, 31, 34, 37, 40, 46);
+curve# := interpolate(1/36pt#)(26, 30, 34, 38, 42, 45, 51);
+ess# := interpolate(1/36pt#)(18, 24, 28, 31, 34, 36, 40);
+flare# := interpolate(1/36pt#)(26, 29, 33, 37, 40, 42, 45);
+dot_size# := interpolate(1/36pt#)(31, 36, 41, 46, 51, 56, 66);
+cap_hair# := interpolate(1/36pt#)(17, 18, 18, 19, 19, 19, 20);
+cap_stem# := interpolate(1/36pt#)(27, 32, 37, 42, 46, 50, 58);
+cap_curve# := interpolate(1/36pt#)(30, 35, 40, 45, 50, 53, 59);
+cap_ess# := interpolate(1/36pt#)(23, 30, 36, 42, 47, 51, 58);
+rule_thickness# := interpolate(1pt#)(.43, .47, .51, .54, .57, .6, .66);
+
+dish# := interpolate(1/36pt#)(.7, .8, .9, 1, 1, 1, 1);
+bracket# := interpolate(1/36pt#)(5, 6, 7, 8, 9, 10, 12);
+jut# := interpolate(1/36pt#)(15, 17, 19, 21, 24, 27, 33);
+cap_jut# := interpolate(1/36pt#)(21, 24, 27, 30, 35, 39, 47);
+beak_jut# := interpolate(1/36pt#)(7, 7.8, 8.6, 9.4, 10.2, 11, 12.6);
+beak# := interpolate(1/36pt#)(25, 36, 46, 55, 63, 70, 82);
+vair# := interpolate(1/36pt#)(10, 11, 11.5, 12, 12, 13, 13);
+notch_cut# := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
+bar# := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
+slab# := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
+cap_bar# := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
+cap_band# := interpolate(1/36pt#)(12, 13, 14, 15, 16, 17, 19);
+cap_notch_cut# := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
+serif_drop# := interpolate(1/36pt#)(1.5, 1.8, 2.1, 2.4, 2.7, 3, 3.6);
+stem_corr# := interpolate(1/36pt#)(1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.2);
+vair_corr# := interpolate(1/36pt#)(1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.7);
+apex_corr# := interpolate(1/36pt#)(9, 5, 2, 0, 0, 0, 0);
+
+o# := interpolate(1/36pt#)(3.5, 4, 4, 5, 5.5, 6, 7);
+apex_o# := interpolate(1/36pt#)(3.5, 4, 4, 4.5, 5, 6, 7);
+
+slant := .25;
+fudge := 1;
+math_spread := interpolate(1)(1.5, 1.3, 1.1, .9, .7, .5, .1);
+superness := 8/11;
+superpull := 1/8;
+beak_darkness := .4;
+ligs := 2;
+
+square_dots := false;
+hefty := false;
+serifs := true;
+monospace := false;
+variant_g := true;
+low_asterisk := false;
+math_fitting := true;
+
+mode_setup;
+font_setup;
+
+autorounding := hair;
+
+input calu;
+
+font_slant slant;
+font_x_height x_height#;
+font_quad 18u# + 4letter_fit#;
+
+subs := interpolate(1)(5/5, 5/6, 5/7, 6/8, 6/9, 7/10, 8/12); % subscript size
+rth# := rule_thickness#;
+fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed
+ math_axis# + 3.51rth# + interpolate(1/36pt#)(36, 36, 36, 36, 36, 54, 53) + subs * desc_depth#, % num1
+ math_axis# + 1.51rth# + interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30), % num2
+ math_axis# + 1.51rth# + interpolate(1/36pt#)(24, 29, 34, 38, 43, 48, 57), % num3
+ interpolate(1/36pt#)(63, 74, 86, 98, 111, 155, 149) + 3.51rth# + subs * x_height# - math_axis#, % denom1
+ interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30) + 1.51rth# + subs * x_height# - math_axis#, % denom2
+ interpolate(pt#)(5.99, 6.49, 6.99, 7.49, 8.49, 8.99, 9.99) - subs * asc_height#, % sup1
+ interpolate(pt#)(5.49, 5.99, 6.49, 6.99, 7.99, 8.49, 8.99) - subs * asc_height#, % sup2
+ interpolate(1/36pt#)(53, 62, 72, 82, 93, 104, 125), % sup3
+ interpolate(1/36pt#)(36, 36, 36, 36, 36, 54, 65), % sub1
+ interpolate(1/36pt#)(72, 72, 72, 72, 57, 89, 100), % sub2
+ subs * asc_height# - 36/36pt#, % sup\_drop
+ 18/36pt#, % sub\_drop
+ interpolate(pt#)(9.9, 11.9, 11.9, 11.9, 19.0, 19.0, 22.0), % delim1
+ interpolate(pt#)(7.1, 8.1, 8.1, 9.1, 9.1, 10.1, 12.1), % delim2
+ math_axis#; % axis\_height
+
+beginchar(0, 0, 0, 0) % dummy symbol for skew
+endchar;
+
+skewchar = 0;
+skew# = .5u#;
+
+ligtable "I": "T": "V": skewchar kern skew#;
+ligtable "K": skewchar kern 2skew#;
+ligtable "D": "N": "P": "R": "U": "W": "Y": skewchar kern 3skew#;
+ligtable "E": "F": "G": "H": "O": "Q": skewchar kern 4skew#;
+ligtable "B": "C": "L": "M": "S": "X": "Z": skewchar kern 5skew#;
+ligtable "J": skewchar kern 6skew#;
+ligtable "A": skewchar kern 7skew#;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold10.mf
new file mode 100644
index 00000000000..0097dff26eb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolS-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold12.mf
new file mode 100644
index 00000000000..16f52b771ea
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolS-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold5.mf
new file mode 100644
index 00000000000..c017ac6c11c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolS-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold6.mf
new file mode 100644
index 00000000000..82d6868cbbb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolS-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold7.mf
new file mode 100644
index 00000000000..9ee4c3336cb
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolS-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold8.mf
new file mode 100644
index 00000000000..2842af8dc46
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolS-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold9.mf
new file mode 100644
index 00000000000..f4ad82810f4
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS-Bold9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolS-Bold;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS.mf
new file mode 100644
index 00000000000..80ed94ef156
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS.mf
@@ -0,0 +1,121 @@
+if unknown cmbase: input cmbase fi
+
+font_identifier:="MnSymbolS";
+font_size design_size * pt#;
+
+input Sym-Init;
+
+u# := interpolate(1/36pt#)(12.5, 14, 15.5, 17, 18.5, 20, 23);
+width_adj# := 0;
+serif_fit# := 0;
+cap_serif_fit#:= interpolate(1/36pt#)(2, 2.8, 3.5, 4.1, 4.6, 5, 5.5);
+letter_fit# := interpolate(1/36pt#)(10, 6, 4, 0, 0, 0, 0);
+
+body_height# := interpolate(1/36pt#)(135, 162, 189, 216, 243, 270, 324);
+asc_height# := interpolate(1/36pt#)(125, 150, 175, 200, 225, 250, 300);
+cap_height# := interpolate(1/36pt#)(123, 147.6, 172.2, 196.8, 221.4, 246, 295.2);
+fig_height# := interpolate(1/36pt#)(116, 139.2, 162.4, 185.6, 208.8, 232, 278.4);
+x_height# := interpolate(1/36pt#)(77.5, 93, 108.5, 124, 139.5, 155, 186);
+math_axis# := interpolate(1/36pt#)(45, 54, 63, 72, 81, 92, 110);
+bar_height# := interpolate(1/36pt#)(43.5, 52.2, 60.9, 69.6, 78.3, 87, 104.4);
+comma_depth# := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);
+desc_depth# := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);
+
+crisp# := interpolate(1/36pt#)(6, 6.5, 7, 8, 8, 8, 9);
+tiny# := interpolate(1/36pt#)(6, 6.5, 7, 8, 8, 8, 9);
+fine# := interpolate(1/36pt#)(5, 6, 6, 7, 7, 7, 8);
+thin_join# := interpolate(1/36pt#)(5, 6, 6, 7, 7, 7, 8);
+hair# := interpolate(1/36pt#)(8.3, 9, 9.4, 10, 10, 10, 11);
+stem# := interpolate(1/36pt#)(15.5, 17.5, 19.5, 21.5, 23, 24, 26);
+curve# := interpolate(1/36pt#)(17.5, 20, 22.5, 25, 27, 29, 32.5);
+ess# := interpolate(1/36pt#)(12, 17, 21, 23, 25, 27, 31);
+flare# := interpolate(1/36pt#)(18.5, 20.5, 23.5, 26.5, 29, 32, 38);
+dot_size# := interpolate(1/36pt#)(22, 26, 29, 32, 35, 38, 44);
+cap_hair# := interpolate(1/36pt#)( 9.6, 10.2, 10.8, 11.4, 12, 13, 14.5);
+cap_stem# := interpolate(1/36pt#)(18.5, 21, 23.5, 25.5, 28, 30, 34);
+cap_curve# := interpolate(1/36pt#)(20.5, 23.5, 26.5, 29, 32, 35, 41);
+cap_ess# := interpolate(1/36pt#)(13.5, 18.5, 22.5, 26, 30, 33, 39);
+rule_thickness# := interpolate(1pt#)(.31, .34, .38, .40, .42, .45, .49);
+
+dish# := interpolate(1/36pt#)(.7, .8, .9, 1, 1, 1, 1);
+bracket# := interpolate(1/36pt#)(10, 12, 14, 16, 18, 20, 24);
+jut# := interpolate(1/36pt#)(17, 19, 21, 24, 27, 30, 36);
+cap_jut# := interpolate(1/36pt#)(20, 23, 26, 29, 33, 37, 45);
+beak_jut# := interpolate(1/36pt#)(6, 6.8, 7.6, 8.4, 9.2, 10, 11.6);
+beak# := interpolate(1/36pt#)(35, 42, 49, 56, 63, 70, 84);
+vair# := interpolate(1/36pt#)(6, 7, 7, 8, 8, 8, 9);
+notch_cut# := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
+bar# := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
+slab# := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
+cap_bar# := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
+cap_band# := interpolate(1/36pt#)(8, 8.5, 9, 9.5, 10, 11, 13);
+cap_notch_cut# := interpolate(1pt#)(5, 6, 7, 8, 9, 10, 12);
+serif_drop# := interpolate(1/36pt#)(2, 2.4, 2.8, 3.2, 3.6, 4, 4.8);
+stem_corr# := interpolate(1/36pt#)(.7, .8, .9, 1, 1, 1, 1);
+vair_corr# := interpolate(1/36pt#)(.5, .7, .9, 1, 1, 1, 1);
+apex_corr# := 0;
+
+o# := interpolate(1/36pt#)(4, 4.5, 5, 6, 7, 8, 9.5);
+apex_o# := interpolate(1/36pt#)(4, 4.5, 5, 6, 7, 8, 9.5);
+
+slant := .25;
+fudge := 1;
+math_spread := interpolate(1)(1, .8, .6, .4, .2, 0, 0);
+superness := 1/sqrt2;
+superpull := 1/6;
+beak_darkness := 11/30;
+ligs := 2;
+
+square_dots := false;
+hefty := false;
+serifs := true;
+monospace := false;
+variant_g := true;
+low_asterisk := false;
+math_fitting := true;
+
+mode_setup;
+font_setup;
+
+autorounding := hair;
+
+input calu;
+
+font_slant slant;
+font_x_height x_height#;
+font_quad 18u# + 4letter_fit#;
+
+subs := interpolate(1)(5/5, 5/6, 5/7, 6/8, 6/9, 7/10, 8/12); % subscript size
+rth# := rule_thickness#;
+fontdimen 8: % parameters $\sigma_8$ through $\sigma_{22}$ will now be listed
+ math_axis# + 3.51rth# + interpolate(1/36pt#)(36, 36, 36, 36, 36, 44, 53) + subs * desc_depth#, % num1
+ math_axis# + 1.51rth# + interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30), % num2
+ math_axis# + 1.51rth# + interpolate(1/36pt#)(24, 29, 34, 38, 43, 48, 57), % num3
+ interpolate(1/36pt#)(63, 74, 86, 98, 111, 155, 149) + 3.51rth# + subs * x_height# - math_axis#, % denom1
+ interpolate(1/36pt#)( 3, 9, 12, 24, 30, 30, 30) + 1.51rth# + subs * x_height# - math_axis#, % denom2
+ interpolate(pt#)(5.99, 6.49, 6.99, 7.49, 8.49, 8.99, 9.99) - subs * asc_height#, % sup1
+ interpolate(pt#)(5.49, 5.99, 6.49, 6.99, 7.99, 8.49, 8.99) - subs * asc_height#, % sup2
+ interpolate(1/36pt#)(53, 62, 72, 82, 93, 104, 125), % sup3
+ interpolate(1/36pt#)(36, 36, 36, 36, 36, 54, 65), % sub1
+ interpolate(1/36pt#)(72, 72, 72, 72, 57, 89, 100), % sub2
+ subs * asc_height# - 36/36pt#, % sup\_drop
+ 18/36pt#, % sub\_drop
+ interpolate(pt#)(9.9, 11.9, 11.9, 11.9, 19.0, 19.0, 22.0), % delim1
+ interpolate(pt#)(7.1, 8.1, 8.1, 9.1, 9.1, 10.1, 12.1), % delim2
+ math_axis#; % axis\_height
+
+beginchar(0, 0, 0, 0) % dummy symbol for skew
+endchar;
+
+skewchar = 0;
+skew# = .5u#;
+
+ligtable "I": "T": "V": skewchar kern skew#;
+ligtable "K": skewchar kern 2skew#;
+ligtable "D": "N": "P": "R": "U": "W": "Y": skewchar kern 3skew#;
+ligtable "E": "F": "G": "H": "O": "Q": skewchar kern 4skew#;
+ligtable "B": "C": "L": "M": "S": "X": "Z": skewchar kern 5skew#;
+ligtable "J": skewchar kern 6skew#;
+ligtable "A": skewchar kern 7skew#;
+
+bye;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS10.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS10.mf
new file mode 100644
index 00000000000..3b66aaf3a67
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS10.mf
@@ -0,0 +1,2 @@
+design_size := 10;
+input MnSymbolS;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS12.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS12.mf
new file mode 100644
index 00000000000..d4e03c21fda
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS12.mf
@@ -0,0 +1,2 @@
+design_size := 12;
+input MnSymbolS;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS5.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS5.mf
new file mode 100644
index 00000000000..9c13ee79b78
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS5.mf
@@ -0,0 +1,2 @@
+design_size := 5;
+input MnSymbolS;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS6.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS6.mf
new file mode 100644
index 00000000000..0acf60ad89d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS6.mf
@@ -0,0 +1,2 @@
+design_size := 6;
+input MnSymbolS;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS7.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS7.mf
new file mode 100644
index 00000000000..f681cc06b53
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS7.mf
@@ -0,0 +1,2 @@
+design_size := 7;
+input MnSymbolS;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS8.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS8.mf
new file mode 100644
index 00000000000..b1de0e90ab8
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS8.mf
@@ -0,0 +1,2 @@
+design_size := 8;
+input MnSymbolS;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS9.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS9.mf
new file mode 100644
index 00000000000..9f2fb2af199
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/MnSymbolS9.mf
@@ -0,0 +1,2 @@
+design_size := 9;
+input MnSymbolS;
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Accent.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Accent.mf
new file mode 100644
index 00000000000..5b055234f8d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Accent.mf
@@ -0,0 +1,130 @@
+
+for scale = 1, 2, 3, 4, 5:
+ beginsymbol(scale * 8u# + 2side_bearing#, asc_height#, 0); "wide hat";
+
+ thick := rule_thickness;
+ thin := 1/2thick;
+
+ pickup pencircle scaled thin;
+
+ penpos 2(thick, 90);
+
+ top y2r = h;
+ x2 = w/2;
+ x1 = w - x3 = -eps;
+ y1 = y3 = 1/2[x_height, y2];
+
+ penpos 1(thin, angle(z2 - z1) + 90);
+ penpos 3(thin, angle(z3 - z2) + 90);
+
+ filldraw stroke z1e--z2e--z3e;
+ endchar;
+endfor;
+charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char;
+
+for scale = 1, 2, 3, 4, 5:
+ beginsymbol(scale * 8u# + 2side_bearing#, asc_height#, 0); "wide tilde";
+
+ thick := rule_thickness;
+ thin := 1/2thick;
+
+ pickup pencircle scaled thin;
+
+ numeric theta;
+ theta = angle (1/6(w - thin), 1/4(h - x_height));
+
+ penpos1(thin, theta + 90);
+ penpos2(thin, theta + 90);
+ penpos3(thin, theta + 90);
+ penpos4(thin, theta + 90);
+
+ z2 - z1 = z4 - z3 = (thick - thin) * dir theta;
+
+ lft x1r = w - rt x4l = 0;
+ top y4r = h;
+ bot y1l = vround(bot y1l + min(2/3[x_height, h], y3l- 1/4thin) - top y1r);
+
+ pair delta;
+ ypart delta = 3(y3l - y1l);
+ delta = whatever * dir theta;
+
+ filldraw z1l ..controls (z1l + delta) and (z3l - delta) .. z3l .. z4l
+ -- z4r ..controls(z4r - delta) and (z2r + delta) .. z2r .. z1r -- cycle;
+ endchar;
+endfor;
+charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char;
+
+for scale = 1, 2, 3, 4, 5:
+ beginsymbol(scale * 8u# + 2side_bearing#, asc_height#, 0); "wide paren";
+
+ thick := rule_thickness;
+ thin := 1/2thick;
+
+ pickup pencircle scaled thin;
+
+ numeric theta;
+ theta = angle (1/6(w - thin), 1/4(h - x_height));
+
+ penpos1(thin, 90 + theta);
+ penpos2(thin, 90 + theta);
+ penpos3(thin, 90 - theta);
+ penpos4(thin, 90 - theta);
+ penpos5(thin, 90);
+
+ z2 - z1 = (thick - thin) * dir theta;
+ z3 - z4 = (thick - thin) * dir (180 - theta);
+
+ lft x1r = w - rt x4r = side_bearing;
+ x5 = w/2;
+ top y5r = h;
+ bot y4l = vround(bot y4l - top y4r + 2/3[x_height, h]);
+ bot y1l = vround(bot y1l - top y1r + 2/3[x_height, h]);
+
+ filldraw z1l .. z2l .. z5l .. z3l .. z4l
+ -- z4r .. z3r .. z5r .. z2r .. z1r -- cycle;
+ endchar;
+endfor;
+charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char;
+
+beginsymbol(6u# + 2side_bearing#, asc_height#, 0); "vec";
+ pickup pencircle scaled 2/3rule_thickness;
+
+ x0 = w - x1 = side_bearing;
+ top y0 = top y1 = h - 5/4rule_thickness;
+
+ draw z0 -- z1;
+ draw arrowhead(z1, 0, 5/2rule_thickness);
+endchar;
+
+
+beginsymbol(5u# + 2side_bearing#, 1/3asc_height#, 0); "middle bar";
+
+ penpos0(7/5rule_thickness, 70);
+ penpos1(7/5rule_thickness, 70);
+
+ x0 = w - x1 = side_bearing;
+ y0 = y1 = h;
+
+ fill stroke z0e -- z1e;
+endchar;
+
+beginsymbol(5u# + 2side_bearing#, 1/3asc_height#, 0); "middle slash";
+
+ penpos0(3/2rule_thickness, 70);
+ penpos1(3/2rule_thickness, 70);
+
+ x0 = w - x1 = side_bearing;
+ 1/2[y0,y1] = h;
+ y1 - y0 = 2rule_thickness;
+
+ fill stroke z0e -- z1e;
+endchar;
+
+beginsymbol(5u# + 2side_bearing#, 6/4asc_height#, 0); "stroke through";
+ pickup pencircle scaled rule_thickness;
+
+ z0 = (w/2,1/6asc_height);
+
+ draw (z0 - 3/4asc_height / cosd 20 * dir 70) -- (z0 + 3/4asc_height / cosd 20 * dir 70);
+endchar;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Arrows.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Arrows.mf
new file mode 100644
index 00000000000..745766027a9
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Arrows.mf
@@ -0,0 +1,721 @@
+
+def ifneg(expr a,b) =
+ if negated: a else: b fi
+enddef;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "single arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+ draw arrowhead(head, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 6/5, ifneg(19/10, 13/10) * arrow_spread#); "double arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ 1/2[z0,z1] = foot;
+ 1/2[z2,z3] = head;
+
+ draw z0 -- arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z0 -- z2);
+ draw z1 -- arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z1 -- z3);
+
+ draw arrowhead(head, arrow_dir, 13/10arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - arrow_spread * dir arrow_dir], alpha, 19/10arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 6/5, ifneg(3/2, 1) * arrow_spread#); "bidirectinal arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+ draw arrowhead(head, arrow_dir, arrow_spread);
+ draw arrowhead(foot, arrow_dir+180, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 7/5, ifneg(19/10, 13/10) * arrow_spread#); "double bidirectional arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ 1/2[z0,z1] = foot;
+ 1/2[z2,z3] = head;
+
+ draw arrowhead_intersection(foot, arrow_dir+180, 13/10arrow_spread, z0 -- z2)
+ -- arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z0 -- z2);
+ draw arrowhead_intersection(foot, arrow_dir+180, 13/10arrow_spread, z1 -- z3)
+ -- arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z1 -- z3);
+ draw arrowhead(head, arrow_dir, 13/10arrow_spread);
+ draw arrowhead(foot, arrow_dir+180, 13/10arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 19/10arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 5/4, ifneg(3/2, 1) * arrow_spread#); "double-head arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+ draw arrowhead(head, arrow_dir, arrow_spread);
+ draw arrowhead(head - 1/4arrow_len * dir arrow_dir, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - (1/2arrow_spread + 1/4arrow_len) * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "tailed arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot + 3/4arrow_spread * dir arrow_dir;
+
+ draw z0 -- head;
+ draw arrowhead(head, arrow_dir, arrow_spread);
+ draw arrowhead(z0, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "arrow with foot (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ draw foot + 1/4rule_thickness * dir arrow_dir -- head;
+ draw (foot - 1/2arrow_spread * dir (arrow_dir + 90)) --
+ (foot + 1/2arrow_spread * dir (arrow_dir + 90));
+ draw arrowhead(head, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left embedding (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ draw arrowhead(head, arrow_dir, arrow_spread);
+ draw half_circle(foot + 1/4arrow_spread * (dir (arrow_dir + 90) + dir arrow_dir),
+ 1/4arrow_spread, arrow_dir + 90)
+ -- head;
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right embedding (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ draw arrowhead(head, arrow_dir, arrow_spread);
+ draw head -- half_circle(foot + 1/4arrow_spread * (dir (arrow_dir - 90) + dir arrow_dir),
+ 1/4arrow_spread, arrow_dir + 90);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left harpoon (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+ draw arrowhead_left(head, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right harpoon (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+ draw arrowhead_right(head, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left left harpoon (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+ draw arrowhead_left(head, arrow_dir, arrow_spread);
+ draw arrowhead_left(foot, arrow_dir+180, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (80, 80, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right right harpoon (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+ draw arrowhead_right(head, arrow_dir, arrow_spread);
+ draw arrowhead_right(foot, arrow_dir+180, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (70, 70, 100, 100);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread# + equal_spread#); "double left left harpoon (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ 0.5[z0,z1] = foot;
+ 0.5[z2,z3] = head;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ draw arrowhead_left(z3, arrow_dir, arrow_spread);
+ draw arrowhead_left(z0, arrow_dir+180, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread + equal_spread)
+ (80, 80, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread# + equal_spread#); "double right right harpoon (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ 0.5[z0,z1] = foot;
+ 0.5[z2,z3] = head;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ draw arrowhead_right(z2, arrow_dir, arrow_spread);
+ draw arrowhead_right(z1, arrow_dir+180, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread + equal_spread)
+ (70, 70, 100, 100);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "broken arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = ifneg( 2/10, 3/10)[foot,head];
+ z1 = ifneg(13/20,11/20)[foot,head];
+
+ draw foot -- z0;
+ draw z1 -- head;
+ draw arrowhead(head, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[z0, z1], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 6/5, ifneg(3/2, 1) * arrow_spread#); "multi map (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ draw foot -- head - (4/5arrow_spread + 1/4rule_thickness) * dir arrow_dir;
+ draw circle(head - 2/5arrow_spread * dir arrow_dir, 2/5arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 4/5arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 6/5, ifneg(3/2, 1) * arrow_spread#); "filled multi map (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ draw foot -- head - 2/5arrow_spread * dir arrow_dir;
+ fill circle(head - 2/5arrow_spread * dir arrow_dir, 2/5arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 4/5arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "line with foot (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ draw foot -- head - 1/4rule_thickness * dir arrow_dir;
+ draw (head - 1/2arrow_spread * dir (arrow_dir + 90)) --
+ (head + 1/2arrow_spread * dir (arrow_dir + 90));
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, 2/3med_op_size#); "arrow with round head (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = head - 1/3equal_spread * dir arrow_dir;
+
+ draw foot -- head - 1/4rule_thickness * dir arrow_dir;
+ draw smile(1, z0 - 1/3med_op_size * dir (arrow_dir + 90),
+ z0 + 1/3med_op_size * dir (arrow_dir + 90),
+ 2/3equal_spread, true);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 2/3equal_spread * dir arrow_dir], alpha, 2/3med_op_size)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, 3/4plus_size# + ifneg(1,0) * arrow_spread#); "pitchfork (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ draw foot -- head;
+ draw subset(foot + 3/4plus_size * dir arrow_dir, foot, 3/4plus_size);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 3/8plus_size * dir arrow_dir],
+ alpha, 3/4plus_size + arrow_spread)
+ (80, 80, 100, 100, 80, 80, 100, 100);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, 2arrow_spread#); "parallel arrows (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = arrow_spread * dir (arrow_dir + 90);
+
+ 0.5[z0,z1] = foot;
+ 0.5[z2,z3] = head;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ draw arrowhead(z2, arrow_dir, arrow_spread);
+ draw arrowhead(z3, arrow_dir, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 1, 2arrow_spread#); "anti-parallel arrows right left (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = arrow_spread * dir (arrow_dir + 90);
+
+ 0.5[z0,z1] = foot;
+ 0.5[z2,z3] = head;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ draw arrowhead(z3, arrow_dir, arrow_spread);
+ draw arrowhead(z0, arrow_dir+180, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 2arrow_spread)
+ (80, 80, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 1, 2arrow_spread#); "anti-parallel arrows left right (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = arrow_spread * dir (arrow_dir + 90);
+
+ 0.5[z0,z1] = foot;
+ 0.5[z2,z3] = head;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ draw arrowhead(z2, arrow_dir, arrow_spread);
+ draw arrowhead(z1, arrow_dir+180, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 2arrow_spread)
+ (70, 70, 100, 100);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "left right wave arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot - 1/10arrow_spread * dir (arrow_dir + 90);
+ z1 = 15/80[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
+ z2 = 30/80[foot,head];
+ z3 = 45/80[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
+ z4 = 60/80[foot,head];
+ z5 = head + 1/10arrow_spread * dir (arrow_dir + 90);
+
+ draw z0{dir (arrow_dir + 45)} .. z1 .. z2{dir (arrow_dir - 45)} .. z3 .. z4 ... {dir (arrow_dir+15)}z5;
+ draw arrowhead(z5, arrow_dir+15, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (70, 70, 70, 70, 70, 70, 70, 70);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2, 1) * arrow_spread#); "right left wave arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot + 1/10arrow_spread * dir (arrow_dir + 90);
+ z1 = 15/80[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
+ z2 = 30/80[foot,head];
+ z3 = 45/80[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
+ z4 = 60/80[foot,head];
+ z5 = head - 1/10arrow_spread * dir (arrow_dir + 90);
+
+ draw z0{dir (arrow_dir - 45)} .. z1 .. z2{dir (arrow_dir + 45)} .. z3 .. z4 ... {dir (arrow_dir-15)}z5;
+ draw arrowhead(z5, arrow_dir-15, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head - 1/2arrow_spread * dir arrow_dir], alpha, 3/2arrow_spread)
+ (110, 110, 110, 110, 110, 110, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 19/16, ifneg(3/2, 1) * arrow_spread#); "left right bidirectional wave arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot - 1/10arrow_spread * dir (arrow_dir + 90);
+ z1 = 4/20[foot,head];
+ z2 = 7/20[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
+ z3 = 10/20[foot,head];
+ z4 = 13/20[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
+ z5 = 16/20[foot,head];
+ z6 = head + 1/10arrow_spread * dir (arrow_dir + 90);
+
+ draw z0{dir (arrow_dir + 15)} .. z1 .. z2 .. z3{dir (arrow_dir - 45)} .. z4 .. z5 ... {dir (arrow_dir+15)}z6;
+ draw arrowhead(z0, arrow_dir + 195, arrow_spread);
+ draw arrowhead(z6, arrow_dir + 15, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (70, 70, 70, 70);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 19/16, ifneg(3/2, 1) * arrow_spread#); "right left bidirectional wave arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot + 1/10arrow_spread * dir (arrow_dir + 90);
+ z1 = 4/20[foot,head];
+ z2 = 7/20[foot,head] - 1/4arrow_spread * dir (arrow_dir + 90);
+ z3 = 10/20[foot,head];
+ z4 = 13/20[foot,head] + 1/4arrow_spread * dir (arrow_dir + 90);
+ z5 = 16/20[foot,head];
+ z6 = head - 1/10arrow_spread * dir (arrow_dir + 90);
+
+ draw z0{dir (arrow_dir - 15)} .. z1 .. z2 .. z3{dir (arrow_dir + 45)} .. z4 .. z5 ... {dir (arrow_dir-15)}z6;
+ draw arrowhead(z0, arrow_dir - 195, arrow_spread);
+ draw arrowhead(z6, arrow_dir - 15, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (110, 110, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2,10/9) * arrow_spread#); "right bend arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot - 1/3arrow_spread * dir (arrow_dir + 90);
+ z1 = 2/5[foot,head] + 1/3arrow_spread * dir (arrow_dir + 90);
+ z2 = head - 5/9arrow_spread * dir (arrow_dir + 90);
+
+ draw z0 .. z1 .. z2;
+ draw arrowhead(z2, arrow_dir - 55, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/10[z1,z2], alpha, 3/2arrow_spread)
+ (80, 80, 80, 80, 80, 80, 80, 80);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2,10/9)*arrow_spread#); "left bend arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot + 1/3arrow_spread * dir (arrow_dir + 90);
+ z1 = 2/5[foot,head] - 1/3arrow_spread * dir (arrow_dir + 90);
+ z2 = head + 5/9arrow_spread * dir (arrow_dir + 90);
+
+ draw z0 .. z1 .. z2;
+ draw arrowhead(z2, arrow_dir + 55, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(1/10[z1,z2], alpha, 3/2arrow_spread)
+ (110, 110, 110, 110, 110, 110, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(3/2,10/9)*arrow_spread#); "bend arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot - 5/9arrow_spread * dir (arrow_dir + 90);
+ z1 = 1/2[foot,head] + 1/3arrow_spread * dir (arrow_dir + 90);
+ z2 = head - 5/9arrow_spread * dir (arrow_dir + 90);
+
+ draw z0 .. z1 .. z2;
+ draw arrowhead(z0, arrow_dir + 240, arrow_spread);
+ draw arrowhead(z2, arrow_dir - 60, arrow_spread);
+
+ if negated:
+ stroke_through_arrow(z1, alpha, 3/2arrow_spread)
+ (80, 80, 100, 100, 80, 80, 100, 100);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 1, ifneg(3/2,1) * arrow_spread#); "headless arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot -- head;
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 3/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, 6/5, ifneg(19/10, 13/10) * arrow_spread#); "double headless arrow (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ 0.5[z0,z1] = foot;
+ 0.5[z2,z3] = head;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 19/10arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 2/3, ifneg(2, 3/2) * arrow_spread#); "derives (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw foot + 1/4rule_thickness * dir arrow_dir -- head;
+ draw (foot - 3/4arrow_spread * dir (arrow_dir + 90)) --
+ (foot + 3/4arrow_spread * dir (arrow_dir + 90));
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 2/3, ifneg(9/4, 7/4) * arrow_spread#); "models (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ 0.5[z0,z1] = foot;
+ 0.5[z2,z3] = head;
+
+ draw z0 + 1/4rule_thickness * dir arrow_dir -- z2;
+ draw z1 + 1/4rule_thickness * dir arrow_dir -- z3;
+ draw (foot - 7/8arrow_spread * dir (arrow_dir + 90)) --
+ (foot + 7/8arrow_spread * dir (arrow_dir + 90));
+
+ if negated:
+ stroke_through_arrow(1/2[foot, head], alpha, 9/4arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 5/6, ifneg(9/4, 7/4) * arrow_spread#); "forces (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z0 = foot + equal_spread * dir arrow_dir;
+
+ draw z0 + 1/4rule_thickness * dir arrow_dir -- head;
+ draw (foot - 7/8arrow_spread * dir (arrow_dir + 90)) --
+ (foot + 7/8arrow_spread * dir (arrow_dir + 90));
+ draw (z0 - 7/8arrow_spread * dir (arrow_dir + 90)) --
+ (z0 + 7/8arrow_spread * dir (arrow_dir + 90));
+
+ if negated:
+ stroke_through_arrow(1/2[z0, head], alpha, 9/4arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270, 45, 135, 225, 315:
+ beginarrow(alpha, 1, ifneg(5/2, 2) * arrow_spread#); "double models (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ z4 = foot + equal_spread * dir arrow_dir;
+
+ 0.5[z0,z1] = z4;
+ 0.5[z2,z3] = head;
+
+ draw z0 + 1/4rule_thickness * dir arrow_dir -- z2;
+ draw z1 + 1/4rule_thickness * dir arrow_dir -- z3;
+ draw (foot - arrow_spread * dir (arrow_dir + 90)) --
+ (foot + arrow_spread * dir (arrow_dir + 90));
+ draw (z4 - arrow_spread * dir (arrow_dir + 90)) --
+ (z4 + arrow_spread * dir (arrow_dir + 90));
+
+ if negated:
+ stroke_through_arrow(1/2[z4, head], alpha, 5/2arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ for alpha = 0, 90, 180, 270:
+ beginoperator(large_op_size#, 1);
+ if sign > 0: "right" else: "left" fi & " circle arrow (" & decimal alpha & ")";
+
+ pickup rule_pen;
+
+ r := 0.8(w/2-u) - 1.1rule_thickness;
+
+ reg_poly_points(a)(8, centre, r, alpha);
+
+ z0 = centre + r * dir (alpha + 10);
+ z1 = centre + r * dir (alpha - 10);
+
+ draw z0{dir (alpha + 100)} .. z.a1 .. z.a2 .. z.a3 .. z.a4 .. z.a5 .. z.a6 .. z.a7 ..
+ {dir (alpha + 80)}z1;
+
+ if sign > 0:
+ draw arrowhead(z1, (alpha + 65), arrow_spread);
+ else:
+ draw arrowhead(z0, (alpha - 65), arrow_spread);
+ fi;
+
+ if negated:
+ 1/2[z2,z3] = centre;
+ y2 - y3 = large_op_size;
+ z2 - z3 = whatever * dir 80;
+
+ pickup stroke_pen;
+ draw z2 -- z3;
+ fi
+ endchar;
+ endfor;
+endfor;
+
+%for alpha = 0, 90, 180, 270:
+% beginoperator(large_op_size#, 1); "left circle arrow (" & decimal alpha & ")";
+% pickup rule_pen;
+%
+% r := 0.8(w/2-u) - 1.1rule_thickness;
+%
+% reg_poly_points(a)(8, centre, r, alpha);
+%
+% z0 = centre + r * dir (alpha + 10);
+% z1 = centre + r * dir (alpha - 10);
+%
+% draw z0{dir (alpha + 100)} .. z.a1 .. z.a2 .. z.a3 .. z.a4 .. z.a5 .. z.a6 .. z.a7 ..
+% {dir (alpha + 80)}z1;
+% draw arrowhead(z0, (alpha - 65), arrow_spread);
+%
+% if negated:
+% 1/2[z2,z3] = centre;
+% y2 - y3 = large_op_size;
+% z2 - z3 = whatever * dir 80;
+%
+% pickup stroke_pen;
+% draw z2 -- z3;
+% fi
+% endchar;
+%endfor;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Base.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Base.mf
new file mode 100644
index 00000000000..a855273f35d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Base.mf
@@ -0,0 +1,479 @@
+
+mode_setup;
+
+% mf2pt1 support
+
+if known ps_output:
+ pencircle := mfplain_pencircle;
+ let filldraw := mfplain_filldraw;
+ let unfilldraw := mfplain_unfilldraw;
+fi;
+
+define_pixels(u, asc_height, desc_depth, delim_height, x_height);
+define_whole_pixels(dot_size, small_op_size, med_op_size, large_op_size, plus_size,
+ order_width, equal_spread, greater_spread,
+ arrow_horiz_len, arrow_vert_len, arrow_diag_len, arrow_spread);
+
+math_axis := good.y(math_axis# * hppp);
+rule_thickness := ceiling(rule_thickness# * hppp);
+side_bearing := ceiling(side_bearing# * hppp);
+stroke_through_thickness := 2/3rule_thickness;
+
+pickup pencircle scaled rule_thickness;
+rule_pen := savepen;
+pickup pencircle scaled stroke_through_thickness;
+stroke_pen := savepen;
+
+def vcentre(expr size) =
+ size/2 + math_axis#, size/2 - math_axis#
+enddef;
+
+current_char := -1;
+
+def beginsymbol(expr width, height, depth) =
+ current_char := current_char + 1;
+ beginchar(current_char, width, height, depth);
+enddef;
+
+def beginoperator(expr size, ratio) =
+ beginsymbol(size + 2side_bearing#, vcentre(ratio * size + rule_thickness#));
+ pair centre;
+ centre := (w/2, (h-d)/2);
+enddef;
+
+def beginbigop(expr xscale, yscale) =
+ beginsymbol(xscale * 3/2order_width# + 2side_bearing#,
+ ((yscale - 1)/2 + 1) * asc_height# + yscale * 1/6equal_spread# + 2/3rule_thickness#,
+ (yscale - 1)/2 * asc_height# + yscale * 1/6equal_spread# + 2/3rule_thickness#);
+ pair centre;
+ centre := (w/2, (h-d)/2);
+ op_width := xscale * 3/2order_width;
+ op_height := yscale * (asc_height + 1/3equal_spread);
+enddef;
+
+def beginsquarebigop(expr xscale, yscale) =
+ beginsymbol(xscale * (asc_height# + 1/3equal_spread#) + 2side_bearing#,
+ ((yscale - 1)/2 + 1) * asc_height# + yscale * 1/6equal_spread# + 2/3rule_thickness#,
+ (yscale - 1)/2 * asc_height# + yscale * 1/6equal_spread# + 2/3rule_thickness#);
+ pair centre;
+ centre := (w/2, (h-d)/2);
+ op_width := xscale * (asc_height + 1/3equal_spread);
+ op_height := yscale * (asc_height + 1/3equal_spread);
+enddef;
+
+def beginarrow(expr angle, scale, spread) =
+ arrow_len# := scale *
+ if angle mod 180 = 0: arrow_horiz_len#
+ elseif angle mod 180 = 90: arrow_vert_len#
+ else: arrow_diag_len#
+ fi;
+ arrow_len := scale *
+ if angle mod 180 = 0: arrow_horiz_len
+ elseif angle mod 180 = 90: arrow_vert_len
+ else: arrow_diag_len
+ fi;
+
+ beginsymbol(arrow_len# * abs (cosd (angle)) + spread * abs (sind (angle)) + 2side_bearing#,
+ vcentre(arrow_len# * abs (sind (angle)) + spread * abs (cosd (angle)) + rule_thickness#));
+
+ pair centre, head, foot;
+
+ centre := (w/2, (h-d)/2);
+ head := centre + arrow_len/2 * dir angle;
+ foot := centre - arrow_len/2 * dir angle;
+ arrow_dir := angle;
+enddef;
+
+def beginorder(expr sign, width, spread) =
+ beginsymbol(width + 2u#, vcentre(spread));
+
+ pair centre, left_point, right_point;
+
+ centre := (w/2, (h-d)/2);
+
+ left_point := centre - sign * (w/2 - u - 1/2rule_thickness) * right;
+ right_point := centre + sign * (w/2 - u - 1/2rule_thickness) * right;
+enddef;
+
+vardef stroke text t =
+ forsuffixes e = l, r:
+ path_.e := t;
+ endfor
+ path_.l -- reverse path_.r -- cycle
+enddef;
+
+% paths
+
+def triangle(expr centre, size, angle) =
+ (centre + size * dir angle) --
+ (centre + size * dir (angle + 120)) --
+ (centre + size * dir (angle + 240)) --
+ cycle
+enddef;
+
+def square(expr centre, size, angle) =
+ (centre + sqrt(2) * size * dir (angle + 45)) --
+ (centre + sqrt(2) * size * dir (angle + 135)) --
+ (centre + sqrt(2) * size * dir (angle + 225)) --
+ (centre + sqrt(2) * size * dir (angle + 315)) --
+ cycle
+enddef;
+
+def circle(expr centre, radius) =
+ (centre + radius * dir 0){dir 90} ...
+ (centre + radius * dir 45){dir 135} ...
+ (centre + radius * dir 90){dir 180} ...
+ (centre + radius * dir 135){dir 225} ...
+ (centre + radius * dir 180){dir 270} ...
+ (centre + radius * dir 225){dir 315} ...
+ (centre + radius * dir 270){dir 0} ...
+ (centre + radius * dir 315){dir 45} ...
+ cycle
+enddef;
+
+def ellipse(expr centre, rad_a, rad_b, alpha) =
+ (centre + rad_a * dir alpha){dir (alpha + 90)} ...
+ (centre + 1/2sqrt 2 * rad_a * dir alpha + 1/2sqrt 2 * rad_b * dir (alpha + 90)){dir (alpha + 135)} ...
+ (centre + rad_b * dir (alpha + 90)){dir (alpha + 180)} ...
+ (centre - 1/2sqrt 2 * rad_a * dir alpha + 1/2sqrt 2 * rad_b * dir (alpha + 90)){dir (alpha + 225)} ...
+ (centre + rad_a * dir (alpha + 180)){dir (alpha + 270)} ...
+ (centre - 1/2sqrt 2 * rad_a * dir alpha - 1/2sqrt 2 * rad_b * dir (alpha + 90)){dir (alpha + 315)} ...
+ (centre + rad_b * dir (alpha + 270)){dir (alpha + 0)} ...
+ (centre + 1/2sqrt 2 * rad_a * dir alpha - 1/2sqrt 2 * rad_b * dir (alpha + 90)){dir (alpha + 45)} ...
+ cycle
+enddef;
+
+def sign(expr x) =
+ if x < 0: -1 elseif x = 0: 0 else: 1 fi
+enddef;
+
+def super_ellipse_point(expr centre, rad_a, rad_b, exponent, alpha, beta) =
+ begingroup
+ save c, s;
+ c := cosd beta;
+ s := sind beta;
+
+ (centre + sign(c) * rad_a * (abs c ** exponent) * dir alpha
+ + sign(s) * rad_b * (abs s ** exponent) * dir (alpha + 90))
+ endgroup
+enddef;
+
+def super_ellipse(expr centre, rad_a, rad_b, exponent, alpha) =
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 0) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 30) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 60) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 90) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 120) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 150) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 180) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 210) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 240) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 270) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 300) ..
+ super_ellipse_point(centre, rad_a, rad_b, exponent, alpha, 330) ..
+ cycle
+enddef;
+
+def half_circle(expr centre, radius, angle) =
+ (centre + radius * dir (angle + 0)){dir (angle + 90)} ...
+ (centre + radius * dir (angle + 45)){dir (angle + 135)} ...
+ (centre + radius * dir (angle + 90)){dir (angle + 180)} ...
+ (centre + radius * dir (angle + 135)){dir (angle + 225)} ...
+ (centre + radius * dir (angle + 180)){dir (angle + 270)}
+enddef;
+
+def reg_poly_points(suffix $)(expr n, centre, radius, angle) =
+ for i = 0 upto n-1:
+ z$[i] = centre + radius * dir (angle + i/n * 360);
+ endfor;
+enddef;
+
+% left half of an arrow head
+def arrowhead_left(expr pos, angle, spread) =
+ pos{dir (angle + 170)} ..
+ {dir (angle + 130)}(pos - 3/4spread * dir angle + spread/2 * dir (angle + 90)){dir (angle - 50)} ..
+ {dir (angle - 50)}(pos - 1/4spread * dir angle)
+enddef;
+
+% right half of an arrow head
+def arrowhead_right(expr pos, angle, spread) =
+ (pos - 1/4spread * dir angle){dir (angle - 130)} ..
+ {dir (angle - 130)}(pos - 3/4spread * dir angle + spread/2 * dir (angle - 90)){dir (angle + 50)} ..
+ {dir (angle + 10)}pos
+enddef;
+
+% the whole arrow head
+def arrowhead(expr pos, angle, spread) =
+ arrowhead_left(pos, angle, spread) & arrowhead_right(pos, angle, spread)
+enddef;
+
+% intersect the arrowhead curve with a path
+def arrowhead_intersection(expr pos, angle, spread, p) =
+ (p intersectionpoint
+ ((pos - 3/4spread * dir angle + spread/2 * dir (angle + 90)){dir (angle - 50)} ..
+ {dir (angle - 50)}(pos - 1/4spread * dir angle){dir (angle - 130)} ..
+ {dir (angle - 130)}(pos - 3/4spread * dir angle + spread/2 * dir (angle - 90))))
+enddef;
+
+def stroke_through_arrow(expr pos, alpha, spread)(text angles) =
+ begingroup;
+ stroke_dir := arrow_dir + select(alpha/45)(angles);
+ stroke_len := 1/2spread / sind (stroke_dir - arrow_dir);
+
+ pickup stroke_pen;
+ draw (pos + stroke_len * dir stroke_dir) -- (pos - stroke_len * dir stroke_dir);
+ endgroup;
+enddef;
+
+def ellipse_set(suffix $,@,@@,$$) =
+ % given |z$,x@,z$$|, find |y@| and |z@@|
+ % such that the path |z${x@-x$,0}..z@{0,y@-y$}..{z$$-z@@}z@@|
+ % is consistent with an ellipse
+ % and such that the line |z@@--z$$| has a given |slope|
+ alpha_ := slope * (x@ - x$);
+ beta_ := y$$ - y$ - slope * (x$$ - x$);
+ gamma_ := alpha_ / beta_;
+ y@ - y$ = .5(beta_ - alpha_ * gamma_);
+ x@@ - x$ = -2gamma_ * (x@ - x$) / (1 + gamma_ * gamma_);
+ y@@ - y$$ = slope * (x@@ - x$$)
+enddef;
+
+def bulb(suffix $,$$,$$$) =
+ z$$$r = z$$r;
+
+ path_.l := z$l{x$$r - x$r, 0} ... {0, y$$r - y$r}z$$l;
+
+ filldraw path_.l -- z$$r{0, y$r - y$$r} ... {x$r - x$$r, 0}z$r -- cycle; % link
+
+ path_.r := z$$$l{0, y$r - y$$r} .. z$$$r{0, y$$r - y$r}; % near-circle
+
+ filldraw subpath(0, xpart(path_.r intersectiontimes path_.l)) of path_.r
+ -- z$$r{0, y$$r - y$r} .. cycle; % bulb
+enddef;
+
+vardef super_arc.r(suffix $,$$) =
+ % outside of super-ellipse
+
+ pair center, corner;
+
+ if y$ = y$r:
+ center = (x$$r, y$r);
+ corner = (x$r, y$$r);
+ else:
+ center = (x$r, y$$r);
+ corner = (x$$r, y$r);
+ fi
+ z$.r{corner - z$.r} ... superness[center,corner]{z$$.r - z$.r}
+ ... {z$$.r - corner}z$$.r
+enddef;
+
+vardef super_arc.l(suffix $,$$) =
+ % inside of super-ellipse
+
+ pair center, corner;
+ if y$ = y$r:
+ center = (x$$l, y$l);
+ corner = (x$l, y$$l);
+ else:
+ center = (x$l, y$$l);
+ corner = (x$$l, y$l);
+ fi
+ z$l{corner - z$l} ... superness[center,corner]{z$$l - z$l}
+ ... {z$$l - corner}z$$l
+enddef;
+
+vardef pulled_super_arc.r(suffix $,$$)(expr superpull) =
+ pair center, corner;
+
+ if y$ = y$r:
+ center = (x$$r, y$r);
+ corner = (x$r, y$$r);
+ else:
+ center = (x$r, y$$r);
+ corner = (x$$r, y$r);
+ fi
+ z$r{corner - z$r} ... superness[center,corner]{z$$r - z$r}
+ ... {z$$r - corner}z$$r
+enddef;
+
+vardef pulled_super_arc.l(suffix $,$$)(expr superpull) =
+ pair center, corner, outer_point;
+
+ if y$ = y$r:
+ center = (x$$l, y$l);
+ corner = (x$l, y$$l);
+ outer_point = superness[(x$$r, y$r), (x$r, y$$r)];
+ else:
+ center = (x$l, y$$l);
+ corner = (x$$l, y$l);
+ outer_point = superness[(x$r, y$$r), (x$$r, y$r)];
+ fi
+ z$l{corner - z$l}
+ ... superpull[superness[center,corner], outer_point]{z$$l - z$l}
+ ... {z$$l - corner}z$$l
+enddef;
+
+vardef pulled_arc@#(suffix $,$$) =
+ pulled_super_arc@#($,$$)(superpull)
+enddef;
+
+def sim(expr l, r) =
+ ( 0/26[l, r] - 1/3equal_spread * dir ((angle (r-l) + 90) mod 180))
+ .. ( 1/26[l, r])
+ .. ( 5/26[l, r] + 1/3equal_spread * dir ((angle (r-l) + 90) mod 180))
+ .. (13/26[l, r])
+ .. (21/26[l, r] - 1/3equal_spread * dir ((angle (r-l) + 90) mod 180))
+ .. (25/26[l, r])
+ .. (26/26[l, r] + 1/3equal_spread * dir ((angle (r-l) + 90) mod 180))
+enddef;
+
+def prec(expr l, r, spread) =
+ (r - 1/2spread * dir (angle (r-l) + 90)){dir (angle (r-l) + 140)}
+ .. {dir (angle (r-l) + 180)}l{dir (angle (r-l))}
+ .. {dir (angle (r-l) + 40)}(r + 1/2spread * dir (angle (r-l) + 90));
+enddef;
+
+def subset(expr l, r, spread) =
+ (r - 1/2spread * dir (angle (r-l) + 90))
+ -- (1/3[l, r] - 1/2spread * dir (angle (r-l) + 90)){l - r}
+ .. l
+ .. (1/3[l, r] + 1/2spread * dir (angle (r-l) + 90)){r - l}
+ .. (r + 1/2spread * dir (angle (r-l) + 90))
+enddef;
+
+def smile(expr sign, l, r, spread, round_smile) =
+ if round_smile:
+ (l + sign * 1/2spread * dir (angle (r-l) + 90))
+ .. {r - l}(1/2[l,r] - sign * 1/2spread * dir (angle (r-l) + 90)){r - l}
+ .. (r + sign * 1/2spread * dir (angle (r-l) + 90))
+ else:
+ (l + sign * 1/2spread * dir (angle (r-l) + 90))
+ -- (1/2[l,r] - sign * 1/2spread * dir (angle (r-l) + 90))
+ -- (r + sign * 1/2spread * dir (angle (r-l) + 90))
+ fi
+enddef;
+
+def stroke_through(expr pos, spread) =
+ begingroup;
+ stroke_len := 1/2spread / cosd 15;
+
+ pickup stroke_pen;
+ draw (pos + stroke_len * dir 75) -- (pos - stroke_len * dir 75);
+ endgroup;
+enddef;
+
+def draw_product(expr centre, width, height, sign, thick) =
+ thin := 1/2thick;
+
+ z1 - z0 = z3 - z2 = width * dir 0;
+ z2 - z0 = sign * height * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ x0 := hround (x0 - 0.5);
+ x1 := hround (x1 + 0.5);
+ x2 := hround (x2 - 0.5);
+ x3 := hround (x3 + 0.5);
+
+ z4 = 1/3[z0,z1];
+ z5 = 2/3[z0,z1];
+
+ x4 := hround (x4 + 0.5);
+ x5 := hround (x5 - 0.5);
+
+ z6 = 1/2[z0,z4] + sign * max (1/8height, 3/2thin) * dir 90;
+ z7 = 1/2[z1,z5] + sign * max (1/8height, 3/2thin) * dir 90;
+
+ z8 = z6 + sign * min (3/4height, height - 3thin) * dir 90;
+ z9 = z7 + sign * min (3/4height, height - 3thin) * dir 90;
+
+ penpos 0(thin, sign * 90);
+ penpos 1(thin, sign * 90);
+ penpos 2(thin, sign * 90);
+ penpos 3(thin, sign * 90);
+ penpos 4(thin, sign * 90);
+ penpos 5(thin, sign * 90);
+ penpos 6(thick, 0);
+ penpos 7(thick, 0);
+ penpos 8(thick, 0);
+ penpos 9(thick, 0);
+
+ x6l := hround (x6l - 0.5);
+ x6r := hround (x6r + 0.5);
+ x7l := hround (x7l - 0.5);
+ x7r := hround (x7r + 0.5);
+ x8l := hround (x8l - 0.5);
+ x8r := hround (x8r + 0.5);
+ x9l := hround (x9l - 0.5);
+ x9r := hround (x9r + 0.5);
+
+ y10 = y11 = y2r - sign * 1/2[thin,thick];
+ x10 = x6r;
+ x11 = x7l;
+
+ z10a = z10 - sign * min (1/20height, 4/5sign * (y10 - y9)) * dir 90;
+ z10b = z10 + 1/20height * dir 0;
+ z11a = z11 - sign * min (1/20height, 4/5sign * (y10 - y9)) * dir 90;
+ z11b = z11 - 1/20height * dir 0;
+
+ fill z0l -- z0r{dir 0} .. {sign * dir 90}z6l -- z6r{sign * dir -90} .. {dir 0}z4r -- z4l -- cycle;
+ fill z1l -- z1r{dir 180} .. {sign * dir 90}z7r -- z7l{sign * dir -90} .. {dir 180}z5r -- z5l -- cycle;
+ fill z2r -- z2l{dir 0} .. {sign * dir -90}z8l -- z8r -- z10a{sign * dir 90} .. {dir 0}z10b --
+ z11b{dir 0} .. {sign * dir -90}z11a -- z9l -- z9r{sign * dir 90} .. z3l -- z3r -- cycle;
+ fill z6l -- z8l -- z8r -- z6r -- cycle;
+ fill z7l -- z9l -- z9r -- z7r -- cycle;
+
+ penlabels(0,1,2,3,4,5,6,7,8,9,10,11,10a,10b,11a,11b);
+enddef;
+
+def draw_integral(suffix $)(expr scale, center) =
+ thick := 2rule_thickness * sqrt (sqrt scale);
+ thin := 1/2thick;
+
+ penpos0$(4/5thick, 0);
+ penpos1$(4/5thick, 0);
+ penpos2$(5/11thick, -90);
+ penpos3$(4/5thick, 0);
+ penpos4$(5/11thick, -90);
+
+ z0$ = 1/2[z1$,z3$] = 1/2[z2$,z4$];
+ z1$ - z3$ = whatever * dir 80;
+ z2$ - z4$ = whatever * dir 70;
+
+ x0$l = xpart centre;
+ top y2$ = h;
+ bot y4$ = -d;
+ y1$ = 1/2[y0$,y2$];
+
+ penpos5$(2/3thick,-135);
+ penpos6$(2/3thick,-135);
+ y5$ = 1/9[y2$, y1$];
+ x5$ = 8/5[x1$r, x2$r];
+ y6$ = 1/9[y4$, y3$];
+ x6$ = 8/5[x3$l, x4$l];
+
+ x2$r := floor min (x2$r, x5$r);
+ x4$l := ceiling max (x4$l, x6$l);
+
+ x5$r := ceiling x5$r + 1;
+ y5$r := ceiling y5$r;
+ x6$l := floor x6$l - 1;
+ y6$l := floor y6$l;
+
+ if abs (angle (z5$r - z2$r)) < 55:
+ fill z5$l .. z2$l{left} .. {z3$-z1$}z1$l -- z3$l{z3$-z1$} .. tension 1.5 .. z4$l{left} .. z6$l -- z6$r
+ .. z4$r{right} .. {z1$-z3$}z3$r -- z1$r{z1$-z3$} .. tension 1.5 .. z2$r{right} .. z5$r -- cycle;
+ else:
+ z7$ = z2$r + whatever * dir -30 = whatever[z5$l, z5$r];
+ z8$ = z4$l + whatever * dir -30 = whatever[z6$l, z6$r];
+
+ fill z5$l .. z2$l{left} .. {z3$-z1$}z1$l -- z3$l{z3$-z1$} .. tension 1.5 .. z4$l .. z8$ -- z6$r
+ .. z4$r{right} .. {z1$-z3$}z3$r -- z1$r{z1$-z3$} .. tension 1.5 .. z2$r .. z7$ -- cycle;
+ fi;
+
+ fill circle(z5$, 1/3thick);
+ fill circle(z6$, 1/3thick);
+
+ penlabels(0$,1$,2$,3$,4$,5$,6$);
+enddef;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Delim.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Delim.mf
new file mode 100644
index 00000000000..cee9984a552
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Delim.mf
@@ -0,0 +1,882 @@
+% brackets
+
+def draw_bracket(expr sign, thick, draw_top, draw_mid, draw_bot, draw_double) =
+ penpos0(thick, 90 - sign * 90);
+ penpos1(thick, 90 - sign * 90);
+ penpos2(3/2thick, 90);
+ penpos3(1/2thick, 90);
+ penpos4(3/2thick, 90);
+ penpos5(1/2thick, 90);
+ penpos6(1/2thick, 0);
+ penpos7(1/2thick, 0);
+
+ x3 - x2 = x5 - x4 = sign * (w - 2side_bearing); % - 2u + thick);
+
+ 1/2[x2,x3] = w/2 + sign * 1/2u;
+
+ if draw_top:
+ y1 = h;
+ else:
+ y1 = h + 1/3rule_thickness;
+ fi;
+
+ if draw_bot:
+ y0 = -d;
+ else:
+ y0 = -d - 1/3rule_thickness;
+ fi;
+
+ x1 = x0;
+
+ z6 = 1/3[z2l,z3l] + sign * thick * dir 0;
+ z7 = 1/3[z4r,z5r] + sign * thick * dir 0;
+
+ y2l = y3l;
+ y4r = y5r;
+ z2l = z0l;
+ z4r = z1l;
+
+ if draw_mid:
+ fill stroke z0e -- z1e;
+ else:
+ if draw_bot: fill stroke z0e -- 1/4[z0e,z1e]; fi;
+ if draw_top: fill stroke 3/4[z0e,z1e] -- z1e; fi;
+ fi;
+ if draw_top: fill stroke z4e .. {sign * dir 0}z5e; fi;
+ if draw_bot: fill stroke z2e .. {sign * dir 0}z3e; fi;
+ if draw_double: fill stroke z6e -- z7e; fi;
+enddef;
+
+lsquare_char = current_char + 1;
+rsquare_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "square bracket";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (scale/2), true, true, true, false);
+ endchar;
+ endfor;
+endfor;
+
+lfloor_char = current_char + 1;
+rfloor_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "floor";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (scale/2), false, true, true, false);
+ endchar;
+ endfor;
+endfor;
+
+lceil_char = current_char + 1;
+rceil_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "ceiling";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (scale/2), true, true, false, false);
+ endchar;
+ endfor;
+endfor;
+
+ulcorner_char = current_char + 1;
+urcorner_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "upper corner";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (scale/2), true, false, false, false);
+ endchar;
+ endfor;
+endfor;
+
+charlist urcorner_char: urcorner_char + 1: urcorner_char + 2: urcorner_char + 3: urcorner_char + 4;
+charlist ulcorner_char: ulcorner_char + 1: ulcorner_char + 2: ulcorner_char + 3: ulcorner_char + 4;
+
+llcorner_char = current_char + 1;
+lrcorner_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "lower corner";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (scale/2), false, false, true, false);
+ endchar;
+ endfor;
+endfor;
+
+charlist lrcorner_char: lrcorner_char + 1: lrcorner_char + 2: lrcorner_char + 3: lrcorner_char + 4;
+charlist llcorner_char: llcorner_char + 1: llcorner_char + 2: llcorner_char + 3: llcorner_char + 4;
+
+ullcorner_char = current_char + 1;
+ulrcorner_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "upper/lower corner";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (scale/2), true, false, true, false);
+ endchar;
+ endfor;
+endfor;
+
+charlist ulrcorner_char: ulrcorner_char + 1: ulrcorner_char + 2: ulrcorner_char + 3: ulrcorner_char + 4;
+charlist ullcorner_char: ullcorner_char + 1: ullcorner_char + 2: ullcorner_char + 3: ullcorner_char + 4;
+
+for sign = 1, -1:
+ beginsymbol((6 + 6)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "square bracket -- top";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (6/2), true, true, false, false);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol((6 + 6)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "square bracket -- bot";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (6/2), false, true, true, false);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol((6 + 6)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "square bracket -- module";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (6/2), false, true, false, false);
+ endchar;
+endfor;
+
+extensible current_char: current_char - 4, 0, current_char - 2, current_char; %right square bracket
+extensible current_char - 1: current_char - 5, 0, current_char - 3, current_char - 1; %left square bracket
+extensible current_char - 2: 0, 0, current_char - 2, current_char; %right floor
+extensible current_char - 3: 0, 0, current_char - 3, current_char - 1; %left floor
+extensible current_char - 4: current_char - 4, 0, 0, current_char; %right ceiling
+extensible current_char - 5: current_char - 5, 0, 0, current_char - 1; %left ceiling
+
+charlist rsquare_char: rsquare_char + 1: rsquare_char + 2: rsquare_char + 3: rsquare_char + 4: current_char;
+charlist lsquare_char: lsquare_char + 1: lsquare_char + 2: lsquare_char + 3: lsquare_char + 4: current_char - 1;
+charlist rfloor_char: rfloor_char + 1: rfloor_char + 2: rfloor_char + 3: rfloor_char + 4: current_char - 2;
+charlist lfloor_char: lfloor_char + 1: lfloor_char + 2: lfloor_char + 3: lfloor_char + 4: current_char - 3;
+charlist rceil_char: rceil_char + 1: rceil_char + 2: rceil_char + 3: rceil_char + 4: current_char - 4;
+charlist lceil_char: lceil_char + 1: lceil_char + 2: lceil_char + 3: lceil_char + 4: current_char - 5;
+
+% semantic brackets
+
+lsem_char = current_char + 1;
+rsem_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 8)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "semantic bracket";
+ draw_bracket(sign, rule_thickness * sqrt (scale/2), true, true, true, true);
+ endchar;
+ endfor;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol((6 + 8)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "semantic bracket -- top";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (6/2), true, true, false, true);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol((6 + 8)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "semantic bracket -- bot";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (6/2), false, true, true, true);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol((6 + 8)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "semantic bracket -- module";
+ draw_bracket(sign, 5/4rule_thickness * sqrt (6/2), false, true, false, true);
+ endchar;
+endfor;
+
+extensible current_char: current_char - 4, 0, current_char - 2, current_char; %right semanic bracket
+extensible current_char - 1: current_char - 5, 0, current_char - 3, current_char - 1; %left semanic bracket
+extensible current_char - 2: 0, 0, current_char - 2, current_char; %right semanic floor
+extensible current_char - 3: 0, 0, current_char - 3, current_char - 1; %left semanic floor
+extensible current_char - 4: current_char - 4, 0, 0, current_char; %right semanic ceiling
+extensible current_char - 5: current_char - 5, 0, 0, current_char - 1; %left semanic ceiling
+
+charlist rsem_char: rsem_char + 1: rsem_char + 2: rsem_char + 3: rsem_char + 4: current_char;
+charlist lsem_char: lsem_char + 1: lsem_char + 2: lsem_char + 3: lsem_char + 4: current_char - 1;
+
+beginsymbol(6/2 * u# + 2side_bearing#, vcentre(1/2delim_height#)); "vertical bar -- module";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ pickup pencircle scaled 1/12thick;
+
+ penpos2 (thick, 0);
+ penpos3 (thick, 0);
+
+ x2 = x3 = w/2;
+
+ top y2 = h + 1/3rule_thickness;
+ bot y3 = -d - 1/3rule_thickness;
+
+ filldraw stroke z2e -- z3e;
+endchar;
+
+extensible current_char: 0, 0, 0, current_char; % vertical bar
+
+for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol(scale/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "vertical bar";
+ thick := 5/8rule_thickness * sqrt scale;
+
+ pickup pencircle scaled 1/12thick;
+
+ penpos2 (thick, 0);
+ penpos3 (thick, 0);
+
+ x2 = x3 = w/2;
+
+ top y2 = h;
+ bot y3 = -d;
+
+ filldraw stroke z2e -- z3e;
+ endchar;
+endfor;
+
+charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char:
+ current_char - 5;
+
+beginsymbol((5.1 + 8)/2 * u# + 2side_bearing#, vcentre(1/2delim_height#));
+ "double vertical bar -- module";
+
+ thick := 3/8rule_thickness * sqrt 5.1;
+
+ pickup pencircle scaled 1/12thick;
+
+ penpos0 (thick, 0);
+ penpos1 (thick, 0);
+ penpos2 (thick, 0);
+ penpos3 (thick, 0);
+
+ x0 = x1;
+ x2 = x3;
+ 1/2[x0,x2] = w/2;
+ x2 - x0 = 4thick;
+
+ top y0 = top y2 = h + 1/3rule_thickness;
+ bot y1 = bot y3 = -d - 1/3rule_thickness;
+
+ filldraw stroke z0e -- z1e;
+ filldraw stroke z2e -- z3e;
+endchar;
+
+extensible current_char: 0, 0, 0, current_char; % double vertical line
+
+for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 8)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "double vertical bar";
+ thick := 4/8rule_thickness * sqrt scale;
+
+ pickup pencircle scaled 1/12thick;
+
+ penpos0 (thick, 0);
+ penpos1 (thick, 0);
+ penpos2 (thick, 0);
+ penpos3 (thick, 0);
+
+ x0 = x1;
+ x2 = x3;
+ 1/2[x0,x2] = w/2;
+ x2 - x0 = 4thick;
+
+ top y0 = top y2 = h;
+ bot y1 = bot y3 = -d;
+
+ filldraw stroke z0e -- z1e;
+ filldraw stroke z2e -- z3e;
+ endchar;
+endfor;
+
+charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char:
+ current_char - 5;
+
+beginsymbol(5u# + 2side_bearing#, vcentre(delim_height#)); "wavy line";
+ thick := rule_thickness;
+
+ pickup pencircle scaled thick;
+
+ x0 = x1 = x2 = x3 = w/2;
+ 1/2[y0,y1] = h;
+ 1/2[y2,y3] = -d;
+ y2 - y1 = y1 - y0 = y3 - y2;
+
+ draw (subpath (0.5,2.5) of
+ (z0{dir (270-30)}
+ .. {dir (270+30)}z1{dir (270+30)}
+ .. {dir (270-30)}z2{dir (270-30)}
+ .. {dir (270+30)}z3));
+endchar;
+
+extensible current_char: 0, 0, 0, current_char;
+
+beginsymbol(8u# + 2side_bearing#, vcentre(delim_height#)); "double wavy line";
+ thick := rule_thickness;
+
+ pickup pencircle scaled thick;
+
+ x0a = x1a = x2a = x3a = 1/3w;
+ x0b = x1b = x2b = x3b = 2/3w;
+ 1/2[y0a,y1a] = 1/2[y0b,y1b] = h;
+ 1/2[y2a,y3a] = 1/2[y2b,y3b] = -d;
+
+ y2a - y1a = y1a - y0a = y3a - y2a;
+ y2b - y1b = y1b - y0b = y3b - y2b;
+
+ draw (subpath (0.5,2.5) of
+ (z0a{dir (270-30)}
+ .. {dir (270+30)}z1a{dir (270+30)}
+ .. {dir (270-30)}z2a{dir (270-30)}
+ .. {dir (270+30)}z3a));
+ draw (subpath (0.5,2.5) of
+ (z0b{dir (270-30)}
+ .. {dir (270+30)}z1b{dir (270+30)}
+ .. {dir (270-30)}z2b{dir (270-30)}
+ .. {dir (270+30)}z3b));
+endchar;
+
+extensible current_char: 0, 0, 0, current_char;
+
+def draw_angle(suffix $)(expr shift, sign, thick) =
+ pickup pencircle scaled (7/8thick);
+
+ x0$ = x1$ = x2$ + sign * (w - 2side_bearing - 2abs shift - thick);
+
+ x3$ = x2$ + sign * 3/8thick;
+
+ top y1$ = h;
+ bot y0$ = -d;
+ 1/2[y0$,y1$] = y2$ = y3$;
+ 1/2[x0$,x2$] = w/2;
+
+ draw (z0$ + shift * right) -- (z2$ + shift * right) -- (z1$ + shift * right) -- (z3$ + shift * right) -- cycle;
+enddef;
+
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "angle";
+ draw_angle(a, 0, sign, 7/8rule_thickness * sqrt scale);
+ endchar;
+ endfor;
+ charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "angle bar";
+ draw_angle(a, 0, sign, 7/8rule_thickness * sqrt scale);
+
+ z3 = whatever[z0a,z2a];
+ z4 = whatever[z1a,z2a];
+
+ x3 = x4 = (1/(2*scale))[x0a,x2a];
+
+ pickup pencircle scaled (11/25rule_thickness * sqrt scale);
+
+ draw z3 -- z4;
+ endchar;
+ endfor;
+ charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 6)/2 * u# + 5/2rule_thickness# * sqrt scale + 2side_bearing#,
+ vcentre(scale * delim_height#));
+ "double angle";
+ thick := 5/8rule_thickness * sqrt scale;
+ draw_angle(a, -2thick, sign, thick);
+ draw_angle(b, 2thick, sign, thick);
+ endchar;
+ endfor;
+ charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol(3scale * u# + side_bearing#, vcentre(scale * delim_height#)); "slash";
+ thick := 5/4rule_thickness * sqrt (scale/2);
+
+ pickup pencircle scaled thick;
+
+ x1 - x0 = sign * (w - side_bearing - thick);
+
+ top y1 = h;
+ bot y0 = -d;
+ 1/2[x0,x1] = w/2;
+
+ draw z0 -- z1;
+ endchar;
+ endfor;
+ charlist current_char - 4: current_char - 3: current_char - 2: current_char - 1: current_char;
+endfor;
+
+def draw_paren(expr sign, thick) =
+ penpos0(1/2thick, 90 - sign * 40);
+ penpos1(1/2thick, -90 + sign * 40);
+ penpos2(4/3thick, 90 - sign * 90);
+
+ x0 = x1 = x2 + sign * (w - 2side_bearing - thick);
+
+ top y1l = h;
+ bot y0l = -d;
+ 1/2[y0,y1] = y2;
+ 1/2[x0l,x2l] = w/2;
+
+ fill stroke z0e{3(x2e - x0e), y2e - y0e} .. z2e .. {3(x1e - x2e), y1e - y2e}z1e;
+
+ penlabels(0,1,2);
+enddef;
+
+lparen_char = current_char + 1;
+rparen_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol(2/3*(scale + 5.5) * u# + 2side_bearing#, vcentre(scale * delim_height#)); "parenthesis";
+ draw_paren(sign, 9/20rule_thickness * sqrt (4*scale));
+ endchar;
+ endfor;
+endfor;
+
+% extensible parenthesis
+
+for sign = 1, -1:
+ beginsymbol(2/3*(6 + 5.5) * u# + 2side_bearing#, vcentre(6/2 * delim_height#)); "parenthesis -- top";
+ thick := 9/20rule_thickness * sqrt 24;
+
+ penpos1(1/2thick, -90 + sign * 40);
+ penpos2(4/3thick, 90 - sign * 90);
+
+ x1 = x2 + sign * (w - 2side_bearing - thick);
+
+ top y1l = h + eps;
+ y2 = -d - 1/2rule_thickness;
+ 1/2[x1l,x2l] = w/2;
+
+ fill stroke z2e{up} .. {3(x1e - x2e), y1e - y2e}z1e;
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol(2/3*(6 + 5.5) * u# + 2side_bearing#, vcentre(6/2 * delim_height#)); "parenthesis -- bot";
+ thick := 9/20rule_thickness * sqrt 24;
+
+ penpos0(1/2thick, 90 - sign * 40);
+ penpos2(4/3thick, 90 - sign * 90);
+
+ x0 = x2 + sign * (w - 2side_bearing - thick);
+
+ y2 = h + 1/2rule_thickness;
+ bot y0l = -d - eps;
+ 1/2[x0l,x2l] = w/2;
+
+ fill stroke z0e{3(x2e - x0e), y2e - y0e} .. {up}z2e;
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol(2/3*(6 + 5.5) * u# + 2side_bearing#, vcentre(delim_height#)); "parenthesis -- module";
+ thick := 9/20rule_thickness * sqrt 24;
+
+ penpos1(1/2thick, 90 - sign * 40);
+ penpos2(4/3thick, 90 - sign * 90);
+ penpos3(4/3thick, 90 - sign * 90);
+
+ x2 = x3 = x1 - sign * (w - 2side_bearing - thick);
+
+ y2 = h + 1/2rule_thickness;
+ y3 = -d - 1/2rule_thickness;
+ 1/2[x1l,x2l] = w/2;
+
+ fill stroke z2e -- z3e;
+ endchar;
+endfor;
+
+extensible current_char: current_char - 4, 0, current_char - 2, current_char; %right parenthesis
+extensible current_char - 1: current_char - 5, 0, current_char - 3, current_char - 1; %left parenthesis
+
+charlist rparen_char: rparen_char + 1: rparen_char + 2: rparen_char + 3: rparen_char + 4: current_char;
+charlist lparen_char: lparen_char + 1: lparen_char + 2: lparen_char + 3: lparen_char + 4: current_char - 1;
+
+% curly braces
+
+def draw_brace_tip(suffix $,@)(expr alpha,thick) =
+ pickup pencircle scaled 1/12thick;
+
+ penpos$ (1/2thick, alpha);
+ penpos$'(1/2thick, alpha);
+ penpos@ (thick, alpha);
+ penpos@'(thick, alpha);
+
+ beta := angle (5(x$l-x@l), y$-y@) - alpha;
+
+ filldraw z$l{-dir (alpha + beta)} ... z@l --- z@'l -- z@'r
+ --- z@r ... {dir (alpha + beta)}z$'r -- z$r -- cycle;
+enddef;
+
+def draw_brace(expr center, size, width, alpha, thick, top_size, mid_size, bot_size) =
+
+ pickup pencircle scaled 1/12thick;
+
+ penpos1 (1/2thick, alpha);
+ penpos1'(1/2thick, alpha);
+ penpos4 (1/2thick, alpha);
+ penpos4'(1/2thick, alpha);
+ penpos7 (1/2thick, alpha);
+ penpos7'(1/2thick, alpha);
+ penpos2 (thick, alpha);
+ penpos2'(thick, alpha);
+ penpos3 (thick, alpha);
+ penpos3'(thick, alpha);
+ penpos5 (thick, alpha);
+ penpos5'(thick, alpha);
+ penpos6 (thick, alpha);
+ penpos6'(thick, alpha);
+
+ z1 - z7 = (size - 1/6thick) * dir (alpha + 90);
+
+ center - 1/2[z1l,z7l] = 1/2[z4r,z4'r] - center = width/2 * dir alpha;
+
+ z2 = center + whatever * dir (alpha + 90);
+ z3 = center + whatever * dir (alpha + 90);
+
+ z3' = center + (mid_size/2 + 1/2rule_thickness) * dir (alpha + 90);
+ z5' = center - (mid_size/2 + 1/2rule_thickness) * dir (alpha + 90);
+
+ z2' = center + (size/2 - top_size - 1/2rule_thickness) * dir (alpha + 90);
+ z6' = center - (size/2 - bot_size - 1/2rule_thickness) * dir (alpha + 90);
+
+ 1/2[z2,z6] = 1/2[z3,z5] = center;
+
+ z2 - z3 = z5 - z6 = 5/24(size - 1/3thick) * dir (alpha + 90);
+
+ z1 - z2 = z3 - z4;
+ z7 - z6 = z5 - z4';
+
+ z1 - z1' = z4 - z4' = z7' - z7 = 1/4thick * dir (alpha + 90);
+
+ beta := angle (5 (z1l-z2l) dotprod dir alpha, (z1l-z2l) dotprod dir (alpha+90));
+
+ if top_size > 0:
+ filldraw z1r{-dir (alpha + beta)} ... z2r --- z2'r -- z2'l
+ --- z2l ... {dir (alpha + beta)}z1'l -- z1l -- cycle;
+ penlabels(1,2,2');
+ elseif bot_size > 0:
+ filldraw
+ z6'r --- z6r ... {dir (alpha - beta)}z7r
+ -- z7l -- z7'l{-dir (alpha - beta)} ... z6l --- z6'l -- cycle;
+ penlabels(6',6,7);
+ elseif mid_size > 0:
+ filldraw z3'r --- z3r{dir (alpha-90)} ... {dir alpha}z4r
+ -- z4'r{-dir alpha} ... {dir (alpha-90)}z5r --- z5'r -- z5'l --- z5l{dir (alpha+90)}
+ ... {dir alpha}1/2[z4l, z4'l]{-dir alpha}
+ ... {dir (alpha+90)}z3l --- z3'l -- cycle;
+ penlabels(3',3,4,5,5');
+ else:
+ filldraw z1r{-dir (alpha + beta)} ... z2r --- z3r{dir (alpha-90)} ... {dir alpha}z4r
+ -- z4'r{-dir alpha} ... {dir (alpha-90)}z5r --- z6r ... {dir (alpha - beta)}z7r
+ -- z7l -- z7'l{-dir (alpha - beta)} ... z6l --- z5l{dir (alpha+90)}
+ ... {dir alpha}1/2[z4l, z4'l]{-dir alpha}
+ ... {dir (alpha+90)}z3l --- z2l ... {dir (alpha + beta)}z1'l -- z1l -- cycle;
+ penlabels(1,2,3,4,5,6,7);
+ fi;
+
+enddef;
+
+lcurly_char = current_char + 1;
+rcurly_char = current_char + 6;
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((scale + 10)/2 * u# + 2side_bearing#, vcentre(scale * delim_height#)); "curly brace";
+ thick := 5/4rule_thickness * sqrt sqrt (scale/2);
+
+ draw_brace((w/2, (h-d)/2), h+d, w - 2side_bearing, 90 + sign * 90, thick, 0, 0, 0)
+ endchar;
+ endfor;
+endfor;
+
+beginsymbol((6 + 10)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "curly brace -- top";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w/2, h - 3delim_height), 6delim_height, w - 2side_bearing, 180, thick, 0, 0, h+d);
+endchar;
+
+beginsymbol((6 + 10)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "curly brace -- top";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w/2, h - 3delim_height), 6delim_height, w - 2side_bearing, 0, thick, h+d, 0, 0);
+endchar;
+
+beginsymbol((6 + 10)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "curly brace -- bot";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w/2, 3delim_height - d), 6delim_height, w - 2side_bearing, 180, thick, h+d, 0, 0)
+endchar;
+
+beginsymbol((6 + 10)/2 * u# + 2side_bearing#, vcentre(delim_height#)); "curly brace -- bot";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w/2, 3delim_height - d), 6delim_height, w - 2side_bearing, 0, thick, 0, 0, h+d)
+endchar;
+
+for sign = 1, -1:
+ beginsymbol((6 + 10)/2 * u# + 2side_bearing#, vcentre(2delim_height#)); "curly brace -- middle";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w/2, (h-d)/2), 6delim_height, w - 2side_bearing, 90 + sign * 90, thick, 0, h+d, 0);
+ endchar;
+endfor;
+
+beginsymbol((6 + 10)/2 * u# + 2side_bearing#, vcentre(1/2delim_height#)); "curly brace -- module";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ pickup pencircle scaled 1/12thick;
+
+ penpos2 (thick, 0);
+ penpos3 (thick, 0);
+
+ x2 = x3 = w/2;
+
+ top y2 = h + 1/2rule_thickness;
+ bot y3 = -d - 1/2rule_thickness;
+
+ filldraw stroke z2e -- z3e;
+endchar;
+
+extensible current_char - 6: current_char - 6, 0, current_char - 4, current_char; %sharp left parenthesis
+extensible current_char - 5: current_char - 5, 0, current_char - 3, current_char; %sharp right parenthesis
+extensible current_char - 4: current_char - 5, 0, current_char - 4, current_char; %right moustache
+extensible current_char - 3: current_char - 6, 0, current_char - 3, current_char; %left moustache
+extensible current_char - 2: current_char - 6, current_char - 2, current_char - 4, current_char; %left curly brace
+extensible current_char - 1: current_char - 5, current_char - 1, current_char - 3, current_char; %right curly brace
+extensible current_char: 0, 0, 0, current_char; %vertical line
+
+charlist rcurly_char: rcurly_char + 1: rcurly_char + 2: rcurly_char + 3: rcurly_char + 4: current_char - 1;
+charlist lcurly_char: lcurly_char + 1: lcurly_char + 2: lcurly_char + 3: lcurly_char + 4: current_char - 2;
+
+for sign = 1, -1:
+ for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol(scale * delim_height#, vcentre((scale + 10)/2 * u# + 2side_bearing#));
+ "horizontal curly brace";
+
+ thick := 5/4rule_thickness * sqrt sqrt (scale/2);
+
+ draw_brace((w/2, (h-d)/2), w, (h+d) - 2side_bearing, sign * 90, thick, 0, 0, 0)
+ endchar;
+ endfor;
+endfor;
+
+beginsymbol(delim_height#, vcentre((6 + 10)/2 * u# + 2side_bearing#)); "curly brace -- left";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((3delim_height, (h-d)/2), 6delim_height, (h+d) - 2side_bearing, 90, thick, w, 0, 0);
+endchar;
+
+beginsymbol(delim_height#, vcentre((6 + 10)/2 * u# + 2side_bearing#)); "curly brace -- left";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((3delim_height, (h-d)/2), 6delim_height, (h+d) - 2side_bearing, -90, thick, 0, 0, w);
+endchar;
+
+beginsymbol(delim_height#, vcentre((6 + 10)/2 * u# + 2side_bearing#)); "curly brace -- right";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w - 3delim_height, (h-d)/2), 6delim_height, (h+d) - 2side_bearing, 90, thick, 0, 0, w);
+endchar;
+
+beginsymbol(delim_height#, vcentre((6 + 10)/2 * u# + 2side_bearing#)); "curly brace -- right";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w - 3delim_height, (h-d)/2), 6delim_height, (h+d) - 2side_bearing, -90, thick, w, 0, 0);
+endchar;
+
+for sign = 1, -1:
+ beginsymbol(2delim_height#, vcentre((6 + 10)/2 * u# + 2side_bearing#));
+ "curly brace -- horizontal middle";
+
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ draw_brace((w/2, (h-d)/2), 6delim_height, (h+d) - 2side_bearing, sign * 90, thick, 0, w, 0);
+ endchar;
+endfor;
+
+beginsymbol(u#, vcentre((6 + 10)/2 * u# + 2side_bearing#));
+ "curly brace -- horizontal module";
+ thick := 5/4rule_thickness * sqrt sqrt (6/2);
+
+ pickup pencircle scaled 1/12thick;
+
+ penpos1 (thick, 90);
+ penpos2 (thick, 90);
+
+ x1 = -u/2;
+ x2 = w + u/2;
+ y1 = y2 = (h-d)/2;
+
+ filldraw stroke z1e -- z2e;
+endchar;
+
+
+% roots
+
+def draw_root_top(expr scale, thick, vertical) =
+ pickup pencircle scaled thick;
+
+ top y0 = h;
+ x0 = w;
+
+ bot y1 = -d;
+
+ if vertical:
+ x1 = 6/9w;
+ draw z0 -- (x1, y0) -- z1;
+ else:
+ x1 = 4/9w;
+ draw z0 -- z1;
+ fi;
+enddef;
+
+def draw_root_bot(expr scale, thick, vertical) =
+ penpos2(3/2thick, 0);
+ penpos3(thick, 0);
+
+ x2l = 1/9w;
+ y2 = 1/2[y0, y1];
+ x3 = x1;
+ bot y3 = -d;
+
+ z4 = whatever[z0, z1] = z2r + whatever * (z2l - z3l);
+
+ penpos5(1/2thick, angle (z3l - z2l));
+ z5l = z2r + 5/2thick * dir (angle (z3l - z2l) - 90);
+
+ z6 = whatever[z2l, z3l] = z5r + whatever * dir (angle (z3l - z2l) - 90);
+
+ fill z5r -- z6 -- z3l -- z3 -- z4 -- z2r -- z5l -- cycle;
+enddef;
+
+root_char = current_char + 1;
+
+for scale = 2, 2.5, 3.3, 4.2, 5.1:
+ beginsymbol((2scale + 10) * u# + side_bearing#,
+ sqrt (scale/2) * rule_thickness#,
+ scale * delim_height# - sqrt (scale/2) * rule_thickness#);
+ "root";
+
+ draw_root_top(scale, sqrt (scale/2) * rule_thickness, false);
+ draw_root_bot(scale, sqrt (scale/2) * rule_thickness, false);
+ labels(0,1,2,3,4,5,6);
+
+ endchar;
+endfor;
+
+beginsymbol((12 + 10) * u# + side_bearing#,
+ sqrt (6/2) * rule_thickness#,
+ delim_height# - sqrt (6/2) * rule_thickness#);
+ "root -- top";
+
+ thick := vround (sqrt (6/2) * rule_thickness# * hppp);
+
+ draw_root_top(6, thick, true);
+endchar;
+
+beginsymbol((12 + 10) * u# + side_bearing#, 0, 3 * delim_height#);
+ "root -- bottom";
+
+ thick := vround (sqrt (6/2) * rule_thickness# * hppp);
+
+ pickup pencircle scaled thick;
+
+ x0 = x1 = 6/9w;
+ bot y0 = d;
+ bot y1 = -d;
+
+ draw 1/2[z0, z1] -- z1;
+
+ draw_root_bot(6, thick, true);
+endchar;
+
+beginsymbol((12 + 10) * u# + side_bearing#, vcentre(delim_height#));
+ "root -- module";
+
+ thick := vround (sqrt (6/2) * rule_thickness# * hppp);
+
+ pickup pencircle scaled thick;
+
+ x0 = x1 = 6/9w;
+ y0 = h;
+ y1 = -d;
+
+ draw z0 -- z1;
+endchar;
+
+extensible current_char - 2: current_char - 2, 0, current_char - 1, current_char;
+
+charlist root_char: root_char + 1: root_char + 2: root_char + 3: root_char + 4: current_char - 2;
+
+% reserve space for accents
+current_char := 212;
+
+for arrow_dir = 90, 270:
+ beginsymbol(8u# + 2side_bearing#, vcentre(delim_height#)); "arrow up/down";
+ pickup rule_pen;
+
+ pair foot, head;
+
+ if arrow_dir = 90:
+ head = (w/2, h);
+ foot = (w/2, -d);
+ else:
+ head = (w/2, -d);
+ foot = (w/2, h);
+ fi;
+
+ draw foot -- head;
+ draw arrowhead(head, arrow_dir, arrow_spread);
+ endchar;
+endfor;
+
+beginsymbol(8u# + 2side_bearing#, vcentre(delim_height#)); "arrow module";
+ pickup rule_pen;
+
+ z0 = (w/2, h + 1/2rule_thickness);
+ z1 = (w/2, -d - 1/2rule_thickness);
+
+ draw z0 -- z1;
+endchar;
+
+extensible current_char-2: current_char-2, 0, current_char, current_char;
+extensible current_char-1: current_char, 0, current_char-1, current_char;
+extensible current_char: current_char-2, 0, current_char-1, current_char;
+
+for arrow_dir = 90, 270:
+ beginsymbol(8u# + 2side_bearing#, vcentre(delim_height#)); "double arrow up/down";
+ pickup rule_pen;
+
+ pair foot, head;
+
+ if arrow_dir = 90:
+ head = (w/2, h);
+ foot = (w/2, -d);
+ else:
+ head = (w/2, -d);
+ foot = (w/2, h);
+ fi;
+
+ z1 - z0 = z3 - z2 = equal_spread * dir (arrow_dir + 90);
+
+ 1/2[z0,z1] = foot - 1/2rule_thickness * dir arrow_dir;
+ 1/2[z2,z3] = head;
+
+ draw z0 -- arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z0 -- z2);
+ draw z1 -- arrowhead_intersection(head, arrow_dir, 13/10arrow_spread, z1 -- z3);
+
+ draw arrowhead(head, arrow_dir, 13/10arrow_spread);
+ endchar;
+endfor;
+
+beginsymbol(8u# + 2side_bearing#, vcentre(delim_height#)); "double arrow module";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = equal_spread * right;
+
+ 1/2[z0,z1] = (w/2, h + 1/2rule_thickness);
+ 1/2[z2,z3] = (w/2, -d - 1/2rule_thickness);
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+endchar;
+
+extensible current_char-2: current_char-2, 0, current_char, current_char;
+extensible current_char-1: current_char, 0, current_char-1, current_char;
+extensible current_char: current_char-2, 0, current_char-1, current_char;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Geometric.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Geometric.mf
new file mode 100644
index 00000000000..7f19a9d1d4c
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Geometric.mf
@@ -0,0 +1,2277 @@
+
+beginsymbol(dot_size# + 2side_bearing#, vcentre(2dot_size#)); "centre dot";
+ pickup rule_pen;
+
+ fill circle((w/2, (h-d)/2), dot_size);
+endchar;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, (3dot_size# + equal_spread#)/arrow_horiz_len#, dot_size#);
+ "colon (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = (2dot_size + equal_spread) * dir alpha;
+ 1/2[z0,z1] = centre;
+
+ fill circle(z0, dot_size);
+ fill circle(z1, dot_size);
+ endchar;
+endfor;
+
+for alpha = 0, 90, 45, 135:
+ beginarrow(alpha, (5dot_size# + 2equal_spread#)/arrow_horiz_len#, dot_size#);
+ "triple colon (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ z1 - z0 = (2dot_size + equal_spread) * dir alpha;
+ z2 - z1 = (2dot_size + equal_spread) * dir alpha;
+ z1 = centre;
+
+ fill circle(z0, dot_size);
+ fill circle(z1, dot_size);
+ fill circle(z2, dot_size);
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(plus_size#, 1); "therefore (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ fill circle(centre + r * dir alpha, dot_size);
+ fill circle(centre + r * dir (alpha + 120), dot_size);
+ fill circle(centre + r * dir (alpha + 240), dot_size);
+ endchar;
+endfor;
+
+for alpha = 0, 45:
+ beginoperator(plus_size#, 1); "quad dot (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ fill circle(centre + r * dir alpha, dot_size);
+ fill circle(centre + r * dir (alpha + 90), dot_size);
+ fill circle(centre + r * dir (alpha + 180), dot_size);
+ fill circle(centre + r * dir (alpha + 270), dot_size);
+ endchar;
+endfor;
+
+beginoperator(plus_size#, 1); "five dots";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ fill circle(centre, dot_size);
+ fill circle(centre + r * dir 0, dot_size);
+ fill circle(centre + r * dir 90, dot_size);
+ fill circle(centre + r * dir 180, dot_size);
+ fill circle(centre + r * dir 270, dot_size);
+endchar;
+
+beginoperator(plus_size#, 1); "minus";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 0) -- (centre + r * dir 180);
+endchar;
+
+beginoperator(plus_size#, 1); "bar";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 90) -- (centre + r * dir 270);
+endchar;
+
+beginoperator(plus_size#, 1); "medium slash";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ draw (centre + r * dir 45) -- (centre + r * dir 225);
+endchar;
+
+beginoperator(plus_size#, 1); "medium backslash";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ draw (centre + r * dir 135) -- (centre + r * dir 315);
+endchar;
+
+beginoperator(plus_size#, 1); "plus";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 0) -- (centre + r * dir 180);
+ draw (centre + r * dir 90) -- (centre + r * dir 270);
+endchar;
+
+beginoperator(plus_size#, 1); "times";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ draw (centre + r * dir 45) -- (centre + r * dir 225);
+ draw (centre + r * dir 135) -- (centre + r * dir 315);
+endchar;
+
+beginoperator(plus_size#, 1); "plus minus";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 0) -- (centre + r * dir 180);
+ draw (centre + r * dir 90) -- (centre + (r - 1/4rule_thickness) * dir 270);
+
+ draw (centre + r * (dir 0 - dir 90)) -- (centre + r * (dir 180 - dir 90));
+endchar;
+
+beginoperator(plus_size#, 1); "minus plus";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 0) -- (centre + r * dir 180);
+ draw (centre + (r - 1/4rule_thickness) * dir 90) -- (centre + r * dir 270);
+
+ draw (centre + r * (dir 0 + dir 90)) -- (centre + r * (dir 180 + dir 90));
+endchar;
+
+for angle = 0, 90, 180, 270:
+ beginoperator(plus_size#, 1); "dot minus (" & decimal angle & ")";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre - r * dir angle) -- (centre + r * dir angle);
+ fill circle(centre + equal_spread * dir (angle + 90), dot_size);
+ endchar;
+endfor;
+
+for angle = 0, 45, 90, 135:
+ beginoperator(plus_size#, 1); "divides";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre - r * dir angle) -- (centre + r * dir angle);
+ fill circle(centre + equal_spread * dir (angle + 90), dot_size);
+ fill circle(centre - equal_spread * dir (angle + 90), dot_size);
+ endchar;
+endfor;
+
+% Warning: The other two orientations are below.
+% They should stay consistent.
+
+beginoperator(plus_size#, 1); "logical not";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 180) -- (centre + r * dir 0)
+ -- (centre + r * dir 0 - equal_spread * dir 90);
+endchar;
+
+beginoperator(plus_size#, 1); "reversed logical not";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 180 - equal_spread * dir 90)
+ -- (centre + r * dir 180) -- (centre + r * dir 0)
+endchar;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(plus_size#, 1); "times (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ draw (centre + r * dir (alpha + 45)) -- (centre + r * dir (alpha + 225)) --
+ (centre + r * dir (alpha + 315)) -- (centre + r * dir (alpha + 135));
+ endchar;
+endfor;
+
+for alpha = 0, 90:
+ beginoperator(plus_size#, 1); "bowtie (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ draw (centre + r * dir (alpha + 45)) -- (centre + r * dir (alpha + 225)) --
+ (centre + r * dir (alpha + 135)) -- (centre + r * dir (alpha + 315)) -- cycle;
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(plus_size#, 1); "Y (" & decimal alpha & ")";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+ r := r * 1/3[1, sqrt 2];
+
+ draw centre -- (centre + r * dir alpha);
+ draw centre -- (centre + r * dir (alpha + 120));
+ draw centre -- (centre + r * dir (alpha + 240));
+ endchar;
+endfor;
+
+% operators
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "wedge";
+ pickup rule_pen;
+
+ z2 - z0 = plus_size * dir 0;
+
+ x1 = 1/2[x0, x2] = w/2;
+
+ y1 - y0 = sign * plus_size;
+ 1/2[y0,y1] = ypart centre;
+
+ draw z0 -- z1 -- z2;
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "wedge dot";
+ pickup rule_pen;
+
+ z2 - z0 = plus_size * dir 0;
+
+ x1 = 1/2[x0, x2] = w/2;
+
+ y1 - y0 = sign * plus_size;
+ 1/2[y0,y1] = ypart centre;
+
+ draw z0 -- z1 -- z2;
+ fill circle(centre - sign * 1/3plus_size * dir 90, dot_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol(13/9plus_size# + 2side_bearing#, vcentre(plus_size# + rule_thickness#));
+ "double wedge";
+
+ pickup rule_pen;
+
+ z2 - z0 = plus_size * dir 0;
+
+ x1 = 1/2[x0, x2] = w/2;
+
+ y1 - y0 = sign * plus_size;
+ 1/2[y0,y1] = ypart centre;
+
+ 1/2[z0a,z0b] = z0;
+ 1/2[z1a,z1b] = z1;
+ 1/2[z2a,z2b] = z2;
+ z0b - z0a = z1b - z1a = z2b - z2a = 4/9plus_size * dir 0;
+
+ draw z0a -- z1a -- z2a;
+ draw z0b -- z1b -- z2b;
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "curly wedge";
+ pickup rule_pen;
+
+ draw prec(centre + sign * 1/2plus_size * dir 90,
+ centre - sign * 1/2plus_size * dir 90,
+ plus_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "curly wedge dot";
+ pickup rule_pen;
+
+ draw prec(centre + sign * 1/2plus_size * dir 90,
+ centre - sign * 1/2plus_size * dir 90,
+ plus_size);
+ fill circle(centre - sign * 5/12plus_size * dir 90, dot_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginsymbol(13/9plus_size# + 2side_bearing#, vcentre(plus_size# + rule_thickness#));
+ "double wedge";
+
+ pickup rule_pen;
+
+ 1/2[z0,z1] = (w/2, (h-d)/2);
+ z1 - z0 = 4/9plus_size * dir 0;
+
+ draw prec(z0 + sign * 1/2plus_size * dir 90,
+ z0 - sign * 1/2plus_size * dir 90,
+ plus_size);
+ draw prec(z1 + sign * 1/2plus_size * dir 90,
+ z1 - sign * 1/2plus_size * dir 90,
+ plus_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "union";
+ pickup rule_pen;
+
+ draw subset(centre - sign * 1/2plus_size * dir 90,
+ centre + sign * 1/2plus_size * dir 90,
+ plus_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(4/3plus_size#, 1); "double union";
+ pickup rule_pen;
+
+ draw subset(centre - sign * 5/18plus_size * dir 90,
+ centre + sign * 2/3plus_size * dir 90,
+ 5/9plus_size);
+ draw subset(centre - sign * 2/3plus_size * dir 90,
+ centre + sign * 2/3plus_size * dir 90,
+ 4/3plus_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "union dot";
+ pickup rule_pen;
+
+ draw subset(centre - sign * 1/2plus_size * dir 90,
+ centre + sign * 1/2plus_size * dir 90,
+ plus_size);
+ fill circle(centre + sign * 1/6plus_size * dir 90, dot_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "union plus";
+ pickup rule_pen;
+
+ draw subset(centre - sign * 1/2plus_size * dir 90,
+ centre + sign * 1/2plus_size * dir 90,
+ plus_size);
+
+ t := 22/10rule_thickness;
+ r := 1/2plus_size - t;
+
+ draw (centre + sign * 1/6plus_size * dir 90 + r * dir 0)
+ -- (centre + sign * 1/6plus_size * dir 90 + r * dir 180);
+ draw (centre + (r + sign * 1/6plus_size) * dir 90)
+ -- (centre + (r - sign * 1/6plus_size) * dir 270);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "square union";
+ pickup rule_pen;
+
+ z3 - z0 = z2 - z1 = plus_size * dir 0;
+ z0 - z1 = sign * plus_size * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z1 -- z2 -- z3;
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(4/3plus_size#, 1); "double square union";
+ pickup rule_pen;
+
+ z3a - z0a = z2a - z1a = 4/3plus_size * dir 0;
+ z0a - z1a = sign * 4/3plus_size * dir 90;
+
+ 1/2[1/2[z0a,z1a], 1/2[z2a,z3a]] = centre;
+
+ z3b - z0b = z2b - z1b = 5/9plus_size * dir 0;
+ z0b - z1b = sign * 17/18plus_size * dir 90;
+
+ y0b = y0a;
+ 1/2[x0b, x3b] = xpart centre;
+
+ draw z0a -- z1a -- z2a -- z3a;
+ draw z0b -- z1b -- z2b -- z3b;
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "square union dot";
+ pickup rule_pen;
+
+ z3 - z0 = z2 - z1 = plus_size * dir 0;
+ z0 - z1 = sign * plus_size * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z1 -- z2 -- z3;
+
+ fill circle(centre + sign * 1/6plus_size * dir 90, dot_size);
+ endchar;
+endfor;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "square union plus";
+ pickup rule_pen;
+
+ z3 - z0 = z2 - z1 = plus_size * dir 0;
+ z0 - z1 = sign * plus_size * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z1 -- z2 -- z3;
+
+ t := 22/10rule_thickness;
+ r := 1/2plus_size - t;
+
+ draw (centre + sign * 1/6plus_size * dir 90 + r * dir 0)
+ -- (centre + sign * 1/6plus_size * dir 90 + r * dir 180);
+ draw (centre + (r + sign * 1/6plus_size) * dir 90)
+ -- (centre + (r - sign * 1/6plus_size) * dir 270);
+ endchar;
+endfor;
+
+
+% triangles
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(small_op_size#, 1); "small triangle (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw triangle(centre, w/2-side_bearing, alpha);
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(small_op_size#, 1); "small filled triangle (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw triangle(centre, w/2-side_bearing, alpha);
+ fill triangle(centre, w/2-side_bearing, alpha);
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(med_op_size#, 1); "medium triangle (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw triangle(centre, w/2-side_bearing, alpha);
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(large_op_size#, 1); "large triangle (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw triangle(centre, w/2-side_bearing, alpha);
+ endchar;
+endfor;
+
+% circles
+
+beginoperator(4/5small_op_size#, 1); "small circle";
+ pickup rule_pen;
+ draw circle(centre, 4/10small_op_size);
+endchar;
+
+beginoperator(4/5small_op_size#, 1); "small filled circle";
+ pickup rule_pen;
+ draw circle(centre, 4/10small_op_size);
+ fill circle(centre, 4/10small_op_size);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle";
+ pickup rule_pen;
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+endchar;
+
+beginoperator(4/5large_op_size#, 1); "large circle";
+ pickup rule_pen;
+ draw circle(centre, 4/10large_op_size);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle minus";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw (centre + plus_size/2 * left) -- (centre + plus_size/2 * right);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle bar";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw (centre + plus_size/2 * up) -- (centre + plus_size/2 * down);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle slash";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw (centre + plus_size/2 * dir 45) -- (centre + plus_size/2 * dir 225);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle backslash";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw (centre + plus_size/2 * dir 135) -- (centre + plus_size/2 * dir 315);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle plus";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw (centre + plus_size/2 * left) -- (centre + plus_size/2 * right);
+ draw (centre + plus_size/2 * up) -- (centre + plus_size/2 * down);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle times";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw (centre + plus_size/2 * dir 45) -- (centre + plus_size/2 * dir 225);
+ draw (centre + plus_size/2 * dir 135) -- (centre + plus_size/2 * dir 315);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle dot";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ fill circle(centre, 1.3dot_size);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle circle";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw circle(centre, (plus_size + 11/5rule_thickness)/5);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle triangle";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw triangle(centre, small_op_size/2, 90);
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle asterisk";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+
+ penpos a0(4/3rule_thickness, 0 - 7);
+ penpos a1(4/3rule_thickness, 72 - 7);
+ penpos a2(4/3rule_thickness, 144 - 7);
+ penpos a3(4/3rule_thickness, 216 - 7);
+ penpos a4(4/3rule_thickness, 288 - 7);
+
+ penpos b0(2/3rule_thickness, 0 - 7);
+ penpos b1(2/3rule_thickness, 72 - 7);
+ penpos b2(2/3rule_thickness, 144 - 7);
+ penpos b3(2/3rule_thickness, 216 - 7);
+ penpos b4(2/3rule_thickness, 288 - 7);
+
+ reg_poly_points(a)(5, centre, plus_size/2, 77);
+
+ z.b0 = z.b1 = z.b2 = z.b3 = z.b4 = centre;
+
+ fill stroke z.a0e -- z.b0e;
+ fill stroke z.a1e -- z.b1e;
+ fill stroke z.a2e -- z.b2e;
+ fill stroke z.a3e -- z.b3e;
+ fill stroke z.a4e -- z.b4e;
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "medium circle star";
+ pickup rule_pen;
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+
+ reg_poly_points(a)(5, centre, plus_size/2, 90);
+ reg_poly_points(b)(5, centre, plus_size/20, 126);
+
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+ fill z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+endchar;
+
+beginoperator(plus_size# + 11/5rule_thickness#, 1); "negated medium circle";
+ pickup rule_pen;
+
+ r := 3/4(plus_size + 11/5rule_thickness);
+
+ draw circle(centre, plus_size/2 + 11/10rule_thickness);
+ draw (centre + r * dir 45) -- (centre + r * dir 225);
+endchar;
+
+% squares
+
+beginoperator(small_op_size#/sqrt(2), 1); "small square";
+ pickup rule_pen;
+ draw square(centre, w/2 - side_bearing, 0);
+endchar;
+beginoperator(small_op_size#/sqrt(2), 1); "small filled square";
+ pickup rule_pen;
+ draw square(centre, w/2 - side_bearing, 0);
+ fill square(centre, w/2 - side_bearing, 0);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square";
+ pickup rule_pen;
+ draw square(centre, w/2 - side_bearing, 0);
+endchar;
+beginoperator(large_op_size#/sqrt(2), 1); "large square";
+ pickup rule_pen;
+ draw square(centre, w/2 - side_bearing, 0);
+endchar;
+
+beginoperator(small_op_size#, 1); "small diamond";
+ pickup rule_pen;
+ draw square(centre, (w/2 - side_bearing) / sqrt(2), 45);
+endchar;
+beginoperator(small_op_size#, 1); "small filled diamond";
+ pickup rule_pen;
+ draw square(centre, (w/2 - side_bearing) / sqrt(2), 45);
+ fill square(centre, (w/2 - side_bearing) / sqrt(2), 45);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond";
+ pickup rule_pen;
+ draw square(centre, (w/2 - side_bearing) / sqrt(2), 45);
+endchar;
+beginoperator(large_op_size#, 1); "large diamond";
+ pickup rule_pen;
+ draw square(centre, (w/2 - side_bearing) / sqrt(2), 45);
+endchar;
+
+beginoperator(med_op_size#/sqrt(2), 1); "medium square minus";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ draw (centre + sqrt .5 * r * dir 0) -- (centre + sqrt .5 * r * dir 180);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square vert";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ draw (centre + sqrt .5 * r * dir 90) -- (centre + sqrt .5 * r * dir 270);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square slash";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ draw (centre + r * dir 45) -- (centre + r * dir 225);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square backslash";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ draw (centre + r * dir 135) -- (centre + r * dir 315);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square plus";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ draw (centre + sqrt .5 * r * dir 0) -- (centre + sqrt .5 * r * dir 180);
+ draw (centre + sqrt .5 * r * dir 90) -- (centre + sqrt .5 * r * dir 270);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square times";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ draw (centre + r * dir 45) -- (centre + r * dir 225);
+ draw (centre + r * dir 135) -- (centre + r * dir 315);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square dot";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ fill circle(centre, 1.3dot_size);
+endchar;
+beginoperator(med_op_size#/sqrt(2), 1); "medium square square";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r, 0);
+ draw square(centre, .4r, 0);
+endchar;
+
+beginoperator(med_op_size#, 1); "medium diamond minus";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ draw (centre + r * dir 0) -- (centre + r * dir 180);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond vert";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ draw (centre + r * dir 90) -- (centre + r * dir 270);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond slash";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ draw (centre + sqrt .5 * r * dir 45) -- (centre + sqrt .5 * r * dir 225);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond backslash";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ draw (centre + sqrt .5 * r * dir 135) -- (centre + sqrt .5 * r * dir 315);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond plus";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ draw (centre + r * dir 0) -- (centre + r * dir 180);
+ draw (centre + r * dir 90) -- (centre + r * dir 270);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond times";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ draw (centre + sqrt .5 * r * dir 45) -- (centre + sqrt .5 * r * dir 225);
+ draw (centre + sqrt .5 * r * dir 135) -- (centre + sqrt .5 * r * dir 315);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond dot";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ fill circle(centre, 1.3dot_size);
+endchar;
+beginoperator(med_op_size#, 1); "medium diamond diamond";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ draw square(centre, r / sqrt(2), 45);
+ draw square(centre, .4r, 45);
+endchar;
+
+beginoperator(small_op_size#, 1); "small star";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(5, centre, r, 90);
+ reg_poly_points(b)(5, centre, .4r, 126);
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+endchar;
+beginoperator(small_op_size#, 1); "small filled star";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(5, centre, r, 90);
+ reg_poly_points(b)(5, centre, .4r, 126);
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+ fill z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+endchar;
+beginoperator(med_op_size#, 1); "medium star";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(5, centre, r, 90);
+ reg_poly_points(b)(5, centre, .4r, 126);
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+endchar;
+beginoperator(large_op_size#, 1); "large star";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(5, centre, r, 90);
+ reg_poly_points(b)(5, centre, .4r, 126);
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+endchar;
+beginoperator(med_op_size#, 1); "medium pentagram";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(5, centre, r, 90);
+ draw z.a0 -- z.a2 -- z.a4 -- z.a1 -- z.a3 -- cycle;
+endchar;
+beginoperator(large_op_size#, 1); "large pentagram";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(5, centre, r, 90);
+ draw z.a0 -- z.a2 -- z.a4 -- z.a1 -- z.a3 -- cycle;
+endchar;
+
+beginoperator(small_op_size#, 1); "medium thin filled star";
+ pickup pencircle scaled 1/2rule_thickness;
+
+ r := w/2 - side_bearing;
+
+ reg_poly_points(a)(5, centre, r, 90);
+ reg_poly_points(b)(5, centre, .2r, 126);
+
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+ fill z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+endchar;
+
+beginoperator(small_op_size#, 1); "asterisk";
+ r := w/2 - side_bearing;
+
+ penpos a0(4/3rule_thickness, 0 - 7);
+ penpos a1(4/3rule_thickness, 72 - 7);
+ penpos a2(4/3rule_thickness, 144 - 7);
+ penpos a3(4/3rule_thickness, 216 - 7);
+ penpos a4(4/3rule_thickness, 288 - 7);
+
+ penpos b0(2/3rule_thickness, 0 - 7);
+ penpos b1(2/3rule_thickness, 72 - 7);
+ penpos b2(2/3rule_thickness, 144 - 7);
+ penpos b3(2/3rule_thickness, 216 - 7);
+ penpos b4(2/3rule_thickness, 288 - 7);
+
+ reg_poly_points(a)(5, centre, r, 77);
+
+ z.b0 = z.b1 = z.b2 = z.b3 = z.b4 = centre;
+
+ fill stroke z.a0e -- z.b0e;
+ fill stroke z.a1e -- z.b1e;
+ fill stroke z.a2e -- z.b2e;
+ fill stroke z.a3e -- z.b3e;
+ fill stroke z.a4e -- z.b4e;
+endchar;
+
+for alpha = 0, 45, 90, 135:
+ beginsymbol(2order_width# * abs (cosd (alpha)) + 5/3equal_spread# * abs (sind (alpha)) + 2side_bearing#,
+ vcentre(2order_width# * abs (sind (alpha)) + 5/3equal_spread# * abs (cosd (alpha)) + rule_thickness#));
+ "infinity";
+ pickup rule_pen;
+
+ pair centre;
+ centre := (w/2, (h-d)/2);
+
+ z0 = centre - (order_width - 1/2rule_thickness) * dir alpha;
+ z1 = centre + (order_width - 1/2rule_thickness) * dir alpha;
+
+ z6 = 1/5[z0,z1];
+ z7 = 4/5[z0,z1];
+
+ z2 = z6 + 5/6equal_spread * dir (alpha + 90);
+ z3 = z6 - 5/6equal_spread * dir (alpha + 90);
+ z4 = z7 + 5/6equal_spread * dir (alpha + 90);
+ z5 = z7 - 5/6equal_spread * dir (alpha + 90);
+
+ draw z4{dir (alpha + 180)}
+ .. {dir (alpha + 225)}1/2[z0,z1]{dir (alpha + 225)}
+ .. {dir (alpha + 180)}z3{dir (alpha + 180)}
+ .. {dir (alpha + 90)}z0{dir (alpha + 90)}
+ .. {dir (alpha + 0)}z2{dir (alpha + 0)}
+ .. {dir (alpha + -45)}1/2[z0,z1]{dir (alpha + -45)}
+ .. {dir (alpha + 0)}z5{dir (alpha + 0)}
+ .. {dir (alpha + 90)}z1{dir (alpha + 90)}
+ .. cycle;
+ labels (0,1,2,3,4,5,6,7);
+ endchar;
+endfor
+
+for alpha = 0, 90, 180, 270:
+ beginsymbol(17/10order_width# * abs (cosd (alpha)) + 5/3equal_spread# * abs (sind (alpha)) + 2side_bearing#,
+ vcentre(17/10order_width# * abs (sind (alpha)) + 5/3equal_spread# * abs (cosd (alpha)) + rule_thickness#));
+ "proportional";
+ pickup rule_pen;
+
+ pair centre;
+ centre := (w/2, (h-d)/2);
+
+ z0 = centre - (17/20order_width - 1/2rule_thickness) * dir alpha;
+ z1 = centre + (15/20order_width - 1/2rule_thickness) * dir alpha;
+
+ z4 = z1 + 5/6equal_spread * dir (alpha + 90);
+ z5 = z1 - 5/6equal_spread * dir (alpha + 90);
+
+ z6 - z4 = z7 - z5 = 1/10order_width * dir alpha;
+
+ z8 = 1/4[z0,z1];
+
+ z2 = z8 + 5/6equal_spread * dir (alpha + 90);
+ z3 = z8 - 5/6equal_spread * dir (alpha + 90);
+
+ draw z6 -- z4{dir (alpha + 180)}
+ .. {dir (alpha + 225)}5/8[z0,z1]{dir (alpha + 225)}
+ .. {dir (alpha + 180)}z3{dir (alpha + 180)}
+ .. {dir (alpha + 90)}z0{dir (alpha + 90)}
+ .. {dir (alpha + 0)}z2{dir (alpha + 0)}
+ .. {dir (alpha + -45)}5/8[z0,z1]{dir (alpha + -45)}
+ .. {dir (alpha + 0)}z5 -- z7;
+ labels (0,1,2,3,4,5,6,7);
+ endchar;
+endfor;
+
+for alpha = 0, 45, 90, 135:
+ beginsymbol(14/10order_width# * abs (cosd (alpha)) + 5/3equal_spread# * abs (sind (alpha)) + 2side_bearing#,
+ vcentre(14/10order_width# * abs (sind (alpha)) + 5/3equal_spread# * abs (cosd (alpha)) + rule_thickness#));
+ "crossing";
+ pickup rule_pen;
+
+ pair centre;
+ centre := (w/2, (h-d)/2);
+
+ z0 = centre - (14/20order_width - 1/2rule_thickness) * dir alpha;
+ z1 = centre + (14/20order_width - 1/2rule_thickness) * dir alpha;
+
+ z2 = z0 + 5/6equal_spread * dir (alpha + 90);
+ z3 = z0 - 5/6equal_spread * dir (alpha + 90);
+ z4 = z1 + 5/6equal_spread * dir (alpha + 90);
+ z5 = z1 - 5/6equal_spread * dir (alpha + 90);
+
+ z6 - z4 = z7 - z5 = 1/10order_width * dir alpha;
+ z2 - z8 = z3 - z9 = 1/10order_width * dir alpha;
+
+ draw z6 -- z4{dir (alpha + 180)}
+ .. {dir (alpha + 225)}1/2[z0,z1]{dir (alpha + 225)}
+ .. {dir (alpha + 180)}z3 -- z9;
+ draw z8 -- z2{dir (alpha + 0)}
+ .. {dir (alpha + -45)}1/2[z0,z1]{dir (alpha + -45)}
+ .. {dir (alpha + 0)}z5 -- z7;
+ labels (0,1,2,3,4,5,6,7,8,9);
+ endchar;
+endfor;
+
+beginoperator(med_op_size#, 1); "between";
+ pickup rule_pen;
+
+ r := w/2 - side_bearing;
+
+ draw smile( 1, centre - r * dir 90, centre + r * dir 90, equal_spread, true);
+ draw smile(-1, centre - r * dir 90, centre + r * dir 90, equal_spread, true);
+endchar;
+
+beginoperator(med_op_size#, 1); "reversed between";
+ pickup rule_pen;
+
+ r := w/2 - side_bearing;
+
+ draw smile( 1, centre - 2/3equal_spread * dir 0 - r * dir 90,
+ centre - 2/3equal_spread * dir 0 + r * dir 90,
+ 2/3equal_spread, true);
+ draw smile(-1, centre + 2/3equal_spread * dir 0 - r * dir 90,
+ centre + 2/3equal_spread * dir 0 + r * dir 90,
+ 2/3equal_spread, true);
+endchar;
+
+for sign = 1, -1:
+ beginsymbol(order_width# + 2side_bearing#, 2math_axis# + rule_thickness#, rule_thickness#); "top";
+ pickup rule_pen;
+
+ z1 - z0 = z3 - z2 = order_width * dir 0;
+ z2 - z0 = sign * 2math_axis * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = (w/2, (h-d)/2);
+
+ draw z0 -- z1;
+ draw 1/2[z0,z1] -- 1/2[z2,z3];
+ endchar;
+endfor;
+
+beginsymbol(2/3equal_spread# + 2side_bearing#, vcentre(plus_size#+rule_thickness#)); "wreath";
+ pickup rule_pen;
+
+ z0 = (w/2, (h-d)/2);
+
+ draw sim(z0 + 1/2plus_size * dir 90, z0 - 1/2plus_size * dir 90);
+endchar;
+
+beginoperator(med_op_size#, 1); "angle";
+ pickup rule_pen;
+
+ z0 = centre - 1/3plus_size * dir 90;
+
+ z1 = z0 + 1/2plus_size * dir 0;
+ z2 = z0 - 1/2plus_size * dir 0;
+ x3 = xpart centre + 1/2plus_size;
+ y3 = ypart centre + 2/3plus_size;
+
+ draw z1 -- z2 -- 5/6[z2,z3];
+endchar;
+
+beginoperator(med_op_size#, 1); "measured angle";
+ pickup rule_pen;
+
+ z0 = centre - 1/3plus_size * dir 90;
+
+ z1 = z0 + 1/2plus_size * dir 0;
+ z2 = z0 - 1/2plus_size * dir 0;
+ x3 = xpart centre + 1/2plus_size;
+ y3 = ypart centre + 2/3plus_size;
+
+ z4 = 2/3 [z2,z1];
+ z5 = z2 + (z4 - z2) rotated angle (z3 - z2);
+
+ draw z1 -- z2 -- 5/6[z2,z3];
+ draw z4{dir 90} .. {dir (angle (z3 - z2) + 90)}z5;
+endchar;
+
+beginoperator(med_op_size#, 1); "spherical angle";
+ pickup rule_pen;
+
+ z0 = centre - 1/2plus_size * dir 0;
+
+ z1 = z0 + plus_size * dir 25;
+ z2 = z0 + plus_size * dir -25;
+ z3 = z0 + 2/3plus_size * dir 25;
+ z4 = z0 + 2/3plus_size * dir -25;
+
+ draw z1 -- z0 -- z2;
+ draw z4{dir 65} .. {dir 115}z3;
+endchar;
+
+beginsymbol(5.5u#, 4/5asc_height#, 0); "prime";
+ pickup penrazor;
+
+ z0 = (w, h);
+
+ z1 = z0 + 7/3u * dir 183;
+
+ z2 = (1u, 1/9h);
+ z3 = z2 + u * dir -20;
+
+ fill z0 -- z1 -- z2 -- z3 -- cycle;
+endchar;
+
+beginsymbol(5.5u#, 4/5asc_height#, 0); "backprime";
+ pickup penrazor;
+
+ z0 = (0, h);
+
+ z1 = z0 + 7/3u * dir -3;
+
+ z2 = (w - 1u, 1/9h);
+ z3 = z2 + u * dir 200;
+
+ fill z0 -- z1 -- z2 -- z3 -- cycle;
+endchar;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "product";
+ draw_product(centre, plus_size, plus_size, sign, rule_thickness);
+ endchar;
+endfor;
+
+beginsymbol(13u# + 2side_bearing#, asc_height#, 0); "check mark";
+ pickup pencircle
+ xscaled 3/2rule_thickness
+ yscaled 3/4rule_thickness
+ rotated 30;
+
+ lft x1 = hround(1.5u);
+ x2 = hround(w/3);
+ x3 = w - x1;
+ x4 = w - 3/2x2;
+
+ y1 = math_axis;
+ y2 = -d;
+ y3 = y4 = h;
+
+ draw z1 -- z2{z4 - z2} .. z3;
+
+ penlabels(1,2,3,4);
+endchar;
+
+beginsymbol(6u# + 2side_bearing#, 5/4asc_height#, 1/8asc_height#); "lightning";
+
+ penpos1 (2rule_thickness, -20);
+ penpos4 (5/6rule_thickness, -20);
+
+ x3r = w - side_bearing;
+ x2l = side_bearing;
+ x4 = 1/4w;
+
+ y1l = h;
+ y3r = 14/24h;
+ y4 = -d + 1/2rule_thickness;
+
+ z2'l = z2l;
+ z3'r = z3r;
+
+ z3'l = z2l + whatever * dir 15;
+ z2'r = z3r + whatever * dir 15;
+
+ z2r - z2l = 3/2rule_thickness * dir 15;
+ z3r - z3l = 2rule_thickness * dir 15;
+ z3'l = z3r + rule_thickness * dir (angle (z4r - z3r));
+
+ z1l - z2l = whatever * (z4r - z3r);
+ z2'r = whatever[z1l,z2l];
+
+ fill stroke z1e -- z2e -- z2'e -- z3'e -- z3e -- z4e;
+
+ pickup rule_pen;
+
+ draw arrowhead(z4, angle (z4l - z3l), 4/5arrow_spread);
+
+ penlabels(1,2,2',3',3,4);
+endchar;
+
+beginsymbol(11u#, 1/2[x_height#,asc_height#], 0)
+ "diamond suit";
+
+ x0 = x2 = w/2;
+ 1/2[y0,y2] = h/2;
+ y2 - y0 = h;
+
+ 1/2[x1,x3] = w/2;
+ x3 - x1 = w - 2side_bearing;
+ y1 = y3 = h/2;
+
+ pickup pencircle scaled rule_thickness;
+
+ draw z0{dir (90+30)} .. {dir (180-30)}z1{dir (0+30)}
+ .. {dir (90-30)}z2{dir (270+30)}
+ .. {dir (0-30)}z3{dir (180+30)}
+ .. {dir (270-30)}z0 & cycle;
+endchar;
+
+beginsymbol(11u#, 1/2[x_height#,asc_height#], 0)
+ "heart suit";
+
+ x0 = x1 = w/2;
+ y0 = 0;
+
+ 1/2[x2,x3] = w/2;
+ x3 - x2 = w - 2side_bearing;
+
+ y1 = y2 = y3;
+
+ x4 = 1/2[x1,x2];
+ x5 = 1/2[x1,x3];
+
+ y4 = y5 = h;
+
+ h - y1 = x4 - x2;
+
+ pickup pencircle scaled rule_thickness;
+
+ draw z0{dir (90+20)} .. z2 .. z4 .. {dir (270+20)}z1{dir (90-20)} .. z5 .. z3 .. {dir (270-20)}z0 & cycle;
+endchar;
+
+beginsymbol(11u#, 1/2[x_height#,asc_height#], 0)
+ "spade suit";
+
+ x0 = x1 = w/2;
+ y0 = h + 1/2rule_thickness;
+
+ 1/2[x2,x3] = w/2;
+ x3 - x2 = w - 2side_bearing;
+
+ y2 = y3;
+
+ x4 = 1/2[x1,x2];
+ x5 = 1/2[x1,x3];
+
+ y4 = y5 = 1/6h;
+
+ y2 - y4 = x4 - x2;
+
+ y1 = 1/3[y2,y4];
+
+ x6 = x0;
+ y6 = 0;
+ penpos1(1/2rule_thickness, 0);
+ penpos6(3/2rule_thickness, 0);
+
+ pickup pencircle scaled rule_thickness;
+
+ fill z0{dir (270-20)} .. z2 .. z4 .. {dir (90-20)}(z1 + 1/2rule_thickness*left)
+ -- (z1 + 1/2rule_thickness*right){dir (270+20)} .. z5 .. z3 .. {dir (90+20)}z0 -- cycle;
+
+ fill stroke z1e -- z6e;
+
+ labels (0,1,2,3,4,5,6);
+endchar;
+
+beginsymbol(11u#, 1/2[x_height#,asc_height#], 0)
+ "club suit";
+
+ radius := 5/11(w - 4side_bearing);
+
+ x0 = w/2;
+ y0 = h - 2.5radius;
+
+ x1 = w - x3 = 3/5x0;
+ y1 = y3 = y0;
+ x2 = x4 = x0;
+ y2 = h - radius;
+ y4 = 0;
+
+ penpos0(2/3rule_thickness, 0);
+ penpos1(2/3rule_thickness, 90);
+ penpos2(2/3rule_thickness, 0);
+ penpos3(2/3rule_thickness, 90);
+ penpos4(3/2rule_thickness, 0);
+
+ fill circle(z1, radius);
+ fill circle(z2, radius);
+ fill circle(z3, radius);
+
+ fill stroke z2e -- z0e{down} .. z4e;
+ fill stroke z1e -- z3e;
+
+ labels (0,1,2,3,4);
+endchar;
+
+beginsymbol(5/4order_width# + 2side_bearing#, asc_height#, 0);
+ "forall";
+ pickup rule_pen;
+
+ lft x0 = side_bearing;
+ rt x1 = w - side_bearing;
+ x2 = w/2;
+
+ top y0 = top y1 = h;
+ bot y2 = 0;
+
+ z4 = whatever [z0,z2];
+ z5 = whatever [z1,z2];
+
+ y4 = y5 = x_height;
+
+ draw z0 -- z2 -- z1;
+
+ pickup pencircle scaled 8/9rule_thickness;
+
+ draw z4 -- z5;
+endchar;
+
+for negated = 0, 1:
+ beginsymbol(order_width# + 2side_bearing#,
+ if negated = 0: asc_height# else: asc_height# + 2/3equal_spread# fi,
+ if negated = 0: 0 else: 2/3equal_spread# fi);
+ "exists";
+
+ pickup rule_pen;
+
+ lft x0 = lft x2 = side_bearing;
+ rt x1 = rt x3 = w - side_bearing;
+
+ top y0 = top y1 = asc_height;
+ bot y2 = bot y3 = 0;
+
+ z4 = 1/8[1/2[z0,z2], 1/2[z1,z3]];
+
+ draw z0 -- z1 -- z3 -- z2;
+ draw z4 -- 1/2[z1,z3];
+
+ if negated = 1:
+ stroke_through(1/2[1/2[z0,z2], 1/2[z1,z3]], h + d - stroke_through_thickness)
+ fi;
+ endchar;
+endfor;
+
+beginsymbol(3/2order_width# + 2side_bearing#, vcentre(med_op_size#)); "nabla";
+ pickup pencircle scaled 2/3rule_thickness;
+
+ top y0 = top y1 = h;
+ bot y2 = -d;
+
+ x0 = side_bearing;
+ x1 = w - side_bearing;
+ x2 = w/2;
+
+ y3 = y4 = y0 - 2/3rule_thickness;
+
+ z3 = whatever[z0,z2];
+ z4 = whatever[z1,z2];
+ z5 = whatever[z0,z1];
+ z6 = whatever[z1,z2];
+
+ x5 - x0 = -2/3rule_thickness / sind (angle (z2 - z0));
+
+ z6 = z5 + whatever * (z2 - z0);
+
+ draw z0 -- z1 -- z2 -- cycle;
+ filldraw z0 -- z3 -- z4 -- z1 -- cycle;
+ filldraw z0 -- z5 -- z6 -- z2 -- cycle;
+endchar;
+
+beginsymbol(2order_width# + 2side_bearing#, x_height#, 0); "infinity";
+ pickup rule_pen;
+
+ lft x0 = side_bearing;
+ rt x1 = w - side_bearing;
+
+ top y2 = top y4 = h;
+ bot y3 = bot y5 = d + rule_thickness;
+
+ y0 = y1 = 1/2[y2,y3];
+
+ x2 = x3 = 1/5[x0,x1];
+ x4 = x5 = 4/5[x0,x1];
+
+ penpos0 (rule_thickness, 180);
+ penpos1 (rule_thickness, 180);
+ penpos2 (3/2rule_thickness * cosd 30, 75);
+ penpos5 (3/2rule_thickness * cosd 30, 75);
+ penpos6 (3/2rule_thickness, 45);
+ penpos7 (3/2rule_thickness, 45);
+ penpos8 (3/2rule_thickness, 45);
+ penpos9 (6/5rule_thickness, 135);
+ penpos10(6/6rule_thickness, 135);
+
+ z6 = 1/2[z0,z1];
+
+ z7 = point 1/3 of (z2{right} .. {dir -45}z6);
+ z8 = point 2/3 of (z6{dir -45} .. {right}z5);
+ z9 = point 7/12 of (z0{up} .. {right}z2);
+ z10 = point 5/12 of (z5{right} .. {up}z1);
+
+ fill stroke z0e{up} .. {dir 45}z9e .. z2e{right} .. z7e
+ .. {dir -45}z6e .. z8e .. {right}z5e .. {dir 45}z10e .. {up}z1e;
+
+ draw z1{dir 90} .. z4{dir 180} .. {dir 225}z6{dir 225} .. {dir 180}z3{dir 180}
+ .. {dir 90}z0;
+ penlabels(0,1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginsymbol(1/2order_width# + 2side_bearing#,
+ asc_height# + 2/3rule_thickness#,
+ 2/3rule_thickness#);
+ "small integral";
+
+ pair centre;
+ centre := (w/2, (h - d)/2);
+
+ draw_integral([0])(1/2, centre);
+endchar;
+
+beginsymbol(order_width#, asc_height#, 0)
+ "flat";
+
+ x0 = x1 = x4 = side_bearing + rule_thickness;
+ y0 = 0; y1 = h;
+ x3 = w - side_bearing;
+
+ y3 = 0.45[y0,y1];
+
+ y4 = 4/5x_height;
+
+ penpos0(rule_thickness, 10);
+ penpos1(rule_thickness, 10);
+ penpos3(rule_thickness, 0);
+
+ fill stroke z0e -- z1e;
+
+ pickup pencircle scaled rule_thickness;
+
+ draw z0{dir 40} .. {up}z3 .. {dir 230}z4;
+
+ penlabels (0,1,3,4);
+ endchar;
+
+beginsymbol(order_width#, asc_height#, 0)
+ "natural";
+
+ x0 = x1 = w - x2 = w - x3 = side_bearing + 1/2rule_thickness;
+ x4 = x5 = w - x6 = w - x7 = side_bearing;
+
+ y1 = y3 = h;
+ y7 = x_height;
+ y6l = 0;
+ y0 = y2 = -h/3;
+
+ z6 = z4 + whatever * dir 15;
+ z5 = z7 + whatever * dir 15;
+
+ z8 = whatever[z0,z1] = whatever[z4,z6];
+ z9 = whatever[z2,z3] = whatever[z5,z7];
+
+ x10 = x0l;
+ x11 = x0l;
+ x12 = x2r;
+ x13 = x2r;
+
+ z10 = whatever[z4,z6];
+ z11 = whatever[z5,z7];
+ z12 = whatever[z4,z6];
+ z13 = whatever[z5,z7];
+
+ penpos0(rule_thickness, 10);
+ penpos1(rule_thickness, 10);
+ penpos2(rule_thickness, 10);
+ penpos3(rule_thickness, 10);
+ penpos4(5/4rule_thickness, 90);
+ penpos5(5/4rule_thickness, 90);
+ penpos6(5/4rule_thickness, 90);
+ penpos7(5/4rule_thickness, 90);
+ penpos8 (rule_thickness, 10);
+ penpos9 (rule_thickness, 10);
+ penpos10(5/4rule_thickness, 90);
+ penpos11(5/4rule_thickness, 90);
+ penpos12(5/4rule_thickness, 90);
+ penpos13(5/4rule_thickness, 90);
+
+ fill stroke z1e -- z8e;
+ fill stroke z9e -- z2e;
+ fill stroke z10e -- z12e;
+ fill stroke z11e -- z13e;
+
+ penlabels (0,1,2,3,4,5,6,7);
+ endchar;
+
+beginsymbol(order_width#, asc_height#, 0)
+ "sharp";
+
+ x0 = x1 = w - x2 = w - x3 = side_bearing + rule_thickness;
+
+ x4 = x5 = w - x6 = w - x7 = side_bearing;
+
+ y3 = h;
+ y7 = x_height;
+ y6l = 0;
+ y0 = -h/3;
+
+ z2 = z0 + whatever * dir 20;
+ z1 = z3 + whatever * dir 20;
+ z6 = z4 + whatever * dir 15;
+ z5 = z7 + whatever * dir 15;
+
+ penpos0(rule_thickness, 10);
+ penpos1(rule_thickness, 10);
+ penpos2(rule_thickness, 10);
+ penpos3(rule_thickness, 10);
+ penpos4(5/4rule_thickness, 90);
+ penpos5(5/4rule_thickness, 90);
+ penpos6(5/4rule_thickness, 90);
+ penpos7(5/4rule_thickness, 90);
+
+ fill stroke z0e -- z1e;
+ fill stroke z2e -- z3e;
+ fill stroke z4e -- z6e;
+ fill stroke z5e -- z7e;
+
+ penlabels (0,1,2,3,4,5,6,7);
+endchar;
+
+beginsymbol(11u#, 0.85asc_height#, 0); "aleph";
+
+ pickup pencircle scaled 2/3rule_thickness;
+
+ penpos 1(0, 65);
+ penpos 2(rule_thickness, 65);
+ penpos 3(rule_thickness, 65);
+ penpos 4(0, 65);
+ penpos 5(rule_thickness, 65);
+ penpos 6(rule_thickness, 65);
+ penpos 7(rule_thickness, 65);
+ penpos 8(rule_thickness, 65);
+ penpos 9(rule_thickness, 65);
+ penpos10(rule_thickness, 65);
+ penpos11(rule_thickness, 65);
+ penpos12(rule_thickness, 65);
+ penpos13(rule_thickness, 65);
+
+ x1l = side_bearing;
+ x4r = w - side_bearing;
+ y1r = h;
+ y4l = 0;
+
+ x2 - x1 = x4 - x3 = ceiling (u/2);
+ y1 - y2 = y3 - y4 = 2rule_thickness;
+ 1/2[z2,z3] = (w/2,h/2);
+
+ z5 = 0.24[z2,z3];
+ z6 = 0.60[z2,z3];
+
+ x7 = x8 = x2;
+ x9 = x5;
+ y7 = min (y6, y5 - 3/2rule_thickness);
+ bot y8l = bot y9l = 0;
+
+ x10 = x11 = 0.85[x2,x3];
+ y10 = max (y5, y6 + 3/2rule_thickness);
+
+ x12 = x3 + 2/3rule_thickness;
+ x13 = 1/4[x6,x10];
+
+ top y13r = h;
+ z12 = z13 + whatever * (z3-z2);
+ z11 = z13 + whatever * (z3-z2);
+
+ y11r := y11; % prevent the stroke from sticking out at the other side
+
+ filldraw stroke z1e{down} ... {z3e-z2e}z2e -- z3e{z3e-z2e} ... {down}z4e;
+ filldraw stroke z12e -- z13e;
+
+ alpha := angle (z5 - z7);
+ beta := (alpha + 90)/2;
+ penpos5'(3/2rule_thickness * abs cosd (155 - alpha), alpha - 90);
+ penpos7'(3/2rule_thickness * abs cosd (155 - beta), beta - 90);
+ z5' = z5;
+ z7' = z7;
+
+ % We don't need a filldraw since the stroke is that thin.
+ % A filldraw might cause "Strange path" errors in low resolutions.
+
+ draw stroke z5'e{-dir alpha} .. {-dir beta}z7'e -- z8e;
+ filldraw stroke z8e -- z9e;
+
+ alpha := angle (z10 - z6);
+ beta := (alpha + 90)/2;
+ penpos 6'(3/2rule_thickness * abs cosd (155 - alpha), alpha - 90);
+ penpos10'(3/2rule_thickness * abs cosd (155 - beta), beta - 90);
+ z6' = z6;
+ z10' = z10;
+
+ draw stroke z6'e{dir alpha} .. {dir beta}z10'e -- z11e;
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,5',7');
+endchar;
+
+beginsymbol(11u#, 0.85asc_height#, 0); "beth";
+
+ pickup pencircle scaled 2/3rule_thickness;
+
+ penpos1(0, 65);
+ penpos2(rule_thickness, 65);
+ penpos3(rule_thickness, 65);
+ penpos4(rule_thickness, 65);
+ penpos5(rule_thickness, 65);
+ penpos6(rule_thickness, 65);
+ penpos7(rule_thickness, 65);
+
+ x1l = side_bearing + rule_thickness;
+ y1r = h;
+ x2 - x1 = ceiling (u/2);
+ y1 - y2 = 3/2rule_thickness;
+ y3 = y2;
+
+ x3 = w - x2;
+ bot y5l = 0;
+
+ x4r = w - side_bearing;
+ y3l - y4 = y1 - y2r;
+
+ x5 = x4;
+
+ x6 = w - x7l = side_bearing;
+ y6 = y7 = y5;
+
+ filldraw stroke z1e{down} ... {z3e-z2e}z2e -- z3e{z3e-z2e} ... {down}z4e -- z5e;
+ filldraw stroke z6e -- z7e;
+
+ penlabels(1,2,3,4,5,6,7);
+endchar;
+
+beginsymbol(7u#, 0.85asc_height#, 0); "gimel";
+
+ pickup pencircle scaled 2/3rule_thickness;
+
+ penpos1(0, 65);
+ penpos2(rule_thickness, 65);
+ penpos3(rule_thickness, 65);
+ penpos4(rule_thickness, 65);
+ penpos5(rule_thickness, 65);
+ penpos6(rule_thickness, 65);
+ penpos7(rule_thickness, 65);
+ penpos8(rule_thickness, 65);
+
+ x1l = side_bearing + rule_thickness;
+ y1r = h;
+ x2 - x1 = ceiling (u/2);
+ y1 - y2 = 3/2rule_thickness;
+
+ z3 = z2 + whatever * dir -25;
+
+ x3 = w - x2;
+
+ x4r = w - side_bearing - 1/3rule_thickness;
+ y3l - y4 = y1 - y2r;
+
+ x5 = x4;
+ x6 = w - side_bearing;
+
+ y5l = y8r;
+ bot y6l = 0;
+
+ x7 = side_bearing;
+ rt x8r = lft x5l;
+ y7 = y8 = y6;
+
+ filldraw stroke z1e{down} ... {z3e-z2e}z2e -- z3e{z3e-z2e} ... {down}z4e -- z5e .. z6e;
+ filldraw stroke z7e -- z8e;
+
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+beginsymbol(11u#, 0.85asc_height#, 0); "daleth";
+
+ pickup pencircle scaled 2/3rule_thickness;
+
+ penpos1(0, 65);
+ penpos2(rule_thickness, 65);
+ penpos3(rule_thickness, 65);
+ penpos4(1/2rule_thickness, 65);
+ penpos5(rule_thickness, 65);
+
+ x1l = side_bearing;
+ y1r = h;
+ x2 - x1 = ceiling (u/2);
+ y1 - y2 = 3/2rule_thickness;
+ y2 = y3 = y4;
+
+ x3 = w - side_bearing;
+ x4 = x3 - 3/2rule_thickness;
+ y5 = 0;
+ x5l = x4l;
+
+
+ filldraw stroke z1e{down} ... {z3e-z2e}z2e -- z3e{z3e-z2e};
+ filldraw stroke z4e{down} ... z5e;
+
+ penlabels(1,2,3,4,5);
+endchar;
+
+
+begingroup;
+
+save slant;
+save currenttransform;
+
+slant := 0.212557;
+
+transform currenttransform;
+
+currenttransform := identity slanted slant yscaled aspect_ratio scaled granularity shifted (-u,0);
+
+beginsymbol(11u#, x_height#, 8/25asc_height#);
+ "Weierstrass p";
+
+ pickup pencircle scaled 1/2rule_thickness;
+
+ numeric theta;
+ theta = 90-angle(8u,h);
+ slope := -h/8u; % angle at middle
+ superness := 1/sqrt 2;
+ superpull := 1/6;
+
+ penpos2(1/2rule_thickness, -90);
+ penpos1(5/6rule_thickness,theta);
+ penpos7(1/2rule_thickness, -90);
+
+ x2 + .5u = x1 = x7 - .5u = 3u;
+ top y2l = h;
+ bot y7r = -d;
+ y1 = .4[-d, h];
+
+ lft x3l = hround .5u;
+ rt x6r = hround max(rt x7 + .5, .5w - .25u);
+
+ x3r - x3l = x6r - x6l = (hround 3/4rule_thickness) - 1/10rule_thickness;
+
+ ellipse_set(2l,3l,4l,1l);
+ ellipse_set(2r,3r,4r,1r);
+ ellipse_set(7l,6l,5l,1l);
+ ellipse_set(7r,6r,5r,1r);
+
+ y3 = y3r;
+ y6 = y6r;
+
+ filldraw stroke super_arc.e(2,3) & z3e{down} .. z4e --- z5e .. z6e{down} & super_arc.e(6,7); % flourish
+
+ penpos8(1/2rule_thickness, 180);
+ penpos9(1/2rule_thickness, 90);
+ penpos10(rule_thickness, 0);
+ penpos11(1/2rule_thickness, -90);
+ penpos12(1/2rule_thickness, -180);
+ penpos13(5/7rule_thickness, -180);
+
+ rt x10r = hround(w - 1.5u + 1/2rule_thickness);
+ lft x12r = hround(.5w - .5u);
+ rt x8l = hround 2.25u;
+ x9 = x11 = max(x12l + eps, .5w + 1.5u);
+ y8 = 0;
+ top y9r = vround .95h;
+ y10 = .5[y9,y11];
+ bot y11r = y8;
+
+ filldraw stroke z7e{left} ... z8e{up} ... pulled_arc.e(9,10) & pulled_arc.e(10,11); % stem and bowl
+
+ y13 - 5/7rule_thickness = .15h;
+ bulb(11,12,13); % bulb
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginsymbol(11u#, 11/10asc_height#, 1/10asc_height#);
+ "powerset";
+
+ pickup pencircle scaled 1/2rule_thickness;
+
+ numeric theta;
+ theta = 90 - angle(12/7*8u, h);
+ slope := -h/(12/7*8u); % angle at middle
+ superness := 1/sqrt 2;
+ superpull := 1/6;
+
+ penpos2(1/2rule_thickness, -90);
+ penpos1(rule_thickness,theta);
+ penpos7(1/2rule_thickness, -90);
+
+ x2 + .5u = x1 = x7 - .5u = 3u;
+ top y2l = h;
+ bot y7r = -d;
+ y1 = .4h;
+
+ lft x3l = hround .5u;
+ rt x6r = hround max(rt x7 + .5, .5w - .25u);
+
+ x3r - x3l = x6r - x6l = (hround 3/4rule_thickness) - 1/10rule_thickness;
+
+ ellipse_set(2l,3l,4l,1l);
+ ellipse_set(2r,3r,4r,1r);
+ ellipse_set(7l,6l,5l,1l);
+ ellipse_set(7r,6r,5r,1r);
+
+ y3 = y3r;
+ y6 = y6r;
+
+ filldraw stroke super_arc.e(2,3) & z3e{down} .. z4e --- z5e .. z6e{down} & super_arc.e(6,7); % flourish
+
+ penpos8(1/2rule_thickness, 180);
+ penpos9(1/2rule_thickness, 90);
+ penpos10(rule_thickness, 0);
+ penpos11(1/2rule_thickness, -90);
+ penpos12(1/2rule_thickness, -180);
+ penpos13(5/7rule_thickness, -180);
+
+ rt x10r = hround(w - 1.5u + 1/2rule_thickness);
+ lft x12r = hround(.5w - .5u);
+ rt x8l = hround 2.25u;
+ x9 = x11 = max(x12l + eps, .5w + 1.5u);
+ y8 = 10/11*5/12h;
+ top y9r = vround .95h;
+ y10 = .5[y9,y11];
+ bot y11r = y8;
+
+ filldraw stroke z7e{left} ... z8e{up} ... pulled_arc.e(9,10) & pulled_arc.e(10,11); % stem and bowl
+
+ y13 - 5/7rule_thickness = y8 + 1/10h;
+ bulb(11,12,13); % bulb
+
+ penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+endgroup;
+
+% Warning: The other two orientations are above.
+% They should stay consistent.
+
+beginoperator(plus_size#, 1); "upside down logical not";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 180) -- (centre + r * dir 0)
+ -- (centre + r * dir 0 + equal_spread * dir 90);
+endchar;
+
+beginoperator(plus_size#, 1); "upside down reversed logical not";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 180 + equal_spread * dir 90)
+ -- (centre + r * dir 180) -- (centre + r * dir 0)
+endchar;
+
+for sign = 1, -1:
+ beginoperator(plus_size#, 1); "half square union";
+ pickup rule_pen;
+
+ z3 - z0 = z2 - z1 = plus_size * dir 0;
+ z0 - z1 = sign * plus_size * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z1 -- z2;
+ endchar;
+
+ beginoperator(plus_size#, 1); "half square union";
+ pickup rule_pen;
+
+ z3 - z0 = z2 - z1 = plus_size * dir 0;
+ z0 - z1 = sign * plus_size * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z1 -- z2 -- z3;
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(plus_size#, 1); "closed curly wedge";
+ pickup rule_pen;
+
+ z0 = centre + 1/2plus_size * dir alpha;
+ z1 = centre - 1/2plus_size * dir alpha;
+ z2 = z1 + 1/2plus_size * dir (alpha + 90);
+ z3 = z1 - 1/2plus_size * dir (alpha + 90);
+
+ draw z2{dir (alpha - 40)}
+ .. {dir alpha}z0{dir (alpha + 180)}
+ .. {dir (alpha - 140)}z3{dir (alpha + 40)}
+ .. {dir (alpha + 140)}z2 & cycle;
+
+ endchar;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(6/5plus_size#, 1); "slice";
+ pickup rule_pen;
+
+ z1 - 1/2[z0,z2] = plus_size * dir alpha;
+
+ z2 - z0 = plus_size * dir (alpha + 90);
+
+ 7/12[z1,1/2[z0,z2]] = centre;
+
+ draw z1 -- z0{dir (alpha + 120)} .. {dir (alpha + 60)}z2 -- cycle;
+ endchar;
+endfor;
+
+beginoperator(5/6small_op_size#, 8/5); "small lozenge";
+ pickup rule_pen;
+
+ lft x0 = w - rt x2 = side_bearing;
+ y0 = y2 = ypart centre;
+
+ x1 = x3 = xpart centre;
+ top y1 = h;
+ bot y3 = -d;
+
+ draw z0 -- z1 -- z2 -- z3 -- cycle;
+endchar;
+
+beginoperator(5/6small_op_size#, 8/5); "small filled lozenge";
+ pickup rule_pen;
+
+ lft x0 = w - rt x2 = side_bearing;
+ y0 = y2 = ypart centre;
+
+ x1 = x3 = xpart centre;
+ top y1 = h;
+ bot y3 = -d;
+
+ draw z0 -- z1 -- z2 -- z3 -- cycle;
+ fill z0 -- z1 -- z2 -- z3 -- cycle;
+endchar;
+
+beginoperator(1/sqrt(2)*med_op_size#, 8/5); "medium lozenge";
+ pickup rule_pen;
+
+ lft x0 = w - rt x2 = side_bearing;
+ y0 = y2 = ypart centre;
+
+ x1 = x3 = xpart centre;
+ top y1 = h;
+ bot y3 = -d;
+
+ draw z0 -- z1 -- z2 -- z3 -- cycle;
+endchar;
+
+beginoperator(1/sqrt(2)*med_op_size#, 8/5); "medium filled lozenge";
+ pickup rule_pen;
+
+ lft x0 = w - rt x2 = side_bearing;
+ y0 = y2 = ypart centre;
+
+ x1 = x3 = xpart centre;
+ top y1 = h;
+ bot y3 = -d;
+
+ draw z0 -- z1 -- z2 -- z3 -- cycle;
+ fill z0 -- z1 -- z2 -- z3 -- cycle;
+endchar;
+
+beginoperator(1/sqrt(2)*large_op_size#, 8/5); "large lozenge";
+ pickup rule_pen;
+
+ lft x0 = w - rt x2 = side_bearing;
+ y0 = y2 = ypart centre;
+
+ x1 = x3 = xpart centre;
+ top y1 = h;
+ bot y3 = -d;
+
+ draw z0 -- z1 -- z2 -- z3 -- cycle;
+endchar;
+
+for alpha = 0, 90, 180, 270:
+ beginoperator(med_op_size#, 1); "medium filled triangle (" & decimal alpha & ")";
+ pickup rule_pen;
+ draw triangle(centre, w/2-side_bearing, alpha);
+ fill triangle(centre, w/2-side_bearing, alpha);
+ endchar;
+endfor;
+
+beginoperator(med_op_size#/sqrt(2), 1); "medium filled square";
+ pickup rule_pen;
+ draw square(centre, w/2 - side_bearing, 0);
+ fill square(centre, w/2 - side_bearing, 0);
+endchar;
+
+
+beginoperator(large_op_size#, 1); "large filled star";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(5, centre, r, 90);
+ reg_poly_points(b)(5, centre, .4r, 126);
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+ fill z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+endchar;
+
+beginoperator(med_op_size#, 1); "medium star of david";
+ pickup pencircle scaled 4/5rule_thickness;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(6, centre, r, 90);
+ draw z.a0 -- z.a2 -- z.a4 -- cycle;
+ draw z.a1 -- z.a3 -- z.a5 -- cycle;
+endchar;
+
+beginoperator(large_op_size#, 1); "large star of david";
+ pickup rule_pen;
+ r := w/2 - side_bearing;
+ reg_poly_points(a)(6, centre, r, 90);
+ draw z.a0 -- z.a2 -- z.a4 -- cycle;
+ draw z.a1 -- z.a3 -- z.a5 -- cycle;
+endchar;
+
+beginoperator(med_op_size#, 1); "maltese";
+ pickup rule_pen;
+
+ 1/2[z0,z1] = centre + 1/2med_op_size * dir 180;
+ 1/2[z2,z3] = centre + 1/2med_op_size * dir 270;
+ 1/2[z4,z5] = centre + 1/2med_op_size * dir 0;
+ 1/2[z6,z7] = centre + 1/2med_op_size * dir 90;
+
+ z0 - z1 = z5 - z4 = 1/2med_op_size * up;
+ z3 - z2 = z6 - z7 = 1/2med_op_size * right;
+
+ filldraw z1{dir 45}
+ .. {right}centre{down}
+ .. {dir 225}z2 -- z3{dir 135}
+ .. {up}centre{right}
+ .. {dir -45}z4 -- z5{dir 225}
+ .. {left}centre{up}
+ .. {dir 45}z6 -- z7{dir -45}
+ .. {down}centre{left}
+ .. z0{dir 135} -- cycle;
+endchar;
+
+
+current_char := 219;
+
+% Keep these consistent with the glyphs in Sym-Order.mf!
+
+for negated = 0, 1:
+
+ vardef ifneg(text values) =
+ select(negated)(values)
+ enddef;
+
+ beginorder(1, order_width# + rule_thickness#, ifneg(2,4) * equal_spread# + rule_thickness#);
+ "closedequal";
+ pickup rule_pen;
+
+ z2 - z1 = z1 - z0 = equal_spread * dir 90;
+ z5 - z4 = z4 - z3 = equal_spread * dir 90;
+
+ 1/2[z0, z2] = left_point;
+ 1/2[z3, z5] = right_point;
+
+ draw z0 -- z3;
+ draw z1 -- z4 -- z5 -- z2 -- cycle;
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+
+ beginorder(1, order_width# + rule_thickness#, ifneg(2,4) * equal_spread# + rule_thickness#);
+ "equalclosed";
+ pickup rule_pen;
+
+ z2 - z1 = z1 - z0 = equal_spread * dir 90;
+ z5 - z4 = z4 - z3 = equal_spread * dir 90;
+
+ 1/2[z0, z2] = left_point;
+ 1/2[z3, z5] = right_point;
+
+ draw z0 -- z3 -- z4 -- z1 -- cycle;
+ draw z2 -- z5;
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+
+ beginorder(1, order_width# + rule_thickness#, ifneg(2,4) * equal_spread# + rule_thickness#);
+ "equivclosed";
+ pickup rule_pen;
+
+ z2 - z1 = z1 - z0 = equal_spread * dir 90;
+ z5 - z4 = z4 - z3 = equal_spread * dir 90;
+
+ 1/2[z0, z2] = left_point;
+ 1/2[z3, z5] = right_point;
+
+ draw z0 -- z3 -- z5 -- z2 -- cycle;
+ draw (z1 + 1/4rule_thickness * right) -- (z4 + 1/4rule_thickness * left);
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(4/3, 8/3) * equal_spread# + rule_thickness#);
+ "less sim";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ y2 = 1/2[y0, y1];
+ x0 = xpart right_point;
+ x2 = xpart left_point;
+ y3 = y4 = y0 - equal_spread;
+ x4 - x3 = sign * (x0 - x2);
+ 1/2[x3,x4] = xpart centre;
+
+ 1/2[y1, y4 - 1/3equal_spread] = ypart centre;
+
+ draw z0 -- z2 -- z1;
+ draw sim(z3, z4);
+
+ if negated = 1:
+ stroke_through(centre, 8/3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(7/3, 9/3) * equal_spread# + rule_thickness#);
+ "less approx";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ y2 = 1/2[y0, y1];
+ x0 = xpart right_point;
+ x2 = xpart left_point;
+ y3 = y4 = y0 - equal_spread;
+ y5 = y6 = y4 - equal_spread;
+ x4 - x3 = sign * (x0 - x2);
+ 1/2[x3,x4] = xpart centre;
+ x6 = x4;
+ x5 = x3;
+
+ 1/2[y1, y6 - 1/3equal_spread] = ypart centre;
+
+ draw z0 -- z2 -- z1;
+ draw sim(z3, z4);
+ draw sim(z5, z6);
+
+ if negated = 1:
+ stroke_through(centre, 9/3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(1,3) * equal_spread# + rule_thickness#);
+ "slanted equal or less than";
+
+ pickup rule_pen;
+
+ z0 - z1 = greater_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+ z4 - z0 = equal_spread * dir 90;
+
+ 1/2[z2, z3] = left_point;
+ 1/2[z1, z4] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(1,3) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "curly equal or curly less than";
+
+ pickup rule_pen;
+
+ t := 2/3[equal_spread, greater_spread];
+
+ z0 - z1 = equal_spread * dir 90;
+ z2 - z4 = 7/5equal_spread * dir 90;
+ z4 - z3 = t/2 * dir 90;
+ y1 = y3;
+ y4 = ypart centre + 1/2(t - equal_spread);
+ x0 = xpart left_point;
+ x2 = xpart right_point;
+
+ path p;
+
+ p = z0{z3 - z1} .. z2;
+
+ v := xpart (p intersectiontimes (z4 -- (z4 + h * dir (90 + sign * 20))));
+
+ draw prec(z1, z3, t);
+ draw subpath (0,v) of p;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 2/3[equal_spread, greater_spread]);
+ fi;
+
+ labels(0,1,2,3,4);
+ endchar;
+ endfor;
+
+ for alpha = 0, 180:
+ beginarrow(alpha, 6/5, ifneg(14/10, 21/10) * arrow_spread#); "triple arrow (" & decimal alpha & ")";
+
+ z1 - z0 = z2 - z1 = z4 - z3 = z5 - z4 = 2/3equal_spread * dir (arrow_dir + 90);
+
+ z1 = foot;
+ z4 = head;
+
+ pickup pencircle scaled 4/5rule_thickness;
+
+ draw z0 -- arrowhead_intersection(head, arrow_dir, 14/10arrow_spread, z0 -- z3);
+ draw z1 -- arrowhead_intersection(head, arrow_dir, 14/10arrow_spread, z1 -- z4);
+ draw z2 -- arrowhead_intersection(head, arrow_dir, 14/10arrow_spread, z2 -- z5);
+
+ pickup rule_pen;
+
+ draw arrowhead(head, arrow_dir, 14/10arrow_spread);
+
+ if negated = 1:
+ stroke_through_arrow(1/2[foot, head - arrow_spread * dir arrow_dir], alpha, 21/10arrow_spread)
+ (70, 70, 110, 110, 70, 70, 110, 110);
+ fi
+ endchar;
+ endfor;
+
+endfor;
+
+for sign = -1, 1:
+ beginsymbol(4/3arrow_spread# + 2side_bearing#, vcentre(2arrow_spread# + rule_thickness#));
+ "left shift";
+
+ pickup rule_pen;
+
+ top y0 = top y1 = h - 1/2arrow_spread;
+ bot y2 = -d;
+
+ 1/2[x0,x1] = w/2;
+ x1 - x0 = sign * 4/3arrow_spread;
+
+ x2 = x1;
+
+ draw z0 -- z1 -- z2;
+
+ draw arrowhead(z0, 90 + sign * 90, arrow_spread);
+ endchar;
+endfor;
+
+for sign = -1, 1:
+ beginoperator(arrow_len#, 1);
+ "loop arrow";
+
+ pickup rule_pen;
+
+ z0 = centre + sign * arrow_len/2 * left;
+ z1 = centre + arrow_len/2 * down;
+ z2 = centre + arrow_len/4 * up;
+ z3 = centre + sign * arrow_len/4 * right;
+ z4 = centre + arrow_len * (1/4sign, 1/2);
+ z5 = centre + arrow_len * (1/2sign, 1/4);
+
+ draw z0 -- z3{sign * right} .. {up}z5 .. {sign * left}z4 .. {down}z2 -- z1;
+
+ draw arrowhead(z0, 90 + sign * 90, arrow_spread);
+ endchar;
+endfor;
+
+for sign = -1, 1:
+ beginoperator(plus_size#, 1); "three times";
+ pickup rule_pen;
+
+ r := plus_size/2;
+ r := r * 1/3[1, sqrt 2];
+
+ z0 = centre + r * dir (sign * 45);
+ z1 = centre + r * dir (sign * 225);
+ z2 = centre + r * dir (270 + sign * 45);
+ z3 = centre + 1/4rule_thickness * dir (270 + sign * 45);
+
+ draw z0 -- z1;
+ draw z3 -- z2;
+ endchar;
+endfor;
+
+beginarrow(0, 5/6, 7/4arrow_spread#);
+ "Vvdash";
+
+ pickup rule_pen;
+
+ z0 = foot + 4/5equal_spread * dir arrow_dir;
+ z1 = foot + 8/5equal_spread * dir arrow_dir;
+
+ draw z1 + 1/4rule_thickness * dir arrow_dir -- head;
+ draw (foot - 7/8arrow_spread * dir (arrow_dir + 90)) --
+ (foot + 7/8arrow_spread * dir (arrow_dir + 90));
+ draw (z0 - 7/8arrow_spread * dir (arrow_dir + 90)) --
+ (z0 + 7/8arrow_spread * dir (arrow_dir + 90));
+ draw (z1 - 7/8arrow_spread * dir (arrow_dir + 90)) --
+ (z1 + 7/8arrow_spread * dir (arrow_dir + 90));
+
+endchar;
+
+beginoperator(plus_size#, 1); "negated medium bar";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ draw (centre + r * dir 90) -- (centre + r * dir 270);
+
+ stroke_through_arrow(centre, 90, 2/3plus_size, 45);
+endchar;
+
+beginoperator(plus_size#, 1); "double bar";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ z1 - z0 = equal_spread * right;
+ 1/2[z0,z1] = centre;
+
+ draw (z0 + r * up) -- (z0 + r * down);
+ draw (z1 + r * up) -- (z1 + r * down);
+endchar;
+
+beginoperator(plus_size#, 1); "negated double bar";
+ pickup rule_pen;
+
+ r := plus_size/2; % - 11/10rule_thickness;
+
+ z1 - z0 = equal_spread * right;
+ 1/2[z0,z1] = centre;
+
+ draw (z0 + r * up) -- (z0 + r * down);
+ draw (z1 + r * up) -- (z1 + r * down);
+
+ stroke_through_arrow(centre, 90, plus_size, 40);
+endchar;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Init.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Init.mf
new file mode 100644
index 00000000000..00a335a14c5
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Init.mf
@@ -0,0 +1,29 @@
+
+def select(expr n)(text values) =
+ begingroup;
+ i := 0;
+ for v = values:
+ result := v;
+ exitif i = n;
+ i := i + 1;
+ endfor;
+ result
+ endgroup
+enddef;
+
+def interpolate(expr x)(text values) =
+ begingroup;
+ if design_size <= 5:
+ x * select(0)(values) * design_size/5
+ elseif design_size >= 12:
+ x * select(6)(values) * design_size/12
+ elseif design_size >= 10:
+ x * ((design_size - 10)/2)[select(5)(values), select(6)(values)]
+ else:
+ n := floor design_size;
+
+ x * (design_size - n)[select(n-5)(values), select(n-4)(values)]
+ fi
+ endgroup
+enddef;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Operators.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Operators.mf
new file mode 100644
index 00000000000..bb93d8291de
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Operators.mf
@@ -0,0 +1,882 @@
+
+for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big plus";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw (centre + op_height/2 * dir 0) -- (centre + op_height/2 * dir 180);
+ draw (centre + op_height/2 * dir 90) -- (centre + op_height/2 * dir 270);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for scale = 1, 1.4:
+ beginbigop(scale, scale); "big times";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z1 - z0 = z3 - z2 = op_width * dir 0;
+ z2 - z0 = op_width * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z3;
+ draw z1 -- z2;
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big wedge";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z3 - z0 = z2 - z1 = op_width * dir 0;
+ z1 - z0 = sign * op_height * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- 1/2[z1, z2] -- z3;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big wedge dot";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z3 - z0 = z2 - z1 = op_width * dir 0;
+ z1 - z0 = sign * op_height * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- 1/2[z1, z2] -- z3;
+ fill circle(centre - sign * 1/4op_height * dir 90, 4/3dot_size * sqrt scale);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(6/5scale, scale); "double big wedge";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z3 - z0 = z2 - z1 = 5/6op_width * dir 0;
+ z1 - z0 = sign * op_height * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ 1/2[z0a,z0b] = z0;
+ 1/2[z1a,z1b] = 1/2[z1, z2];
+ 1/2[z2a,z2b] = z3;
+ z0b - z0a = z1b - z1a = z2b - z2a = 1/3(plus_size + 11/5rule_thickness) * dir 0;
+
+ draw z0a -- z1a -- z2a;
+ draw z0b -- z1b -- z2b;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big curly wedge";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw prec(centre + sign * op_height/2 * dir 90,
+ centre - sign * op_height/2 * dir 90,
+ op_width);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big curly wedge dot";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw prec(centre + sign * op_height/2 * dir 90,
+ centre - sign * op_height/2 * dir 90,
+ op_width);
+ fill circle(centre - sign * 3/8op_height * dir 90, 4/3dot_size * sqrt scale);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(6/5scale, scale); "double big curly wedge";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ 1/2[z0,z1] = centre;
+ z1 - z0 = 1/3(plus_size + 11/5rule_thickness) * dir 0;
+
+ draw prec(z0 + sign * op_height/2 * dir 90,
+ z0 - sign * op_height/2 * dir 90,
+ 5/6op_width);
+ draw prec(z1 + sign * op_height/2 * dir 90,
+ z1 - sign * op_height/2 * dir 90,
+ 5/6op_width);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big union";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw subset(centre + sign * op_height/2 * dir 90,
+ centre - sign * op_height/2 * dir 90,
+ op_width);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big union dot";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw subset(centre + sign * op_height/2 * dir 90,
+ centre - sign * op_height/2 * dir 90,
+ op_width);
+ fill circle(centre - sign * 1/8op_height * dir 90, 4/3dot_size * sqrt scale);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big union plus";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw subset(centre + sign * op_height/2 * dir 90,
+ centre - sign * op_height/2 * dir 90,
+ op_width);
+
+ t := 2rule_thickness;
+ r := 3/8op_width - t;
+
+ draw (centre - sign * 1/8op_width * dir 90 + r * dir 0)
+ -- (centre - sign * 1/8op_width * dir 90 + r * dir 180);
+ draw (centre + (r - sign * 1/8op_width) * dir 90)
+ -- (centre + (r + sign * 1/8op_width) * dir 270);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big square union";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z3 - z0 = z2 - z1 = op_width * dir 0;
+ z1 - z0 = sign * op_height * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z1 -- z2 -- z3;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big square union dot";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z3 - z0 = z2 - z1 = op_width * dir 0;
+ z1 - z0 = sign * op_height * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z1 -- z2 -- z3;
+ fill circle(centre - sign * 1/8op_height * dir 90, 4/3dot_size * sqrt scale);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for sign = 1, -1:
+ for scale = 1, 1.4:
+ beginbigop(scale, scale); "big square union plus";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z3 - z0 = z2 - z1 = op_width * dir 0;
+ z1 - z0 = sign * op_height * dir 90;
+
+ 1/2[1/2[z0,z1], 1/2[z2,z3]] = centre;
+
+ draw z0 -- z1 -- z2 -- z3;
+
+ t := 2rule_thickness;
+ r := 3/8op_width - t;
+
+ draw (centre - sign * 1/8op_width * dir 90 + r * dir 0)
+ -- (centre - sign * 1/8op_width * dir 90 + r * dir 180);
+ draw (centre + (r - sign * 1/8op_width) * dir 90)
+ -- (centre + (r + sign * 1/8op_width) * dir 270);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw circle(centre, op_height/2);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for alpha = 0, 90, 45, 135:
+ for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle minus";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ r := op_height/2 - 11/10 * (4/3rule_thickness * sqrt scale);
+
+ draw circle(centre, op_height/2);
+ draw (centre - r * dir alpha) -- (centre + r * dir alpha);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for alpha = 0, 45:
+ for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle plus";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ r := op_height/2 - 11/10 * (4/3rule_thickness * sqrt scale);
+
+ draw circle(centre, op_height/2);
+ draw (centre - r * dir alpha) -- (centre + r * dir alpha);
+ draw (centre - r * dir (alpha + 90)) -- (centre + r * dir (alpha + 90));
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle dot";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw circle(centre, op_height/2);
+ fill circle(centre, scale * 1.3dot_size);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle circle";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw circle(centre, op_height/2);
+ draw circle(centre, op_height/5);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle triangle";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ draw circle(centre, op_height/2);
+
+ pickup rule_pen;
+
+ draw triangle(centre, op_height/5, 90);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle asterisk";
+ thick := 4/3rule_thickness * sqrt scale;
+
+ pickup pencircle scaled thick;
+
+ r := op_height/2 - 11/10rule_thickness * (4/3 * sqrt scale);
+
+ draw circle(centre, op_height/2);
+
+ penpos a0(4/3thick, 0 - 7);
+ penpos a1(4/3thick, 72 - 7);
+ penpos a2(4/3thick, 144 - 7);
+ penpos a3(4/3thick, 216 - 7);
+ penpos a4(4/3thick, 288 - 7);
+
+ penpos b0(2/3thick, 0 - 7);
+ penpos b1(2/3thick, 72 - 7);
+ penpos b2(2/3thick, 144 - 7);
+ penpos b3(2/3thick, 216 - 7);
+ penpos b4(2/3thick, 288 - 7);
+
+ reg_poly_points(a)(5, centre, r, 77);
+
+ z.b0 = z.b1 = z.b2 = z.b3 = z.b4 = centre;
+
+ fill stroke z.a0e -- z.b0e;
+ fill stroke z.a1e -- z.b1e;
+ fill stroke z.a2e -- z.b2e;
+ fill stroke z.a3e -- z.b3e;
+ fill stroke z.a4e -- z.b4e;
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for scale = 1, 1.4:
+ beginsquarebigop(scale, scale); "big circle star";
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ r := op_height/2 - 11/10rule_thickness * (4/3 * sqrt scale);
+
+ draw circle(centre, op_height/2);
+
+ pickup rule_pen;
+
+ reg_poly_points(a)(5, centre, r, 90);
+ reg_poly_points(b)(5, centre, r/10, 126);
+
+ draw z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+ fill z.a0 -- z.b0 -- z.a1 -- z.b1 -- z.a2 -- z.b2 -- z.a3 -- z.b3 -- z.a4 -- z.b4 -- cycle;
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for sign = 1, -1:
+ for scale = 1.1, 1.54:
+ beginbigop(1.1scale, scale); "product";
+ draw_product(centre, op_width, op_height, sign, 5/3rule_thickness * sqrt scale);
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+def draw_sum(suffix $)(expr centre, width, height, thick) =
+ thin := 2/3thick;
+
+ z1$ - z0$ = z3$ - z2$ = width * dir 0;
+ z2$ - z0$ = height * dir 90;
+
+ 1/2[1/2[z0$,z1$], 1/2[z2$,z3$]] = centre;
+
+ z4$ - z1$ = z3$ - z5$ = 1/5height * dir 90;
+
+ z6$ = whatever[z0$,z1$] = z4$ - whatever * dir 77;
+ z7$ = whatever[z2$,z3$] = z5$ + whatever * dir -77;
+
+ penpos 0$(thick, 90);
+ penpos 6$(thick, 90);
+ penpos 4$(thin, 167);
+ penpos 2$(thin, -90);
+ penpos 7$(thin, -90);
+ penpos 5$(thin, 203);
+
+ z8$ = centre;
+ penpos 8$(2thin, 20);
+
+ z9$ = z8$r + whatever * (z2$r - z8$l) = whatever[z2$r,z7$r];
+
+ z10$ = z0$l + thin * dir 90;
+ z11$ = z8$r + whatever * (z10$ - z8$l);
+ y11$ = y10$;
+
+ z12$ = whatever[z10$,z8$l];
+ y12$ = y0$r;
+
+ fill z0$l -- z6$l -- z4$l -- z4$r{-dir 77} .. {dir 180}1/4[z6$r,z0$r] -- z12$ -- z10$ -- cycle;
+ fill z2$l -- z7$l -- z5$l -- z5$r{dir 113} .. {dir 180}1/4[z7$r,z2$r] -- z2$r -- cycle;
+ fill z2$r -- z8$l -- z8$r -- z9$ -- cycle;
+ fill z10$ -- z8$l -- z8$r -- z11$ -- cycle;
+enddef;
+
+for scale = 1.1, 1.54:
+ beginbigop(scale, scale); "sum";
+ draw_sum(a)(centre, op_width, op_height, 4/3rule_thickness * sqrt scale);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for number = 0, 1, 2, 3:
+ for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * (1/2 + 2/3number) * order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "integral";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ for i = 0 upto number:
+ centre := ((w - scale * (number - 2*i) * 2/3order_width + display_shift + text_shift)/2,
+ (h - d)/2);
+
+ draw_integral([i])(scale, centre);
+ endfor;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * (1/2 + 1) * order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "integral dots";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := ((w - 2scale * order_width + display_shift + text_shift)/2,
+ (h - d)/2);
+
+ draw_integral([0])(scale, centre);
+
+ centre := ((w + 2scale * order_width + display_shift + text_shift)/2,
+ (h - d)/2);
+
+ draw_integral([2])(scale, centre);
+
+ z0 = 1/4[z0[0],z0[2]];
+ z1 = 2/4[z0[0],z0[2]];
+ z2 = 3/4[z0[0],z0[2]];
+
+ fill circle(z0, dot_size);
+ fill circle(z1, dot_size);
+ fill circle(z2, dot_size);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for sign = 1, -1:
+ for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * 1/2order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "landup/down integral";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := ((w + display_shift + text_shift)/2, (h - d)/2);
+
+ draw_integral(a)(scale, centre);
+
+ pickup pencircle scaled 1/2thick;
+
+ z0 = z0a + sign * sqrt scale * (-2thick, -2/3thick);
+ z1 = z0a + sign * sqrt scale * ( 0, 2/3thick);
+ z2 = z0a + sign * sqrt scale * ( 2thick, -2/3thick);
+
+ draw z0 .. z1 .. z2;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * 1/2order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "stroked integral";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := ((w + display_shift + text_shift)/2, (h - d)/2);
+
+ draw_integral(a)(scale, centre);
+
+ alpha := angle (z1a - z3a) - 70;
+
+ pickup pencircle scaled 1/2thick;
+
+ draw (z0a - sqrt scale * 2thick * dir alpha) -- (z0a + sqrt scale * 2thick * dir alpha);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for number = 0, 1:
+ for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1.3) * 4/5order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * (1/2 + 2/3number) * order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "contour integral";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ for i = 0 upto number:
+ centre := ((w - scale * (number - 2*i) * 2/3order_width + display_shift + text_shift)/2,
+ (h - d)/2);
+
+ draw_integral([i])(scale, centre);
+ endfor;
+
+ centre := 1/2[z0[0], z0[number]];
+
+ pickup pencircle scaled 5/12thick;
+
+ if number = 0:
+ draw circle(centre, 2thick * sqrt scale);
+ else:
+ draw super_ellipse(centre,
+ (2thick + number * 5/5thick) * sqrt scale,
+ (2thick + number * 1/5thick) * sqrt scale,
+ 7/8, 0);
+ fi;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for alpha = -90, 90:
+ for sign = 1, -1:
+ for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1.3) * 4/5order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * 1/2order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "oriented contour integral";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+ centre := ((w+display_shift+text_shift)/2, (h-d)/2);
+
+ draw_integral(a)(scale, centre);
+
+ pickup pencircle scaled 5/12thick;
+
+ r := 2thick * sqrt scale;
+
+ beta := alpha + angle (z1a - z3a) + 25sign;
+
+ reg_poly_points(a)(8, z0a, r, beta);
+
+ z0 = z0a + r * dir (beta + 10);
+ z1 = z0a + r * dir (beta - 10);
+
+ draw z0{dir (beta + 100)} .. z.a1 .. z.a2 .. z.a3 .. z.a4 .. z.a5 .. z.a6 .. z.a7 ..
+ {dir (beta + 80)}z1;
+
+ if sign > 0:
+ draw arrowhead(z1, (beta + 65), 1/2scale * arrow_spread);
+ else:
+ draw arrowhead(z0, (beta - 65), 1/2scale * arrow_spread);
+ fi;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+ endfor;
+endfor;
+
+for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * 1/2order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "sum integral";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := ((w + display_shift + text_shift)/2, (h - d)/2);
+
+ draw_integral(a)(scale, centre);
+ draw_sum(b, 1/3[z0a.l,z0a.r], scale * order_width, 3/4scale * asc_height, 1/2thick);
+
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+%for scale = 1, 1.8:
+%
+% display_shift# := 0;%(1 + 5/2(scale-1)) * 1/4order_width#;
+% text_shift# := -2/8order_width#;
+% script_delta# := (1 + 3/2(scale-1)) * 1/2order_width#;
+% define_whole_pixels(display_shift, text_shift, script_delta);
+%
+% beginsymbol(scale * 1/2 * order_width# + 2side_bearing# - display_shift# - 2text_shift#,
+% ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+% (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+% "partial integral";
+%
+% italcorr script_delta#; % kerning between upper limit and lower limit
+% endchar;
+%endfor;
+%charlist current_char - 1: current_char;
+
+for scale = 1, 1.8:
+
+ display_shift# := 0;%(1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := -2/8order_width#;
+ script_delta# := (1 + 3/2(scale-1)) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift, script_delta);
+
+ beginsymbol(scale * (1/2 + 1) * order_width# + 2side_bearing# - display_shift# - 2text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "partial integral dots";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := (1/2(w + script_delta), (h-d)/2);
+
+ z0 = centre + 1/2scale * order_width * left;
+ z1 = centre;
+ z2 = centre + 1/2scale * order_width * right;
+
+ fill circle(z0, dot_size);
+ fill circle(z1, dot_size);
+ fill circle(z2, dot_size);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for sign = 1, -1:
+ for scale = 1, 1.8:
+
+ display_shift# := 0;%(1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := -4/8order_width# + 5/4(scale-1) * 2/8order_width#;
+ script_delta# := (1/2 + 4/2(scale-1)) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift, script_delta);
+
+ beginsymbol(scale * 1/2 * order_width# + 2side_bearing# - display_shift# - 2text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "partial landup/down integral";
+
+ italcorr script_delta#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := (1/2(w + script_delta), (h-d)/2);
+
+ pickup pencircle scaled 1/2thick;
+
+ z0 = centre + sign * sqrt scale * (-2thick, -2/3thick);
+ z1 = centre + sign * sqrt scale * ( 0, 2/3thick);
+ z2 = centre + sign * sqrt scale * ( 2thick, -2/3thick);
+
+ draw z0 .. z1 .. z2;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for scale = 1, 1.8:
+
+ display_shift# := 0;%(1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := -4/8order_width# + 5/4(scale-1) * 2/8order_width#;
+ script_delta# := (1/2 + 4/2(scale-1)) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift, script_delta);
+
+ beginsymbol(scale * 1/2 * order_width# + 2side_bearing# - display_shift# - 2text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "partial stroked integral";
+
+ italcorr script_delta#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := (1/2(w + script_delta), (h-d)/2);
+
+ alpha := 10;
+
+ pickup pencircle scaled 1/2thick;
+
+ draw (centre - sqrt scale * 2thick * dir alpha) -- (centre + sqrt scale * 2thick * dir alpha);
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for number = 0, 1:
+ for scale = 1, 1.8:
+
+ display_shift# := 0;%(1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := -4/8order_width# + 5/4(scale-1) * 2/8order_width#;
+ script_delta# := (1/2 + 4/2(scale-1)) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift, script_delta);
+
+ beginsymbol(scale * (1/2 + 2/3number) * order_width# + 2side_bearing# - display_shift# - 2text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "partial contour integral";
+
+ italcorr script_delta#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ centre := (1/2(w + script_delta), (h-d)/2);
+
+ pickup pencircle scaled (5/12thick * sqrt scale);
+
+ if number = 0:
+ draw circle(centre, 2thick * sqrt scale);
+ else:
+ draw super_ellipse(centre,
+ (2thick + number * 5/5thick) * sqrt scale,
+ (2thick + number * 1/5thick) * sqrt scale,
+ 7/8, 0);
+ fi;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+endfor;
+
+for alpha = -90, 90:
+ for sign = 1, -1:
+ for scale = 1, 1.8:
+
+ display_shift# := 0;%(1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := -4/8order_width# + 5/4(scale-1) * 2/8order_width#;
+ script_delta# := (1/2 + 4/2(scale-1)) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift, script_delta);
+
+ beginsymbol(scale * 1/2order_width# + 2side_bearing# - display_shift# - 2text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "partial oriented contour integral";
+
+ italcorr script_delta#; % kerning between upper limit and lower limit
+
+ pair centre;
+ centre := (1/2(w + script_delta), (h-d)/2);
+
+ pickup pencircle scaled (5/12thick * sqrt scale);
+
+ r := 2thick * sqrt scale;
+
+ beta := alpha + 80 + 25sign;
+
+ reg_poly_points(a)(8, centre, r, beta);
+
+ z0 = centre + r * dir (beta + 10);
+ z1 = centre + r * dir (beta - 10);
+
+ draw z0{dir (beta + 100)} .. z.a1 .. z.a2 .. z.a3 .. z.a4 .. z.a5 .. z.a6 .. z.a7 ..
+ {dir (beta + 80)}z1;
+
+ if sign > 0:
+ draw arrowhead(z1, (beta + 65), 1/2scale * arrow_spread);
+ else:
+ draw arrowhead(z0, (beta - 65), 1/2scale * arrow_spread);
+ fi;
+ endchar;
+ endfor;
+ charlist current_char - 1: current_char;
+ endfor;
+endfor;
+
+for scale = 1, 1.8:
+
+ display_shift# := (1 + 5/2(scale-1)) * 1/4order_width#;
+ text_shift# := (scale-1) * 1/2order_width#;
+ define_whole_pixels(display_shift, text_shift);
+
+ beginsymbol(scale * 1/2order_width# + 2side_bearing# + display_shift# - text_shift#,
+ ((scale - 1)/2 + 1) * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#,
+ (scale - 1)/2 * 1.4asc_height# + scale * 1/6equal_spread# + 2/3rule_thickness#);
+ "partial sum integral";
+
+ italcorr (1 + 3/2(scale-1)) * 2/3order_width#; % kerning between upper limit and lower limit
+
+ pair centre;
+
+ z0 = (1/2(w + script_delta), (h-d)/2);
+
+ penpos0(4/5thick, 0);
+
+ draw_sum(a, 1/3[z0l,z0r], scale * order_width, 3/4scale * asc_height, 1/2thick * sqrt scale);
+
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
+for scale = 1, 1.4:
+ beginbigop(3/4scale, scale); "complement";
+
+ pickup pencircle scaled (4/3rule_thickness * sqrt scale);
+
+ z0 = centre + op_height/2 * up;
+ z1 = centre - op_height/2 * up;
+ z2 = centre - op_width/2 * right;
+ z3 = centre + op_width/2 * right;
+
+ draw (1/4[z0,z1] + op_width/2 * right){up}
+ .. z0
+ .. {down}(1/3[z0,z1] - op_width/2 * right)
+ -- (2/3[z0,z1] - op_width/2 * right){down}
+ .. z1
+ .. (3/4[z0,z1] + op_width/2 * right){up};
+ endchar;
+endfor;
+charlist current_char - 1: current_char;
+
diff --git a/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Order.mf b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Order.mf
new file mode 100644
index 00000000000..bc4cd2c8b9d
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/mnsymbol/Sym-Order.mf
@@ -0,0 +1,1417 @@
+
+% There are some additional order glyphs in Sym-Geometric. Keep them consistent!
+
+vardef ifneg(text values) =
+ select(negated)(values)
+enddef;
+
+% equal signs
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, ifneg(1,3) * equal_spread# + rule_thickness#); "equal";
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, ifneg(2,4) * equal_spread# + rule_thickness#); "equiv";
+ pickup rule_pen;
+
+ z2 - z1 = z1 - z0 = equal_spread * dir 90;
+ z5 - z4 = z4 - z3 = equal_spread * dir 90;
+
+ 1/2[z0, z2] = left_point;
+ 1/2[z3, z5] = right_point;
+
+ draw z0 -- z3;
+ draw z1 -- z4;
+ draw z2 -- z5;
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(2/3, 8/3)*equal_spread# + rule_thickness#); "sim";
+ pickup rule_pen;
+
+ draw sim(left_point, right_point);
+
+ if negated = 1:
+ stroke_through(centre, 8/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(5/3, 11/3) * equal_spread# + rule_thickness#);
+ "approx";
+
+ pickup rule_pen;
+
+ draw sim(left_point + 1/2equal_spread * dir 90, right_point + 1/2equal_spread * dir 90);
+ draw sim(left_point - 1/2equal_spread * dir 90, right_point - 1/2equal_spread * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 11/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(8/3, 14/3) * equal_spread# + rule_thickness#);
+ "triple sim";
+
+ pickup rule_pen;
+
+ draw sim(left_point + equal_spread * dir 90, right_point + equal_spread * dir 90);
+ draw sim(left_point, right_point);
+ draw sim(left_point - equal_spread * dir 90, right_point - equal_spread * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 14/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(5/3, 11/3) * equal_spread# + rule_thickness#);
+ "sim equal";
+
+ pickup rule_pen;
+
+ draw sim(left_point + 1/2equal_spread * dir 90, right_point + 1/2equal_spread * dir 90);
+ draw (left_point - 5/6equal_spread * dir 90) -- (right_point - 5/6equal_spread * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 11/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(5/3, 11/3) * equal_spread# + rule_thickness#); "equal sim";
+ pickup rule_pen;
+
+ draw (left_point + 5/6equal_spread * dir 90) -- (right_point + 5/6equal_spread * dir 90);
+ draw sim(left_point - 1/2equal_spread * dir 90, right_point - 1/2equal_spread * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 11/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(8/3, 14/3) * equal_spread# + rule_thickness#); "cong";
+ pickup rule_pen;
+
+ draw sim(left_point + equal_spread * dir 90, right_point + equal_spread * dir 90);
+ draw (left_point - 1/3equal_spread * dir 90) -- (right_point - 1/3equal_spread * dir 90);
+ draw (left_point - 4/3equal_spread * dir 90) -- (right_point - 4/3equal_spread * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 14/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(8/3, 14/3) * equal_spread# + rule_thickness#);
+ "approx equal";
+
+ pickup rule_pen;
+
+ draw sim(left_point + equal_spread * dir 90, right_point + equal_spread * dir 90);
+ draw sim(left_point, right_point);
+ draw (left_point - 4/3equal_spread * dir 90) -- (right_point - 4/3equal_spread * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 14/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, ifneg(1,3) * equal_spread# + 2/5order_width# + rule_thickness#);
+ "bump equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z3 -- half_circle(1/2[z1,z3], order_width/5, 0) -- z1;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 2/5order_width);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, ifneg(1,3) * equal_spread# + 2/5order_width# + rule_thickness#);
+ "equal bump";
+
+ pickup rule_pen;
+
+ z0 - z1 = equal_spread * dir 90;
+ z2 - z3 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- half_circle(1/2[z1,z3], order_width/5, 180) -- z3;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 2/5order_width);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, ifneg(1,3) * equal_spread# + 2/5order_width# + rule_thickness#);
+ "double bump equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- half_circle(1/2[z0,z2], order_width/5, 180) -- z2;
+ draw z3 -- half_circle(1/2[z1,z3], order_width/5, 0) -- z1;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 2/5order_width);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#,
+ 3equal_spread# + ifneg(2dot_size#, equal_spread# + rule_thickness#));
+ "dot equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ fill circle(centre + 3/2equal_spread * dir 90, dot_size);
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#,
+ 3equal_spread# + ifneg(2dot_size#, equal_spread# + rule_thickness#));
+ "equal dot";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ fill circle(centre - 3/2equal_spread * dir 90, dot_size);
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#,
+ 3equal_spread# + ifneg(2dot_size#, equal_spread# + rule_thickness#));
+ "dot equal dot";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ fill circle(centre + 3/2equal_spread * dir 90, dot_size);
+ fill circle(centre - 3/2equal_spread * dir 90, dot_size);
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ 3equal_spread# + ifneg(2dot_size#, equal_spread# + rule_thickness#));
+ "falling dot equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ fill circle(left_point + 3/2equal_spread * dir 90, dot_size);
+ fill circle(right_point - 3/2equal_spread * dir 90, dot_size);
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+for round_smile = true, false:
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(2/3, 8/3) * equal_spread# + rule_thickness#);
+ "smile";
+
+ pickup rule_pen;
+
+ draw smile(sign, left_point, right_point, 2/3equal_spread, round_smile);
+
+ if negated = 1:
+ stroke_through(centre, 8/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(5/3, 11/3) * equal_spread# + rule_thickness#); "double smile";
+ pickup rule_pen;
+
+ s := 1/2equal_spread;
+
+ draw smile(sign, left_point + s * dir 90, right_point + s * dir 90, 2/3equal_spread, round_smile);
+ draw smile(sign, left_point - s * dir 90, right_point - s * dir 90, 2/3equal_spread, round_smile);
+
+ if negated = 1:
+ stroke_through(centre, 11/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(8/3, 14/3) * equal_spread# + rule_thickness#); "triple smile";
+ pickup rule_pen;
+
+ s := equal_spread;
+
+ draw smile(sign, left_point + s * dir 90, right_point + s * dir 90, 2/3equal_spread, round_smile);
+ draw smile(sign, left_point, right_point, 2/3equal_spread, round_smile);
+ draw smile(sign, left_point - s * dir 90, right_point - s * dir 90, 2/3equal_spread, round_smile);
+
+ if negated = 1:
+ stroke_through(centre, 14/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(7/3, 13/3) * equal_spread# + rule_thickness#); "smile frown";
+ pickup rule_pen;
+
+ s := 5/6equal_spread;
+
+ draw smile(sign, left_point + s * dir 90, right_point + s * dir 90, 2/3equal_spread, round_smile);
+ draw smile(-sign, left_point - s * dir 90, right_point - s * dir 90, 2/3equal_spread, round_smile);
+
+ if negated = 1:
+ stroke_through(centre, 13/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(5/3, 11/3) * equal_spread# + rule_thickness#); "smile equal";
+ pickup rule_pen;
+
+ s := 1/6equal_spread;
+
+ draw smile(sign, left_point + 3s * dir 90, right_point + 3s * dir 90, 2/3equal_spread, round_smile);
+ draw (left_point - 5s * dir 90) -- (right_point - 5s * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 11/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(5/3, 11/3) * equal_spread# + rule_thickness#); "equal smile";
+ pickup rule_pen;
+
+ s := 1/6equal_spread;
+
+ draw (left_point + 5s * dir 90) -- (right_point + 5s * dir 90);
+ draw smile(sign, left_point - 3s * dir 90, right_point - 3s * dir 90, 2/3equal_spread, round_smile);
+
+ if negated = 1:
+ stroke_through(centre, 11/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(8/3, 14/3) * equal_spread# + rule_thickness#);
+ "double smile equal";
+
+ pickup rule_pen;
+
+ s := 1/6equal_spread;
+
+ draw smile(sign, left_point + 6s * dir 90, right_point + 6s * dir 90, 2/3equal_spread, round_smile);
+ draw smile(sign, left_point, right_point, 2/3equal_spread, round_smile);
+ draw (left_point - 8s * dir 90) -- (right_point - 8s * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 14/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ if negated < 2:
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(10/3, 16/3) * equal_spread# + rule_thickness#);
+ "smile equal frown";
+
+ pickup rule_pen;
+
+ s := 4/3equal_spread;
+
+ draw smile(sign, left_point + s * dir 90, right_point + s * dir 90, 2/3equal_spread, round_smile);
+ draw left_point -- right_point;
+ draw smile(-sign, left_point - s * dir 90, right_point - s * dir 90, 2/3equal_spread, round_smile);
+
+ if negated = 1:
+ stroke_through(centre, 16/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+ fi;
+
+ % Only the round version since we have no free glyphs left.
+ if round_smile and (negated < 2):
+ for sign = 1, -1:
+ beginorder(1, order_width# + rule_thickness#, ifneg(10/3, 16/3) * equal_spread# + rule_thickness#);
+ "smile frown equal";
+
+ pickup rule_pen;
+
+ s := 1/6equal_spread;
+
+ draw smile(sign, left_point + 8s * dir 90, right_point + 8s * dir 90, 2/3equal_spread, round_smile);
+ draw smile(-sign, left_point - 1s * dir 90, right_point - 1s * dir 90, 2/3equal_spread, round_smile);
+ draw (left_point - 10s * dir 90) -- (right_point - 10s * dir 90);
+
+ if negated = 1:
+ stroke_through(centre, 16/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+endfor;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, ifneg(1,3) * equal_spread# + rule_thickness#);
+ "equal circled";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+
+ pickup pencircle scaled 3/4rule_thickness;
+
+ draw circle(centre, 1/2equal_spread);
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, 3equal_spread# + 7/2dot_size# + rule_thickness#);
+ "circ equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+
+ pickup pencircle scaled 3/4rule_thickness;
+
+ draw circle(centre + 3/2equal_spread * dir 90,
+ min (7/4dot_size, equal_spread - 3/4rule_thickness));
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 7/2dot_size);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, 3equal_spread# + 7/2dot_size# + rule_thickness#);
+ "triangle equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ x4 = xpart centre;
+ y4 = y5 + sind 60 * (x6 - x5) = h - 1/2rule_thickness;
+
+ y5 = y6;
+ 1/2[x5, x6] = xpart centre;
+
+ y5 - y1 = 2/3equal_spread;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+
+ pickup pencircle scaled 3/4rule_thickness;
+
+ draw z4 -- z5 -- z6 -- cycle;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 7/2dot_size);
+ fi;
+ endchar;
+fi;
+
+if negated < 2:
+ beginorder(1, order_width# + rule_thickness#, 5/2equal_spread# + 7/2dot_size# + rule_thickness#);
+ "hat equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ x4 = xpart centre;
+ y4 = y5 + sind 30 * (x6 - x5) = h - 1/2rule_thickness;
+
+ y5 = y6;
+ 1/2[x5, x6] = xpart centre;
+
+ y5 - y1 = 2/3equal_spread;
+
+ draw z0 -- z2;
+ draw z1 -- z3;
+ draw z6 -- z4 -- z5;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 7/2dot_size);
+ fi;
+ endchar;
+fi;
+
+% element signs
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, 17/24order_width# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + 8/9[equal_spread#, greater_spread#] + rule_thickness#);
+ "element";
+
+ pickup rule_pen;
+
+ s := 8/9[equal_spread, greater_spread];
+
+ z1 - z0 = s * dir 90;
+ 1/2[z0, z1] = right_point;
+ z3 - z2 = s * dir 90;
+ 1/2[z2, z3] = 7/10[left_point,right_point];
+
+ draw z0 -- z2{left_point - right_point} .. left_point .. {right_point - left_point}z3 -- z1;
+ draw left_point -- right_point;
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + 8/9[equal_spread, greater_spread]);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+% orderings
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + greater_spread# + rule_thickness#);
+ "less than";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+
+ 1/2[z0, z1] = right_point;
+
+ draw z0 -- left_point -- z1;
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(2/3, 8/3) * equal_spread# + rule_thickness#);
+ "less than or equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ y2 = 1/2[y0, y1];
+ x2 = x3 = xpart left_point;
+ y3 = y4;
+ z0 - z4 = 2/3equal_spread * dir 90;
+
+ 1/2[z1, z4] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4;
+
+ if negated = 1:
+ stroke_through(centre, 8/3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(1,3) * equal_spread# + rule_thickness#);
+ "less than or slanted equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ z2 - z3 = equal_spread * dir 90;
+ z0 - z4 = equal_spread * dir 90;
+
+ 1/2[z2, z3] = left_point;
+ 1/2[z1, z4] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(5/3, 11/3, 11/3) * equal_spread# + rule_thickness#);
+ "less than or double equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ y2 = 1/2[y0, y1];
+ x2 = x3 = x5 = xpart left_point;
+ y3 = y4;
+ z0 - z4 = 2/3equal_spread * dir 90;
+ y5 = y6;
+ z4 - z6 = equal_spread * dir 90;
+
+ 1/2[z1, z6] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4;
+ draw z5 -- z6;
+
+ if negated = 1:
+ stroke_through(centre, 11/3equal_spread + greater_spread);
+ elseif negated = 2:
+ stroke_through(1/2[1/2[z3,z4], 1/2[z5,z6]], 3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ 3/2greater_spread# + ifneg(1,3) * equal_spread# + rule_thickness#);
+ "less greater";
+
+ pickup rule_pen;
+
+ y1 - y0 = greater_spread;
+ y2 - y3 = equal_spread;
+ y0 - y4 = equal_spread;
+ y3 - y5 = greater_spread;
+
+ x2 = x3 = x5 = xpart left_point;
+ x0 = x1 = x4 = xpart right_point;
+
+ y2 = 1/2[y0, y1];
+
+ 1/2[y1, y5] = ypart centre;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4 -- z5;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 3/2greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ 2greater_spread# + ifneg(4/3, 10/3) * equal_spread# + rule_thickness#);
+ "less equal greater";
+
+ pickup rule_pen;
+
+ y2 - y0 = greater_spread;
+ x0 = x2 = xpart right_point;
+
+ y1 = 1/2[y0, y2];
+ x1 = xpart left_point;
+
+ y5 - y3 = greater_spread;
+ x3 = x5 = xpart left_point;
+
+ y4 = 1/2[y3, y5];
+ x4 = xpart right_point;
+
+ y0 - y5 = 4/3equal_spread;
+
+ 1/2[y0, y5] = ypart centre;
+
+ draw z0 -- z1 -- z2;
+ draw z3 -- z4 -- z5;
+ draw left_point -- right_point;
+
+ if negated = 1:
+ stroke_through(centre, 10/3equal_spread + 2greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ 2greater_spread# + ifneg(7/3, 13/3, 13/3) * equal_spread# + rule_thickness#);
+ "less double equal greater";
+
+ pickup rule_pen;
+
+ y2 - y0 = greater_spread;
+ x0 = x2 = xpart right_point;
+
+ y1 = 1/2[y0, y2];
+ x1 = xpart left_point;
+
+ y5 - y3 = greater_spread;
+ x3 = x5 = xpart left_point;
+
+ y4 = 1/2[y3, y5];
+ x4 = xpart right_point;
+
+ y0 - y5 = 7/3equal_spread;
+
+ 1/2[y0, y5] = ypart centre;
+
+ 1/2[z6, z7] = left_point;
+ 1/2[z8, z9] = right_point;
+
+ z7 - z6 = equal_spread * dir 90;
+ z9 - z8 = equal_spread * dir 90;
+
+ draw z0 -- z1 -- z2;
+ draw z3 -- z4 -- z5;
+ draw z6 -- z8;
+ draw z7 -- z9;
+
+ if negated = 1:
+ stroke_through(centre, 13/3equal_spread + 2greater_spread);
+ elseif negated = 2:
+ stroke_through(centre, 3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ 3/2greater_spread# + ifneg(2,4) * equal_spread# + rule_thickness#);
+ "less slanted equal greater";
+
+ pickup rule_pen;
+
+ y2 - y0 = greater_spread;
+ x0 = x2 = xpart right_point;
+
+ y1 = 1/2[y0, y2];
+ x1 = xpart left_point;
+
+ y5 - y3 = greater_spread;
+ x3 = x5 = xpart left_point;
+
+ y4 = 1/2[y3, y5];
+ x4 = xpart right_point;
+
+ z6 = 1/2[z1, z5];
+ z7 = 1/2[z0, z4];
+
+ y1 - y6 = equal_spread;
+
+ 1/2[y6, y7] = ypart centre;
+
+ draw z0 -- z1 -- z2;
+ draw z3 -- z4 -- z5;
+ draw z6 -- z7;
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread + 3/2greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + 2equal_spread# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + greater_spread# + rule_thickness#);
+ "less less";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ z3 - z5 = greater_spread * dir 90;
+ z2 = left_point;
+ z4 - z2 = sign * 2equal_spread * dir 0;
+ z3 - z1 = sign * 2equal_spread * dir 0;
+
+ 1/2[z3, z5] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4 -- z5;
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + 4equal_spread# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + greater_spread# + rule_thickness#);
+ "less less less";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ z3 - z5 = greater_spread * dir 90;
+ z6 - z8 = greater_spread * dir 90;
+ z2 = left_point;
+ z4 - z2 = sign * 2equal_spread * dir 0;
+ z3 - z1 = sign * 2equal_spread * dir 0;
+ z7 - z4 = sign * 2equal_spread * dir 0;
+ z6 - z3 = sign * 2equal_spread * dir 0;
+
+ 1/2[z6, z8] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4 -- z5;
+ draw z6 -- z7 -- z8;
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + greater_spread# + rule_thickness#);
+ "closed less than";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+
+ 1/2[z0, z1] = right_point;
+
+ draw z0 -- left_point -- z1 -- cycle;
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(2/3, 8/3) * equal_spread# + rule_thickness#);
+ "closed less than or equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ y2 = 1/2[y0, y1];
+ x2 = x3 = xpart left_point;
+ y3 = y4;
+ z0 - z4 = 2/3equal_spread * dir 90;
+
+ 1/2[z1, z4] = right_point;
+
+ draw z0 -- z2 -- z1 -- cycle;
+ draw z3 -- z4;
+
+ if negated = 1:
+ stroke_through(centre, 8/3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ 1/2[equal_spread#, greater_spread#] + ifneg(0,2) * equal_spread# + rule_thickness#);
+ "square subset";
+
+ pickup rule_pen;
+
+ z1 - z0 = 1/2[equal_spread, greater_spread] * dir 90;
+ z3 - z2 = 1/2[equal_spread, greater_spread] * dir 90;
+
+ 1/2[z0, z1] = left_point;
+ 1/2[z2, z3] = right_point;
+
+ draw z3 -- z1 -- z0 -- z2;
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + 1/2[equal_spread, greater_spread]);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(1,3,3) * equal_spread# + 1/2[equal_spread#, greater_spread#] + rule_thickness#);
+ "square subset equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = 1/2[equal_spread, greater_spread] * dir 90;
+ z3 - z2 = 1/2[equal_spread, greater_spread] * dir 90;
+
+ 1/2[z1, z4] = left_point;
+ 1/2[z3, z5] = right_point;
+
+ y4 = y5 = y0 - equal_spread;
+ x4 = x0;
+ x5 = x2;
+
+ draw z3 -- z1 -- z0 -- z2;
+ draw z4 -- z5;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 1/2[equal_spread, greater_spread]);
+ elseif negated = 2:
+ stroke_through(1/2[1/2[z0,z2], 1/2[z4,z5]], 3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(2,4,4) * equal_spread# + 1/2[equal_spread#, greater_spread#] + rule_thickness#);
+ "square subset double equal";
+
+ pickup rule_pen;
+
+ z1 - z0 = 1/2[equal_spread, greater_spread] * dir 90;
+ z3 - z2 = 1/2[equal_spread, greater_spread] * dir 90;
+
+ 1/2[z1, z6] = left_point;
+ 1/2[z3, z7] = right_point;
+
+ y4 = y5 = y0 - equal_spread;
+ y6 = y7 = y4 - equal_spread;
+ x4 = x6 = x0;
+ x5 = x7 = x2;
+
+ draw z3 -- z1 -- z0 -- z2;
+ draw z4 -- z5;
+ draw z6 -- z7;
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread + 1/2[equal_spread, greater_spread]);
+ elseif negated = 2:
+ stroke_through(1/2[1/2[z4,z5], 1/2[z6,z7]], 3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(8/3, 14/3) * equal_spread# + rule_thickness#);
+ "double square subset";
+
+ pickup rule_pen;
+
+ z1 - z0 = equal_spread * dir 90;
+ z3 - z2 = equal_spread * dir 90;
+
+ 1/2[z1, z0] = left_point + 3/4equal_spread * dir (90 - sign * 90);
+ 1/2[z3, z2] = right_point;
+
+ z5 - z4 = 8/3equal_spread * dir 90;
+ z7 - z6 = 8/3equal_spread * dir 90;
+
+ 1/2[z5, z4] = left_point;
+ 1/2[z7, z6] = right_point;
+
+ draw z3 -- z1 -- z0 -- z2;
+ draw z7 -- z5 -- z4 -- z6;
+
+ if negated = 1:
+ stroke_through(centre, 14/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "subset";
+
+ pickup rule_pen;
+
+ draw subset(left_point, right_point, 2/3[equal_spread, greater_spread]);
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + 2/3[equal_spread, greater_spread]);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(1,3,3) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "subset or equal";
+
+ pickup rule_pen;
+
+ t := 2/3[equal_spread, greater_spread];
+ s := 1/2equal_spread + 1/2t;
+
+ z1 - z0 = z3 - z2 = (t/2 + equal_spread) * dir 90;
+ y0 = y2 = ypart centre - s;
+ x0 = xpart left_point;
+ x2 = xpart right_point;
+
+ draw subset(z1, z3, t);
+ draw z0 -- z2;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 2/3[equal_spread, greater_spread]);
+ elseif negated = 2:
+ stroke_through(1/2[z0,z2] + 1/2equal_spread * dir 90, 3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(2,4,4) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "subset or double equal";
+
+ pickup rule_pen;
+
+ t := 2/3[equal_spread, greater_spread];
+ s := 1/2t;
+
+ z1 - z0 = z3 - z2 = (t/2 + equal_spread) * dir 90;
+ y0 = y2 = ypart centre - s;
+ x0 = xpart left_point;
+ x2 = xpart right_point;
+
+ z0 - z4 = z2 - z5 = equal_spread * dir 90;
+
+ draw subset(z1, z3, t);
+ draw z0 -- z2;
+ draw z4 -- z5;
+
+ if negated = 1:
+ stroke_through(centre, 4equal_spread + 2/3[equal_spread, greater_spread]);
+ elseif negated = 2:
+ stroke_through(1/2[1/2[z0,z2], 1/2[z4,z5]], 3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#, ifneg(8/3, 14/3) * equal_spread# + rule_thickness#);
+ "double subset";
+
+ pickup rule_pen;
+
+ draw subset(left_point + 3/4equal_spread * dir (90 - sign * 90), right_point,
+ equal_spread);
+ draw subset(left_point, right_point, 8/3equal_spread);
+
+ if negated = 1:
+ stroke_through(centre, 14/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "curly less than";
+
+ pickup rule_pen;
+
+ draw prec(left_point, right_point, 2/3[equal_spread, greater_spread]);
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + 2/3[equal_spread, greater_spread]);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(2/3, 8/3) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "curly less than or equal";
+
+ pickup rule_pen;
+
+ t := 2/3[equal_spread, greater_spread];
+ s := 1/3equal_spread + 1/2t;
+
+ z1 - z0 = z3 - z2 = (t/2 + 2/3equal_spread) * dir 90;
+ y0 = y2 = ypart centre - s;
+ x0 = xpart left_point;
+ x2 = xpart right_point;
+
+ draw prec(z1, z3, t);
+ draw z0 -- z2;
+
+ if negated = 1:
+ stroke_through(centre, 8/3equal_spread + 2/3[equal_spread, greater_spread]);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(1,3) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "curly less than or curly equal";
+
+ pickup rule_pen;
+
+ t := 2/3[equal_spread, greater_spread];
+
+ z1 - z0 = equal_spread * dir 90;
+ z4 - z2 = 7/5equal_spread * dir 90;
+ z3 - z4 = t/2 * dir 90;
+ y1 = y3;
+ y4 = ypart centre - 1/2(t - equal_spread);
+ x0 = xpart left_point;
+ x2 = xpart right_point;
+
+ path p;
+
+ p = z0{z3 - z1} .. z2;
+
+ v := xpart (p intersectiontimes (z4 -- (z4 + h * dir (270 - sign * 20))));
+
+ draw prec(z1, z3, t);
+ draw subpath (0,v) of p;
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + 2/3[equal_spread, greater_spread]);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(4/3, 10/3) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "curly less sim";
+
+ pickup rule_pen;
+
+ t := 2/3[equal_spread, greater_spread];
+ s := 1/3equal_spread + t/2;
+
+ z1 - z0 = z3 - z2 = (t/2 + equal_spread) * dir 90;
+ y0 = y2 = ypart centre - s;
+ x0 = xpart left_point;
+ x2 = xpart right_point;
+
+ draw prec(z1, z3, t);
+
+ if sign > 0:
+ draw sim(z0, z2);
+ else:
+ draw sim(z2, z0);
+ fi
+
+ if negated = 1:
+ stroke_through(centre, 10/3equal_spread + 2/3[equal_spread, greater_spread]);
+ elseif negated = 2:
+ stroke_through(1/2[z0,z2], 8/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 3:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(7/3, 13/3, 13/3) * equal_spread# + 2/3[equal_spread#, greater_spread#] + rule_thickness#);
+ "curly less approx";
+
+ pickup rule_pen;
+
+ t := 2/3[equal_spread, greater_spread];
+ s := -1/6equal_spread + t/2;
+
+ z1 - z0 = z3 - z2 = (t/2 + equal_spread) * dir 90;
+ y0 = y2 = ypart centre - s;
+ x0 = xpart left_point;
+ x2 = xpart right_point;
+
+ z0 - z4 = z2 - z5 = equal_spread * dir 90;
+
+ draw prec(z1, z3, t);
+
+ if sign > 0:
+ draw sim(z0, z2);
+ draw sim(z4, z5);
+ else:
+ draw sim(z2, z0);
+ draw sim(z5, z4);
+ fi
+
+ if negated = 1:
+ stroke_through(centre, 13/3equal_spread + 2/3[equal_spread, greater_spread]);
+ elseif negated = 2:
+ stroke_through(1/2[1/2[z0,z2], 1/2[z4,z5]], 11/3equal_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ ifneg(0,2) * equal_spread# + greater_spread# + rule_thickness#);
+ "less than dot";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+
+ 1/2[z0, z1] = right_point;
+
+ draw z0 -- left_point -- z1;
+ fill circle(right_point - sign * dot_size * dir 0, dot_size);
+
+ if negated = 1:
+ stroke_through(centre, 2equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(2/3, 10/3) * equal_spread# + rule_thickness#);
+ "less than or equal dot";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ y2 = 1/2[y0, y1];
+ x2 = x3 = xpart left_point;
+ y3 = y4;
+ z0 - z4 = 2/3equal_spread * dir 90;
+
+ 1/2[z1, z4] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4;
+ fill circle(1/2[z0,z1] - sign * dot_size * dir 0, dot_size);
+
+ if negated = 1:
+ stroke_through(centre, 10/3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
+if negated < 2:
+ for sign = 1, -1:
+ beginorder(sign, order_width# + rule_thickness#,
+ greater_spread# + ifneg(1,3) * equal_spread# + rule_thickness#);
+ "less than or slanted equal dot";
+
+ pickup rule_pen;
+
+ z1 - z0 = greater_spread * dir 90;
+ z2 - z3 = equal_spread * dir 90;
+ z0 - z4 = equal_spread * dir 90;
+
+ 1/2[z2, z3] = left_point;
+ 1/2[z1, z4] = right_point;
+
+ draw z0 -- z2 -- z1;
+ draw z3 -- z4;
+ fill circle(1/2[z0,z1] - sign * dot_size * dir 0, dot_size);
+
+ if negated = 1:
+ stroke_through(centre, 3equal_spread + greater_spread);
+ fi;
+ endchar;
+ endfor;
+fi;
+
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold10.tfm
new file mode 100644
index 00000000000..83b3484ae7b
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold12.tfm
new file mode 100644
index 00000000000..8ded2d4e854
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold5.tfm
new file mode 100644
index 00000000000..2d3483242a2
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold6.tfm
new file mode 100644
index 00000000000..4ee552ca9e4
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold7.tfm
new file mode 100644
index 00000000000..152f48820b5
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold8.tfm
new file mode 100644
index 00000000000..21ef7165108
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold9.tfm
new file mode 100644
index 00000000000..383d73c5b9d
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA-Bold9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA10.tfm
new file mode 100644
index 00000000000..f91eed9d8a0
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA12.tfm
new file mode 100644
index 00000000000..e6624843c09
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA5.tfm
new file mode 100644
index 00000000000..3df35640a43
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA6.tfm
new file mode 100644
index 00000000000..844354493d0
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA7.tfm
new file mode 100644
index 00000000000..bd47766ef71
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA8.tfm
new file mode 100644
index 00000000000..4569d707568
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA9.tfm
new file mode 100644
index 00000000000..62d1394f49e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolA9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold10.tfm
new file mode 100644
index 00000000000..a14a9983717
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold12.tfm
new file mode 100644
index 00000000000..ad3ad4cc39a
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold5.tfm
new file mode 100644
index 00000000000..ac331dd8f61
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold6.tfm
new file mode 100644
index 00000000000..8951f94b0c4
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold7.tfm
new file mode 100644
index 00000000000..dc3b55db4c8
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold8.tfm
new file mode 100644
index 00000000000..190cf7cac89
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold9.tfm
new file mode 100644
index 00000000000..04b24334629
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB-Bold9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB10.tfm
new file mode 100644
index 00000000000..aeb3f8abc89
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB12.tfm
new file mode 100644
index 00000000000..994d58bf851
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB5.tfm
new file mode 100644
index 00000000000..6edc7e07f9f
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB6.tfm
new file mode 100644
index 00000000000..97c22db5cb6
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB7.tfm
new file mode 100644
index 00000000000..debd19efa18
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB8.tfm
new file mode 100644
index 00000000000..8c71ecae1d3
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB9.tfm
new file mode 100644
index 00000000000..be8fb1739c8
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolB9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold10.tfm
new file mode 100644
index 00000000000..4a744b7bdc7
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold12.tfm
new file mode 100644
index 00000000000..5da76717cfd
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold5.tfm
new file mode 100644
index 00000000000..ffcd438dbfd
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold6.tfm
new file mode 100644
index 00000000000..f3f6931d72c
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold7.tfm
new file mode 100644
index 00000000000..63fcd2a9637
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold8.tfm
new file mode 100644
index 00000000000..4cc866d390e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold9.tfm
new file mode 100644
index 00000000000..0f4d384f72e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC-Bold9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC10.tfm
new file mode 100644
index 00000000000..5ed9d55b69b
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC12.tfm
new file mode 100644
index 00000000000..c9df4055852
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC5.tfm
new file mode 100644
index 00000000000..846d58f4be9
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC6.tfm
new file mode 100644
index 00000000000..b7cd2d4c903
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC7.tfm
new file mode 100644
index 00000000000..2c90d94e05e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC8.tfm
new file mode 100644
index 00000000000..bdc312ce468
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC9.tfm
new file mode 100644
index 00000000000..d5e72664a2e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolC9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold10.tfm
new file mode 100644
index 00000000000..c92831864df
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold12.tfm
new file mode 100644
index 00000000000..269ae106f9d
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold5.tfm
new file mode 100644
index 00000000000..eca7e8376ff
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold6.tfm
new file mode 100644
index 00000000000..b652d888ed0
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold7.tfm
new file mode 100644
index 00000000000..479fac70ee5
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold8.tfm
new file mode 100644
index 00000000000..508a266f657
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold9.tfm
new file mode 100644
index 00000000000..abbee106a54
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD-Bold9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD10.tfm
new file mode 100644
index 00000000000..9c2e3d310a6
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD12.tfm
new file mode 100644
index 00000000000..8fc29c614e2
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD5.tfm
new file mode 100644
index 00000000000..ffe5d98aeb3
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD6.tfm
new file mode 100644
index 00000000000..fbf6858ef32
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD7.tfm
new file mode 100644
index 00000000000..6748d94124e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD8.tfm
new file mode 100644
index 00000000000..958cad5366a
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD9.tfm
new file mode 100644
index 00000000000..ceefcd383be
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolD9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold10.tfm
new file mode 100644
index 00000000000..2140a88a27e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold12.tfm
new file mode 100644
index 00000000000..88070929cb7
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold5.tfm
new file mode 100644
index 00000000000..aa0d209b477
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold6.tfm
new file mode 100644
index 00000000000..3d3680eb6ec
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold7.tfm
new file mode 100644
index 00000000000..66c3b2a71eb
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold8.tfm
new file mode 100644
index 00000000000..970a9619ccc
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold9.tfm
new file mode 100644
index 00000000000..21b97ce09ae
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE-Bold9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE10.tfm
new file mode 100644
index 00000000000..9189317cb1a
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE12.tfm
new file mode 100644
index 00000000000..9c27e6f98e7
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE5.tfm
new file mode 100644
index 00000000000..714054e6f71
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE6.tfm
new file mode 100644
index 00000000000..2a17bc9c576
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE7.tfm
new file mode 100644
index 00000000000..632e05023a2
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE8.tfm
new file mode 100644
index 00000000000..b86d096eec6
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE9.tfm
new file mode 100644
index 00000000000..92847a4312d
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolE9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold10.tfm
new file mode 100644
index 00000000000..8483687423b
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold12.tfm
new file mode 100644
index 00000000000..ce1097a2c14
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold5.tfm
new file mode 100644
index 00000000000..e79663eb87d
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold6.tfm
new file mode 100644
index 00000000000..5ed0e7819ee
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold7.tfm
new file mode 100644
index 00000000000..db584b8fb39
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold8.tfm
new file mode 100644
index 00000000000..0bb970efbaf
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold9.tfm
new file mode 100644
index 00000000000..0604abefc18
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF-Bold9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF10.tfm
new file mode 100644
index 00000000000..4a270276d50
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF12.tfm
new file mode 100644
index 00000000000..ddf1e3ccebc
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF5.tfm
new file mode 100644
index 00000000000..a0b5023500e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF6.tfm
new file mode 100644
index 00000000000..b9500d64fa6
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF7.tfm
new file mode 100644
index 00000000000..0e49c44d21f
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF8.tfm
new file mode 100644
index 00000000000..7c900122754
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF9.tfm
new file mode 100644
index 00000000000..5fc9f58c00d
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolF9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold10.tfm
new file mode 100644
index 00000000000..6f053c467ff
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold12.tfm
new file mode 100644
index 00000000000..94b980d83b4
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold5.tfm
new file mode 100644
index 00000000000..576973b4437
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold6.tfm
new file mode 100644
index 00000000000..52c43e34d70
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold7.tfm
new file mode 100644
index 00000000000..11241fefc8d
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold8.tfm
new file mode 100644
index 00000000000..45eb8691939
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold9.tfm
new file mode 100644
index 00000000000..03d8b681bda
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS-Bold9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS10.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS10.tfm
new file mode 100644
index 00000000000..46b95cbbab9
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS12.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS12.tfm
new file mode 100644
index 00000000000..e84179c962f
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS12.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS5.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS5.tfm
new file mode 100644
index 00000000000..914f5190150
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS6.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS6.tfm
new file mode 100644
index 00000000000..37298bf3816
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS7.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS7.tfm
new file mode 100644
index 00000000000..aca1f3ea190
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS8.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS8.tfm
new file mode 100644
index 00000000000..719c1198b3c
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS9.tfm b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS9.tfm
new file mode 100644
index 00000000000..2cd91f5838e
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/mnsymbol/MnSymbolS9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold10.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold10.pfb
new file mode 100644
index 00000000000..84bf7170cad
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold12.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold12.pfb
new file mode 100644
index 00000000000..1daa25c2c14
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold12.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold5.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold5.pfb
new file mode 100644
index 00000000000..826911239b9
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold5.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold6.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold6.pfb
new file mode 100644
index 00000000000..42eb35578a4
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold6.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold7.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold7.pfb
new file mode 100644
index 00000000000..7e081a50286
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold7.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold8.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold8.pfb
new file mode 100644
index 00000000000..876ab213cd2
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold8.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold9.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold9.pfb
new file mode 100644
index 00000000000..640870540ce
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol-Bold9.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol10.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol10.pfb
new file mode 100644
index 00000000000..50ffb107d01
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol10.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol12.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol12.pfb
new file mode 100644
index 00000000000..8fa040af300
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol12.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol5.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol5.pfb
new file mode 100644
index 00000000000..8cc35b9c83b
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol5.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol6.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol6.pfb
new file mode 100644
index 00000000000..4c0ed9ed3cb
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol6.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol7.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol7.pfb
new file mode 100644
index 00000000000..ae0e85b4d7a
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol7.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol8.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol8.pfb
new file mode 100644
index 00000000000..2ee779c96cd
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol8.pfb
Binary files differ
diff --git a/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol9.pfb b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol9.pfb
new file mode 100644
index 00000000000..02e2e084855
--- /dev/null
+++ b/Master/texmf-dist/fonts/type1/public/mnsymbol/MnSymbol9.pfb
Binary files differ