English [en]   Deutsch [de]   français [fr]   română [ro]  

Hurd Logos in Metafont

As separate files: hurd_sm_mf.jpg (jpeg 10k), hurd_mf.jpg (jpeg 20k), hurd.mf (Metafont source code).

 [small image of a Hurd Metafont Logo]

 [large image of a Hurd Metafont Logo]

Metafont source code:

% Stephen McCamant <alias@mcs.com> 1997
% Freely redistributable
mode=localfont;
mode_setup;

 dsize#:=10pt#;

 em#:=sqrt(2)*dsize#; cap#:=dsize#;
 thick#:=(1/5)*dsize#; thin#:=(1/7)*thick#; 
 
 bigfuzz:=.02; smfuzz:=.01;

define_pixels(em,cap);
define_blacker_pixels(thin, thick);

beginchar("H",.65em#,cap#,0); "The letter H";
 penpos1(thick,-15); penpos2(thick,-12); penpos3(thick,-10);
 x1=x2=x3=.5thick; y1=h; y2=(.5+bigfuzz)*h; y3=0; x2l:=1/4[x2l,x2];
 penpos4(thick,-15); penpos5(thick,-12); penpos6(thick,-10);
 x4=x5=x6=w-.5thick; y4=h; y5=(.5+bigfuzz)*h; y6=0; x5l:=1/4[x5l,x5]; 
 penstroke z1e..z2e{down}..z3e; penstroke z4e..z5e{down}..z6e;
 penpos7(thick,80); penpos8(thick,90); penpos9(thick,100);
 x7=.5thick; x8=.5w; x9=w-.5thick;
 y7=y9=(.5+bigfuzz)*h; y8=(.5-bigfuzz)*h;
 penstroke z7e..z8e..z9e;
 penlabels(1,2,3,4,5,6,7,8,9);
endchar;

% U by Don Knuth (originally; now mangled beyond recognition)
beginchar("U",.85em#,cap#,0); "The letter U";
 penpos1(1.1thick,-10);
 penpos2(thick,-10);
 penpos3(thick,40);
 penpos4(thick,75);
 penpos5(thick,130);
 penpos6(thick,180);
 penpos7(thick,170);
 x1l=.1em; x7l=w-.1em;
 y1=y7=h;
 x2=x1; y2=.3h;
 x3=.75[x4,x2]; y3=.75[y2,y4];
 x4r=.75[x2r,x6r]; y4l=-.05h;
 x5=.7[x4,x6]; y5=.7[y6,y4];
 x6=x7; y6=1/3h;
 penstroke z1e..z2e{down}..z4e{z3e}..z6e{up}..z7e;
 penlabels(1,2,3,4,5,6,7);
endchar;

beginchar("R",.6em#,cap#,0); "The letter R";
 penpos1(thick,-10);
 penpos2(thick,-10);
 penpos3(thick,-10);
 penpos4(1.5thick,-10);
 x1l=0;
 x1=x2=x3=x4;
 y1=-.2thick; y4=h;
 y2=.1[y1,y4]; y3=.9[y1,y4];
 penstroke z1e..z2e{up}..z3e{up}..z4e;
 penpos5(.8thick,90);
 penpos6(.8thick,90);
 penpos7(thick,0);
 penpos8(thick,-90);
 x5r=x4; y5r=y4-.1thick; 
 x7r=w; y7=.7[h,y8]; 
 x6=.5[x1,x7]; y6=y5;
 y8=.65[y1,y4]; x8=x1;
 penstroke z5e{right}..z6e{right}..z7e{down}..z8e; 
 penpos9(thick,45);
 penpos10(thick,-10);
 x9=x8; y9=.45[y1,y4]; 
 y10=y1; x10r=x7r;
 penstroke z9e{(.5,-.05)}..z10e{down};
 penlabels(1,2,3,4,5,6,7,8,9,10);
endchar;

beginchar("D",.85em#,cap#,0); "The letter D";
 penpos1(1.1thick,-10);
 penpos2(thick,-10);
 penpos3(1.1thick,0);
 x1l=.1em; x1=x2=x3; y1=h; y2=.5[y1,y3]; y3=-.2thick;
 penstroke z1e..z2e{down}..z3e;
 penpos4(thick,90);
 penpos5(thick,90);
 penpos6(thick,0);
 penpos7(thick,-90);
 penpos8(thick,-90);
 z4r=z1; z8r=z3;
 x6r=w-.1em; y6=.5[y1,y3];
 x5=x7=.3[x4,x6]; y5=y4; y7=y8;
 penstroke z4e{right}..z5e{right}..z6e{down}..z7e{left}..z8e{left};
 penlabels(1,2,3,4,5,6,7,8);
endchar;

beginchar("#",1.2cap#,cap#,0); "Boxes and arrows logo";
 pickup pencircle scaled thin;
 draw unitsquare scaled .2h shifted (.1h,.4h);
 draw unitsquare scaled .2h shifted (.4h,.7h);
 draw unitsquare scaled .2h shifted (.7h,.4h);
 draw unitsquare scaled .2h shifted (.4h,.1h);
 draw (.4h,.8h){left}..(.2h,.65h){down}--(.2h,.6h);
 draw (.15h,.65h)--(.2h,.6h)--(.25h,.65h);
 draw (.5h,.7h){down}..(.625h,.5h){right}--(.7h,.5h);
 draw (.65h,.45h)--(.7h,.5h)--(.65h,.55h);
 draw (.6h,.2h){right}..(1.0h,.5h)..(.65h,.8h){left}--(.6h,.8h);
 draw (.65h,.75h)--(.6h,.8h)--(.65h,.85h);
 draw (.8h,.4h){down}..(.5h,0)..(.2h,.35h){up}--(.2h,.4h);
 draw (.15h,.35h)--(.2h,.4h)--(.25h,.35h);
endchar;

beginchar("G",.9em#,cap#,0); "The letter G";
 penpos1(thick,15);
 penpos2(thick,90);
 penpos3(thick,180);
 penpos4(thick,270);
 penpos5(thick,0);
 penpos6(thick,0);
 penpos7(thick,100);
 penpos8(thick,90);
 x3r=.1em;
 x6r=w-.1em;
 x1r=.95[x3r,x6r];
 x2=x4=.5[x1,x3];
 y2r=h+.3thick; y4r=-.3thick; y3=.5h;
 x5=x6; y5=.3h;
 y1=5/7h; z6=z8r;
 y7r=y8r; y8=.5h;
 x7=x2;
 penstroke z1e{up}..z2e{left}..z3e{down}..z4e{right}..z5e{up}..z6e{up};
 penstroke z7e..z8e; 
 penlabels(1,2,3,4,5,6,7);
endchar;

beginchar("N",.65em#,cap#,0); "The letter N";
 penpos1(thick,-15); penpos2(thick,-12); penpos3(thick,-10);
 x1=x2=x3=.5thick; y1=h; y2=(.5+bigfuzz)*h; y3=0; x2l:=1/4[x2l,x2];
 penpos4(thick,-15); penpos5(thick,-12); penpos6(thick,-10);
 x4=x5=x6=w-.5thick; y4=h; y5=(.5+bigfuzz)*h; y6=0; x5l:=1/4[x5l,x5]; 
 penstroke z1e..z2e{down}..z3e; penstroke z4e..z5e{down}..z6e;
 penpos7(1.5thick,80); penpos8(1.3thick,90); penpos9(1.5thick,800);
 x8=.5w;
 z7r=z1r; z9l=z6l; y8=(.5-bigfuzz)*h;
 penstroke z7e..z8e..z9e;
 penlabels(1,2,3,4,5,6,7,8,9);
endchar;

end;

 [FSF logo] “Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.

back to top