% VCLOWER - lower characters for vicentino font % w. kraml, 1991 % lower case: slant := lowerslant; currenttransform := identity slanted slant; beginchar("a", 2tw#+sw#, xh#, 0); "the letter a"; pickup lower_pen; x1=x2=x7=w-tw; top.y1=top.y5=h; rt x3=w; y3=th; bot y6=bot y2=0; y7=3/4h; x5=1.75tw; x6=1.5tw; path rightstem; rightstem = z1..tension6.7 ..z2..tension2..{dir40}z3; z4 = rightstem horintersection .7h; draw if modern: subpath(0,1.2) of fi rightstem; draw z4..tension3..z5..tension2.5..z6{right}..tension1.75..{up}z4; end_char; beginchar("b", 2tw#+sw#, ah#, 0); "the letter b"; pickup lower_pen; x2=x3=tw+.25s; x2-x1=halfser; top.y2=h; bot.y3=1.667th; z2-z1=whatever*dir40; path stem, loop; stem = z2{curl0}..{dir275}z3; z4 = stem horintersection y1; draw stem; if modern: else: ltopserif(z1,z2,z4); fi x5=x8=w/2; top.y5=xh; bot.y8=0; z6 = stem horintersection xh/2; y7=y6; rt.x7=w-2/3s; loop = z6{up}..z5..tension.9..z7..z8..{dir95}z3; draw loop; end_char; beginchar("c", sw#+tw#, xh#, 0); "the letter c"; pickup lower_pen; numeric dev, axis; dev=.5s; axis=.5sw+.5tw+.5s; rt x1=2axis-.5s; lft x3=.5s; x2-dev=x4+dev=axis; y1-dev=y3+dev=.52h; top.y2=h; bot y4=0; rt.x5+.25s=rt.x6=w-.25s; y5=3/4h; y6=th; path p,q ; p= superellipse(z1,z2,z3,z4,0.73); q= z5..{left}z2 & subpath(2,6) of p & z4{right}..{dir36}z6; draw q; end_char; beginchar("d", 2tw#+sw#, ah#, 0); "the letter d"; pickup lower_pen; x1-.5s=x2=x7=w-tw; top.y1=h; top.y5=xh; rt x3=w; y3=th; bot y6=bot y2=0; x5=1.75tw; x6=1.55tw; path rightstem; rightstem = z1..tension6.7 ..z2..tension2..{dir40}z3; z4 = rightstem horintersection .8xh; draw if modern: subpath(0,1.2) of fi rightstem; x1-x8=halfser; z1-z8=whatever*dir40; z9 = rightstem horintersection y8; if modern: else: ltopserif(z8,z1,z9); fi draw z4..tension2..z5..tension2..z6{right}..tension1.75..{up}z4; end_char; beginchar("e", sw#+tw#, xh#, 0); "the letter e"; pickup lower_pen; numeric dev, axis; dev=.5s; axis=.5sw+.5tw+.5s; rt x1=2axis-.5s; lft x3=.5s; x2-dev=x4+dev=axis; y1-dev=y3+dev=.52h; top.y2=h; bot y4=0; rt.x5+.25s=rt.x6=w-.25s; y5=3/4h; y6=th; path p,q ; p= superellipse(z1,z2,z3,z4,0.73); z7 = (subpath(2,6) of p) horintersection .425h; q= z7{dir18}..tension1.25.. z5..{left}z2 & subpath(2,6) of p & z4{right}..{dir36}z6; draw q; end_char; beginchar("f", 3.2tw#, ah#, dh#); "the letter f"; pickup lower_pen; x2-.8s=x3+.8s=w/2+.1s; x1=w+0.5s; rt.x4=-.25s; top.y2+.75s=top.y1+s=h; bot.y3=-dh+s; bot.y4=-dh; y5=y6=xh-th; lft.x5=1/3s; x6=w+.1s; path stem; stem = z1{dir105}..tension1.2..z2..tension 2.25.. z3{dir240}..if modern: else: {dir145}fi z4; draw if modern: subpath(0,2.6) of fi stem; draw z5--z6; end_char; beginchar("g", 2tw#+sw#, xh#, dh#); "the letter g"; pickup lower_pen; x1=x2=w-.8tw; top.y1=top.y5=top.y1'=h; rt.x1'=w-.25s; bot y6=bot y2=0; x5=1.75tw; x6=1.5tw; lft.x9=if modern:s else: -.2s fi; x8= if modern: w-.78tw else: w-1.5s fi; bot.y8-s = bot.y9 = if modern: -dh+1.5s else: -dh+s fi; path rightstem, rightstemtrial; rightstemtrial = z1'{dir205}..tension2.1..z2..tension1.8..z8.. if modern: tension1.1 else: tension1.56 fi ..z9..{dir36}z6; z4 = rightstemtrial horintersection 3/4h; top.z6'= (subpath(2,4) of rightstemtrial) horintersection -.2s; z6''=z6'-(.33s,0); rightstem=z1'{dir205}..tension2.1..z2..tension1.8..z8.. if modern: tension1.1 else: tension1.56 fi ..z9..{dir36}z6''; draw subpath(0, if modern:3.275 else: 4 fi) of rightstem; draw z4..tension3..z5..tension2.5..z6{right}..tension1.75..{dir80}z4; end_char; beginchar("h", 2tw#+sw#, ah#, 0); "the letter h"; pickup lower_pen; x2=x3=tw+.25s; 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=w/2; 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; end_char; beginchar("i", 2tw#+.5s#, xh#, 0); "i"; pickup lower_pen; x5=x2=x3=w/2; lft.x1=.1s; rt.x4=w-.1s; y1=h-th; top.y2=h; bot y3=0; y4=th; y5=.5[xh,ah]; path stem; stem = z1{dir40}..tension2..z2..tension5..z3..tension2.. {dir40}z4; draw if modern: subpath(0.8,2.2) of fi stem; dot z5; end_char; beginchar("j", 2tw#+.5s#, xh#, dh#); "the letter j"; pickup lower_pen; x5=x2=w/2; lft x1=0; x4=w/2-.1s; y1=h-th; top.y2=h; bot.y6=-dh+.33th; y5=.5[xh,ah]; bot.y4=-dh+1.1th; x6=0.1s; path stem; stem = z1{dir40}..tension2..z2..tension4.5.. z4..tension.825..{dir133.5}z6; draw if modern: subpath(0.8, 2.72) of fi stem; dot z5; end_char; beginchar("k", 2tw#+sw#, ah#, 0); "the letter k"; pickup lower_pen; x2=x3=tw; 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 modern: else: ltopserif(z1,z2,z4); fi x5=w/2 + .5s; top.y5=xh; x5'=w-tw; y5'= if modern: .8xh else: .7xh fi; z6 = stem horintersection 0.45xh; loop = z6{up}..z5..z5' if modern:{dir220} else:{dir245} fi ..tension.825..{dir275}z3; draw if modern: subpath(1.5,3) of fi loop; z7 = loop horintersection 7/16xh; bot.y8=0; top.y9=th; rt.x9=w; lft.x8=w-tw; draw z7..tension1.75..z8..z9; end_char; beginchar("l", 2tw#+.5s#, ah#, 0); "the letter l"; pickup lower_pen; x2=x3=w/2; x2-x1=halfser; rt x4=w-.1s; top y2=h; bot y3=0; y4=th; z2-z1=whatever*dir40; path stem; stem = z2{curl0}..tension7..z3..tension2..{dir40}z4; draw if modern: subpath(0,1.2) of fi stem; % top serif z5 = stem horintersection y1; if modern: else: ltopserif(z1,z2,z5); fi end_char; beginchar("m", 2tw#+2sw#, xh#, 0); "the letter m"; pickup lower_pen; x2=x3=tw; x4=x5=tw+sw; x6=x7=w-tw; lft.x1=0.1s; rt.x8=w-.1s; top.y2=top.y4=top.y6=h; bot.y3=bot.y5=bot.y7=0; y1=h-th; y8=th; path lstem, mstem, rstem; lstem=z1{dir40}..tension2..z2..tension7..{curl0}z3; mstem=z3{dir86}..tension1.9..z4{dir-30}..tension6..{curl0}z5; rstem=z5{dir86}..tension1.9..z6{dir-30}..tension6..z7..tension2..{dir40}z8; draw if modern: subpath(0.8,2) of fi lstem; draw mstem; draw if modern: subpath(0,2.2) of fi rstem; end_char; beginchar("n", 2tw#+sw#, xh#, 0); "the letter n"; pickup lower_pen; x2=x3=tw; x4=x5=w-tw; lft.x1=0.1s; rt.x6=w-.1s; top.y2=top.y4=h; bot.y3=bot.y5=0; y1=h-th; y6=th; path lstem, rstem; lstem = z1{dir40}..tension2..z2..tension7..{curl0}z3; draw if modern: subpath(.8,2) of fi lstem; rstem = z3{dir86}..tension1.9..z4{dir-30}..tension6..z5..tension2..{dir40}z6; draw if modern: subpath(0,2.2) of fi rstem; end_char; beginchar("o", sw#+tw#+s#, xh#, 0); "the letter o"; pickup lower_pen; numeric dev; dev=.5s; rt x1=w-.5s; lft x3=0+.5s; x2-dev=x4+dev=w/2; y1-dev=y3+dev=.52h; top.y2=h; bot y4=0; draw superellipse(z1,z2,z3,z4,0.73); end_char; beginchar("p", 2tw#+sw#, xh#, dh#); "the letter p"; pickup lower_pen; x1=x2=tw; y1=h+s; bot.y2=-dh; lft.x3=0; y3=h-th; top.y4=h; x4=x5=.52w; bot.y5=0; rt.x4'=w-.5s; y4'=.525h; path stem, bowl; stem = z1{curl.0}..tension7..{dir-15}z2; z6 = stem horintersection 1.4th; draw if modern: subpath(0,.95) of fi stem; bowl=z3{dir35}...z4{right}..z4'{down}..z5{left}..{dir100}z6; draw if modern: subpath(0.15,4) of fi bowl; labels(2', 4'); end_char; beginchar("q", 2tw#+sw#, xh#, dh#); "the letter q"; pickup lower_pen; x1=x2=w-tw; top.y1+.25th=top.y5=h; bot y6=0; bot.y2=-dh; x5=1.5tw; x6=1.25tw; path rightstem; rightstem = z1{curl.0}..tension7..{dir-15}z2; draw if modern: subpath(0,.95) of fi rightstem; draw z1..tension2.1..z5..tension2.2..z6{right}..tension1.7..{up}z1; end_char; beginchar("r", tw#+sw#+.5s#, xh#, 0); "r"; pickup lower_pen; x2=x3=tw; bot y3=0; top.y2=top.y5=h; lft x1=0.1s; y1=h-th; y4=h-1.25th; rt.x4=w-.15s; x5=w-.7tw; path lstem, rstem; lstem=z1{dir40}..tension2..z2..tension7..{curl0}z3; rstem=z3{dir86}..tension2..z5{dir-30}..tension1.1..z4; draw if modern: subpath(0.8,2) of fi lstem; draw rstem; end_char; beginchar("s", tw#+sw#, xh#, 0); "the letter s"; pickup lower_pen; x1=x2=w/2; top.y1=h; bot.y2=0; x3=.75tw; rt.x4=w-.5s; y3=.76h; y4=.3h; x5=w-.7tw; lft.x6=.6s; y5=y3+.55th; y6=y4-3/4th; path trial,p; trial = z3{down}..tension1.1..{down}z4; z7 = trial intersectionpoint (z6{up}..{up}z5); p = z7..tension1.3..z5..z1{left}..z3{down}..tension1.1.. z4{down}..z2{left}..z6..tension2.5..cycle; draw subpath if modern:(.77,6.11) else: (.75,6.23) fi of p; end_char; beginchar("t", 2.5tw#, xh#, 0); "the letter t"; pickup lower_pen; x1=x2=w/2; rt.x3=w-.1s; y1=h+s; bot.y2=0; y3=th; y4=y5=xh-th; lft.x4=0.25s; x5=x3; path stem; stem=z1{curl0}..tension7..z2..tension2..{dir40}z3; draw if modern: subpath(0,1.6) of fi stem; draw z4--z5; end_char; beginchar("u", 2tw#+sw#, xh#, 0); "the letter u"; pickup lower_pen; x2=x3-.5s=tw; x4=x5=w-tw; lft.x1=0.1s; rt.x6=w-.1s; top.y2=top.y4=h; bot.y3=bot.y5=0; y1=h-th; y6=th; path lstem, rstem; lstem=z1{dir40}..tension1.5..z2..tension5..z3{dir-30}..tension1.9..{dir86}z4; rstem=z4{curl0}..tension7..z5..tension2..{dir40}z6; draw if modern: subpath(.8,3) of fi lstem; draw if modern: subpath(0,1.2) of fi rstem; end_char; beginchar("v", 2tw#+sw#, xh#, 0); "the letter v"; pickup lower_pen; x2=tw; x4-x5=2/3tw; lft.x1=0; rt.x4=w-2/3tw; x3=.45[x1,x4]; top.y2=top.y4=h; y1=y5=h-th; bot.y3=0; path stem; stem = z1..tension2..z2{right}..tension6.7.. z3{right}..tension2..z4{left}..tension1.5..z5; draw if modern: subpath(.8,3.2) of fi stem; end_char; beginchar("w", 3tw#+2sw#-2s#, xh#, 0); "the letter w"; pickup lower_pen; x2=tw; x7-x8=2/3tw; lft.x1=0; rt.x7=w-2/3tw; x3=.45[x1,x4]; x7-x4=x6-x3=x4-x2; top.y2=top.y4=top.y7=h; y1=y8=h-th; bot.y3=bot.y6=0; path lstem, rstem; lstem=z1..tension2..z2{right}..tension6.7.. z3{right}..tension2.2..z4{dir130}; rstem=z4{right}..tension6.7..z6{right}..tension2..z7{left}..tension1.5..z8; draw if modern: subpath(.8,3) of fi lstem; draw if modern: subpath(0,2.2) of fi rstem; end_char; beginchar("x", 2tw#+sw#+.5s#, xh#, 0); "the letter x"; pickup lower_pen; lft.x1-.3s=lft.x5=0; x2=x6+.75s=tw+.1s; x7-.5s=w-tw; rt.x8=w-.5s; rt.x4=w-.1s; x3=w-tw; top.y2=top.y7=h; y1=y8=h-th; y5=th; y4=th; 0=bot.y6=bot.y3; path nwso, swno; nwso=z1{dir42}..tension1.75..z2..tension3..{right}z3..tension2..z4; swno=z5..tension1.7..z6..tension3.3..z7..tension1.7..z8; draw if modern: subpath(.8,2.2) of fi nwso; draw if modern: subpath(.8,2.2) of fi swno; end_char; beginchar("y", 2tw#+sw#, xh#, dh#); "the letter y"; pickup lower_pen; lft.x1=0; rt.x4=w-.4tw; x2=.8tw; lft.x6=0; x5=x6+.75s; top.y2=h; top.y4=h+.17s; y1=h-th; bot.y5=-dh; y6=-dh+th; path rstem, lstem; rstem = z4{dir-35}..tension3.55..z5{dir155}..tension1.2..z6; z3=rstem horintersection -.55s; lstem = z1{dir42.5}..tension1.75..z2..tension3.4..z3; draw if modern: subpath(0,1.2) of fi rstem; draw if modern: subpath(.8,2) of fi lstem; end_char; beginchar("z", 2tw#+sw#-.5s#, xh#, 0); "the letter z"; pickup lower_pen; lft.x1=lft.x4=0.175tw; rt.x3+.275tw=x6+.5tw=w; x2=1.1tw; x5=w-.5tw; top.y2=top.y3=h; y1=h-1.225th; bot.y4=bot.y5-1/3s=0; y6=2th; path stem; stem=z1{dir38}...z2.. if modern: tension 1.2 else: tension.9 fi .. {dir40}z3 & z3..tension6.. {dir265}z4 & z4{dir40}..tension1.2..z5{dir46}..z6; draw if modern: subpath(.25,4.5) of fi stem; end_char; beginchar(char 25, 2.1tw# +sw#, ah#, dh#); "the german ss ligature"; pickup lower_pen; x2-.8s=x3+.8s=1.05tw; x1=w-.85s; rt.x4=-.2s; top.y2=h-th; top.y1=h-1.6th; bot.y3=-dh+s; bot.y4=-dh; path lpart, rpart; lpart=z1{dir105}..tension1.2..z2..tension2.25.. z3{dir240}..if not.modern: {dir145}fi z4; lft.x7=.8sw; rt.x6=w-0.75s; lft.x5=sw; x6'=.5[x6,x7]; bot.y6'=0; y5=xh-th; y6=y7=1.4th; rpart=z1{dir285}..z5%{down} ..tension1.25..z6..z6'..{dir120}z7; draw if modern: subpath(0,2.6) of fi lpart; draw if modern: subpath(0,3.75) of fi rpart; end_char;