summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/cm/bigop.mf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 23:38:21 +0000
commit215012a8d684889983ec2c0629e1c704e6853d9c (patch)
treeebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/cm/bigop.mf
parent1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff)
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/cm/bigop.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/cm/bigop.mf389
1 files changed, 389 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/cm/bigop.mf b/Master/texmf-dist/fonts/source/public/cm/bigop.mf
new file mode 100644
index 00000000000..61d0d5768f9
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/public/cm/bigop.mf
@@ -0,0 +1,389 @@
+% THIS IS THE OFFICIAL COMPUTER MODERN SOURCE FILE bigop.mf BY D E KNUTH.
+% IT MUST NOT BE MODIFIED IN ANY WAY UNLESS THE FILE NAME IS CHANGED!
+
+% This file contains pairs of large operators for math extension fonts.
+
+% Each operator has a `{\tt\char`\\textstyle}' form, for math in text,
+% and a `{\tt\char`\\displaystyle}' form, for displayed formulas.
+
+% Character codes \0106--\0141 are generated.
+
+charlist oct"106": oct"107"; % square union signs
+charlist oct"110": oct"111"; % contour integral signs
+charlist oct"112": oct"113"; % circle-dot operators
+charlist oct"114": oct"115"; % circle-plus operators
+charlist oct"116": oct"117"; % circle-times operators
+charlist oct"120": oct"130"; % summation signs
+charlist oct"121": oct"131"; % product signs
+charlist oct"122": oct"132"; % integral signs
+charlist oct"123": oct"133"; % union signs
+charlist oct"124": oct"134"; % intersection signs
+charlist oct"125": oct"135"; % multiset union signs
+charlist oct"126": oct"136"; % lattice infimum signs
+charlist oct"127": oct"137"; % lattice supremum signs
+charlist oct"140": oct"141"; % coproduct signs
+
+cmchar "\textstyle square set union sign";
+beginchar(oct"106",15u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x1=hround u; x2=x1; x4=x5=w-x1;
+top y1=eps; bot y2=-d; y4=y2; y5=y1;
+draw z1---z2---z4---z5; % stems and bar
+labels(1,2,4,5); endchar;
+
+cmchar "\displaystyle square set union sign";
+beginchar(oct"107",20u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x1=hround u; x2=x1; x4=x5=w-x1;
+top y1=eps; bot y2=-d; y4=y2; y5=y1;
+draw z1---z2---z4---z5; % stems and bar
+labels(1,2,4,5); endchar;
+
+cmchar "\textstyle circle-dot operator";
+beginchar(oct"112",20u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x6=hround u; x2=w-x6; top y8=0; bot y4=-d;
+circle_points; draw_circle; % circle
+fill fullcircle scaled(bold+4dw+eps) shifted(.5[z4,z8]); % dot
+labels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\displaystyle circle-dot operator";
+beginchar(oct"113",27.2u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x6=hround u; x2=w-x6; top y8=0; bot y4=-d;
+circle_points; draw_circle; % circle
+fill fullcircle scaled(bold+6dw+eps) shifted(.5[z4,z8]); % dot
+labels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\textstyle circle-plus operator";
+beginchar(oct"114",20u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x6=hround u; x2=w-x6; top y8=0; bot y4=-d;
+circle_points; draw_circle; % circle
+draw z2--z6; draw z4--z8; % plus
+labels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\displaystyle circle-plus operator";
+beginchar(oct"115",27.2u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x6=hround u; x2=w-x6; top y8=0; bot y4=-d;
+circle_points; draw_circle; % circle
+draw z2--z6; draw z4--z8; % plus
+labels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\textstyle circle-times operator";
+beginchar(oct"116",20u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x6=hround u; x2=w-x6; top y8=0; bot y4=-d;
+circle_points; draw_circle; % circle
+draw z1--z5; draw z3--z7; % times
+labels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\displaystyle circle-times operator";
+beginchar(oct"117",27.2u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x6=hround u; x2=w-x6; top y8=0; bot y4=-d;
+circle_points; draw_circle; % circle
+draw z1--z5; draw z3--z7; % times
+labels(1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\textstyle summation sign";
+beginchar(oct"120",19u#,0,10/6dh#);
+adjust_fit(0,0); pickup tiny.nib;
+numeric top_arm_thickness, bot_arm_thickness;
+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=0; bot y2=-top_arm_thickness-eps; bot y4=-d; 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=0; x5=x1; rt x6r=hround(w-u); y6=good.y(y5l-beak)-eps;
+arm(5,6,a,.45,17/11u); % upper arm and beak
+pos7(bot_arm_thickness,-90); pos8(hair,0);
+bot y7r=-d; z7l=whatever[z4,z3]; x7r:=x4; x8=x6; y8=good.y(y7l+beak)+eps;
+arm(7,8,b,.45,17/11u); % lower arm and beak
+penlabels(0,1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\displaystyle summation sign";
+beginchar(oct"130",26u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup tiny.nib;
+numeric top_arm_thickness, bot_arm_thickness, thick_stem, thin_stem;
+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=0; bot y2=-top_arm_thickness-eps; bot y4=-d; 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=0; 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=-d; 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
+penlabels(0,1,2,3,4,5,6,7,8); endchar;
+
+cmchar "\textstyle product sign";
+beginchar(oct"121",17u#,0,10/6dh#);
+adjust_fit(0,0); pickup crisp.nib;
+numeric heavy_stem,light_stem;
+heavy_stem=hround(bold+dw); light_stem=rule_thickness;
+pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);
+pos11(light_stem,90); pos12(light_stem,90); pos22(light_stem,90);
+lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround cap_jut;
+x1=x1'=x2=x2';
+top y1=0; bot y2=-d; y11r=y1; y12l=y22l=y2;
+y11l-y1'=y2'-y12r=1.2bracket;
+filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l)
+ --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifs
+pos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);
+pos13(light_stem,90); pos14(light_stem,90); pos24(light_stem,90);
+x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;
+y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;
+filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r)
+ --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifs
+filldraw stroke z11e--z13e; % bar
+penlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;
+
+cmchar "\displaystyle product sign";
+beginchar(oct"131",23u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup crisp.nib;
+numeric heavy_stem,light_stem;
+heavy_stem=hround(bold+5dw); light_stem=Vround(rule_thickness+dw);
+pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);
+pos11(light_stem,90); pos12(light_stem,90); pos22(light_stem,90);
+lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround 1.6cap_jut;
+x1=x1'=x2=x2';
+top y1=0; bot y2=-d; y11r=y1; y12l=y22l=y2;
+y11l-y1'=y2'-y12r=1.8bracket;
+filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l)
+ --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifs
+pos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);
+pos13(light_stem,90); pos14(light_stem,90); pos24(light_stem,90);
+x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;
+y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;
+filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r)
+ --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifs
+filldraw stroke z11e--z13e; % bar
+penlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;
+
+cmchar "\textstyle coproduct sign";
+beginchar(oct"140",17u#,0,10/6dh#);
+adjust_fit(0,0); pickup crisp.nib;
+numeric heavy_stem,light_stem;
+heavy_stem=hround(bold+dw); light_stem=rule_thickness;
+pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);
+pos11(light_stem,-90); pos12(light_stem,-90); pos22(light_stem,-90);
+lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround cap_jut;
+x1=x1'=x2=x2';
+bot y1=-d; top y2=0; y11r=y1; y12l=y22l=y2;
+y1'-y11l=y12r-y2'=1.2bracket;
+filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l)
+ --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifs
+pos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);
+pos13(light_stem,-90); pos14(light_stem,-90); pos24(light_stem,-90);
+x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;
+y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;
+filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r)
+ --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifs
+filldraw stroke z11e--z13e; % bar
+penlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;
+
+cmchar "\displaystyle coproduct sign";
+beginchar(oct"141",23u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup crisp.nib;
+numeric heavy_stem,light_stem;
+heavy_stem=hround(bold+5dw); light_stem=Vround(rule_thickness+dw);
+pos1(heavy_stem,0);pos2(heavy_stem,0); pos1'(heavy_stem,0);pos2'(heavy_stem,0);
+pos11(light_stem,-90); pos12(light_stem,-90); pos22(light_stem,-90);
+lft x11=hround u; x1l-x11=x2l-x12=x22-x2r=hround 1.6cap_jut;
+x1=x1'=x2=x2';
+bot y1=-d; top y2=0; y11r=y1; y12l=y22l=y2;
+y1'-y11l=y12r-y2'=1.8bracket;
+filldraw z1r--z11r--serif_arc(11l,1'l)--reverse serif_arc(12r,2'l)
+ --z12l--z22l--serif_arc(22r,2'r)--cycle; % left stem and serifs
+pos3(heavy_stem,0);pos4(heavy_stem,0); pos3'(heavy_stem,0);pos4'(heavy_stem,0);
+pos13(light_stem,-90); pos14(light_stem,-90); pos24(light_stem,-90);
+x3=x3'=x4=x4'=w-x1; x13=x14=w-x11; x24=w-x22;
+y3=y13r=y1; y3'=y1'; y4'=y2'; y4=y14l=y24l=y2;
+filldraw z3l--z13r--serif_arc(13l,3'r)--reverse serif_arc(14r,4'r)
+ --z14l--z24l--serif_arc(24r,4'l)--cycle; % right stem and serifs
+filldraw stroke z11e--z13e; % bar
+penlabels(1,1',2,2',3,3',4,4',11,12,13,14,22,24); endchar;
+
+cmchar "\textstyle integral sign";
+beginchar(oct"122",12u#,0,100/54dh#);
+italcorr 3.5u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(stem,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(stem,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stem
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stem
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "\displaystyle integral sign";
+beginchar(oct"132",18u#,0,200/54dh#);
+italcorr 8u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=hround(bold+2dw);
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(bold,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(bold,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=.5[x4,x6]; x4-x6=4.8u; lft x5r=hround(.5w-.5max_size);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stem
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stem
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "\textstyle contour integral sign";
+beginchar(oct"110",12u#,0,100/54dh#);
+italcorr 3.5u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+pos1(curve,0); pos2(hair,0); pos3(vair,90); pos4(stem,180);
+pos5(curve,180); pos5'(curve,0); z5'=z5; pos6(stem,0);
+pos7(vair,-90); pos8(hair,-180); pos9(curve,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=.5[x4,x6]; x4-x6=1.2u; lft x5r=hround(.5w-.5curve);
+top y3r=0; bot y7r=-d; y9-.5curve=vround(top y7l+.25curve);
+y3-y1=y9-y7; y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stem
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stem
+pickup rule.nib; autorounded;
+draw fullcircle scaled .5w shifted z5; % contour
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "\displaystyle contour integral sign";
+beginchar(oct"111",18u#,0,200/54dh#);
+italcorr 8u#; % \TeX\ kerning between upper limit and lower limit
+adjust_fit(0,-ic#); pickup fine.nib;
+numeric bulb_size, max_size;
+bulb_size=hround(bold+dw); max_size=hround(bold+2dw);
+pos1(bulb_size,0); pos2(hair,0); pos3(vair,90); pos4(bold,180);
+pos5(max_size,180); pos5'(max_size,0); z5'=z5; pos6(bold,0);
+pos7(vair,-90); pos8(hair,-180); pos9(bulb_size,-180);
+rt x1r=hround(w-u); x9=w-x1; x7=w-x3=3u;
+x5=.5[x4,x6]; x4-x6=4.8u; lft x5r=hround(.5w-.5max_size);
+top y3r=0; bot y7r=-d;
+y9-.5bulb_size=vround(top y7l+.25bulb_size); y3-y1=y9-y7;
+y5=.5[y3,y7]=.5[y4,y6]; y4-y6=.6(y3-y7);
+bulb(3,2,1); bulb(7,8,9); % bulbs
+filldraw stroke z3e{left}...z4e{(z5e-z4e)xscaled 1.1}
+ ..tension atleast 1 and atleast .8..{z5-z4}z5e; % upper stem
+filldraw stroke z5'e{z6-z5}..tension atleast.8 and atleast 1
+ ..{(z6e-z5'e)xscaled 1.1}z6e...{left}z7e; % lower stem
+pickup rule.nib; autorounded;
+draw fullcircle scaled .5w shifted z5; % contour
+penlabels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "\textstyle set union sign";
+beginchar(oct"123",15u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y1=eps; bot y3=-d; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cup
+labels(1,2,3,4,5); endchar;
+
+cmchar "\displaystyle set union sign";
+beginchar(oct"133",20u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y1=eps; bot y3=-d; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cup
+labels(1,2,3,4,5); endchar;
+
+cmchar "\textstyle set intersection sign";
+beginchar(oct"124",15u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y3=0; bot y1=-d-eps; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cap
+labels(1,2,3,4,5); endchar;
+
+cmchar "\displaystyle set intersection sign";
+beginchar(oct"134",20u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y3=0; bot y1=-d-eps; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cap
+labels(1,2,3,4,5); endchar;
+
+cmchar "\textstyle multiset union sign";
+beginchar(oct"125",15u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y1=eps; bot y3=-d; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cup
+y8=y9=.47[y1,y3]; x8=w-x9=x1+2stem+eps; x6=x7=x3;
+.5[y6,y7]=y8; y7-y6=x9-x8; draw z8--z9; draw z6--z7; % enclosed `$+$'
+labels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "\displaystyle multiset union sign";
+beginchar(oct"135",20u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x1=hround u; x2=x1; x3=w-x3; x4=x5=w-x1;
+top y1=eps; bot y3=-d; y2=y4=2/3[y1,y3]; y5=y1;
+draw z1---z2...z3...z4---z5; % stems and cup
+y8=y9=.47[y1,y3]; x8=w-x9=x1+2curve+eps; x6=x7=x3;
+.5[y6,y7]=y8; y7-y6=x9-x8; draw z8--z9; draw z6--z7; % enclosed `$+$'
+labels(1,2,3,4,5,6,7,8,9); endchar;
+
+cmchar "\textstyle lattice infimum sign";
+beginchar(oct"126",15u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x1=hround u-eps; x3=w-x3; x5=w-x1;
+top y3=0; bot y1=-d-eps; y5=y1;
+draw z1--z3--z5; % diagonals
+labels(1,3,5); endchar;
+
+cmchar "\displaystyle lattice infimum sign";
+beginchar(oct"136",20u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x1=hround u-eps; x3=w-x3; x5=w-x1;
+top y3=0; bot y1=-d-eps; y5=y1;
+draw z1--z3--z5; % diagonals
+labels(1,3,5); endchar;
+
+cmchar "\textstyle lattice supremum sign";
+beginchar(oct"127",15u#,0,10/6dh#);
+adjust_fit(0,0); pickup pencircle scaled stem;
+lft x1=hround u-eps; x3=w-x3; x5=w-x1;
+top y1=eps; bot y3=-d; y5=y1;
+draw z1--z3--z5; % diagonals
+labels(1,3,5); endchar;
+
+cmchar "\displaystyle lattice supremum sign";
+beginchar(oct"137",20u#,0,14/6dh#); padded 1/6dh#;
+adjust_fit(0,0); pickup pencircle scaled curve;
+lft x1=hround u-eps; x3=w-x3; x5=w-x1;
+top y1=eps; bot y3=-d; y5=y1;
+draw z1--z3--z5; % diagonals
+labels(1,3,5); endchar;