% This file is part of vntex. License: GPL.
%
% Computer Modern Roman lower case "i" precomposed glyphs:
% Inclusion:
%               i'      i`      i?      i~      i.

begin_letter(i);
    set_letter_dimens(i)(
        5u#, x_height#, 0,
        x_height#*slant - serif_fit# + .5stem# - 2u#,
        serif_fit# + stem_shift# if monospace: +.25u#fi, serif_fit# - stem_shift#
    );
    pickup tiny.nib;
    pos1(stem', 0);
    pos2(stem', 0);
    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
        dish_serif(2, 1, b, 1/3, jut, c, 1/3, .9jut); % lower serif
    fi
    penlabels(1, 2);
    set_letter_join(i, x1, .5w#);
end_letter;

begin_letter(idot);
    idot_h# := min(asc_height#, 10/7x_height# + .5dot_diam#);
    set_letter_dimens(idot)(
        5u#, idot_h#, 0,
        idot_h#*slant - serif_fit# + .5dot_diam# -2u#,
        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
    pos3(dot_diam, 0);
    pos4(dot_diam, 90);
    if serifs: 
        x3r = max(x1r, hround(x1 + .5dot_diam - .2jut) - .5tiny)
    else:
        x3 = x1 - .5
    fi;
    top y4r = h + 1;
    if bot y4l - top y1 < slab: y4l := min(y4r - eps, y1 + tiny + slab);
    fi
    x3 = x4;
    y3 = .5[y4l, y4r];
    dot(3, 4); % dot
    if serifs:
        sloped_serif.l(1, 2, a, 1/3, .95jut, serif_drop); % upper serif
        dish_serif(2, 1, b, 1/3, jut, c, 1/3, .9jut);
    fi % lower serif
    penlabels(1, 2, 3, 4);
    set_letter_join(idot, x1, .5w#);
end_letter;

input vnicomp;

endinput;
