summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/base/lgt2coml.mf78
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);