%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% The Pigpen Cipher Font. %%%%% %%%%% Inspired by a discussion in comp.text.tex, December 2008 %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% (c) Oliver Corff, Berlin/Beijing/Ulaanbaatar 2008. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% mode_setup; if unknown mag: mag := 1; fi; mg:=1; width#:=mg*12pt#; height#:=mg*12pt#; depth#:=mg*0pt#; thick#:=mg*1.5pt#; thin#:=mg*1.00pt#; define_pixels(height,depth,width); define_blacker_pixels(thin,thick); oben:=10/12height; unten:=2/12height; links:=2/12width; rechts:=10/12width; hm:=1/2width; vm:=6/12height; font_size 12pt#; font_normal_space 3/8width#; font_x_height height#; font_quad width#; font_extra_space 3/8width#; def roundpen = % Basic pen definition pickup pencircle scaled 0.9 thin enddef; def dotted = % numeric x[]; numeric y[]; z9=(1/2width,1/2height-2/8thin); z10=(1/2width,1/2height+2/8thin); pickup pencircle scaled 0.55 thin; % roundpen; draw (z9..z10..cycle); numeric x[]; numeric y[]; enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("A", width#,height#,depth#); lft bot z2=(links,unten); rt bot z3=(rechts,unten); top z4=(rechts,oben); roundpen; draw z2--z3--z4; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("B", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z1--z2--z3--z4; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("C", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); roundpen; draw z1--z2--z3; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("D", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z2--z3--z4--z1; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("E", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z1--z2--z3--z4--cycle; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("F", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z4--z1--z2--z3; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("G", width#,height#,depth#); lft top z1=(links,oben); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z1--z4--z3; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("H", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z2--z1--z4--z3; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("I", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt top z4=(rechts,oben); roundpen; draw z2--z1--z4; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("J", width#,height#,depth#); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z2--z3--z4; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("K", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z1--z2--z3--z4; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("L", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); roundpen; draw z1--z2--z3; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("M", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z2--z3--z4--z1; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("N", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z1--z2--z3--z4--cycle; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("O", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z4--z1--z2--z3; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("P", width#,height#,depth#); lft top z1=(links,oben); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z1--z4--z3; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("Q", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); roundpen; draw z2--z1--z4--z3; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("R", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt top z4=(rechts,oben); roundpen; draw z2--z1--z4; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("S", width#,height#,depth#); lft top z1=(links,oben); rt top z4=(rechts,oben); bot z6=(1/2width,unten); roundpen; draw z1--z6--z4; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("T", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt z7=(rechts,1/2height); roundpen; draw z1--z7--z2; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("U", width#,height#,depth#); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); lft z5=(links,1/2height); roundpen; draw z3--z5--z4; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("V", width#,height#,depth#); lft bot z2=(links,unten); rt bot z3=(rechts,unten); top z8=(1/2width,oben); roundpen; draw z2--z8--z3; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("W", width#,height#,depth#); lft top z1=(links,oben); rt top z4=(rechts,oben); bot z6=(1/2width,unten); roundpen; draw z1--z6--z4; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("X", width#,height#,depth#); lft top z1=(links,oben); lft bot z2=(links,unten); rt z7=(rechts,1/2height); roundpen; draw z1--z7--z2; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("Y", width#,height#,depth#); rt bot z3=(rechts,unten); rt top z4=(rechts,oben); lft z5=(links,1/2height); roundpen; draw z3--z5--z4; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beginchar("Z", width#,height#,depth#); lft bot z2=(links,unten); rt bot z3=(rechts,unten); top z8=(1/2width,oben); roundpen; draw z2--z8--z3; dotted; endchar; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end.