summaryrefslogtreecommitdiff
path: root/fonts/greek/lfb/MF/capitals.mf
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/greek/lfb/MF/capitals.mf')
-rw-r--r--fonts/greek/lfb/MF/capitals.mf717
1 files changed, 717 insertions, 0 deletions
diff --git a/fonts/greek/lfb/MF/capitals.mf b/fonts/greek/lfb/MF/capitals.mf
new file mode 100644
index 0000000000..a00c4aa945
--- /dev/null
+++ b/fonts/greek/lfb/MF/capitals.mf
@@ -0,0 +1,717 @@
+
+ %% capitals.mf
+ %% Copyright 2005 Laurie Field
+ %
+ % This work is LFB, version 1.0.
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2003/12/01 or later.
+ %
+ % This work has the LPPL maintenance status "maintained".
+ %
+ % This Current Maintainer of this work is Laurie Field.
+ %
+ % This work consists of the files:
+ %
+ % example.tex
+ % lfbacc.tex
+ %
+ % accents.mf
+ % alpha.mf
+ % beta.mf
+ % capitals.mf
+ % charmap.mf
+ % delta.mf
+ % epsilon.mf
+ % eta.mf
+ % gamma.mf
+ % iota.mf
+ % kappa.mf
+ % khi.mf
+ % lambda.mf
+ % lfb.mf
+ % lfb5.mf
+ % lfb6.mf
+ % lfb7.mf
+ % lfb8.mf
+ % lfb9.mf
+ % lfb10.mf
+ % lfb11.mf
+ % lfb12.mf
+ % lfbb5.mf
+ % lfbb6.mf
+ % lfbb7.mf
+ % lfbb8.mf
+ % lfbb9.mf
+ % lfbb10.mf
+ % lfbb11.mf
+ % lfbb12.mf
+ % ligature.mf
+ % mu.mf
+ % nu.mf
+ % omega.mf
+ % omikron.mf
+ % others.mf
+ % phi.mf
+ % pi.mf
+ % psi.mf
+ % rho.mf
+ % serifs.mf
+ % sigma.mf
+ % sigmafin.mf
+ % tau.mf
+ % theta.mf
+ % upsilon.mf
+ % xi.mf
+ % zeta.mf
+ %
+ % and the derived files:
+ %
+ % lfb5.tfm
+ % lfb6.tfm
+ % lfb7.tfm
+ % lfb8.tfm
+ % lfb9.tfm
+ % lfb10.tfm
+ % lfb11.tfm
+ % lfb12.tfm
+ % lfbb5.tfm
+ % lfbb6.tfm
+ % lfbb7.tfm
+ % lfbb8.tfm
+ % lfbb9.tfm
+ % lfbb10.tfm
+ % lfbb11.tfm
+ % lfbb12.tfm
+ %
+ % lfb5.600pk
+ % lfb6.600pk
+ % lfb7.600pk
+ % lfb8.600pk
+ % lfb9.600pk
+ % lfb10.600pk
+ % lfb11.600pk
+ % lfb12.600pk
+ % lfbb5.600pk
+ % lfbb6.600pk
+ % lfbb7.600pk
+ % lfbb8.600pk
+ % lfbb9.600pk
+ % lfbb10.600pk
+ % lfbb11.600pk
+ % lfbb12.600pk
+ %
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ z1=(1/2[x2,x12], ascender);
+ z2=(width-xthick-.5thick, 0);
+ z12=(xthick+.5thin, 0);
+ singlestem(4,5,6,7,8)(z1, z2, 90-angle(z1-z2), thick, slab, xthick);
+ z11=z4l+.5thin*dir(angle(z1-z12)-90); % cheap hack, but close enough
+ singlestem(14,15,16,17,18)(z11, z12, 90-angle(z11-z12), thin, slab, xthick);
+
+ penpos21(thin, angle(z11-z12));
+ penpos22(thin, angle(z1-z2));
+ y21=y22;
+ z21=whatever[z11,z12];
+ z22=4/7[z1,z2];
+ penstroke z21e..z22e;
+enddef;
+
+beginchar(Alpha, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,11,12,21,22);
+endchar;
+
+
+width#:=9u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((xthick+.5thick,ascender),
+ (xthick+.5thick,0), 0, 0, thick, slab, xthick);
+ penpos11(slab, 90);
+ penpos12(slab, 90);
+ penpos13(thick, 0);
+ penpos14(slab, -90);
+ penpos15(slab, -90);
+ penpos16(thick, 180);
+ penpos17(slab, 90);
+ penpos18(slab, 90);
+ x11=x15=x18=x1;
+ x12=x14=x17=5u;
+ y11r=y12r=ascender;
+ y14=y15=.55ascender;
+ y17l=y18l=0;
+ x13r=width-.5u;
+ x16l=width;
+ y13=1/2[y11,y15];
+ y16=1/2[y15,y18];
+ penstroke z11e..z12e{right}..z13e..{left}z14e..z15e;
+ penstroke z15e..z14e{right}..z16e..{left}z17e..z18e;
+enddef;
+
+beginchar(Beta, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18);
+endchar;
+
+
+width#:=9u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((xthick+.5thick,ascender),
+ (xthick+.5thick,0), 0, 0, thick, slab, xthick);
+
+ barrightserif(11,12,13,14)
+ ((x1,ascender),(width,ascender),slab,thin,2u,small);
+enddef;
+
+beginchar(Gamma, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,11,12,13,14);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ z1=(1/2[x2,x12], ascender);
+ z2=(width-.5thick, 0);
+ z12=(.5thin, 0);
+ z11=z1l+.5thin*dir(angle(z1-z12)-90); % cheap hack, but close enough
+ % penpos's come last because angle needs a known pair at all times
+ penpos1(thick, angle(z1-z2)-90);
+ penpos2(thick, 0);
+ penpos11(thin, angle(z11-z12)-90);
+ penpos12(thin, 0);
+ penstroke z1e..z2e;
+ penstroke z11e..z12e;
+
+ penpos21(slab, angle(z11l-z12l));
+ penpos22(slab, angle(z1l-z2l));
+ z21l=(0,0); z22l=(width,0);
+ penstroke z21e..z22e;
+enddef;
+
+beginchar(Delta, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,11,12,21,22);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((xthick+.5thick,ascender),
+ (xthick+.5thick,0), 0, 0, thick, slab, xthick);
+
+ barrightserif(11,12,13,14)
+ ((x1,ascender),(width-.5u,ascender),slab,thin,2u,small);
+ fill z11r--z13r--(z13r+(0,-slab))--(z11r+(0,-slab))--cycle;
+ barleftserif(15,16,17,18)
+ ((x1,0),(width,0),slab,thin,2.5u,small);
+ fill z15r--z17r--(z17r+(0,slab))--(z15r+(0,slab))--cycle;
+
+ numeric centreheight;
+ centreheight=.52ascender;
+ singlestem(19,20,21,22,23)
+ ((x1,centreheight),(width-2.5u,centreheight), 0, thin, slab, xthick);
+enddef;
+
+beginchar(Epsilon, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,19,20,21,22,23);
+endchar;
+
+
+width#:=9u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ numeric topinset;
+ topinset=tiny;
+ barleftserif(1,2,3,4)
+ ((width-topinset,ascender),(topinset,ascender),slab,thin,2u,small);
+ barleftserif(5,6,7,8)
+ ((0,0),(width,0),slab,thin,2.5u,small);
+
+ z9r=z1l+(0,1);
+ z10l=z5l+(0,-1);
+ penpos9(thick/sind(angle(z9r-z10l)), 0); % close enough, again
+ penpos10(thick/sind(angle(z9r-z10l)), 0);
+ penstroke z9e..z10e;
+enddef;
+
+beginchar(Zeta, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+
+width#:=4xthick#+4thick#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((xthick+.5thick,ascender),
+ (xthick+.5thick,0), 0, 0, thick, slab, xthick);
+ stem(11,12,13,14,15,16,17,18)((width-xthick-.5thick,ascender),
+ (width-xthick-.5thick,0), 0, 0, thick, slab, xthick);
+ penpos20(thin, 90);
+ penpos21(thin, 90);
+ z20=whatever[z1,z2];
+ z21=whatever[z11,z12];
+ y20=y21=1/2ascender;
+ penstroke z20e..z21e;
+enddef;
+
+beginchar(Eta, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ penpos1(thick, 0);
+ penpos2(thin, 90);
+ penpos3(thick, 180);
+ penpos4(thin, -90);
+ y1=y3=ascender/2;
+ x2=x4=width/2;
+ x1l=0; x3l=width;
+ y2l=0; y4l=ascender;
+ penstroke z1e..z2e..z3e..z4e..cycle;
+
+ stem(5,6,7,8,9,10,11,12)((3u,1/2ascender),(width-3u,1/2ascender),
+ 0, 0, thick, slab, xthick);
+enddef;
+
+beginchar(Theta, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+
+width#:=2xthick#+1thick#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((1/2width,ascender),(1/2width,0),
+ 0, 0, thick, slab, xthick);
+enddef;
+
+beginchar(Iota, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+
+width#:=12u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((xthick+.5thick,ascender),
+ (xthick+.5thick,0), 0, 0, thick, slab, xthick);
+
+ z9=3/7[z8,z5];
+ z10=(width-thin-xthick-.5thin, ascender);
+ singlestem(11,12,13,14,15)(z9, z10, 90-angle(z10-z9), thin, slab, xthick);
+
+ z19=whatever[z9,z10];
+ z19=z20+whatever*(dir(angle(z10-z9)+90));
+ z20=(width-xthick-.5thick, 0);
+ singlestem(21,22,23,24,25)(z19, z20, 90-angle(z19-z20), thick, slab, xthick);
+enddef;
+
+beginchar(Kappa, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,21,22,23,24,25);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ z1=(1/2[x2,x12], ascender);
+ z2=(width-xthick-.5thick, 0);
+ z12=(xthick+.5thin, 0);
+ singlestem(4,5,6,7,8)(z1, z2, 90-angle(z1-z2), thick, slab, xthick);
+ z11=z4l+.5thin*dir(angle(z1-z12)-90); % cheap hack, but close enough
+ singlestem(14,15,16,17,18)(z11, z12, 90-angle(z11-z12), thin, slab, xthick);
+enddef;
+
+beginchar(Lambda, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,11,12);
+endchar;
+
+
+width#:=4xthick#+5thick#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ oneandlefthalfstem(1,2,3,4,5,6,7,8)((xthick+.5thin,ascender),
+ (xthick+.5thin,0), 0, 0, thin, slab, xthick);
+ oneandrighthalfstem(11,12,13,14,15,16,17,18)((width-xthick-.5thick,ascender),
+ (width-xthick-.5thick,0), 0, 0, thick, slab, xthick);
+
+ z20l=z4r-(thin,0);
+ z21l=1/2[z7l,z16l]+(0,thin);
+ numeric topwidth;
+ topwidth*cosd(angle(z20l-z21l)-90)=thick; % close enough
+
+ z22l=z13r;
+ z23l=z21l;
+ numeric topwidthright;
+ topwidthright*cosd(angle(z22l-z23l)-90)=thin; % again, close enough
+ penpos22(topwidthright, 0);
+ penpos23(topwidthright, 0);
+ penstroke z22e..z23e;
+
+ penpos20(topwidth, 0);
+ penpos21(whatever, angle(z22r-z23l));
+ z20r-z21r=whatever*(z20l-z21l);
+ penstroke z20e..z21e;
+enddef;
+
+beginchar(Mu, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23);
+endchar;
+
+
+width#:=4xthick#+4thick#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ oneandlefthalfstem(1,2,3,4,5,6,7,8)((xthick+.5thin,ascender),
+ (xthick+.5thin,0), 0, 0, thin, slab, xthick);
+ singlestem(11,12,13,14,15)((width-xthick-.5thin,0),
+ (width-xthick-.5thin,ascender), 0, thin, slab, xthick);
+ z20=z4r;
+ z21l=z11r;
+ numeric topwidth;
+ topwidth*cosd(angle(z20-z21l)-90)=thick; % again, close enough
+ penpos20(topwidth, 0);
+ penpos21(whatever, 90);
+ z20r-z21r=whatever*(z20l-z21l);
+ penstroke z20e..z21e;
+enddef;
+
+beginchar(Nu, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,21);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ numeric topinset;
+ topinset=.5u;
+ barleftserif(1,2,3,4)
+ ((.5width,ascender),(topinset,ascender),medthick,thin,1.5u,small);
+ barrightserif(5,6,7,8)
+ ((.5width,ascender),(width-topinset,ascender),medthick,thin,1.5u,small);
+ fill z3r--z7r--(z7r+(0,-medthick-1))--(z3r+(0,-medthick-1))--cycle;
+
+ barleftserif(11,12,13,14)
+ ((.5width,0),(width,0),medthick,thin,2u,small);
+ barrightserif(15,16,17,18)
+ ((.5width,0),(0,0),medthick,thin,2u,small);
+ fill z13r--z17r--(z17r+(0,medthick+1))--(z13r+(0,medthick+1))--cycle;
+
+ stem(21,22,23,24,25,26,27,28)((2u,.52ascender),(width-2u,.52ascender),
+ 0, 0, thick, slab, xthick);
+enddef;
+
+beginchar(Xi, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,21,22,23,24,25,26,27,28);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ penpos1(thick, 0);
+ penpos2(thin, 90);
+ penpos3(thick, 180);
+ penpos4(thin, -90);
+ y1=y3=ascender/2;
+ x2=x4=width/2;
+ x1l=0; x3l=width;
+ y2l=0; y4l=ascender;
+ penstroke z1e..z2e..z3e..z4e..cycle;
+enddef;
+
+beginchar(Omikron, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4);
+endchar;
+
+
+width#:=4xthick#+4thick#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((xthick+.5thick,ascender),
+ (xthick+.5thick,0), 0, 0, thick, slab, xthick);
+ stem(11,12,13,14,15,16,17,18)((width-xthick-.5thick,ascender),
+ (width-xthick-.5thick,0), 0, 0, thick, slab, xthick);
+ penpos20(slab, 90);
+ penpos21(slab, 90);
+ z20r=z3r; z21r=z14r;
+ penstroke z20e..z21e;
+enddef;
+
+beginchar(Pi, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22);
+endchar;
+
+
+width#:=9u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((xthick+.5thick,ascender),
+ (xthick+.5thick,0), 0, 0, thick, slab, xthick);
+ penpos11(slab, 90);
+ penpos12(slab, 90);
+ penpos13(thick, 0);
+ penpos14(slab, -90);
+ penpos15(slab, -90);
+ x11=x15=x1;
+ x12=x14=5u;
+ y11r=y12r=ascender;
+ y14=y15=1/2ascender;
+ x13r=width;
+ y13=1/2[y11,y15];
+ penstroke z11e..z12e{right}..z13e..{left}z14e..z15e;
+enddef;
+
+beginchar(Rho, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ barrightserif(1,2,3,4)
+ ((0,ascender),(width-.5u,ascender),slab,thin,2u,small);
+
+ z9l=z1l;
+ z10=(.5width,.55ascender);
+ penpos9(thick/sind(angle(z9l-z10)-90), 0);
+ penpos10(thick/sind(angle(z9l-z10)-angle(z10)), angle(z10));
+ penstroke z9e..z10e;
+
+ z11l=z10r;
+ z12l=(0,0);
+ penpos11(thin/sind(angle(z9l-z10)-angle(z10)), angle(z9l-z10)-180);
+ penpos12(thin/sind(angle(z10)), 0);
+ penstroke z11e..z12e;
+
+ barleftserif(5,6,7,8)
+ ((x12r+thick*sind(90-angle(z10))/sind(angle(z10)),0),
+ (width,0),thick,thin,2u,small);
+ fill z12l--z5l--z5r--cycle;
+enddef;
+
+beginchar(Sigma, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ stem(1,2,3,4,5,6,7,8)((.5width,ascender),
+ (.5width,0), 0, 0, thick, slab, xthick);
+
+ barrightserif(11,12,13,14)
+ ((x1,ascender),(width,ascender),slab,thin,2u,small);
+ barleftserif(15,16,17,18)
+ ((x1,ascender),(0,ascender),slab,thin,2u,small);
+enddef;
+
+beginchar(Tau, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+
+width#:=8u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ singlestem(1,2,3,4,5)((.5width,.5ascender),
+ (.5width,0), 0, thick, slab, xthick);
+
+ penpos6(medthin, 0);
+ z6l=(0,ascender);
+ penstroke z6e..{down}z1e;
+
+ numeric diameter;
+ diameter=1.5u;
+ penpos7(thin, -90);
+ y9=y7r=ascender-1/2diameter;
+ x7=width-diameter;
+ y8=ascender;
+ x8=x10=width-.5diameter;
+ x9=width;
+ y10=ascender-diameter;
+
+ fill z1{up}..tension 1.3..z7l..z8..z9..z10..z7r & z7r..{down}z1r--cycle;
+enddef;
+
+beginchar(Upsilon, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ penpos1(thick, 0);
+ penpos2(thin, 90);
+ penpos3(thick, 180);
+ penpos4(thin, -90);
+ y1=y3=ascender/2;
+ x2=x4=width/2;
+ x1l=0; x3l=width;
+ y2l=ascender-y4l=2u;
+ penstroke z1e..z2e..z3e..z4e..cycle;
+
+ stem(11,12,13,14,15,16,17,18)((1/2width,ascender),(1/2width,0),
+ 0, 0, thick, slab, xthick);
+enddef;
+
+beginchar(Phi, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,11,12,13,14,15,16,17,18);
+endchar;
+
+
+width#:=4xthick#+4thick#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ z20=(thin+xthick+.5thick,ascender);
+ z21=(width-xthick-.5thick,0);
+ z22=(width-thin-.5thin-xthick,ascender);
+ z23=(.5thin+xthick,0);
+ stem(1,2,3,4,5,6,7,8)(z20, z21,
+ 90-angle(z20-z21), 90-angle(z20-z21), thick, slab, xthick);
+ stem(11,12,13,14,15,16,17,18)(z22, z23,
+ 90-angle(z22-z23), 90-angle(z22-z23), thin, slab, xthick);
+ penpos20(thin, 90);
+ penpos21(thin, 90);
+enddef;
+
+beginchar(Khi, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+
+width#:=10u#;
+extra#:=3letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ penpos1(medium, 225);
+ penpos2(medthin, 90);
+ penpos3(thick, 0);
+ penpos4(thick, 0);
+ penpos5(thin, 90);
+ penpos6(thin, 135);
+ penpos7(thick, 180);
+ penpos8(tiny, 180);
+
+ offset=1/2(ascender-x_height);
+ y2r=x_height-tiny+offset;
+ y1l=y2l-thick;
+ y3=y2l-thin;
+ y4=y3-2u;
+ y5l=0+offset;
+ y7=1/2(y8-offset)+offset;
+ y8=x_height+offset;
+ x1r=0;
+ x2=x1+medium;
+ x4l=x3l=x2+thin;
+ x5=(x3r+width)/2;
+ x7r=width;
+ x8r=x7r-thin;
+
+ fill z1l..tension 1.8..z2l..z3l---z4l..z5l..z7l..z8l
+ --z8r..z7r..z5r..z4r---z3r..z2r..tension 1.5..z1r--cycle;
+
+ stem(11,12,13,14,15,16,17,18)((x5-.1u,ascender),(x5-.1u,0),
+ 0, 0, thick, slab, xthick);
+enddef;
+
+beginchar(Psi, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18);
+endchar;
+
+
+width#:=10u#;
+extra#:=2letterspace#;
+define_pixels(width, extra);
+
+def gen_letter =
+ barleftserif(1,2,3,4)
+ ((.6width,0),(width,0),thick,thin,2u,small);
+ barrightserif(5,6,7,8)
+ ((.4width,0),(0,0),thick,thin,2u,small);
+
+ penpos9(thin, 0);
+ penpos10(thin, 0);
+ penpos11(thin, 0);
+ penpos12(thin, 0);
+ z9=z5r; z11=z1r;
+ z10-z9=z12-z11=(0, 2thick);
+ penstroke z9e..z10e;
+ penstroke z11e..z12e;
+
+ penpos13(thin, 90);
+ penpos14(thick, 0);
+ penpos15(thin, -90);
+ penpos16(thick, 180);
+ penpos17(thin, 90);
+ z13r=z10r; z17r=z12l;
+ z15l=(.5width, ascender);
+ y14=y16=.5[y13l,y15l];
+ x14l=0; x16l=width;
+ penstroke z13e..{up}z14e..z15e..z16e{down}..z17e;
+enddef;
+
+beginchar(Omega, width#+extra#, ascender#, 0);
+gen_letter; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;