summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/nont2/lgunici.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/nont2/lgunici.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/nont2/lgunici.mf100
1 files changed, 96 insertions, 4 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/nont2/lgunici.mf b/Master/texmf-dist/fonts/source/lh/nont2/lgunici.mf
index 21fc1ffe47d..0fdbaca8d63 100644
--- a/Master/texmf-dist/fonts/source/lh/nont2/lgunici.mf
+++ b/Master/texmf-dist/fonts/source/lh/nont2/lgunici.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:
%
@@ -20,6 +20,8 @@
% List of letternames and their codes in Unicode
%
+% e_grv "50 E with grave
+% i_grv "5d I with grave
% gje "53 Ghe with acute
% kje "5c Ka with acute
% zh_brv "c2 Zhe with breve
@@ -33,6 +35,8 @@
% i_uml "e5 I with umlaut
% o_uml "e7 O with umlaut
% otld_uml "e9 O tilded with umlaut
+% ukre_uml -- Ukrainian E with umlaut
+% erev_uml "ed Erev with umlaut
% u_bar "ef U with macron (bar)
% u_uml "f1 U with umlaut
% u_dac "f3 U with double acute
@@ -40,7 +44,48 @@
% ery_uml "f9 Ery with umlaut
%
-LHver_check(3,4); % like |version_check| in ec
+LHver_check(3,5); % like |version_check| in ec
+
+lhchar "Italic Cyrillic letter e_grv - e grave";
+cyrchar_twice(e_grv,8u#,x_height#,0);
+italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#); %e
+adjust_fit(if monospace:0 else:-.35u#fi,0);
+% ital_e;
+pickup fine.nib; %numeric heavy_hair; heavy_hair=hround .2[hair,stem];%defined in lxpseudo
+pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(hair,320);
+x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
+y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
+top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
+filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+% the accent
+put_gravis; repeat_once;
+penlabels(0,1,2,3,4,5,6); endchar;
+
+lhchar "Italic Cyrillic letter i_grv - i grave";
+cyrchar_twice(i_grv,10u#,x_height#,0);
+italcorr 1/3x_height#*slant+.5hair#+.5u#;
+adjust_fit(0,0);
+% ital_i;
+pickup fine.nib; interim superness:=more_super;
+x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
+% left skewstem;
+if monospace: pos0(vair,90); x0=good.x .5[0,x2]; top y0l=h; y2=2/3h;
+ pos2(stem,0); filldraw stroke z2e{u,x_height}...{left}z0e; % terminal
+else: x0=0; hook_in(0,1,2)(skewed); fi % opening hook
+pos2'(stem,-180); z2'=z2;
+pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
+pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
+x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
+y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=h;
+filldraw stroke z2'e{-u,-x_height}
+ ...super_arc.e(3,4)...{up}z5e; % left stem and arc
+filldraw circ_stroke z6e--z7e; % right stem
+% the accent
+put_gravis; repeat_once;
+penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
lhchar "Italic Cyrillic letter kje (k acute)";
cyrchar_twice(kje,9u#,x_height#,0); %+acc_height#
@@ -361,6 +406,53 @@ fi
h:=full_h; lowercase_umlaut(0,0, 8,9,10,11);
penlabels(1,2,3,4,5,6,7, 8,9,10,11); endchar;
+lhchar "Italic Cyrillic letter ukre_uml - Ukrainian e (c with mid-line)";
+cyrchar(ukre_uml,8u#,lc_trema_height#,0);
+italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-.5u# fi; %c+.5u
+adjust_fit(if monospace:0 else:-.35u#fi,0); %c
+ full_h:=h; h:=x_height;
+% ital_ukre;
+pickup fine.nib; pos0(flare,0); pos1(hair,0); pos2(vair,90);
+pos3(curve,180); pos4(vair,270); pos5(hair,320);
+x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-.5u))+eps;
+lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
+y1=.5[bar_height,h]; top y2r=h+oo; bulb(2,1,0); % bulb
+bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height;
+path p; p=z4{right}..z5..z6;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+pos7(vair,90); pos8(vair,90);
+y7=bar_height; rt x7=hround max(rt x2+1+eps,lft x0l-eps); x8=x3; y7=y8;
+filldraw stroke z7e--z8e;
+%%%%%
+% the accent
+h:=full_h; lowercase_umlaut(0,0, 9,10,11,12);
+penlabels(1,2,3,4,5,6,7,8); endchar;
+
+lhchar "Italic Cyrillic letter erev_uml - reverse e umlaut";
+cyrchar(erev_uml,8u#,lc_trema_height#,0);
+italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi; %o
+adjust_fit(0,if monospace:0 else:-.35u# fi); %o
+h:=x_height;
+% ital_erev;
+pickup fine.nib;
+pos0(flare,180); pos1(hair,-180); pos2(vair,-90);
+pos3(curve,0); pos4(vair,90); pos5(hair,140);
+x2+.5u=x4=.5(w-u); lft x1r=min(lft x2,hround(.25u))-eps;
+rt x3r=w-hround(1.5u-.5curve); lft x5r=good.x (lft x1r-eps); x6=x5;
+y1-.5flare=.1h; bot y2r=-oo; bulb(2,1,0); % bulb
+top y4r=h+oo; y3=.5[y2,y4]; top y5r=vround .5[bar_height,h];
+y6=bar_height; path p; p=z4{left}....z5..z6;
+filldraw stroke pulled_arc.e(2,3)
+ & pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
+x7=x3; y7=bar_height; y8=y7; lft x8=hround min(lft x2-1-eps,rt x0l+eps);
+pos7(vair,90); pos8(vair,90);
+filldraw stroke z7e--z8e;
+%%%
+% the accent
+h:=full_h; lowercase_umlaut(0,0, 9,10,11,12);
+penlabels(0,1,2,3,4,5,6,7,8, 9,10,11,12); endchar;
+
lhchar "Italic Cyrillic letter u_bar - u bar (macron)";
cyrchar(u_bar,if monospace:8.5u# else:9u#fi,lc_trema_height#,desc_depth#);
italcorr x_height#*slant+.5stem#-u#;