%	Letters in the style of METAFONT logo font
%  Damian Cugley, SEH <pdc@oxford.prg> Fri 30 Jun 1989

beginlogochar("A",15); "Knuth's letter A";
x1=.5w; x2=x4=leftstemloc; x3=x5=w-x2;
top y1=h+o; y2=y3=barheight;
bot y4=bot y5=-o;
draw z4--z2--z3--z5; super_half(2,1,3);
labels(1,2,3,4,5); 
endchar;

beginlogochar("B",15); "Capital B";
    x1 = x2 = x6 = leftstemloc; x3 = x4 = x8 = 1/2 w; 
    x5 + xgap = x7 = w - 1.5 u - s; 
    top y1 = top y3 = h; bot y2 = bot y8 = 0; y4 = y6 = barheight; 
    y5 = 0.45[y6,y1]; y7 = 0.45[y2,y6];
    draw z8 -- z2 -- z1 -- z3; draw z4 -- z6;
    half_super(3,5,4); half_super(4,7,8);
    labels(1,2,3,4,5,6); endchar;

beginlogochar("C",15); "Capital C";
  x1 = x4 = 1/2 w; top y1 = h + o; bot y4 = -o;
  x2 = w - x3 = good.x(1.5u+s); y2 = y3 = barheight;
  half_super(1,2,4); qtr_super(1,3); qtr_super(4,3);
  labels(1,2,3,4); endchar;

beginlogochar("D",15); "Capital D";
    x1 = x3  = leftstemloc; w - x2 = good.x(1.5 u + s); x4 = x5 = 1/2 w;
    top y1 = top y4 = h + o; bot y3 = bot y5 = -o; y2 = barheight;
    half_super(4,2,5); draw  z4; draw z4 -- z1 -- z3 -- z5;
    labels(1,2,3,4,5); endchar;
 
beginlogochar("E",14); "Capital E (Knuth's)";
x1=x2=x3=leftstemloc;
x4=x6=w-x1+ho; x5=x4-xgap;
y1=y6; y2=y5; y3=y4;
bot y1=0; top y3=h; y2=barheight;
draw z6--z1--z3--z4; draw z2--z5;
labels(1,2,3,4,5,6); endchar;

beginlogochar("F",14); "Capital F (Knuth's)";
x1=x2=x3=leftstemloc;
x4=w-x1+ho; x5=x4-xgap;
y2=y5; y3=y4; bot y1=-o;
top y3=h; y2=barheight;
draw z1--z3--z4; draw z2--z5;
labels(1,2,3,4,5); endchar;

beginlogochar("G",15); "Capital G";
    x1 = x4 = x6 = 1/2 w; x2 = good.x(1.5u+s); 
    x3 = x5 = x7 = w - leftstemloc; 
    y2 = y3 = y6 = barheight; top y1 = h + o; 
    bot y4 = -o; bot y5 = 0; y7 = 0.8[y6,y1];
    half_super(1,2,4); 
    draw z7{z1-z3} ... z1{left}; draw z6 -- z3 -- z5 .. z4{left};
    labels(1,2,3,4,5,6,7); endchar;

beginlogochar("H",16); "Capital H";
    sixpoints;
    draw z1 -- z3; draw z4 -- z6; draw z2 -- z5;
    labels(1,2,3,4,5,6); endchar;

beginlogochar("I",5); "Capital I";
    x1 = x2 = leftstemloc;
    top y1 = h + o; bot y2 = -o;
    draw z1 -- z2;
    labels(1,2); endchar;

beginlogochar("J",12); "Capital J";
    x1 = x2 = w - leftstemloc; x3 = 1/2[x1,x4]; x4 = leftstemloc;
    top y1 = h + o; bot y3 = -o; y2 = y4 = 0.45 barheight;
    super_half(2,3,4); draw z1 -- z2;
    labels(1,2,3,4); endchar;

beginlogochar("K",16); "Capital K";
    sixpoints;
    draw z1 -- z3; draw z4 -- z2 -- z6;
    labels(1,2,3,4,6); endchar;

beginlogochar("L",15); "Capital L";
    x1 = x2 = w - x3 = leftstemloc;
    top y1 = h + o; bot y2 = bot y3 = 0;
    draw z1 -- z2 -- z3;
    labels(1,2,3); endchar;

beginlogochar("M",18);
x1=x2=leftstemloc; x4=x5=w-x1; x3=w-x3;
y1=y5; y2=y4; bot y1=-o;
top y2=h+o; y3=y1+ygap;
draw z1--z2--z3--z4--z5;
labels(1,2,3,4,5); endchar;

beginlogochar("N",15);
x1=x2=leftstemloc; x3=x4=x5=w-x1;
bot y1=bot y4=-o;
top y2=top y5=h+o; y3=y4+ygap;
draw z1--z2--z3; draw z4--z5;
labels(1,2,3,4,5); endchar;

