summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/vntex/vnr/vnuur.mf
blob: 072afda989844ddd47c0af6451625ad6a0c4ec57 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
% 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 upper case "U" precomposed glyphs:
% Inclusion:
%               U'      U`      U?      U~      U.
%       U+      U+'     U+`     U+?     U+~     U+.

begin_letter(u);
    set_letter_dimens(u)(
        13u# + .5width_adj#, cap_height#, 0,
        cap_height#*slant - cap_serif_fit# + cap_jut# - 2.5u# + min(.5cap_stem#, u#),
        if monospace: 
            cap_serif_fit# - .5u#, cap_serif_fit# - .5u#
        else:
            cap_serif_fit#, cap_serif_fit#
        fi
    );
    pickup tiny.nib;
    pos1(cap_stem, 0);
    pos2(cap_stem, 0);
    pos2'(cap_stem, 180);
    z2' = z2;
    pos3(cap_band, -90);
    pos4(cap_hair, 0);
    pos5(cap_hair, 0);
    x1 = x2;
    x3 = .5[x1, x5];
    x4 = x5;
    x1l = w-x5r;
    top y1 = top y5 = h;
    y2 = y4 = 1/3h;
    bot y3r=-o;
    lft x1l = hround max(2u, 3u - .5cap_stem);
    filldraw stroke z1e -- z2e; % left stem
    filldraw stroke pulled_arc.e(2', 3)
    & pulled_arc.e(3, 4)&z4e -- z5e; % arc and right stem
    if serifs: dish_serif(1, 2, a, 1/3, cap_jut, b, 1/3, cap_jut); % left serif
        dish_serif(5, 4, c, 1/2, cap_jut, d, 1/2, cap_jut)(dark);
    fi  % right serif
    math_fit( - cap_serif_fit# - .3cap_height#*slant - min(cap_height#*slant, u#),
        max(.5ic# - .5u#, 0));
    set_letter_join(u, x3, .5w#);
    set_letter_join(u.dot_, x3 + .5u, .5w# + .5u#);
    set_horn_join(u, z4 -- z5, z4 -- z5);
    penlabels(1, 2, 3, 4, 5);
end_letter;

% for accented capital u with horn we need another letter "U" without right
% part of the right serif, however all calculations are done via dimensions of
% the above letter to make the macros simply

begin_letter(Uhorn); 
    set_letter_dimens(Uhorn)(
        13u# + .5width_adj#, cap_height#, 0,
        cap_height#*slant - cap_serif_fit# + cap_jut# - 2.5u# + min(.5cap_stem#, u#),
        if monospace: 
            cap_serif_fit# - .5u#, cap_serif_fit# - .5u#
        else: 
            cap_serif_fit#, cap_serif_fit# 
        fi
    );
    pickup tiny.nib;
    pos1(cap_stem, 0);
    pos2(cap_stem, 0);
    pos2'(cap_stem, 180);
    z2' = z2;
    pos3(cap_band, -90);
    pos4(cap_hair, 0);
    pos5(cap_hair, 0);
    x1 = x2;
    x3 = .5[x1, x5];
    x4 = x5;
    x1l = w - x5r;
    top y1 = top y5 = h;
    y2 = y4 = 1/3h;
    bot y3r = -o;
    lft x1l = hround max(2u, 3u - .5cap_stem);
    filldraw stroke z1e -- z2e; % left stem
    filldraw stroke pulled_arc.e(2', 3)
    & pulled_arc.e(3, 4)&z4e -- z5e; % arc and right stem
    if serifs: dish_serif(1, 2, a, 1/3, cap_jut, b, 1/3, cap_jut); % left serif
        dish_serif(5, 4, c, 1/2, cap_jut, d, 1/2, 0)(dark);
    fi  % right serif
    math_fit( - cap_serif_fit# - .3cap_height#*slant - min(cap_height#*slant, u#),
        max(.5ic# - .5u#, 0));
    set_letter_join(u.horn_, x3 + .2dot_size, .5w# + .2dot_size#);
    penlabels(1, 2, 3, 4, 5);
end_letter;

input vnucomp;

endinput;