summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf99
1 files changed, 16 insertions, 83 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf b/Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf
index 73a226d11d5..317a8a6640a 100644
--- a/Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf
+++ b/Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.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=1
% (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:
%
@@ -29,7 +29,6 @@
% U_gr
% U_com
% ERY_bar
-% EREV_uml
% EREV_dot
% EREV_bar
% YU_bar
@@ -45,7 +44,7 @@
% CH_ldot
%
-LHver_check(3,4); % like |version_check| in ec
+LHver_check(3,5); % like |version_check| in ec
lhchar "Uppercase Cyrillic letter A_bar";
cyrchar(A_bar,13u#,cap_height#+acc_height#,0);
@@ -184,11 +183,12 @@ penstroke pulled_super_arc.e(1,2)(.5superpull)
y[_four]+.5bulb_diam=-d+y_move+height;
pos[_four](bulb_diam,90);
pos[_one](vair,90); pos[_two](vair,0); pos[_three](vair,-45);
- z[_one]r=z[_four]r; rt x[_two]r=hround(x[_four]+.5bulb_diam
+ z[_one]r=z[_four]r;
+ rt x[_two]r=hround max(rt x[_one]+eps,x[_four]+.5bulb_diam
+if monospace:.28u / expansion_factor else:.25u fi)+2eps;
x[_three]=x[_four]-.5u if monospace: /expansion_factor fi;
- y[_two]=1/3[y[_one],y[_three]];
- bot y[_three]r=vround(y[_four]-(height-.5bulb_diam));
+ y[_two]=1/3[y[_one],y[_three]]+eps;
+ bot y[_three]r=vround min(bot y[_four]-.5,y[_four]-(height-.5bulb_diam))-eps;
y_:=ypart((z[_one]{right}...z[_two]{down}...z[_three])
intersectiontimes (z[_four]l{right}..{left}z[_four]r));
if y_<0: y_:=1; fi
@@ -469,11 +469,12 @@ h:=full_h;
y[_four]+.5bulb_diam=h+y_move;
pos[_four](bulb_diam,90);
pos[_one](vair,90); pos[_two](vair,0); pos[_three](vair,-45);
- z[_one]r=z[_four]r; rt x[_two]r=hround(x[_four]+.5bulb_diam
+ z[_one]r=z[_four]r;
+ rt x[_two]r=hround max(rt x[_one]+eps,x[_four]+.5bulb_diam
+if monospace:.28u / expansion_factor else:.25u fi)+2eps;
x[_three]=x[_four]-.5u if monospace: /expansion_factor fi;
- y[_two]=1/3[y[_one],y[_three]];
- bot y[_three]r=vround(y[_four]-(height-.5bulb_diam));
+ y[_two]=1/3[y[_one],y[_three]]+eps;
+ bot y[_three]r=vround min(bot y[_four]-.5,y[_four]-(height-.5bulb_diam))-eps;
y_:=ypart((z[_one]{right}...z[_two]{down}...z[_three])
intersectiontimes (z[_four]l{right}..{left}z[_four]r));
if y_<0: y_:=1; fi
@@ -552,75 +553,6 @@ else:
penlabels(1,2,3,4,5,6,7,8,9, 10,11); endchar;
iff serifs:%
-lhchar "Uppercase Cyrillic letter EREV_uml - Reverse E umlaut";
-cyrchar(EREV_uml,13u#,cap_height#+acc_height#,0);
-if is_small_cap: getcharcode(erev_uml); fi
-italcorr cap_height#*slant-.5u#;
-adjust_fit(0,0); full_h:=h; h:=cap_height;
-% upper_erev;
- pickup fine.nib; pos1(cap_hair,180); pos2(cap_band,90);
- pos3(cap_curve,0); pos4(cap_band,-90); pos5(hair,-180);
- lft x1r=lft x5r=hround u;
- rt x3r=hround(w-u); x2=x4=.55[x3,x1];
- top y2r=h+o; bot y4r=-o; y3=.5h-vair_corr; y3l:=.52h;
- bot y1=min(vround.675h,bot y2l-eps); y5=max(good.y .95(h-y1),y4l+eps);
- (x2l',y2l)=whatever[z2r,z1l]; x2l:=max(x2l',x2l-.5u);
- (x4l',y4l)=whatever[z4r,z5l]; x4l:=max(x4l',x4l-.5u);
- filldraw stroke z1e{x2-x1,10(y2-y1)}...pulled_super_arc.e(2,3)(.5superpull)
- & pulled_super_arc.e(3,4)(.5superpull)...{up}z5e; % arc
- pos6(.3[fine.breadth,cap_hair],180); x6r=x1r; top y6=h+o;
- x1'-x1r=2cap_curve-fine; y1'=y1;
- path upper_arc; upper_arc=z1{x2-x1,10(y2-y1)}..z2{right};
- numeric t; t=xpart(upper_arc intersectiontimes (z6l--z1'));
- filldraw z1r--z6r--z6l--subpath(t,0) of upper_arc--cycle; % barb
-%%%
-%%% uerev_bar;
-numeric bar[]; y8=y7=y3;
-x8=x3l; x7=max(rt x1l+.5hair,0.85[x3l,x1l]);
-if (bar#<=.5curve#):
- penpos7(cap_bar,90); penpos8(cap_bar,90);
- bar2=7/8[cap_bar,fudged.cap_stem-3stem_corr];
- penpos9(bar2,45); z9=.475[z7l,z8l];
- fill circ_stroke z7e{2,1}..{2,-1}z9e..{2,1}z8e; % curve /\/
-else:
- pickup fine.nib; pos7(cap_bar,90); pos8(cap_bar,90);
- filldraw stroke z7e--z8e; % bar --
-fi
-%%%
-% the accent
-h:=full_h; uppercase_umlaut(x2-.5w,0, 10,11,12,13);
-penlabels(1,1',2,3,4,5,6,7,8,9, 10,11,12,13); endchar;
-
-iff not serifs:%
-lhchar "Uppercase Cyrillic letter EREV_uml - Reverse E umlaut";
-cyrchar(EREV_uml,11.5u#,cap_height#+acc_height#,0);
-if is_small_cap: getcharcode(erev_uml); fi
-italcorr cap_height#*slant-.5u#;
-adjust_fit(0,0); full_h:=h; h:=cap_height;
-% uppers_erev;
- pickup fine.nib; pos1(1.2flare,100); pos2(slab,90);
- pos3(cap_curve,0); pos4(slab,-90); pos5(flare,-95);
- lft x1r=hround1.1u; x2=x4=w-(.5w+1.25u);
- rt x3r=w-hround max(u,2u-.5cap_curve);
- lft x5r=hround.9u;
- top y1r=vround .95h+o; top y2r=h+o; y3=.5h;
- bot y4r=-o; bot y5r=vround .08h-o; y5l:=good.y y5l; x5l:=good.x x5l;
- filldraw stroke rterm.e(2,1,left,.9,4) & super_arc.e(2,3)
- & super_arc.e(3,4) & term.e(4,5,left,.8,4);
-%%%
-% urevs_bar;
-pickup fine.nib; numeric bar[];
-bar1=if is_small_cap: max(fine.breadth+eps,.6[thin_join,vair])
- else: cap_bar fi;
-pos6(bar1,90); pos7(bar1,90);
-y7=y6=y3; x7=x3l; x6=max(rt x1l+.5hair,0.85[x3l,x1l]);
-filldraw stroke z6e--z7e; % bar --
-%%%%%
-% the accent
-h:=full_h; uppercase_umlaut(x2-.5w,0, 8,9,10,11);
-penlabels(1,1',2,3,4,5,6,7, 8,9,10,11); endchar;
-
-iff serifs:%
lhchar "Uppercase Cyrillic letter EREV_dot - Reverse E dot";
cyrchar_twice(EREV_dot,13u#,cap_height#+acc_height#,0);
if is_small_cap: getcharcode(erev_dot); fi
@@ -1180,11 +1112,12 @@ if serifs: dish_serif(2,1,c,1/3,1.414cap_jut,d,1/3,1.414cap_jut); % lower serif
y[_four]+.5bulb_diam=-d+y_move+height;
pos[_four](bulb_diam,90);
pos[_one](vair,90); pos[_two](vair,0); pos[_three](vair,-45);
- z[_one]r=z[_four]r; rt x[_two]r=hround(x[_four]+.5bulb_diam
+ z[_one]r=z[_four]r;
+ rt x[_two]r=hround max(rt x[_one]+eps,x[_four]+.5bulb_diam
+if monospace:.28u / expansion_factor else:.25u fi)+2eps;
x[_three]=x[_four]-.5u if monospace: /expansion_factor fi;
- y[_two]=1/3[y[_one],y[_three]];
- bot y[_three]r=vround(y[_four]-(height-.5bulb_diam));
+ y[_two]=1/3[y[_one],y[_three]]+eps;
+ bot y[_three]r=vround min(bot y[_four]-.5,y[_four]-(height-.5bulb_diam))-eps;
y_:=ypart((z[_one]{right}...z[_two]{down}...z[_three])
intersectiontimes (z[_four]l{right}..{left}z[_four]r));
if y_<0: y_:=1; fi