summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/vntex/vnr/vnlyr.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/vntex/vnr/vnlyr.mf')
-rw-r--r--Master/texmf-dist/fonts/source/vntex/vnr/vnlyr.mf101
1 files changed, 101 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/vntex/vnr/vnlyr.mf b/Master/texmf-dist/fonts/source/vntex/vnr/vnlyr.mf
new file mode 100644
index 00000000000..39edb6b398b
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/vntex/vnr/vnlyr.mf
@@ -0,0 +1,101 @@
+% Copyright 2003-2005 Han The Thanh <hanthethanh@gmx.net>.
+% This file is part of vntex. License: LPPL, version 1.3 or newer,
+% according to http://www.latex-project.org/lppl.txt
+
+% Computer Modern Roman lower case "y" precomposed glyphs:
+% Inclusion:
+% y' y` y? y~ y.
+
+begin_letter(y);
+ set_letter_dimens(y)(
+ if serifs: 9.5u# else: 9u# fi, x_height#, desc_depth#,
+ x_height#*slant + .25u#,
+ serif_fit# if monospace: +\\.5u#, .5u#+ else: ,fi\\ serif_fit#
+ );
+ numeric left_stem, right_stem, bot_stem, bot_vair, outer_jut;
+ left_stem = fudged.stem - stem_corr;
+ right_stem = fudged.hair if hefty: -2stem_corr fi;
+ bot_stem = fudged.hair if hefty: -8stem_corr fi;
+ bot_vair = Vround(if serifs: vair else: .5[vair, bot_stem] fi);
+ outer_jut = .75jut;
+ x1l = w-x4r = l+letter_fit + outer_jut + .25u;
+ y1 = y4r = h;
+ y2 = y3 = 0;
+ x2l = x3l;
+ numeric alpha, alpha[];
+ x9 = 3u;
+ y9 = bot_vair - d-oo;
+ alpha1 = diag_ratio(2, bot_stem, y1 - y3, x4r - x1l - apex_corr);
+ alpha2 = diag_ratio(1, bot_stem, y1 - y9, x4r - x9);
+ if alpha1 < alpha2: x2l - x1l = x4r - x3r + apex_corr;
+ alpha = alpha1;
+ else: alpha = alpha2;
+ z3l = whatever[z9, z4r - (alpha*bot_stem, 0)];
+ fi
+ penpos3(alpha*bot_stem, 0);
+ penpos4(alpha*right_stem, 0);
+ alpha3 = (y1 ++ (x2l - x1l))/y1;
+ penpos1(alpha3*left_stem, 0);
+ penpos2(alpha3*left_stem, 0);
+ z0 = whatever[z1r, z2r] = z4l + whatever*(z3r - z4r);
+ if y0 > notch_cut: y0 := notch_cut;
+ fill z0 + .5right{up} ... {z4r - z3r}diag_end(0, 4l, 1, 1, 4r, 3r)
+ -- z3r -- z2l -- diag_end(2l, 1l, 1, 1, 1r, 2r){z2 - z1}
+ ... {down}z0 + .5left -- cycle; % left and right diagonals
+ else: fill z0 -- diag_end(0, 4l, 1, 1, 4r, 3r) -- z3r -- z2l
+ -- diag_end(2l, 1l, 1, 1, 1r, 0) -- cycle;
+ fi % left and right diagonals
+ penpos5(alpha*bot_stem, 0);
+ z5r = whatever[z3r, z4r];
+ y5 - .5vair=-.5d;
+ if serifs: numeric light_bulb;
+ light_bulb = hround 7/8[hair, flare];
+ clearpen;
+ penpos6(vair, -90);
+ penpos7(hair, -180);
+ penpos8(light_bulb, -180);
+ x6 = 2u;
+ y6r=-d - oo;
+ y8 - .5light_bulb=-.85d;
+ x8r = hround .35u;
+ fill stroke z3e --- z5e ... {left}z6e;
+ bulb(6, 7, 8); % arc and bulb
+ numeric inner_jut;
+ pickup tiny.nib;
+ prime_points_inside(1, 2);
+ prime_points_inside(4, 3);
+ if rt x1'r + jut + .5u + 1<=lft x4'l - jut: inner_jut = jut;
+ else: rt x1'r + inner_jut + .5u + 1=lft x4'l - inner_jut;
+ fi
+ dish_serif(1', 2, a, 1/3, outer_jut, b, 1/2, inner_jut); % left serif
+ dish_serif(4', 3, c, .6, inner_jut, d, 1/2, outer_jut)(dark); % right serif
+ else: penpos6(bot_vair, -90);
+ x6 = 2.5u;
+ y6r=-d - oo;
+ fill stroke z3e --- z5e ... {left}z6e; % arc
+ pickup fine.nib;
+ pos6'(bot_vair, -90);
+ z6' = z6;
+ pos7(2/3[bot_vair, flare], -85);
+ lft x7l = hround u;
+ bot y7r = vround - .96d - oo;
+ y7l := good.y y7l;
+ filldraw stroke term.e(6', 7, left, 1, 4);
+ fi % arc and terminal
+ penlabels(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
+ set_letter_join(y, x3, .5w#);
+ path dot_join_line;
+ dot_join_y := vp(max(vn_depth(y), vn_bot(dot_)) - .5vn_height(dot_));
+ dot_join_line := (0, -dot_join_y) -- (w, -dot_join_y);
+ z2' = whatever[z1, z2];
+ y2' = -dot_join_y;
+ set_letter_join(y.dot_, xpart point xpart(dot_join_line intersectiontimes
+ (z2 -- z2')) of dot_join_line,
+ .5w#);
+ vn_dot_shift_y(y) := max(vn_depth(y), vn_bot(dot_));
+ vn_depth(y.dot_) := vn_dot_shift_y(y);
+end_letter;
+
+input vnycomp;
+
+endinput;