summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/nont2/lgcvaci.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/nont2/lgcvaci.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/nont2/lgcvaci.mf51
1 files changed, 28 insertions, 23 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/nont2/lgcvaci.mf b/Master/texmf-dist/fonts/source/lh/nont2/lgcvaci.mf
index 7d24b549cae..5eb553bbd3a 100644
--- a/Master/texmf-dist/fonts/source/lh/nont2/lgcvaci.mf
+++ b/Master/texmf-dist/fonts/source/lh/nont2/lgcvaci.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:
%
@@ -48,7 +48,7 @@
% dje_ac
%
-LHver_check(3,4); % like |version_check| in ec
+LHver_check(3,5); % like |version_check| in ec
lhchar "Italic Cyrillic letter a_ac - a acute";
cyrchar_twice(a_ac,9u#,x_height#,0);
@@ -479,10 +479,10 @@ 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
+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,y12)..(w-u,y12)) intersectionpoint (z10l..z7l);
+ 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);
@@ -502,10 +502,12 @@ adjust_fit(if monospace: 3.5u#+else: 4.5u#+fi.5u#,
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);
+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;
@@ -514,13 +516,14 @@ if monospace: pos[_three](vair,90); pos[_one](stem,0);
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
+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
-y11=y12=bar_height; pos11(vair,90); pos12(vair,90);
- z11=((l,y11)..(w,y11)) intersectionpoint
+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,y12)..(w-u,y12)) intersectionpoint (z10l..z7l);
+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);
@@ -645,7 +648,7 @@ adjust_fit(if hefty:0,0 else:-.6u#,-.6u#fi);
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;%%%%%%%%%%%%%%
+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);
@@ -653,11 +656,11 @@ 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;%%%%%%%%%%%
+ 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:=y2l+serif_drop;
+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);
@@ -673,10 +676,12 @@ 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
+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
%%%%%
% the accent
hpos_corr=-u; put_accent(cyrcaph); repeat_once;