% 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 "u" precomposed glyphs:
% Inclusion:
%               u'      u`      u?      u~      u.
%       u+      u+'     u+`     u+?     u+~     u+.

begin_letter(u);
    set_letter_dimens(u)(
        10u#, x_height#, 0,
        x_height#*slant - serif_fit# + .5stem# - 2u#,
        serif_fit# + stem_shift#, serif_fit# - stem_shift#
    );
    numeric light_vair;
    light_vair = vair if hefty: -vround 2vair_corr fi;
    if light_vair < fine.breadth: light_vair := fine.breadth;
    fi
    pickup tiny.nib;
    pos1(stem, 0);
    pos2(stem, 0);
    pos3(stem, 0);
    pos4(stem', 0);
    lft x1l = hround(2.5u - .5stem);
    x1 = x2;
    x3 = w - x1;
    x3r = x4r;
    if serifs: top y1 = h+min(oo, serif_drop);
        bot y4 = -min(oo, serif_drop);
    else: top y1 = h;
        bot y4 = 0;
    fi
    pos0(stem, 0);
    pos0'(stem', 0);
    x0 = x3;
    x0' = x4;
    y0 = y0';
    penpos2'(stem - fine, -180);
    z2' = z2;
    y3 = y1;
    y2 = .5bar_height;
    penpos5(max(eps, light_vair - fine), -90);
    penpos6(thin_join - fine, 0);
    y6 = y0 = 2/3bar_height;
    filldraw stroke z1e -- z2e;  % left stem
    filldraw stroke z3e .. z0e -- z0'e .. z4e;  % right stem
    pickup fine.nib;
    bot y5r=-oo;
    x5l = .5w - .25u;
    lft x6l = tiny.lft x0l;
    (x, y5r) = whatever[z5l, z6l];
    x5r := max(x, .5[x5, x2'r]);
    filldraw stroke {{interim superness := hein_super;
    pulled_arc.e(2', 5)}} & z5e{right} ... {up}z6e;  % arc
    if serifs: sloped_serif.l(1, 2, a, 1/3, jut, serif_drop); % upper left serif
        sloped_serif.l(3, 0, b, 1/3, jut, serif_drop); % upper right serif
        sloped_serif.r(4, 0', c, 1/3, jut, min(oo, serif_drop));
    fi % lower right serif
    penlabels(1, 2, 3, 4, 5, 7);
    labels(6);
    set_letter_join(u, x5, .5w#);
    set_letter_join(u.horn_, x5 + .3dot_size, .5w# + .3dot_size#);
    set_letter_join(u.dot_, x5 + .5u, .5w# + .5u#);
    set_horn_join(u, z3 -- z4, z3 -- z4);
end_letter;

input vnucomp;

endinput;
