diff options
Diffstat (limited to 'fonts/vicentino/kraml/vclig.mf')
-rw-r--r-- | fonts/vicentino/kraml/vclig.mf | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/fonts/vicentino/kraml/vclig.mf b/fonts/vicentino/kraml/vclig.mf new file mode 100644 index 0000000000..1a33e7c0c7 --- /dev/null +++ b/fonts/vicentino/kraml/vclig.mf @@ -0,0 +1,139 @@ +%%% 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; + |