%
% lgcvaci.mf
%
%% Cyrillic font container with T2 encoding beta-support
%
% This file is future part of lxfonts package
% Version 3.2 // 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:
%
% Italic Cyrillic acuted vowels
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% List of letternames
%
% a_ac
% e_ac
% yo_ac
% UKRe_ac
% i_ac
% lat_i_ac
% ukr_i_ac
% o_ac
% ery_ac
% hrdsn_ac
% erev_ac
% yu_ac
% ya_ac
% yat_ac
% izh_ac
% b_yus_ac
% l_yus_ac
% il_yus_ac
% ib_yus_ac
% i_e_ac
% uk_ac
% y_ac
% ae_ac
% schwa_ac
% otld_ac
% dje_ac
%

LHver_check(3,2);  % like |version_check| in ec

lhchar "Italic Cyrillic letter a_ac - a acute";
cyrchar_twice(a_ac,9u#,x_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(if monospace:0 else:-.35u#fi,0); %cyradj
% ital_a;
pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
pos4(stem,0); x4=x0; y4+.5stem=vround .98h;
x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
rt x4r=hround(w-2.5u+.5stem);
top y1r=h+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
 & pulled_arc.e(2,3) & super_arc.e(3,0);  % bowl
x5=x4; x7=w; hook_out(5,6,7);  % closing hook
filldraw circ_stroke z4e--z5e;  % stem
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7); endchar;

