% Copyright 1986 Michael Urban
% Everyone is granted permission to copy, modify and redistribute
% this file, provided that a currently-dated copy of this
% copyright notice is included in the copy.
% License is granted to produce fonts based on the information
% in this file, provided that such fonts are redistributed
% without charge to any third party.

% SCCS ID @(#)letters.mf	1.1   10/1/86

beginchar("a", shortwidth,xht#,0); "The letter a";
	pickup elvishpen;
	nutelco(w,shortstem, stemdepth);
	nuluva (bowpoint, leadgap, false);
	overbar;
endchar;

beginchar("b", shortwidth, cap#, 0); "the letter b";
	pickup elvishpen;
	telco(leadgap, longstem, stemdepth);
	luva (bowpoint, w, false);
	underbar;
endchar;

beginchar ("c",shortwidth, xht#, 0); "The letter c";
	begingroup;
	save x,y;
	pickup elvishpen;
	top y1= h; x1 = .75[leadgap, w];
	lft x2= leadgap; y2= .4h;
	bot y3= 0; x3=  .5[leadgap, w];
	y4= .2h; rt x4=w;
	draw z1..z2{down}..z3{right}..z4;
	endgroup;
endchar;

beginchar("d", shortwidth,cap#,0); "The letter d";
	pickup elvishpen;
	nutelco(w,longstem, stemdepth);
	nuluva (bowpoint, leadgap, false);
	overbar;
endchar;

beginchar ("e",shortwidth, xht#, 0); "The letter e";
	begingroup;
	save x,y;
	pickup elvishpen;
	top y1= h; x1 = .75[leadgap, w];
	lft x2= leadgap; y2= .4h;
	bot y3= 0; x3=  .5[leadgap, w];
	y4= .2h; rt x4=w;
	z0 = .5[z2, z3];
	draw z0--z1..z2{down}..z3{right}..z4;
	endgroup;
endchar;

beginchar("f", shortwidth,xht#,dep#); "The letter f";
	pickup elvishpen;
	telco(leadgap,shortstem, stemdepth);
	z1 = bowpoint;
	rt x2 = w;
	y2 = y1;
	draw z1--z2;
	underbar;
endchar;

beginchar("g", shortwidth,xht#,dep#); "The letter g";
	pickup elvishpen;

	luva ((w, h), leadgap, false);
	path sweep;
	lft x0 = leadgap; top y0 = h;
	lft x1 = 0; z0-z1 = whatever*(dir tilt);
	x2 = .75w; top y2=h;
	rt x3 = w; y3 = .5h;
	lft x4 = leadgap; y4 = -.65d;
	x5 = .5w; y5 = -d;
	x6 = .85w; z6-z5 = whatever*(dir tilt);
	sweep = (z2..z3{down}..z4{down}..z5{right}..z6);
	z7 = sweep intersectionpoint 
		((-infinity,0)--(infinity,0));
	draw sweep;
endchar;

beginchar("h", shortwidth,cap#, 0); "the letter h";
	pickup elvishpen;
	telco(leadgap, longstem, stemdepth);
	luva (bowpoint, w, true);
endchar;

def commoncarrier=
	pickup elvishpen;
	x0=x1-thick; top y0=h;
	x1=1/2[leadgap,w]; y1=y0;
	x2=x1;  y2=-d/2;
	x3=x0; y3=-d;
	draw z0--z1{down}..z2{down}..z3;
enddef;

beginchar (16,3*leadgap#,xht#,.2dep#);  "The dotless letter i";
	begingroup;
	save x,y;
	commoncarrier;
	endgroup;
endchar;

beginchar ("i",3*leadgap#,xht#,.2dep#);  "The letter i";
	begingroup;
	save x,y;
	commoncarrier;
	x4 = x1; y4 = y1 + 2*thick;
	pickup pensquare scaled thick rotated 45;
	drawdot z4;
	endgroup;
endchar;

beginchar (17,3*leadgap#,xht#,dep#);  "The dotless letter j";
	begingroup;
	save x,y;
	commoncarrier;
	endgroup;
endchar;

beginchar ("j",3*leadgap#,xht#,dep#);  "The letter j";
	begingroup;
	save x,y;
	commoncarrier;
	x4 = x1; y4 = y1 + 2*thick;
	pickup pensquare scaled thick rotated 45;
	drawdot z4;
	endgroup;
endchar;

beginchar ("k", shortwidth,cap#,0); "The letter k";
	pickup elvishpen;
	telco(leadgap, longstem, stemdepth);
	lft x1 = leadgap; bot y1 = 0;
	rt x2 = w; top y2 = xht;
	lft x4 = w; bot y4 = 0;
	draw z1..{right}z2;
	draw z1{z2 - z1}..{down}z4;
endchar;

beginchar ("l",3*leadgap#,cap#,0);  "The letter l";
	begingroup;
	save x,y;
	commoncarrier;
	endgroup;
endchar;

beginchar ("m", 1em#, xht#, 0); "the letter m";
	pickup elvishpen;
	telco(leadgap, shortstem, stemdepth);
	luva (bowpoint, bowsize*em, false);
	luva (bowpoint, w, false);
	underbar;
endchar;

beginchar ("n", shortwidth, xht#, 0); "the letter n";
	pickup elvishpen;
	telco (leadgap, shortstem, stemdepth);
	luva (bowpoint, w, true);
endchar;

beginchar ("o", shortwidth, xht#, 0); "The letter o";
	begingroup;
	save x,y;
	pickup elvishpen;
	lft x0 = leadgap;
	top y1 = h;
	rt x2 = w;
	bot y3 = 0;
	y0 = .65h; x1 = leadgap+.35w;
	y2 = .35h; x3 = leadgap+.65w;
	draw z0..z1..z2..z3..cycle;
	endgroup;
endchar;

beginchar("p", shortwidth,xht#,dep#); "The letter p";
	pickup elvishpen;
	telco(leadgap,shortstem, stemdepth);
	luva (bowpoint, w, false);
	underbar;
endchar;

beginchar("q", shortwidth,xht#,dep#); "The letter q";
	pickup elvishpen;
	nutelco(w,shortstem, stemdepth);
	nuluva (bowpoint, 0, false);
	overbar;
endchar;

beginchar ("r", shortwidth, xht#, 0); "the letter r";
	pickup elvishpen;
	telco (leadgap, shortstem, stemdepth);
	z5 = bowpoint;
	top y6=xht; x6=.5[x5,w];
	rt x7=w; y7=.47xht;
	draw z5..z6..{down}z7;
endchar;

beginchar("s", shortwidth,xht#,0); "The letter s";
	hthick := 3thick/4; hthin := 3thin/4;
	pickup pencircle xscaled hthick yscaled hthin rotated tilt;
	x1 = x2 = x3 = .5[leadgap,w];
	top y1 = h;
	y2 = .5[y1, y3];
	bot y3 = 0;
	y4 = y3;
	y5 = y1;
	lft x4 = leadgap;
	rt x5 = w;
	x6 = x4; y6 = y5;
	x7 = x5; y7 = y4;
	draw z5..{left}z1..z6..z2..z7..{left}z3..z4;
endchar;

beginchar("t", 3*leadgap#,cap#,0); "The letter t";
	pickup elvishpen;
	telco(.5[leadgap,w],longstem, stemdepth);
	lft x1 = 0; y1 = xht + thick;
	x2 = w;
	y2 = y1;
	draw z1--z2;
endchar;

beginchar("u", shortwidth,xht#,0); "The letter u";
	pickup elvishpen;
	nutelco(w,shortstem, stemdepth);
	nuluva (bowpoint, leadgap, true);
endchar;


beginchar("v", shortwidth, xht#, 0); "The letter v";
        begingroup;
        save x,y;
        pickup elvishpen;
        top y0 = 0; x0=.5[0, w];
        lft x1 = 0; y1=h;
        y2=h; rt x2=w;
        y3=y0; x3=x0-.7thick;
        z4-z1 = whatever*(z0-z2);
        x1-x4=.2thin;
        z6-z2 = whatever*(z0-z1);
        x6=w;
        draw z3..z0--z2..z6;
        draw z4..z1--z0;
        endgroup;
endchar;

beginchar("w", 1em#,xht#,0); "The letter w";
	pickup elvishpen;
	nutelco(w,shortstem, stemdepth);
	nuluva (bowpoint,w-bowsize*em+leadgap, true);
	nuluva (bowpoint, leadgap, true);
endchar;

beginchar("x", shortwidth,xht#,0); "The letter x";
	pickup elvishpen;
	lft x1 = leadgap;
	rt x2 = w;
	x3 = x1;
	x4 = x2;
	top y1 = h;
	bot y2 = 0;
	y3 = y2;
	y4 = y1;
	draw z1{right}..{right}z2;
	draw z3{right}..{right}z4;
endchar;

def commonr=
	pickup elvishpen;
	save x,y,sweep;
	path sweep;
	lft x0 = leadgap; top y0 = h;
	lft x1 = 0; z0-z1 = whatever*(dir tilt);
	x2 = .75w; top y2=h;
	rt x3 = w; y3 = .5h;
	lft x4 = leadgap; y4 = -.65d;
	x5 = .5w; y5 = -d;
	x6 = .85w; z6-z5 = whatever*(dir tilt);
	sweep = (z2..z3{down}..z4{down}..z5{right}..z6);
	z7 = sweep intersectionpoint 
		((-infinity,0)--(infinity,0));
	draw sweep;
	draw z1--z0..z7;
enddef;

beginchar("y", shortwidth, xht#, dep#); "The letter y";
	begingroup;
	commonr;
	endgroup;
endchar;

beginchar("z", shortwidth,xht#,0); "The letter z";
	pickup elvishpen;
	lft x1 = leadgap;
	rt x2 = w;
	x3 = x1;
	x4 = x2;
	top y1 = h;
	bot y2 = 0;
	y3 = y2;
	y4 = y1;
	draw z1--z4--z3--z2;
endchar;