beginlogochar("O",15);
x1=x4=.5w; top y1=h+o; bot y4=-o;
x2=w-x3=good.x(1.5u+s); y2=y3=barheight;
super_half(2,1,3); super_half(2,4,3);
labels(1,2,3,4); endchar;

beginlogochar("P",15); "Capital P";
    x1 = x2 = x6 = leftstemloc; x3 = x4 = 1/2 w; x5 = w - 1.5 u - s; 
    top y1 = top y3 = h; bot y2 = -o; y4 = y6 = barheight; 
    y5 = 0.45[y4,y3];
    draw z2 -- z1 -- z3; draw z4 -- z6;
    half_super(3,5,4);
    labels(1,2,3,4,5,6); endchar;

beginlogochar("Q",15); "Capital Q";
    x1 = x4 = x5 = 1/2 w; top y1 = h + o; bot y4 = -o; 
    x2 = w - x3 = good.x(1.5u+s); y2 = y3 = barheight;
    x6 = 1/2[x1,x3]; -y6 = ygap; y5 = 1/3 barheight;
    super_half(2,1,3); super_half(2,4,3); draw z5 -- z6;
    labels(1,2,3,4,5,6); endchar;

beginlogochar("R",15); "Capital R";
    x1 = x2 = x6 = leftstemloc; x3 = x4 = 1/2 w; 
    x5 = x7 = w - 1.5 u - s; 
    top y1 = top y3 = h; bot y2 = 0; bot y7 = -o; 
    y4 = y6 = barheight; y5 = 0.45[y6,y1]; 
    draw z2 -- z1 -- z3; draw z7 .. z4{left} -- z6;
    half_super(3,5,4); 
    labels(1,2,3,4,5,6,7); endchar;

beginlogochar("S",14); "Capital S";
    x1 = w - x1' = x2' = w - x2 = leftstemloc;
    x3 = x4 = x5 = 1/2[x1,x2];
    y1 = y1' = 0.45[y4,y3]; y2 = y2' = 0.45[y5,y4]; 
    top y3 = h + o; y4 = barheight; bot y5 = -o;
    half_super(3,1,4); half_super(4,2,5);
    draw subpath (0,1.7) of 
	 (z5{left} ... (.8[x5,x2'],.8[y2',y5]){z2'-z5} ... z2'{up});
    draw subpath (0,1.7) of
         (z3{right} .. (0.8[x3,x1'],0.8[y1',y3]){z1'-z3} ... z1'{down});
    labels(1,2,3,4,5,1',2'); endchar;

beginlogochar("T",13); "Knuth's T";
italcorr ht#*slant + .5u#;
if .5w<>good.x .5w: change_width; fi
lft x1=-eps; x2=w-x1; x3=x4=.5w;
y1=y2=y3; top y1=h; bot y4=-o;
draw z1--z2; draw z3--z4;
labels(1,2,3,4); endchar;

beginlogochar("U",15); "Capital U";
    sixpoints; z7 = 1/2[z3,z6];
    draw z1 .. z2; draw z4 .. z5;
    super_half(5,7,2);
    labels(1,2,4,5,7); endchar;

beginlogochar("V",15); "Capital V";
    sixpoints; z7 = 1/2[z3,z6];
    draw z1 --- z7 --- z4;
    labels(1,7,4); endchar;

beginlogochar("W",18); "Capital W";
    x1 = w - x1' = good.x(1.5 u + s);
    x2 = w - x2' = x1 + xgap; x3 = 0.5[x1,x1'];
    top y1 = top y1' = h + o; bot y2 = bot y2' = -o;
    y3 = y1 - 2ygap;
    draw z1 -- z2 -- z3 -- z2' -- z1';
    labels(1,2,3,2',1'); endchar;

beginlogochar("X",15); "Capital X";
    x2 = w - x2' = 1.5 u + s;
    x1 = w - x1' = good.x(x2 + 0.5 xgap);
    top y1 = top y1' = h + o; bot y2 = bot y2' = -o;
    draw z1 -- z2'; draw z1' -- z2;
    labels(1,2,1',2'); endchar;

beginlogochar("Y",15); "Capital Y";
    x2 = w - x2' = 1.5 u + s;
    x1 = w - x1' = good.x(x2 + 0.5 xgap);
    top y1 = top y1' = h + o; bot y2 = bot y2' = -o;    
    z3 = whatever[z1,z2'] = whatever[z1',z2];
    x4 = x3; y4 = y2;
    draw z1 -- z3 -- z1'; draw z3  -- z4;
    labels(1,1',3,4); endchar;
 
beginlogochar("Z",15); "Capital Z";
    x1 = x2 = w - x1' = w - x2' = good.x(2 u + s);
    top y1 = top y1' = h; bot y2 = bot y2' = 0;
    draw z1 -- z1' -- z2 -- z2';
    labels(1,2,1',2'); endchar;

ligtable "T": "A" kern -.5u#;
ligtable "F": "O" kern -u#;
