1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
%
% lgrlig.mf
%
%% Cyrillic font container with T2 encoding beta-support
%
% This file is future part of lxfonts package
% Version 3.4 // Patchlevel=1
% (c) O.Lapko
%
% This package belongs to the public domain 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.
%
% Content:
%
% roman dotless i,j
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Special letters
%
% i_dotl "19 i dotless
% j_dotl "1a j dotless
% ff-ligs (lgrligff.mf)
%
LHver_check(3,4); % like |version_check| in ec
if (roman_ec=true) and (old_cyr=false):
input lgrligff;
fi % roman_ec
lhchar "Lowercase Cyrillic letter dotless i";
cyrchar(i_dotl,5u#,x_height#,0);
italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
adjust_fit(serif_fit#+stem_shift# if monospace:+.25u#fi,serif_fit#-stem_shift#);
pickup tiny.nib; pos1(stem',0); pos2(stem',0);
if odd(w-stem'): change_width; fi
lft x1l=hround(.5w-.5stem'); x1=x2;
top y1=x_height if serifs: +min(oo,serif_drop) fi; bot y2=0;
filldraw stroke z1e--z2e; % stem
if serifs: sloped_serif.l(1,2,a,1/3,.95jut,serif_drop); % upper serif
save slab; slab:=vair';%serif.lower.slab
dish_serif(2,1,b,1/3,jut,c,1/3,.9jut); fi % lower serif
penlabels(1,2); endchar;
lhchar "Lowercase Cyrillic letter dotless j";
cyrchar(j_dotl,5.5u#,x_height#,desc_depth#);
italcorr x_height#*slant-serif_fit#+.5stem#-2u#;
adjust_fit(serif_fit#+2stem_shift# if monospace:+.5u# fi,
serif_fit#-2stem_shift# if monospace:-.5u# fi);
pickup tiny.nib; pos1(stem',0); pos2(stem',0);
rt x1r=hround(.5w+.25u+.5stem'); x1=x2;
top y1=x_height if serifs: +min(oo,serif_drop) fi; bot y2=-1/3d;
filldraw stroke z1e--z2e; % stem
if serifs: sloped_serif.l(1,2,a,1/3,1.1jut,serif_drop); % upper serif
pickup tiny.nib; pos5(vair,-90); pos6(hair,-180); pos7(flare,-180);
x5=.5[x2,x6r]; bot y5r=-d-oo; y6-.5flare=-.88d;
if monospace: lft x6r=0 else: z6r=z7r; rt x7l=floor .75u fi;
(x,y5r)=whatever[z5l,z2l]; x5r:=max(x,.5[x6r,x5]);
filldraw stroke z2e{down}...z5e{left}; bulb(5,6,7); % arc and bulb
else: pickup fine.nib; pos2'(stem',0); z2'=z2;
pos6(.2[vair,stem'],-90); pos7(vair,-90);
lft x7r=hround -.75u; bot y7r=vround 5/6(-d-oo);
x3r=x1r; top y4r=min(2x_height,h+1);
(x,y7l)=whatever[z7r,(x1,min(h,asc_height))]; x7l:=x;
z5r=z2'r; (x2'l,y5l)=whatever[z7l,z5r]; x5l=x2'l; y5=y5r;
x6r=.5[x7r,x5r]; x6l:=.5[x7l,x5l]; bot y6r=-d-oo;
filldraw stroke z2'e..{down}z5e & super_arc.e(5,6)
& term.e(6,7,left,1,4); fi % arc and terminal
penlabels(1,2,5,6,7); endchar;
endinput;
%end of file
|