%%% vclig.mf ligatures for vicentino fonts slant := lowerslant; currenttransform := identity slanted slant; beginchar(char12, 5tw#, ah#, dh#); "the fi ligature"; pickup lower_pen; x2-s=x3+.85s=1.63tw; x1=4.15tw; rt.x4=.25s; top.y2+.85s=h; bot.y3=-dh+s; bot.y4=-dh; top.y1=.5[xh,ah]; path stem; stem = z1{dir45}..tension1.2..z2..tension 2.25.. z3{dir240}..if modern: else: {dir145}fi z4; draw if modern: subpath(0,2.6) of fi stem; % i lft.x5=1/3s; y5=xh-1.33th; x6=x7=3.93tw; rt.x8=w; top.y6=xh; bot.y7=0; y8=th; path ipart; ipart = z5...z6{right}..tension7..z7{right}..tension2.. {dir40}z8; draw if modern: subpath(0.15,2.2) of fi ipart; end_char; beginchar(char11, 5.5tw#, ah#, dh#); "the ff ligature"; pickup lower_pen; x2-.8s=x3+.8s=1.6tw+.1s; x1=3.2tw+0.5s; rt.x4=-.25s; top.y2+.75s=top.y1+s=h; bot.y3=-dh+s; bot.y4=-dh; x11=x1+2.3tw; x12=x2+2.3tw; x13=x3+2.3tw; x14=x4+2.3tw; y11=y1; y12=y2+.2s; y13=y3; y14=y4; path lstem, rstem; rstem = z11{dir106}..tension1.1..z12..tension2.25.. z13{dir240}..if not.modern: {dir145}fi z14; z1'=rstem horintersection h-2th; lstem = z1'{dir110}..tension1.25..z2..tension 2.25.. z3{dir240}..if modern: else: {dir145}fi z4; draw if modern: subpath(0,2.75) of fi rstem; draw if modern: subpath(0,2.6) of fi lstem; lft.x5=1/3s; x6=w+.1s; y5=y6=xh-th; draw z5--z6; labels(1'); end_char; beginchar(char15, 2sw#+2.5tw#, ah#, 0); "the ch ligature"; pickup lower_pen; x2=x3=sw+1.65tw; x2-x1=halfser; top.y2=h; bot.y3=0; z2-z1=whatever*dir40; path stem, loop; stem = z2{curl0}..{dir275}z3; z4 = stem horintersection y1; draw stem; if not.modern: ltopserif(z1,z2,z4); fi x5=1.5sw+1.5tw; top.y5=xh; bot.y8=0; x8=x5+.6tw; z6 = stem horintersection xh/2; y7=y6; rt.x7=w-2/3s; x9=x5+.8s; y9=.66th; loop = z6{up}..z5..tension.9..z7{down}..z8..z9; draw if modern: subpath(0,3.2) of fi loop; % c: numeric dev, axis; dev=.5s; axis=.5sw+.5tw+.33s; rt x11=2axis-.5s; lft x13=.5s; x12-dev=x14+dev=axis; y11-dev=y13+dev=.52xh; top.y12=xh; bot.y14=0; rt.x15=sw+.66tw; y15=3/4xh; path p,q ; p= superellipse(z11,z12,z13,z14,0.73); q= z15..{left}z12 & subpath(2,6) of p & z14{right}..{up}z6; draw q; end_char; beginchar(char26, 2sw#+.5tw#, xh#, 0); "the ligature ae"; pickup lower_pen; x1=.475w; x2=1tw; x3=.9w; x4=w-1.15tw; rt.x5=w-.25s; top.y1=h; bot.y2=bot.y4=0; y5=th; y3=h-1.25th; path p; p = z1{dir210}..tension2..{right}z2..tension2.2..{up}z3 & z3..tension2.. {dir220}z1..tension2..{right}z4..{dir40}z5; draw p; end_char; beginchar(char27, 2sw#+tw#+s#, xh#, 0); "the ligature oe"; pickup lower_pen; numeric dev; dev=.5s; rt x1=w-sw-.5s; lft x3=0+.5s; x2-dev=x4+dev=w/2-sw/2; y1-dev=y3+dev=.52h; top.y2=h; bot y4=0; draw superellipse(z1,z2,z3,z4,0.73); % e numeric edev, axis; edev=.5s; axis=w-.5sw-.5tw+.5s; rt x11=w+.5s; x13=x1; x12-edev=x14+edev=axis; y11-edev=y13+edev=.52h; top.y12=h; bot y14=0; rt.x15+.25s=rt.x16=w-.25s; y15=3/4h; y16=th; path p,q ; p= superellipse(z11,z12,z13,z14,0.73); z17 = (subpath(2,6) of p) horintersection .425h; q= z17{dir18}..tension1.25.. z15..{left}z12 & subpath(2,6) of p & z14{right}..{dir36}z16; draw q; end_char; beginchar(char29, 4.5sw#, ch#, 0); "the ligature AE"; pickup lower_pen; % E lft.x1=2sw; x4=2sw+tw; x2-3s=x3-2s=x5=w-1.25sw; x6=w-.5tw; y1=y2=.7h; y3=h; y5=0; y6=1.5th; y4=.5h; path curve; curve=z1{dir35}..tension.9..z2{dir35}..tension.85..z3{left}..z4..z5{right}..z6; draw if modern: subpath(1.25,5) else: subpath(1.15,5) fi of curve; %A lft.x11=1.1s; x12=1.5tw; top.y11=bot.y12=0; y13'=h; x13'= 2.5sw; z13= (subpath(2,3) of curve) horintersection h-th; y8=.43h; x8=w-1.25tw; path p; p=z8{left}..tension if modern: .89 else: .92 fi..z11{dir-55}..z12{dir65} ..tension1.4..{right}z13'..z13; if modern: draw subpath(0.05,.6) of p; draw subpath(1.8,4) of p; else: draw p; fi end_char; beginchar(char30, 5sw#-2tw#, ch#, 0); "the ligature OE"; pickup lower_pen; numeric dev; dev=3/4s; rt.x1=2.5sw-s; lft.x3=s; x2-dev=x4+dev=1.25sw; y1-dev=y3+dev=.52h; top.y2=h; bot.y4=0; draw superellipse(z1,z2,z3,z4,.74); % E lft.x11=2sw; x14=x1; x12-1.75tw=x13-s=x15-s=w-1.25sw; x16=w-.5tw; y11=y12=.7h; top.y13=h; bot.y15=0; y16=1.5th; y14=y1; path curve; curve=z11{dir35}..tension.9..z12{dir35}..tension.85..z13{left}.. z14{down}..z15{right}..z16; draw if modern: subpath(1.25,5) else: subpath(1.15,5) fi of curve; y17=y18; z17=curve horintersection .55h; x18=w-1.25tw; draw z17--z18; end_char;