% 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 @(#)additionals.mf 1.1 10/1/86 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("r", shortwidth, xht#, dep#); "The letter r (romen)"; begingroup; commonr; endgroup; endchar; beginchar(18, shortwidth, xht#, dep#); "The ligature rh (arda)"; begingroup; commonr; z8 = point .5 of (z0..z7); x9 = x1; z8-z9 = whatever*(dir tilt); x10 = x0; y10=y9; draw z8--z9..tension 3.0..z10{dir tilt}; endgroup; endchar; def commonl= save x,y; pickup elvishpen; path tilde; lft x1=leadgap;top y1=h; rt x4 = w; y4=h; y2-y1 = y4-y3 = 3(y4-y1); z2-z1=z4-z3=whatever*(dir tilt); tilde = ( z1..controls z2 and z3..z4); % straight from Page 152 of MFbook z5 = point .6 of tilde; lft x6 = leadgap+1/20em; y6 = -.25d; x7 = .5[leadgap, w]; bot y7=-d; rt x8 = w-leadgap; y8 = 0; y9=.25h; z9-z8=whatever*(dir (tilt+90)); draw tilde; z10 = point .6 of (z5..z6{down}); enddef; beginchar("l", .8em#, xht#, dep#); "The letter l (lambe)"; begingroup; commonl; draw z5..z6{down}..z7{right}..z8..z9; endgroup; endchar; beginchar("L", .8em#, xht#, dep#); "The ligature ld (alda)"; begingroup; commonl; draw z5..tension 1.5..z10..z9..z8..z7..z6; endgroup; endchar; def commonsz= pickup elvishpen; save x,y,spath; path spath,zspath,zpath; x0 =.9w; top y0=height; x0-x1 = .08w; z0-z1=whatever*(dir(tilt-10)); y3=xht/2; lft x3=leadgap; x4 = w/2+leadgap; bot y4=0; rt x5 = w; y5 = xht/2; %z5-z4 = whatever*(dir tilt); z6-z5=whatever*(dir (tilt+90)); x6=x5-.3w; spath=(z0..z1..tension 2.2..z3{down}..z4{right}..z5{up}..z6{dir(tilt+90)}); zspath=(z0..z1..tension 2.2..z3{down}..z4{right}..z5); x7=x3; y7= -.6d; x8=x4; bot y8=-d; x9=x5; y9= -.6d; z10-z9= z6-z5; zpath=(z4..tension 2.2..z7{down}..z8{right}..z9{up}..z10{dir(tilt+90)}); enddef; beginchar("s", shortwidth, cap#, 0); "The letter s (silme)"; begingroup; save height; height=h; commonsz; draw spath; endgroup; endchar; beginchar(3, shortwidth, xht#, dep#); "The letter s reversed (silme nuquerna)"; begingroup; save height; height=cap; commonsz; draw (spath rotatedabout ( (.5[leadgap,w],xht/2), 180)); endgroup; endchar; beginchar ("z", shortwidth, cap#, dep#); "The letter z (aze)"; begingroup; save height; height=h; commonsz; draw zspath; draw zpath; endgroup; endchar; beginchar (26, shortwidth, cap#, dep#); "The letter z reversed (aze nuquerna)"; begingroup; save height; height=cap; commonsz; draw (zspath rotatedabout ( (.5[leadgap,w],0), 180)); draw (zpath rotatedabout ( (.5[leadgap,w],0), 180)); endgroup; endchar; beginchar("e", shortwidth, xht#, 0); "The letter e (yanta)"; begingroup; save x,y; pickup elvishpen; top y0 = h; x0=.5[0, w]; lft x1 = 0; y1=0; y2=0; 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("h", shortwidth, cap#, 0); "The letter h (hyarmen)"; begingroup; save x,y; pickup elvishpen; top y0 = h; x0=leadgap; lft x1 = leadgap+.3thick; y1=0; y2=0; rt x2=w; y3=y0; x3=x0-.7thick; z4-z1 = whatever*(z0-z2); x1-x4=.2thin; z5 = point .5 of (z0--z2); z6-z2 = whatever*(z5-z1); x6=w; draw z3..z0--z2..z6; draw z4..z1--z5; endgroup; % % This character requires a bit more height than the others so that % accents get raised enough. % charht := .3[xht#,cap#]; oldendchar; beginchar ("u", shortwidth, xht#, 0); "The letter u (ure)"; 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 (15, shortwidth+thick#, cap#,0); "The ligature hw (hwesta sindarinwa)"; begingroup; save x,y; pickup elvishpen; nutelco(w-thick, longstem, stemdepth) z7=bowpoint; bot y8 = 0; x8=1/2[x7,leadgap]; lft x9 = leadgap; y9=1/2xht; top y10 = xht; x10=x8; draw z7{down}..z8{left}..z9{up}..z10{right}..cycle; rt x11 = w-thick; y11 = 0; z12= (w, 0); draw z11--z12; endgroup; endchar;