summaryrefslogtreecommitdiff
path: root/fonts/engwar
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/engwar
Initial commit
Diffstat (limited to 'fonts/engwar')
-rw-r--r--fonts/engwar/barcap.mf21
-rw-r--r--fonts/engwar/bars.mf33
-rw-r--r--fonts/engwar/e.bat9
-rw-r--r--fonts/engwar/eng.mf27
-rw-r--r--fonts/engwar/engacc.mf174
-rw-r--r--fonts/engwar/englcase.mf307
-rw-r--r--fonts/engwar/englig.mf15
-rw-r--r--fonts/engwar/engnum.mf115
-rw-r--r--fonts/engwar/engpun.mf163
-rw-r--r--fonts/engwar/engucase.mf287
-rw-r--r--fonts/engwar/engwar.mf58
-rw-r--r--fonts/engwar/lucap.mf50
-rw-r--r--fonts/engwar/luvar.mf50
-rw-r--r--fonts/engwar/telcap.mf52
-rw-r--r--fonts/engwar/telcor.mf52
15 files changed, 1413 insertions, 0 deletions
diff --git a/fonts/engwar/barcap.mf b/fonts/engwar/barcap.mf
new file mode 100644
index 0000000000..f6e9c6df60
--- /dev/null
+++ b/fonts/engwar/barcap.mf
@@ -0,0 +1,21 @@
+% 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 @(#)bars.mf 1.1 10/1/86
+
+def Overbar=
+begingroup;
+ save x,y;
+ z9 = barpoint;
+ x10 = .7w; top y10=Xht;
+ x11= .2w; top y11=Xht;
+ x12=0; top y12=Xht-1/80em;
+ draw z9..z10{left}..z11{left}..z12;
+endgroup;
+enddef;
+
diff --git a/fonts/engwar/bars.mf b/fonts/engwar/bars.mf
new file mode 100644
index 0000000000..40b45ce674
--- /dev/null
+++ b/fonts/engwar/bars.mf
@@ -0,0 +1,33 @@
+% 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 @(#)bars.mf 1.1 10/1/86
+
+def underbar=
+begingroup;
+ save x,y;
+ z9 = barpoint;
+ x10 = .5w; y10=0;
+ x11= .8w; y11=0;
+ x12=w; y12=1/80em;
+ draw z9..z10{right}..z11{right}..z12;
+ penlabels(5,6,7,8,9,10,11,12);
+endgroup;
+enddef;
+
+def overbar=
+begingroup;
+ save x,y;
+ z9 = barpoint;
+ x10 = .7w; top y10=xht;
+ x11= .2w; top y11=xht;
+ x12=0; top y12=xht-1/80em;
+ draw z9..z10{left}..z11{left}..z12;
+endgroup;
+enddef;
+
diff --git a/fonts/engwar/e.bat b/fonts/engwar/e.bat
new file mode 100644
index 0000000000..256a79bf16
--- /dev/null
+++ b/fonts/engwar/e.bat
@@ -0,0 +1,9 @@
+del engwar.300
+del engwar.tfm
+del engwar.gf
+mf \mode=localfont; input engwar
+ren engwar.300 engwar.gf
+gftopk engwar
+tex testfont
+stuff .\\engwar\r
+vv testfont
diff --git a/fonts/engwar/eng.mf b/fonts/engwar/eng.mf
new file mode 100644
index 0000000000..9ae98af4c4
--- /dev/null
+++ b/fonts/engwar/eng.mf
@@ -0,0 +1,27 @@
+% 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 @(#)tiw.mf 1.1 10/1/86
+
+pair bowpoint, barpoint, hookpoint;
+
+input telcor;
+input telcap;
+input luvar;
+input lucap;
+
+input bars;
+input barcap;
+
+input engucase;
+input englcase;
+input engnum;
+input engacc;
+input engpun;
+
+input englig;
diff --git a/fonts/engwar/engacc.mf b/fonts/engwar/engacc.mf
new file mode 100644
index 0000000000..38fd4a308e
--- /dev/null
+++ b/fonts/engwar/engacc.mf
@@ -0,0 +1,174 @@
+% 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 @(#)accents.mf 1.1 10/1/86
+
+def centerpt=
+ (w-((w-leadgap)/2), xht+3.2thin)
+enddef;
+
+beginchar (18, shortwidth, cap#, 0); "The grave accent";
+ begingroup;
+ save x,y;
+ pickup elvishpen;
+ z0 = centerpt;
+ top y1=h; %z1-z0=whatever*(dir tilt);
+ lft x1 = leadgap;
+ draw z0--z1;
+ endgroup;
+endchar;
+
+beginchar (19, shortwidth, cap#, 0); "The acute accent";
+ 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 (20, shortwidth, cap#, 0); "The check accent";
+ begingroup;
+ save x,y;
+ pickup elvishpen;
+ z0 = centerpt;
+ top y1=h;
+ rt x1 = w;
+ top y2=h;
+ lft x2 = leadgap;
+ draw z2--z0--z1;
+ endgroup;
+endchar;
+
+beginchar (21, shortwidth, cap#, 0); "The scoop accent";
+ begingroup;
+ save x,y;
+ pickup elvishpen;
+ z0 = centerpt;
+ top y1=h;
+ rt x1 = w;
+ top y2=h;
+ lft x2 = leadgap;
+ draw z2..z0..z1;
+ endgroup;
+endchar;
+
+beginchar ("^", shortwidth, cap#, 0); "The character ^";
+ begingroup;
+ save x,y;
+ pickup elvishpen;
+ x0 = w-((w-leadgap)/2);
+ y0 = xht;
+ rt x1 = w;
+ y1 = xht+3.2thin;
+ y2= y1;
+ lft x2 = leadgap;
+ draw z2--z0--z1;
+ endgroup;
+endchar;
+
+beginchar ("}", shortwidth, cap#, 0); "The double acute accent";
+ 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 ("`", shortwidth, cap#, 0); "The character `";
+ 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 ("\\", shortwidth, cap#, 0); "left quote";
+ 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 ("'", shortwidth, cap#, 0); "The character '";
+ 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 (oct"042", shortwidth, cap#, 0); "The right quote";
+ 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 (22, shortwidth, .5[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;
+endchar;
diff --git a/fonts/engwar/englcase.mf b/fonts/engwar/englcase.mf
new file mode 100644
index 0000000000..b346dc88fc
--- /dev/null
+++ b/fonts/engwar/englcase.mf
@@ -0,0 +1,307 @@
+% 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;
diff --git a/fonts/engwar/englig.mf b/fonts/engwar/englig.mf
new file mode 100644
index 0000000000..70d3fd7672
--- /dev/null
+++ b/fonts/engwar/englig.mf
@@ -0,0 +1,15 @@
+% 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 @(#)ligtable.mf 1.1 10/1/86
+
+ligtable "`": "`"=:oct"134";
+ligtable "'": "'"=:oct"042";
+
+ligtable "-": "-"=:oct"173";
+ligtable oct"173": "-"=:oct"174";
diff --git a/fonts/engwar/engnum.mf b/fonts/engwar/engnum.mf
new file mode 100644
index 0000000000..a762514d4b
--- /dev/null
+++ b/fonts/engwar/engnum.mf
@@ -0,0 +1,115 @@
+% 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 @(#)numbers.mf 1.1 10/1/86
+
+beginchar("0", shortwidth,cap#,0); "The number 0";
+ pickup elvishpen;
+ x1 = x3 = .5[leadgap,w];
+ y2 = y4 = .5[h,0];
+ top y1 = h; bot y3 = 0;
+ lft x4 = leadgap; rt x2 = w;
+ draw z1..z2..z3..z4..cycle;
+endchar;
+
+beginchar("1", shortwidth,cap#,0); "The number 1";
+ pickup elvishpen;
+ x1 = x2 = .5[leadgap,w];
+ top y1 = h; bot y2 = 0;
+ draw z1..z2;
+endchar;
+
+beginchar("2", shortwidth,cap#,0); "The number 2";
+ pickup elvishpen;
+ lft x1 = leadgap; y1 = .5[0,h];
+ x2 = .5[leadgap,w]; top y2 = h;
+ bot y3 = 0; lft x3 = leadgap;
+ y4 = y3; rt x4 = w;
+ draw z1{up}..z2{right}..{down}z3--z4;
+endchar;
+
+beginchar("3", shortwidth,cap#,0); "The number 3";
+ hthick := 3thick/4; hthin := 3thin/4;
+ pickup pencircle xscaled hthick yscaled hthin rotated tilt;
+ x1 = x2 = x3 = leadgap;
+ top y1 = h; bot y3 = 0; y2 = xht;
+ rt x4 = w; x5 = x4;
+ y4 = .5[y1,y2]; y5 = .5[y2,y3];
+ draw z1{right}..z4..{left}z2;
+ draw z2{right}..z5..{left}z3;
+endchar;
+
+beginchar("4", shortwidth,cap#,0); "The number 4";
+ pickup elvishpen;
+ rt x1 = w; x2 = x1 = x4;
+ bot y1 = 0; top y2 = h;
+ lft x3 = leadgap; y3 = y4 = xht;
+ draw z1--z2--z3--z4;
+endchar;
+
+beginchar("5", shortwidth,cap#,0); "The number 5";
+ hthick := 3thick/4; hthin := 3thin/4;
+ pickup pencircle xscaled hthick yscaled hthin rotated tilt;
+ rt x1 = w; top y1 = h;
+ lft x2 = leadgap; y2 = y1;
+ x3 = x2; y3 = xht;
+ x4 = x1; y4 = .5[y3,y5];
+ x5 = x3; bot y5 = 0;
+ draw z1--z2--z3..z4..z5;
+endchar;
+
+beginchar("6", shortwidth,cap#,0); "The number 6";
+ hthick := 3thick/4; hthin := 3thin/4;
+ pickup pencircle xscaled hthick yscaled hthin rotated tilt;
+ x1 = x3 = x5 = .5[leadgap, w];
+ lft x2 = lft x6 = leadgap;
+ rt x7 = rt x4 = w;
+ top y1 = h;
+ y2 = y7 = .5[y1,y3];
+ y3 = xht;
+ y6 = y4 = .5[y5,y3];
+ bot y5 = 0;
+ draw z7..z1..z2---z6..z5..z4..z3..{down}z6;
+endchar;
+
+beginchar("7", shortwidth,cap#,0); "The number 7";
+ pickup elvishpen;
+ lft x1 = leadgap; top y1 = h;
+ rt x2 = w; y2 = y1;
+ x3 = x1; bot y3 = 0;
+ draw z1--z2..{down}z3;
+endchar;
+
+beginchar("8", shortwidth,cap#,0); "The number 8";
+ hthick := 3thick/4; hthin := 3thin/4;
+ pickup pencircle xscaled hthick yscaled hthin rotated tilt;
+ x1 = x3 = x5 = .5[leadgap, w];
+ lft x2 = lft x6 = leadgap;
+ rt x7 = rt x4 = w;
+ top y1 = h;
+ y2 = y7 = .5[y1,y3];
+ y3 = xht;
+ y6 = y4 = .5[y5,y3];
+ bot y5 = 0;
+ draw z1..z2..z3..z4..z5..z6..z3..z7..cycle;
+endchar;
+
+beginchar("9", shortwidth,cap#,0); "The number 9";
+ hthick := 3thick/4; hthin := 3thin/4;
+ pickup pencircle xscaled hthick yscaled hthin rotated tilt;
+ x1 = x3 = x5 = .5[leadgap, w];
+ lft x2 = lft x6 = leadgap;
+ rt x7 = rt x4 = w;
+ top y1 = h;
+ y2 = y7 = .5[y1,y3];
+ y3 = xht;
+ y6 = y4 = .5[y5,y3];
+ bot y5 = 0;
+ lft x8 = leadgap; bot y8 = 0;
+ draw z8{up}..{up}z7..z1..z2..z3..{up}z7;
+endchar;
diff --git a/fonts/engwar/engpun.mf b/fonts/engwar/engpun.mf
new file mode 100644
index 0000000000..ca188c8229
--- /dev/null
+++ b/fonts/engwar/engpun.mf
@@ -0,0 +1,163 @@
+% 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 @(#)punctuation.mf 1.1 10/1/86
+
+beginchar ("(", 3*leadgap#, cap#, 0); "The character (";
+ x1 = x3 = w;
+ x2 = leadgap;
+ y1 = h;
+ y2 = .5[y1,y3];
+ y3 = 0;
+ pickup elvishpen;
+ draw z1..z2..z3;
+endchar;
+
+beginchar (")", 3*leadgap#, cap#, 0); "The character )";
+ x1 = x3 = leadgap;
+ x2 = w;
+ y1 = h;
+ y2 = .5[y1,y3];
+ y3 = 0;
+ pickup elvishpen;
+ draw z1..z2..z3;
+endchar;
+
+beginchar (",", 3*leadgap#, xht#, 0); "The punctuation comma (one dot)";
+ begingroup;
+ save x, y;
+ pickup pensquare scaled thick rotated 45;
+ z1 = (1/2w, h/2);
+ drawdot z1;
+ endgroup;
+endchar;
+
+beginchar (";", 2*leadgap#, xht#, 0); "The punctuation semicolon (two dots)";
+ begingroup;
+ save x, y;
+ pickup pensquare scaled thick rotated 45;
+ z1 = (w/2, h-2thin);
+ z2 = (w/2, 2thin);
+ drawdot z1;
+ drawdot z2;
+ endgroup;
+endchar;
+
+beginchar (".", 3*leadgap#, xht#, 0); "The punctuation period (four dots)";
+ begingroup;
+ save x, y;
+ pickup pensquare scaled thick rotated 45;
+ z1 = (w/3, h-2thin);
+ z2 = (w/3, 2thin);
+ z3 = (w, h-2thin);
+ z4 = (w, 2thin);
+ drawdot z1;
+ drawdot z2;
+ drawdot z3;
+ drawdot z4;
+ endgroup;
+endchar;
+
+beginchar ("!", .7shortwidth, cap#, 0); "The exclamation point";
+ begingroup;
+ save x, y;
+ pickup elvishpen;
+ rt x1 = w; top y1=h; bot y4=2thick;
+ y2 = y3 = .5[y1,y4];
+ z1-z2 = z3-z4 = whatever*(dir 40);
+ x4 = leadgap;
+ draw z1..controls z2 and z3..z4;
+ pickup pensquare scaled thick rotated 45;
+ z5 = (leadgap + .5thick, thick);
+ drawdot z5;
+ endgroup;
+endchar;
+
+beginchar ("?", .7shortwidth, cap#, 0); "The question mark";
+ begingroup;
+ save x, y;
+ pickup elvishpen;
+ z1 = (leadgap, h);
+ top y2 = h; x2 = .6[leadgap, w];
+ rt x3 = w; y3 = .7(h - xht) + xht;
+ lft x4 = leadgap; bot y4 = xht;
+ lft x6 = leadgap; y6 = 2thick;
+ draw z1..tension 2.0..z2..z3..z4--z6;
+ pickup pensquare scaled thick rotated 45;
+ z5 = (leadgap + .5thick, thick);
+ drawdot z5;
+ endgroup;
+endchar;
+
+beginchar ("-", shortwidth, xht#, 0); "The dash (tilde)";
+ begingroup;
+ save x, y;
+ pickup elvishpen;
+ x1 = leadgap;
+ x4 = w;
+ y1 = .4h; y4 = .6h;
+ z2-z1 = z4-z3 = whatever*(dir tilt);
+ y2-y1 = 3 (y4-y1);
+ draw z1..controls z2 and z3..z4;
+ endgroup;
+endchar;
+
+beginchar (oct"173", 1.5*shortwidth, xht#, 0); "en dash";
+ begingroup;
+ save x, y;
+ pickup elvishpen;
+ x1 = leadgap;
+ x4 = w;
+ y1 = .4h; y4 = .6h;
+ z2-z1 = z4-z3 = whatever*(dir tilt);
+ y2-y1 = 3 (y4-y1);
+ draw z1..controls z2 and z3..z4;
+ endgroup;
+endchar;
+
+beginchar (oct"174", 3*shortwidth, xht#, 0); "em dash";
+ begingroup;
+ save x, y;
+ pickup elvishpen;
+ x1 = leadgap;
+ x4 = w;
+ y1 = .4h; y4 = .6h;
+ z2-z1 = z4-z3 = whatever*(dir tilt);
+ y2-y1 = 3 (y4-y1);
+ draw z1..controls z2 and z3..z4;
+ endgroup;
+endchar;
+
+beginchar ("=", shortwidth, xht#, 0); "The equals";
+ begingroup;
+ save x, y;
+ pickup elvishpen;
+ x1 = leadgap;
+ x4 = w;
+ y1 = .8h; y4 = 1h;
+ z2-z1 = z4-z3 = whatever*(dir tilt);
+ y2-y1 = 3 (y4-y1);
+ draw z1..controls z2 and z3..z4;
+ x5 = x1; x6 = x2; x7 = x3; x8 = x4;
+ y5 = y1 - 2thick; y6 = y2 - 2thick; y7 = y3 - 2thick; y8 = y4 - 2thick;
+ draw z5..controls z6 and z7..z8;
+ endgroup;
+endchar;
+
+beginchar ("~", shortwidth, cap#, 0); "The tilde";
+ begingroup;
+ save x, y;
+ pickup elvishpen;
+ x1 = leadgap;
+ x4 = w;
+ y1 = .8h; y4 = .7h;
+ z2-z1 = z4-z3 = whatever*(dir tilt);
+ y2-y1 = 3 (y4-y1);
+ draw z1..controls z2 and z3..z4;
+ endgroup;
+endchar;
diff --git a/fonts/engwar/engucase.mf b/fonts/engwar/engucase.mf
new file mode 100644
index 0000000000..e83d933e09
--- /dev/null
+++ b/fonts/engwar/engucase.mf
@@ -0,0 +1,287 @@
+% 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 ("I",3*leadgap#,Xht#,.2dep#); "The letter i";
+ begingroup;
+ save x,y;
+ commoncarrier;
+ endgroup;
+endchar;
+
+beginchar ("J",3*leadgap#,Xht#,dep#); "The letter j";
+ begingroup;
+ save x,y;
+ commoncarrier;
+ 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#,.2dep#); "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;
+ 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;
diff --git a/fonts/engwar/engwar.mf b/fonts/engwar/engwar.mf
new file mode 100644
index 0000000000..af4194cf77
--- /dev/null
+++ b/fonts/engwar/engwar.mf
@@ -0,0 +1,58 @@
+% 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 @(#)tengwar.mf 1.1 10/1/86
+
+mode_setup;
+em#:=10pt#; cap#=.8em#; dep#=.4em#; xht#=.4em#;
+Xht#=.6em#;
+shortwidth := .6em#;
+
+thick#:=9/80em#; thin#:=3/80em#;
+leadgap# := .1em#;
+bowstart#= .66xht#;
+Bowstart#= .66Xht#;
+serifthick# := 1.1thick#;
+
+tilt:=50; seriftilt := 110; botseriftilt:=80;
+shortstem := .7;
+longstem := .85;
+stemdepth := .9;
+bowsize := .58;
+
+define_pixels(em,cap,dep,xht,Xht,bowstart,Bowstart);
+define_pixels(thin,thick,serifthick,leadgap);
+
+pen elvishpen; elvishpen = pencircle xscaled thick yscaled thin rotated tilt;
+
+%
+% Because even "tall" characters want to be accented in the same place,
+% but because we want to use "h" in "beginchar" definitions
+% in a typical plain-MF way,
+% we force all characters to have a character height of xht#. This is
+% something a kludge, and makes tall characters stick into preceding lines
+% when the baselines aren't sufficiently separated. But that's how the
+% title-page inscription looks anyway.
+%
+let oldendchar = endchar;
+def endchar=
+ charht := xht#;
+ oldendchar;
+enddef;
+
+input eng;
+
+font_normal_space .45em#;
+font_normal_stretch .22em#;
+font_normal_shrink .15em#;
+font_x_height xht#;
+font_quad 1em#;
+font_extra_space 1/6em#;
+designsize:=1em#;
+
+bye;
diff --git a/fonts/engwar/lucap.mf b/fonts/engwar/lucap.mf
new file mode 100644
index 0000000000..04a1fa5e5a
--- /dev/null
+++ b/fonts/engwar/lucap.mf
@@ -0,0 +1,50 @@
+% 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 @(#)luvar.mf 1.1 10/1/86
+
+def Luva(expr startpt, endx, looped) =
+begingroup;
+ save x,y;
+ z5 = startpt;
+ top y6=Xht; x6=.5[x5,endx];
+ rt x7=endx; y7=.47Xht;
+ if looped :
+ bot y8 =0; x8=1/4[x6,endx];
+ y9 = .7thick; z9=whatever*(dir (tilt+90))+z8;
+ draw z5..z6..z7{down}..z8{left}..z9; % lu'va (bow)
+ else:
+ bot y8 =0; x8=.7[x6,endx];
+ draw z5..z6..z7{down}..z8;%{dir (tilt+180)};
+ fi;
+ bowpoint:= z7;
+ hookpoint := z8;
+ penlabels(5,6,7,8,9);
+endgroup;
+enddef;
+
+def Nuluva(expr startpt, endx, looped) =
+begingroup;
+ save x,y;
+ z5 = startpt;
+ bot y6=0; x6=.5[x5,endx];
+ lft x7=endx; y7=.45Xht;
+ if looped :
+ top y8 =Xht; x8=1/4[x6,endx];
+ y9 = Xht-.7thick; z9=whatever*(dir (tilt-90))+z8;
+ draw z5..z6..z7{up}..z8{right}..z9; % lu'va (bow)
+ else:
+ top y8 =Xht; x8=.7[x6,endx];
+ draw z5..z6..z7{up}..z8;%{dir (tilt)};
+ fi;
+ bowpoint:= z7;
+ hookpoint := z8;
+ penlabels(5,6,7,8,9);
+endgroup;
+enddef;
+
diff --git a/fonts/engwar/luvar.mf b/fonts/engwar/luvar.mf
new file mode 100644
index 0000000000..a7a5faa74b
--- /dev/null
+++ b/fonts/engwar/luvar.mf
@@ -0,0 +1,50 @@
+% 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 @(#)luvar.mf 1.1 10/1/86
+
+def luva(expr startpt, endx, looped) =
+begingroup;
+ save x,y;
+ z5 = startpt;
+ top y6=xht; x6=.5[x5,endx];
+ rt x7=endx; y7=.47xht;
+ if looped :
+ bot y8 =0; x8=1/4[x6,endx];
+ y9 = .7thick; z9=whatever*(dir (tilt+90))+z8;
+ draw z5..z6..z7{down}..z8{left}..z9; % lu'va (bow)
+ else:
+ bot y8 =0; x8=.7[x6,endx];
+ draw z5..z6..z7{down}..z8;%{dir (tilt+180)};
+ fi;
+ bowpoint:= z7;
+ hookpoint := z8;
+ penlabels(5,6,7,8,9);
+endgroup;
+enddef;
+
+def nuluva(expr startpt, endx, looped) =
+begingroup;
+ save x,y;
+ z5 = startpt;
+ bot y6=0; x6=.5[x5,endx];
+ lft x7=endx; y7=.45xht;
+ if looped :
+ top y8 =xht; x8=1/4[x6,endx];
+ y9 = xht-.7thick; z9=whatever*(dir (tilt-90))+z8;
+ draw z5..z6..z7{up}..z8{right}..z9; % lu'va (bow)
+ else:
+ top y8 =xht; x8=.7[x6,endx];
+ draw z5..z6..z7{up}..z8;%{dir (tilt)};
+ fi;
+ bowpoint:= z7;
+ hookpoint := z8;
+ penlabels(5,6,7,8,9);
+endgroup;
+enddef;
+
diff --git a/fonts/engwar/telcap.mf b/fonts/engwar/telcap.mf
new file mode 100644
index 0000000000..6bd729fb89
--- /dev/null
+++ b/fonts/engwar/telcap.mf
@@ -0,0 +1,52 @@
+% 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 @(#)telcor.mf 1.1 10/1/86
+
+def Telco (expr posn, stemtop, stembottom) =
+ begingroup;
+ save x,y,stem;
+ path stem;
+ y0 = stemtop*h;
+ lft x0 = posn;
+ y1 = h; z1-z0=whatever*dir(seriftilt);
+ x3 = x0; y3 = -stembottom*d;
+ y4 = -d; z3-z4=whatever*dir(180-seriftilt);
+ stem = z1..tension 3.0..z0{down}..z3{down}..z4;
+ draw stem;
+ bowpoint := stem intersectionpoint
+ ((-infinity,Bowstart)--(infinity, Bowstart));
+ barpoint := stem intersectionpoint
+ ((-infinity,0)--(infinity, 0));
+ penlabels(0,1,2,3,4);
+ endgroup;
+enddef;
+
+def Nutelco (expr posn, stemtop, stembottom) =
+ begingroup;
+ save x,y,stem;
+ path stem;
+ y0 = stemtop*h;
+ rt x0 = posn;
+ y1 = h; z1-z0=whatever*dir(seriftilt);
+ x3 = x0; y3 = -stembottom*d;
+ y4 = -d; z3-z4=whatever*dir(seriftilt);
+ stem = z1..tension 3.0..z0{down}..z3--z4;
+ draw stem;
+ bowpoint := stem intersectionpoint
+ ((-infinity, Xht-Bowstart)--(infinity, Xht-Bowstart));
+ if y0 > Xht :
+ barpoint := stem intersectionpoint
+ ((-infinity, Xht)--(infinity, Xht));
+ else :
+ barpoint := z0;
+ fi ;
+ penlabels(0,1,3,4);
+ endgroup;
+enddef;
+
diff --git a/fonts/engwar/telcor.mf b/fonts/engwar/telcor.mf
new file mode 100644
index 0000000000..58483e83ef
--- /dev/null
+++ b/fonts/engwar/telcor.mf
@@ -0,0 +1,52 @@
+% 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 @(#)telcor.mf 1.1 10/1/86
+
+def telco (expr posn, stemtop, stembottom) =
+ begingroup;
+ save x,y,stem;
+ path stem;
+ y0 = stemtop*h;
+ lft x0 = posn;
+ y1 = h; z1-z0=whatever*dir(seriftilt);
+ x3 = x0; y3 = -stembottom*d;
+ y4 = -d; z3-z4=whatever*dir(180-seriftilt);
+ stem = z1..tension 3.0..z0{down}..z3{down}..z4;
+ draw stem;
+ bowpoint := stem intersectionpoint
+ ((-infinity,bowstart)--(infinity, bowstart));
+ barpoint := stem intersectionpoint
+ ((-infinity,0)--(infinity, 0));
+ penlabels(0,1,2,3,4);
+ endgroup;
+enddef;
+
+def nutelco (expr posn, stemtop, stembottom) =
+ begingroup;
+ save x,y,stem;
+ path stem;
+ y0 = stemtop*h;
+ rt x0 = posn;
+ y1 = h; z1-z0=whatever*dir(seriftilt);
+ x3 = x0; y3 = -stembottom*d;
+ y4 = -d; z3-z4=whatever*dir(seriftilt);
+ stem = z1..tension 3.0..z0{down}..z3--z4;
+ draw stem;
+ bowpoint := stem intersectionpoint
+ ((-infinity, xht-bowstart)--(infinity, xht-bowstart));
+ if y0 > xht :
+ barpoint := stem intersectionpoint
+ ((-infinity, xht)--(infinity, xht));
+ else :
+ barpoint := z0;
+ fi ;
+ penlabels(0,1,3,4);
+ endgroup;
+enddef;
+