summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-01-20 22:49:56 +0000
committerKarl Berry <karl@freefriends.org>2020-01-20 22:49:56 +0000
commit912572d81b0ed3d7ac9fe322e50d793f8f033522 (patch)
tree923f33bca6c819a46513ecb624fdc827075d6e99 /Master/texmf-dist/fonts
parent0480e40defcc2fd417207ff1de49c8b44aa4a968 (diff)
wasy (20jan20)
git-svn-id: svn://tug.org/texlive/trunk@53468 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts')
-rw-r--r--Master/texmf-dist/fonts/source/public/wasy/rsym.mf107
-rw-r--r--Master/texmf-dist/fonts/source/public/wasy/wasychr.mf123
-rw-r--r--Master/texmf-dist/fonts/source/public/wasy/wasysl10.mf100
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasy10.tfmbin884 -> 908 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasy5.tfmbin888 -> 908 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasy6.tfmbin892 -> 912 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasy7.tfmbin888 -> 912 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasy8.tfmbin884 -> 904 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasy9.tfmbin888 -> 908 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasyb10.tfmbin888 -> 912 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/wasy/wasysl10.tfmbin0 -> 1032 bytes
11 files changed, 271 insertions, 59 deletions
diff --git a/Master/texmf-dist/fonts/source/public/wasy/rsym.mf b/Master/texmf-dist/fonts/source/public/wasy/rsym.mf
index 1d1a4c1f736..94d4e19e734 100644
--- a/Master/texmf-dist/fonts/source/public/wasy/rsym.mf
+++ b/Master/texmf-dist/fonts/source/public/wasy/rsym.mf
@@ -1,4 +1,4 @@
-% This is RSYM.MF in text format, version 1.1
+% This is RSYM.MF in text format, version 2.3
cmchar "therefore";
beginchar(hex"05",12u#,x_height#,0);
@@ -54,7 +54,7 @@ labels(1,2,3); endchar;
cmchar "aries";
beginchar(hex"17",asc_height#+2u#,asc_height#,0);
-italcorr 2/3asc_height#*slant;
+italcorr asc_height#*slant-.5u#;
adjust_fit(0,0); pickup rule.nib;
y1=y6; y2-y1=x2-x1; top y2 = h+oo; y5=y2; bot y4 = 0-oo;
y3=.85[y4,y1];
@@ -82,7 +82,7 @@ beginchar(hex"5E",asc_height#+2u#,asc_height#,0);
italcorr 2/3asc_height#*slant;
adjust_fit(0,0); pickup rule.nib;
top y2 = h+u; bot y1 = 0-u; y4 = y1; y3 = y2;
-x1 = x2 = u; x3 = x4 = w-u;
+x1 = x2 = u; x3 = x4 = w-u;
bot y5 = 1/18h; top y6 = 17/18h; y8 = y5; y7 = y6;
x5 = x6 = 1/3w; x7 = x8 = 2/3w;
draw z5--z6;
@@ -111,7 +111,7 @@ adjust_fit(0,0); pickup rule.nib;
top y2 = h; bot y1 = 0; y4 = y1; y3 = y2;
y2 - y5 = y5 - y1; y6 = y5;
x5 = 1/3w; x5-x1 = x3-x6;
-x1 = x2 = hround u; x3 = x4 = hround w-u;
+x1 = x2 = hround u; x3 = x4 = hround w-u;
draw z5--z6;
draw z1..z5..z2;
draw z3..z6..z4;
@@ -486,7 +486,7 @@ labels(1,2,3,4,5,6,7,8,9); endchar;
cmchar "conjunction";
numeric this_size#;
this_size# = x_height#*(1+0.9/sqrt2);
-beginchar(hex"56",this_size#+1.7u#,this_size#,0);
+beginchar(hex"56",this_size#+0.7u#,this_size#,0);
italcorr this_size#*slant;
adjust_fit(if monospace: u#,u# else: 0,0 fi);
pickup rule.nib; autorounded;
@@ -500,16 +500,17 @@ draw z1--z9;
labels(1,2,3,4,5,6,7,8,9); endchar;
cmchar "opposition";
-beginchar(hex"57",2x_height#+2u#,
- 2.2x_height#-0.5desc_depth#,0.5desc_depth#);
+beginchar(hex"57",2x_height#+1.5u#,
+ 2x_height#-0.7desc_depth#,0.7desc_depth#);
italcorr 1.5x_height#*slant;
adjust_fit(if monospace: u#,u# else: 0,0 fi);
pickup rule.nib; autorounded;
-lft x6=hround u; x2-x6=y8-y4=x_height; bot y4=-d-oo;
+lft x6=hround u; x2=x_height+2u-x6; bot y4=-d; y2=-d+.5x_height;
circle_points;
draw_circle;
-x10 = w-u-x2; y10=h+oo-y8;
-for n=1 upto 8: z[n]' = z[n] + z10; endfor
+z5'=1.5[z5,z1];
+for n=1 upto 4: z[n]' = z[n] + z5' - z5; endfor
+for n=6 upto 8: z[n]' = z[n] + z5' - z5; endfor
draw z8'{right}...z1'{z2-z8}...z2'{down}...z3'{z4-z2}...z4'{left}
...z5'{z6-z4}...z6'{up}...z7'{z8-z6}...cycle;
draw z1--z5';
@@ -1123,11 +1124,19 @@ penlabels(11,12,11',12'); endchar;
cmchar "APLuparrowbox";
beginchar(hex"6E",14u#,7u#+math_axis#,7u#-math_axis#);
italcorr math_axis#*slant-.5u#;
-adjust_fit(0,0); pickup crisp.nib;
+adjust_fit(0,0);
+pickup rule.nib;
+y+.5dot_size=vround(math_axis+math_spread[.5x_height,.6x_height]
++.5dot_size);
+lft x11=hround u-eps; x11'=x11; x12=x12'=w-x11;
+y11=y12=math_axis-1.8(y-math_axis);
+y11'=y12'=math_axis+1.8(y-math_axis);
+draw z11--z12--z12'--z11'--cycle;
+pickup crisp.nib;
pos1(rule_thickness,0); pos2(rule_thickness,0);
pos3(bar,90); pos4(bar,90);
-lft x1l=hround(.5w-.5rule_thickness); bot y1-rule_thickness=-d;
-x0=x1=x2; top y0=h-.5u; x0-x3=x4-x0=3u+eps;
+lft x1l=hround(.5w-.5rule_thickness); bot y1-rule_thickness=y11+.5u;
+x0=x1=x2; top y0=y11'-1u; x0-x3=x4-x0=3u+eps;
y3=y4=y0-.24asc_height-eps;
pos5(bar,angle(z4-z0)); z5l=z0;
pos6(bar,angle(z3-z0)); z6l=z0;
@@ -1138,6 +1147,12 @@ filldraw z0..{z4-z9}z4r--subpath (0,t) of\\(z4l{z9-z4}..z6r)
--z2r---z1r..z1l---z2l--subpath (t,0) of\\(z3l{z9-z3}..z5r)
--z3r{z9-z3}..z0 & cycle; % arrowhead and stem
penlabels(0,1,2,3,4,5,6,9);
+penlabels(11,12,11',12'); endchar;
+
+cmchar "APLdownarrowbox";
+beginchar(hex"6F",14u#,7u#+math_axis#,7u#-math_axis#);
+italcorr math_axis#*slant-.5u#;
+adjust_fit(0,0);
pickup rule.nib;
y+.5dot_size=vround(math_axis+math_spread[.5x_height,.6x_height]
+.5dot_size);
@@ -1145,16 +1160,11 @@ lft x11=hround u-eps; x11'=x11; x12=x12'=w-x11;
y11=y12=math_axis-1.8(y-math_axis);
y11'=y12'=math_axis+1.8(y-math_axis);
draw z11--z12--z12'--z11'--cycle;
-penlabels(11,12,11',12'); endchar;
-
-cmchar "APLdownarrowbox";
-beginchar(hex"6F",14u#,7u#+math_axis#,7u#-math_axis#);
-italcorr math_axis#*slant-.5u#;
-adjust_fit(0,0); pickup crisp.nib;
+pickup crisp.nib;
pos1(rule_thickness,0); pos2(rule_thickness,0);
pos3(bar,90); pos4(bar,90);
-lft x1l=hround(.5w-.5rule_thickness); top y1+rule_thickness=h;
-x0=x1=x2; bot y0=-d+.5u; x0-x3=x4-x0=3u+eps;
+lft x1l=hround(.5w-.5rule_thickness); top y1+rule_thickness=y11'-.5u;
+x0=x1=x2; bot y0=y11+1u; x0-x3=x4-x0=3u+eps;
y3=y4=y0+.24asc_height+eps;
pos5(bar,angle(z4-z0)); z5l=z0;
pos6(bar,angle(z3-z0)); z6l=z0;
@@ -1165,13 +1175,6 @@ filldraw z0..{z4-z9}z4l--subpath (0,t) of\\(z4r{z9-z4}..z6r)
--z2r---z1r..z1l---z2l--subpath (t,0) of\\(z3r{z9-z3}..z5r)
--z3l{z9-z3}..z0 & cycle; % arrowhead and stem
penlabels(0,1,2,3,4,5,6,9);
-pickup rule.nib;
-y+.5dot_size=vround(math_axis+math_spread[.5x_height,.6x_height]
-+.5dot_size);
-lft x11=hround u-eps; x11'=x11; x12=x12'=w-x11;
-y11=y12=math_axis-1.8(y-math_axis);
-y11'=y12'=math_axis+1.8(y-math_axis);
-draw z11--z12--z12'--z11'--cycle;
penlabels(11,12,11',12'); endchar;
cmchar "APL box";
@@ -1707,21 +1710,39 @@ penlabels(1,2,3,4,5,6,7,8,9);
penlabels(11,12,13,14,15,16,17,18,19);
penlabels(21,22,23,24,25,26,27,28,29); endchar;
-cmchar "ataribox (Alternate)";
-beginchar(hex"6D",5.5pt#,7.5pt#,0);
- pickup pencircle scaled .85pt;
- x1=0.05w; y1=0;
- x2=x1; y2=h;
- x3=0.95w; y3=y2;
- x4=x3; y4=y1;
- fill z1--z2--z3--z4--cycle;
- x5=x1; y5=.5h;
- x6=.5w; y6=h;
- x7=x3; y7=y5;
- x8=x6; y8=0;
- undraw z5--z6--z7--z8--cycle;
- penlabels(1,2,3,4,5,6,7,8);
-endchar;
+cmchar "ataribox (Alternate)";
+beginchar(hex"6D",33/45asc_height#,asc_height#,0);
+italcorr asc_height#*slant;
+ pickup pencircle scaled .15w;
+ x1=0.05w; y1=0;
+ x2=x1; y2=h;
+ x3=0.95w; y3=y2;
+ x4=x3; y4=y1;
+ fill z1--z2--z3--z4--cycle;
+ x5=x1; y5=.5h;
+ x6=.5w; y6=h;
+ x7=x3; y7=y5;
+ x8=x6; y8=0;
+ undraw z5--z6--z7--z8--cycle;
+ penlabels(1,2,3,4,5,6,7,8);
+endchar;
+
+cmchar "apple cmd";
+beginchar(hex"53",asc_height#,0.92asc_height#,0);
+italcorr 3/4asc_height#*slant;
+adjust_fit(0,0); pickup rule.nib;
+x1 = good.x .5w;
+y1 = good.y .5h;
+numeric a; a = 1/7h;
+x2=x17=x1-a; x9=x10=x1+a; lft x4=lft x15=x1-1/2h; rt x7=rt x12=x1+1/2h;
+x3=x5=x14=x16=.5[x2,x4];
+x6=x8=x11=x13=.5[x9,x7];
+y13=y14=y1-a; y5=y6=y1+a; bot y11=bot y16=y1-1/2h; top y3=top y8=y1+1/2h;
+y2=y4=y7=y9=.5[y3,y5];
+y10=y12=y15=y17=.5[y14,y16];
+draw z2..z3..z4..z5---z6..z7..z8..z9---z10..z11..z12..z13---z14..z15..z16..z17---z2;
+labels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
charlist hex"72": hex"77"; % integral signs
charlist hex"73": hex"78"; % iintegral signs
diff --git a/Master/texmf-dist/fonts/source/public/wasy/wasychr.mf b/Master/texmf-dist/fonts/source/public/wasy/wasychr.mf
index 7af4d698df7..10b4f8c930c 100644
--- a/Master/texmf-dist/fonts/source/public/wasy/wasychr.mf
+++ b/Master/texmf-dist/fonts/source/public/wasy/wasychr.mf
@@ -1,5 +1,5 @@
%
-% These characters should rather be in an character font than in a
+% These characters should rather be in a character font than in a
% symbol font
%
@@ -29,14 +29,14 @@ else: pos1(4/7[vair',flare],80);
p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor
filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
& pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and lower terminal
-pickup crisp.nib;
+pickup crisp.nib;
x6=x7=x8=x9=x2; y7=y2; y8=y4; bot y9=-d; y6-y7 = y8-y9;
pos6(bar,0); pos7(bar,0);
pos8(bar,0); pos9(bar,0);
filldraw stroke z6e--z7e; % upper bar
filldraw stroke z8e--z9e; % lower bar
penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
-
+
cmchar "Upside down e";
beginchar(hex"55",7.25u#+max(.75u#,.5curve#),x_height#,0);
italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
@@ -67,7 +67,7 @@ else: pos4(vair,90);
path testpath; testpath=super_arc.l(2,3) & super_arc.l(3,4);
y1'r=y0r=y0l-.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
forsuffixes $=l,r:
- x0$=xpart(((2h,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+ x0$=xpart(((2h,y0$)--(x1,y0$)) intersectionpoint testpath); endfor % old
fill stroke z0e--z1'e; % crossbar
penlabels(0,1,2,3,4,5); endchar;
@@ -77,11 +77,11 @@ italcorr x_height#*slant-.2u#;
adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
pickup fine.nib; pos2(vair',270); pos4(vair',90);
x2=x4=.5w; top y4r=vround(h+oo); bot y2r=-1.5oo;
-pos3(curve,0); rt x3l=hround (w-max(.6u,1.35u-.5curve)); y3=.5h;
+pos3(curve,0); rt x3l=hround (w-max(1.6u,2.35u-.5curve)); y3=.5h;
if serifs: pos1(hair,180); pos0(flare,180);
y1=h-.70[bar_height,h]+.5flare;
- lft x1r=hround(1.0u); bulb(2,1,0); % bulb
- pos5(hair,180); lft x5r=hround(1.2u);
+ lft x1r=hround(0.5u); bulb(2,1,0); % bulb
+ pos5(hair,180); lft x5r=hround(0.7u);
y5=min(good.y(h+oo-.45bar_height+.9),y4l-vair');
(x,y4l)=whatever[z4l,z5r]; x4l:=max(x,x4l-.5u);
filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
@@ -98,7 +98,7 @@ else: pos1(4/7[vair',flare],260);
filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
& pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and upper terminal
penlabels(0,1,2,3,4,5); endchar;
-
+
cmchar "The small islandic thorn";
beginchar(hex"69",10u#+serif_fit#,asc_height#,desc_depth#);
italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#);
@@ -151,21 +151,21 @@ fill stroke z3e..pulled_arc.e(4,5) & pulled_arc.e(5,6)..z7e; % lobe
if serifs: dish_serif(1,0,a,1/3,cap_jut,b,1/3,cap_jut); % upper serif
dish_serif(2,0',c,1/3,cap_jut,d,1/3,cap_jut); fi % lower serif
math_fit(0,ic#-2.5u#); penlabels(0,1,2,3,4,5,6,7); endchar;
-
+
cmchar "Islandic edh";
beginchar(hex"6B",9u#,asc_height#,0);
italcorr .8x_height#*slant;
adjust_fit(0,0);
penpos1(vair,90); penpos3(vair',-90);
penpos1'(hair,0);
-penpos2(curve,180); penpos4(curve,0); penpos4'(curve,0);
+penpos2(curve,180); penpos4(curve,0); penpos4'(curve,0);
penpos5(curve,0); penpos6(curve,0);
x2r=hround max(.5u,1.25u-.5curve);
x4r=w-x2r; x1=x3=.5w; y1r=x_height; y3r=-oo;
y2=y4=.5(x_height-oo)-vair_corr; y2l:=y4l:=.5x_height;
y4'=y4+1.5u; x4'=x4;
-top y6 = h;
-x6= if monospace: 2/3 else: 1/3 fi [x2,x5];
+top y6 = h;
+x6= if monospace: 2/3 else: 1/3 fi [x2,x5];
y5=0.66[y4',y6];
x5=0.60[x4',x6];
z1' = z4';
@@ -181,9 +181,26 @@ z=.5[z7,z8]; % make bar symmetric
(y6-y)/(y6-y5) = (x6-x)/(x6-x5);
penstroke z7e--z8e; % bar
penlabels(1,2,3,4,5,6,7,8); endchar;
-
+
+cmchar "The letter long-s";
+beginchar(hex"54",5.5u#,asc_height#,0);
+italcorr asc_height#*slant+if serifs:flare#-.25u# else: 1.25u# fi;
+adjust_fit(stem_shift#,if monospace: .5u# else:-stem_shift# fi);
+pickup tiny.nib; pos1(stem',0); lft x1l=hround(2.5u-.5stem');
+pickup fine.nib; numeric bulb_diam;
+if serifs: bulb_diam=hround .8[stem,flare];
+ pos2(bulb_diam,0); y2+.5bulb_diam=.9[x_height,h+oo];
+ if monospace: rt x2r=hround(w-.5u)+1 else: lft x2l=hround(w-.75u+.5) fi;
+else: pos2(5/7[vair,flare],90); top y2r=h;
+ rt x2=hround(if monospace:w-.5u else:w+.75u fi); fi
+f_stroke(1,2,a,b,c,jut,if not monospace:1.25fi\\ jut); % stem, terminal, serif
+pickup crisp.nib; top y3r=top y4r=x_height; lft x3=hround .7u;
+pos3(bar,90); pos4(bar,90);
+rt x4=hround(2.5u);
+filldraw stroke z3e--z4e; % bar
+penlabels(1,2,3,4); endchar;
+
cmchar "Permille sign";
-cmchar "Per mille sign";
beginchar(hex"68",9u#+max(9u#,3fudge*(hair#+stem#)),
body_height#,body_height#-asc_height#);
italcorr if hefty: .4asc_height#*slant-.5u# else: h#*slant-u# fi;
@@ -198,7 +215,7 @@ x1=x3=.5[x2,x4]; y2=y4=.5[y1,y3];
filldraw stroke pulled_super_arc.e(1,2)(superpull)
& pulled_super_arc.e(2,3)(superpull); % left half of upper bowl
filldraw stroke super_arc.e(3,4) & super_arc.e(4,1); % right half of upper bowl
-pos5(vair,90); pos6(left_curve,180); pos7(vair,270);
+pos5(vair,90); pos6(left_curve,180); pos7(vair,270);
pos8(right_curve,360);
bot y7r=-d; rt x8r=hround(.70w-u); x6-x8 = x2-x4;
top y5r=vround(if monospace: .3 else: .5 fi\\ asc_height);
@@ -206,7 +223,7 @@ x5=x7=.5[x6,x8]; y6=y8=.5[y5,y7];
filldraw stroke pulled_super_arc.e(5,6)(superpull)
& pulled_super_arc.e(6,7)(superpull); % left half of lower bowl
filldraw stroke super_arc.e(7,8) & super_arc.e(8,5); % right half of lower bowl
-pos5'(vair,90); pos6'(left_curve,180); pos7'(vair,270);
+pos5'(vair,90); pos6'(left_curve,180); pos7'(vair,270);
pos8'(right_curve,360);
bot y7'r=-d; rt x8'r=hround(w-u); x6'-x8' = x6-x8;
top y5'r=vround(if monospace: .3 else: .5 fi\\ asc_height);
@@ -223,3 +240,77 @@ else: rt x9=hround(.67w-2.5u); lft x10=hround 2.5u; draw z9--z10; % diagonal
path p; p=super_arc.r(1,4); z11r=point 2/3 of p; z12r=z9r;
filldraw stroke z11e{direction 2/3 of p}...{z9-z10}z12e; fi % link
penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;
+
+cmchar "German Paragraph sign, similar to section";
+beginchar(hex"4D",8.5u#+max(1.5u#,stem#),asc_height#,1/2desc_depth#);
+italcorr cap_height#*slant-u#;
+adjust_fit(0,0); pickup fine.nib;
+ pos0(stem,0); pos1(hair,0); pos2(vair,90); pos3(curve,180);
+ pos4(vair,270); pos5'(curve,0); pos5(curve,180);
+% pos6(9/10curve,0);
+pos6(vair,90); pos7(curve,0); pos8(vair,-90); pos9(hair,-180); pos10(stem,-180);
+top y2r=h+oo; bot y8r=-d-oo; y2-y1=y9-y8=(y2-y8)/8;
+y3=.52[y4,y2]; y5=.52[y4,y6]; y7=.52[y6,y8]; y5'=.52[y6,y4];
+y2-y4=y4-y6=y6-y8;
+rt x1r=hround(w-1.5u); lft x3r=hround 1.25u;
+x2=x4=x6=x8=.5w; x5=x7=w-x3; x5'=x3; x9=w-x1;
+bulb(2,1,0); bulb(8,9,10); % bulbs
+filldraw stroke z2e{left}...z3e{down}...z4e{3(x5-x3),y5-y3}
+ ...z5e{down}...{left}z6e; % upper stroke
+filldraw stroke z4e{left}...z5'e{down}...z6e{3(x7-x5'),y7-y5'}
+ ...z7e{down}...{left}z8e; % upper stroke
+penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "Euro symbol";
+ beginchar(hex"4E",12.5u#,cap_height#,0);
+ italcorr cap_height#*slant-.5u#;
+ adjust_fit(0,0);
+ pickup fine.nib; pos1(25/33flare,80); pos2(15/11slab,90);
+ pos3(30/37cap_curve,180); pos4(18/11slab,270); pos5(22/33flare,275);
+ rt x1r=hround(w-1.1u); x2=x4=.5w+1.75u;
+ lft x3r=hround max(2u,3u-32/64cap_curve); x5r=x1r-0.1u;
+ top y1r=vround .95h+oo; top y2r=h+oo; y3=.5h;
+ bot y4r=-oo; bot y5r=vround .08h-oo; y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke rterm.e(2,1,right,.9,4) & super_arc.e(2,3)
+ & super_arc.e(3,4) & term.e(4,5,right,.8,4); % arc and terminals
+italcorr h#*slant-.5u#;
+adjust_fit(0,0); pickup rule.nib;
+lft x9=hround 0.5u-eps; x7=x9+0.1u; x10=0.6w; x8=x10+0.3u;
+y7=y8; y9=y10; y7-y9=1/5h; .5[y7,y9]=.5h;
+draw z7--z8; % upper bar
+draw z9--z10; % upper bar
+penlabels(1,1',2,3,4,5,6,7,8,9,10); endchar;
+
+cmchar "round z zh";
+beginchar(hex"4F",8u#,x_height#,desc_depth#);
+italcorr x_height#*slant-.5serif_fit#-.3u#;
+adjust_fit(0,.5serif_fit#);
+numeric arm_thickness[],z_stem;
+if hefty: arm_thickness1=Vround(vair-vair_corr); arm_thickness2=vair;
+ z_stem=.6[vair,stem];
+else: arm_thickness1=vair; arm_thickness2=vair'; z_stem=.9[vair,stem]; fi
+pickup tiny.nib; rt x1r=rt x2r=hround(w-.8u); lft x3l=3u; x4l = x3l;
+top y1=h; y2=min(y1,h-2/3arm_thickness1);
+y3=vround(-d+.85x_height); y4=y3-2/3arm_thickness1;
+numeric alpha; alpha=diag_ratio(1,z_stem-tiny,y2-y3,x2r-x3l-slant*(y2-y3));
+penpos1(alpha*(z_stem-tiny),0); penpos2(alpha*(z_stem-tiny),0);
+penpos3(alpha*(z_stem-tiny),0);
+penpos4(alpha*(z_stem-tiny),0);
+pair delta; delta=penoffset z3-z2 of currentpen;
+fill top lft z1l--z2l+delta---z3l+delta..lft z3l---lft z4l--z4r
+ --z3r-delta---z2r-delta..rt z2r---rt z1r..top z1r
+ ---cycle; % diagonal
+pickup crisp.nib; pos5(arm_thickness1,90); pos6(hair,180);
+top y5r=h; x5=x1; lft x6r=hround .75u; y6=good.y(y5l-beak/1.4)-eps;
+arm(5,6,a,beak_darkness,-.4beak_jut); % upper arm and beak
+pos12(vair',270); pos14(vair',90);
+x12=x14=x3; bot y14l=bot y4; bot y12r=-d;
+pos13(curve,0); rt x13l=hround (w-max(1.9u,2.65u-.5curve));
+y13=.5[y12,y14];
+%if serifs:
+ pos11(hair,180); pos10(flare,180);
+ y11=y14-.70[bar_height,0.85x_height]+.75flare;
+ lft x11r=hround(0.3u); bulb(12,11,10); % bulb
+ filldraw stroke pulled_super_arc.e(12,13)(.7superpull)
+ & pulled_super_arc.e(13,14)(.5superpull);
+penlabels(1,2,3,4,10,11,12,13,14); endchar;
diff --git a/Master/texmf-dist/fonts/source/public/wasy/wasysl10.mf b/Master/texmf-dist/fonts/source/public/wasy/wasysl10.mf
new file mode 100644
index 00000000000..7e5c5cfda0a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/wasy/wasysl10.mf
@@ -0,0 +1,100 @@
+% This is WASY10.MF in text format
+% additional symbols for math, physics, astronomy and other fields
+
+%input modes;
+%mode=hp_laser;
+
+if unknown cmbase: input cmbase fi
+
+font_identifier:="WASY"; font_size 10pt#;
+
+u#:=20/36pt#; % unit width
+width_adj#:=0pt#; % width adjustment for certain characters
+serif_fit#:=0pt#; % extra sidebar near lowercase serifs
+cap_serif_fit#:=5/36pt#; % extra sidebar near uppercase serifs
+letter_fit#:=0pt#; % extra space added to all sidebars
+
+body_height#:=270/36pt#; % height of tallest characters
+asc_height#:=250/36pt#; % height of lowercase ascenders
+cap_height#:=246/36pt#; % height of caps
+fig_height#:=232/36pt#; % height of numerals
+x_height#:=155/36pt#; % height of lowercase without ascenders
+math_axis#:=90/36pt#; % axis of symmetry for math symbols
+bar_height#:=87/36pt#; % height of crossbar in lowercase e
+comma_depth#:=70/36pt#; % depth of comma below baseline
+desc_depth#:=70/36pt#; % depth of lowercase descenders
+
+crisp#:=0pt#; % diameter of serif corners
+tiny#:=8/36pt#; % diameter of rounded corners
+fine#:=7/36pt#; % diameter of sharply rounded corners
+thin_join#:=7/36pt#; % width of extrafine details
+hair#:=9/36pt#; % lowercase hairline breadth
+stem#:=25/36pt#; % lowercase stem breadth
+curve#:=30/36pt#; % lowercase curve breadth
+ess#:=27/36pt#; % breadth in middle of lowercase s
+flare#:=33/36pt#; % diameter of bulbs or breadth of terminals
+dot_size#:=38/36pt#; % diameter of dots
+cap_hair#:=11/36pt#; % uppercase hairline breadth
+cap_stem#:=32/36pt#; % uppercase stem breadth
+cap_curve#:=37/36pt#; % uppercase curve breadth
+cap_ess#:=35/36pt#; % breadth in middle of uppercase s
+rule_thickness#:=.4pt#; % thickness of lines in math symbols
+
+dish#:=1/36pt#; % amount erased at top or bottom of serifs
+bracket#:=20/36pt#; % vertical distance from serif base to tangent
+jut#:=28/36pt#; % protrusion of lowercase serifs
+cap_jut#:=37/36pt#; % protrusion of uppercase serifs
+beak_jut#:=10/36pt#; % horizontal protrusion of beak serifs
+beak#:=70/36pt#; % vertical protrusion of beak serifs
+vair#:=8/36pt#; % vertical diameter of hairlines
+notch_cut#:=10pt#; % maximum breadth above or below notches
+bar#:=11/36pt#; % lowercase bar thickness
+slab#:=11/36pt#; % serif and arm thickness
+cap_bar#:=11/36pt#; % uppercase bar thickness
+cap_band#:=11/36pt#; % uppercase thickness above/below lobes
+cap_notch_cut#:=10pt#; % max breadth above/below uppercase notches
+serif_drop#:=4/36pt#; % vertical drop of sloped serifs
+stem_corr#:=1/36pt#; % for small refinements of stem breadth
+vair_corr#:=1/36pt#; % for small refinements of hairline height
+apex_corr#:=0pt#; % extra width at diagonal junctions
+
+o#:=8/36pt#; % amount of overshoot for curves
+apex_o#:=8/36pt#; % amount of overshoot for diagonal junctions
+
+slant:=1/6; % tilt ratio $(\Delta x/\Delta y)$
+fudge:=1; % factor applied to weights of heavy characters
+math_spread:=0; % extra openness of math symbols
+superness:=1/sqrt2; % parameter for superellipses
+superpull:=1/6; % extra openness inside bowls
+beak_darkness:=11/30; % fraction of triangle inside beak serifs
+ligs:=2; % level of ligatures to be included
+
+square_dots:=false; % should dots be square?
+hefty:=false; % should we try hard not to be overweight?
+serifs:=true; % should serifs and bulbs be attached?
+monospace:=false; % should all characters have the same width?
+variant_g:=false; % should an italic-style g be used?
+low_asterisk:=false; % should the asterisk be centered at the axis?
+math_fitting:=false; % should math-mode spacing be used?
+
+
+if ligs>1: font_coding_scheme:="TeX text";
+else: font_coding_scheme:=if ligs=0: "TeX typewriter text"
+ else: "TeX text without f-ligatures" fi;
+ fi
+
+mode_setup; font_setup;
+
+input rsym; % symbols
+input lasychr; % lasy font symbols
+
+
+font_slant slant; font_x_height x_height#;
+if monospace: font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+else: font_normal_space 6u#+2letter_fit#;
+ font_normal_stretch 3u#; font_normal_shrink 2u#;
+ font_quad 18u#+4letter_fit#;
+ font_extra_space 2u#; fi
+bye.
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasy10.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasy10.tfm
index 43906ad757a..89820cf9afd 100644
--- a/Master/texmf-dist/fonts/tfm/public/wasy/wasy10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasy10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasy5.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasy5.tfm
index 2923e06ba42..2c1f9cde560 100644
--- a/Master/texmf-dist/fonts/tfm/public/wasy/wasy5.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasy5.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasy6.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasy6.tfm
index d6eebf1624c..bd1b79c540b 100644
--- a/Master/texmf-dist/fonts/tfm/public/wasy/wasy6.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasy6.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasy7.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasy7.tfm
index a8845673014..1a58e87f36c 100644
--- a/Master/texmf-dist/fonts/tfm/public/wasy/wasy7.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasy7.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasy8.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasy8.tfm
index f7fc3abe284..8e02d16d9f6 100644
--- a/Master/texmf-dist/fonts/tfm/public/wasy/wasy8.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasy8.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasy9.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasy9.tfm
index 42f28b2ef07..999e43bfb03 100644
--- a/Master/texmf-dist/fonts/tfm/public/wasy/wasy9.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasy9.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasyb10.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasyb10.tfm
index 30283a406c6..d4532c118ba 100644
--- a/Master/texmf-dist/fonts/tfm/public/wasy/wasyb10.tfm
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasyb10.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/wasy/wasysl10.tfm b/Master/texmf-dist/fonts/tfm/public/wasy/wasysl10.tfm
new file mode 100644
index 00000000000..e6a86dd32d5
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/wasy/wasysl10.tfm
Binary files differ