summaryrefslogtreecommitdiff
path: root/fonts/mdsymbol/source/mdturnstile.mf
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/mdsymbol/source/mdturnstile.mf')
-rw-r--r--fonts/mdsymbol/source/mdturnstile.mf102
1 files changed, 102 insertions, 0 deletions
diff --git a/fonts/mdsymbol/source/mdturnstile.mf b/fonts/mdsymbol/source/mdturnstile.mf
new file mode 100644
index 0000000000..b4917e2f41
--- /dev/null
+++ b/fonts/mdsymbol/source/mdturnstile.mf
@@ -0,0 +1,102 @@
+%
+% Copyright (c) 2011, 2012, Sebastian Schubert <schubert.seb@googlemail.com>
+%
+% This Font Software is licensed under the SIL Open Font License,
+% Version 1.1. This license is in the accompanying file OFL.txt, and
+% is also available with a FAQ at: http://scripts.sil.org/OFL
+%
+
+for factor = 1, 7/10:
+ for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, factor); "turnstile (" & decimal alpha & ")";
+ draw_line(foot, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(foot + 1/2len * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+ endfor;
+endfor;
+
+for factor = 1, 7/10:
+ for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, factor); "double turnstile (" & decimal alpha & ")";
+ z1 - z0 = equal_spread * dir (alpha + 90);
+ 1/2[z0,z1] = foot;
+
+ draw_line(z0, z0 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(z1, z1 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(foot + 1/2len * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+ endfor;
+endfor;
+
+for factor = 13/10, 1:
+ for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, factor); "bar with turnstile (" & decimal alpha & ")";
+ z0 = foot + 3/10turnstile_width * dir alpha;
+
+ draw_line(z0, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+ draw_line(z0 - spread/2 * dir (alpha + 90), z0 + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(z0 + 1/2(len - 3/10turnstile_width) * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+ endfor;
+endfor;
+
+for alpha = 0, 90, 180, 270:
+ beginturnstile(alpha, 13/10); "bar with double turnstile (" & decimal alpha & ")";
+ z0 = foot + 3/10turnstile_width * dir alpha;
+ z2 - z1 = z4 - z3 = equal_spread * dir (alpha + 90);
+ 1/2[z1,z2] = foot;
+ 1/2[z3,z4] = z0;
+
+ draw_line(z3, z1 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(z4, z2 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+ draw_line(z0 - spread/2 * dir (alpha + 90), z0 + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(z0 + 1/2(len - 3/10turnstile_width) * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginturnstile(alpha, 13/10); "double bar with turnstile (" & decimal alpha & ")";
+ z0 = foot + 3/10turnstile_width * dir alpha;
+ z1 = z0 + 3/10turnstile_width * dir alpha;
+
+ draw_line(z1, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+ draw_line(z0 - spread/2 * dir (alpha + 90), z0 + spread/2 * dir (alpha + 90), true);
+ draw_line(z1 - spread/2 * dir (alpha + 90), z1 + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(z1 + 1/2(len - 3/5turnstile_width) * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+endfor;
+
+for alpha = 0, 180:
+ beginturnstile(alpha, 1); "triple turnstile (" & decimal alpha & ")";
+ z0 - foot = foot - z1 = equal_spread * dir (alpha + 90);
+
+ draw_line(z0, z0 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot, foot + (len - line_thickness/2) * dir alpha, false);
+ draw_line(z1, z1 + (len - line_thickness/2) * dir alpha, false);
+ draw_line(foot - spread/2 * dir (alpha + 90), foot + spread/2 * dir (alpha + 90), true);
+
+ if negated:
+ stroke_through_arrow(foot + 1/2len * dir alpha, alpha, spread)(75, 75, 110, 110, 75, 75, 110, 110);
+ fi
+ endchar;
+endfor;