summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-05-30 21:37:24 +0000
committerKarl Berry <karl@freefriends.org>2011-05-30 21:37:24 +0000
commitc15b609a52b61a317ebdae81beac7b8645d120c1 (patch)
tree19104d0ae9d3da91e7ba0f99f014b640b5f92bfe /Master/texmf-dist/fonts/source
parenta5a60adba9e52ccc366bb3a74d07a6ba2b16d744 (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')
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdbase.mf129
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdgeometric.mf5
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdoperators.mf3
-rw-r--r--Master/texmf-dist/fonts/source/public/fdsymbol/fdrelations.mf198
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;