beginchar("A",runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee,.66h);
z4 = (runee, y3);
z5 = (w-runee,.33h);

runepen;
draw z1--z2--z3;
draw z4--z5;
endchar;

beginchar("B",runew#+2runee#,runeh#,0);
x1 = x2 = x4 = runee;
x3 = x5      = w - runee;
y1 = 0;
y2 = h;
y3 = .5[y2, y4];
y4 = .5[y1, y2];
y5 = .5[y4, y1];

runepen;
draw z1--z2--z3--z4--z5--z1;
endchar;

beginchar("C",runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (runee, h/2);
z4 = (w-runee, 0);

runepen;
draw z1--z2;
draw z3--z4;
endchar;

beginchar("D",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee, h);
z4 = (w-runee, 0);

runepen;
draw z1--z2--z4--z3--z1;
endchar;

beginchar("E",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w/2, .66h);
z4 = (w-runee, h);
z5 = (w-runee, 0);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar("F",.5runeh#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (runee, .75h);
z4 = (runee + .25h, h);
z5 = (runee, .5h);
z6 = (runee + .5h, h);

runepen;
draw z1--z2;
draw z3{right}..{up}z4;
draw z5{right}..{up}z6;
endchar;

beginchar("G",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee, h);
z4 = (w-runee, 0);

runepen;
draw z1--z3;
draw z2--z4;
endchar;

beginchar("H",runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee, .75h);
z4 = (runee, .5h);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar("I",pw#+2runee#,runeh#,0);
z1 = (w/2, 0);
z2 = (w/2, h);

runepen;
draw z1--z2;
endchar;

beginchar("J",2runew#+2runee#,runeh#,0);
z1 = (w/2, 0);
z2 = (w/2, h);
z3 = (runee,.75h);
z4 = (w/2, .5h);
z5 = (w-runee,.75h);

runepen;
draw z1--z2--z3--z4--z5--z2;
endchar;

beginchar("K",runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (runee, h/2);
z4 = (w-runee, 0);

runepen;
draw z1--z2;
draw z3--z4;
endchar;

beginchar("L",runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee, .66h);

runepen;
draw z1--z2--z3;
endchar;

beginchar("M",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee, .5h);
z4 = (w-runee, 0);
z5 = (w-runee, h);
z6 = (runee, .5h);

runepen;
draw z1--z2--z3;
draw z4--z5--z6;
endchar;

beginchar("N",runew#+2runee#,runeh#,0);
z1 = (w/2, 0);
z2 = (w/2, h);
z4 = (runee, .66h);
z5 = (w-runee, .33h);

runepen;
draw z1--z2;
draw z4--z5;
endchar;

beginchar("O",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w/2, .75h);
z4 = (w-runee, h);
z5 = (runee, .75h);
z6 = (w/2, .5h);
z7 = (w-runee, .75h);

runepen;
draw z1--z2--z3--z4;
draw z5--z6--z7;
endchar;

beginchar("P",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (runee, .5h);
z4 = (w-runee, h);
z5 = (w-runee, 0);

runepen;
draw z1--z2;
draw z3{right}..{up}z4;
draw z3{right}..{down}z5;
endchar;

beginchar("Q",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (runee, .5h);
z4 = (w-runee, h);

runepen;
draw z1--z2;
draw z3{right}..{up}z4;
endchar;

beginchar("R",runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee, .66h);
z4 = (runee, .33h);
z5 = (w-runee, 0);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar("S",runew#+2runee#,runeh#,0);
z1 = (runee, h);
z2 = (runee, .25h);
z3 = (w-runee, .75h);
z4 = (w-runee, 0);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar("T",2runew#+2runee#,runeh#,0);
z1 = (w/2, h);
z2 = (w/2, 0);
z3 = (runee, .66h);
z4 = (w-runee, .66h);

runepen;
draw z1--z2;
draw z3--z1--z4;
endchar;

beginchar("U",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee+pw, h);
z3 = (w-runee-pw, .75h);
z4 = (w-runee, 0);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar("V",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (w/2, h);
z3 = (w-runee, 0);

runepen;
draw z1--z2--z3;
endchar;

beginchar("W",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w-runee, 0);
z4 = (w-runee, h);
z5 = (runee, .75h);
z6 = (w-runee, .5h);
z7 = (runee, .5h);
z8 = (w-runee, .25h);

runepen;
draw z1--z2;
draw z3--z4; 
draw z5--z6; 
draw z7--z8; 
endchar;

beginchar("X",2runew#+2runee#,runeh#,0);
z1 = (w/2, 0);
z2 = (w/2, h);
z3 = (runee, 0);
z4 = (w/2, .33h);
z5 = (w-runee, 0);

runepen;
draw z1--z2;
draw z3--z4--z5;
endchar;

beginchar("Y",2runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (runee+pw, h);
z3 = (w-runee-pw, .75h);
z4 = (w-runee, 0);
z5 = .6[z1, z2];
z6 = .6[z4, z3];
z7 = .5[z5, z6];
z8 = (x7, 0);

runepen;
draw z1--z2--z3--z4;
draw z5--z6;
draw z7--z8;
endchar;

beginchar("Z",2runew#+2runee#,runeh#,0);
z1 = (w/2, 0);
z2 = (w/2, h);
z3 = (runee, h);
z4 = (w/2, .66h);
z5 = (w-runee, h);

runepen;
draw z1--z2;
draw z3--z4--z5;
endchar;

beginchar("t",runew#+2runee#,runeh#,0);
% the ligature th
z1 = (runee, 0);
z2 = (runee, h);
z3 = (runee, .75h);
z4 = (w-runee, .5h);
z5 = (runee, .25h);

runepen;
draw z1--z2;
draw z3--z4--z5;
endchar;

beginchar("e",2runew#+2runee#,runeh#,0);
% the ligature ee
z1 = (runee, 0);
z2 = (w-runee, .5h);
z3 = (runee, h);
z4 = (w-runee, 0);
z5 = (runee, .5h);
z6 = (w-runee, h);

runepen;
draw z1--z2--z3;
draw z4--z5--z6;
endchar;

beginchar("n",2runew#+2runee#,runeh#,0);
% the ligature ng
z1 = (runee, 0);
z2 = (w-runee, .66h);
z3 = (w/2, h);
z4 = (runee, .66h);
z5 = (w-runee, 0);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar("a",2runew#+2runee#,runeh#,0);
% the ligature ea
z1 = (w/2, 0);
z2 = (w/2, h);
z3 = (runee, h);
z4 = (.5[x2, x3], .75h);
z5 = (.5[x2, x6], .75h);
z6 = (w-runee, h);

runepen;
draw z1--z2;
draw z3--z4--z2--z5--z6;
endchar;

beginchar("s",2runew#+2runee#,runeh#,0);
% the ligature st
z1 = (runee, 0);
z2 = (runee, h);
z3 = (w/2, .66h);
z4 = (w-runee, h);
z5 = (w-runee, 0);
z6 = (w/2, .33h);

runepen;
draw z1--z2--z3--z4--z5--z6--z1;
endchar;

beginchar("!",2pw#+2runee#,runeh#,0);
% exclimation mark
z0 = (runee, 0);
z1 = (runee, 3pw);
z2 = (runee, h);

runepen;
draw z1--z2;
drawdot z0;
endchar;

beginchar(34,runew#+2runee#,runeh#,0);
% right quote
z1 = (w-runee, h);
z2 = (w/2, .75h);
z3 = (w/2, h);
z4 = (runee, .75h);

runepen;
draw z1--z2;
draw z3--z4;
endchar;

beginchar("#",1.5runew#+2runee#,runeh#,0);
% hash
z1 = (runee, .66h);
z2 = (w-runee, .66h);
z3 = (runee, .33h);
z4 = (w-runee, .33h);
z5 = (runee+.33runew, h);
z6 = (runee+.33runew, 0);
z7 = (w-runee-.33runew, h);
z8 = (w-runee-.33runew, 0);

runepen;
draw z1--z2;
draw z3--z4;
draw z5--z6;
draw z7--z8;
endchar;

beginchar("$",runew#+2runee#,runeh#,0);
% dollar
z1 = (w-runee, h);
z2 = (runee, .66h);
z3 = (w-runee, .33h);
z4 = (runee, 0);
z5 = (w/2, h);
z6 = (w/2, 0);

runepen;
draw z1--z2--z3--z4;
draw z5--z6;
endchar;

beginchar("%",runew#+2runee#,runeh#,0);
% percent
z1 = (w-runee, h);
z2 = (runee, 0);
z3 = (runee, h);
z4 = (runee+.25runew, h);
z5 = (runee+.25runew, .75h);
z6 = (runee, .75h);
z7 = (w-runee, 0);
z8 = (w-runee, .25h);
z9 = (w-runee-.25runew, .25h);
z10 = (w-runee-.25runew, 0);

runepen;
draw z1--z2;
draw z3--z4--z5--z6--cycle;
draw z7--z8--z9--z10--cycle;
endchar;

beginchar("&",1.5runew#+2runee#,runeh#,0);
% amperstand
z1 = (w-runee, 0);
z2 = (runee, .75h);
z3 = (runee+runew/2, h);
z4 = (runee+runew, .75h);
z5 = (runee, .25h);
z6 = (runee+runew/2, 0);
z7 = (w-runee, h/2);

runepen;
draw z1--z2--z3--z4--z5--z6--z7;
endchar;

beginchar("'",.5runew#+2runee#,runeh#,0);
% right single quote
z1 = (w-runee, h);
z2 = (runee, .75h);

runepen;
draw z1--z2;
endchar;

beginchar("<",.5runew#+2runee#,runeh#,0);
% less than
z1 = (w-runee, h);
z2 = (runee, .5h);
z3 = (w-runee, 0);

runepen;
draw z1--z2--z3;
endchar;

beginchar(">",.5runew#+2runee#,runeh#,0);
% greater parenthesis
z1 = (runee, h);
z2 = (w-runee, .5h);
z3 = (runee, 0);

runepen;
draw z1--z2--z3;
endchar;

beginchar("*",.5runew#+2runee#,runeh#,0);
% asterisk
z1 = (runee, .5h);
z2 = (w-runee, .5h);
z3 = (runee, .75h);
z4 = (w-runee, .25h);
z5 = (w-runee, .75h);
z6 = (runee, .25h);
%z7 = (w/2, .75h);
%z8 = (w/2, .25h);

runepen;
draw z1--z2;
draw z3--z4;
draw z5--z6;
%draw z7--z8;
endchar;

beginchar("+",.5runew#+2runee#,runeh#,0);
% plus
z1 = (runee, .5h);
z2 = (w-runee, .5h);
z3 = (w/2, .75h);
z4 = (w/2, .25h);

runepen;
draw z1--z2;
draw z3--z4;
endchar;

beginchar(",",.5runew#+2runee#,runeh#,0);
% comma
z1 = (w-runee, .25h);
z2 = (runee, 0);

runepen;
draw z1--z2;
endchar;

beginchar("-",.5runew#+2runee#,runeh#,0);
% minus
z1 = (w-runee, .5h);
z2 = (runee, .5h);

runepen;
draw z1--z2;
endchar;

beginchar(".",pw#+2runee#,runeh#,0);
% full stop
z1 = (w/2, 0);

runepen;
drawdot z1;
endchar;

beginchar("/",.5runew#+2runee#,runeh#,0);
% slash
z1 = (runee, 0);
z2 = (w-runee, h);

runepen;
draw z1--z2;
endchar;

beginchar("0", runew#+2runee#,runeh#,0);
z1 = (w/2, 0);
z2 = (w-runee, h/2);
z3 = (w/2, h);
z4 = (runee, h/2);

runepen;
draw z1--z2--z3--z4--cycle;
endchar;

beginchar("1", .5runew#+2runee#,runeh#,0);
z1 = (w/2, 0);
z2 = (w/2, h);
z3 = (runee, .75h);
z4 = (runee, 0);
z5 = (w-runee, 0);

runepen;
draw z1--z2--z3;
draw z4--z5;
endchar;

beginchar("2", runew#+2runee#,runeh#,0);
z1 = (runee, .75h);
z2 = (w/2, h);
z3 = (w-runee, .75h);
z4 = (runee, .125h);
z5 = (w-runee, 0);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar("3", runew#+2runee#,runeh#,0);
z1 = (runee, h);
z2 = (w-runee, .75h);
z3 = (w/2, .5h);
z4 = (w-runee, .25h);
z5 = (runee, 0);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar("4", runew#+2runee#,runeh#,0);
z1 = (w-runee, .2h);
z2 = (runee, .5h);
z3 = (w-runee, h);
z4 = (w/2, 0);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar("5", runew#+2runee#,runeh#,0);
z1 = (w-runee, .75h);
z2 = (w/2, h);
z3 = (runee, .5h);
z4 = (w-runee, .25h);
z5 = (runee, 0);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar("6", runew#+2runee#,runeh#,0);
z1 = (w-runee, h);
z2 = (runee, .33h);
z3 = (w/2, 0);
z4 = (w-runee, .33h);
z5 = (w/2, .66h);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar("7", runew#+2runee#,runeh#,0);
z1 = (runee, h);
z2 = (w-runee, h);
z3 = (runee, 0);

runepen;
draw z1--z2--z3;
endchar;

beginchar("8", runew#+2runee#,runeh#,0);
z1 = (w/2, h);
z2 = (w-runee, .75h);
z3 = (runee, .25h);
z4 = (w/2, 0);
z5 = (w-runee, .25h);
z6 = (runee, .75h);

runepen;
draw z1--z2--z3--z4--z5--z6--cycle;
endchar;

beginchar("9", runew#+2runee#,runeh#,0);
z1 = (runee, 0);
z2 = (w-runee, .66h);
z3 = (w/2, h);
z4 = (runee, .66h);
z5 = (w/2, .33h);

runepen;
draw z1--z2--z3--z4--z5;
endchar;

beginchar(":", 2pw#+2runee#,runeh#,0);
z1 = (w/2, .5h);
z2 = (w/2, .25h);

runepen;
drawdot z1;
drawdot z2;
endchar;

beginchar(";", .5runew#+2runee#,runeh#,0);
z1 = (w/2, .5h);
z2 = (w/2, .25h);
z3 = (runee, 0);

runepen;
drawdot z1;
draw z2--z3;
endchar;

beginchar("(",.5runew#+2runee#,runeh#,0);
% left parenthesis
z1 = (w-runee, h);
z2 = (runee, .75h);
z3 = (runee, .25h);
z4 = (w-runee, 0);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar(")",.5runew#+2runee#,runeh#,0);
% right parenthesis
z1 = (runee, h);
z2 = (w-runee, .75h);
z3 = (w-runee, .25h);
z4 = (runee, 0);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar("=",.5runew#+2runee#,runeh#,0);
% right parenthesis
z1 = (runee, .5h);
z2 = (w-runee, .5h);
z3 = (w-runee, .25h);
z4 = (runee, .25h);

runepen;
draw z1--z2;
draw z3--z4;
endchar;

beginchar("?",runew#+2runee#,runeh#,0);
z1 = (runee, .75h);
z2 = (w/2, h);
z3 = (w-runee, .75h);
z4 = (w/2, .5h);
z5 = (w/2, .25h);
z6 = (w/2, 0);

runepen;
draw z1--z2--z3--z4--z5;
drawdot z6;
endchar;

beginchar("[",.5runew#+2runee#,runeh#,0);
z1 = (w-runee, h);
z2 = (runee, .825h);
z3 = (runee, .125h);
z4 = (w-runee, .0);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar("]",.5runew#+2runee#,runeh#,0);
z1 = (runee, h);
z2 = (w-runee, .825h);
z3 = (w-runee, .125h);
z4 = (runee, .0);

runepen;
draw z1--z2--z3--z4;
endchar;

beginchar("\\",.5runew#+2runee#,runeh#,0);
% backslash
z1 = (w-runee, 0);
z2 = (runee, h);

runepen;
draw z1--z2;
endchar;

beginchar("^",.5runew#+2runee#,runeh#,0);
z1 = (w-runee, .75h);
z2 = (w/2, h);
z3 = (runee, .75h);

runepen;
draw z1--z2--z3;
endchar;

beginchar("_",runew#+2runee#,runeh#,.125runeh#);
z1 = (w-runee, 0);
z2 = (runee, -.125h);

runepen;
draw z1--z2;
endchar;

