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
|
if unknown gen_sigma : readfrom("gen_sigma") fi
def dims = 9.5u#,asc_height#,0 enddef;
def ital = 0 enddef;
def fit_params = -.25u#,-.25u# enddef;
def krn = -.75u# enddef;
def gen_letter=
pickup fine.nib;
x1-.5stem=hround .75u; y1+.5stem=h; %top left
z1'=(1,.2); pos1(stem,angle z1'+90); %direction at z1
x3+x1=w; y3-.5stem=-oo; pos3(stem,-angle z1'+90); %bottom right
y2=x_height; x2=.5[x1,x3]; %attachment
z2'=(z3-z1)yscaled 2; pos2(hair,angle z2'+90); %direction at z4
filldraw double_circ_stroke z1e{z1'}...
z2e{(z3-z1)yscaled 2}...{z1' yscaled -1}z3e; %diagonal
lft x4l=hround.75u; bot y4l=0; %bottom left
numeric stem'; stem'=stem-currentbreadth; numeric slope; %from z4 to z4
slope=angle(z2-z4l)+angle(length(z2-z4l)+-+.5stem',.5stem');
x4r=x4l+(stem'/sind slope); y4r=y4l; z4=.5[z4r,z4l];
path p; p=z1{z1'}...z2{(z3-z1)yscaled 2}...{z1' yscaled -1}z3;
forsuffixes e=r,l: z5e=(z4e--(z4e+2(z2-z4))) intersectionpoint p; endfor
filldraw stroke z4e{(z2-z4)if not monowidth: xscaled 1.2 fi}..z5e;
enddef;
cmchar "Lowercase lambda";
beginchar("l",dims);
this_letter; penlabels(1,2,3,4,5); endchar;
if boolean barebones: picture savedpicture; endinput; fi
cmchar "Lowercase sigma followed by lambda";
begindoublechar(oct"014",dim_sigma);
mid_sigma; doublecharkern(krn); middoublechar(dims); this_letter; endchar;
picture savedpicture;
|