% % lgrucu.mf % %% Cyrillic font container with T2 encoding beta-support % % This file is future part of lxfonts package % Version 3.5 // Patchlevel=1 % (c) O.Lapko % % 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 all this package as well) and to save it under the same name. % % Content: % % Uppercase Russian letters with shape for Concrete Mathematic % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % List of letternames % % D % ZH % K % L % YA % LHver_check(3,5); % like |version_check| in ec begingroup def is_egyptian = % |false| for most of the CM fonts, except funny fonts; % |true| for the CC fonts (serifs and (1.4max(fine#,crisp#, tiny#)stem#)) %added or (vair#>.5stem#) enddef; lhchar "Uppercase Russian letter D (`concrete' form)"; cyrchar(D,13.5u#,cap_height#, %N_width# cap_sbeak#); if is_small_cap: getcharcode(d); fi adjust_fit(cap_serif_fit# if not serifs: +\\.5(cap_stem#-u#),.5(cap_stem#-u#)+ else:,fi\\ cap_serif_fit#); %D_adj numeric left_stem,right_stem,outer_jut,alpha; right_stem=cap_stem-stem_corr; left_stem=min(cap_hair if hefty: -3stem_corr fi,right_stem); outer_jut=.8cap_jut; x1l=w-x4r=outer_jut+if serifs:.5 fi u; y1=y4=0; x2-x1=x4-x3; if serifs: x3l=x2r+((x1r-x4l)*(slab/(h-slab))) if not is_egyptian:-.25left_stem fi; else:x3r=x2r+apex_corr; fi y2=y3=h if not serifs:+apex_o+apex_oo fi; alpha=diag_ratio(2,left_stem,y2-y1,x4r-x1l-apex_corr); penpos1(alpha*left_stem,0); penpos2(alpha*left_stem,0); penpos3(alpha*right_stem,0); penpos4(alpha*right_stem,0); z0=whatever[z1r,z2r]=whatever[z3l,z4l]; if serifs: numeric left_jut; left_jut=cap_jut+left_stem; pickup tiny.nib; x35r=x3r; top y35=h; pos35(max(currentbreadth+eps,alpha*right_stem),0); fill stroke if is_egyptian: z1e--z2e else: z1e{(x2+2stem,y2)-z1}...{z2-(x1+.5stem,y1)}z2e fi; fill stroke z3e--z4e; x4:=x4r; serif(35,4,a,0,-left_jut); % upper serif if is_egyptian: else: x2:=x2+1.5stem; fi else: if y0