summaryrefslogtreecommitdiff
path: root/fonts/cmupint/source/upintsym.mf
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/cmupint/source/upintsym.mf')
-rw-r--r--fonts/cmupint/source/upintsym.mf94
1 files changed, 94 insertions, 0 deletions
diff --git a/fonts/cmupint/source/upintsym.mf b/fonts/cmupint/source/upintsym.mf
index 3a6ef0ae9d..5212116e63 100644
--- a/fonts/cmupint/source/upintsym.mf
+++ b/fonts/cmupint/source/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