% Copyright 1988 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 @(#)accents.mf	1.1   10/1/86

def centerpt=
	(w-((w-leadgap)/2), xht+3.2thin)
enddef;
	
beginchar (19, shortwidth, cap#, 0); "The acute accent (e)";
	begingroup;
	save x,y;
	pickup elvishpen;
	z0 = centerpt;
	top y1=h; %z1-z0=whatever*(dir tilt);
	rt x1 = w;
	draw z0--z1;
	endgroup;
endchar;

beginchar ("}", shortwidth, cap#, 0); "The double acute accent (e')";
	begingroup;
	save x,y;
	pickup elvishpen;
	z0 = centerpt;
	top y1=h; %z1-z0=whatever*(dir tilt);
	rt x1 = w;
	draw z0--z1;
	draw ((z0--z1) shifted (2.5*thin*right));
	endgroup;
endchar;


beginchar ("_", shortwidth, cap#, 0); "The dot-above accent (i)";
	begingroup;
	save x,y;
	pickup pensquare scaled thick rotated 45;
	z0 = centerpt;
	drawdot z0;
	endgroup;
endchar;

beginchar (127, shortwidth, cap#, 0); "The umlaut accent (double i)";
	begingroup;
	save x, y;
	pickup pensquare scaled thick rotated 45;
	z0 = centerpt;
	z1 = z0 + thick*left;
	z2 = z0 + thick*right;
	drawdot z1; drawdot z2;
	endgroup;
endchar;

beginchar (25, shortwidth, 0, -6thin#); "The schwa accent (dot below)";
	begingroup;
	save x, y;
	pickup pensquare scaled thick rotated 45;
	z0 = centerpt;
	x1 = x0;
	y1 = -3thin;
	drawdot z1; 
	endgroup;
endchar;

beginchar (24, shortwidth, 0, -6thin#); "The 'y' accent (two dots below)";
	begingroup;
	save x, y;
	pickup pensquare scaled thick rotated 45;
	z0 = centerpt;
	x1 = x0 - thick;
	x2 = x0 + thick;
	y1 = y2 = -3thin;
	drawdot z1; drawdot z2;
	endgroup;
endchar;

beginchar ("^", shortwidth, cap#, 0); "The circumflex (3-dot 'a')";
	begingroup;
	save x,y;
	pickup elvishpen;

	agap := w/6;
	alength := 1.5*thick;

	z0 = centerpt;

	z1 = z0 + agap*left;
	z2=z1+alength*(dir (tilt+90));

	z3 = z0 + agap*up;
	z4 = z3 + alength*up;

	z5 = z0 + agap*right;
	z6 = z5 + alength*(dir tilt);

	draw z1--z2; draw z3--z4; draw z5--z6;
	endgroup;
endchar;

beginchar (20, shortwidth, cap#, 0); "The right-loop accent (o)";
	begingroup;
	save x,y, rightcurl;
	path rightcurl;
	pickup elvishpen;
	z0 = centerpt;
	top y1=h; x1 = .7[x0, w];
	rt x2=w; y2 = .7[y0, h];
	x3 = .8[x0,w]; y1-y2 = y2-y3;
	rightcurl = (z0..tension 2.0..z1{right}..z2..z3);
	draw rightcurl;
	endgroup;
endchar;

beginchar (22, shortwidth, cap#, 0); "The double right-loop accent (o')";
	begingroup;
	save x,y, rightcurl;
	path rightcurl;
	pickup elvishpen;
	z0 = centerpt;
	top y1=h; x1 = .7[x0, w];
	rt x2=w; y2 = .7[y0, h];
	x3 = .8[x0,w]; y1-y2 = y2-y3;
	rightcurl = (z0..tension 2.0..z1{right}..z2..z3);
	draw rightcurl;
	draw (rightcurl shifted (3*thin,0));
	endgroup;
endchar;

beginchar (21, shortwidth, cap#, 0); "The left-loop accent (u)";
	begingroup;
	save x,y;
	pickup elvishpen;
	z0 = centerpt;
	lft x1 = 1/3[leadgap, x0]; top y1 = 3/4[y0,h];
	top y2 = h; x2 = x0;
	y3 = y1; x3-x0 = x0-x1;
	draw z1..z2{right}..z0{down};
	endgroup;
endchar;
beginchar (23, shortwidth, cap#, 0); "The left-loop accent (u)";
	begingroup;
	save x,y, leftcurl;
	path leftcurl;
	pickup elvishpen;
	z0 = centerpt;
	lft x1 = 1/3[leadgap, x0]; top y1 = 3/4[y0,h];
	top y2 = h; x2 = x0;
	y3 = y1; x3-x0 = x0-x1;
	leftcurl =  (z1..z2{right}..z0{down});
	draw leftcurl;
	draw leftcurl shifted ((x1-x0)*right);
	endgroup;
endchar;

beginchar (28, .7shortwidth, 0, .8dep#);  "S-hook";
	begingroup;
	save x, y;
	pickup elvishpen rotated 90;
	x0 = leadgap; y0=0;
	rt x1=w; y1=.7[y0,-d];
	x2=.5[x0,x1]; y2=-d;
	x3=x0+thin; y3=y1;
	draw  z0..tension 2.0..z1{down}..z2..z3{up};
	endgroup;
endchar;

beginchar (30, shortwidth, .5[xht#,cap#], 0); "Beleriandic W";
	begingroup;
	save x,y;
	pickup elvishpen;
	x0=w-((w-leadgap)/2); y0=h;
	lft x2=leadgap/2; top y1=y0+thick; z1=z2+whatever*(dir tilt);
	y2=y3=y0;
	rt x3=w-leadgap/2;
	bot y4=y3-thick; z4=z3-whatever*(dir tilt);
	draw z1.. z2..z0{right}..  z3..z4;
	endgroup;
oldendchar;
	

beginchar (8, shortwidth, 0, .4xht#); "Short bottom bar";
	begingroup;
	save x,y;
	pickup elvishpen;
	lft x0 = leadgap; rt x1 = w;
	y0=y1=-d;
	draw z0--z1;
	endgroup;
endchar;

beginchar (9, 1em#, 0, .4xht#); "Long bottom bar";
	begingroup;
	save x,y;
	pickup elvishpen;
	lft x0 = leadgap; rt x1 = w;
	y0=y1=-d;
	draw z0--z1;
	endgroup;
endchar;

beginchar (10, shortwidth, .4[xht#,cap#], 0); "Short top bar";
	begingroup;
	save x,y;
	pickup elvishpen;
	lft x0 = leadgap; rt x1 = w;
	y0=y1=h;
	draw z0--z1;
	endgroup;
oldendchar;
beginchar (11, 1em#, .4[xht#,cap#], 0); "Long top bar";
	begingroup;
	save x,y;
	pickup elvishpen;
	lft x0 = leadgap; rt x1 = w;
	y0=y1=h;
	draw z0--z1;
	endgroup;
oldendchar;