% Punk punctuation beginpunkchar(".",5,1,2); pd pp(.5w,0); % dot endchar; beginpunkchar(",",5,.5,.5); z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h); pd z1; pd z3; draw z1--z2--z3; % stroke endchar; beginpunkchar(":",5,1,.5); pd pp(.5w,0); pd pp(.5w,.4h); % dots endchar; beginpunkchar(";",5,.5,.5); z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h); pd z1; pd z3; draw z1--z2--z3; % stroke pd pp(.5w,.4h); % dot endchar; beginpunkchar("!",5,.5,.5); pd pp(.5w,0); % dot z1=pp(.5w,1.05h); z2=pp(.5w,.3h); pd z1; pd z2; draw z1--z2; % stem endchar; ligtable "!": "`" =: oct"016"; beginpunkchar(oct"016",5,.5,.5); % spanish inverted ! pd pp(.5w,.9h); % dot z1=pp(.5w,-.1h); z2=pp(.5w,.6h); pd z1; pd z2; draw z1--z2; % stem endchar; beginpunkchar("?",9,1,.5); z1=pp(1.5u,.8h); z2=pp(.5w,h); z3=pp(w-u,.8h); z4=pp(.5w,.3h); pd z1; pd z4; draw z1..z2..z3..{down}z4; % arc and stem pd pp(.5w,0); % dot endchar; ligtable "?": "`" =: oct"017"; beginpunkchar(oct"017",9,1,.5); % spanish inverted ? z1=pp(1.5u,.1h); z2=pp(.5w,-.1h); z3=pp(w-u,.1h); z4=pp(.5w,.6h); pd z1; pd z4; draw z1..z2..z3..{up}z4; % arc and stem pd pp(.5w,.9h); % dot endchar; beginpunkchar("&",14,.5,.5); z1=pp(w-2u,h); z2=pp(u,h); z3=pp(3u,0); z5=pp(w-u,.6h); z6=pp(w-2u,0); pd z1; pd z5; draw z1--z2--z3--z5; % arms and stem draw z1--.5[z2,z3]; pd z6; draw z6--.6[z3,z5]; % diagonals endchar; beginpunkchar("$",12,.5,.5); z1=pp(w-1.5u,.7h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.5[z3,z5]; z5=pp(w-u,.3h); z6=pp(.5w,0); z7=pp(u,.3h); pd z1; pd z7; draw z1..z2..z3..z4..z5..z6..z7; % stroke z8=z2+(0,.1h); pd z8; draw z8--z6; % stem endchar; beginpunkchar("%",18,.5,.5); z1=pp(3.5u,1.1h); z2=pp(u,.8h); z3=pp(3.5u,.5h); z4=pp(6u,.8h); z5=pp(w-3.5u,.5h); z6=pp(w-6u,.2h); z7=pp(w-3.5u,-.1h); z8=pp(w-u,.2h); pd z1; draw z1..z2..z3..z4..z1; % upper bowl pd z5; draw z5..z6..z7..z8..z5; % lower bowl z9=pp(w-3u,1.1h); z0=pp(3u,-.1h); pd z0; draw z9--z0; % diagonal draw z1{z5-z1}..z9; % link endchar; beginpunkchar("@",18,1,.5); z1=pp(2u,0); z2=pp(1/3w,.7h); z3=pp(w-6u,0); z4=pp(w,.3h); z5=pp(1/3w,h); z6=pp(u,.5h); z7=.7[z2,z3]; pd z1; pd z7; draw z1--z2--z3{right}..z4..z5..z6..z7; % diagonals and stroke endchar; beginpunkchar("-",7,.5,.5); z1=pp(u,.4h); z2=pp(w-u,.5h); pd z1; pd z2; draw z1--z2; % bar endchar; ligtable "-": "-" =: oct"173"; beginpunkchar(oct"173",9,.5,.5); % -- z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2; % bar endchar; ligtable oct"173": "-" =: oct"174"; beginpunkchar(oct"174",18,.5,.5); % --- z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2; % bar endchar; beginpunkchar("+",9,.5,1); z1=pp(0,.5h); z2=pp(w,.5h); pd z1; pd z2; draw z1--z2; % bar z3=pp(.5w,.1h); z4=pp(.5w,.9h); pd z3; pd z4; draw z3--z4; % stem endchar; beginpunkchar("*",13,.5,1); z0=pp(.5w,1.1h); z1=pp(u,.9h); z2=pp(2u,.3h); z3=pp(w-u,.3h); z4=pp(w-u,.9h); pd z0; draw z0--z2..1/3[.5[z2,z4],z0]..z4--z1--z3--z0; % star endchar; beginpunkchar("'",5,.3,.5); z1=pp(1.5u,h); z2=pp(w-u,.85h); z3=pp(u,2/3h); pd z1; pd z3; draw z1--z2--z3; % stroke endchar; ligtable "'": "'" =: oct"042"; beginpunkchar(oct"042",9,.3,.5); % '' z1=pp(.5w-.5u,h); z2=pp(u,.6h); z3=pp(w-u,.95h); pd z1; pd z3; draw z1--z2--z3; % stroke endchar; beginpunkchar("`",5,.3,.5); z1=pp(w-1.5u,h); z2=pp(u,.85h); z3=pp(w-u,2/3h); pd z1; pd z3; draw z1--z2--z3; % stroke endchar; ligtable "`": "`" =: oct"134"; beginpunkchar(oct"134",9,.3,.5); % `` z1=pp(.5w+.5u,h); z2=pp(w-u,.6h); z3=pp(u,.95h); pd z1; pd z3; draw z1--z2--z3; % stroke endchar; beginpunkchar(oct"015",9,.3,.5); % {\tt\char'15} z1=pp(.5w,h); z2=pp(.5w,.6h); pd z1; pd z2; draw z1--z2; % stem endchar; beginpunkchar("(",7,.5,.5); z1=pp(w-u,h); z2=pp(u,.5h); z3=pp(w-u,0); pd z1; pd z3; draw z1..z2..z3; % stroke endchar; beginpunkchar(")",7,.5,.5); z1=pp(u,h); z2=pp(w-u,.5h); z3=pp(u,0); pd z1; pd z3; draw z1..z2..z3; % stroke endchar; beginpunkchar("[",8,.5,.5); z1=pp(w-u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(w-u,0); pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem endchar; beginpunkchar("]",8,.5,.5); z1=pp(u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(u,0); pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem endchar; beginpunkchar("<",9,.5,.5); z1=pp(w-u,.9h); z2=pp(u,.5h); z3=pp(w-u,.1h); pd z1; pd z3; draw z1--z2--z3; % diagonals endchar; beginpunkchar(">",9,.5,.5); z1=pp(u,.9h); z2=pp(w-u,.5h); z3=pp(u,.1h); pd z1; pd z3; draw z1--z2--z3; % diagonals endchar; beginpunkchar("=",9,.5,.5); z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar endchar; beginpunkchar("#",15,.5,.5); z1=pp(.5w,h); z2=pp(3u,0); z3=pp(w-3u,h); z4=pp(.5w,0); pd z2; pd z3; draw z3--z1--z2; draw z3--z4--z2; % diagonals (linked) z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar endchar; beginpunkchar("/",9,1,1); z1=pp(1.5u,-.05h); z2=pp(w-1.5u,1.05h); pd z1; pd z2; draw z1--z2; % diagonal endchar; beginpunkchar(oct"013",12,.5,.5); % {\tt\char'13} z1=pp(u,.7h); z2=pp(.5w,h); z3=pp(w-u,.7h); z4=pp(.5w,0); pd z1; pd z3; pd z4; draw z1--z2--z4; draw z3--z2; % stem and diagonals endchar; beginpunkchar(oct"014",12,.5,.5); % {\tt\char'14} z1=pp(u,.3h); z2=pp(.5w,0); z3=pp(w-u,.3h); z4=pp(.5w,h); pd z1; pd z3; pd z4; draw z1--z2--z4; draw z3--z2; % stem and diagonals endchar;