summaryrefslogtreecommitdiff
path: root/language/vietnamese/vntex/fonts/source/vntex/vnr/vnlir.mf
blob: e626565502f9c5d6b1ca1585d506ab4f499a004d (plain)
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
% 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 "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# + .5vn_dot_diam#);
    set_letter_dimens(idot)(
        5u#, idot_h#, 0,
        idot_h#*slant - serif_fit# + .5vn_dot_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(vn_dot_diam, 0);
    pos4(vn_dot_diam, 90);
    if serifs: 
        x3r = max(x1r, hround(x1 + .5vn_dot_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;