diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/lgt2lou.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/lh/base/lgt2lou.mf | 84 |
1 files changed, 39 insertions, 45 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/lgt2lou.mf b/Master/texmf-dist/fonts/source/lh/base/lgt2lou.mf index 2b4dfdf2490..91dd1af7a91 100644 --- a/Master/texmf-dist/fonts/source/lh/base/lgt2lou.mf +++ b/Master/texmf-dist/fonts/source/lh/base/lgt2lou.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=1 +% 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: % @@ -31,12 +31,14 @@ % M_dsc "4c L - - "88 Em with descender % ABH_HA "4e N - - "97 Abkhasian kha % P_tl "4f O - - "80 Pe with tail +% % R_dsc "50 P - - "85 Er with descender % LAT_Q "51 Q - - - Latin letter Q % T_dsc "52 R - - "82 Te with descender % TETSE "54 T - - "81 Ligature Te-Tse % CH_vcrs "56 V "97 - - Che vertically crossed % LAT_W "57 W - - - Latin letter W +% % N_ltl "1c - - "99 En with left tail % DELTA "1e - "86 - Delta % M_tl - - - "8e Em with tail @@ -44,12 +46,13 @@ % S_acrs - - - "91 Es acute crossed % G_crsdsc - - "80 - Ghe crossed with descender % H_hcrs - - "94 - Kha horisontally crossed +% % SEMISN - - - "93 Semi Soft Sign % I_shdsc - - - "94 I Short with descender % R_tl - - - "9b Er with tail % -LHver_check(3,4); % like |version_check| in ec +LHver_check(3,5); % like |version_check| in ec lhchar "Uppercase Cyrillic letter AE - ligature AE"; cyrchar(AE,16u#,cap_height#,0); @@ -222,6 +225,7 @@ else: easy_ogonek(the_pen,9,10,11); % ogonek penlabels(0,1,2,3,4,5,6,7,8, 9,10,11); endchar; +iff not concrete:% iff not specific:% lhchar "Uppercase Cyrillic letter K_vcrs - KA vcrossed (`roman')"; cyrchar(K_vcrs,15u# if not serifs:+.5width_adj# fi, % N_width+1.5u @@ -277,6 +281,7 @@ top y11-bot y9=.5cap_height; .52[y9,y11]=y7; filldraw stroke z9e--z11e; % cross bar penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar; +iff not concrete:% iff not specific:% lhchar "Uppercase Cyrillic letter K_hcrs - KA hcrossed (`roman')"; cyrchar(K_hcrs,13.5u#,cap_height#,0); % N_width @@ -326,18 +331,19 @@ if serifs: pickup crisp.nib; numeric outer_jut; outer_jut=if serifs: max(limit_dist,1.1cap_jut) else: 1.8u fi; pos7(bar,90); pos8(bar,90); -top y7r=top y8r=vround (min(.5[x_height,h]+.5bar,h-max(bracket,1.2slab))-eps); +top y7r=top y8r=vround (min(1/3[x_height,h]+.5bar,h-max(bracket,1.2slab))-eps); x7=x1r+1.15outer_jut; x8=hround 1/3u-cap_serif_fit; filldraw stroke z7e--z8e; % cross bar penlabels(1,2,3,4,5,6, 7,8); endchar; +iff not concrete:% lhchar "Uppercase Cyrillic letter L_dsc - EL descender"; cyrchar(L_dsc,13.5u#,cap_height#, % DL_width:N_width if is_ogonek: desc_depth# else: cap_sbeak# fi); %udesc/og_depth if is_small_cap: getcharcode(l_dsc); fi italcorr cap_height#*slant-cap_serif_fit#+cap_jut#-2.5u#+min(.5cap_stem#,u#); adjust_fit(cap_serif_fit# if not serifs: - +\\.5(cap_stem#-u#),.5(cap_stem#-u#)+ else:,fi\\ cap_serif_fit#); %D_adj + +\\.5(cap_stem#-u#),.5(cap_stem#-u#)+ else:,fi\\ cap_serif_fit#); %D_adj % upper_l; pickup tiny.nib; pos1(cap_stem,0); pos2(cap_stem,0); rt x1r=rt x2r=w-hround max(2u,3u-.5cap_stem); top y1=h; bot y2=0; @@ -385,19 +391,15 @@ if serifs: nodish_serif(3,0,e,1/3,1.05cap_jut,f,1/3,inner_jut); % upper left serif filldraw z.c0--z.c1--z.f1--z.f0--cycle; fi % upper inter_serif bar %%%%% -% uppercase descender/ogonek -if is_ogonek: - def the_pen=if known ogonek_pen: ogonek_pen - elseif serifs: tiny elseif is_bold: fisp else: fine fi - enddef; - % |diag_end| refers to |tiny| pen, hence |tiny| in the following equation: - ogonek_pos=(x2 if not serifs: l if is_bold: +.75tiny fi\\ fi,.5the_pen) - if serifs and not is_egyptian: +(.5xvair,0) fi; - easy_ogonek(the_pen,7,8,9); % ogonek +% uppercase descender/saam tail +numeric right_jut; +right_jut= + if serifs: max(limit_dist,cap_jut) else: hround (r-rt x2r-.65u) fi; +if unic: + %saam tail + serif(2,1,v,1/3,-cap_jut); + siam_serif(2,1,w,1/3,right_jut); else: - numeric right_jut; - right_jut= - if serifs: max(limit_dist,1.1cap_jut) else: hround (r-rt x2r-.65u) fi; r_serif(2,1,x,1/3,cap_jut,y,1/3,beak_darkness,right_jut,beak_jut); % lower right descender fi penlabels(1,2,3,4,5,6, 7,8,9); endchar; @@ -452,18 +454,14 @@ if serifs: dish_serif(4,3,e,1/3,cap_jut,f,1/3,cap_jut); fi %!!! % lower right serif fi %%%%% -% uppercase descender/ogonek -if is_ogonek: - def the_pen=if known ogonek_pen: ogonek_pen - elseif serifs: tiny elseif is_bold: fisp else: fine fi - enddef; - % |diag_end| refers to |tiny| pen, hence |tiny| in the following equation: - ogonek_pos=(x4 if not serifs: l if is_bold: +.4tiny fi\\ fi,.5the_pen) - if serifs and not is_egyptian: +(.5xvair,0) fi; - easy_ogonek(the_pen,9,10,11); % ogonek +% uppercase descender/saam tail +numeric right_jut; +right_jut=if serifs: max(limit_dist,1.1cap_jut) else: hround (r-rt x4r-.65u) fi; +if unic: + %saam tail + serif(4,3,v,1/3,-cap_jut); + siam_serif(4,3,w,1/3,right_jut); else: - numeric right_jut; - right_jut=if serifs: max(limit_dist,1.1cap_jut) else: hround (r-rt x4r-.65u) fi; r_serif(4,3,x,1/3,cap_jut,y,1/3,beak_darkness,right_jut,beak_jut); % lower right descender fi penlabels(0,1,1',2,3,3',4,5,6,7,8, 9,10,11); endchar; @@ -865,14 +863,14 @@ if serifs: pos[_two](vair',-90); pos[_three](hair,-180); pos[_four](bulb_diam,-180); x[_two]=.5[x[_one],x[_three]r]; - bot y[_two]r=-d-oo; y[_three]-.5bulb_diam=-.85d; + bot y[_two]r=-d-oo; y[_three]-.5bulb_diam=vround max(-.85d,y[_two]r+eps)+eps; z[_three]r=z[_four]r; %rt x[_four]l=floor x[_zero]-2u if monospace: / expansion_factor fi;%2.5u lft x[_four]r=-1/3u if monospace: / expansion_factor fi;%2.5u %filldraw stroke z[_five]e--pulled_arc.e([_one],[_two]); forsuffixes e=l,r: z[_one]'e=((0,y[_four])--(w,y[_four])) intersectionpoint - (pulled_arc.e([_one],[_two])); endfor + (z[_five]e--pulled_arc.e([_one],[_two])); endfor if lft x[_one]'l>rt x[_four]l+max(1,.5vair+.5): filldraw stroke z[_five]e--pulled_arc.e([_one],[_two]); else: @@ -1004,7 +1002,7 @@ if serifs: pos[_two](vair',-90); pos[_three](hair,-180); pos[_four](bulb_diam,-180); x[_two]=.5[x[_one],x[_three]r]; - bot y[_two]r=-d-oo; y[_three]-.5bulb_diam=-.85d; + bot y[_two]r=-d-oo; y[_three]-.5bulb_diam=vround max(-.85d,y[_two]r+eps)+eps; z[_three]r=z[_four]r; rt x[_four]l=floor x[_zero]-2.5u if monospace: / expansion_factor fi; filldraw stroke z[_five]e--pulled_arc.e([_one],[_two]); @@ -1267,7 +1265,7 @@ if hefty: numeric upper_notch,lower_notch; upper_notch=y6-cap_notch_cut-eps; lower_notch=y5+cap_notch_cut+eps; if monospace: x5r =rt x1r; x6l =lft x3l; y5=vround(slab+eps); y6=vround(h-slab-eps); - alpha1=diag_ratio(1,stem1,y6-y5,x5r-x6l); + alpha1=diag_ratio(1,stem1,y5-y6,x5r-x6l); penpos5(min(2fudged.cap_stem,alpha1*stem1),0); penpos6(min(2fudged.cap_stem,alpha1*stem1),0); x5'=lft x1l; z5'=whatever[z5l,z6l]; x6'=rt x4r; z6'=whatever[z5r,z6r]; @@ -1299,19 +1297,15 @@ if serifs: dish_serif(4,3,g,1/3,inner_jut,h,1/3,cap_jut); fi % lower right serif fi %%% -% uppercase descender/ogonek -if is_ogonek: - def the_pen=if known ogonek_pen: ogonek_pen - elseif serifs: tiny elseif is_bold: fisp else: fine fi - enddef; - % |diag_end| refers to |tiny| pen, hence |tiny| in the following equation: - ogonek_pos=(x4 if not serifs: l if is_bold: +.75tiny fi\\ fi,.5the_pen) - if serifs and not is_egyptian: +(.5xvair,0) fi; - easy_ogonek(the_pen,14,15,16); % ogonek +% uppercase descender/saam tail +if not serifs: inner_jut:=0; fi +numeric right_jut; +right_jut=if serifs: max(limit_dist,1.1cap_jut) else: hround (r-rt x4r-.65u) fi; +if unic: + %saam tail + serif(4,3,v,1/3,-inner_jut); + siam_serif(4,3,w,1/3,right_jut); else: - if not serifs: inner_jut:=0; fi - numeric right_jut; - right_jut=if serifs: max(limit_dist,1.1cap_jut) else: hround (r-rt x4r-.65u) fi; r_serif(4,3,g,1/3,inner_jut,h,1/3,beak_darkness,right_jut,beak_jut); % lower right descender fi %%%%% |