diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/lh/nont2/lgcaccu.mf | 99 |
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 |