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;