diff options
author | Karl Berry <karl@freefriends.org> | 2011-05-30 21:37:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-05-30 21:37:24 +0000 |
commit | c15b609a52b61a317ebdae81beac7b8645d120c1 (patch) | |
tree | 19104d0ae9d3da91e7ba0f99f014b640b5f92bfe /Master/texmf-dist/fonts/source | |
parent | a5a60adba9e52ccc366bb3a74d07a6ba2b16d744 (diff) |
fdsymbol (30may11)
git-svn-id: svn://tug.org/texlive/trunk@22691 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source')
4 files changed, 175 insertions, 160 deletions
diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf index 51dd7970f31..7c5b193d3d0 100644 --- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf +++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf @@ -10,7 +10,7 @@ design_size := 10; font_size design_size * pt#; if known ps_output: - font_version := "1.002"; + font_version := "1.003"; font_comment := "Copyright (c) 2011, Michael Ummels. This Font Software is licensed under the SIL Open Font License, Version 1.1."; fi @@ -161,11 +161,12 @@ def beginorder(expr sign, width, spread) = right_point := centre + sign * (w/2 - side_bearing - line_thickness/2) * right; enddef; +% Make strokes run anti-clockwise vardef stroke text t = forsuffixes e = l, r: path_.e := t; endfor - path_.l -- reverse path_.r -- cycle + path_.r -- reverse path_.l -- cycle enddef; % Shapes @@ -211,18 +212,20 @@ enddef; % Draw macros def draw_straight(expr orig, dest, thick, extend) = - pair p[].l, p[].r; - - theta := angle (dest - orig); - if extend: - 1/2[p1.l,p1.r] = orig - 1/2thick * dir theta; - 1/2[p2.l,p2.r] = dest + 1/2thick * dir theta; - else: - 1/2[p1.l,p1.r] = orig; - 1/2[p2.l,p2.r] = dest; - fi - p1.l - p1.r = p2.l - p2.r = thick * dir (theta + 90); - fill p1.l -- p2.l -- p2.r -- p1.r -- cycle; + begingroup; + pair p[].l, p[].r; + + theta := angle (dest - orig); + if extend: + 1/2[p1.l,p1.r] = orig - 1/2thick * dir theta; + 1/2[p2.l,p2.r] = dest + 1/2thick * dir theta; + else: + 1/2[p1.l,p1.r] = orig; + 1/2[p2.l,p2.r] = dest; + fi + p1.l - p1.r = p2.l - p2.r = thick * dir (theta + 90); + fill stroke p1.e -- p2.e; + endgroup; enddef; def draw_line(expr orig, dest, extend) = @@ -410,8 +413,8 @@ def draw_smile(suffix $)(expr sign, lc, rc, spread, thick, round) = if round: penpos2$(thick, angle(rc - lc) + sign * 90); - fill stroke z0$.e{dir (angle(rc - lc) - sign * theta)} .. - {rc - lc}z2$.e{rc - lc} .. {dir (angle(rc - lc) + sign * theta)}z1$.e; + fill stroke z0$.e{dir (angle(rc - lc) - sign * theta)} .. + {rc - lc}z2$.e{rc - lc} .. {dir (angle(rc - lc) + sign * theta)}z1$.e; else: penpos2$(thick / cosd theta, angle(rc - lc) + sign * 90); @@ -421,14 +424,18 @@ def draw_smile(suffix $)(expr sign, lc, rc, spread, thick, round) = penlabels(0$, 1$, 2$); enddef; -def stroke_through(expr pos, spread) = +def stroke_through_angle(expr pos, spread, angle) = begingroup; - stroke_len := 1/2spread / cosd 15; + stroke_len := 1/2spread / cosd (90 - angle); - draw_straight(pos + stroke_len * dir 75, pos - stroke_len * dir 75, stroke_through_thickness, true); + draw_straight(pos + stroke_len * dir angle, pos - stroke_len * dir angle, stroke_through_thickness, true); endgroup; enddef; +def stroke_through(expr pos, spread) = + stroke_through_angle(pos, spread, 75); +enddef; + def stroke_through_arrow(expr pos, alpha, spread)(text angles) = begingroup; stroke_dir := arrow_dir + select(alpha/45)(angles); @@ -467,7 +474,7 @@ def draw_product(expr centre, width, height, sign, thick) = x10 = x6r; x11 = x7l; - fill z0l -- z0r{dir (sign * 20)} .. {sign * up}z6l -- z8l{sign * up} .. {dir (180 - sign * 15)}z2l -- z2r -- z3r -- z3l{dir (180 + sign * 15)} .. {sign * down}z9r -- z7r{sign * down} .. {dir (-sign * 20)}z1r -- z1l -- z5l -- z5r{dir (sign * 20)} .. {sign * up}z7l -- z11 -- z10 -- z6r{sign * down} .. {dir (-sign * 20)}z4r -- z4l -- cycle; + fill z0l -- z4l -- z4r{dir (sign * 160)} .. {sign * up}z6r -- z10 -- z11 -- z7l{sign * down} .. {dir (-sign * 160)}z5r -- z5l -- z1l -- z1r{dir (sign * 160)} .. {sign * up}z7r -- z9r{sign * up} .. {dir (sign * 15)}z3l -- z3r -- z2r -- z2l{dir (-sign * 15)} .. {sign * down}z8l -- z6l{sign * down} .. {dir (-sign * 160)}z0r -- cycle; penlabels(0,1,2,3,4,5,6,7,8,9,10,11); enddef; @@ -555,51 +562,57 @@ def draw_integral(suffix $)(expr scale, centre, thick) = enddef; def draw_arrowhead_left(expr pos, angle, spread, thick) = - pair p[], p[].l, p[].r; - - p1 = pos; - p2 = pos + sqrt(2) * (spread + 1/2thick)/2 * dir (angle + 135); - 1/2[p1.l, p1.r] = p1; - 1/2[p2.l, p2.r] = p2; - p1.r - p1 = thick/(2 * sind 45) * dir angle; - p2.r - p2 = thick/2 * dir (angle + 45); - p3.l = whatever[p2.l,p1.l]; - p3.l = pos + 1/2thick * dir (angle - 90) + whatever * dir angle; - p3.r - p1.r = whatever * dir (angle - 105); - p3.r = pos + 1/2thick * dir (angle - 90) + whatever * dir angle; - fill p1.r -- p2.r -- p2.l -- p3.l -- p3.r -- cycle; + begingroup; + pair p[], p[].l, p[].r; + + p1 = pos; + p2 = pos + sqrt(2) * (spread + 1/2thick)/2 * dir (angle + 135); + 1/2[p1.l, p1.r] = p1; + 1/2[p2.l, p2.r] = p2; + p1.r - p1 = thick/(2 * sind 45) * dir angle; + p2.r - p2 = thick/2 * dir (angle + 45); + p3.l = whatever[p2.l,p1.l]; + p3.l = pos + 1/2thick * dir (angle - 90) + whatever * dir angle; + p3.r - p1.r = whatever * dir (angle - 105); + p3.r = pos + 1/2thick * dir (angle - 90) + whatever * dir angle; + fill p1.r -- p2.r -- p2.l -- p3.l -- p3.r -- cycle; + endgroup; enddef; def draw_arrowhead_right(expr pos, angle, spread, thick) = - pair p[], p[].l, p[].r; - - p1 = pos; - p2 = pos + sqrt(2) * (spread + 1/2thick)/2 * dir (angle - 135); - 1/2[p1.l, p1.r] = p1; - 1/2[p2.l, p2.r] = p2; - p1.r - p1 = thick/(2 * sind 45) * dir angle; - p2.r - p2 = thick/2 * dir (angle - 45); - p3.l = whatever[p2.l,p1.l]; - p3.l = pos + 1/2thick * dir (angle + 90) + whatever * dir angle; - p3.r - p1.r = whatever * dir (angle + 105); - p3.r = pos + 1/2thick * dir (angle + 90) + whatever * dir angle; - fill p1.r -- p2.r -- p2.l -- p3.l -- p3.r -- cycle; + begingroup; + pair p[], p[].l, p[].r; + + p1 = pos; + p2 = pos + sqrt(2) * (spread + 1/2thick)/2 * dir (angle - 135); + 1/2[p1.l, p1.r] = p1; + 1/2[p2.l, p2.r] = p2; + p1.r - p1 = thick/(2 * sind 45) * dir angle; + p2.r - p2 = thick/2 * dir (angle - 45); + p3.l = whatever[p2.l,p1.l]; + p3.l = pos + 1/2thick * dir (angle + 90) + whatever * dir angle; + p3.r - p1.r = whatever * dir (angle + 105); + p3.r = pos + 1/2thick * dir (angle + 90) + whatever * dir angle; + fill p1.r -- p3.r -- p3.l -- p2.l -- p2.r -- cycle; + endgroup; enddef; def draw_arrowhead(expr pos, angle, spread, thick) = - pair p[], p[].l, p[].r; + begingroup; + pair p[], p[].l, p[].r; - p1 = pos; - p2 = pos + sqrt(2) * spread/2 * dir (angle + 135); - p3 = pos + sqrt(2) * spread/2 * dir (angle - 135); - 1/2[p1.l, p1.r] = p1; - 1/2[p2.l, p2.r] = p2; - 1/2[p3.l, p3.r] = p3; - p1.r - p1 = thick/(2 * sind 45) * dir angle; - p2.r - p2 = thick/2 * dir (angle + 45); - p3.r - p3 = thick/2 * dir (angle - 45); - - fill p1.r -- p2.r -- p2.l -- p1.l -- p3.l -- p3.r -- cycle; + p1 = pos; + p2 = pos + sqrt(2) * spread/2 * dir (angle + 135); + p3 = pos + sqrt(2) * spread/2 * dir (angle - 135); + 1/2[p1.l, p1.r] = p1; + 1/2[p2.l, p2.r] = p2; + 1/2[p3.l, p3.r] = p3; + p1.r - p1 = thick/(2 * sind 45) * dir angle; + p2.r - p2 = thick/2 * dir (angle + 45); + p3.r - p3 = thick/2 * dir (angle - 45); + + fill p1.r -- p2.r -- p2.l -- p1.l -- p3.l -- p3.r -- cycle; + endgroup; enddef; % intersect the arrowhead curve with a path diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf index fbc9f649751..c05479436f5 100644 --- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf +++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf @@ -1037,7 +1037,7 @@ for sign = 1, -1: 1/2[1/2[z0,z1], 1/2[z2,z3]] = (w/2, (h-d)/2); - draw_line(z0, z1, true); + draw_line(z2, z3, true); draw_line(1/2[z0,z1], 1/2[z2,z3], true); endchar; endfor; @@ -1633,7 +1633,8 @@ endchar; beginsymbol(5u# + line_thickness# + 2side_bearing#, asc_height#, desc_depth#); "sharp"; thick := line_thickness; - x0l - x4 = x1l - x5 = x2l - x0r = x3l - x1r = x6 - x2r = x7 - x3r; + x0l - x4 = x1l - x5 = x6 - x2r = x7 - x3r; + x2l - x0r = x3l - x1r = 2(x0l - x4); x4 = x5 = w - x6 = w - x7 = side_bearing; y3 = h; y7r = x_height; diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf index 627b8265531..3ea67622d4a 100644 --- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf +++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf @@ -324,10 +324,11 @@ for sign = 1, -1: z1 = z0a + sign * scale * (0, 1/4r); z2 = z0a + sign * scale * (r, -1/4r); - fill stroke z0.e .. z1.e .. z2.e; if sign > 0: + fill stroke z0.e{dir 45} .. {dir 0}z1.e .. {dir -45}z2.e; draw_arrowhead(z2, -40, 2/3scale * arrow_spread, 5/6thick); else: + fill stroke z0.e{dir -135} .. {dir 180}z1.e .. {dir 135}z2.e; draw_arrowhead(z0, 40, 2/3scale * arrow_spread, 5/6thick); fi diff --git a/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf b/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf index 8dbcce80c92..5a8bc3b418b 100644 --- a/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf +++ b/Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf @@ -13,20 +13,20 @@ enddef; % equal signs if negated < 2: - beginorder(1, order_width#, ifneg(1,5/2) * equal_spread#); "equal"; + beginorder(1, order_width#, ifneg(1,3) * equal_spread#); "equal"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); draw_line(left_ex - s * up, right_ex - s * up, false); if negated = 1: - stroke_through(centre, 5/2equal_spread); + stroke_through(centre, 3equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(2,7/2) * equal_spread#); "equiv"; + beginorder(1, order_width#, ifneg(4/2,7/2) * equal_spread#); "equiv"; s := equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); @@ -34,38 +34,38 @@ if negated < 2: draw_line(left_ex - s * up, right_ex - s * up, false); if negated = 1: - stroke_through(centre, 3.5equal_spread); + stroke_through(centre, 7/2equal_spread); fi; endchar; fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1/2, 2) * equal_spread#); "sim"; + beginorder(sign, order_width#, ifneg(1/2,5/2) * equal_spread#); "sim"; draw_sim(a, left_ex, right_ex, 1/4equal_spread, line_thickness); if negated = 1: - stroke_through(centre, 2equal_spread); + stroke_through(centre, 5/2equal_spread); fi; endchar; endfor; fi; if negated < 2: - beginorder(1, order_width#, ifneg(3/2, 5/2) * equal_spread#); "approx"; + beginorder(1, order_width#, ifneg(3/2,6/2) * equal_spread#); "approx"; s := 1/2equal_spread; draw_sim(a, left_ex + s * up, right_ex + s * up, 1/4equal_spread, line_thickness); draw_sim(b, left_ex - s * up, right_ex - s * up, 1/4equal_spread, line_thickness); if negated = 1: - stroke_through(centre, 5/2equal_spread); + stroke_through(centre, 3equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(5/2, 7/2) * equal_spread#); "triple sim"; + beginorder(1, order_width#, ifneg(5/2,7/2) * equal_spread#); "triple sim"; s := equal_spread; draw_sim(a, left_ex + s * up, right_ex + s * up, 1/4equal_spread, line_thickness); @@ -80,35 +80,35 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(3/2, 5/2) * equal_spread#); "sim equal"; + beginorder(sign, order_width#, ifneg(3/2,6/2) * equal_spread#); "sim equal"; s := 1/2equal_spread; draw_sim(a, left_ex + s * up, right_ex + s * up, 1/4equal_spread, line_thickness); draw_line(left_ex - s * up, right_ex - s * up, false); if negated = 1: - stroke_through(centre, 5/2equal_spread); + stroke_through(centre, 3equal_spread); fi; endchar; endfor; fi; if negated < 2: - beginorder(1, order_width#, ifneg(3/2, 5/2) * equal_spread#); "equal sim"; + beginorder(1, order_width#, ifneg(3/2,6/2) * equal_spread#); "equal sim"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); draw_sim(a, left_ex - s * up, right_ex - s * up, 1/4equal_spread, line_thickness); if negated = 1: - stroke_through(centre, 5/2equal_spread); + stroke_through(centre, 3equal_spread); fi; endchar; fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(5/2, 7/2, 6/2) * equal_spread#); "cong"; + beginorder(sign, order_width#, ifneg(5/2,7/2,6/2) * equal_spread#); "cong"; s := equal_spread; draw_sim(a, left_ex + s * up, right_ex + s * up, 1/4equal_spread, line_thickness); @@ -129,7 +129,7 @@ if negated < 3: fi; if negated < 2: - beginorder(1, order_width#, ifneg(5/2, 7/2) * equal_spread#); "approx equal"; + beginorder(1, order_width#, ifneg(5/2,7/2) * equal_spread#); "approx equal"; s := equal_spread; draw_sim(a, left_ex + s * up, right_ex + s * up, 1/4equal_spread, line_thickness); @@ -143,20 +143,20 @@ if negated < 2: fi; if negated < 2: - beginorder(1, order_width#, ifneg(1,2) * equal_spread# + 2/5order_width#); "bump equal"; + beginorder(1, order_width#, ifneg(1,3) * equal_spread# + ifneg(1,0) * 2/5order_width#); "bump equal"; s := 1/2equal_spread; draw_bump(a, 1, left_ex + s * up, right_ex + s * up, order_width/5, line_thickness); draw_line(left_ex - s * up, right_ex - s * up, false); if negated = 1: - stroke_through(centre, 2equal_spread + 2/5order_width); + stroke_through(centre, 3equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(2,3) * equal_spread# + 2/5order_width#); "bump over equal"; + beginorder(1, order_width#, ifneg(4/2,7/2) * equal_spread# + ifneg(1,0) * 2/5order_width#); "bump over equal"; s := equal_spread; draw_bump(a, 1, left_ex + s * up, right_ex + s * up, order_width/5, line_thickness); @@ -164,26 +164,26 @@ if negated < 2: draw_line(left_ex - s * up, right_ex - s * up, false); if negated = 1: - stroke_through(centre, 3equal_spread + 2/5order_width); + stroke_through(centre, 7/2equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(1,2) * equal_spread# + 2/5order_width#); "double bump equal"; + beginorder(1, order_width#, ifneg(2/2,7/2) * equal_spread# + ifneg(1,0) * 2/5order_width#); "double bump equal"; s := 1/2equal_spread; draw_bump(a, 1, left_ex + s * up, right_ex + s * up, order_width/5, line_thickness); draw_bump(b, -1, left_ex - s * up, right_ex - s * up, order_width/5, line_thickness); if negated = 1: - stroke_through(centre, 2equal_spread + 2/5order_width); + stroke_through(centre, 7/2equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(3,4) * equal_spread# + 3/4dot_size#); "dot equal"; + beginorder(1, order_width#, ifneg(6/2,7/2) * equal_spread# + ifneg(1,0) * 3/4dot_size#); "dot equal"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); @@ -191,13 +191,13 @@ if negated < 2: fill dot(centre + 3s * up, 3/4dot_size); if negated = 1: - stroke_through(centre, 4equal_spread); + stroke_through(centre, 7/2equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(3,4) * equal_spread# + 3/4dot_size#); "equal dot"; + beginorder(1, order_width#, ifneg(6/2,7/2) * equal_spread# + ifneg(1,0) * 3/4dot_size#); "equal dot"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); @@ -205,13 +205,13 @@ if negated < 2: fill dot(centre - 3s * up, 3/4dot_size); if negated = 1: - stroke_through(centre, 4equal_spread); + stroke_through(centre, 7/2equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(3,4) * equal_spread# + 3/4dot_size#); "dot equal dot"; + beginorder(1, order_width#, ifneg(6/2,7/2) * equal_spread# + ifneg(1,0) * 3/4dot_size#); "dot equal dot"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); @@ -220,14 +220,14 @@ if negated < 2: fill dot(centre - 3s * up, 3/4dot_size); if negated = 1: - stroke_through(centre, 4equal_spread); + stroke_through(centre, 7/2equal_spread); fi; endchar; fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(3,4) * equal_spread# + 3/4dot_size#); "falling dot equal"; + beginorder(sign, order_width#, ifneg(6/2,7/2) * equal_spread# + ifneg(1,0) * 3/4dot_size#); "falling dot equal"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); @@ -236,7 +236,7 @@ if negated < 2: fill dot(right_ex - sign * 3/4dot_size * right - 3s * up, 3/4dot_size); if negated = 1: - stroke_through(centre, 4equal_spread); + stroke_through(centre, 7/2equal_spread); fi; endchar; endfor; @@ -244,11 +244,11 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(1, order_width#, ifneg(1/2, 2) * equal_spread#); "smile"; + beginorder(1, order_width#, ifneg(1/2,5/2) * equal_spread#); "smile"; draw_smile(a, sign, left_ex, right_ex, 1/2equal_spread, line_thickness, true); if negated = 1: - stroke_through(centre, 2equal_spread); + stroke_through(centre, 5/2equal_spread); fi; endchar; endfor; @@ -256,14 +256,14 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(1, order_width#, ifneg(11/6, 17/6) * equal_spread#); "smile frown"; + beginorder(1, order_width#, ifneg(11/6,7/2) * equal_spread#); "smile frown"; s := 2/3equal_spread; draw_smile(a, sign, left_ex + s * up, right_ex + s * up, 1/2equal_spread, line_thickness, true); draw_smile(b, -sign, left_ex - s * up, right_ex - s * up, 1/2equal_spread, line_thickness, true); if negated = 1: - stroke_through(centre, 17/6equal_spread); + stroke_through(centre, 7/2equal_spread); fi; endchar; endfor; @@ -271,7 +271,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(1, order_width#, ifneg(5/2, 7/2) * equal_spread#); "smile over equal"; + beginorder(1, order_width#, ifneg(5/2,7/2) * equal_spread#); "smile over equal"; s := 1equal_spread; draw_smile(a, sign, left_ex + s * up, right_ex + s * up, 1/2equal_spread, line_thickness, true); @@ -286,7 +286,7 @@ if negated < 2: fi; if negated < 2: - beginorder(1, order_width#, ifneg(1, 5/2) * equal_spread#); "equal circ"; + beginorder(1, order_width#, ifneg(1,3) * equal_spread#); "equal circ"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); @@ -294,13 +294,13 @@ if negated < 2: draw_circle(centre, 5/6s, 3/4line_thickness); if negated = 1: - stroke_through(centre, 5/2equal_spread); + stroke_through(centre, 3equal_spread); fi; endchar; fi; if negated < 2: - beginorder(1, order_width#, ifneg(9/2, 5) * equal_spread#); "circ equal"; + beginorder(1, order_width#, ifneg(9/2,10/2) * equal_spread#); "circ equal"; s := 1/2equal_spread; draw_line(left_ex + s * up, right_ex + s * up, false); @@ -333,11 +333,11 @@ endfor; if negated < 2: beginorder(1, order_width#, 5equal_spread#); "star equal"; s := 1/2equal_spread; - r := 5/4s + 3/4line_thickness; - t := 1/11r; + r := 5/4s + 3/4line_thickness; + t := 1/11r; - reg_poly_points(a)(5, centre + 7/2s * up, r, 90); - reg_poly_points(b)(5, centre + 7/2s * up, .4r, 126); + reg_poly_points(a)(5, centre + 7/2s * up, r, 90); + reg_poly_points(b)(5, centre + 7/2s * up, .4r, 126); draw_line(left_ex + s * up, right_ex + s * up, false); draw_line(left_ex - s * up, right_ex - s * up, false); @@ -369,12 +369,12 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "element"; + beginorder(sign, order_width#, ifneg(0,3/2) * equal_spread# + greater_spread#); "element"; draw_subset(a, left_ex, right_ex, greater_spread, line_thickness); draw_line(z4a, 1/2[z0a,z1a], false); if negated = 1: - stroke_through(centre, equal_spread + greater_spread); + stroke_through(centre, 3/2equal_spread + greater_spread); fi; endchar; endfor; @@ -384,11 +384,11 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1/2) * equal_spread# + greater_spread#); "less than"; + beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "less than"; draw_less(a, left_ex, right_ex, greater_spread, line_thickness, false); if negated = 1: - stroke_through(centre, 1/2equal_spread + greater_spread); + stroke_through(centre, equal_spread + greater_spread); fi; endchar; endfor; @@ -396,7 +396,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(2/3,5/3,5/3) * equal_spread# + 3/4greater_spread#); "less than or equal"; + beginorder(sign, order_width#, ifneg(2/3,6/3,5/3) * equal_spread# + 3/4greater_spread#); "less than or equal"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up; @@ -406,7 +406,7 @@ if negated < 3: draw_line(z2, z3, false); if negated = 1: - stroke_through(centre, 5/3equal_spread + 3/4greater_spread); + stroke_through(centre, 6/3equal_spread + 3/4greater_spread); elseif negated = 2: stroke_through(1/2[z2,z3], equal_spread); fi; @@ -416,7 +416,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1,3/2) * equal_spread# + 3/4greater_spread#); "less than or slanted equal"; + beginorder(sign, order_width#, ifneg(1,2) * equal_spread# + 3/4greater_spread#); "less than or slanted equal"; s := 3/4greater_spread; t := 1/2equal_spread; @@ -429,7 +429,7 @@ if negated < 2: fi; if negated = 1: - stroke_through(centre, 3/2equal_spread + s); + stroke_through(centre, 2equal_spread + s); fi; endchar; endfor; @@ -437,7 +437,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(5/3, 8/3, 8/3) * equal_spread# + 3/4greater_spread#); "less than or double equal"; + beginorder(sign, order_width#, ifneg(5/3,8/3,8/3) * equal_spread# + 3/4greater_spread#); "less than or double equal"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up; @@ -459,7 +459,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1, 3/2, 3/2) * equal_spread# + 3/4greater_spread#); "less sim"; + beginorder(sign, order_width#, ifneg(2/2,4/2,3/2) * equal_spread# + 3/4greater_spread#); "less sim"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (3/4equal_spread + s/2) * up; @@ -473,7 +473,7 @@ if negated < 3: fi if negated = 1: - stroke_through(centre, 3/2equal_spread + s); + stroke_through(centre, 2equal_spread + s); elseif negated = 2: stroke_through(1/2[z2,z3], equal_spread); fi; @@ -483,7 +483,7 @@ fi if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(2, 5/2, 5/2) * equal_spread# + 3/4greater_spread#); "less approx"; + beginorder(sign, order_width#, ifneg(4/2,5/2,5/2) * equal_spread# + 3/4greater_spread#); "less approx"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (3/4equal_spread + s/2) * up; @@ -511,7 +511,7 @@ fi if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1, 3/2 + 1/2sign) * equal_spread# + 9/8greater_spread#); "less greater"; + beginorder(sign, order_width#, ifneg(1,if sign > 0: 2 else: 3/2 fi) * equal_spread# + 9/8greater_spread#); "less greater"; s := 3/4greater_spread; t := 1/2equal_spread + 1/4s; @@ -519,7 +519,7 @@ if negated < 2: draw_less(b, right_ex - t * up, left_ex - t * up, s, line_thickness, false); if negated = 1: - stroke_through(centre, (3/2 + 1/2sign) * equal_spread + 3/2s); + stroke_through(centre, if sign > 0: 2 else: 3/2 fi * equal_spread + 3/2s); fi; endchar; endfor; @@ -527,7 +527,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(4/3, 11/6 + 1/2sign) * equal_spread# + 3/2greater_spread#); "less equal greater"; + beginorder(sign, order_width#, ifneg(4/3,11/6 + 1/2sign) * equal_spread# + 3/2greater_spread#); "less equal greater"; s := 3/4greater_spread; t := 2/3equal_spread + 1/2s; @@ -544,7 +544,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(7/3, 17/6 + 1/2sign, 7/3) * equal_spread# + 3/2greater_spread#); "less double equal greater"; + beginorder(sign, order_width#, ifneg(7/3,17/6 + 1/2sign, 7/3) * equal_spread# + 3/2greater_spread#); "less double equal greater"; s := 3/4greater_spread; t := 7/6equal_spread + 1/2s; u := 1/2equal_spread; @@ -565,7 +565,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(2, 5/2 + 1/2sign) * equal_spread# + 9/8greater_spread#); "less slanted equal greater"; + beginorder(sign, order_width#, ifneg(2,5/2 + 1/2sign) * equal_spread# + 9/8greater_spread#); "less slanted equal greater"; s := 3/4greater_spread; t := equal_spread + 1/4s; @@ -611,7 +611,7 @@ if negated < 2: draw_less(c, left_ex + sign * 2s * right, right_ex, greater_spread, line_thickness, false); if negated = 1: - stroke_through(centre, equal_spread + greater_spread); + stroke_through_angle(centre, equal_spread + greater_spread, 50); fi; endchar; endfor; @@ -619,11 +619,11 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1/2) * equal_spread# + greater_spread#); "closed less than"; + beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "closed less than"; draw_less(a, left_ex, right_ex, greater_spread, line_thickness, true); if negated = 1: - stroke_through(centre, 1/2equal_spread + greater_spread); + stroke_through(centre, equal_spread + greater_spread); fi; endchar; endfor; @@ -631,7 +631,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(2/3, 5/3) * equal_spread# + 3/4greater_spread#); "closed less than or equal"; + beginorder(sign, order_width#, ifneg(2/3,6/3) * equal_spread# + 3/4greater_spread#); "closed less than or equal"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up; @@ -641,7 +641,7 @@ if negated < 2: draw_line(z2, z3, false); if negated = 1: - stroke_through(centre, 5/3equal_spread + s); + stroke_through(centre, 6/3equal_spread + s); fi; endchar; endfor; @@ -649,7 +649,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width# * sqrt(5/4), ifneg(0,1/2) * equal_spread# + greater_spread#); "round less than"; + beginorder(sign, order_width# * sqrt(5/4), ifneg(0,1) * equal_spread# + greater_spread#); "round less than"; thick := line_thickness; z0 = left_ex; @@ -668,7 +668,7 @@ if negated < 2: fill stroke z4.e{dir (theta - 90)} .. {dir(-theta - 90)}z5.e; if negated = 1: - stroke_through(centre, 1/2equal_spread + greater_spread); + stroke_through(centre, equal_spread + greater_spread); fi; endchar; endfor; @@ -676,7 +676,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width# * sqrt(7/6), ifneg(1,3/2) * equal_spread# + 3/4greater_spread#); "round less than or slanted equal"; + beginorder(sign, order_width# * sqrt(7/6), ifneg(1,2) * equal_spread# + 3/4greater_spread#); "round less than or slanted equal"; thick := line_thickness; s := 3/4greater_spread; t := 1/2equal_spread; @@ -703,7 +703,7 @@ if negated < 2: fi; if negated = 1: - stroke_through(centre, 3/2equal_spread + 3/4greater_spread); + stroke_through(centre, 2equal_spread + 3/4greater_spread); fi; endchar; endfor; @@ -711,7 +711,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "square subset"; + beginorder(sign, order_width#, ifneg(0,3/2) * equal_spread# + greater_spread#); "square subset"; s := greater_spread; draw_line(left_ex + s/2 * up, right_ex + s/2 * up, false); @@ -719,7 +719,7 @@ if negated < 2: draw_line(left_point + s/2 * up, left_point - s/2 * up, false); if negated = 1: - stroke_through(centre, equal_spread + s); + stroke_through(centre, 3/2equal_spread + s); fi; endchar; endfor; @@ -727,7 +727,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1,2,2) * equal_spread# + 3/4greater_spread#); "square subset equal"; + beginorder(sign, order_width#, ifneg(1,5/2,2) * equal_spread# + 3/4greater_spread#); "square subset equal"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (equal_spread + s/2) * up; @@ -739,7 +739,7 @@ if negated < 3: draw_line(z2, z3, false); if negated = 1: - stroke_through(centre, 2equal_spread + s); + stroke_through(centre, 5/2equal_spread + s); elseif negated = 2: stroke_through(1/2[z2,z3] + 1/2equal_spread * up, 2equal_spread); fi; @@ -773,7 +773,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0, 1) * equal_spread# + greater_spread#); "double square subset"; + beginorder(sign, order_width#, ifneg(0,3/2) * equal_spread# + greater_spread#); "double square subset"; s := greater_spread; t := greater_spread - 3/2equal_spread; @@ -788,7 +788,7 @@ if negated < 2: draw_line(z0' + t/2 * up, z0' - t/2 * up, false); if negated = 1: - stroke_through(centre, equal_spread + s); + stroke_through(centre, 3/2equal_spread + s); fi; endchar; endfor; @@ -796,11 +796,11 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "subset"; + beginorder(sign, order_width#, ifneg(0,3/2) * equal_spread# + greater_spread#); "subset"; draw_subset(a, left_ex, right_ex, greater_spread, line_thickness); if negated = 1: - stroke_through(centre, equal_spread + greater_spread); + stroke_through(centre, 3/2equal_spread + greater_spread); fi; endchar; endfor; @@ -808,7 +808,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1,2,2) * equal_spread# + 3/4greater_spread#); "subset or equal"; + beginorder(sign, order_width#, ifneg(1,5/2,2) * equal_spread# + 3/4greater_spread#); "subset or equal"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (equal_spread + s/2) * up; @@ -818,7 +818,7 @@ if negated < 3: draw_line(z2, z3, false); if negated = 1: - stroke_through(centre, 2equal_spread + s); + stroke_through(centre, 5/2equal_spread + s); elseif negated = 2: stroke_through(1/2[z2,z3] + 1/2equal_spread * up, 2equal_spread); fi; @@ -850,7 +850,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "double subset"; + beginorder(sign, order_width#, ifneg(0,3/2) * equal_spread# + greater_spread#); "double subset"; s := greater_spread; t := greater_spread - 3/2equal_spread; @@ -860,7 +860,7 @@ if negated < 2: draw_subset(b, z0, right_ex, t, line_thickness); if negated = 1: - stroke_through(centre, equal_spread + s); + stroke_through(centre, 3/2equal_spread + s); fi; endchar; endfor; @@ -868,11 +868,11 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1/2) * equal_spread# + greater_spread#); "curly less than"; + beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "curly less than"; draw_prec(a, left_ex, right_ex, greater_spread, line_thickness, false); if negated = 1: - stroke_through(centre, 1/2equal_spread + greater_spread); + stroke_through(centre, equal_spread + greater_spread); fi; endchar; endfor; @@ -880,7 +880,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(2/3, 5/3, 5/3) * equal_spread# + 3/4greater_spread#); "curly less than or equal"; + beginorder(sign, order_width#, ifneg(2/3,6/3,5/3) * equal_spread# + 3/4greater_spread#); "curly less than or equal"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up; @@ -890,7 +890,7 @@ if negated < 3: draw_line(z2, z3, false); if negated = 1: - stroke_through(centre, 5/3equal_spread + s); + stroke_through(centre, 6/3equal_spread + s); elseif negated = 2: stroke_through(1/2[z2,z3], equal_spread); fi; @@ -900,7 +900,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1,3/2) * equal_spread# + 3/4greater_spread#); "curly less than or curly equal"; + beginorder(sign, order_width#, ifneg(1,2) * equal_spread# + 3/4greater_spread#); "curly less than or curly equal"; s := 3/4greater_spread; z0 - z2 = equal_spread * up; @@ -934,7 +934,7 @@ if negated < 2: penlabels(2,5); if negated = 1: - stroke_through(centre, 3/2equal_spread + s); + stroke_through(centre, 2equal_spread + s); fi; endchar; endfor; @@ -942,7 +942,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(5/3, 8/3, 8/3) * equal_spread# + 3/4greater_spread#); "curly less than or double equal"; + beginorder(sign, order_width#, ifneg(5/3,8/3,8/3) * equal_spread# + 3/4greater_spread#); "curly less than or double equal"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up; @@ -964,7 +964,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1, 3/2, 3/2) * equal_spread# + 3/4greater_spread#); "curly less sim"; + beginorder(sign, order_width#, ifneg(1,4/2,3/2) * equal_spread# + 3/4greater_spread#); "curly less sim"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (3/4equal_spread + s/2) * up; @@ -978,7 +978,7 @@ if negated < 3: fi if negated = 1: - stroke_through(centre, 3/2equal_spread + s); + stroke_through(centre, 4/2equal_spread + s); elseif negated = 2: stroke_through(1/2[z2,z3], equal_spread); fi; @@ -988,7 +988,7 @@ fi; if negated < 3: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(2, 5/2, 5/2) * equal_spread# + 3/4greater_spread#); "curly less approx"; + beginorder(sign, order_width#, ifneg(2,5/2,5/2) * equal_spread# + 3/4greater_spread#); "curly less approx"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (3/4equal_spread + s/2) * up; @@ -1016,12 +1016,12 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(0,1/2) * equal_spread# + greater_spread#); "less than dot"; + beginorder(sign, order_width#, ifneg(0,1) * equal_spread# + greater_spread#); "less than dot"; draw_less(a, left_ex, right_ex, greater_spread, line_thickness, false); fill dot(right_ex - sign * 3/4dot_size * right, 3/4dot_size); if negated = 1: - stroke_through(centre, 1/2equal_spread + greater_spread); + stroke_through(centre, equal_spread + greater_spread); fi; endchar; endfor; @@ -1029,7 +1029,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(2/3, 5/3) * equal_spread# + 3/4greater_spread#); "less than or equal dot"; + beginorder(sign, order_width#, ifneg(2/3,6/3) * equal_spread# + 3/4greater_spread#); "less than or equal dot"; s := 3/4greater_spread; z0 - z2 = z1 - z3 = (2/3equal_spread + s/2) * up; @@ -1040,7 +1040,7 @@ if negated < 2: draw_line(z2, z3, false); if negated = 1: - stroke_through(centre, 5/3equal_spread + s); + stroke_through(centre, 6/3equal_spread + s); fi; endchar; endfor; @@ -1048,7 +1048,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1,3/2) * equal_spread# + 3/4greater_spread#); "less than or slanted equal dot"; + beginorder(sign, order_width#, ifneg(1,2) * equal_spread# + 3/4greater_spread#); "less than or slanted equal dot"; s := 3/4greater_spread; t := 1/2equal_spread; @@ -1062,7 +1062,7 @@ if negated < 2: fi; if negated = 1: - stroke_through(centre, 3/2equal_spread + s); + stroke_through(centre, 2equal_spread + s); fi; endchar; endfor; @@ -1070,7 +1070,7 @@ fi; if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1,3/2) * equal_spread# + 3/4greater_spread#); "slanted equal or less than"; + beginorder(sign, order_width#, ifneg(1,2) * equal_spread# + 3/4greater_spread#); "slanted equal or less than"; s := 3/4greater_spread; t := 1/2equal_spread; @@ -1083,7 +1083,7 @@ if negated < 2: fi; if negated = 1: - stroke_through(centre, 3/2equal_spread + s); + stroke_through(centre, 2equal_spread + s); fi; endchar; endfor; @@ -1091,7 +1091,7 @@ fi if negated < 2: for sign = 1, -1: - beginorder(sign, order_width#, ifneg(1,3/2) * equal_spread# + 3/4greater_spread#); "curly equal or curly less than"; + beginorder(sign, order_width#, ifneg(1,2) * equal_spread# + 3/4greater_spread#); "curly equal or curly less than"; s := 3/4greater_spread; z0 - z2 = -equal_spread * up; @@ -1125,7 +1125,7 @@ if negated < 2: penlabels(2,5); if negated = 1: - stroke_through(centre, 3/2equal_spread + s); + stroke_through(centre, 2equal_spread + s); fi; endchar; endfor; |