
  %% others.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#:=4u#;
extra#:=1.5letterspace#;
define_pixels(width, extra);

def gen_letter =
	penpos1(medthick, 90);
	penpos2(medthick, 90);
	y1=y2=1/2x_height;
	x1=width-x2=0;
	penstroke z1e--z2e;
enddef;

beginchar(hyphen, width#+extra#, x_height#, 0);
gen_letter;
endchar;


width#:=18u#;
extra#:=1.5letterspace#;
define_pixels(width, extra);

def gen_letter =
	penpos1(thin, 90);
	penpos2(thin, 90);
	y1=y2=1/2x_height;
	x1=width-x2=0;
	penstroke z1e--z2e;
enddef;

beginchar(emdash, width#+extra#, x_height#, 0);
gen_letter;
endchar;


width#:=0u#;
extra#:=0letterspace#;
define_pixels(width, extra);

def gen_letter = enddef;

beginchar(aspirate, width#+extra#, 0, 0);
gen_letter;
endchar;


width#:=0u#;
extra#:=0letterspace#;
define_pixels(width, extra);

def gen_letter = enddef;

beginchar(Aspirate, width#+extra#, 0, 0);
gen_letter;
endchar;


width#:=breathingwidth#;
extra#:=2letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	acc_smooth;
enddef;

beginchar(coronis, width#+extra#, ascender#, 0);
gen_letter; penlabels(100,101,102,103);
endchar;


width#:=quotewidth#;
extra#:=3letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	
	penpos101(xthick, 90);
	penpos102(medthin, 0);
	penpos103(medthin, -90);
	z100=z101+((z101l-z101) rotated -60);
	y103r=x_height;
	y102=y103l+1.7u;
	y101l=y102+.7u;
	x100=accent_centre-1/2quotewidth;
	x102r=x100+quotewidth;
	x103=x100+1/5quotewidth;
	fill z100..z101l..z102l..{dir -160}z103l
		--z103r{dir 20}..z102r..{left}z101r..cycle;
enddef;

beginchar(apostrophe, width#+extra#, ascender#, 0);
gen_letter; penlabels(100,101,102,103);
endchar;


width#:=quotewidth#;
extra#:=3letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	
	penpos101(xthick, -90);
	penpos102(medthin, 180);
	penpos103(medthin, 90);
	z100=z101+((z101l-z101) rotated -60);
	y101r=x_height;
	y102=y101l+.7u;
	y103l=y102+1.7u;
	x100=accent_centre+1/2quotewidth;
	x102r=x100-quotewidth;
	x103=x100-1/5quotewidth;
	fill z100..z101l..z102l..{dir 20}z103l
		--z103r{dir -160}..z102r..{right}z101r..cycle;
enddef;

beginchar(backquote, width#+extra#, ascender#, 0);
gen_letter; penlabels(100,101,102,103,104);
endchar;


width#:=circwidth#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	acc_circ;
enddef;

beginchar(circumflex, width#+extra#, ascender#, 0);
gen_letter; penlabels(100,101,102,103,104);
endchar;


width#:=quotewidth#+3u#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	acc_diaer;
enddef;

beginchar(diaeresis, width#+extra#, ascender#, 0);
gen_letter; penlabels(151,152,153,154,155,156,157,158);
endchar;


width#:=circwidth#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	acc_breve;
enddef;

beginchar(brevechar, width#+extra#, ascender#-macronbreveshorter#, 0);
gen_letter; penlabels(161,162,163);
endchar;


width#:=circwidth#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	acc_macron;
enddef;

beginchar(macronchar, width#+extra#, ascender#-macronbreveshorter#, 0);
gen_letter; penlabels(171,172);
endchar;



width#:=0u#;
extra#:=0letterspace#;
define_pixels(width, extra);

def gen_letter = enddef;

beginchar(dividerchar, width#+extra#, 0, 0);
gen_letter;
endchar;


width#:=quotewidth#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric diameter;
	diameter=.85width;
	
	x2=0;
	x1=x3=1/2diameter;
	x4=diameter;
	y3=0;
	y2=y4=1/2diameter;
	y1=diameter;
	
	fill z1..z2..z3..z4..cycle;
enddef;

beginchar(fullstop, width#+extra#, ascender#, 0);
gen_letter; penlabels(1,2,3,4);
endchar;


width#:=quotewidth#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	
	penpos101(xthick, 90);
	penpos102(medthin, 0);
	penpos103(medthin, -90);
	z100=z101+((z101l-z101) rotated -60);
	y101l=0;
	y102=y103l+1.7u;
	y101l=y102+.7u;
	x100=accent_centre-1/2quotewidth;
	x102r=x100+quotewidth;
	x103=x100+1/5quotewidth;
	fill z100..z101l..z102l..{dir -160}z103l
		--z103r{dir 20}..z102r..{left}z101r..cycle;
enddef;

beginchar(comma, width#+extra#, ascender#, 0);
gen_letter; penlabels(100,101,102,103);
endchar;


width#:=quotewidth#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric diameter;
	diameter=.85width;
	
	x2=0;
	x1=x3=1/2diameter;
	x4=diameter;
	y3=y1-diameter;
	y2=y4=y1-1/2diameter;
	y1=x_height;
	
	fill z1..z2..z3..z4..cycle;
enddef;

beginchar(semicolon, width#+extra#, ascender#, 0);
gen_letter; penlabels(1,2,3,4);
endchar;


width#:=quotewidth#;
extra#:=1letterspace#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=1/2width;
	
	penpos101(xthick, 90);
	penpos102(medthin, 0);
	penpos103(medthin, -90);
	z100=z101+((z101l-z101) rotated -60);
	y101l=0;
	y102=y103l+1.7u;
	y101l=y102+.7u;
	x100=accent_centre-1/2quotewidth;
	x102r=x100+quotewidth;
	x103=x100+1/5quotewidth;
	fill z100..z101l..z102l..{dir -160}z103l
		--z103r{dir 20}..z102r..{left}z101r..cycle;
	
	numeric diameter;
	diameter=.85width;
	
	x2=0;
	x1=x3=1/2diameter;
	x4=diameter;
	y3=y1-diameter;
	y2=y4=y1-1/2diameter;
	y1=x_height;
	
	fill z1..z2..z3..z4..cycle;
enddef;

beginchar(questionmark, width#+extra#, ascender#, 0);
gen_letter; penlabels(1,2,3,4,100,101,102,103);
endchar;


parenthesiscentre#:=1/2(ascender#-descender#);
parenthesisheight#:=parenthesiscentre#+1/2thefontsize#;
parenthesisdepth#:=parenthesiscentre#-1/2thefontsize#;
define_pixels(parenthesiscentre, parenthesisheight, parenthesisdepth);


width#:=4u#;
extra#:=1.5u#;
define_pixels(width, extra);

def gen_letter =
	penpos1(thin, 0);
	penpos2(medthick, 0);
	penpos3(thin, 0);
	y1=parenthesisheight;
	y2=parenthesiscentre;
	y3=parenthesisdepth;
	x1r=width+.5u;
	x2l=0+.5u;
	x3r=width+.5u;
	penstroke z1e{curl 4}..z2e..{curl 4}z3e;
enddef;

beginchar(openparenthesis, width#+extra#, parenthesisheight#, -parenthesisdepth#);
gen_letter; penlabels(1,2,3);
endchar;


width#:=4u#;
extra#:=1u#;
define_pixels(width, extra);

def gen_letter =
	penpos1(thin, 0);
	penpos2(medthick, 0);
	penpos3(thin, 0);
	y1=parenthesisheight;
	y2=parenthesiscentre;
	y3=parenthesisdepth;
	x1l=0-.5u;
	x2r=width-.5u;
	x3l=0-.5u;
	penstroke z1e{curl 4}..z2e..{curl 4}z3e;
enddef;

beginchar(closeparenthesis, width#+extra#, parenthesisheight#, -parenthesisdepth#);
gen_letter; penlabels(1,2,3);
endchar;


width#:=3u#;
extra#:=1.5u#;
define_pixels(width, extra);

def gen_letter =
	penpos1(medthin, 90);
	penpos2(medthin, 90);
	penpos3(medthin, 0);
	penpos4(medthin, 0);
	penpos5(medthin, 90);
	penpos6(medthin, 90);
	y1r=y2r=y3=parenthesisheight;
	y4=y5l=y6l=parenthesisdepth;
	x1=x5=0; x2=x6=width;
	x3l=x4l=0;
	penstroke z1e--z2e;
	penstroke z3e--z4e;
	penstroke z5e--z6e;
enddef;

beginchar(openbracket, width#+extra#, parenthesisheight#, -parenthesisdepth#);
gen_letter; penlabels(1,2,3,4,5,6);
endchar;


width#:=3u#;
extra#:=1.5u#;
define_pixels(width, extra);

def gen_letter =
	penpos1(medthin, 90);
	penpos2(medthin, 90);
	penpos3(medthin, 0);
	penpos4(medthin, 0);
	penpos5(medthin, 90);
	penpos6(medthin, 90);
	y1r=y2r=y3=parenthesisheight;
	y4=y5l=y6l=parenthesisdepth;
	x1=x5=0; x2=x6=width;
	x3r=x4r=width;
	penstroke z1e--z2e;
	penstroke z3e--z4e;
	penstroke z5e--z6e;
enddef;

beginchar(closebracket, width#+extra#, parenthesisheight#, -parenthesisdepth#);
gen_letter; penlabels(1,2,3,4,5,6);
endchar;


width#:=0u#;
extra#:=0u#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=-iotasubalphaback;
	acc_iotasub;
enddef;

beginchar(iotasubalpha, width#+extra#, 0, 0);
gen_letter;
endchar;

width#:=0u#;
extra#:=0u#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=-iotasubetaback;
	acc_iotasub;
enddef;

beginchar(iotasubeta, width#+extra#, 0, 0);
gen_letter;
endchar;

width#:=0u#;
extra#:=0u#;
define_pixels(width, extra);

def gen_letter =
	numeric accent_centre;
	accent_centre=-iotasubomegaback;
	acc_iotasub;
enddef;

beginchar(iotasubomega, width#+extra#, 0, 0);
gen_letter;
endchar;
