summaryrefslogtreecommitdiff
path: root/fonts/knot/bits.mf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/knot/bits.mf
Initial commit
Diffstat (limited to 'fonts/knot/bits.mf')
-rw-r--r--fonts/knot/bits.mf207
1 files changed, 207 insertions, 0 deletions
diff --git a/fonts/knot/bits.mf b/fonts/knot/bits.mf
new file mode 100644
index 0000000000..2693d47d44
--- /dev/null
+++ b/fonts/knot/bits.mf
@@ -0,0 +1,207 @@
+beginchar ("0", sqwid#, sqht#, 0); "bit 0";
+ pickup thin_pen;
+
+ z1 = (0,0);
+ z2 = (w,0);
+ z3 = (w,h);
+ z4 = (0,h);
+ draw z1--z2--z3--z4--cycle;
+endchar;
+
+beginchar ("1", sqwid#, sqht#, 0); "bit 1";
+ pickup thin_pen;
+
+ z1 = (0,0);
+ z2 = (w,0);
+ z3 = (w,h);
+ z4 = (0,h);
+ z5 = (1/7w,1/7h);
+ z6 = (6/7w,1/7h);
+ z7 = (6/7w,6/7h);
+ z8 = (1/7w,6/7h);
+ draw z1--z2--z3--z4--cycle;
+ draw z5--z6--z7--z8--cycle;
+ pickup pensquare xscaled (1/7w) yscaled (1/7h) shifted (1/14w, 1/14h);
+ drawdot (1/7w, 1/7h);
+ drawdot (3/7w, 1/7h);
+ drawdot (5/7w, 1/7h);
+ drawdot (2/7w, 2/7h);
+ drawdot (4/7w, 2/7h);
+ drawdot (1/7w, 3/7h);
+ drawdot (3/7w, 3/7h);
+ drawdot (5/7w, 3/7h);
+ drawdot (2/7w, 4/7h);
+ drawdot (4/7w, 4/7h);
+ drawdot (1/7w, 5/7h);
+ drawdot (3/7w, 5/7h);
+ drawdot (5/7w, 5/7h);
+endchar;
+
+beginchar ("2", sqwid#, sqht#, 0); "bit 2";
+ pickup thin_pen;
+
+ z1 = (0,0);
+ z2 = (w,0);
+ z3 = (w,h);
+ z4 = (0,h);
+ z5 = (0,.75h);
+ z6 = (.25w,.75h);
+ z7 = (.25w,.5h);
+ z8 = (.75w,.5h);
+ z9 = (.75w,.25h);
+ z10= (w,.25h);
+ z11= (.25w,0);
+ z12= (.25w,.25h);
+ z13= (.5w,.25h);
+ z14= (.5w,.75h);
+ z15= (.75w,.75h);
+ z16= (.75w,h);
+ z17= (.125w,.125h);
+ z18= (.125w,.625h);
+ z19= (.125w,.375h);
+ z20= (.375w,.375h);
+ z21= (.875w,.125h);
+ z22= (.375w,.125h);
+ z23= (.625w,.125h);
+ z24= (.625w,.375h);
+ z25= (.875w,.375h);
+ z26= (.875w,.875h);
+ z27= (.625w,.625h);
+ z28= (.875w,.625h);
+ z29= (.375w,.625h);
+ z30= (.375w,.875h);
+ z31= (.125w,.875h);
+ z32= (.625w,.875h);
+
+ draw z1--z2--z3--z4--cycle;
+ draw z5--z6--z7--z8--z9--z10;
+ draw z11--z12--z13--z14--z15--z16;
+ draw z17--z18; draw z19--z20; draw z21--z22;
+ draw z23--z24; draw z25--z26; draw z27--z28;
+ draw z29--z30; draw z31--z32;
+endchar;
+
+beginchar ("3", sqwid#, sqht#, 0); "bit 3";
+ z1 = (w/2,h/4);
+ z2 = (3w/4,h/2);
+ z3 = (w/2,3h/4);
+ z4 = (w/4,h/2);
+ fill z1--z2--z3--z4--cycle;
+endchar;
+
+beginchar ("4", sqwid#, sqht#, 0); "bit 4";
+ z1 = (w/2,h/4);
+ z2 = (3w/4,h/2);
+ z3 = (w/2,3h/4);
+ z4 = (w/4,h/2);
+ fill z1..z2..z3..z4..cycle;
+endchar;
+
+beginchar ("5", sqwid#, sqht#, 0); "bit 5";
+ pickup thin_pen;
+
+ z1 = (0,0);
+ z2 = (w,0);
+ z3 = (w,h);
+ z4 = (0,h);
+ z5 = (1/7w,1/7h);
+ z6 = (6/7w,1/7h);
+ z7 = (6/7w,6/7h);
+ z8 = (1/7w,6/7h);
+ z9 = (w/2, 2/7h);
+ z10= (5/7w, h/2);
+ z11= (w/2, 5/7h);
+ z12= (2/7w, h/2);
+ draw z1--z2--z3--z4--cycle;
+ fill z5--z9--z6--cycle;
+ fill z6--z10--z7--cycle;
+ fill z7--z11--z8--cycle;
+ fill z8--z12--z5--cycle;
+endchar;
+
+def ulsq =
+ pickup knot_pen;
+ lft x1 = 0;
+ y1 = 0;
+ lft x2 = 0;
+ top y2 = h;
+ x3 = w;
+ top y3 = h;
+ draw z1--z2--z3;
+
+ pickup thin_pen;
+ z4 = (.2w, 0);
+ z5 = (.2w, .8h);
+ z6 = (w, .8h);
+ draw z4--z5--z6;
+
+ pickup thin_pen;
+ z7 = (.8w, 0);
+ z8 = (.8w, .2h);
+ z9 = (w, .2h);
+ draw z7--z8--z9;
+
+ pickup knot_pen;
+ rt x10 = w;
+ y10 = 0;
+ rt x11 = w;
+ bot y11 = 0;
+ x12 = w;
+ bot y12 = 0;
+ draw z10--z11--z12;
+enddef;
+
+beginchar (":", sqwid#, sqht#, 0); "ul square";
+ ulsq;
+endchar;
+
+beginchar (";", sqwid#, sqht#, 0); "ur square";
+ ulsq;
+ currentpicture := currentpicture rotated 270 shifted (0, h);
+endchar;
+
+beginchar ("=", sqwid#, sqht#, 0); "lr square";
+ ulsq;
+ currentpicture := currentpicture rotated 180 shifted (w, h);
+endchar;
+
+beginchar ("<", sqwid#, sqht#, 0); "ll square";
+ ulsq;
+ currentpicture := currentpicture rotated 90 shifted (w, 0);
+endchar;
+
+def vtsq =
+ pickup knot_pen;
+ lft x1 = 0;
+ y1 = 0;
+ lft x2 = 0;
+ y2 = h;
+ draw z1--z2;
+ pickup thin_pen;
+ x3 = .2w;
+ y3 = 0;
+ x4 = .2w;
+ y4 = h;
+ draw z3--z4;
+ pickup thin_pen;
+ x5 = .8w;
+ y5 = 0;
+ x6 = .8w;
+ y6 = h;
+ draw z5--z6;
+ pickup knot_pen;
+ rt x7 = w;
+ y7 = 0;
+ rt x8 = w;
+ y8 = h;
+ draw z7--z8;
+enddef;
+
+beginchar (">", sqwid#, sqht#, 0); "vert square";
+ vtsq;
+endchar;
+
+beginchar ("?", sqwid#, sqht#, 0); "horiz square";
+ vtsq;
+ currentpicture := currentpicture rotated 90 shifted (w, 0);
+endchar;