% More character codes. Created by Emma Pease, CSLI, % Stanford University. Based for the most part on computer modern characters % down hook and up hook were created in order to form hookuparrows and % hookdownarrows cmchar "Down hook"; compute_spread(.45x_height#,.55x_height#); beginchar(oct"173",5u#,v_center(2spread#+rule_thickness#)); adjust_fit(0,0); pickup rule.nib; autorounded; rt x2=hround(w-u)+eps; x1=x3=w-x2; y1-y3=spread; y2=.5[y1,y3]; y3=math_axis; draw z1{right}...z2{down}...z3{left}; % hook currentpicture:=currentpicture rotatedaround ((.5w,y2),90); labels(1,2,3); endchar; cmchar "Up hook"; compute_spread(.45x_height#,.55x_height#); beginchar(oct"174",5u#,v_center(2spread#+rule_thickness#)); adjust_fit(0,0); pickup rule.nib; autorounded; rt x2=hround(w-u)+eps; x1=x3=w-x2; y1-y3=spread; y2=.5[y1,y3]; y3=math_axis; draw z1{right}...z2{down}...z3{left}; % hook currentpicture:=currentpicture rotatedaround ((.5w,y2),-90); labels(1,2,3); endchar; cmchar "2bsquare"; beginchar(oct"176",9u#,fig_height#,comma_depth#); adjust_fit(0,0); pickup rule.nib; x1=x4=x8=x7; x2=x3=x5=x6; top y1=top y2=h; y3=.6[y2,math_axis]; y3=y4; y5=y8; y7=y6; y5=.6[y6,math_axis]; math_axis=.5[y3,y5]; y1-y4=x3-x4; lft x4=w-rt x3; filldraw z1--z2--z3--z4--cycle; filldraw z5--z6--z7--z8--cycle; labels(1,2,3,4,5,6,7,8); endchar; cmchar "bsquare"; beginchar(oct"175",9u#,v_center(7u#)); adjust_fit(0,0); pickup rule.nib; numeric a; a=sqrt(3.14159); lft x6=lft x7=lft x5=hround (w/2 - (w-2u)*a/4); x2=x1=x3=w-x6; top y1=top y7=h; y6=y2=math_axis; y5=y3; z2=.5[z3,z1]; filldraw z1--z2--z3--z5--z7--cycle; labels(1,2,3,5,7); endchar;