- penpos1(.75penh,-110);
- z1r=pos+.07vy;
- penpos2(penh,-75);
- z2r=(.5[x1,x3],ypart pos);
- penpos3(.25[penh,penw],-30);
- z3=(.45[x2,x4],.15[y2,y4]);
- penpos4(1[penh,penw],0);
- z4=pos+.5vx+.975vy;
-
- penpos5(1[penh,penw],-180);
- z5=z4;
- penpos6(.2[penh,penw],-150);
- z6l=(.8[x5l,x7l],.9[y5l,y7l]);
- penpos7(penh,-90);
- z7r=(.5[x6,x8],ypart pos);
- penpos8(.75penh,-70);
- z8r=(xpart(pos+siz),y7r+.075ypart(siz));
-
- penpos10(penh,-105);
- z10=.2[z3,z4];
- penpos11(.9penh,-90);
- z11=.4[z10,z6]-0.05vy;
- penpos12(.75penh,-75);
- z12=.3[z11,z6]+0.02vy;
-
- % penlabels(1,2,3,4,5,6,7,8,10,11,12);
-
- soft_penstroke (z1e {(z1r-z1l) rotated 90}
- ..z2e
- ..z3e
- ..z4e
- ) slanted slant shifted (slant*-ypart pos,0);
-
- soft_penstroke (z5e
- ..z6e
- ..z7e
- ..z8e {(z8r-z8l) rotated 90}
- ) slanted slant shifted (slant*-ypart pos,0);
-
- soft_penstroke (z10e
- ..z11e
- ..z12e
- ) slanted slant shifted (slant*-ypart pos,0);
-
- endgroup;
+def draw_tab_A (expr pos, siz, slant) =
+begingroup;
+ save vx, vy, pat;
+ pair vx, vy;
+ path pat;
+
+ clearxy;
+
+ vx = (xpart siz) * dir 0;
+ vy = (ypart siz) * dir 90;
+
+ penpos1 (.75 penh, -110);
+ z1r = pos + .07 vy;
+ penpos2 (penh, -75);
+ z2r = (.5 [x1, x3], ypart pos);
+ penpos3 (.25 [penh, penw], -30);
+ z3 = (.45 [x2, x4], .15 [y2, y4]);
+ penpos4 (1 [penh, penw], 0);
+ z4 = pos + .5 vx + .975 vy;
+
+ penpos5 (1 [penh, penw], -180);
+ z5 = z4;
+ penpos6 (.2 [penh, penw], -150);
+ z6l = (.8 [x5l, x7l], .9 [y5l, y7l]);
+ penpos7 (penh,-90);
+ z7r = (.5 [x6, x8], ypart pos);
+ penpos8 (.75 penh, -70);
+ z8r = (xpart (pos + siz), y7r + .075 ypart (siz));
+
+ pat := z2
+ .. z3
+ .. z4;
+
+ penpos10 (penh, angle (direction 1.2 of pat) - 180);
+ z10 = point 1.2 of pat;
+ penpos11 (.9 penh, -90);
+ z11 = .4 [z10, z6] - 0.05 vy;
+ penpos12 (.75 penh, -75);
+ z12 = .3 [z11, z6] + 0.02 vy;
+
+ % penlabels (range 1 thru 12);
+
+ soft_penstroke (z1e{(z1r - z1l) rotated 90}
+ .. z2e
+ .. z3e
+ .. z4e)
+ slanted slant shifted (slant * -ypart pos, 0);
+
+ soft_end_penstroke (z5e
+ .. z6e
+ .. z7e
+ .. z8e{(z8r - z8l) rotated 90})
+ slanted slant shifted (slant * -ypart pos, 0);
+
+ soft_end_penstroke (z10e
+ .. z11e
+ .. z12e)
+ slanted slant shifted (slant * -ypart pos, 0);
+endgroup;