lhchar "Italic Cyrillic letter e_ac - e acute";
cyrchar_twice(e_ac,8u#,x_height#,0);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#); %e
adjust_fit(if monospace:0 else:-.35u#fi,0);
% ital_e;
pickup fine.nib; %numeric heavy_hair; heavy_hair=hround .2[hair,stem];%defined in lxpseudo
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6); endchar;

lhchar "Italic Cyrillic letter yo_ac - yo acute";
cyrchar_twice(yo_ac,8u#,x_height#,0);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(if monospace:0 else:-.35u# fi,0);
% ital_e;
pickup fine.nib; %numeric heavy_hair; heavy_hair=hround .2[hair,stem];%defined in lxpseudo
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc
% the accents
lowercase_umlaut(0,0, 7,8,9,10);
hpos_corr=-u; put_accent(cyrcaph); repeat_once;
penlabels(0,1,2,3,4,5,6); endchar;

lhchar "Italic Cyrillic letter UKRe_ac - Ukrainian e acute";
cyrchar_twice(UKRe_ac,8u#,x_height#,0);
italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-.5u# fi; %c+.5u
adjust_fit(if monospace:0 else:-.35u# fi,0); %c
% ital_ukre;
pickup fine.nib; pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-.5u))+eps;
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y1=.5[bar_height,h]; top y2r=h+oo; bulb(2,1,0);  % bulb
bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height;
path p; p=z4{right}..z5..z6;
filldraw stroke pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc
pos7(vair,90); pos8(vair,90);
y7=bar_height; rt x7=hround max(rt x2+1+eps,lft x0l-eps); x8=x3; y7=y8;
filldraw stroke z7e--z8e; % bar
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6,7,8); endchar;

lhchar "Italic Cyrillic letter i_ac - i acute";
cyrchar_twice(i_ac,10u#,x_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0);
% ital_i;
pickup fine.nib; interim superness:=more_super;
x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
% left skewstem;
if monospace: pos0(vair,90); x0=good.x .5[0,x2]; top y0l=h; y2=2/3h;
 pos2(stem,0); filldraw stroke z2e{u,x_height}...{left}z0e; % terminal
else: x0=0;  hook_in(0,1,2)(skewed); fi % 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=-oo; y5=.57h; y6+.5stem=h;
filldraw stroke z2'e{-u,-x_height}
 ...super_arc.e(3,4)...{up}z5e; % left stem and arc
filldraw circ_stroke z6e--z7e;  % right stem
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,8,9); endchar;

lhchar "Italic Cyrillic letter lat_i_ac - Ukrainian i acute";
cyrchar_twice(lat_i_ac,5u#,x_height#,0);
italcorr max(1/3x_height#*slant+.5hair#+.5u#,h#*slant+.5flare#-2u#);
adjust_fit(if monospace:u#,u# else: 0,0 fi);
pickup fine.nib; x0=0; x5=w; x2=.5w+.25u; x3=.5w-.25u;
hook_in(0,1,2)(skewed); hook_out(3,4,5)(skewed);  %hooks
filldraw stroke z2e--z3e;  % stem
pos8(flare,0); pos9(flare,90); x8=.5w if not
monospace:-.4(h-x_height)*slant fi; top y9r=h+1; if
bot y9l-top y1<slab: y9l:=min(y9r-eps,y1+fine+slab);
fi x8=x9; y8=.5[y9l,y9r]; %dot(8,9);  % dot
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,8,9); endchar;

lhchar "Italic Cyrillic letter ukr_i_ac - yi acute";
cyrchar_twice(ukr_i_ac,5u#,x_height#,0);%
italcorr max(1/3x_height#*slant+.5hair#+.5u#,h#*slant+.5flare#-2u#);
adjust_fit(if monospace:u#,u# else: 0,0 fi);
pickup fine.nib;
x0=0; x5=w; x2=.5w+.25u; x3=.5w-.25u;
hook_in(0,1,2)(skewed); hook_out(3,4,5)(skewed);  % hooks
filldraw stroke z2e--z3e;  % stem
% the accents
lowercase_umlaut(0,0, 6,7,8,9); %old_u:=u; u:=0.5u;
hpos_corr=-u; put_accent(cyrcaph); repeat_once;
penlabels(0,1,2,3,4,5, 6,7,8,9); endchar;

lhchar "Italic Cyrillic letter o_ac - o acute";
cyrchar_twice(o_ac,9u#,x_height#,0);
italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
adjust_fit(0,0); pickup fine.nib;
pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
 & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4); endchar;

lhchar "Italic Cyrillic letter u_ac - u acute";
cyrchar_twice(u_ac,if monospace:8.5u# else:9u# fi,x_height#,desc_depth#);
italcorr x_height#*slant+.5stem#-u#;
adjust_fit(0,0);
% ital_u;
pickup fine.nib; interim superness:=more_super;
x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
% left shstem;
if monospace: pos0(vair,90); x0=good.x .5[0,x2]; top y0l=h; y2=2/3h;
 pos2(stem,0); filldraw stroke z2e{u,x_height}...{left}z0e; % terminal
else: x0=0;  hook_in(0,1,2)(skewed); fi % opening hook
pos2'(stem,-180); z2'=z2;
pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
pos6(stem,0); rt x6r=hround(w-1.5u+.5stem);
pos7(stem,0); pos8(vair,-90);
y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
y7=0; bot y8r=-d-oo; x5=x6=x7; x8=.5w;
pos9(hair,-180); pos10(flare,-180); y9=-.5d;
lft x9r=hround(2.75u-.5flare); bulb(8,9,10);  % bulb
filldraw stroke z2'e{-u,-x_height}
 ...super_arc.e(3,4)...{up}z5e; % left stem and arc
filldraw circ_stroke z6e---z7e...{left}z8e;  % right stem and link
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;

lhchar "Italic Cyrillic letter ery_ac - ery acute";
cyrchar_twice(ery_ac,8u#,x_height#,0);
adjust_fit(if monospace:-2u# else:0 fi,if monospace:2.5u# else:4u# fi);
% ital_ery;
pickup tiny.nib; pos2(stem,0); y2=.6bar_height;
if monospace: x1=x2; pos1(stem,0); lft x1l=hround(2.5u-.5stem); top y1=h;
else: x1=x2+.25u; x0'=0; lft x2l=hround(2.5u-.5stem);
 hook_in(0',a,1)(skewed); fi  % opening hook
pickup fine.nib; pos1'(stem,-180); pos2'(stem,-180); pos3(vair,-90);
pos4(curve,0); pos5(vair,90); pos0(hair,180);
z1'=z1; z0=z2=z2'; x3=x5=.5[x2,x4]; rt x4r=hround(w-u+.5curve);
bot y3r=-oo; top y5r=1.2bar_height+oo; y4=y2;
filldraw stroke z1'e{-u,-x_height}...pulled_arc.e(2',3) & pulled_arc.e(3,4)
 & pulled_arc.e(4,5) & super_arc.e(5,0);  % bowl
% I
w:=w+4u;
pos6(stem,0); y6+.5stem=h; rt x6r=hround(w-2.5u+.5stem); x7=x6;
if monospace: pos9(vair,90); x9=good.x .5[x6,w]; bot y9l=0; y7=1/3h;
 pos7(stem,0); filldraw stroke z7e{down}...{right}z9e; % terminal
else: x9=w; hook_out(7,8,9); fi % opening hook
filldraw circ_stroke z6e--z7e; % stem
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,1',2,3,4,5,6,7,8,9,10); endchar;

lhchar "Italic Cyrillic letter hrdsn_ac - hard sign acute";
cyrchar_twice(hrdsn_ac,if monospace: 6u# else:7.5u#fi,
  x_height#,0);
italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
adjust_fit(u#,0);
% ital_hrdsn;
pickup tiny.nib;
pos1(hair,0); pos1'(hair,-45); pos2(hair,0);
rt x1r=hround(w-2u-eps); top y1=h;
lft x2l=hround(u-.5stem); y2=.6bar_height;
z1'=(.35[x1,x2],.65[y1,1.2bar_height+oo]);
filldraw stroke z2e{up}....{2(x1-x2),(y1-1.2bar_height)}z1'e..{up}z1e;  % stem
% italic_beak(1,x);
pos6(hair,180); pos7(.6[hair,curve],60); pos8(hair,90);
z8r=z1r; x6=-u; y6=3/4x_height; x7=.5[x6,x8];
top y7r=top y8r;
filldraw stroke z6e{up}...{5,-1}z7e...{1,1}z8e; % fillip
pickup fine.nib; pos2'(stem,-180); pos3(vair,-90);
pos4(curve,0); pos5(vair,90);
lft x2'r=tiny.lft x2l;
y2'=y2;  x3=x5=.5[x2,x4]; rt x4r=hround(w-u+.5curve);
bot y3r=-oo; top y5r=1.2bar_height+oo; y4=y2;
filldraw stroke pulled_arc.e(2',3) & pulled_arc.e(3,4)
 & pulled_arc.e(4,5) & pulled_arc.e(5,2');  % bowl
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,2',3,4,5,6,7,8); endchar;

lhchar "Italic Cyrillic letter erev_ac - reverse e acute";
cyrchar_twice(erev_ac,8u#,x_height#,0);
italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; %o
adjust_fit(0,if monospace:0 else:-.35u# fi); %o
% ital_erev;
pickup fine.nib;
pos0(flare,-180); pos1(hair,-180); pos2'(vair,-90); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x2+.5u=x4=.5(w-u); lft x1r=min(lft x2,hround(.25u))-eps;
rt x3l=w-hround(1.5u-.5curve); lft x5l=good.x (lft x1r-eps); x6=x5;
y1-.5flare=.1h; bot y2l=-oo; z2'=z2; bulb(2',1,0);  % bulb
top y4l=h+oo; y3=.5[y2,y4]; top y5l=vround .5[bar_height,h];
y6=bar_height; path p; p=z4{left}..z5..z6;
filldraw stroke pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc
x7=x3; y7=bar_height; y8=y7; lft x8=hround min(lft x2-1-eps,rt x0l+eps);
pos7(vair,90); pos8(vair,90);
filldraw stroke z7e--z8e;
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6,7,8); endchar;

lhchar "Italic Cyrillic letter yu_ac - yu acute";
cyrchar_twice(yu_ac,9u#,x_height#,0);
italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
adjust_fit(if monospace:3u# else:4.5u# fi,
 if monospace:-.75u# else:-.35u# fi);
% ital_yu;
pickup fine.nib;
pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
 & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
% i half
_one:=5; _two:=6; _three:=7; _four:=8; _five:=9; _six:=10;
%
pos[_four](stem,0);
lft x[_four]l=l+letter_fit if not monospace: +hround(2.5u-.5stem) fi;
y[_four]-.5stem=-oo; x[_three]=x[_four];
if monospace:
 pos[_three](stem,0); top y[_three]=h;
else:
 x[_one]=l+letter_fit; hook_in([_one],[_two],[_three]); fi % opening hook
filldraw circ_stroke z[_four]e--z[_three]e; % stem
pos[_five](vair,90); pos[_six](vair,90); %!!!
x[_five]=x[_four]; x[_six]=x2; y[_five]=y[_six]=bar_height; %!!!
filldraw stroke z[_five]e--z[_six]e; % bar %!!!
%%%
% the accent
hpos_corr=u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;

lhchar "Italic Cyrillic letter ya_ac - ya acute";
cyrchar_twice(ya_ac,9u#,x_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(.5u#,0);
% ital_ya;
pickup fine.nib;
rt x1r=rt x2r=hround(w-2.5u+.5stem); top y1=h; x4=w;
hook_out(2,3,4);  % closing hook
pos1(stem,0); filldraw stroke z1e--z2e;  % stem
pos5(vair,90); pos6(vair,90); pos7(curve,180); pos8(vair,270); pos9(vair,270);
x5=x9=x1; top y5r=top y6r=h; x6=x8=.5[x5,x7];
lft x7l=hround(1.5u if not monospace:+.5curve fi);
y7=.5[y5,y9]; y8=y9=bar_height;
filldraw stroke z5e...pulled_arc.e(6,7) & pulled_arc.e(7,8)...z9e; % bowl
pos10(stem,0); pos11(vair,-90);
x10=.3[x11,x9]; y10=1/2y9; x11-flare=-.25u; bot y11r=-oo;
filldraw stroke z11e{right}...z10e{up}...{right}z9e;  % lower diagonal
pos12(hair,180); pos13(flare,180);
lft x13r=-.25u; y13-.5flare=.1h; bulb(11,12,13); % bulb
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6,7,8,8',9,10,11,12,13,14,15,16,17,18); endchar;

lhchar "Italic Cyrillic letter yat_ac - yat acute";
cyrchar_twice(yat_ac,13u#,x_height#,0);
italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; %"Weierstrass p"
adjust_fit(if monospace:-1.5u#,-.35u# else:0,0 fi); full_w:=w; w:=10u;
% ital_yat;
pickup fine.nib; x1=x2; pos2(stem,0);
if monospace: pos1(stem,0); lft x1l=hround(2.5u-.5stem); top y1=h;
else: x0=0; lft x2l=hround(2.5u-.5stem);
 hook_in(0,a,1); fi  % opening hook
y2-.5stem=-oo;
filldraw circ_stroke z2e--z1e;  % left stem
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;
pos6(stem,-180); pos10(hair,180); z6=z5; z10=z5;
pos7(vair,-90); pos8(curve,0); pos9(vair,90);
x7=x9=.5[x5,x8]; rt x8r=hround(w-u+.5curve);
bot y7r=-oo; top y9r=1.2bar_height+oo; y8=y5;
filldraw stroke pulled_arc.e(6,7) & pulled_arc.e(7,8)
 & pulled_arc.e(8,9) & super_arc.e(9,10);  % bowl
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6,7,8,9); endchar;

lhchar "Italic Cyrillic letter izh_ac - izhitsa acute";
cyrchar_twice(izh_ac,9.5u#,x_height#,0);
italcorr x_height#*slant+.25u#;
adjust_fit(.25u#,max(u#,.5u#+.5flare#)); %izhy_adj
% ital_izh;
numeric left_stem,right_stem,outer_jut,alpha,bulb_diam;
left_stem=stem-stem_corr; bulb_diam=7/8[hair,flare];
right_stem=min(hair if hefty:-2stem_corr fi,left_stem);
outer_jut=.75jut; x1l=l+letter_fit+outer_jut+.25u; x4r=w-x1l; y1=y4=h;
x2-x1=x4-x3; x2l+apex_corr=x3l; y2=y3=-apex_o;
alpha=diag_ratio(2,right_stem,y1-y2,x4r-x1l-apex_corr);
penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0);
z0=whatever[z1r,z2r]=whatever[z3l,z4l];
penpos4''(alpha*right_stem,0);
penpos5(vair,90); penpos6(hair,0); penpos7(flare,0);
x5=if serifs:.5[x4'',rt x6r] else: rt x6r fi; top y5r=h+oo;
y4''=min(.9x_height,y5l-vair); z4''=whatever[z3,z4];
rt x6r=hround(r-.5u-.5);
y6=max(vround(top y5r-.5hair)-1-.5flare,
 min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare));
cyrbulb(5,6,7); % bulb
penpos1'(alpha*left_stem,0); y1'=3/4x_height; z1'=whatever[z1,z2];
x10=l+letter_fit; x10:=hround(x10-.5hair)+.5hair; y10=2/3x_height;
penpos9(vair,90); y9r=x_height+oo; x9=min(x1l-.5,x10+u);
if y0>cap_notch_cut:
 y0:=cap_notch_cut;
 fill z0+.5right{up}...{z4-z3}z4''l...{right}z5r--z5l{left}
  ...z4''r{z3-z4}--diag_end(4r,3r,1,1,2l,1l)--
   z1'l{z1-z2}...{left}z9l--z9r{right}
   ..tension atleast .75 and 1..{z2-z1}z1'r
  ...{down}z0+.5left--cycle; % left and right diagonals
else:
 pickup pencircle scaled1;
 fill z0--z4''l{z4-z3}...{right}z5r--z5l{left}...{z3-z4}z4''r
  --diag_end(4r,3r,1,1,2l,1l)--
   z1'l{z1-z2}...{left}z9l--z9r{right}
   ..tension atleast .75 and 1..{z2-z1}z1'r
  --cycle; fi % left and right diagonals
pickup fine.nib;
pos9'(vair,90); z9'=z9; pos10(hair,180);
filldraw stroke z10e{up}...z9'e{right};
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;

lhchar "Italic Cyrillic letter b_yus_ac - big yus acute";
cyrchar_twice(b_yus_ac,9u#,x_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#; %h
adjust_fit(w# -5u# if monospace:-1.5u# fi,if monospace:-1.5u# else:0 fi);
% ital_yus;
% itop_yus;
pickup fine.nib;
penpos1(fudged.stem,0); penpos2(fudged.hair,0);
penpos3(fudged.stem,0); penpos4(fudged.hair,0);
w-x2r=.24w; x2-x3=x3-x1; y1=h; y2=y1; y3=y4=bar_height;
x3l=hround(2.5u-.5stem); x3r=x4r;
z0=whatever[z4l,z2l]=whatever[z1r,z3r];
if hefty:
 y0:=bar_height+.5fine;
 fill z3l--diag_end(3l,1l,1,1,1r,3r){z3r-z1r}
  ...{down}(x0-.5,y0)..(x0+.5,y0){up}...
  {z2l-z4l}diag_end(4l,2l,1,1,2r,4r)--z4r--cycle; % diagonals
else:
 fill z3l--diag_end(3l,1l,1,1,1r,3r)--z0--
  diag_end(4l,2l,1,1,2r,4r)--z4r--cycle; fi % diagonals
penpos5(fudged.stem,0); x5=x3; y5-.5stem=-oo;
fill circ_stroke z5e--z3e; %middle stem
z6=whatever[z4,z2]; z7=whatever[z1,z3]; y6=y7=good.y(y1-vair);
fill z1--z7--z6--z2--cycle; % upper bar
% bowls
pos8(vair,90); pos9(stem,0); pos10(vair,90); pos11(hair,180);
pos12(stem,180); pos13(vair,90); pos14(hair,0); z8=z3;
x11=hround(w+.5hair-eps)-.5hair; x11-x3=x3-x14; y11=y14=1/3x_height;
lft x9l=hround(w-2.75u-.5stem); x9-x3=x3-x12; y9=y12=1/2y8;
x10=hround(w-1.2u); x10-x3=x3-x13; bot y10l=bot y13l=-oo;
filldraw stroke if not monospace:z14e{down}... fi
 z13e{right}...z12e{up}...z8e{right}...z9e{down}...z10e{right}
 if not monospace:...{up}z11e fi;  % left lower diagonal
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6,7,8,9); endchar;
let k_bowl = undefined;

lhchar "Italic Cyrillic letter l_yus_ac - little yus acute";
cyrchar_twice(l_yus_ac,11u#,x_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(if monospace:-.5u# else:.5u# fi, %wbulb_adj
 0);
% ital_amod;
pickup fine.nib; pos1(vair,-90); pos2(hair,0); pos3(hair,0); pos4(vair,-90);
pos5(hair,-180); pos6(flare,-180);
pos1'(stem,180); pos10(stem,0);
top y1l=h+oo; x1=.5[x3,x1']; x2=x3=3u; y3=.35h; y2=.75h;
bot y4r=-oo; x4=lft x6r+flare; y6-.5flare=.1h; lft x6r=-.25u; z5r=z6r;
y1'=.8h; x1'=x7; z10=z1';
rt x7r=hround(w-2.5u+.5stem);
bulb(4,5,6); % bulb
x9=w; hook_out(7,8,9); % closing hook
filldraw stroke z10e--z7e; % tie
filldraw stroke pulled_arc.e(4,3) &  super_arc.e(3,1)
 & super_arc.e(1,1'); % right stem
% stem&bar
y11=y12=bar_height; pos11(vair,90); pos12(vair,90);
 z11=((l,y11)..(w,y11)) intersectionpoint
  (pulled_arc.r(4,3) &  super_arc.r(3,1));
 z12=((0,y12)..(w-u,y12)) intersectionpoint (z10l..z7l);
filldraw stroke z11e--z12e; % bar
numeric stem[]; stem1=max(fine.breadth+eps,.7[thin_join,stem]);
pos13(stem1,0); pos14(stem1,0);
x13=x14=.5[x11,x12]; y13=y12; y14-.5stem1=0;
filldraw circ_stroke z14e--z13e; % stem
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,1',2,3,4,5,6,7,8,9,11,12,13,14); endchar;

lhchar "Italic Cyrillic letter il_yus_ac - iot little yus acute";
cyrchar_twice(il_yus_ac,11u#,x_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(if monospace: 3.5u#+else: 4.5u#+fi.5u#,
 if monospace:-1.5u# else:0 fi); %rstem_adj
% ital_amod;iot
pickup fine.nib; pos1(vair,-90); pos2(hair,0); pos3(hair,0); pos4(vair,-90);
pos5(hair,-180); pos6(flare,-180);
pos1'(stem,180); pos10(stem,0);
top y1l=h+oo; x1=.5[x3,x1']; x2=x3=3u; y3=.35h; y2=.75h;
bot y4r=-oo; x4=lft x6r+flare; y6-.5flare=.1h; lft x6r=-.25u; z5r=z6r;
y1'=.8h; x1'=x7; z10=z1';
rt x7r=hround(w-2.5u+.5stem);
bulb(4,5,6); % bulb
% right_stem;
_one:=7; _two:=8; _three:=9;
if monospace: pos[_three](vair,90); pos[_one](stem,0);
 x[_three]=good.x .5[x[_one],w]; bot y[_three]l=0; y[_one]=1/3h;
 filldraw stroke z[_one]e{down}...{right}z[_three]e; % terminal
else: x[_three]=w; hook_out([_one],[_two],[_three]); fi % opening hook
filldraw stroke z10e--z7e; % tie
filldraw stroke pulled_arc.e(4,3) &  super_arc.e(3,1)
 & super_arc.e(1,1'); % right stem
% stem&bar
y11=y12=bar_height; pos11(vair,90); pos12(vair,90);
 z11=((l,y11)..(w,y11)) intersectionpoint
  (pulled_arc.r(4,3) &  super_arc.r(3,1));
 z12=((0,y12)..(w-u,y12)) intersectionpoint (z10l..z7l);
filldraw stroke z11e--z12e; % bar
numeric stem[]; stem1=max(fine.breadth+eps,.7[thin_join,stem]);
pos13(stem1,0); pos14(stem1,0);
x13=x14=.5[x11,x12]; y13=y12; y14-.5stem1=0;
filldraw circ_stroke z14e--z13e; % stem
%%%
% i half
_one:=15; _two:=16; _three:=17; _four:=18; _five:=19; _six:=20;
%
pos[_four](stem,0);
lft x[_four]l=l+letter_fit if not monospace: +hround(2.5u-.5stem) fi;
y[_four]-.5stem=-oo; x[_three]=x[_four];
if monospace:
 pos[_three](stem,0); top y[_three]=h;
else:
 x[_one]=l+letter_fit; hook_in([_one],[_two],[_three]); fi % opening hook
filldraw circ_stroke z[_four]e--z[_three]e; % stem
pos[_five](vair,90); pos[_six](vair,90); %!!!
x[_five]=x[_four]; x[_six]=x11; y[_five]=y[_six]=bar_height; %!!!
filldraw stroke z[_five]e--z[_six]e; % bar %!!!
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,1',2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20); endchar;

lhchar "Italic Cyrillic letter ib_yus_ac - iot big yus acute";
cyrchar_twice(ib_yus_ac,9u#,x_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#; %h
adjust_fit(if monospace: 4u#+else: 5u#+fi w#-5u#,
 if monospace:-1.5u# else:0 fi); %rstem_adj
% ital_yus;iot
% itop_yus;
pickup fine.nib;
penpos1(fudged.stem,0); penpos2(fudged.hair,0);
penpos3(fudged.stem,0); penpos4(fudged.hair,0);
w-x2r=.24w; x2-x3=x3-x1; y1=h; y2=y1; y3=y4=bar_height;
x3l=hround(2.5u-.5stem); x3r=x4r;
z0=whatever[z4l,z2l]=whatever[z1r,z3r];
if hefty:
 y0:=bar_height+.5fine;
 fill z3l--diag_end(3l,1l,1,1,1r,3r){z3r-z1r}
  ...{down}(x0-.5,y0)..(x0+.5,y0){up}...
  {z2l-z4l}diag_end(4l,2l,1,1,2r,4r)--z4r--cycle; % diagonals
else:
 fill z3l--diag_end(3l,1l,1,1,1r,3r)--z0--
  diag_end(4l,2l,1,1,2r,4r)--z4r--cycle; fi % diagonals
penpos5(fudged.stem,0); x5=x3; y5-.5stem=-oo;
fill circ_stroke z5e--z3e; %middle stem
z6=whatever[z4,z2]; z7=whatever[z1,z3]; y6=y7=good.y(y1-vair);
fill z1--z7--z6--z2--cycle; % upper bar
% bowls
pos8(vair,90); pos9(stem,0); pos10(vair,90); pos11(hair,180);
pos12(stem,180); pos13(vair,90); pos14(hair,0); z8=z3;
x11=hround(w+.5hair-eps)-.5hair; x11-x3=x3-x14; y11=y14=1/3x_height;
lft x9l=hround(w-2.75u-.5stem); x9-x3=x3-x12; y9=y12=1/2y8;
x10=hround(w-1.2u); x10-x3=x3-x13;
bot y10l=bot y13l=if monospace: 0 else:-oo fi;
filldraw stroke if not monospace:z14e{down}... fi
 z13e{right}...z12e{up}...z8e{right}...z9e{down}...z10e{right}
 if not monospace:...{up}z11e fi;  % left lower diagonal
%%%
% i half
_one:=15; _two:=16; _three:=17; _four:=18; _five:=19; _six:=20;
%
pos[_four](stem,0);
lft x[_four]l=l+letter_fit if not monospace: +hround(2.5u-.5stem) fi;
y[_four]-.5stem=-oo; x[_three]=x[_four];
if monospace:
 pos[_three](stem,0); top y[_three]=h;
else:
 x[_one]=l+letter_fit; hook_in([_one],[_two],[_three]); fi % opening hook
filldraw circ_stroke z[_four]e--z[_three]e; % stem
pos[_five](vair,90); pos[_six](vair,90); %!!!
x[_five]=x[_four]; x[_six]=x8; y[_five]=y[_six]=bar_height; %!!!
filldraw stroke z[_five]e--z[_six]e; % bar %!!!
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20); endchar;

lhchar "Italic Cyrillic letter i_e_ac - iot e acute";
cyrchar_twice(i_e_ac,8u#,x_height#,0);
italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-.5u# fi; %c+.5u
adjust_fit(if monospace: 3u# else: 4.5u# fi +0.2u#, %ipadj
 0); pickup fine.nib;
% ital_ukre;iot
pickup fine.nib; pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-.5u))+eps;
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y1=.5[bar_height,h]; top y2r=h+oo; bulb(2,1,0);  % bulb
bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height;
path p; p=z4{right}..z5..z6;
filldraw stroke pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc
pos7(vair,90);
y7=bar_height; rt x7=hround max(rt x2+1+eps,lft x0l-eps);
% i half
_one:=8; _two:=9; _three:=10; _four:=11; _five:=12; _six:=13;
%
pos[_four](stem,0);
lft x[_four]l=l+letter_fit if not monospace: +hround(2.5u-.5stem) fi;
y[_four]-.5stem=-oo; x[_three]=x[_four];
if monospace:
 pos[_three](stem,0); top y[_three]=h;
else:
 x[_one]=l+letter_fit; hook_in([_one],[_two],[_three]); fi % opening hook
filldraw circ_stroke z[_four]e--z[_three]e; % stem
pos[_five](vair,90); pos[_six](vair,90); %!!!
x[_five]=x[_four]; x[_six]=x7; y[_five]=y[_six]=bar_height; %!!!
filldraw stroke z[_five]e--z[_six]e; % bar %!!!
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,1',2,3,4,5,6,7,8,9,10,11,12,13); endchar;

lhchar "Italic Cyrillic letter uk_ac - uk acute";
cyrchar_twice(uk_ac,9.75u#,asc_height#,0);
italcorr fig_height#*slant-.5u#;
adjust_fit(if hefty:0,0 else:-.6u#,-.6u#fi);
% ital_uk;
numeric top_thickness,mid_thickness,bot_thickness,upper_side,lower_side,theta;
top_thickness=max(fine.breadth,vround(slab-2vair_corr));
bot_thickness=max(fine.breadth,vround(slab-vair_corr));
x0=.5w; y0=if monospace:bar_height else:.7x_height fi; %h;%%%%%%%%%%%%%%
pickup fine.nib; theta=90-angle(20u,h); slope:=-h/20u;
upper_side=max(fine.breadth+eps,hround(.5[hair,stem]-stem_corr));
lower_side=hround(.5[hair,stem]+stem_corr);
if lower_side>1.2upper_side: upper_side:=lower_side; fi
pos1(top_thickness,-90); pos6(bot_thickness,-90);
x1=x6=.5w; top y1l=h+o; bot y6r=-o; pos0(cap_stem,theta);
lft x2l=w-rt x8l=hround 1.25u; lft x7r=w-rt x5r=hround 1.75u;
 x2r-x2l=fudged.stem-fine; x5r-x5l=lower_side-fine;%%%%%%%%%%%
ellipse_set(1l,2l,3l,0l); ellipse_set(1r,2r,3r,0r);
ellipse_set(6l,5l,4l,0l); ellipse_set(6r,5r,4r,0r);
numeric tau; tau=max(.8,.20710678/(superness-.5));
y2r:=y2l+serif_drop;
filldraw stroke z2e{down}
 ..z3e---z4e..z5e{down}..tension atleast tau..z6e{left};  % S stroke
pos7(lower_side,180); pos8(upper_side,180);
y7=.5[y5l,y5r]; y8=.5[y2l,y2r]; pos9(vair,90); z9=z0;
filldraw stroke z8e{down}
 ..tension atleast tau and atleast 1..{-18u,-.618h}z9e; % upper right stroke
filldraw stroke z6e{left}..tension atleast tau..z7e{up}
 ..tension atleast tau and atleast 1..{18u,.5h}z9e;% lower left stroke
% italic bulb
z8'=z8; pos8'(upper_side,0);
y1'+.5curve=h+oo; x1'=x8-max(u,.5u+.5curve); %+.5curve%y8+(x_height-bar_height); %%%%%%%%%%%
numeric theta; theta=angle(4(x8'-x1'),y8'-y1'); pos1'(curve,theta+90);
filldraw z1'l{dir theta}..tension atleast 1 and 1..{down}z8'l
 --z8'r{up}...{-dir theta}z1'r..cycle;  % bulb
% from sloped serif
pos12(slab,90); lft x12=x2l-.5jut; y12r=y2r-serif_drop; z14=z2l;
filldraw z2r--z12r--z12l{right}
 ...1/3[(x14,y12l),.5[z12l,z14] ]{z14-z12l}
 ...{down}z14--(x2r,y14)--cycle;  % sloped serif
%%%%%
% the accent
hpos_corr=-u; put_accent(cyrcaph); repeat_once;
penlabels(0,1,1',2,3,3',4,4',5,6,7,8,9,10,11,12); endchar;

lhchar "Italic Cyrillic letter y_ac - straight u acute";
cyrchar_twice(y_ac,9.5u#,x_height#,desc_depth#);
italcorr x_height#*slant+.25u#;
adjust_fit(.25u#,max(u#,.5u#+.5flare#)); %izhy_adj
% ital_y;
numeric left_stem,right_stem,outer_jut,dy,alpha; left_stem=stem-stem_corr;
right_stem=min(hair if hefty:-2stem_corr fi,left_stem); outer_jut=.75jut;
x1l=l+letter_fit+outer_jut+.25u; x4r=w-x1l;
x2l=x5l=hround(.5w-.5left_stem); x3r=x5r; y1=y4=h;
y2=y3=y5=0; dy=y1-y2; alpha=((x2l-x1l)++dy)/dy;
penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0);
penpos3(alpha*right_stem,0);
penpos4(alpha*right_stem,0); penpos4'(alpha*right_stem,0);
penpos5(left_stem,0); penpos6(left_stem,0);
x5=x6; y6=-d; z0=whatever[z1r,z2r]=whatever[z3l,z4l];
penpos7(vair,90); penpos8(hair,0); penpos9(flare,0);
x7=.5[x4',rt x8r]; y7r=h+oo;
y4'=min(.9x_height,y7l-vair); z4'=whatever[z3,z4];
rt x8r=hround(r-.5u-.5);
y8=max(vround(y7r-.5hair)-.5flare-1,
 min(bar_height+.5flare+2vair'+2,.9[bar_height,h]-.5flare));
cyrbulb(7,8,9); % bulb
y1'=3/4x_height; z1'=whatever[z1,z2]; penpos1'(alpha*left_stem,0);
x10=l+letter_fit; x10:=hround(x10-.5hair)+.5hair; y10=2/3x_height;
penpos11(vair,90); top y11r=x_height+oo; x11=min(x1l-.5,x10+u);
if y0>y2+notch_cut:
 y0:=y2+notch_cut;
 fill z0+.5right{up}...{z4-z3}z4'l...{right}z7r--z7l{left}
  ...{z5r-z4'r}z4'r--z5r--z6r--z6l--z5l--
   z1'l{z1-z2}...{left}z11l--z11r{right}
   ..tension atleast .75 and 1..{z2-z1}z1'r
  ...{down}z0+.5left--cycle; % diagonals and stem
else: fill z0--z4'l...{right}z7r--z7l{left}
  ...z4'r--z5r--z6r--z6l--z5l--
   z1'l{z1-z2}...{left}z11l--z11r{right}
   ..tension atleast .75 and 1..{z2-z1}z1'r
  --cycle; fi  % diagonals and stem
pickup fine.nib;
pos10(hair,180); pos11'(vair,90); z11'=z11;
filldraw stroke z10e{up}...z11'e{right};  % hook
pickup tiny.nib; prime_points_inside(6,5);
dish_serif(6',5,e,1/3,jut,f,1/3,jut); % lower serif
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;

iff knuthian_ae:%
lhchar "Italic Cyrillic letter ae - ligature ae_ac";
cyrchar_twice(ae_ac,13u#,x_height#,0);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup fine.nib;
begingroup
forsuffixes $=hair,stem: shaved$:=mfudged$; save $; $=shaved$; endfor
%numeric heavy_hair; heavy_hair=hround .2[hair,stem];%defined in lxpseudo
numeric light_stem; light_stem=hround .75[hair,stem];
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(light_stem,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+6u);
lft x3r=hround(.5w-.5light_stem); x5r=good.x(w-.5u); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
top y5l=vround(.5bar_height+.5); path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc of e
pos7(light_stem,0); pos8(light_stem,0);
x7=x8=x3; y7+.5light_stem=h+oo; y8-.5light_stem=-oo;
pos7'(vair,-225); pos11(curve,-180); z7'=z7;
pos12(vair,-90); pos3'(hair,0); z3'=z3;
lft x11r=hround(1.5u-.5curve); x12=.5[x11,x3];
y11=.3[y12,y7]; bot y12r=-oo;
filldraw stroke z7'e{3(x11-x7),y11-y7}...pulled_arc.e(11,12)
 & pulled_arc.e(12,3');  %  bowl of a
filldraw z7l---z8l..z8r---z7r..cycle;  % stem
endgroup;
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,8,11,12); endchar;

iff not knuthian_ae: % borrowed from ec
lhchar "Italic Cyrillic letter ae - ligature ae_ac";
cyrchar_twice(ae_ac,13u#,x_height#,0);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(if monospace:-u#,-u# else: 0,0 fi); pickup fine.nib;
begingroup
forsuffixes $=hair,stem: shaved$:=mfudged$; save $; $=shaved$; endfor
numeric light_stem; light_stem=hround .75[hair,stem];
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(light_stem,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+6u);
lft x3r=hround(.5w-.5light_stem); x5r=good.x(w-.5u); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
top y5l=vround(.5bar_height+.5); path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc of e
pos7(light_stem,0);
x7=x3; y7+.5light_stem=h+oo;
pos7'(vair,-225); pos10(vair,-270);
pos11(curve,-180); z7'=z7;
pos12(vair,-90); pos3'(hair,0); z3'=z3;
lft x11r=hround(1.5u-.5curve); x10=x12=.5[x11,x3];
top y10r=h+oo; y11=.52h; bot y12r=-oo;
filldraw stroke pulled_arc.e(3',10) & pulled_arc.e(10,11)
 & pulled_arc.e(11,12) & pulled_arc.e(12,3');  %  bowl of a
filldraw z7l---z3r..z3l---z7r..cycle;  % stem
endgroup;
%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(0,1,2,3,4,5,6,7,10,11,12); endchar;

lhchar "Italic Cyrillic letter schwa_ac - schwa acute";
cyrchar_twice(schwa_ac,8u#,x_height#,0);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(0,if monospace:0 else:-.35u#fi);
% ital_schwa;
pickup fine.nib; %numeric heavy_hair; heavy_hair=hround .2[hair,stem];%defined in lxpseudo
pos0(vair,90); pos1(heavy_hair,180); pos2(vair,-90);
pos3(curve,0); pos4(vair,90); pos5(hair,140);
x0=lft x3l; lft x1r=hround(1u-.5heavy_hair); x2+.5u=x4=.5(w-u);
rt x3r=hround(w-1.5u+.5curve);
lft x5r=good.x (lft x1r+eps); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; bot y2r=-oo; top y4r=h+oo;
top y5r=vround .5[bar_height,x_height]; path p; p=z4{left}..z5..z6;
filldraw stroke z0e{left}...z1e{down}...pulled_arc.e(2,3)
 & pulled_arc.e(3,4)...{direction 1 of p}z5e;  % arc
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6); endchar;

lhchar "Italic Cyrillic letter otld_ac - o tilded acute";
cyrchar_twice(otld_ac,9u#,x_height#,0);
italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
adjust_fit(0,0); pickup fine.nib;
% ital_o;tld
pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
top y1r=h+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
 & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
%%%
% oltilde;
if (serifs=true) and (bar#<=.5curve#):
   numeric bar[];
   set_bar_axis;
   x5r=x2l; x6r=x4l;
   y5r=y6r=y2.bh; y5l=y6l=y1.bh; x5r=x5l; x6l=x6r;
   bar2=2/3[bar,fudged.stem];
   penpos7(bar2,45); z7=.5[z5l,z6l];
   fill stroke z6e{-2,-1}..{-2,1}z7e..{-2,-1}z5e;
else:
   bar_stroke(x2l,x4l);
fi
%%%%%
% the accent
hpos_corr=-u; put_accent; repeat_once;
penlabels(1,2,3,4,5,6,7); endchar;

lhchar "Italic Cyrillic letter dje_ac - soft dj acute";
cyrchar_twice(dje_ac,8u#,asc_height#,desc_depth#);
italcorr .7x_height#*slant; %o
adjust_fit(1.5u#,0); pickup tiny.nib;
pos1(stem,0); pos2(stem,0); x1=x2;
lft x1l=hround(1.5u-.5stem); top y1=h; y2-.5stem=-oo;
filldraw circ_stroke z2e--z1e;  % left stem
sloped_serif.l(1,2,a,1/3,jut,serif_drop);  % serif
pickup fine.nib; x4+.5stem=hround(w-.75u+.5stem);
x5=x4; ital_arch(2,3,4);  % arch
x7=.45[x2,x4]; bot y7r=-d; pos7(hair,-90);
filldraw stroke pulled_arc.e(4,7);
x8=-u; x9=x4; y8=y9=.5x_height+.5h; pos8(bar,90); pos9(bar,90);
filldraw stroke z8e--z9e;
hpos_corr=-u; put_accent(cyrcaph); repeat_once;
penlabels(1,2,3,4,5,6,7,8,9); endchar;
