summaryrefslogtreecommitdiff
path: root/fonts/hands/handsdef.mf
blob: c9f6363abc0f39eeb2490befa7914b311295c37d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
% handsdef.mf
% Defines the actual pointing hand
% Standard hand points to the right
 
def handpointing=
% define points for thumb and cuff
x1=x3=1/2[0,1/15w];
x2=x5=x4=x23=4/16w;
y1=y2=10/15[-desc,cap];
y3=y4=2/15[-desc,cap];
y5=6/7[y4,y2]; y23=1/7[y4,y2];
x6=9.75/16w;
y6=y2;
x7=11.25/16w;
y7=4/5[y23,y5];
x8=8.75/16w;
y8=1/4[y7,y6];
x17=14.5/16w;
y17=9.25/15[-desc,cap];
 
% find a point at a certain height on
% the curve from z6 to z7
 path dummyCurve; path dummyLine;
 x.dummy=1/2[x8,x7];
 y.dummy=y17;
 dummyCurve:=z6{z5-z2}..z7..tension1.4..z8;
 dummyLine:=z.dummy--z17;
 z18=dummyCurve intersectionpoint dummyLine;
 
x16=x17;
y16=y7;
x9=7/16w;
y9=y8;
x10=6/16w;
y10=2/5[y23,y5];
 
% find another point on the
% curve from z6 to z7
 x.dummy2=x5;
 y.dummy2=y16;
 x.dummy3:=1/2[x8,x7];
 y.dummy3=y.dummy2;
 dummyLine:=z.dummy3--z.dummy2;
 z12=dummyCurve intersectionpoint dummyLine;
 
% define points for curled fingers
x15=x14=x19=x22=1/3[x18,x17];
x13=x20=x21=x12;
y15=y16;
y13=y14=y15-(y17-y16);
y20=y19=y13-(y17-y16);
y21=y22=y20-(y17-y16);
 
% pick up pen and draw whole image
pickup pencircle scaled thinline;
draw z1--z2--z4--z3--cycle;
draw z5{(1,1)}..tension 1.5..z6
  &z6{z5-z2}..z7..tension 1.4..z8
  &z8{down}..tension 3..z9
  &z9..tension 1.8..{left}z10;
draw z18--z17{right}..z16--z7;
draw z7--z15{right}..z14--z13{left}..z12;
draw z14{right}..z19--z20{left}..z13;
draw z19{right}..z22--z21{left}..z20;
draw z21{(-1,-1)}..tension 1.5..z23;
enddef;