diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/lgt2slvi.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/lh/base/lgt2slvi.mf | 388 |
1 files changed, 374 insertions, 14 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/lgt2slvi.mf b/Master/texmf-dist/fonts/source/lh/base/lgt2slvi.mf index 47078c5937d..b01b35ab11e 100644 --- a/Master/texmf-dist/fonts/source/lh/base/lgt2slvi.mf +++ b/Master/texmf-dist/fonts/source/lh/base/lgt2slvi.mf @@ -4,13 +4,13 @@ %% Cyrillic font container with T2 encoding beta-support % % This file is future part of lxfonts package -% Version 3.4 // Patchlevel=0 +% Version 3.5 // Patchlevel=0 % (c) O.Lapko % -% This package belongs to the public domain under conditions similar to +% This package is freeware product 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. +% (and all this package as well) and to save it under the same name. % % Content: % @@ -50,7 +50,7 @@ % narrow_e used eps % -LHver_check(3,4); % like |version_check| in ec +LHver_check(3,5); % like |version_check| in ec lhchar "Italic Cyrillic letter ligature az - old a"; cyrcharmoving(az); @@ -59,10 +59,93 @@ lhchar "Italic Cyrillic letter ligature i_az - iot az"; cyrcharmoving(i_az); lhchar "Italic Cyrillic letter l_yus - little yus"; -cyrcharmoving(l_yus); +%cyrcharmoving(l_yus);%restored for Unicode +cyrchar(l_yus,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 +pos11(vair,90); pos12(vair,90); +z11=((l,bar_height)..(w,bar_height)) intersectionpoint + (pulled_arc.r(4,3) & super_arc.r(3,1)); +z12=((0,bar_height)..(w,bar_height)) 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 +%%% +penlabels(1,1',2,3,4,5,6,7,8,9,11,11',14,15); +endchar; lhchar "Italic Cyrillic letter il_yus - iotfied little yus"; -cyrcharmoving(il_yus); +%cyrcharmoving(il_yus);%restored for Unicode +cyrchar(il_yus,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-eps; y3=.35h; y2=.75h; +bot y4r=-oo; lft x6r=-.25u; +x4=min(lft x6r+flare,lft x3l-eps); y6-.5flare=.1h; z5r=z6r; +y1'=min(.8h,bot y1l)-eps; z10=z1'; +rt x7r=hround (w-2.5u+.5stem)+eps; +x1'=x7; +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 +if lft x1'r<x1: lft x1'r:=x1+eps; fi +filldraw stroke pulled_arc.e(4,3) & + super_arc.e(3,1) & super_arc.e(1,1'); % right stem +% stem&bar +pos11(vair,90); pos12(vair,90); +z11=((l,bar_height)..(w,bar_height)) intersectionpoint + (pulled_arc.r(4,3) & super_arc.r(3,1)); +z12=((0,bar_height)..(w,bar_height)) 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 %!!! +%%% +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 gerv - Glagolic letter"; cyrcharmoving(gerv); @@ -113,16 +196,168 @@ lhchar "Italic Cyrillic letter izhe"; cyrcharmoving(izhe); lhchar "Italic Cyrillic letter omga - omega"; -cyrcharmoving(omga); +%cyrcharmoving(omga);%restored for Unicode +cyrchar(omga,11u#,x_height#,0); +italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.15u# fi; %o+.35u +adjust_fit(if monospace:-.35u#,-.35u# else:0,0 fi); %bowl_adj +% ital_omega; +pickup fine.nib; pos2(stem,-180); lft x2r=hround.5u; y2=y4=y6=y8=bar_height; +pos3(vair,-90); pos4(hair,0); pos5(vair,90); +pos6(hair,180); pos7(vair,270); pos8(stem,360); +bot y3r=bot y7r=-oo; top y5r=vround(.2[y4,h]+.5vair); +x3=.5[x2,x4]; x7+.25u=.5[x6,x8]; rt x8r=hround(w-.5u); +x5+.5stem=hround(.5[x2l,x8l]+.5stem)+eps; +x5=.5[x4,x6]; rt x4r-lft x6r=min(stem,2hair)+2eps; +y1+.5hair=h+oo; x1=min(x2l+1.25u,lft x6r); x9=w-x1; y9=y1; +pos1(hair,angle(2(x1-x2),y1-y2)+90); pos9(hair,-angle(2(x1-x2),y1-y2)+90); +if x4l<x6l: x4l:=x6l:=x5; fi +filldraw stroke z1e...z2e{down}...z3e{right} + ...{up}z4e...{left}z5e; % left arc +filldraw stroke z5e{left}...z6e{down}... + z7e{right}...{up}z8e...z9e; % right arc +%%% +penlabels(1,2,3,4,5,6,7,8,9); endchar; lhchar "Italic Cyrillic letter omga_rnd - omega round"; -cyrcharmoving(omga_rnd); +%cyrcharmoving(omga_rnd);%restored for Unicode +cyrchar(omga_rnd,11u#,x_height#,0); %f width +italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; +adjust_fit(if monospace:0,0 else:-.35u#,-.35u#fi); pickup fine.nib; +pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360); +interim superness:=1.075 superness; % +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 +pickup crisp.nib; +% dots +numeric bulb_diam; bulb_diam=hround 7/8[hair,flare]; +z5=z1r; z6=z3r; x5'=x6'=x1; pos5(bulb_diam,0); pos6(bulb_diam,0); +bot y5'=max(.5h+1,bot y1l-.7bulb_diam); +top y6'=min(.5h-1,top y3l+.7bulb_diam); +pos6'(min(bulb_diam,.7[hair,fudged.stem]),0); +pos5'(min(bulb_diam,.7[hair,fudged.stem]),0); +filldraw circ_stroke z5e--z5'e; filldraw circ_stroke z6e--z6'e; %dots +penlabels(1,2,3,4); endchar; lhchar "Italic Cyrillic letter ot - omega with te accent"; -cyrcharmoving(ot); +%cyrcharmoving(ot);%restored for Unicode +cyrchar(ot,11u#,x_height#+acc_height#,0); +italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.15u# fi; %o+.35u +adjust_fit(if monospace:-.35u#,-.35u# else:0,0 fi); %bowl_adj +full_h:=h; h:=x_height; +% ital_omega; +pickup fine.nib; pos2(stem,-180); lft x2r=hround.5u; y2=y4=y6=y8=bar_height; +pos3(vair,-90); pos4(hair,0); pos5(vair,90); +pos6(hair,180); pos7(vair,270); pos8(stem,360); +bot y3r=bot y7r=-oo; top y5r=vround(.2[y4,h]+.5vair); +x3=.5[x2,x4]; x7+.25u=.5[x6,x8]; rt x8r=hround(w-.5u); +x5+.5stem=hround(.5[x2l,x8l]+.5stem)+eps; +x5=.5[x4,x6]; rt x4r-lft x6r=min(stem,2hair)+2eps; +y1+.5hair=h+oo; x1=min(x2l+1.25u,lft x6r); x9=w-x1; y9=y1; +pos1(hair,angle(2(x1-x2),y1-y2)+90); pos9(hair,-angle(2(x1-x2),y1-y2)+90); +if x4l<x6l: x4l:=x6l:=x5; fi +filldraw stroke z1e...z2e{down}...z3e{right} + ...{up}z4e...{left}z5e; % left arc +filldraw stroke z5e{left}...z6e{down}... + z7e{right}...{up}z8e...z9e; % right arc +%%% +% the accent +%%%%% +% the accent +% low_te(16); +_zero:=5; +_one:=10; _two:=11; _three:=12; _four:=13; +_five:=14; _six:=15; _seven:=16; _eight:=17; _nine:=18; +% +if serifs: pickup crisp.nib; + else: pickup pencircle scaled min(.5fine,.15vair); fi +numeric stem[]; stem1=if hefty: fudged.hair-2stem_corr else: .7[vair,stem] fi; +stem2=if serifs: vair else: max(currentbreadth+eps,.6[thin_join,vair]) fi; +stem3=if serifs: hair else: max(currentbreadth+eps,.6[thin_join,vair]) fi; +pos[_one](stem1,0); pos[_two](stem1,0); +lft x[_one]l=lft x[_two]l=hround(x[_zero]-.5stem1); +numeric mid_thickness; +mid_thickness=vround if serifs:1/4 else: 1/3 fi[vair,stem]; +bot y[_two]=bot y[_four]=bot y[_five]= + vround max(h+o+max(tiny,.5mid_thickness),1/3[h,h+acc_height]+o-.5mid_thickness); +top y[_one]=top y[_three]r=max(h+acc_height,bot y[_two]+1.5vair); +filldraw stroke z[_one]e--z[_two]e; % stem +pos[_three](stem2,90); pos[_four](stem3,0); pos[_five](stem3,180); +x[_three]=x[_one]; +rt x[_four]r=hround(x[_zero]+2.5u if monospace:/expansion_factor fi+.5vair); +x[_four]-x[_three]=x[_three]-x[_five]; +z[_four]'=beak_darkness[(x[_four]l,y[_three]l), + .5[(x[_one]r,y[_three]l),z[_four]l] ]; +z[_five]'=beak_darkness[(x[_five]l,y[_three]l), + .5[(x[_one]l,y[_three]l),z[_five]l] ]; +filldraw z[_four]r--z[_four]l{up}...z[_four]' + ...{left}(x[_one]r,y[_three]l)--(x[_one]r,y[_three]l){left}...z[_five]' + ...{down}z[_five]l--z[_five]r--- + (x[_five]r,y[_three]r)---(x[_four]r,y[_three]r)---cycle; +%%% +penlabels(1,2,3,4,5,6,7,8,9); endchar; -lhchar "Italic Cyrillic letter omga_tlo"; -cyrcharmoving(omga_tlo); +lhchar "Italic Cyrillic letter omga_tlo - omega titlo"; +%cyrcharmoving(omga_tlo);%restored for Unicode +cyrchar(omga_tlo,11u#,x_height#+acc_height#,0); +italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.15u# fi; %o+.35u +adjust_fit(if monospace:-.35u#,-.35u# else:0,0 fi); %bowl_adj +full_h:=h; h:=x_height; +% ital_omega; +pickup fine.nib; pos2(stem,-180); lft x2r=hround.5u; y2=y4=y6=y8=bar_height; +pos3(vair,-90); pos4(hair,0); pos5(vair,90); +pos6(hair,180); pos7(vair,270); pos8(stem,360); +bot y3r=bot y7r=-oo; top y5r=vround(.2[y4,h]+.5vair); +x3=.5[x2,x4]; x7+.25u=.5[x6,x8]; rt x8r=hround(w-.5u); +x5+.5stem=hround(.5[x2l,x8l]+.5stem)+eps; +x5=.5[x4,x6]; rt x4r-lft x6r=min(stem,2hair)+2eps; +y1+.5hair=h+oo; x1=min(x2l+1.25u,lft x6r); x9=w-x1; y9=y1; +pos1(hair,angle(2(x1-x2),y1-y2)+90); pos9(hair,-angle(2(x1-x2),y1-y2)+90); +if x4l<x6l: x4l:=x6l:=x5; fi +filldraw stroke z1e...z2e{down}...z3e{right} + ...{up}z4e...{left}z5e; % left arc +filldraw stroke z5e{left}...z6e{down}... + z7e{right}...{up}z8e...z9e; % right arc +%%% +% the accent +h:=full_h; +% low_palatal(expr .5w+u,0,-o); +x_center:=.5w+u; x_move:=0; y_move:=-o; +_one:=10; _two:=11; _three:=12; _four:=13; +_five:=14; _six:=15; _seven:=16; _eight:=17; _nine:=18; +% +% frown part +pickup fine.nib; numeric frown_width,flare_width; +frown_width=max(fine.breadth,.6[thin_join,vair]); +flare_width=max(fine.breadth,.5[thin_join,flare]); +penpos[_one](frown_width,180); penpos[_three](frown_width,0); +penpos[_two](frown_width,90); +top y[_two]r=y_move+x_height+max(if serifs:.75 fi acc_height,frown_width+1); +x[_two]=x_center-u; lft x[_one]r=hround(x[_two]-1.5u-0.5frown_width); +rt x[_three]r=hround(x[_two]+1.5u+0.5frown_width); +bot y[_one]=bot y[_three]=y_move+vround + max(x_height+oo+tiny,1/3[x_height,h]+oo-.5frown_width); +%fill stroke z[_one]e{up}...z[_two]e{right}...{down}z[_three]e; % stroke +% tilde part +penpos[_five](frown_width,180); penpos[_seven](frown_width,90); +penpos[_seven]'(flare_width,0); +bot y[_six]l=y[_two]r+.5flare_width; +rt x[_five]l=x[_one]r-.5flare_width; +x[_six]=x[_two]+.25u; x[_six]-x[_five]l=x[_seven]'l-x[_six]; +rt x[_seven]=max(x[_six]+5.5u + if monospace:/expansion_factor fi,x[_three]r+.5frown_width); +penpos[_six](flare_width,90); +bot y[_five]=bot y[_seven]'=bot y[_one]; bot y[_seven]l=x_height+oo; +forsuffixes e=l,r: path p.e; +p.e=(x[_five]e,y[_five]e+.5fine){up} + ...z[_six]e{right}...{down}z[_seven]'e; endfor +fill subpath(0,1.5) of p.l..tension.85.. + {right}(x[_seven]l-.5fine,y[_seven]l) + ...z[_seven]...(x[_seven]r-.5fine,y[_seven]r){left} + ..tension.85..reverse subpath(0,1.6) of p.r...z[_five]...cycle; % stroke +%%% +penlabels(1,2,3,4,5,6,7,8,9); endchar; lhchar "Italic Cyrillic letter koppa (looks like c with tail)"; cyrchar(koppa,8u#,x_height#,desc_depth#); @@ -141,7 +376,50 @@ ellipse_set(2l,3l,4l,5l); ellipse_set(2r,3r,4r,5r); penlabels(0,1,2,3,4,5,6); endchar; lhchar "Italic Cyrillic letter uk"; -cyrcharmoving(uk); +%cyrcharmoving(uk);%restored for Unicode +cyrchar(uk,9.75u#,asc_height#,0); +italcorr asc_height#*slant-.5u#; +adjust_fit(0,0); +% 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 hefty: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=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:=vround(y2l+max(1,serif_drop)+eps); +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 +if serif_drop>0: + pos12(slab,90); lft x12=x2l-.5jut-eps; 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 +fi +%%%%% +penlabels(0,1,2,3,4,5,6,7,8,9); endchar; lhchar "Italic Cyrillic letter cherv - old che"; cyrcharmoving(cherv); @@ -180,10 +458,92 @@ lhchar "Italic Cyrillic letter shta - old sh"; cyrcharmoving(shta); lhchar "Italic Cyrillic letter ib_yus - iot big yus"; -cyrcharmoving(ib_yus); +%cyrcharmoving(ib_yus);%restored for Unicode +cyrchar(ib_yus,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'r=z1; z7'r=z2; +z7'l=whatever[z4l,z2l]; z6'l=whatever[z1r,z3r]; y6'l=y7'l=vround(y1-vair)-eps; +if x7'l<x6'l: x7'l:=x6'l+eps; fi +fill stroke z6'e--z7'e; % 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 %!!! +%%% +penlabels(1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,178,19,20); endchar; lhchar "Italic Cyrillic letter i_est - iot est (IC with mid-line)"; -cyrcharmoving(i_est); +%cyrcharmoving(i_est);%restored for Unicode +cyrchar(i_est,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#,0); +% 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 %!!! +%%% +penlabels(1,1',2,3,4,5,6,7,8,9,10,11,12); endchar; lhchar "Italic Cyrillic letter vnarrow_e"; cyrcharmoving(vnarrow_e); |