diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/lgcyrsym.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/lh/base/lgcyrsym.mf | 71 |
1 files changed, 46 insertions, 25 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/lgcyrsym.mf b/Master/texmf-dist/fonts/source/lh/base/lgcyrsym.mf index c832b975264..3f3e37f8fb9 100644 --- a/Master/texmf-dist/fonts/source/lh/base/lgcyrsym.mf +++ b/Master/texmf-dist/fonts/source/lh/base/lgcyrsym.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: % @@ -40,13 +40,14 @@ % baseqq "bd "bd German Opening quotes (looks like ,,) (ec: "12) % flqq "be "be Cyrillic Opening Quotes (looks like <<) (ec: "13) % frqq "bf "bf Cyrillic Closing Quotes (looks like >>) (ec: "14) +% grqq - - German Closing quotes (looks like ``) % % T1/T2-outsiders: % % pound ("bf) Sterling sign % -LHver_check(3,4); % like |version_check| in ec +LHver_check(3,5); % like |version_check| in ec lhchar "Cyrillic sign palochka (as latin I)"; cyrchar(palochka,max(6u#,4u#+cap_stem#),cap_height#,0); @@ -225,7 +226,7 @@ cyrchar(No,14.5u#+width_adj#,cap_height#,0); italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#); adjust_fit(if monospace: 0,0 else: cap_serif_fit# if serifs: +.5(flare#+(cap_stem#-stem#))-.25u#,cap_serif_fit# else:,0 fi fi); -full_w:=w; w:=if serifs: 10u else: 11.5u fi; +full_w:=w; w:=if serifs: 9.5u+.5flare-.5fudged.hair else: 11.5u fi; numeric thin_stem; thin_stem=hround(fudged.hair+stem_corr); pickup tiny.nib; pos1(thin_stem,0); pos2(thin_stem,0); pos3(thin_stem,0); pos4(thin_stem,0); @@ -233,19 +234,21 @@ pickup tiny.nib; top y1=h; if serifs: top y3=.79h; bot y2=.21h; else: top y3=h; bot y2=0; fi bot y4=0; x1=x2; x3=x4; x1l=w-x3r; -rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem); if serifs: numeric bulb_diam; bulb_diam=flare+(cap_stem-stem); + rt x3r=hround min(w-max(2u,bulb_diam-2thin_stem-letter_fit),w-3u+.5fudged.cap_stem)+eps; pos21(thin_stem,-90); pos22(cap_hair,-180); pos23(bulb_diam,-180); pos31(thin_stem,-90); z31'=z31; pos31'(thin_stem,90); pos32(cap_hair,0); pos33(bulb_diam,0); - y23=vround max(.05fig_height+.5bulb_diam,.1fig_height-.5flare)-o;% - lft x23r=l+letter_fit+.15u; x33=w-x23; y33=h-y22; + y23=vround max(.05fig_height+.5bulb_diam,.1fig_height-.5bulb_diam)-o;% + lft x23r=min(l+letter_fit+.15u,rt x2r-bulb_diam-1)-eps; x33=w-x23; y33=h-y22; x21=max(lft x23r+.5bulb_diam,.45[lft x23r,rt x2r]); x31=w-x21; bot y21r=-oo; top y31l=h+oo; bulb(21,22,23); bulb(31',32,33); - filldraw stroke z1e--z2e & pulled_arc.e(2,21); % left stem - filldraw stroke z4e--z3e & pulled_arc.e(3,31); % right stem -else: filldraw stroke z1e--z2e; filldraw stroke z4e--z3e; fi + filldraw stroke z1e--z2e &{{interim superness:=more_super; super_arc.e(2,21)}}; % left stem + filldraw stroke z4e--z3e &{{interim superness:=more_super; super_arc.e(3,31)}}; % right stem +else: + rt x3r=hround min(w-2u,w-3u+.5fudged.cap_stem); + filldraw stroke z1e--z2e; filldraw stroke z4e--z3e; fi if hefty: penpos5(fudged.cap_stem,0); penpos6(fudged.cap_stem,0); x5l=x1; x6r=x4; y5=h; y6=0; numeric upper_notch,lower_notch; @@ -266,18 +269,19 @@ if serifs: if hefty: serif(1,2,a,1/3,-cap_jut); % upper left serif fi w:=full_w; penpos71(vair,90); penpos73(vair',-90); -if serifs: x72r=x33+hround max(.25u,u-.4curve); x74r=hround(w-.5u); +if serifs: x72r=x33+hround max(.1u,u-.75flare); x74r=hround(w-.5u); else: x72r=x3+1.25u+hround max(0,.75u-.4curve); x74r=hround(w-u); fi penpos72(min(1/3(x74r-x72r),.8curve),180); penpos74(min(1/3(x74r-x72r),.8curve),0); -x71=x73=.5[x72r,x74r]; y71r=h-3u+vround 1.5oo; y73r=x_height-3u-oo; -y72=y74=.5[h,x_height]-3u-vair_corr; y72l:=y74l:=.52[h,x_height]-3u; +x71=x73=.5[x72r,x74r]; y71r=h-max(3u,flare+(cap_stem-stem)+1.5oo)+vround 1.5oo; +y73r=x_height-3u-oo; +y72=y74=.5[y71r,y73r]-vair_corr; y72l:=y74l:=.52[h,x_height]-3u; penstroke pulled_arc.e(71,72) & pulled_arc.e(72,73) & pulled_arc.e(73,74) & pulled_arc.e(74,71) & cycle; % bowl pickup fine.nib; pos81(bar,90); pos82(bar,90); lft x81=x72r-.25fine; rt x82=x74r+.25fine; y81=y82=.8x_height-3u; filldraw stroke z81e--z82e; -penlabels(1,1',2,3,4,4',5,6,7); endchar; +penlabels(1,1',2,3,4,4',5,6,7, 21,22,23, 31',32,33); endchar; lhchar "Cyrillic Currency sign"; % from ec ... from rsym (wasy) cyrchar(currency,1.13 min(asc_height#,9/7x_height#)+2u#, @@ -356,8 +360,8 @@ numeric the_shift,shift_corr; the_shift=hround(max(3u,1.7stem)); shift_corr=the_shift-3u; pos1(max(fine.breadth, if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); -pos2(max(fine.breadth,if serifs: - if monospace: qvair else: stem fi else:7/8[vair,fudged.hair] fi),0); +pos2(max(fine.breadth,if serifs: + if hefty: qvair else: stem fi else:7/8[vair,fudged.hair] fi),0); pos3(max(fine.breadth, if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); rt x1r=rt x3r= @@ -372,9 +376,12 @@ if hefty: filldraw stroke z1e--z2e--z3e; % outer < filldraw stroke z1'e--z2'e--z3'e; % inner < else: - pos1'(qvair,0); - pos2'(7/8 [hair,stem],0); - pos3'(qvair,0); + pos1'(max(fine.breadth, + if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); + pos2'(max(fine.breadth,if serifs: + 2/3[vair,fudged.stem] else: 7/8[vair,fudged.hair] fi),0); + pos3'(max(fine.breadth, + if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); z2'=z2+the_shift*right; y1'-y2'=y2'-y3'=.8(y1-y2); z1'=z2'+whatever*(z1r-z2r); z3'=z2'+whatever*(z2r-z3r); @@ -401,8 +408,8 @@ numeric the_shift,shift_corr; the_shift=hround(max(3u,1.7stem)); shift_corr=the_shift-3u; pos1(max(fine.breadth, if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); -pos2(max(fine.breadth,if serifs: - if monospace: qvair else: stem fi else:7/8[vair,fudged.hair] fi),0); +pos2(max(fine.breadth,if serifs: + if hefty: qvair else: stem fi else:7/8[vair,fudged.hair] fi),0); pos3(max(fine.breadth, if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); lft x1l=lft x3l=w- @@ -417,9 +424,12 @@ if hefty: filldraw stroke z1e--z2e--z3e; % outer < filldraw stroke z1'e--z2'e--z3'e; % inner < else: - pos1'(qvair,0); - pos2'(7/8 [hair,stem],0); - pos3'(qvair,0); + pos1'(max(fine.breadth, + if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); + pos2'(max(fine.breadth,if serifs: + 2/3[vair,fudged.stem] else: 7/8[vair,fudged.hair] fi),0); + pos3'(max(fine.breadth, + if serifs: qvair else: 7/8[vair,fudged.hair]-3stem_corr fi),0); z2'=z2+the_shift*left; y1'-y2'=y2'-y3'=.8(y1-y2); z1'=z2'+whatever*(z1l-z2l); z3'=z2'+whatever*(z2l-z3l); @@ -455,5 +465,16 @@ pos10(bar,90); pos11(bar,90); x10=3u; x11=w-4.5u; top y10r=top y11r=vround(.5h+.5bar); filldraw stroke z10e--z11e; % bar penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar; +iff (altcoding and (ligs <> 0)): % for CM +lhchar "Cyrillic `German close quotes' (like English opening quotes)"; +cyrchar(grqq,7u#+max(2u#,dot_size#),asc_height#,0); +italcorr asc_height#*slant+dot_size#-4.1u#; +adjust_fit(0,0); +x1-.5dot_size=hround .6u; y2+.5dot_size=h; +x2-x1=hround(1.5u+max(2u,dot_size)); y2=y1; +ammoc(1,a,dot_size,.25u,comma_depth); % left dot and tail +ammoc(2,b,dot_size,.25u,comma_depth); % right dot and tail +penlabels(1,2); endchar; + endinput; %end of file |