
  %% alpha.mf
  %% Copyright 2005 Laurie Field
  %
  % This work is LFB, version 1.0.
  %
  % This work may be distributed and/or modified under the
  % conditions of the LaTeX Project Public License, either version 1.3
  % of this license or (at your option) any later version.
  % The latest version of this license is in
  %   http://www.latex-project.org/lppl.txt
  % and version 1.3 or later is part of all distributions of LaTeX
  % version 2003/12/01 or later.
  %
  % This work has the LPPL maintenance status "maintained".
  % 
  % This Current Maintainer of this work is Laurie Field.
  %
  % This work consists of the files:
  %   
  %   example.tex
  %   lfbacc.tex
  %   
  %   accents.mf
  %   alpha.mf
  %   beta.mf
  %   capitals.mf
  %   charmap.mf
  %   delta.mf
  %   epsilon.mf
  %   eta.mf
  %   gamma.mf
  %   iota.mf
  %   kappa.mf
  %   khi.mf
  %   lambda.mf
  %   lfb.mf
  %   lfb5.mf
  %   lfb6.mf
  %   lfb7.mf
  %   lfb8.mf
  %   lfb9.mf
  %   lfb10.mf
  %   lfb11.mf
  %   lfb12.mf
  %   lfbb5.mf
  %   lfbb6.mf
  %   lfbb7.mf
  %   lfbb8.mf
  %   lfbb9.mf
  %   lfbb10.mf
  %   lfbb11.mf
  %   lfbb12.mf
  %   ligature.mf
  %   mu.mf
  %   nu.mf
  %   omega.mf
  %   omikron.mf
  %   others.mf
  %   phi.mf
  %   pi.mf
  %   psi.mf
  %   rho.mf
  %   serifs.mf
  %   sigma.mf
  %   sigmafin.mf
  %   tau.mf
  %   theta.mf
  %   upsilon.mf
  %   xi.mf
  %   zeta.mf
  %   
  % and the derived files:
  %   
  %   lfb5.tfm
  %   lfb6.tfm
  %   lfb7.tfm
  %   lfb8.tfm
  %   lfb9.tfm
  %   lfb10.tfm
  %   lfb11.tfm
  %   lfb12.tfm
  %   lfbb5.tfm
  %   lfbb6.tfm
  %   lfbb7.tfm
  %   lfbb8.tfm
  %   lfbb9.tfm
  %   lfbb10.tfm
  %   lfbb11.tfm
  %   lfbb12.tfm
  %   
  %   lfb5.600pk
  %   lfb6.600pk
  %   lfb7.600pk
  %   lfb8.600pk
  %   lfb9.600pk
  %   lfb10.600pk
  %   lfb11.600pk
  %   lfb12.600pk
  %   lfbb5.600pk
  %   lfbb6.600pk
  %   lfbb7.600pk
  %   lfbb8.600pk
  %   lfbb9.600pk
  %   lfbb10.600pk
  %   lfbb11.600pk
  %   lfbb12.600pk
  %

width#:=7.5u#;
extra#:=2letterspace#;
define_pixels(width, extra);
     
def gen_letter =
	penpos1(thick, 180);
	penpos2(medthick, 150);
	penpos3(thin, 90);
	penpos4(thick, 0);
	penpos5(thin, -90);
	penpos6(medthick, -180);
	x1l=width-.5u-small;
	x3=1/2x1; x5=x3+thin;
	x4l=0;
	y5l=x_height; y1=y5l-tiny;
	y3l=0;
	y4=x_height/2;
	z2r=2/3[z1l,z3l]+(small,0);
	z6=1/2[z1l,z3l]+(thin,0);
	penstroke z1e..tension 1.4..z2e..z3e..z4e..z5e..tension 1.2..z6e;
	
	penpos7(medium, 30);
	penpos8(medium, 30);
	penpos9(medthick, 90);
	penpos10(thin, tailangle);
	z7l=3/5[z1l,z3l]+(thin,0);
	z8r=z9r+(-tiny, tiny);
	x9=width-3u+thick+thin;
	y10l=tailheight;
	y9l=tinyoffset;
	x10l=width;
	fill z7l..z8l..z9l..tension 1.5..z10l--z10r
		..tension 2..z9r..z8r..z7r--cycle;
	
	numeric accent_centre;
	accent_centre=x5;
	iotasubalphaback:=width+extra-accent_centre;
enddef;

beginchar(alpha, width#+extra#, x_height#, 0);
gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10);
endchar;

beginchar(alpha_acc+smooth, width#+extra#, ascender#, 0);
gen_letter; acc_smooth;
endchar;

beginchar(alpha_acc+rough, width#+extra#, ascender#, 0);
gen_letter; acc_rough;
endchar;

beginchar(alpha_acc+acute, width#+extra#, ascender#, 0);
gen_letter; acc_acute;
endchar;

beginchar(alpha_acc+grave, width#+extra#, ascender#, 0);
gen_letter; acc_grave;
endchar;

beginchar(alpha_acc+circ, width#+extra#, ascender#, 0);
gen_letter; acc_circ;
endchar;

beginchar(alpha_acc+smoothacute, width#+extra#, ascender#, 0);
gen_letter; acc_smoothacute;
endchar;

beginchar(alpha_acc+smoothgrave, width#+extra#, ascender#, 0);
gen_letter; acc_smoothgrave;
endchar;

beginchar(alpha_acc+smoothcirc, width#+extra#, ascender#, 0);
gen_letter; acc_smoothcirc;
endchar;

beginchar(alpha_acc+roughacute, width#+extra#, ascender#, 0);
gen_letter; acc_roughacute;
endchar;

beginchar(alpha_acc+roughgrave, width#+extra#, ascender#, 0);
gen_letter; acc_roughgrave;
endchar;

beginchar(alpha_acc+roughcirc, width#+extra#, ascender#, 0);
gen_letter; acc_roughcirc;
endchar;

beginchar(alpha_acc+breve, width#+extra#, ascender#-macronbreveshorter#, 0);
gen_letter; acc_breve;
endchar;

beginchar(alpha_acc+macron, width#+extra#, ascender#-macronbreveshorter#, 0);
gen_letter; acc_macron;
endchar;
