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
|
%
% Washington Romanized Indic accent driver
%
% Macros to draw roman gammas
%
% cmchar "gamma";
newchar(lgam,if serifs: 9.5u# else:9u# fi,x_height#,desc_depth#);
italcorr x_height#*slant+.25u#;
adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
numeric left_stem,right_stem,outer_jut; pickup tiny.nib;
left_stem=fudged.stem-stem_corr;
right_stem=min(fudged.hair if hefty:-2stem_corr fi,left_stem);
outer_jut=.75jut; x1l=w-x4r=if serifs:l+letter_fit+outer_jut+.25u+tiny else: u fi;
y1=y4=h; x5=x3=x2=.5[x1,x4]; y3=y2=.3h; bot y5r=-d;
numeric gbot; gbot=.5(left_stem+right_stem);
pos1(left_stem,0); pos4(right_stem,-180); pos2(left_stem,0);
pos3(right_stem,-180); pos5(gbot,-90);
filldraw stroke z1e--z2e{z2-z1}...{left}z5e{left}...{z4-z3}z3e--z4e;
if serifs: numeric inner_jut; pickup tiny.nib;
if rt x1r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
else: rt x1r+inner_jut+.5u+1=lft x4l-inner_jut; fi
dish_serif(1,2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
dish_serif(4,3,c,.6,inner_jut,d,1/2,outer_jut)(dark);
fi % right serif
penlabels(0,1,2,3,4,5); endchar;
newchar(CGam,if serifs: 13.5u# else:13u# fi,cap_height#,desc_depth#);
italcorr x_height#*slant+.25u#;
adjust_fit(serif_fit# if monospace:+\\.5u#,.5u#+ else:,fi\\ serif_fit#);
numeric left_stem,right_stem,outer_jut; pickup tiny.nib;
left_stem=cap_stem-stem_corr;
right_stem=min(cap_hair if hefty:-2stem_corr fi,left_stem);
outer_jut=.75cap_jut; x1l=w-x4r=if serifs:l+letter_fit+outer_jut+.25u+tiny else: u fi;
y1=y4=h; x5=x3=x2=.5[x1,x4]; y3=y2=.625x_height; bot y5r=-d;
numeric gbot; gbot=.5(left_stem+right_stem);
pos1(left_stem,0); pos4(right_stem,-180); pos2(left_stem,0);
pos3(right_stem,-180); pos5(gbot,-90);
filldraw stroke z1e--z2e{z2-z1}...{left}z5e{left}...{z4-z3}z3e--z4e;
if serifs: numeric inner_jut; pickup tiny.nib;
if rt x1r+jut+.5u+1<=lft x4l-jut: inner_jut=cap_jut;
else: rt x1r+inner_jut+.5u+1=lft x4l-inner_jut; fi
dish_serif(1,2,a,1/3,outer_jut,b,1/2,inner_jut); % left serif
dish_serif(4,3,c,.6,inner_jut,d,1/2,outer_jut)(dark);
fi % right serif
penlabels(0,1,2,3,4,5); endchar;
% end of file gamma.mf
|