summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/nont2/lgberstc.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/nont2/lgberstc.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/nont2/lgberstc.mf1105
1 files changed, 1105 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/nont2/lgberstc.mf b/Master/texmf-dist/fonts/source/lh/nont2/lgberstc.mf
new file mode 100644
index 00000000000..3ab8f5338e7
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/lh/nont2/lgberstc.mf
@@ -0,0 +1,1105 @@
+%
+% lgberstc.mf
+%
+%% Cyrillic font container with T2 encoding beta-support
+%
+% This file is future part of lxfonts package
+% Version 3.4 // Patchlevel=0
+% (c) O.Lapko
+%
+% This package belongs to the public domain under conditions similar to
+% those of D. E. Knuth specified for the Computer Modern family of fonts.
+% In particular, only the authors are entitled to modify this file
+% and to save it under the same name.
+%
+% Content:
+%
+% Lowercase letters used in files beresta(r/e): file #3
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% List of letternames
+%
+% Lflap
+% Lengma
+% Lesh
+% LVphi
+% Lchi
+% LVtheta
+% Ltau
+% Llig_ue
+% Llig_uo
+% Lnb
+% Leth
+% Lenya
+% Lketen
+%%%
+% Cdej
+% Cz_mtI
+% Cz_mtII
+% Cz_mtIII
+% Cz_dsc
+% Cl_mtl
+% Cn_mtl
+% Cn_bartl
+%
+% Cs_mtl
+% Ct_mtl
+% Ct_v
+% Ctch
+% Cchit
+% Cc_tl
+% Csh_lngst
+%
+
+LHver_check(3,4); % like |version_check| in ec
+
+lhchar "Lowercase Special letter Lflap";
+numeric r_flare#; r_flare#=.75[if serifs: stem# else: vair# fi,flare#];
+define_whole_blacker_pixels(r_flare);
+cyrchar(Lflap,if serifs:max(7u#,5.5u#+r_flare#) else:6.5u# fi,x_height#,0);
+italcorr x_height#*slant if not serifs: +.25u# fi;
+adjust_fit(serif_fit#,0);
+pickup fine.nib; top y4r=h+oo;
+if serifs: pos4(vair,90); pos5(hair,0);
+ x4=w-max(1.75u,.25u+r_flare);
+ rt x5r=hround(w-.5u+.5); y5+.5r_flare=.9[bar_height,h]+oo;
+ pos6(r_flare,0); bulb(4,5,6); % bulb
+else: pos4(r_flare,90); rt x4=hround(w-.25u); fi
+pos0'(hround(stem-3stem_corr),180);
+rt x0'l=hround(2.5u-.5stem')+stem'; top y0'=bar_height;
+filldraw stroke z0'e{up}...{right}z4e; % arc
+pickup tiny.nib; pos0(stem',0); pos2(stem',0);
+pos1(hround(stem-3stem_corr),0); top y1=h+min(oo,serif_drop);
+%pos0'(hround(stem-3stem_corr),0);
+y0=y0'; x1l=x0l=x2l;
+lft x1l=hround(2.5u-.5stem'); bot y2=0;
+filldraw stroke z0e--z2e; % stem
+if serifs: dish_serif(2,0,b,1/3,jut,c,1/3,1.25jut); fi % lower serif
+penlabels(1,2,0',4,5,6); endchar;
+
+lhchar "Lowercase Special letter Lengma";
+cyrchar(Lengma,10u#,x_height#,desc_depth#);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+numeric shaved_stem; shaved_stem=hround(stem-2stem_corr);
+pos1'(shaved_stem,0); pos2'(shaved_stem,0); pos3(stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1;
+top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % arch and right stem
+if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); % lower left serif
+% dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif
+x8=x4; bot y8=-1/3d; penpos8(x3r-x3l,0); % stuff added
+pickup tiny.nib; filldraw stroke z4e--z8e; % right stem continuation
+pickup tiny.nib; pos5(vair,-90); pos6(hair,-180); pos7(flare,-180);
+ x5=.5[x8,x6r]; bot y5r=-d-oo; y6-.5flare=-.88d;
+ if monospace: lft x6r=0; else: z6r=z7r; lft x7r= rt x2r; fi
+ (x,y5r)=whatever[z5l,z8l]; x5r:=max(x,.5[x6r,x5]);
+ filldraw stroke z8e{down}...z5e{left}; bulb(5,6,7); fi % arc and bulb
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+lhchar "Lowercase Special letter Lesh";
+numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#);
+cyrchar(Lesh,5.5u#,asc_height#,desc_depth#);
+define_whole_blacker_pixels(dot_diam);
+italcorr h#*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+2stem_shift# if monospace:+\\.5u# fi,
+ serif_fit#-2stem_shift# if monospace:-.5u# fi);
+numeric shaved_stem; shaved_stem=hround(stem-2stem_corr);
+pickup tiny.nib; pos0(stem',0); pos1(shaved_stem,0);
+x0=x1;
+x1=.5w;
+top y0=x_height if serifs: +min(oo,serif_drop) fi;
+bot y1=-1/3d;
+pickup fine.nib; numeric bulb_diam;
+if serifs:
+ pickup tiny.nib; pos5(vair,-90); pos6(hair,-180); pos7(flare,-180);
+ x5=.5[x1,x6r]; bot y5r=-d-oo; y6-.5flare=-.88d;
+ if monospace: lft x6r=0 else: z6r=z7r; rt x7l=floor .75u fi;
+ (x,y5r)=whatever[z5l,z1l]; x5r:=max(x,.5[x6r,x5]);
+ filldraw stroke z1e{down}...z5e{left}; bulb(5,6,7); % lower arc and bulb
+ bulb_diam=hround .8[stem,flare];
+ pos2(bulb_diam,0); y2+.5bulb_diam=.9[x_height,h+oo];
+ if monospace: rt x2r=hround(w-.5u)+1 else: lft x2l=hround(w-.75u+.5) fi;
+else: pickup fine.nib; pos1'(stem',0); z1'=z1;
+ pos6(.2[vair,stem'],-90); pos7(vair,-90);
+ lft x7r=hround -.75u; bot y7r=vround 5/6(-d-oo);
+ (x,y7l)=whatever[z7r,(x1,min(h,asc_height))]; x7l:=x;
+ z5r=z1'r; (x1'l,y5l)=whatever[z7l,z5r]; x5l=x1'l; y5=y5r;
+ x6r=.5[x7r,x5r]; x6l:=.5[x7l,x5l]; bot y6r=-d-oo;
+ filldraw stroke z1'e..{down}z5e & super_arc.e(5,6)
+ & z6e{left}..z7e; % arc and terminal
+ pos2(5/7[vair,flare],90); top y2r=h;
+ rt x2=hround(if monospace:w-.5u else:w+.75u fi); fi
+pickup tiny.nib;
+penpos3(x1r-x1l,0); x3l=x1l; top y3=x_height;
+filldraw stroke z1e--z3e; % stem
+pickup fine.nib; pos3'(x1r-x1l-(hround stem_corr)+tiny,180);
+y3'=y3; lft x3'r=tiny.lft x1l;
+penpos4(x3'l-x3'r,180); x4=x3'; y4+.5vair=.5[x_height,h];
+pos8(vair,90); top y8r=h+oo;
+if serifs: x8=.5[x4,x2r]; (xa,y8r)=whatever[z8l,z4l];
+ x8r:=min(xa,.5[x8,x2r]); pos9(hair,0); bulb(8,9,2); % bulb
+ filldraw stroke z3'e--z4e & super_arc.e(4,8); % arc
+else: x8=.6[x4,x2]; y4l:=1/3[y4l,y8l];
+ filldraw stroke z3'e--z4e & super_arc.e(4,8)
+ & term.e(8,2,right,.9,4); fi % arc and terminal
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+lhchar "Lowercase Special letter LVphi";
+cyrchar(LVphi,11u#,x_height#,desc_depth#);
+italcorr .7x_height#*slant;
+adjust_fit(0,0); pickup fine.nib;
+pos1(hair,-180); x1=x2+.75u; top y1=h;
+pos2(hair,-180); lft x2r=hround .5u; y2=bar_height;
+pos3(vstem,-90); x3=.5(w+u); bot y3r=-oo;
+pos4(hair,0); rt x4r=hround(w-.5u); y4=y2;
+pos5(vstem,90); x5=.52[x6,x4]; top y5r=h+oo;
+pos6(hair,180); x6=x7; y6=1/3h;
+pos7(stem,180); lft x7r=hround(.5w-.5u-.5stem); y7-.5stem=-d-o;
+filldraw circ_stroke z7e---z6e...{right}z5e...{down}z4e...{left}z3e
+ ...{up}z2e...{3(x1-x2),y1-y2}z1e; % bowl and stem
+penlabels(1,2,3,4,5,6,7); endchar;
+
+lhchar "Lowercase Special letter Lchi";
+cyrchar(Lchi,11u#,x_height#,desc_depth#);
+italcorr x_height#*slant+.5hair#-1.5u#;
+adjust_fit(0,0); pickup fine.nib;
+pos1(hair,180); pos2(vair,80); pos5(vair,80); pos6(hair,180);
+x1-.5hair=hround-.5hair; x6=w-x1; x2=w-x5=u;
+y1=y2l-h/8; top y2r=h+oo; bot y5l=-d-oo; y6=y5r+h/8;
+z0=.5[z2,z5]; z2'=z2l+(.5u,0); z5'=z5r-(.5u,0);
+numeric theta; theta=angle(z5'-z2')+90;
+pos3(stem,theta); pos4(stem,theta);
+y3r=y2r-h/8; y4l=y5l+h/8; z3l=whatever[z2',z0]; z4r=whatever[z0,z5'];
+filldraw stroke z1e{up}...z2e{right}...z3e{z4r-z3l}
+ ..z4e{z4r-z3l}...{right}z5e...{up}z6e; % major diagonal and hooks
+x8=w-x7=2u; y7+.5hair=h; y8-.5hair=-d;
+numeric theta; theta=angle(z7-z8)-90;
+pos7(hair,theta); pos8(hair,theta);
+filldraw z7l---z8l..z8r---z7r..cycle; % minor diagonal
+penlabels(0,1,2,2',3,4,5',5,6,7,8); endchar;
+
+lhchar "Lowercase Special letter LVtheta";
+cyrchar(LVtheta,9u#,asc_height#,0);
+italcorr .5[bar_height#,x_height#]*slant+.5vair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+numeric light_curve; light_curve=hround .5[stem,curve];
+x0=0; x2-.5stem=hround(2.5u-.5stem); hook_in(0,1,2); % opening hook
+pos2'(stem,-180); z2'=z2; pos3(stem,-180); pos4(vair,-90);
+pos5(light_curve,0); pos6(vair,90); pos7(hair,180); pos8(vair,270);
+x3=x2; x4=x6=.5[x3,x5]; rt x5r=hround(w-1.5u+.5light_curve);
+lft x7r=hround(3.25u-.5hair); x8+.5vair=hround(w+.5vair-epsilon);
+y3=.4x_height; bot y4r=-oo; y5=.5[y4,y6]; top y6r=h+oo;
+y7=.5[x_height,h]; y8=.5[bar_height,x_height];
+filldraw stroke z2'e..{{interim superness:=hein_super; super_arc.e(3,4)}}
+ & pulled_arc.e(4,5) & pulled_arc.e(5,6)
+ ...{down}z7e...{4(x8-x7),y8-y7}z8e; % bowl and loop
+penlabels(0,a,1,2,3,4,5,6,7,8); endchar;
+
+lhchar "Lowercase Special letter Ltau";
+cyrchar(Ltau,9u#,x_height#,0);
+italcorr x_height#*slant+.5stem#-u#;
+adjust_fit(0,0); pi_stroke; % hook and bar
+pos4(hair,0); pos5(stem,0);
+x4=x5; x5-.5stem=hround(.5w-.5u-.5stem); y4=y2; y5-.5stem=-oo;
+filldraw circ_stroke z5e--z4e; % stem
+penlabels(1,2,3,4,5); endchar;
+
+lhchar "Lowercase Special letter Llig_ue";
+cyrchar(Llig_ue,7.25u#+max(.75u#,.5curve#),x_height#,0);
+italcorr .5[bar_height#,x_height#]*slant+.5min(curve#-1.5u#,0);
+adjust_fit(5.5u#, if monospace:.5u# else: 0 fi);
+numeric left_curve,right_curve;
+left_curve=right_curve+6stem_corr=curve if not serifs: -3stem_corr fi;
+if right_curve<tiny.breadth: right_curve:=tiny.breadth; fi
+if left_curve<tiny.breadth: left_curve:=tiny.breadth; fi
+pickup tiny.nib; pos1(right_curve,0);
+pos2(vair,90); pos3(left_curve,180);
+y1=good.y bar_height; top y2r=h+vround 1.5oo; y0l=bot y1;
+rt x1r=hround min(w-.5u,w-u+.5right_curve);
+lft x3r=hround max(.5u,1.25u-.5left_curve); x2=.5w+.25u;
+{{interim superness:=more_super;
+ filldraw stroke super_arc.e(1,2)}}; % right bowl
+y3=.5[y2,y4]; bot y4r=-oo; x4=x2+.25u;
+if serifs: pos4(vair',270); pos5(hair,360);
+ y5=max(good.y(.5bar_height-.9),y4l+vair); x5r=x1r;
+ (x,y4l)=whatever[z4r,z5]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_arc.e(2,3) & pulled_arc.e(3,4)
+ ...{x5-x4,5(y5-y4)}z5e; % left bowl, arc, and terminal
+else: pos4(vair,270);
+ filldraw stroke super_arc.e(2,3) & super_arc.e(3,4); % left bowl and arc
+ pickup fine.nib; pos4'(vair,270); z4=z4';
+ pos5(.5[vair,flare],275); rt x5r=hround(w-.6u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ filldraw stroke term.e(4',5,right,1,4); fi % terminal
+path testpath; testpath=super_arc.r(2,3) & super_arc.r(3,4);
+y1'r=y0r=y0l+.6[thin_join,vair]; y1'l=y0l; x1'l=x1'r=x1;
+forsuffixes $=l,r:
+ x0$=xpart(((0,y0$)--(x1,y0$)) intersectionpoint testpath); endfor
+fill stroke z0e--z1'e; % crossbar
+%u
+numeric light_vair; light_vair=vair if hefty: -vround 2vair_corr fi;
+if light_vair<fine.breadth: light_vair:=fine.breadth; fi
+pickup tiny.nib; pos10(stem,0); pos20(stem,0);
+lft x10l=l+letter_fit+hround(2.5u-.5stem); x10=x20;
+if serifs: top y10=h+min(oo,serif_drop); else: top y10=h; fi
+penpos20'(stem-fine,-180); z20'=z20; y20=.5bar_height;
+penpos50(max(eps,light_vair-fine),-90); penpos60(thin_join-fine,0);
+y60=2/3bar_height; x.b0=x10+5u-.5stem; lft x60l=tiny.lft x.b0;
+filldraw stroke z10e--z20e; % left stem
+pickup fine.nib; bot y50r=-oo; x50l=x10+2.25u;
+(s,y50r)=whatever[z50l,z60l]; x50r:=max(s,.5[x50,x20'r]);
+path upath.r,upath.l; numeric upoint.r,upoint.l;
+forsuffixes e=l,r: upath.e=z50e{right}...{up}z60e;
+upoint.e=ypart((super_arc.r(3,4)) intersectiontimes upath.e); endfor;
+filldraw stroke {{interim superness:=hein_super;
+ pulled_arc.e(20',50)}} & subpath(0,upoint.e) of upath.e; % arc
+if serifs: sloped_serif.l(10,20,a,1/3,jut,serif_drop); fi % upper left serif
+penlabels(0,1,2,3,4,510,20,20',50,60); endchar;
+
+lhchar "Lowercase Special letter Llig_uo";
+cyrchar(Llig_uo,9u#,x_height#,0);
+italcorr .7x_height#*slant;
+%adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+adjust_fit(5.5u#,if monospace: .5u# else: 0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=h+vround 1.5oo; y3r=-oo;
+y2=y4=.5h-vair_corr; y2l:=y4l:=.52h;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+%u
+numeric light_vair; light_vair=vair if hefty: -vround 2vair_corr fi;
+if light_vair<fine.breadth: light_vair:=fine.breadth; fi
+pickup tiny.nib; pos10(stem,0); pos20(stem,0);
+lft x10l=l+letter_fit+hround(2.5u-.5stem); x10=x20;
+if serifs: top y10=h+min(oo,serif_drop); else: top y10=h; fi
+penpos20'(stem-fine,-180); z20'=z20; y20=.5bar_height;
+penpos50(max(eps,light_vair-fine),-90); penpos60(thin_join-fine,0);
+y60=2/3bar_height; x.b0=x10+5u-.5stem; lft x60l=tiny.lft x.b0;
+filldraw stroke z10e--z20e; % left stem
+pickup fine.nib; bot y50r=-oo; x50l=x10+2.25u;
+(q,y50r)=whatever[z50l,z60l]; x50r:=max(q,.5[x50,x20'r]);
+path upath.r,upath.l; numeric upoint.r,upoint.l;
+forsuffixes e=l,r: upath.e=z50e{right}...{up}z60e;
+upoint.e=ypart((pulled_arc.r(2,3)) intersectiontimes upath.e); endfor;
+filldraw stroke {{interim superness:=hein_super;
+ pulled_arc.e(20',50)}} & subpath(0,upoint.e) of upath.e; % arc
+if serifs: sloped_serif.l(10,20,a,1/3,jut,serif_drop); fi % upper left serif
+penlabels(1,2,3,4,10,20,20',50,60); endchar;
+
+lhchar "Lowercase Special letter Lnb - like italic yat";
+cyrchar(Lnb,13u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); full_w:=w; w:=10u;
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(2.5u-.5stem); top y1=h; bot y2=0;
+filldraw stroke z2e--z1e; % left stem
+pickup fine.nib;
+x4+.5stem=hround(w-2.5u+.5stem); x5=x4; ital_arch(2,3,4); % arch
+y5=.5bar_height; pos5(stem,0);
+filldraw stroke z4e{down}..z5e; % right stem
+w:=full_w;
+x23=x25=.5[x5,x24]; rt x24r=hround(w-u+.5curve);
+bot y23r=-oo; top y25r=1.2bar_height+oo; y24=.5[y23,y25]; %y24=y5;
+z7'=z5; pos7'(stem,-180);
+z20=z5; pos20(hair,180); pos23(vair,-90); pos24(curve,0); pos25(vair,90);
+filldraw stroke pulled_arc.e(7',23) & pulled_arc.e(23,24)
+ & pulled_arc.e(24,25) & super_arc.e(25,20); % bowl
+if serifs: sloped_serif.l(1,2,a,1/3,jut,serif_drop); % upper left serif
+dish_serif(2,1,b,1/3,jut,c,1/3,jut); fi % lower left serif
+endchar;
+
+lhchar "Lowercase Special letter Leth";
+cyrchar(Leth,9u#,asc_height#,0);
+italcorr .7x_height#*slant;
+adjust_fit(if monospace: .5u#,.5u# else: 0,0 fi);
+penpos1(vair,90); penpos3(vair',-90);
+penpos2(curve,180); penpos4(curve,0);
+x2r=hround max(.5u,1.25u-.5curve);
+x4r=w-x2r; x1=x3=.5w; y1r=x_height;
+y3r=-oo;
+y2=y4=.5x_height-vair_corr; y2l:=y4l:=.52x_height;
+penstroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
+ & pulled_arc.e(3,4) & pulled_arc.e(4,1) & cycle; % bowl
+penpos5(hair/(sind 45),45); penpos4'(stem,0);
+x4r=x4'r; y4=y4';
+top y5r=h+oo; x5=x2;
+penstroke pulled_arc.e(4',5);
+penpos6(bar+stem_corr,120); penpos7(bar+stem_corr,120);
+y6=.35[y1,y5]; y7r=h+oo;
+x7r=rt x4; x6l=rt x2l;
+filldraw stroke z6e--z7e;
+penlabels(1,2,3,4,5,6,7); endchar;
+
+lhchar "Lowercase Special letter Lenya";
+cyrchar(Lenya,10.5u#,x_height#,desc_depth#);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0); pos8(stem',0);
+numeric shaved_stem; shaved_stem=hround(stem-2stem_corr);
+pos1'(shaved_stem,0); pos2'(shaved_stem,0); pos3(stem,0);
+lft x1l=hround(3u-.5stem); x1l=x1'l=x2l=x2'l=x8l; x3=w+.5u-x1;
+top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2';
+bot y8=-1/3d;
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(8,a,3,4); % arch and right stem
+if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif
+if serifs:
+ pickup tiny.nib; pos5(vair,-90); pos6(hair,-180); pos7(flare,-180);
+ x5=.5[x8,x6r]; bot y5r=-d-oo; y6-.5flare=-.88d;
+ if monospace: lft x6r=0 else: z6r=z7r; rt x7l=floor .75u fi;
+ (x,y5r)=whatever[z5l,z8l]; x5r:=max(x,.5[x6r,x5]);
+ filldraw stroke z8e{down}...z5e{left}; bulb(5,6,7); % arc and bulb
+else: pickup fine.nib; pos8'(stem',0); z8'=z8;
+ pos6(.2[vair,stem'],-90); pos7(vair,-90);
+ lft x7r=hround -.75u; bot y7r=vround 5/6(-d-oo);
+ (x,y7l)=whatever[z7r,z3]; x7l:=x;
+ z5r=z8'r; (x8'l,y5l)=whatever[z7l,z5r]; x5l=x8'l; y5=y5r;
+ x6r=.5[x7r,x5r]; x6l:=.5[x7l,x5l]; bot y6r=-d-oo;
+ filldraw stroke z8'e..{down}z5e & super_arc.e(5,6)
+ & z6e{left}..z7e; fi % arc and terminal
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+if unknown italic: boolean italic; italic=false; fi
+iff not italic:%
+lhchar "Lowercase Special letter Lketen";
+cyrchar(Lketen,10u#,x_height#,desc_depth#);
+italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#;
+adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#);
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+numeric shaved_stem; shaved_stem=hround(stem-2stem_corr);
+pos1'(shaved_stem,0); pos2'(shaved_stem,0); pos3(stem,0);
+lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; x3=w-x1;
+top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2';
+filldraw stroke z1'e--z2'e; % left stem
+h_stroke(2,a,3,4); % arch and right stem
+if serifs: sloped_serif.l(1',2',b,1/3,jut,serif_drop); % upper left serif
+ numeric inner_jut; pickup tiny.nib;
+ if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut;
+ else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi
+ dish_serif(2,1,c,1/3,jut,d,1/3,jut); fi % lower left serif
+% dish_serif(4,3,e,1/3,inner_jut,f,1/3,jut); fi % lower right serif
+% stuff added
+z4'=z4; x8=x4; bot y8=-1/3d;
+penpos8(rt x4r-lft x4l,0); penpos4'(rt x4r-lft x4l,0);
+pickup tiny.nib; fill stroke z4'e--z8e; % right stem continuation
+ penpos5(vair,-90); penpos6(.7[hair,stem],-180);
+ penpos7(.7[thin_join,vair],-270);
+ x5=.5[x8,x6r]; y5r=-d-oo; y6=-2/3d;
+ x6=hround (x8-min(2.65u,2u+.65stem)); z7=(x4'l,-.5vair);
+ fill stroke pulled_arc.e(8,5)
+ ...z6e{up}...{right}z7e; % arc and bulb
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+iff italic:%
+lhchar "Italic Special letter Lketen";
+cyrchar(Lketen,10u#,x_height#,desc_depth#);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib;
+x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
+hook_in(0,a,1); % opening hook
+filldraw circ_stroke z2e--z1e; % left stem
+x4+.5stem=hround(w-2.5u+.5stem); ital_arch(2,3,4); % arch
+% stuff added
+z4'=z4; x8=x4; bot y8=-1/3d;
+penpos8(rt x4r-lft x4l,0); penpos4'(rt x4r-lft x4l,0);
+pickup tiny.nib; fill stroke z4'e--z8e; % right stem continuation
+ penpos5(vair,-90); penpos6(.7[hair,stem],-180);
+ penpos7(.7[thin_join,vair],-270);
+ x5=.5[x8,x6r]; y5r=-d-oo; y6=-2/3d;
+ x6=hround (x8-min(2.65u,2u+.65stem)); z7=(x4'l,-.5vair);
+ fill stroke pulled_arc.e(8,5)
+ ...z6e{up}...{right}z7e; % arc and bulb
+penlabels(0,a,1,2,3,4,5,6,7); endchar;
+
+lhchar "Lowercase Special letter Cdej";
+cyrchar(Cdej,10u# if not serifs:+.5width_adj# fi % d_width;n_width
+ ,x_height#,sbeak#);
+italcorr x_height#*slant-serif_fit#+jut#-2u#+.5stem#; %d->x_height+jut
+adjust_fit(serif_fit#
+ if not serifs:+\\.5(stem#-u#),.5(stem#-u#)+ else:,fi\\ serif_fit#); %dl_adj
+% lower_d;
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+rt x1r=rt x2r=w-hround (2.5u-.5fudged.stem-eps); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; %stem
+numeric light_hair,light_stem,outer_jut;
+light_hair=if hefty:.5[vair,fudged.hair] else: fudged.hair fi;
+light_stem=max(tiny.breadth+eps,min(fudged.stem,fudged.hair if hefty:-4stem_corr fi));
+outer_jut=
+ if serifs: max(limit_dist,1.1jut) else: hround (r-rt x2r-.5u) fi;
+penpos3(light_hair,0); penpos0(light_hair,0); x0=x3-eps; y0=0; y3=h;
+x3=1/3[w-rt x1r-1/8(outer_jut if not serifs:-.5(stem-u) fi),rt x1r]
+ if not serifs: -.5(stem-u) fi +eps;
+x4l=w-rt x1r-1/3outer_jut-eps; y4l=vair;
+x2'=x2; y2'=if serifs: 1/2 else: 2/3 fi h;
+penpos4(light_hair,angle((y2',-x2')-(y4l,-x4l))); if y4r<0: y4r:=0; fi
+fill z4l{z2'-z4}...{up}diag_end(0l,3l,1,1,3r,0){down}
+ ...{z4-z2'}z4r--cycle; %left stem
+numeric inner_jut; inner_jut=min(.5(lft x1l-x3r)-eps,.5jut);
+save slab; % lower.slab
+if serifs:
+ prime_points_inside(3,0);
+ slab:=Vround(vair-vair_corr); % lower.slab
+ nodish_serif(3',0,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ nodish_serif(1,2,c,1/3,inner_jut,d,1/3,jut); % upper right serif
+ filldraw z.b0--z.b1--z.c1--z.c0--cycle; % upper inter_serif bar
+else:
+ pos3'(vair,90); pos1'(vair,90);
+ lft x3'=x3l; top y3'r=top y1'r=h; rt x1'=x1;
+ filldraw stroke z3'e--z1'e; fi % upper bar
+% lower descenders
+slab:=vair; % lower.slab
+%r_serif(2,1,e,1/3,inner_jut,f,1/3,beak_darkness,outer_jut,.6beak_jut); % right descender
+%!!!
+numeric light_stem;
+light_stem=hround (max(tiny.breadth,fudged.hair if hefty:-4stem_corr fi));
+top y.f1-slab-eps=bot y.f4+eps=tiny.bot y2;
+rt x.f1=hround (tiny.rt x2r+jut)+eps;
+rt x.f2=lft x.f3+light_stem+eps=hround (rt x.f1+.6beak_jut)+eps;
+x.f4=x2-.5(fudged.stem-3stem_corr-tiny)-eps;
+%!!!
+% lower de_serif
+y5=y.f1; y0'=y.f4; x5=good.x(w-x.f1); y6=y7=y.f3;
+x6=good.x(w-x.f2); x7=good.x(w-x.f3);
+pair beak_corner; ypart beak_corner=y0'; beak_corner=z7+whatever*(z5-z6);
+x8=good.x(w-x.f4); x0'=w-x.e1; y8=y0';
+filldraw z5--z6--z7{z5-z6}...beak_darkness[beak_corner,.5[z7,z8]]
+ ...{right}z8---z0'--(x0',y5)--cycle; % de_serif
+filldraw z.e1--z.e0--z0'--(x0',y5)--cycle; % lower inter_serif bar
+if serifs:
+ numeric bracket_height;
+ bracket_height=min(y2+bracket,y1);
+ if bracket_height>y4l:
+ path p.r,p.l; y5:=top y5;
+ p.r=(z4r{z2'-z4}...{up}z3r); p.l=(z4l{z2'-z4}...{up}z3l);
+ forsuffixes e=l,r:
+ z9e=((0,bracket_height)--(w,bracket_height)) intersectionpoint p.e;
+ endfor
+ vardef t (suffix @) =
+ angle direction directiontime z9@ of p.@ of p.@ enddef;
+ fill z9l{dir (t(l)+180)}...1/3[(x4l,y5),.5[z9l,z5]]{z5-z9l}
+ ...{left}z5--(x5,y0')--z0'--(x0',y5)
+ --(x8-1/6outer_jut-eps,y5){left}
+ ...{dir t(r)}z9r--cycle; % top part of de_serif
+ fi
+fi
+%%%%%
+slab:=vair; % lower.slab
+nodish_serif(2,1,g,1/3,inner_jut,h,1/3,jut); % lower right serif
+d:=desc_depth;
+% l_tail(17);
+_zero:=17; rt x17r=rt x2r+jut; y17=y2; pos17(fudged.stem-2stem_corr,0);
+_one:=11; _two:=12; _three:=13; _four:=14; _five:=15;
+%
+pickup fine.nib;
+pos[_five](tiny.rt x[_zero]r-tiny.lft x[_zero]l,0);
+pos[_one](tiny.rt x[_zero]r-tiny.lft x[_zero]l,0);
+z[_five]=z[_zero]; x[_one]r=x[_five]r;
+bot y[_one]=max(-1/3d,-d+vair'+eps);
+if serifs:
+ numeric bulb_diam;
+ bulb_diam=max(currentbreadth+eps,min(.82d-1-eps,hround 7/8[hair,flare]));
+ pos[_two](vair',-90); pos[_three](hair,-180);
+ pos[_four](bulb_diam,-180);
+ x[_two]=.5[x[_one],x[_three]r];
+ bot y[_two]r=-d-oo; y[_three]-.5bulb_diam=-.85d;
+ z[_three]r=z[_four]r;
+ rt x[_four]l=max(x[_zero]l-bulb_diam,
+ floor x[_zero]-2.5u if monospace: / expansion_factor fi);
+ (x,y[_two]r)=whatever[z[_two]l,z[_one]l];
+ x[_two]r:=max(x,.5[x[_three]r,x[_two]]);
+ filldraw stroke z[_five]e--pulled_arc.e([_one],[_two]);
+ bulb([_two],[_three],[_four]); % bulb
+else:
+ pos[_two](vair',-90); pos[_three](.6[vair',flare],-105);
+ rt x[_three]r=x[_zero]-3u; bot y[_three]r=-d;
+ bot y[_two]r=-d-oo; x[_two]=.4[x[_three]r,x[_zero]r];
+ filldraw stroke z[_five]e--super_arc.e([_one],[_two])
+ & term.e([_two],[_three],left,.8,4); fi
+%%%
+penlabels(0',1',1,2,3,4,5,6,9,10, 11,12,13,14,15,17); endchar;
+
+lhchar "Lowercase Special letter Cz_mtI";
+cyrchar(Cz_mtI,8u#,x_height#,0);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#); %p
+adjust_fit(if monospace: .5u# else:.1u# fi,max(2u#,1.5u#+.5stem#));
+numeric right_curve; if serifs: right_curve=curve-stem_corr;
+ else: right_curve=curve-3stem_corr; fi
+penpos2(vair,90); penpos3(right_curve-stem_corr,0);
+penpos7(right_curve,0); penpos8(vair',-90);
+y2r=h+oo; x2=x6l=x6r=x8=.5[u,x7]; x7r=hround(w-.6u);
+x3r=min(rt x7r-1,hround(w-u)); y3=.5[y4l,y2l]+eps; y8r=-oo;
+set_bar_axis; y4l=y5r=y6r=y2.bh; y6l=y5l=y4r=y1.bh; y5=y6=y0.bh;
+if serifs: lft x1r=lft x9r=hround.5u;
+ y1=min(bar_height+2vair'+2,.9[bar_height,h]-flare);
+ y9=max(good.y(.5bar_height-.9),y8l+vair'); pos1(hair,180); pos9(hair,-180);
+else: lft x1r=hround.6u; lft x9r=hround.5u;
+ pos1(min(right_curve,1.2flare)-.2tiny,175); %hair
+ pos9(right_curve-stem_corr-.2tiny,-175); %hair
+ y1l=max(.76h,top y5r+eps); y9r=min(.25h,bot y5l-eps); fi
+lft x5l=lft x5r=min(max(hround 2.2u,rt x1l+.5vair)+eps,lft x6l-fine);
+y7=.5[y6l,y8l]; x4l=x4r=1/3[x5l,x3l];
+fill stroke super_arc.e(2,3) & super_arc.e(3,4); % upper bowl
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8); % lower bowl
+pickup fine.nib;
+fill z5r..
+ if bot y5r>top y5l:(lft x5r,bot y5r)--(lft x5l,top y5l) else: (lft x5r,y5) fi
+ ..z5l--cycle; % bar
+pos2'(vair,90); z2'=z2; pos8'(vair',-90); z8'=z8;
+filldraw stroke z1e{x2-x1,15(y2-y1)}....{right}z2'e; % tension atleast .95 upper bowl
+if serifs: path upper_arc;
+upper_arc=z1{x2-x1,15(y2-y1)}....{right}z2; % tension atleast .95
+ pos20(.3[fine.breadth,hair],0); x20l=x1r; top y20=h+oo;
+ x1'-x1l=2curve; y1'=y1;
+ numeric t; t=xpart(upper_arc intersectiontimes (z20r--z1'));
+ filldraw z1r--z20l--z20r--subpath(t,0) of upper_arc--cycle; fi % upper serif
+% misc tail
+bar_stroke(x6l,hround (r-1/3u));
+penpos13(vair,90); penpos14(hair,180); penpos15(vair,90);
+x15=x7r; y15=y13; z14=.5[z15,z11r]; z13l=z8r;
+fill stroke z13e{right}...z15e{right}...z14e{up}...{right}z11e;
+penlabels(0,1,2,3,4,5,6,7,8,9,10,13,14,15,20); endchar;
+
+lhchar "Lowercase Special letter Cz_mtII";
+cyrchar(Cz_mtII,8u#,x_height#,0);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#); %p
+adjust_fit(if monospace: .5u# else:.1u# fi,max(1.5u#,u#+.5stem#));
+numeric right_curve; if serifs: right_curve=curve-stem_corr;
+ else: right_curve=curve-3stem_corr; fi
+penpos2(vair,90); penpos3(right_curve-stem_corr,0);
+penpos7(right_curve,0); penpos8(vair',-90);
+y2r=h+oo; x2=x6l=x6r=x8=.5[u,x7]; x7r=hround(w-.6u);
+x3r=min(rt x7r-1,hround(w-u)); y3=.5[y4l,y2l]+eps; y8r=-oo;
+set_bar_axis; y4l=y5r=y6r=y2.bh; y6l=y5l=y4r=y1.bh; y5=y6=y0.bh;
+if serifs: lft x1r=lft x9r=hround.5u;
+ y1=min(bar_height+2vair'+2,.9[bar_height,h]-flare);
+ y9=max(good.y(.5bar_height-.9),y8l+vair'); pos1(hair,180); pos9(hair,-180);
+else: lft x1r=hround.6u; lft x9r=hround.5u;
+ pos1(min(right_curve,1.2flare)-.2tiny,175); %hair
+ pos9(right_curve-stem_corr-.2tiny,-175); %hair
+ y1l=max(.76h,top y5r+eps); y9r=min(.25h,bot y5l-eps); fi
+lft x5l=lft x5r=min(max(hround 2.2u,rt x1l+.5vair)+eps,lft x6l-fine);
+y7=.5[y6l,y8l]; x4l=x4r=1/3[x5l,x3l];
+fill stroke super_arc.e(2,3) & super_arc.e(3,4); % upper bowl
+fill stroke z5e..super_arc.e(6,7); % & super_arc.e(7,8); % lower bowl
+pickup fine.nib;
+z7'=z7; x8''=x7'; bot y8''=0; pos7'(right_curve,0); pos8''(right_curve,0);
+filldraw stroke z7'e--z8''e; % stem
+fill z5r..
+ if bot y5r>top y5l:(lft x5r,bot y5r)--(lft x5l,top y5l) else: (lft x5r,y5) fi
+ ..z5l--cycle; % bar
+pos2'(vair,90); z2'=z2; pos8'(vair',-90); z8'=z8;
+filldraw stroke z1e{x2-x1,15(y2-y1)}....{right}z2'e; % tension atleast .95 upper bowl
+if serifs: path upper_arc;
+upper_arc=z1{x2-x1,15(y2-y1)}....{right}z2; % tension atleast .95
+ pos20(.3[fine.breadth,hair],0); x20l=x1r; top y20=h+oo;
+ x1'-x1l=2curve; y1'=y1;
+ numeric t; t=xpart(upper_arc intersectiontimes (z20r--z1'));
+ filldraw z1r--z20l--z20r--subpath(t,0) of upper_arc--cycle; fi % upper serif
+% misc_tail
+bar_stroke(x6r,hround (r-1/3u));
+penpos13(vair,90); penpos14(hair,180);
+x13r=x8''r; y13l=0; z14=.5[z13,z11r];
+fill stroke z13e{right}...z14e{up}...{right}z11e;
+penlabels(0,1,2,3,4,5,6,7,8,9,10,20); endchar;
+
+lhchar "Lowercase Special letter Cz_mtIII";
+cyrchar(Cz_mtIII,8u#,x_height#,desc_depth#);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#); %p
+adjust_fit(if monospace: .5u#,.4u# else:.1u#,if serifs:0 else:-.2u# fi fi);
+numeric right_curve; if serifs: right_curve=curve-stem_corr;
+ else: right_curve=curve-3stem_corr; fi
+penpos2(vair,90); penpos3(right_curve-stem_corr,0);
+penpos7(right_curve,0); penpos8(vair',-90);
+y2r=h+oo; x2=x6l=x6r=x8=.5[u,x7]; x7r=hround(w-.6u);
+x3r=min(rt x7r-1,hround(w-u)); y3=.5[y4l,y2l]+eps; y8r=-oo;
+set_bar_axis; y4l=y5r=y6r=y2.bh; y6l=y5l=y4r=y1.bh; y5=y6=y0.bh;
+if serifs: lft x1r=lft x9r=hround.5u;
+ y1=min(bar_height+2vair'+2,.9[bar_height,h]-flare);
+ y9=max(good.y(.5bar_height-.9),y8l+vair'); pos1(hair,180); pos9(hair,-180);
+else: lft x1r=hround.6u; lft x9r=hround.5u;
+ pos1(min(right_curve,1.2flare)-.2tiny,175); %hair
+ pos9(right_curve-stem_corr-.2tiny,-175); %hair
+ y1l=max(.76h,top y5r+eps); y9r=min(.25h,bot y5l-eps); fi
+lft x5l=lft x5r=min(max(hround 2.2u,rt x1l+.5vair)+eps,lft x6l-fine);
+y7=.5[y6l,y8l]; x4l=x4r=1/3[x5l,x3l];
+fill stroke super_arc.e(2,3) & super_arc.e(3,4); % upper bowl
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8); % lower bowl
+pickup fine.nib;
+fill z5r..
+ if bot y5r>top y5l:(lft x5r,bot y5r)--(lft x5l,top y5l) else: (lft x5r,y5) fi
+ ..z5l--cycle; % bar
+pos2'(vair,90); z2'=z2; pos8'(vair',-90); z8'=z8;
+filldraw stroke z1e{x2-x1,15(y2-y1)}....{right}z2'e; % tension atleast .95 upper bowl
+if serifs: path upper_arc;
+upper_arc=z1{x2-x1,15(y2-y1)}....{right}z2; % tension atleast .95
+ pos20(.3[fine.breadth,hair],0); x20l=x1r; top y20=h+oo;
+ x1'-x1l=2curve; y1'=y1;
+ numeric t; t=xpart(upper_arc intersectiontimes (z20r--z1'));
+ filldraw z1r--z20l--z20r--subpath(t,0) of upper_arc--cycle; fi % upper serif
+%
+penpos18(hair,0); penpos28(hair,90); penpos38(hair,90);
+x28=x8; x38=fine.lft x7r; y28=y38=-1/3d; y18=.5[y8r,y28r]; x18r=x8-.5(y8r-y28r);
+fill stroke z8e{left}...z18e{down}...{right}z28e--z38e;
+filldraw (x38,y38)--(x38,-d)--(.67[x28,x38],y28)--cycle;
+penlabels(0,1,2,3,4,5,6,7,8,9,10,20); endchar;
+
+lhchar "Lowercase Special letter Cz_dsc";
+cyrchar(Cz_dsc,8u#,x_height#,0);
+italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#); %p
+adjust_fit(if monospace: .5u#,.4u# else:.1u#,if serifs:0 else:-.2u# fi fi);
+numeric right_curve;
+if serifs: right_curve=curve-stem_corr;
+ else: right_curve=curve-3stem_corr; fi
+penpos2(vair,90); penpos3(right_curve-stem_corr,0);
+penpos7(right_curve,0); penpos8(vair',-90);
+y2r=h+oo; x2=x6l=x6r=x8=.5[u,x7]; x7r=hround(w-.6u);
+x3r=min(rt x7r-1,hround(w-u)); y3=.5[y4l,y2l]+eps; y8r=-oo;
+set_bar_axis; y4l=y5r=y6r=y2.bh; y6l=y5l=y4r=y1.bh; y5=y6=y0.bh;
+if serifs: lft x1r=lft x9r=hround.5u;
+ y1=min(bar_height+2vair'+2,.9[bar_height,h]-flare);
+ y9=max(good.y(.5bar_height-.9),y8l+vair'); pos1(hair,180); pos9(hair,-180);
+else: lft x1r=hround.6u; lft x9r=hround.5u;
+ pos1(min(right_curve,1.2flare)-.2tiny,175); %hair
+ pos9(right_curve-stem_corr-.2tiny,-175); %hair
+ y1l=max(.76h,top y5r+eps); y9r=min(.25h,bot y5l-eps); fi
+lft x5l=lft x5r=min(max(hround 2.2u,rt x1l+.5vair)+eps,lft x6l-fine);
+y7=.5[y6l,y8l]; x4l=x4r=1/3[x5l,x3l];
+fill stroke super_arc.e(2,3) & super_arc.e(3,4); % upper bowl
+fill stroke z5e..super_arc.e(6,7) & super_arc.e(7,8); % lower bowl
+pickup fine.nib;
+fill z5r{left}
+ if bot y5r>top y5l:..(lft x5r,bot y5r)--(lft x5l,top y5l).. else: ... fi
+ {right}z5l--cycle; % bar
+pos2'(vair,90); z2'=z2; pos8'(vair',-90); z8'=z8;
+filldraw stroke z1e{x2-x1,15(y2-y1)}....{right}z2'e; % tension atleast .95 upper bowl
+{{interim superness:=1.05superness;
+filldraw stroke if serifs: super_arc.e(8',9) else:
+z8'e{left}.. tension atleast .95 ..{x9-x8,15(y9-y8)}z9e fi}}; % lower bowl
+if serifs: path upper_arc;
+upper_arc=z1{x2-x1,15(y2-y1)}....{right}z2; % tension atleast .95
+ pos20(.3[fine.breadth,hair],0); x20l=x1r; top y20=h+oo;
+ x1'-x1l=2curve; y1'=y1;
+ numeric t; t=xpart(upper_arc intersectiontimes (z20r--z1'));
+ filldraw z1r--z20l--z20r--subpath(t,0) of upper_arc--cycle; fi % upper serif
+%
+penpos14'(slab,0); x14'l=fine.lft x9r; y14'=-d;
+path lower_arc;
+lower_arc=if serifs: {{interim superness:=1.05superness;
+ super_arc.r(8',9)}} else:
+ z8'r{left}.. tension atleast .95 ..{x9-x8,15(y9-y8)}z9r fi;
+fill (fine.lft x9r,y9r)---z14'l...z14'r---subpath(.67,1) of lower_arc--cycle;
+penlabels(0,1,2,3,4,5,6,7,8,9,10,20); endchar;
+
+lhchar "Lowercase Special letter Cl_mtl";
+cyrchar(Cl_mtl,10u# % if not serifs:+.5width_adj# fi % dl_width;n_width
+ ,x_height#,0);
+italcorr x_height#*slant-serif_fit#+jut#-2u#+.5stem#; %d->x_height+jut
+adjust_fit(serif_fit# if not serifs:+.5(stem#-u#) fi, %dl_adj
+ max(u#,.5u#+.5stem#)); %
+% lower_l;
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+rt x1r=rt x2r=w-hround (2.5u-.5fudged.stem-eps); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; %stem
+numeric light_hair,bot_vair,bulb_diam,left_jut;
+light_hair=if hefty:.5[vair,fudged.hair] else: fudged.hair fi;
+bot_vair=Vround(.5[vair,light_hair]);
+bulb_diam=hround 7/8[hair,flare];
+left_jut=
+ if serifs: max(limit_dist,1.1jut) else: hround (w+serif_fit-rt x2r-.5u) fi;
+x3=1/3[w-rt x1r-(1/8left_jut),rt x1r] if not serifs: -.5(stem-u) fi +eps;
+if serifs:
+ pos3(light_hair,0); pos4(light_hair,-90);
+ pos6(bulb_diam,-180); pos5(hair,-180);
+ top y3=h; y6-.5bulb_diam=.12desc_depth-eps; z6r=z5r;
+ lft x6r=l+letter_fit+hround(.35u-.5);
+ x4=max(lft x5r+.5bulb_diam,.4[lft x5r,rt x3r]);
+ bot y4r=-1.5oo-eps; {{less_tense; bulb(4,5,6)}}; %bulb
+ filldraw stroke z4e{right}
+ ..controls (min(15/16[x4,x3],max(x4,lft x6r+1.75bulb_diam))+(x3e-x3),y4e)
+ and (x3e,max(y4l,min(y6-.5,1/3h+eps))+1/3(y4e-y4))..{up}z3e; % left tail
+else:
+ pos3'(vair,90); pos1'(vair,90);
+ lft x3'=x3-.5light_hair; rt x1'=x1r; top y3'r=top y1'r=h;
+ filldraw stroke z3'e--z1'e; % upper bar
+ pickup fine.nib; pos3(light_hair,0); pos4(bot_vair,-90); pos5(bot_vair,-90);
+ bot y5r=0; x4=.67[x3l,x5];
+ lft x5=l+letter_fit+hround(.35u-.5); bot y4r=bot y5r; y3=y3';
+ filldraw stroke z3e{down}..controls (x3e,y5e+.35h)
+ and (min(7/8[x4e,x3e],x4e+2light_hair)+eps,y4e-eps)..{left}z4e--z5e; fi % left stem
+%%%
+if serifs:
+ x0=x3; y0=0;
+ numeric inner_jut; inner_jut=min(.5(lft x1l-rt x3r)-eps,.5jut);
+ save slab; slab:=vair; % lower.slab
+ dish_serif(2,1,a,1/3,jut,b,1/3,jut); %lower right serif
+ slab:=Vround(vair-vair_corr); % lower.slab
+ nodish_serif(1,2,c,1/3,inner_jut,d,1/3,jut); %upper right serif
+ nodish_serif(3,0,e,1/3,1.05jut,f,1/3,inner_jut); % upper left serif
+ filldraw z.c0--z.c1--z.f1--z.f0--cycle; fi % upper inter_serif bar
+%%%%%
+% misc_tail
+bar_stroke(x2r,hround (r-1/3u));
+penpos9(vair,90); penpos10(hair,180);
+x9-jut=x2r; y9l=0; z10=.5[z9,z8r];
+fill stroke z9e{right}...z10e{up}...{right}z8e;
+penlabels(1,2,3,4,5,6);endchar;
+
+lhchar "Lowercase Special letter Cn_mtl (looks like H)";
+cyrchar(Cn_mtl,10u# if serifs=false:+.5width_adj# fi,x_height#,0); % n_width
+italcorr x_height#*slant-serif_fit#+jut#-2u#+.5stem#; %d->x_height+jut
+adjust_fit(serif_fit#,max(u#,.5u#+.5stem#));
+% lower_n;
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+pos3(fudged.stem,0); pos4(fudged.stem,0);
+lft x1l=lft x2l=hround(2.5u-.5fudged.stem-eps); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+bar_stroke(x1,x3); % bar
+%%%
+if serifs:
+ numeric inner_jut;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ save slab; slab:=Vround(vair-vair_corr); % lower.slab
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ slab:=vair; % lower.slab
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); fi % lower right serif
+%%%%%
+% misc tail
+bar_stroke(x4r,hround (r-1/3u));
+penpos9(vair',90); penpos10(hair,180);
+x9-jut=x4r; y9l=tiny.bot y4; z10=.5[z9,z8r];
+fill stroke z9e{right}...z10e{up}...{right}z8e;
+penlabels(1,2,3,4,5,6); endchar;
+
+lhchar "Lowercase Special letter Cn_bartl";
+cyrchar(Cn_bartl,10u# if serifs=false:+.5width_adj# fi,x_height#,desc_depth#); % n_width
+italcorr x_height#*slant-serif_fit#+jut#-2u#+.5stem#; %d->x_height+jut
+adjust_fit(serif_fit#,
+ if monospace:3.9u#else:if serifs:3.5u#else:3.3u#fi fi); %tail_adj
+% lower_n;
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+pos3(fudged.stem,0); pos4(fudged.stem,0);
+lft x1l=lft x2l=hround(2.5u-.5fudged.stem-eps); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+bar_stroke(x1,x3); % bar
+%%%
+if serifs:
+ numeric inner_jut[];
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut1=jut;
+ else: rt x1r+inner_jut1+.5u+1=lft x3l-inner_jut1; fi
+ save slab; slab:=Vround(vair-vair_corr); % lower.slab
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut1); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut1,f,1/3,jut); % upper right serif
+ slab:=vair; % lower.slab
+ dish_serif(2,1,c,1/3,jut,d,1/3,inner_jut1); % lower left serif
+ dish_serif(4,3,g,1/3,inner_jut1,h,1/3,.5jut); fi%!!!% lower right serif
+%%%%%
+w:=w+3.5u;
+% tail_part(4);
+_zero:=4;
+_one:=7; _two:=8; _three:=9; _four:=10; _five:=11;
+_six:=12; _seven:=13; _eight:=14; _nine:=15;
+%
+pickup tiny.nib;
+numeric bulb_diam;
+bulb_diam=max(currentbreadth+eps,min(.82d-1-eps,hround 7/8[hair,flare]));
+set_bar_axis; y[_one]r=y[_two]r=y2.bh; y[_one]l=y[_two]l=y1.bh;
+penpos[_three](max(currentbreadth+eps,curve if hefty:-3stem_corr fi),0);
+y[_three]=.5[y[_one]r,-d];
+x[_two]l=x[_two]r=w-4.75u; x[_one]l=x[_one]r=x[_zero];
+x[_three]r=hround(w-u); x[_two]l:=x[_four]l:=x[_two]r-.25curve;
+{{interim superness:=more_super;
+ fill stroke super_arc.e([_three],[_two])..z[_one]e}}; % lobe
+if serifs:
+ z[_five]=z[_three]; pos[_five](curve if hefty:-3stem_corr fi,0);
+ pos[_six](vair,-90); bot y[_six]r=-d-oo; y[_seven]-.5flare=-.85d;
+ pos[_seven](hair,-180); pos[_eight](bulb_diam,-180);
+ rt x[_eight]l=max(lft x[_zero]l-jut+bulb_diam,
+ floor x[_three]-3.5u if monospace: / expansion_factor fi);
+ z[_seven]r=z[_eight]r;
+ x[_six]=max(rt x[_eight]l,.6[x[_five],x[_seven]r]);
+ (x,y[_six]r)=whatever[z[_six]l,z[_five]l];
+ x[_six]r:=max(x,.5[x[_seven]r,x[_six]]);
+ filldraw stroke super_arc.e([_five],[_six]);
+ bulb([_six],[_seven],[_eight]); % bulb
+else:
+ pickup fine.nib; z[_five]=z[_three];
+ pos[_five](max(fine.breadth,curve if hefty:-3stem_corr fi),0);
+ pos[_nine](vair',-90); pos[_six](.6[vair',flare],-105);
+ rt x[_six]r=x[_three]-4.5u; bot y[_six]r=-d;
+ bot y[_nine]r=-d-oo; x[_nine]=.35[x[_six]r,x[_three]r];
+ filldraw stroke super_arc.e([_five],[_nine])
+ & term.e([_nine],[_six],left,.75,4); fi
+%%%
+if serifs:
+ if rt x2r+jut+.5u+1<=x[_three]r: inner_jut2=jut;
+ else: rt x2r+inner_jut2+.5u+1=x[_three]r; fi
+ save slab; slab:=vair; % lower.slab
+ dish_serif(4,3,i,1/3,inner_jut1,j,1/3,inner_jut2); fi % lower right serif
+penlabels(1,2,3,4,5,6); endchar;
+
+lhchar "Lowercase Special letter Cs_mtl (looks like c)";
+cyrchar(Cs_mtl,8u#,x_height#,0);
+italcorr x_height#*slant-.2u#;
+adjust_fit(if monospace: .5u# else: -.1u# fi,max(u#,.5u#+.5stem#));
+pickup fine.nib; pos2(vair',90); pos4(vair',270);
+x2=x4=.5(w+u); top y2r=vround(h+1.5oo); bot y4r=-oo;
+pos3(curve,180); lft x3r=hround max(.6u,1.35u-.5curve); y3=.5h; % eng
+if serifs: pos1(hair,0); pos0(flare,0);
+ y1=min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare);
+ rt x1r=hround(w-.7u); bulb(2,1,0); % bulb
+ pos5(hair,0); rt x5r=hround(w-.5u);
+ y5=max(good.y(.5bar_height-.9),y4l+vair');
+ (x,y4l)=whatever[z4r,z5l]; x4l:=min(x,x4l+.5u);
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull)
+ ..tension .9 and 1..{x5-x4,5(y5-y4)}z5e; % arc and lower terminal
+else: pos1(4/7[vair',flare],80);
+ rt x1r=hround(w-.6u); top y1r=vround .82[bar_height,top y2r];
+ filldraw stroke term.e(2,1,right,.8,4); % upper terminal
+ pos5(.6[vair',flare],275); rt x5r=hround(w-.5u);
+ y5r=good.y(y5r+1/3bar_height-y5); y5l:=good.y y5l; x5l:=good.x x5l;
+ forsuffixes e=l,r: path p.e; p.e=z4e{right}..tension .9 and 1..z5e;
+ if angle direction 1 of p.e>75:
+ p.e:=z4e{right}..tension atleast.9 and 1..{dir 75}z5e; fi endfor
+ filldraw stroke pulled_super_arc.e(2,3)(.7superpull)
+ & pulled_super_arc.e(3,4)(.5superpull) & p.e; fi % arc and lower terminal
+%
+% misc tail
+bar_stroke(x3,hround (r-1/3u));
+z5'=z5; if serifs: penpos5'(hair,180); else: penpos5'(.6[vair',flare],95); fi
+fill stroke z5'e{if serifs: up else: dir 75 fi}...{right}z7e;
+penlabels(0,1,2,3,4,5); endchar;
+
+lhchar "Lowercase Special letter Ct_mtl";
+cyrchar(Ct_mtl,9u#-width_adj#,x_height#,0);
+italcorr x_height#*slant-beak_jut#-.25u#;
+adjust_fit(0,max(u#,.5u#+.5stem#));
+if odd(stem-w): change_width; fi % symmetric & all three equal
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(.5w-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(vair,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.45u);
+y4=good.y(y3l-beak/1.4)-eps;
+arm(3,4,e,beak_darkness,.4beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.4beak_jut); % left arm and beak
+if serifs:
+ save slab; slab:=vair; % lower.slab
+ dish_serif(2,1,c,1/3,1.414jut,d,1/3,1.414jut); % lower serif
+ slab:=Vround(vair-vair_corr); %lower.slab
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,.5jut); fi % upper bracketing
+%
+% misc tail
+bar_stroke(x2r,hround (r-1/3u));
+penpos9(vair',90); penpos10(hair,180);
+x9-1.414jut=x2r; y9l=0; z10=.5[z9,z7r];
+fill stroke z9e{right}...z10e{up}...{right}z7e;
+penlabels(1,2,3,4,5,6); endchar;
+
+lhchar "Lowercase Special letter Ct_v";
+cyrchar(Ct_v,9u#-width_adj#,x_height#+acc_height#,0);
+italcorr x_height#*slant-beak_jut#-.25u#;
+adjust_fit(0,0); full_h:=h; h:=x_height;
+if odd(stem-w): change_width; fi % symmetric & all three equal
+pickup tiny.nib; pos1(stem,0); pos2(stem,0);
+lft x1l=lft x2l=hround(.5w-.5stem); top y1=h; bot y2=0;
+filldraw stroke z1e--z2e; % stem
+pickup crisp.nib; pos3(vair,90); pos4(hair,0);
+top y3r=h; x3=x1; rt x4r=hround(w-.45u);
+y4=good.y(y3l-beak/1.4)-eps;
+arm(3,4,e,beak_darkness,.4beak_jut); % right arm and beak
+pos5(hair,180); x5=w-x4; y5=y4;
+arm(3,5,f,beak_darkness,-.4beak_jut); % left arm and beak
+if serifs:
+ save slab; slab:=vair; % lower.slab
+ dish_serif(2,1,c,1/3,1.414jut,d,1/3,1.414jut); % lower serif
+ slab:=Vround(vair-vair_corr); % lower.slab
+ nodish_serif(1,2,a,1/3,.5jut,b,1/3,.5jut); fi % upper bracketing
+% hacheck from dc
+h:=full_h;
+_zero:=11;
+_one:=7; _two:=8; _three:=9; _four:=10;
+y_move:=if serifs:0 else: x_height-1/12[x_height,min(asc_height,2x_height)]-o fi;
+x_center:=x5l+2/3beak_jut;
+%
+h':=vround x_height+acc_height; % height of circumflex being inverted
+hx:=vround acc_height+.75[x_height,min(asc_height,2x_height)];
+if serifs: pickup crisp.nib;
+ pos[_two]'(.5[vair,curve],90);
+ top y[_two]'r=.75[x_height,min(asc_height,2x_height)]-x_height;
+ pos[_two](.5[vair,curve],90);
+ x[_two]=x_center;
+ x[_one]=good.x x[_two]-2.25u if monospace: /expansion_factor fi;
+ x[_three]=2x[_two]-x[_one];
+ top y[_one]=top y[_three]
+ = x_height+.5y[_two]'r+.5(.5[vair,curve]);
+ y[_one]-y[_two]=.5y[_two]'r;
+ pos[_one](hair,angle(z[_two]-z[_one])+90);
+ pos[_three](hair,angle(z[_three]-z[_two])+90);
+ filldraw stroke z[_one]e--z[_two]e--z[_three]e; % diagonals
+else: pickup fine.nib; pos[_one](vair,0); pos[_three](vair,0);
+ x[_two]-x[_one]=x[_three]-x[_two]; pos[_two](stem,0);
+ bot y[_two]=vround(y_move+1/12[x_height,min(asc_height,2x_height)]+o);
+ x[_two]=x_center; top y[_one]=top y[_three]
+ = y_move+.75[x_height,min(asc_height,2x_height)]+o;
+ lft x[_one]l=hround(rt x[_two]r-0.5vair
+ -3.25u if monospace: /expansion_factor fi);
+ z[_zero]=whatever[z[_one]r,z[_two]r]=whatever[z[_two]l,z[_three]l];
+ y[_four]l=y[_four]r=y[_two];
+ x[_four]l=good.x .2[x[_two]l,x[_two]];
+ x[_four]r-x[_two]=x[_two]-x[_four]l;
+ filldraw z[_four]l--z[_one]l--z[_one]r--z[_zero]--
+ z[_three]l--z[_three]r--z[_four]r--cycle; fi % diagonals
+penlabels(1,2,3,4,5,6,[_one],[_two],[_three],[_four]);
+endchar;
+
+lhchar "Lowercase Special letter Ctch";
+cyrchar(Ctch,11u# if serifs=false:+.5width_adj# fi,x_height#,0); % n_width
+italcorr x_height#*slant-serif_fit#+jut#-2u#+.5stem#; %d->x_height+jut
+adjust_fit(1.5u#-.5width_adj#,serif_fit#);
+% lower_ch;
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+pos3(fudged.stem,0); pos4(fudged.stem,0);
+lft x1l=lft x2l=hround(2.5u-.5fudged.stem-eps); x3=x4=w-x1;
+top y1=top y3=h; bot y2=.3[y6,h]; bot y4=0; x5l=1/3[x1,x3];
+y6=good.y (.48h if serifs:-.15(.5[hair,.7stem]) fi);
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+y5=y6; x6=x6'=x3;
+if serifs: y6'=min(3/5h,y6-hair+1.05stem); fi
+numeric middle_weight; middle_weight=.6[thin_join,vair];
+penpos2'(fudged.stem,0); z2'=z2;
+penpos5(middle_weight,90); penpos6(middle_weight,90); penpos6'(middle_weight,90);
+if serifs:
+ if((y6'-y6)>=middle_weight+1+eps):
+ fill stroke pulled_arc.e(2',5) & z5e{right}...{.75(z5-z6)+z6'}z6'e; % arc
+ else:
+ fill stroke pulled_arc.e(2',5) & z5e--z6e; fi % arc
+ numeric inner_jut; pickup tiny.nib;
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+%%%
+ save slab; slab:=Vround(vair-vair_corr); % lower.slab
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ slab:=vair; % lower.slab
+ dish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower right serif
+else: fill stroke pulled_arc.e(2',5) & z5e{right}...{right}z6e; fi % arc
+%%%%%
+% T part
+pickup crisp.nib; top y15r=h; x15=x1; pos15(vair,90);
+pos16(hair,180); lft x16r=l+letter_fit+hround.45u;
+y16=good.y(y15l-1/2beak)-eps;
+pos17(hair,0); x15-x16=x17-x15; y17=y16;
+arm(15,16,q,2/3beak_darkness,-1/3beak_jut);
+arm(15,17,r,2/3beak_darkness,1/3beak_jut);
+penlabels(1,2,3,4,5,6); endchar;
+
+lhchar "Lowercase Special letter Cchit";
+cyrchar(Cchit,9.5u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
+x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+hook_in(0,1,2)(skewed); % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=.75bar_height; y5=.75h; y6+.5stem=h;
+filldraw stroke z2'e...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
+
+lhchar "Lowercase Special letter Cc_tl";
+cyrchar(Cc_tl,10u# if serifs=false:+.5width_adj# fi,x_height#, % n_width
+ sbeak#);
+italcorr x_height#*slant-serif_fit#+jut#-2u#+.5stem#; %d->x_height+jut
+adjust_fit(serif_fit#,serif_fit#);
+% lower_c;tl
+pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0);
+pos3(fudged.stem,0); pos4(fudged.stem,0);
+lft x1l=lft x2l=hround (2.5u-.5fudged.stem-eps); x3=x4=w-x1;
+top y1=top y3=h; bot y2=bot y4=0;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+numeric inner_jut,right_jut;
+if serifs:
+ if rt x1r+jut+.5u+1<=lft x3l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+.5u+1=lft x3l-inner_jut; fi
+ save slab; slab:=Vround(vair-vair_corr); % lower.slab
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ inner_jut:=min(.5(lft x3l-rt x1r)-eps,.5jut);
+ slab:=vair; % lower.slab
+ nodish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ nodish_serif(4,3,g,1/3,inner_jut,h,1/3,jut); % lower left serif
+ filldraw z.d0--z.d1--z.g1--z.g0--cycle; % lower inter_serif bar
+else:
+ pos2'(vair',90); pos4'(vair',90);
+ lft x2'=lft x2l; bot y2'l=0;
+ rt x4'=rt x4r+(2/3fudged.stem-2stem_corr); y4'=y2';
+ filldraw stroke z2'e--z4'e; fi
+right_jut=if serifs:jut else:2/3 fudged.stem-2stem_corr fi;
+pickup fine.nib; x4''r=x4r+right_jut; y4''=0; pos4''(fudged.stem,0);
+pos5'(hair,0); y5'=-d; x5'=x1;
+filldraw stroke z4''e{down}...z5'e{-1,-1};
+penlabels(1,2,3,4,5,6); endchar;
+
+lhchar "Lowercase Special letter Csh_lngst";
+cyrchar(Csh_lngst,14u#+.5width_adj#,x_height#,desc_depth#);
+italcorr x_height#*slant-serif_fit#+jut#-2u#+.5stem#; %d->x_height+jut
+adjust_fit(serif_fit#,serif_fit#);
+% lower_sh;longstem
+if odd(fudged.stem-w): change_width; fi % symmetric & all three equal
+pickup tiny.nib;
+pos1(fudged.stem,0); pos2(fudged.stem,0); pos3(fudged.stem,0);
+pos4(fudged.stem,0); pos4'(fudged.stem,0); pos5(fudged.stem,0);
+pos6(fudged.stem,0);
+lft x1l=lft x2l=hround(2.5u-.5fudged.stem-eps); x3=x4=x4'=w-x1;
+top y1=top y3=h; bot y2=bot y4'=0; z5=.5[z1,z3]; z6=.5[z2,z4']; bot y4=-d;
+filldraw stroke z1e--z2e; % left stem
+filldraw stroke z3e--z4e; % right stem
+filldraw stroke z5e--z6e; % center stem
+if serifs: numeric inner_jut,fit; fit=.5u+1;
+ if rt x1r+jut+fit<=lft x5l-jut: inner_jut=jut;
+ else: rt x1r+inner_jut+fit=lft x5l-inner_jut; fi
+ save slab; slab:=vair; % lower.slab
+ dish_serif(1,2,a,1/3,jut,b,1/3,inner_jut); % upper left serif
+ dish_serif(5,6,i,1/3,inner_jut,j,1/3,inner_jut); % upper center serif
+ dish_serif(3,4,e,1/3,inner_jut,f,1/3,jut); % upper right serif
+ inner_jut:=min(.5(lft x3l-rt x1r)-eps,.5jut);
+ slab:=vair; % lower.slab
+ nodish_serif(2,1,c,1/3,jut,d,1/3,inner_jut); % lower left serif
+ nodish_serif(6,5,k,1/3,inner_jut,l,1/3,inner_jut); % lower center serif
+ serif(4',3,g,1/3,-inner_jut); % lower right serif
+ filldraw z.d0--z.d1--z.g1--z.g0--cycle; % lower inter_serif bar
+ dish_serif(4,3,m,1/3,inner_jut,n,1/3,jut); % lower right serif
+else: pos2'(vair',90); pos4''(vair',90);
+ lft x2'= lft x2l; rt x4''=rt x4r; y4''=y2'=0;
+ filldraw stroke z2'e--z4''e; fi
+penlabels(1,2,3,4,5,6); endchar;
+
+endinput;
+%end of file