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
|
if unknown gen_acc : readfrom("gen_acc") fi
if unknown gen_sigma : readfrom("gen_sigma") fi
def width = 8.5u enddef;
def height = x_height enddef;
def depth = desc_depth enddef;
def dims = width#,height#,depth# enddef;
def ital = 0 enddef;
def fit_params = 0,0 enddef;
def gen_letter =
pickup fine.nib;
lft x4r=hround .75u; x8r=w-x4r; y4r=y8r=.5h; %left and right
top y2r=h+oo; bot y6r=-oo; x2r=x6r=.5w; %top and bottom
filldraw stroke
gr_arc.e(4,5,6)(curve,vair,-otilt) & gr_arc.e(6,7,8)(curve,vair,-otilt) &
gr_arc.e(8,1,2)(curve,vair,-otilt) & gr_arc.e(2,3,4)(curve,vair,-otilt);
if straight:
y9-.5stem=-d-oo; x9=x4; pos9(stem,180); %end of handle
filldraw circ_stroke z9e..z4e;
else:
y9-.5stem=-d-oo; x9=lft x4r+stem; %end of handle
pos9(stem,angle((z9-z4)xscaled3)-90); z9'r=z9'l=(z9-z4)xscaled3;
rt x10l=lft x10r+vair; %vertical tangents of handle
x10r=x4r-epsilon; assign_z4'r((-2eps,-1)); %so club.r won't get confused
filldraw double_circ_stroke club.e(4,10,9);
fi
numeric x_baryctr; x_baryctr=x2; %breathing placement
enddef;
cmchar "Lowercase rho";
beginchar("r",dims);
this_letter; penlabels(1,2,3,4,5,6,7,8,9,10); endchar;
if boolean barebones: picture savedpicture; endinput; fi
cmchar "Lowercase rho with rough breathing";
beginchar(oct"373",width#,acc_ht#,depth#);
this_letter; spirit(x_baryctr)<; endchar;
cmchar "Lowercase rho with smooth breathing";
beginchar(oct"374",width#,acc_ht#,depth#);
this_letter; spirit(x_baryctr)>; endchar;
cmchar "Lowercase sigma followed by rho";
begindoublechar(oct"022",dim_sigma);
mid_sigma; middoublechar(dims); this_letter; endchar;
picture savedpicture;
|