diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf | 78 |
1 files changed, 71 insertions, 7 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf b/Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf index b2cef9e2514..08231ad8c1b 100644 --- a/Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf +++ b/Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf @@ -4,7 +4,7 @@ %% Cyrillic font container with T2 encoding beta-support % % This file is future part of lxfonts package -% Version 3.5 // Patchlevel=0 +% Version 3.5 // Patchlevel=1 % (c) O.Lapko % % This package is freeware product under conditions similar to @@ -363,15 +363,18 @@ else: numeric light_hair; fi penlabels(1,2,3,4,5,6); endchar; +iff not variant_yat:% lhchar "Lowercase Cyrillic letter yat"; cyrchar(yat,9u#,x_height#+acc_height#,0); italcorr .5x_height#*slant+min(.5curve#-u#,-.25u#); adjust_fit(if serifs: serif_fit# else: 0 fi,if monospace:.5u# else:0 fi); +pickup tiny.nib; +top y1=min(if serifs: x_height+ 1.5u else: x_height+2u fi,h-eps); full_h:=h; h:=x_height; % lower_yat; -pickup tiny.nib; pos1(fudged.stem,0); pos2(fudged.stem,0); +pos1(fudged.stem,0); pos2(fudged.stem,0); lft x1l=lft x2l=hround (2.5u-.5fudged.stem); -top y1=x_height+ if serifs: 1.5u else: 2u fi; bot y2=0; +bot y2=0; filldraw stroke z1e--z2e; % body of stem if serifs: save slab; slab:=vair; % lower.slab nodish_serif(2,1,a,1/3,jut,b,1/3,.5jut) ; fi % lower serif @@ -394,10 +397,9 @@ fill stroke super_arc.e([_three],[_two])..z[_one]e; % lobe %%% h:=full_h; -y10=h;%y1+2jut; -if hefty: - filldraw z1l--(x1l,y10)--(x1r,y10)--z1r--cycle; % stem -else: x10=x1l-jut; x11=x1r+jut; y10=y11; +if serifs: + if monospace: top fi y10=h;%y1+2jut; + x10=x1l-jut-eps; x11=x1r+jut+eps; y10=y11; filldraw z1l--z10--z1r--cycle; filldraw z1l--z11--z1r--cycle; fi % swallow % hcross @@ -408,6 +410,68 @@ filldraw stroke z8e--z9e; % cross bar %%%%% penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar; +iff variant_yat:% +lhchar "Lowercase Cyrillic letter yat"; +cyrchar(yat,9u#,if serifs: if monospace: x_height#+acc_height# else:asc_height# fi else: x_height#+acc_height# fi,0); +italcorr .5x_height#*slant+min(.5curve#-u#,-.25u#); +adjust_fit(if serifs: if monospace: serif_fit# else:u#-.5width_adj#fi else: 0 fi,if monospace:.5u# else:0 fi); +pickup tiny.nib; +top y1=min(if serifs: x_height+ 1.5u else: x_height+2u fi,h-eps); +full_h:=h; h:=x_height; +% lower_yat; +pos1(fudged.stem,0); pos2(fudged.stem,0); +lft x1l=lft x2l=hround (2.5u-.5fudged.stem); +bot y2=0; +filldraw stroke z1e--z2e; % body of stem +if serifs: save slab; slab:=vair; % lower.slab + nodish_serif(2,1,a,1/3,jut,b,1/3,.5jut) ; fi % lower serif +% lsftsn_bowl(2); +_zero:=2; +_one:=3; _two:=4; _three:=5; _four:=6; _five:=7; +% +set_bar_axis; +penpos[_three](curve if hefty:-3stem_corr fi,0); +penpos[_four](vair',-90); penpos[_five](vair',-90); +z[_five]r=bot z[_zero]; y[_four]=y[_five]; +y[_three]=.5[y[_two]l,y[_four]l]; +y[_one]l=y[_two]l=y1.bh; y[_one]r=y[_two]r=y2.bh; +x[_two]l=x[_two]r=x[_four]=w-3.75u; %.5v_width+.75u; +x[_one]l=x[_one]r=x[_zero]; x[_three]r=hround(w-.6u); +x[_two]l:=x[_four]l:=x[_two]r-.25curve; +fill stroke + {{if not serifs: interim superness:=more_super; fi + z[_five]e..super_arc.e([_four],[_three])}} & + super_arc.e([_three],[_two])..z[_one]e; % lobe +%%% +h:=full_h; +if monospace: top y10=h;%y1+2jut; + x10=x1l-jut; x11=x1r+jut; y10=y11; + filldraw z1l--z10--z1r--cycle; + filldraw z1l--z11--z1r--cycle; % swallow +fi +if (serifs=true) and (monospace=false): + top y11=h; x11=x1; pos11(fudged.stem,0); + pickup tiny.nib; filldraw stroke z1e--z11e; % stem + numeric outer_jut; outer_jut=jut; + sloped_serif.l(11,2,ba,1/3,outer_jut,serif_drop); % upper serif + pickup crisp.nib; pos10(vair,90); pos8(hair,0); + y10r=x_height+1u; x10=x1; + pos9(hair,180); %x9=w-x8; + lft x9r=l+letter_fit+hround.45u; + y9=good.y(y10l-beak/1.4)-eps; + arm(10,9,f,beak_darkness,-.4beak_jut); % left arm and beak + x8-x10-u=x10-x9; y8=y9; + arm(10,8,e,beak_darkness,.4beak_jut); % right arm and beak +else: + % hcross + pickup crisp.nib; pos8(bar,90); pos9(bar,90); + lft x8=hround1/3u if serifs:-serif_fit fi; x9=x1r+2.5u; + top y8r=top y9r=vround x_height+eps; + filldraw stroke z8e--z9e; % cross bar +fi +%%%%% +penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar; + iff not specific:% lhchar "Lowercase Cyrillic letter b_yus - big yus (`roman')"; cyrchar(b_yus,15u#,x_height#,0); |