summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-14 21:05:38 +0000
committerKarl Berry <karl@freefriends.org>2020-04-14 21:05:38 +0000
commitafbe98b7e519e8859f76e9b981e1947ac963cd26 (patch)
tree270f34c589b98eaf672a7d6784bab861f9c1e7bd /Master/texmf-dist/fonts/source/public
parentbb0c0fea8ff60450f443568e5a7d86551db7371e (diff)
cmupint (14apr20)
git-svn-id: svn://tug.org/texlive/trunk@54735 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public')
-rw-r--r--Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf94
-rw-r--r--Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf305
2 files changed, 399 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf b/Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf
index 3a6ef0ae9df..5212116e63a 100644
--- a/Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf
+++ b/Master/texmf-dist/fonts/source/public/cmupint/upintsym.mf
@@ -904,3 +904,97 @@ filldraw rond;
filldraw rond shifted .75z0;
penlabels(range 1 thru 39); endchar;
+
+
+cmchar "\textstyle integral summation sign";
+beginchar(60,10u#+4u#,0,100/54dh#); %10/6dh = 90/54
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,0); pickup tiny.nib;
+numeric top_arm_thickness, bot_arm_thickness;
+numeric sumup, sumdown;
+sumup=-.2d; sumdown=-d-sumup;
+top_arm_thickness=Vround rule_thickness;
+bot_arm_thickness=Vround .9(.5[rule_thickness,curve]);
+lft x1l=hround u; x1l=x2l=x4l; x3l-x1l=4/11(w-2u);
+top y1=sumup; bot y2=sumup-top_arm_thickness-eps; bot y4=sumdown; y3=(sumdown+sumup)/2;% y3=-.5d;
+numeric alpha[]; alpha1=((x3l-x1l)++(y2-y3))/(y2-y3);
+penpos1(alpha1*(curve-tiny),0); penpos2(alpha1*(curve-tiny),0);
+penpos3(alpha1*(curve-tiny),0);
+alpha2=diag_ratio(1,rule_thickness-tiny,y3-y4,x3r-x4l);
+penpos4(alpha2*(rule_thickness-tiny),0);
+z0=whatever[z2l,z3l]=z4l+whatever*(z3r-z4r);
+filldraw z1l--z2l--z0--z4l--z4r--z3r--z2r--z1r--cycle; % diagonals
+pickup crisp.nib; pos5(top_arm_thickness,90); pos6(hair,0);
+top y5r=sumup; x5=x1; rt x6r=hround(w-u); y6=good.y(y5l-.7beak)-eps;
+arm(5,6,a,.45,12/11u); % upper arm and beak
+pos7(bot_arm_thickness,-90); pos8(hair,0);
+bot y7r=sumdown; z7l=whatever[z4,z3]; x7r:=x4; x8=x6; y8=good.y(y7l+.7beak)+eps;
+arm(7,8,b,.45,12/11u); % lower arm and beak
+pickup fine.nib;
+numeric intoff;
+intoff=2u;
+pos11(curve,0); pos12(hair,0); pos13(vair,90); pos14(curve,180);
+pos15(curve,180); pos15'(curve,0); z15'=z15; pos16(curve,0);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+rt x11r=hround(w-intoff-u); x19=w-x11; x17=w-x13=3u+intoff;
+x15=x14=x16; lft x15r=hround(.5w-.5curve);
+top y13r=0; bot y17r=-d; y19-.5curve=vround(top y17l+.25curve);
+y13-y11=y19-y17; y15=.5[y13,y17]=.5[y14,y16]; y14-y16=.6(y13-y17);
+bulb(13,12,11); bulb(17,18,19); % bulbs
+filldraw stroke z13e{left}...z14e{(z15e-z14e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z15-z14}z15e; % upper curve
+filldraw stroke z15'e{z16-z15}..tension atleast.8 and atleast 1
+ ..{(z16e-z15'e)xscaled 1.1}z16e...{left}z17e; % lower curve
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\textstyle integral union sign";
+beginchar(62,10u#+2u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,0); pickup pencircle scaled stem;
+numeric sumup, sumdown;
+sumup=-.2d; sumdown=-d-sumup;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y1=eps+sumup; bot y3=sumdown; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cup
+pickup fine.nib;
+numeric intoff;
+intoff=1.0u;
+pos11(curve,0); pos12(hair,0); pos13(vair,90); pos14(curve,180);
+pos15(curve,180); pos15'(curve,0); z15'=z15; pos16(curve,0);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+rt x11r=hround(w-intoff-u); x19=w-x11; x17=w-x13=3u+intoff;
+x15=x14=x16; lft x15r=hround(.5w-.5curve);
+top y13r=0; bot y17r=-d; y19-.5curve=vround(top y17l+.25curve);
+y13-y11=y19-y17; y15=.5[y13,y17]=.5[y14,y16]; y14-y16=.6(y13-y17);
+bulb(13,12,11); bulb(17,18,19); % bulbs
+filldraw stroke z13e{left}...z14e{(z15e-z14e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z15-z14}z15e; % upper curve
+filldraw stroke z15'e{z16-z15}..tension atleast.8 and atleast 1
+ ..{(z16e-z15'e)xscaled 1.1}z16e...{left}z17e; % lower curve
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\textstyle integral intersection sign";
+beginchar(64,10u#+2u#,0,100/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,0); pickup pencircle scaled stem;
+numeric sumup, sumdown;
+sumup=-.2d; sumdown=-d-sumup;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y3=sumup; bot y1=sumdown-eps; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cap
+pickup fine.nib;
+numeric intoff;
+intoff=1.0u;
+pos11(curve,0); pos12(hair,0); pos13(vair,90); pos14(curve,180);
+pos15(curve,180); pos15'(curve,0); z15'=z15; pos16(curve,0);
+pos17(vair,-90); pos18(hair,-180); pos19(curve,-180);
+rt x11r=hround(w-intoff-u); x19=w-x11; x17=w-x13=3u+intoff;
+x15=x14=x16; lft x15r=hround(.5w-.5curve);
+top y13r=0; bot y17r=-d; y19-.5curve=vround(top y17l+.25curve);
+y13-y11=y19-y17; y15=.5[y13,y17]=.5[y14,y16]; y14-y16=.6(y13-y17);
+bulb(13,12,11); bulb(17,18,19); % bulbs
+filldraw stroke z13e{left}...z14e{(z15e-z14e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z15-z14}z15e; % upper curve
+filldraw stroke z15'e{z16-z15}..tension atleast.8 and atleast 1
+ ..{(z16e-z15'e)xscaled 1.1}z16e...{left}z17e; % lower curve
+penlabels(range 1 thru 19); endchar; \ No newline at end of file
diff --git a/Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf b/Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf
index 78bd1df28f8..d1fc8fdf747 100644
--- a/Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf
+++ b/Master/texmf-dist/fonts/source/public/cmupint/upintsymd.mf
@@ -1003,6 +1003,111 @@ filldraw rond;
filldraw rond shifted .75z99;
penlabels(range 1 thru 39); endchar;
+cmchar "\displaystyle integral summation sign";
+beginchar(61,11u#+15u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,0); pickup tiny.nib;
+numeric top_arm_thickness, bot_arm_thickness, thick_stem, thin_stem;
+numeric sumup, sumdown;
+sumup=-.185d; sumdown=-d-sumup;
+thick_stem=bold+4dw; thin_stem=rule_thickness+dw;
+top_arm_thickness=Vround .9thin_stem;
+bot_arm_thickness=Vround .9(.5[thin_stem,thick_stem]);
+lft x1l=hround u; x1l=x2l=x4l; x3l-x1l=4/11(w-2u);
+top y1=sumup; bot y2=sumup-top_arm_thickness-eps; bot y4=sumdown; y3=(sumdown+sumup)/2;%y3=-.5d;
+numeric alpha[]; alpha1=((x3l-x1l)++(y2-y3))/(y2-y3);
+penpos1(alpha1*(thick_stem-tiny),0); penpos2(alpha1*(thick_stem-tiny),0);
+penpos3(alpha1*(thick_stem-tiny),0);
+alpha2=diag_ratio(1,thin_stem-tiny,y3-y4,x3r-x4l);
+penpos4(alpha2*(thin_stem-tiny),0);
+z0=whatever[z2l,z3l]=z4l+whatever*(z3r-z4r);
+filldraw z1l--z2l--z0--z4l--z4r--z3r--z2r--z1r--cycle; % diagonals
+pickup crisp.nib; pos5(top_arm_thickness,90); pos6(hair,0);
+top y5r=sumup; x5=x1; rt x6r=hround(w-u); y6=good.y(y5l-1.2beak)-eps;
+arm(5,6,a,.45,24/11u); % upper arm and beak
+pos7(bot_arm_thickness,-90); pos8(hair,0);
+bot y7r=sumdown; z7l=whatever[z4,z3]; x7r:=x4; x8=x6; y8=good.y(y7l+1.2beak)+eps;
+arm(7,8,b,.45,24/11u); % lower arm and beak
+pickup fine.nib;
+numeric intoff;
+intoff=7.5u;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90); pos14(max_size,180);
+pos15(max_size,180); pos15'(max_size,0); z15'=z15; pos16(max_size,0);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+rt x11r=hround(w-intoff-u); x19=w-x11; x17=w-x13=3u+intoff;
+x15=x14=x16; lft x15r=hround(.5w-.5curve);
+top y13r=0; bot y17r=-d;
+y19-.5bulb_size=vround(top y17l+.25bulb_size); y13-y11=y19-y17;
+y15=.5[y13,y17]=.5[y14,y16]; y14-y16=.6(y13-y17);
+bulb(13,12,11); bulb(17,18,19); % bulbs
+filldraw stroke z13e{left}...z14e{(z15e-z14e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z15-z14}z15e; % upper curve
+filldraw stroke z15'e{z16-z15}..tension atleast.8 and atleast 1
+ ..{(z16e-z15'e)xscaled 1.1}z16e...{left}z17e; % lower curve
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\displaystyle integral union sign";
+beginchar(63,11u#+9u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,0); pickup pencircle scaled curve;
+numeric top_arm_thickness, bot_arm_thickness, thick_stem, thin_stem;
+numeric sumup, sumdown;
+sumup=-.185d; sumdown=-d-sumup;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y1=eps+sumup; bot y3=sumdown; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cup
+pickup fine.nib;
+numeric intoff;
+intoff=4.5u;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90); pos14(max_size,180);
+pos15(max_size,180); pos15'(max_size,0); z15'=z15; pos16(max_size,0);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+rt x11r=hround(w-intoff-u); x19=w-x11; x17=w-x13=3u+intoff;
+x15=x14=x16; lft x15r=hround(.5w-.5curve);
+top y13r=0; bot y17r=-d;
+y19-.5bulb_size=vround(top y17l+.25bulb_size); y13-y11=y19-y17;
+y15=.5[y13,y17]=.5[y14,y16]; y14-y16=.6(y13-y17);
+bulb(13,12,11); bulb(17,18,19); % bulbs
+filldraw stroke z13e{left}...z14e{(z15e-z14e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z15-z14}z15e; % upper curve
+filldraw stroke z15'e{z16-z15}..tension atleast.8 and atleast 1
+ ..{(z16e-z15'e)xscaled 1.1}z16e...{left}z17e; % lower curve
+penlabels(range 1 thru 19); endchar;
+
+cmchar "\displaystyle integral intersection sign";
+beginchar(65,11u#+9u#,0,200/54dh#);
+italcorr 2u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,0); pickup pencircle scaled curve;
+numeric top_arm_thickness, bot_arm_thickness, thick_stem, thin_stem;
+numeric sumup, sumdown;
+sumup=-.185d; sumdown=-d-sumup;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y3=sumup; bot y1=sumdown-eps; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cap
+pickup fine.nib;
+numeric intoff;
+intoff=4.5u;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90); pos14(max_size,180);
+pos15(max_size,180); pos15'(max_size,0); z15'=z15; pos16(max_size,0);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+rt x11r=hround(w-intoff-u); x19=w-x11; x17=w-x13=3u+intoff;
+x15=x14=x16; lft x15r=hround(.5w-.5curve);
+top y13r=0; bot y17r=-d;
+y19-.5bulb_size=vround(top y17l+.25bulb_size); y13-y11=y19-y17;
+y15=.5[y13,y17]=.5[y14,y16]; y14-y16=.6(y13-y17);
+bulb(13,12,11); bulb(17,18,19); % bulbs
+filldraw stroke z13e{left}...z14e{(z15e-z14e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z15-z14}z15e; % upper curve
+filldraw stroke z15'e{z16-z15}..tension atleast.8 and atleast 1
+ ..{(z16e-z15'e)xscaled 1.1}z16e...{left}z17e; % lower curve
+penlabels(range 1 thru 19); endchar;
+
charlist 0: 1;
charlist 2: 3;
@@ -1034,3 +1139,203 @@ charlist 52: 53;
charlist 54: 55;
charlist 56: 57;
charlist 58: 59;
+charlist 60: 61;
+charlist 62: 63;
+charlist 64: 65;
+
+
+cmchar "\displaystyle up integral sign top part";
+beginchar(66,11u#,0,44/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos5(max_size,180);
+rt x1r=hround(w-u); w-x3=3u;
+x5=x4; lft x5r=hround(.5w-.5curve);
+y5=-d-eps;
+top y3r=0;
+y1=vround(bot y3l-.25bulb_size)-.5bulb_size;
+y4=-d;
+bulb(3,2,1);
+filldraw stroke z3e{left}...{down}z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+penlabels(range 1 thru 5); endchar;
+
+cmchar "\displaystyle up integral sign bottom part";
+beginchar(67,11u#,0,44/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+lft x9r=w-hround(w-u); x7=3u;
+y6=0;
+x5=x6; lft x5r=hround(.5w-.5curve);
+bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size);
+y5=eps;
+bulb(7,8,9); % bulbs
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e{down}...{left}z7e; % lower curve
+penlabels(range 5 thru 9); endchar;
+
+cmchar "\displaystyle up integral sign repeat part";
+beginchar(68,11u#,0,24/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos4(max_size,180);
+pos5(max_size,180);
+x5=x4; lft x5r=hround(.5w-.5curve);
+y5=-d-eps;
+y4=eps;
+filldraw stroke z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+penlabels(4,5); endchar;
+
+cmchar "\displaystyle up integral sign center part";
+beginchar(69,11u#,0,64/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos4(max_size,180);
+pos5(max_size,180);
+x5=x4; lft x5r=hround(.5w-.5curve);
+y5=-d-eps;
+y4=eps;
+filldraw stroke z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+penlabels(4,5); endchar;
+
+cmchar "\displaystyle up contour integral sign center part";
+beginchar(70,11u#,0,64/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos4(max_size,180);
+pos5(max_size,180);
+x5=x4; lft x5r=hround(.5w-.5curve);
+y5=-d-eps;
+y4=eps;
+filldraw stroke z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+pickup rule.nib; autorounded;
+x0=x4; 2y0=y5+y4;
+draw fullcircle scaled .7w shifted z0; % contour
+penlabels(0,4,5); endchar;
+
+extensible 69: 66,69,67,68;
+extensible 70: 66,70,67,68;
+
+
+cmchar "\displaystyle up double integral sign top part";
+beginchar(71,11u#+ddec#,0,44/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+path haut;
+x0=ddec;y0=0;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(max_size,180);
+pos11(bulb_size,0); pos12(hair,0); pos13(vair,90);
+pos5(max_size,180);
+rt x1r=hround(w-ddec-u); w-ddec-x3=3u;
+x5=x4; lft x5r=hround(.5w-.5ddec-.5curve);
+y5=-d-eps;
+top y3r=0;
+x11=x1+ddec;x13=x3+ddec;
+y11=y1;y13=y3;
+y1=vround(bot y3l-.25bulb_size)-.5bulb_size;
+y4=-d;
+bulb(3,2,1); bulb(13,12,11);
+haut:=stroke z3e{left}...{down}z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper curve
+filldraw haut;
+filldraw haut shifted z0;
+penlabels(range 1 thru 13); endchar;
+
+cmchar "\displaystyle up double integral sign bottom part";
+beginchar(72,11u#+ddec#,0,44/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+path haut;
+x0=ddec;y0=0;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(max_size,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+pos17(vair,-90); pos18(hair,-180); pos19(bulb_size,-180);
+lft x9r=w-ddec-hround(w-ddec-u); x7=3u;
+x19=x9+ddec;x17=x7+ddec;
+y19=y9;y18=y8;y17=y7;
+y6=0;
+x5=x6; lft x5r=hround(.5w-.5ddec-.5curve);
+bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size);
+y5=eps;
+bulb(7,8,9); bulb(17,18,19);
+haut:=stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e{down}...{left}z7e; % lower curve
+filldraw haut;
+filldraw haut shifted z0;
+penlabels(range 5 thru 19); endchar;
+
+cmchar "\displaystyle up double integral sign repeat part";
+beginchar(73,11u#+ddec#,0,24/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+path haut;
+x0=ddec;y0=0;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos4(max_size,180);
+pos5(max_size,180);
+x5=x4; lft x5r=hround(.5w-.5ddec-.5curve);
+y5=-d-eps;
+y4=eps;
+haut:=stroke z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e;
+filldraw haut;
+filldraw haut shifted z0;
+penlabels(4,5); endchar;
+
+cmchar "\displaystyle up integral sign center part";
+beginchar(74,11u#+ddec#,0,64/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+path haut;
+x0=ddec;y0=0;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos4(max_size,180);
+pos5(max_size,180);
+x5=x4; lft x5r=hround(.5w-.5ddec-.5curve);
+y5=-d-eps;
+y4=eps;
+haut:=stroke z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e;
+filldraw haut;
+filldraw haut shifted z0;
+penlabels(4,5); endchar;
+
+cmchar "\displaystyle up double contour integral sign center part";
+beginchar(75,11u#+ddec#,0,64/54dh#);
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+path haut;
+x0=ddec;y0=0;
+bulb_size=hround(bold+dw); max_size=bold+dw;
+pos4(max_size,180);
+pos5(max_size,180);
+x5=x4; lft x5r=hround(.5w-.5ddec-.5curve);
+y5=-d-eps;
+y4=eps;
+haut:=stroke z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e;
+filldraw haut;
+filldraw haut shifted z0;
+pickup rule.nib; autorounded;
+x10=x4; 2y10=y5+y4;
+z50=z10+.5z0;
+draw fullcircle xscaled .75w yscaled .5w shifted z50; % contour
+penlabels(4,5,50); endchar;
+
+extensible 74: 71,74,72,73;
+extensible 75: 71,75,72,73;